/**
* File typography.js
*
* Handles Typography of the site
*
* @package Astra
*/
( function( $ ) {
/* Internal shorthand */
var api = wp.customize;
/**
* Helper class for the main Customizer interface.
*
* @since 1.0.0
* @class AstTypography
*/
AstTypography = {
/**
* Initializes our custom logic for the Customizer.
*
* @since 1.0.0
* @method init
*/
init: function() {
AstTypography._initFonts();
},
/**
* Initializes logic for font controls.
*
* @since 1.0.0
* @access private
* @method _initFonts
*/
_initFonts: function()
{
$( '.customize-control-ast-font-family select' ).each( function(e) {
if( 'undefined' != typeof astra.customizer ) {
var fonts = astra.customizer.settings.google_fonts;
var optionName = $(this).data('name');
$(this).html( fonts );
// Set inherit option text defined in control parameters.
$("select[data-name='" + optionName + "'] option[value='inherit']").text( $(this).data('inherit') );
var font_val = $(this).data('value');
$(this).val( font_val );
}
});
$( '.customize-control-ast-font-family select' ).each( AstTypography._initFont );
// Added select2 for all font family & font variant.
$('.customize-control-ast-font-family select, .customize-control-ast-font-variant select').selectWoo();
$('.customize-control-ast-font-variant select').on('select2:unselecting', function (e) {
var variantSelect = $(this).data( 'customize-setting-link' ),
unselectedValue = e.params.args.data.id || '';
if ( unselectedValue ) {
$(this).find('option[value="' + e.params.args.data.id + '"]').removeAttr('selected');
if ( null === $(this).val() ) {
api( variantSelect ).set( '' );
}
}
});
},
/**
* Initializes logic for a single font control.
*
* @since 1.0.0
* @access private
* @method _initFont
*/
_initFont: function()
{
var select = $( this ),
link = select.data( 'customize-setting-link' ),
weight = select.data( 'connected-control' ),
variant = select.data( 'connected-variant' );
if ( 'undefined' != typeof weight ) {
api( link ).bind( AstTypography._fontSelectChange );
AstTypography._setFontWeightOptions.apply( api( link ), [ true ] );
}
if ( 'undefined' != typeof variant ) {
api( link ).bind( AstTypography._fontSelectChange );
AstTypography._setFontVarianttOptions.apply( api( link ), [ true ] );
}
},
/**
* Callback for when a font control changes.
*
* @since 1.0.0
* @access private
* @method _fontSelectChange
*/
_fontSelectChange: function()
{
var fontSelect = api.control( this.id ).container.find( 'select' ),
variants = fontSelect.data( 'connected-variant' );
AstTypography._setFontWeightOptions.apply( this, [ false ] );
if ( 'undefined' != typeof variants ) {
AstTypography._setFontVarianttOptions.apply( this, [ false ] );
}
},
/**
* Clean font name.
*
* Google Fonts are saved as {'Font Name', Category}. This function cleanes this up to retreive only the {Font Name}.
*
* @since 1.3.0
* @param {String} fontValue Name of the font.
*
* @return {String} Font name where commas and inverted commas are removed if the font is a Google Font.
*/
_cleanGoogleFonts: function(fontValue)
{
// Bail if fontVAlue does not contain a comma.
if ( ! fontValue.includes(',') ) return fontValue;
var splitFont = fontValue.split(',');
var pattern = new RegExp("'", 'gi');
// Check if the cleaned font exists in the Google fonts array.
var googleFontValue = splitFont[0].replace(pattern, '');
if ( 'undefined' != typeof AstFontFamilies.google[ googleFontValue ] ) {
fontValue = googleFontValue;
}
return fontValue;
},
/**
* Get font Weights.
*
* This function gets the font weights values respective to the selected fonts family{Font Name}.
*
* @since 1.5.2
* @param {String} fontValue Name of the font.
*
* @return {String} Available font weights for the selected fonts.
*/
_getWeightObject: function(fontValue)
{
var weightObject = [ '400', '600' ];
if ( fontValue == 'inherit' ) {
weightObject = [ '100','200','300','400','500','600','700','800','900' ];
} else if ( 'undefined' != typeof AstFontFamilies.system[ fontValue ] ) {
weightObject = AstFontFamilies.system[ fontValue ].weights;
} else if ( 'undefined' != typeof AstFontFamilies.google[ fontValue ] ) {
weightObject = AstFontFamilies.google[ fontValue ][0];
weightObject = Object.keys(weightObject).map(function(k) {
return weightObject[k];
});
} else if ( 'undefined' != typeof AstFontFamilies.custom[ fontValue ] ) {
weightObject = AstFontFamilies.custom[ fontValue ].weights;
}
return weightObject;
},
/**
* Sets the options for a font weight control when a
* font family control changes.
*
* @since 1.0.0
* @access private
* @method _setFontWeightOptions
* @param {Boolean} init Whether or not we're initializing this font weight control.
*/
_setFontWeightOptions: function( init )
{
var i = 0,
fontSelect = api.control( this.id ).container.find( 'select' ),
fontValue = this(),
selected = '',
weightKey = fontSelect.data( 'connected-control' ),
inherit = fontSelect.data( 'inherit' ),
weightSelect = api.control( weightKey ).container.find( 'select' ),
currentWeightTitle = weightSelect.data( 'inherit' ),
weightValue = init ? weightSelect.val() : '400',
inheritWeightObject = [ 'inherit' ],
weightObject = [ '400', '600' ],
weightOptions = '',
weightMap = astraTypo;
if ( fontValue == 'inherit' ) {
weightValue = init ? weightSelect.val() : 'inherit';
}
var fontValue = AstTypography._cleanGoogleFonts(fontValue);
var weightObject = AstTypography._getWeightObject( fontValue );
weightObject = $.merge( inheritWeightObject, weightObject )
weightMap[ 'inherit' ] = currentWeightTitle;
for ( ; i < weightObject.length; i++ ) {
if ( 0 === i && -1 === $.inArray( weightValue, weightObject ) ) {
weightValue = weightObject[ 0 ];
selected = ' selected="selected"';
} else {
selected = weightObject[ i ] == weightValue ? ' selected="selected"' : '';
}
if( ! weightObject[ i ].includes( "italic" ) ){
weightOptions += '' + weightMap[ weightObject[ i ] ] + ' ';
}
}
weightSelect.html( weightOptions );
if ( ! init ) {
api( weightKey ).set( '' );
api( weightKey ).set( weightValue );
}
},
/**
* Sets the options for a font variant control when a
* font family control changes.
*
* @since 1.5.2
* @access private
* @method _setFontVarianttOptions
* @param {Boolean} init Whether or not we're initializing this font variant control.
*/
_setFontVarianttOptions: function( init )
{
var i = 0,
fontSelect = api.control( this.id ).container.find( 'select' ),
fontValue = this(),
selected = '',
variants = fontSelect.data( 'connected-variant' ),
inherit = fontSelect.data( 'inherit' ),
variantSelect = api.control( variants ).container.find( 'select' ),
variantSavedField = api.control( variants ).container.find( '.ast-font-variant-hidden-value' ),
weightValue = '',
weightOptions = '',
currentWeightTitle = variantSelect.data( 'inherit' ),
weightMap = astraTypo;
var variantArray = variantSavedField.val().split(',');
// Hide font variant for any ohter fonts then Google
var selectedOptionGroup = fontSelect.find('option[value="' + fontSelect.val() + '"]').closest('optgroup').attr('label') || '';
if ( 'Google' == selectedOptionGroup ) {
variantSelect.parent().removeClass('ast-hide');
} else{
variantSelect.parent().addClass('ast-hide');
}
var fontValue = AstTypography._cleanGoogleFonts(fontValue);
var weightObject = AstTypography._getWeightObject( fontValue );
weightMap[ 'inherit' ] = currentWeightTitle;
for ( var i = 0; i < weightObject.length; i++ ) {
for ( var e = 0; e < variantArray.length; e++ ) {
if ( weightObject[i] === variantArray[e] ) {
weightValue = weightObject[ i ];
selected = ' selected="selected"';
} else{
selected = ( weightObject[ i ] == weightValue ) ? ' selected="selected"' : '';
}
}
weightOptions += '' + weightMap[ weightObject[ i ] ] + ' ';
}
variantSelect.html( weightOptions );
if ( ! init ) {
api( variants ).set( '' );
}
},
};
$( function() { AstTypography.init(); } );
})( jQuery );
/*!
* SelectWoo 1.0.1
* https://github.com/woocommerce/selectWoo
*
* Released under the MIT license
* https://github.com/woocommerce/selectWoo/blob/master/LICENSE.md
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node/CommonJS
module.exports = function (root, jQuery) {
if (jQuery === undefined) {
// require('jQuery') returns a factory that requires window to
// build a jQuery instance, we normalize how we use modules
// that require this pattern but the window provided is a noop
// if it's defined (how jquery works)
if (typeof window !== 'undefined') {
jQuery = require('jquery');
}
else {
jQuery = require('jquery')(root);
}
}
factory(jQuery);
return jQuery;
};
} else {
// Browser globals
factory(jQuery);
}
} (function (jQuery) {
// This is needed so we can catch the AMD loader configuration and use it
// The inner file should be wrapped (by `banner.start.js`) in a function that
// returns the AMD loader references.
var S2 =(function () {
// Restore the Select2 AMD loader so it can be used
// Needed mostly in the language files, where the loader is not inserted
if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
var S2 = jQuery.fn.select2.amd;
}
var S2;(function () { if (!S2 || !S2.requirejs) {
if (!S2) { S2 = {}; } else { require = S2; }
/**
* @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
* Released under MIT license, http://github.com/requirejs/almond/LICENSE
*/
//Going sloppy to avoid 'use strict' string cost, but strict practices should
//be followed.
/*global setTimeout: false */
var requirejs, require, define;
(function (undef) {
var main, req, makeMap, handlers,
defined = {},
waiting = {},
config = {},
defining = {},
hasOwn = Object.prototype.hasOwnProperty,
aps = [].slice,
jsSuffixRegExp = /\.js$/;
function hasProp(obj, prop) {
return hasOwn.call(obj, prop);
}
/**
* Given a relative module name, like ./something, normalize it to
* a real name that can be mapped to a path.
* @param {String} name the relative name
* @param {String} baseName a real name that the name arg is relative
* to.
* @returns {String} normalized name
*/
function normalize(name, baseName) {
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
baseParts = baseName && baseName.split("/"),
map = config.map,
starMap = (map && map['*']) || {};
//Adjust any relative paths.
if (name) {
name = name.split('/');
lastIndex = name.length - 1;
// If wanting node ID compatibility, strip .js from end
// of IDs. Have to do this here, and not in nameToUrl
// because node allows either .js or non .js to map
// to same file.
if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
}
// Starts with a '.' so need the baseName
if (name[0].charAt(0) === '.' && baseParts) {
//Convert baseName to array, and lop off the last part,
//so that . matches that 'directory' and not name of the baseName's
//module. For instance, baseName of 'one/two/three', maps to
//'one/two/three.js', but we want the directory, 'one/two' for
//this normalization.
normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
name = normalizedBaseParts.concat(name);
}
//start trimDots
for (i = 0; i < name.length; i++) {
part = name[i];
if (part === '.') {
name.splice(i, 1);
i -= 1;
} else if (part === '..') {
// If at the start, or previous value is still ..,
// keep them so that when converted to a path it may
// still work when converted to a path, even though
// as an ID it is less than ideal. In larger point
// releases, may be better to just kick out an error.
if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
continue;
} else if (i > 0) {
name.splice(i - 1, 2);
i -= 2;
}
}
}
//end trimDots
name = name.join('/');
}
//Apply map config if available.
if ((baseParts || starMap) && map) {
nameParts = name.split('/');
for (i = nameParts.length; i > 0; i -= 1) {
nameSegment = nameParts.slice(0, i).join("/");
if (baseParts) {
//Find the longest baseName segment match in the config.
//So, do joins on the biggest to smallest lengths of baseParts.
for (j = baseParts.length; j > 0; j -= 1) {
mapValue = map[baseParts.slice(0, j).join('/')];
//baseName segment has config, find if it has one for
//this name.
if (mapValue) {
mapValue = mapValue[nameSegment];
if (mapValue) {
//Match, update name to the new value.
foundMap = mapValue;
foundI = i;
break;
}
}
}
}
if (foundMap) {
break;
}
//Check for a star map match, but just hold on to it,
//if there is a shorter segment match later in a matching
//config, then favor over this star map.
if (!foundStarMap && starMap && starMap[nameSegment]) {
foundStarMap = starMap[nameSegment];
starI = i;
}
}
if (!foundMap && foundStarMap) {
foundMap = foundStarMap;
foundI = starI;
}
if (foundMap) {
nameParts.splice(0, foundI, foundMap);
name = nameParts.join('/');
}
}
return name;
}
function makeRequire(relName, forceSync) {
return function () {
//A version of a require function that passes a moduleName
//value for items that may need to
//look up paths relative to the moduleName
var args = aps.call(arguments, 0);
//If first arg is not require('string'), and there is only
//one arg, it is the array form without a callback. Insert
//a null so that the following concat is correct.
if (typeof args[0] !== 'string' && args.length === 1) {
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};
}
function makeNormalize(relName) {
return function (name) {
return normalize(name, relName);
};
}
function makeLoad(depName) {
return function (value) {
defined[depName] = value;
};
}
function callDep(name) {
if (hasProp(waiting, name)) {
var args = waiting[name];
delete waiting[name];
defining[name] = true;
main.apply(undef, args);
}
if (!hasProp(defined, name) && !hasProp(defining, name)) {
throw new Error('No ' + name);
}
return defined[name];
}
//Turns a plugin!resource to [plugin, resource]
//with the plugin being undefined if the name
//did not have a plugin prefix.
function splitPrefix(name) {
var prefix,
index = name ? name.indexOf('!') : -1;
if (index > -1) {
prefix = name.substring(0, index);
name = name.substring(index + 1, name.length);
}
return [prefix, name];
}
//Creates a parts array for a relName where first part is plugin ID,
//second part is resource ID. Assumes relName has already been normalized.
function makeRelParts(relName) {
return relName ? splitPrefix(relName) : [];
}
/**
* Makes a name map, normalizing the name, and using a plugin
* for normalization if necessary. Grabs a ref to plugin
* too, as an optimization.
*/
makeMap = function (name, relParts) {
var plugin,
parts = splitPrefix(name),
prefix = parts[0],
relResourceName = relParts[1];
name = parts[1];
if (prefix) {
prefix = normalize(prefix, relResourceName);
plugin = callDep(prefix);
}
//Normalize according
if (prefix) {
if (plugin && plugin.normalize) {
name = plugin.normalize(name, makeNormalize(relResourceName));
} else {
name = normalize(name, relResourceName);
}
} else {
name = normalize(name, relResourceName);
parts = splitPrefix(name);
prefix = parts[0];
name = parts[1];
if (prefix) {
plugin = callDep(prefix);
}
}
//Using ridiculous property names for space reasons
return {
f: prefix ? prefix + '!' + name : name, //fullName
n: name,
pr: prefix,
p: plugin
};
};
function makeConfig(name) {
return function () {
return (config && config.config && config.config[name]) || {};
};
}
handlers = {
require: function (name) {
return makeRequire(name);
},
exports: function (name) {
var e = defined[name];
if (typeof e !== 'undefined') {
return e;
} else {
return (defined[name] = {});
}
},
module: function (name) {
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};
}
};
main = function (name, deps, callback, relName) {
var cjsModule, depName, ret, map, i, relParts,
args = [],
callbackType = typeof callback,
usingExports;
//Use name if no relName
relName = relName || name;
relParts = makeRelParts(relName);
//Call the callback to define the module, if necessary.
if (callbackType === 'undefined' || callbackType === 'function') {
//Pull out the defined dependencies and pass the ordered
//values to the callback.
//Default to [require, exports, module] if no deps
deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
for (i = 0; i < deps.length; i += 1) {
map = makeMap(deps[i], relParts);
depName = map.f;
//Fast path CommonJS standard dependencies.
if (depName === "require") {
args[i] = handlers.require(name);
} else if (depName === "exports") {
//CommonJS module spec 1.1
args[i] = handlers.exports(name);
usingExports = true;
} else if (depName === "module") {
//CommonJS module spec 1.1
cjsModule = args[i] = handlers.module(name);
} else if (hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)) {
args[i] = callDep(depName);
} else if (map.p) {
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i] = defined[depName];
} else {
throw new Error(name + ' missing ' + depName);
}
}
ret = callback ? callback.apply(defined[name], args) : undefined;
if (name) {
//If setting exports via "module" is in play,
//favor that over return value and exports. After that,
//favor a non-undefined return value over exports use.
if (cjsModule && cjsModule.exports !== undef &&
cjsModule.exports !== defined[name]) {
defined[name] = cjsModule.exports;
} else if (ret !== undef || !usingExports) {
//Use the return value from the function.
defined[name] = ret;
}
}
} else if (name) {
//May just be an object definition for the module. Only
//worry about defining if have a module name.
defined[name] = callback;
}
};
requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
if (typeof deps === "string") {
if (handlers[deps]) {
//callback in this case is really relName
return handlers[deps](callback);
}
//Just return the module wanted. In this scenario, the
//deps arg is the module name, and second arg (if passed)
//is just the relName.
//Normalize module name, if it contains . or ..
return callDep(makeMap(deps, makeRelParts(callback)).f);
} else if (!deps.splice) {
//deps is a config object, not an array.
config = deps;
if (config.deps) {
req(config.deps, config.callback);
}
if (!callback) {
return;
}
if (callback.splice) {
//callback is an array, which means it is a dependency list.
//Adjust args if there are dependencies
deps = callback;
callback = relName;
relName = null;
} else {
deps = undef;
}
}
//Support require(['a'])
callback = callback || function () {};
//If relName is a function, it is an errback handler,
//so remove it.
if (typeof relName === 'function') {
relName = forceSync;
forceSync = alt;
}
//Simulate async callback;
if (forceSync) {
main(undef, deps, callback, relName);
} else {
//Using a non-zero value because of concern for what old browsers
//do, and latest browsers "upgrade" to 4 if lower value is used:
//http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
//If want a value immediately, use require('id') instead -- something
//that works in almond on the global level, but not guaranteed and
//unlikely to work in other AMD implementations.
setTimeout(function () {
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
/**
* Just drops the config on the floor, but returns req in case
* the config return value is used.
*/
req.config = function (cfg) {
return req(cfg);
};
/**
* Expose module registry for debugging and tooling
*/
requirejs._defined = defined;
define = function (name, deps, callback) {
if (typeof name !== 'string') {
throw new Error('See almond README: incorrect module build, no module name');
}
//This module may not have dependencies
if (!deps.splice) {
//deps is not an array, so probably means
//an object literal or factory function for
//the value. Adjust args.
callback = deps;
deps = [];
}
if (!hasProp(defined, name) && !hasProp(waiting, name)) {
waiting[name] = [name, deps, callback];
}
};
define.amd = {
jQuery: true
};
}());
S2.requirejs = requirejs;S2.require = require;S2.define = define;
}
}());
S2.define("almond", function(){});
/* global jQuery:false, $:false */
S2.define('jquery',[],function () {
var _$ = jQuery || $;
if (_$ == null && console && console.error) {
console.error(
'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
'found. Make sure that you are including jQuery before Select2 on your ' +
'web page.'
);
}
return _$;
});
S2.define('select2/utils',[
'jquery'
], function ($) {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
}
for (var key in SuperClass) {
if (__hasProp.call(SuperClass, key)) {
ChildClass[key] = SuperClass[key];
}
}
BaseConstructor.prototype = SuperClass.prototype;
ChildClass.prototype = new BaseConstructor();
ChildClass.__super__ = SuperClass.prototype;
return ChildClass;
};
function getMethods (theClass) {
var proto = theClass.prototype;
var methods = [];
for (var methodName in proto) {
var m = proto[methodName];
if (typeof m !== 'function') {
continue;
}
if (methodName === 'constructor') {
continue;
}
methods.push(methodName);
}
return methods;
}
Utils.Decorate = function (SuperClass, DecoratorClass) {
var decoratedMethods = getMethods(DecoratorClass);
var superMethods = getMethods(SuperClass);
function DecoratedClass () {
var unshift = Array.prototype.unshift;
var argCount = DecoratorClass.prototype.constructor.length;
var calledConstructor = SuperClass.prototype.constructor;
if (argCount > 0) {
unshift.call(arguments, SuperClass.prototype.constructor);
calledConstructor = DecoratorClass.prototype.constructor;
}
calledConstructor.apply(this, arguments);
}
DecoratorClass.displayName = SuperClass.displayName;
function ctr () {
this.constructor = DecoratedClass;
}
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
var superMethod = superMethods[m];
DecoratedClass.prototype[superMethod] =
SuperClass.prototype[superMethod];
}
var calledMethod = function (methodName) {
// Stub out the original method if it's not decorating an actual method
var originalMethod = function () {};
if (methodName in DecoratedClass.prototype) {
originalMethod = DecoratedClass.prototype[methodName];
}
var decoratedMethod = DecoratorClass.prototype[methodName];
return function () {
var unshift = Array.prototype.unshift;
unshift.call(arguments, originalMethod);
return decoratedMethod.apply(this, arguments);
};
};
for (var d = 0; d < decoratedMethods.length; d++) {
var decoratedMethod = decoratedMethods[d];
DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
};
var Observable = function () {
this.listeners = {};
};
Observable.prototype.on = function (event, callback) {
this.listeners = this.listeners || {};
if (event in this.listeners) {
this.listeners[event].push(callback);
} else {
this.listeners[event] = [callback];
}
};
Observable.prototype.trigger = function (event) {
var slice = Array.prototype.slice;
var params = slice.call(arguments, 1);
this.listeners = this.listeners || {};
// Params should always come in as an array
if (params == null) {
params = [];
}
// If there are no arguments to the event, use a temporary object
if (params.length === 0) {
params.push({});
}
// Set the `_type` of the first object to the event
params[0]._type = event;
if (event in this.listeners) {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
if ('*' in this.listeners) {
this.invoke(this.listeners['*'], arguments);
}
};
Observable.prototype.invoke = function (listeners, params) {
for (var i = 0, len = listeners.length; i < len; i++) {
listeners[i].apply(this, params);
}
};
Utils.Observable = Observable;
Utils.generateChars = function (length) {
var chars = '';
for (var i = 0; i < length; i++) {
var randomChar = Math.floor(Math.random() * 36);
chars += randomChar.toString(36);
}
return chars;
};
Utils.bind = function (func, context) {
return function () {
func.apply(context, arguments);
};
};
Utils._convertData = function (data) {
for (var originalKey in data) {
var keys = originalKey.split('-');
var dataLevel = data;
if (keys.length === 1) {
continue;
}
for (var k = 0; k < keys.length; k++) {
var key = keys[k];
// Lowercase the first letter
// By default, dash-separated becomes camelCase
key = key.substring(0, 1).toLowerCase() + key.substring(1);
if (!(key in dataLevel)) {
dataLevel[key] = {};
}
if (k == keys.length - 1) {
dataLevel[key] = data[originalKey];
}
dataLevel = dataLevel[key];
}
delete data[originalKey];
}
return data;
};
Utils.hasScroll = function (index, el) {
// Adapted from the function created by @ShadowScripter
// and adapted by @BillBarry on the Stack Exchange Code Review website.
// The original code can be found at
// http://codereview.stackexchange.com/q/13338
// and was designed to be used with the Sizzle selector engine.
var $el = $(el);
var overflowX = el.style.overflowX;
var overflowY = el.style.overflowY;
//Check both x and y declarations
if (overflowX === overflowY &&
(overflowY === 'hidden' || overflowY === 'visible')) {
return false;
}
if (overflowX === 'scroll' || overflowY === 'scroll') {
return true;
}
return ($el.innerHeight() < el.scrollHeight ||
$el.innerWidth() < el.scrollWidth);
};
Utils.escapeMarkup = function (markup) {
var replaceMap = {
'\\': '\',
'&': '&',
'<': '<',
'>': '>',
'"': '"',
'\'': ''',
'/': '/'
};
// Do not try to escape the markup if it's not a string
if (typeof markup !== 'string') {
return markup;
}
return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
return replaceMap[match];
});
};
Utils.entityDecode = function(html) {
var txt = document.createElement("textarea");
txt.innerHTML = html;
return txt.value;
}
// Append an array of jQuery nodes to a given element.
Utils.appendMany = function ($element, $nodes) {
// jQuery 1.7.x does not support $.fn.append() with an array
// Fall back to a jQuery object collection using $.fn.add()
if ($.fn.jquery.substr(0, 3) === '1.7') {
var $jqNodes = $();
$.map($nodes, function (node) {
$jqNodes = $jqNodes.add(node);
});
$nodes = $jqNodes;
}
$element.append($nodes);
};
// Determine whether the browser is on a touchscreen device.
Utils.isTouchscreen = function() {
if ('undefined' === typeof Utils._isTouchscreenCache) {
Utils._isTouchscreenCache = 'ontouchstart' in document.documentElement;
}
return Utils._isTouchscreenCache;
}
return Utils;
});
S2.define('select2/results',[
'jquery',
'./utils'
], function ($, Utils) {
function Results ($element, options, dataAdapter) {
this.$element = $element;
this.data = dataAdapter;
this.options = options;
Results.__super__.constructor.call(this);
}
Utils.Extend(Results, Utils.Observable);
Results.prototype.render = function () {
var $results = $(
'
'
);
if (this.options.get('multiple')) {
$results.attr('aria-multiselectable', 'true');
}
this.$results = $results;
return $results;
};
Results.prototype.clear = function () {
this.$results.empty();
};
Results.prototype.displayMessage = function (params) {
var escapeMarkup = this.options.get('escapeMarkup');
this.clear();
this.hideLoading();
var $message = $(
' '
);
var message = this.options.get('translations').get(params.message);
$message.append(
escapeMarkup(
message(params.args)
)
);
$message[0].className += ' select2-results__message';
this.$results.append($message);
};
Results.prototype.hideMessages = function () {
this.$results.find('.select2-results__message').remove();
};
Results.prototype.append = function (data) {
this.hideLoading();
var $options = [];
if (data.results == null || data.results.length === 0) {
if (this.$results.children().length === 0) {
this.trigger('results:message', {
message: 'noResults'
});
}
return;
}
data.results = this.sort(data.results);
for (var d = 0; d < data.results.length; d++) {
var item = data.results[d];
var $option = this.option(item);
$options.push($option);
}
this.$results.append($options);
};
Results.prototype.position = function ($results, $dropdown) {
var $resultsContainer = $dropdown.find('.select2-results');
$resultsContainer.append($results);
};
Results.prototype.sort = function (data) {
var sorter = this.options.get('sorter');
return sorter(data);
};
Results.prototype.highlightFirstItem = function () {
var $options = this.$results
.find('.select2-results__option[data-selected]');
var $selected = $options.filter('[data-selected=true]');
// Check if there are any selected options
if ($selected.length > 0) {
// If there are selected options, highlight the first
$selected.first().trigger('mouseenter');
} else {
// If there are no selected options, highlight the first option
// in the dropdown
$options.first().trigger('mouseenter');
}
this.ensureHighlightVisible();
};
Results.prototype.setClasses = function () {
var self = this;
this.data.current(function (selected) {
var selectedIds = $.map(selected, function (s) {
return s.id.toString();
});
var $options = self.$results
.find('.select2-results__option[data-selected]');
$options.each(function () {
var $option = $(this);
var item = $.data(this, 'data');
// id needs to be converted to a string when comparing
var id = '' + item.id;
if ((item.element != null && item.element.selected) ||
(item.element == null && $.inArray(id, selectedIds) > -1)) {
$option.attr('data-selected', 'true');
} else {
$option.attr('data-selected', 'false');
}
});
});
};
Results.prototype.showLoading = function (params) {
this.hideLoading();
var loadingMore = this.options.get('translations').get('searching');
var loading = {
disabled: true,
loading: true,
text: loadingMore(params)
};
var $loading = this.option(loading);
$loading.className += ' loading-results';
this.$results.prepend($loading);
};
Results.prototype.hideLoading = function () {
this.$results.find('.loading-results').remove();
};
Results.prototype.option = function (data) {
var option = document.createElement('li');
option.className = 'select2-results__option';
var attrs = {
'role': 'option',
'data-selected': 'false',
'tabindex': -1
};
if (data.disabled) {
delete attrs['data-selected'];
attrs['aria-disabled'] = 'true';
}
if (data.id == null) {
delete attrs['data-selected'];
}
if (data._resultId != null) {
option.id = data._resultId;
}
if (data.title) {
option.title = data.title;
}
if (data.children) {
attrs['aria-label'] = data.text;
delete attrs['data-selected'];
}
for (var attr in attrs) {
var val = attrs[attr];
option.setAttribute(attr, val);
}
if (data.children) {
var $option = $(option);
var label = document.createElement('strong');
label.className = 'select2-results__group';
var $label = $(label);
this.template(data, label);
$label.attr('role', 'presentation');
var $children = [];
for (var c = 0; c < data.children.length; c++) {
var child = data.children[c];
var $child = this.option(child);
$children.push($child);
}
var $childrenContainer = $('', {
'class': 'select2-results__options select2-results__options--nested',
'role': 'listbox'
});
$childrenContainer.append($children);
$option.attr('role', 'list');
$option.append(label);
$option.append($childrenContainer);
} else {
this.template(data, option);
}
$.data(option, 'data', data);
return option;
};
Results.prototype.bind = function (container, $container) {
var self = this;
var id = container.id + '-results';
this.$results.attr('id', id);
container.on('results:all', function (params) {
self.clear();
self.append(params.data);
if (container.isOpen()) {
self.setClasses();
self.highlightFirstItem();
}
});
container.on('results:append', function (params) {
self.append(params.data);
if (container.isOpen()) {
self.setClasses();
}
});
container.on('query', function (params) {
self.hideMessages();
self.showLoading(params);
});
container.on('select', function () {
if (!container.isOpen()) {
return;
}
self.setClasses();
self.highlightFirstItem();
});
container.on('unselect', function () {
if (!container.isOpen()) {
return;
}
self.setClasses();
self.highlightFirstItem();
});
container.on('open', function () {
// When the dropdown is open, aria-expended="true"
self.$results.attr('aria-expanded', 'true');
self.$results.attr('aria-hidden', 'false');
self.setClasses();
self.ensureHighlightVisible();
});
container.on('close', function () {
// When the dropdown is closed, aria-expended="false"
self.$results.attr('aria-expanded', 'false');
self.$results.attr('aria-hidden', 'true');
self.$results.removeAttr('aria-activedescendant');
});
container.on('results:toggle', function () {
var $highlighted = self.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
$highlighted.trigger('mouseup');
});
container.on('results:select', function () {
var $highlighted = self.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
var data = $highlighted.data('data');
if ($highlighted.attr('data-selected') == 'true') {
self.trigger('close', {});
} else {
self.trigger('select', {
data: data
});
}
});
container.on('results:previous', function () {
var $highlighted = self.getHighlightedResults();
var $options = self.$results.find('[data-selected]');
var currentIndex = $options.index($highlighted);
// If we are already at te top, don't move further
if (currentIndex === 0) {
return;
}
var nextIndex = currentIndex - 1;
// If none are highlighted, highlight the first
if ($highlighted.length === 0) {
nextIndex = 0;
}
var $next = $options.eq(nextIndex);
$next.trigger('mouseenter');
var currentOffset = self.$results.offset().top;
var nextTop = $next.offset().top;
var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
if (nextIndex === 0) {
self.$results.scrollTop(0);
} else if (nextTop - currentOffset < 0) {
self.$results.scrollTop(nextOffset);
}
});
container.on('results:next', function () {
var $highlighted = self.getHighlightedResults();
var $options = self.$results.find('[data-selected]');
var currentIndex = $options.index($highlighted);
var nextIndex = currentIndex + 1;
// If we are at the last option, stay there
if (nextIndex >= $options.length) {
return;
}
var $next = $options.eq(nextIndex);
$next.trigger('mouseenter');
var currentOffset = self.$results.offset().top +
self.$results.outerHeight(false);
var nextBottom = $next.offset().top + $next.outerHeight(false);
var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
if (nextIndex === 0) {
self.$results.scrollTop(0);
} else if (nextBottom > currentOffset) {
self.$results.scrollTop(nextOffset);
}
});
container.on('results:focus', function (params) {
params.element.addClass('select2-results__option--highlighted').attr('aria-selected', 'true');
self.$results.attr('aria-activedescendant', params.element.attr('id'));
});
container.on('results:message', function (params) {
self.displayMessage(params);
});
if ($.fn.mousewheel) {
this.$results.on('mousewheel', function (e) {
var top = self.$results.scrollTop();
var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
if (isAtTop) {
self.$results.scrollTop(0);
e.preventDefault();
e.stopPropagation();
} else if (isAtBottom) {
self.$results.scrollTop(
self.$results.get(0).scrollHeight - self.$results.height()
);
e.preventDefault();
e.stopPropagation();
}
});
}
this.$results.on('mouseup', '.select2-results__option[data-selected]',
function (evt) {
var $this = $(this);
var data = $this.data('data');
if ($this.attr('data-selected') === 'true') {
if (self.options.get('multiple')) {
self.trigger('unselect', {
originalEvent: evt,
data: data
});
} else {
self.trigger('close', {});
}
return;
}
self.trigger('select', {
originalEvent: evt,
data: data
});
});
this.$results.on('mouseenter', '.select2-results__option[data-selected]',
function (evt) {
var data = $(this).data('data');
self.getHighlightedResults()
.removeClass('select2-results__option--highlighted')
.attr('aria-selected', 'false');
self.trigger('results:focus', {
data: data,
element: $(this)
});
});
};
Results.prototype.getHighlightedResults = function () {
var $highlighted = this.$results
.find('.select2-results__option--highlighted');
return $highlighted;
};
Results.prototype.destroy = function () {
this.$results.remove();
};
Results.prototype.ensureHighlightVisible = function () {
var $highlighted = this.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
var $options = this.$results.find('[data-selected]');
var currentIndex = $options.index($highlighted);
var currentOffset = this.$results.offset().top;
var nextTop = $highlighted.offset().top;
var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
var offsetDelta = nextTop - currentOffset;
nextOffset -= $highlighted.outerHeight(false) * 2;
if (currentIndex <= 2) {
this.$results.scrollTop(0);
} else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
this.$results.scrollTop(nextOffset);
}
};
Results.prototype.template = function (result, container) {
var template = this.options.get('templateResult');
var escapeMarkup = this.options.get('escapeMarkup');
var content = template(result, container);
if (content == null) {
container.style.display = 'none';
} else if (typeof content === 'string') {
container.innerHTML = escapeMarkup(content);
} else {
$(container).append(content);
}
};
return Results;
});
S2.define('select2/keys',[
], function () {
var KEYS = {
BACKSPACE: 8,
TAB: 9,
ENTER: 13,
SHIFT: 16,
CTRL: 17,
ALT: 18,
ESC: 27,
SPACE: 32,
PAGE_UP: 33,
PAGE_DOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
DELETE: 46
};
return KEYS;
});
S2.define('select2/selection/base',[
'jquery',
'../utils',
'../keys'
], function ($, Utils, KEYS) {
function BaseSelection ($element, options) {
this.$element = $element;
this.options = options;
BaseSelection.__super__.constructor.call(this);
}
Utils.Extend(BaseSelection, Utils.Observable);
BaseSelection.prototype.render = function () {
var $selection = $(
'' +
' '
);
this._tabindex = 0;
if (this.$element.data('old-tabindex') != null) {
this._tabindex = this.$element.data('old-tabindex');
} else if (this.$element.attr('tabindex') != null) {
this._tabindex = this.$element.attr('tabindex');
}
$selection.attr('title', this.$element.attr('title'));
$selection.attr('tabindex', this._tabindex);
this.$selection = $selection;
return $selection;
};
BaseSelection.prototype.bind = function (container, $container) {
var self = this;
var id = container.id + '-container';
var resultsId = container.id + '-results';
var searchHidden = this.options.get('minimumResultsForSearch') === Infinity;
this.container = container;
this.$selection.on('focus', function (evt) {
self.trigger('focus', evt);
});
this.$selection.on('blur', function (evt) {
self._handleBlur(evt);
});
this.$selection.on('keydown', function (evt) {
self.trigger('keypress', evt);
if (evt.which === KEYS.SPACE) {
evt.preventDefault();
}
});
container.on('results:focus', function (params) {
self.$selection.attr('aria-activedescendant', params.data._resultId);
});
container.on('selection:update', function (params) {
self.update(params.data);
});
container.on('open', function () {
// When the dropdown is open, aria-expanded="true"
self.$selection.attr('aria-expanded', 'true');
self.$selection.attr('aria-owns', resultsId);
self._attachCloseHandler(container);
});
container.on('close', function () {
// When the dropdown is closed, aria-expanded="false"
self.$selection.attr('aria-expanded', 'false');
self.$selection.removeAttr('aria-activedescendant');
self.$selection.removeAttr('aria-owns');
// This needs to be delayed as the active element is the body when the
// key is pressed.
window.setTimeout(function () {
self.$selection.focus();
}, 1);
self._detachCloseHandler(container);
});
container.on('enable', function () {
self.$selection.attr('tabindex', self._tabindex);
});
container.on('disable', function () {
self.$selection.attr('tabindex', '-1');
});
};
BaseSelection.prototype._handleBlur = function (evt) {
var self = this;
// This needs to be delayed as the active element is the body when the tab
// key is pressed, possibly along with others.
window.setTimeout(function () {
// Don't trigger `blur` if the focus is still in the selection
if (
(document.activeElement == self.$selection[0]) ||
($.contains(self.$selection[0], document.activeElement))
) {
return;
}
self.trigger('blur', evt);
}, 1);
};
BaseSelection.prototype._attachCloseHandler = function (container) {
var self = this;
$(document.body).on('mousedown.select2.' + container.id, function (e) {
var $target = $(e.target);
var $select = $target.closest('.select2');
var $all = $('.select2.select2-container--open');
$all.each(function () {
var $this = $(this);
if (this == $select[0]) {
return;
}
var $element = $this.data('element');
$element.select2('close');
// Remove any focus when dropdown is closed by clicking outside the select area.
// Timeout of 1 required for close to finish wrapping up.
setTimeout(function(){
$this.find('*:focus').blur();
$target.focus();
}, 1);
});
});
};
BaseSelection.prototype._detachCloseHandler = function (container) {
$(document.body).off('mousedown.select2.' + container.id);
};
BaseSelection.prototype.position = function ($selection, $container) {
var $selectionContainer = $container.find('.selection');
$selectionContainer.append($selection);
};
BaseSelection.prototype.destroy = function () {
this._detachCloseHandler(this.container);
};
BaseSelection.prototype.update = function (data) {
throw new Error('The `update` method must be defined in child classes.');
};
return BaseSelection;
});
S2.define('select2/selection/single',[
'jquery',
'./base',
'../utils',
'../keys'
], function ($, BaseSelection, Utils, KEYS) {
function SingleSelection () {
SingleSelection.__super__.constructor.apply(this, arguments);
}
Utils.Extend(SingleSelection, BaseSelection);
SingleSelection.prototype.render = function () {
var $selection = SingleSelection.__super__.render.call(this);
$selection.addClass('select2-selection--single');
$selection.html(
' ' +
'' +
' ' +
' '
);
return $selection;
};
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
SingleSelection.__super__.bind.apply(this, arguments);
var id = container.id + '-container';
this.$selection.find('.select2-selection__rendered')
.attr('id', id)
.attr('role', 'textbox')
.attr('aria-readonly', 'true');
this.$selection.attr('aria-labelledby', id);
// This makes single non-search selects work in screen readers. If it causes problems elsewhere, remove.
this.$selection.attr('role', 'combobox');
this.$selection.on('mousedown', function (evt) {
// Only respond to left clicks
if (evt.which !== 1) {
return;
}
self.trigger('toggle', {
originalEvent: evt
});
});
this.$selection.on('focus', function (evt) {
// User focuses on the container
});
this.$selection.on('keydown', function (evt) {
// If user starts typing an alphanumeric key on the keyboard, open if not opened.
if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
container.open();
}
});
this.$selection.on('blur', function (evt) {
// User exits the container
});
container.on('focus', function (evt) {
if (!container.isOpen()) {
self.$selection.focus();
}
});
container.on('selection:update', function (params) {
self.update(params.data);
});
};
SingleSelection.prototype.clear = function () {
this.$selection.find('.select2-selection__rendered').empty();
};
SingleSelection.prototype.display = function (data, container) {
var template = this.options.get('templateSelection');
var escapeMarkup = this.options.get('escapeMarkup');
return escapeMarkup(template(data, container));
};
SingleSelection.prototype.selectionContainer = function () {
return $(' ');
};
SingleSelection.prototype.update = function (data) {
if (data.length === 0) {
this.clear();
return;
}
var selection = data[0];
var $rendered = this.$selection.find('.select2-selection__rendered');
var formatted = Utils.entityDecode(this.display(selection, $rendered));
$rendered.empty().text(formatted);
$rendered.prop('title', selection.title || selection.text);
};
return SingleSelection;
});
S2.define('select2/selection/multiple',[
'jquery',
'./base',
'../utils'
], function ($, BaseSelection, Utils) {
function MultipleSelection ($element, options) {
MultipleSelection.__super__.constructor.apply(this, arguments);
}
Utils.Extend(MultipleSelection, BaseSelection);
MultipleSelection.prototype.render = function () {
var $selection = MultipleSelection.__super__.render.call(this);
$selection.addClass('select2-selection--multiple');
$selection.html(
''
);
return $selection;
};
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
MultipleSelection.__super__.bind.apply(this, arguments);
this.$selection.on('click', function (evt) {
self.trigger('toggle', {
originalEvent: evt
});
});
this.$selection.on(
'click',
'.select2-selection__choice__remove',
function (evt) {
// Ignore the event if it is disabled
if (self.options.get('disabled')) {
return;
}
var $remove = $(this);
var $selection = $remove.parent();
var data = $selection.data('data');
self.trigger('unselect', {
originalEvent: evt,
data: data
});
}
);
this.$selection.on('keydown', function (evt) {
// If user starts typing an alphanumeric key on the keyboard, open if not opened.
if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
container.open();
}
});
// Focus on the search field when the container is focused instead of the main container.
container.on( 'focus', function(){
self.focusOnSearch();
});
};
MultipleSelection.prototype.clear = function () {
this.$selection.find('.select2-selection__rendered').empty();
};
MultipleSelection.prototype.display = function (data, container) {
var template = this.options.get('templateSelection');
var escapeMarkup = this.options.get('escapeMarkup');
return escapeMarkup(template(data, container));
};
MultipleSelection.prototype.selectionContainer = function () {
var $container = $(
'' +
'' +
'×' +
' ' +
' '
);
return $container;
};
/**
* Focus on the search field instead of the main multiselect container.
*/
MultipleSelection.prototype.focusOnSearch = function() {
var self = this;
if ('undefined' !== typeof self.$search) {
// Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
setTimeout(function(){
// Prevent the dropdown opening again when focused from this.
// This gets reset automatically when focus is triggered.
self._keyUpPrevented = true;
self.$search.focus();
}, 1);
}
}
MultipleSelection.prototype.update = function (data) {
this.clear();
if (data.length === 0) {
return;
}
var $selections = [];
for (var d = 0; d < data.length; d++) {
var selection = data[d];
var $selection = this.selectionContainer();
var formatted = this.display(selection, $selection);
if ('string' === typeof formatted) {
formatted = Utils.entityDecode(formatted.trim());
}
$selection.text(formatted);
$selection.prop('title', selection.title || selection.text);
$selection.data('data', selection);
$selections.push($selection);
}
var $rendered = this.$selection.find('.select2-selection__rendered');
Utils.appendMany($rendered, $selections);
};
return MultipleSelection;
});
S2.define('select2/selection/placeholder',[
'../utils'
], function (Utils) {
function Placeholder (decorated, $element, options) {
this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
decorated.call(this, $element, options);
}
Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
if (typeof placeholder === 'string') {
placeholder = {
id: '',
text: placeholder
};
}
return placeholder;
};
Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
var $placeholder = this.selectionContainer();
$placeholder.text(Utils.entityDecode(this.display(placeholder)));
$placeholder.addClass('select2-selection__placeholder')
.removeClass('select2-selection__choice');
return $placeholder;
};
Placeholder.prototype.update = function (decorated, data) {
var singlePlaceholder = (
data.length == 1 && data[0].id != this.placeholder.id
);
var multipleSelections = data.length > 1;
if (multipleSelections || singlePlaceholder) {
return decorated.call(this, data);
}
this.clear();
var $placeholder = this.createPlaceholder(this.placeholder);
this.$selection.find('.select2-selection__rendered').append($placeholder);
};
return Placeholder;
});
S2.define('select2/selection/allowClear',[
'jquery',
'../keys'
], function ($, KEYS) {
function AllowClear () { }
AllowClear.prototype.bind = function (decorated, container, $container) {
var self = this;
decorated.call(this, container, $container);
if (this.placeholder == null) {
if (this.options.get('debug') && window.console && console.error) {
console.error(
'Select2: The `allowClear` option should be used in combination ' +
'with the `placeholder` option.'
);
}
}
this.$selection.on('mousedown', '.select2-selection__clear',
function (evt) {
self._handleClear(evt);
});
container.on('keypress', function (evt) {
self._handleKeyboardClear(evt, container);
});
};
AllowClear.prototype._handleClear = function (_, evt) {
// Ignore the event if it is disabled
if (this.options.get('disabled')) {
return;
}
var $clear = this.$selection.find('.select2-selection__clear');
// Ignore the event if nothing has been selected
if ($clear.length === 0) {
return;
}
evt.stopPropagation();
var data = $clear.data('data');
for (var d = 0; d < data.length; d++) {
var unselectData = {
data: data[d]
};
// Trigger the `unselect` event, so people can prevent it from being
// cleared.
this.trigger('unselect', unselectData);
// If the event was prevented, don't clear it out.
if (unselectData.prevented) {
return;
}
}
this.$element.val(this.placeholder.id).trigger('change');
this.trigger('toggle', {});
};
AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
if (container.isOpen()) {
return;
}
if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
this._handleClear(evt);
}
};
AllowClear.prototype.update = function (decorated, data) {
decorated.call(this, data);
if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
data.length === 0) {
return;
}
var $remove = $(
'' +
'×' +
' '
);
$remove.data('data', data);
this.$selection.find('.select2-selection__rendered').prepend($remove);
};
return AllowClear;
});
S2.define('select2/selection/search',[
'jquery',
'../utils',
'../keys'
], function ($, Utils, KEYS) {
function Search (decorated, $element, options) {
decorated.call(this, $element, options);
}
Search.prototype.render = function (decorated) {
var $search = $(
'' +
' ' +
' '
);
this.$searchContainer = $search;
this.$search = $search.find('input');
var $rendered = decorated.call(this);
this._transferTabIndex();
return $rendered;
};
Search.prototype.bind = function (decorated, container, $container) {
var self = this;
var resultsId = container.id + '-results';
decorated.call(this, container, $container);
container.on('open', function () {
self.$search.attr('aria-owns', resultsId);
self.$search.trigger('focus');
});
container.on('close', function () {
self.$search.val('');
self.$search.removeAttr('aria-activedescendant');
self.$search.removeAttr('aria-owns');
self.$search.trigger('focus');
});
container.on('enable', function () {
self.$search.prop('disabled', false);
self._transferTabIndex();
});
container.on('disable', function () {
self.$search.prop('disabled', true);
});
container.on('focus', function (evt) {
self.$search.trigger('focus');
});
container.on('results:focus', function (params) {
self.$search.attr('aria-activedescendant', params.data._resultId);
});
this.$selection.on('focusin', '.select2-search--inline', function (evt) {
self.trigger('focus', evt);
});
this.$selection.on('focusout', '.select2-search--inline', function (evt) {
self._handleBlur(evt);
});
this.$selection.on('keydown', '.select2-search--inline', function (evt) {
evt.stopPropagation();
self.trigger('keypress', evt);
self._keyUpPrevented = evt.isDefaultPrevented();
var key = evt.which;
if (key === KEYS.BACKSPACE && self.$search.val() === '') {
var $previousChoice = self.$searchContainer
.prev('.select2-selection__choice');
if ($previousChoice.length > 0) {
var item = $previousChoice.data('data');
self.searchRemoveChoice(item);
evt.preventDefault();
}
} else if (evt.which === KEYS.ENTER) {
container.open();
evt.preventDefault();
}
});
// Try to detect the IE version should the `documentMode` property that
// is stored on the document. This is only implemented in IE and is
// slightly cleaner than doing a user agent check.
// This property is not available in Edge, but Edge also doesn't have
// this bug.
var msie = document.documentMode;
var disableInputEvents = msie && msie <= 11;
// Workaround for browsers which do not support the `input` event
// This will prevent double-triggering of events for browsers which support
// both the `keyup` and `input` events.
this.$selection.on(
'input.searchcheck',
'.select2-search--inline',
function (evt) {
// IE will trigger the `input` event when a placeholder is used on a
// search box. To get around this issue, we are forced to ignore all
// `input` events in IE and keep using `keyup`.
if (disableInputEvents) {
self.$selection.off('input.search input.searchcheck');
return;
}
// Unbind the duplicated `keyup` event
self.$selection.off('keyup.search');
}
);
this.$selection.on(
'keyup.search input.search',
'.select2-search--inline',
function (evt) {
// IE will trigger the `input` event when a placeholder is used on a
// search box. To get around this issue, we are forced to ignore all
// `input` events in IE and keep using `keyup`.
if (disableInputEvents && evt.type === 'input') {
self.$selection.off('input.search input.searchcheck');
return;
}
var key = evt.which;
// We can freely ignore events from modifier keys
if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
return;
}
// Tabbing will be handled during the `keydown` phase
if (key == KEYS.TAB) {
return;
}
self.handleSearch(evt);
}
);
};
/**
* This method will transfer the tabindex attribute from the rendered
* selection to the search box. This allows for the search box to be used as
* the primary focus instead of the selection container.
*
* @private
*/
Search.prototype._transferTabIndex = function (decorated) {
this.$search.attr('tabindex', this.$selection.attr('tabindex'));
this.$selection.attr('tabindex', '-1');
};
Search.prototype.createPlaceholder = function (decorated, placeholder) {
this.$search.attr('placeholder', placeholder.text);
};
Search.prototype.update = function (decorated, data) {
var searchHadFocus = this.$search[0] == document.activeElement;
this.$search.attr('placeholder', '');
decorated.call(this, data);
this.$selection.find('.select2-selection__rendered')
.append(this.$searchContainer);
this.resizeSearch();
if (searchHadFocus) {
this.$search.focus();
}
};
Search.prototype.handleSearch = function () {
this.resizeSearch();
if (!this._keyUpPrevented) {
var input = this.$search.val();
this.trigger('query', {
term: input
});
}
this._keyUpPrevented = false;
};
Search.prototype.searchRemoveChoice = function (decorated, item) {
this.trigger('unselect', {
data: item
});
this.$search.val(item.text);
this.handleSearch();
};
Search.prototype.resizeSearch = function () {
this.$search.css('width', '25px');
var width = '';
if (this.$search.attr('placeholder') !== '') {
width = this.$selection.find('.select2-selection__rendered').innerWidth();
} else {
var minimumWidth = this.$search.val().length + 1;
width = (minimumWidth * 0.75) + 'em';
}
this.$search.css('width', width);
};
return Search;
});
S2.define('select2/selection/eventRelay',[
'jquery'
], function ($) {
function EventRelay () { }
EventRelay.prototype.bind = function (decorated, container, $container) {
var self = this;
var relayEvents = [
'open', 'opening',
'close', 'closing',
'select', 'selecting',
'unselect', 'unselecting'
];
var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
decorated.call(this, container, $container);
container.on('*', function (name, params) {
// Ignore events that should not be relayed
if ($.inArray(name, relayEvents) === -1) {
return;
}
// The parameters should always be an object
params = params || {};
// Generate the jQuery event for the Select2 event
var evt = $.Event('select2:' + name, {
params: params
});
self.$element.trigger(evt);
// Only handle preventable events if it was one
if ($.inArray(name, preventableEvents) === -1) {
return;
}
params.prevented = evt.isDefaultPrevented();
});
};
return EventRelay;
});
S2.define('select2/translation',[
'jquery',
'require'
], function ($, require) {
function Translation (dict) {
this.dict = dict || {};
}
Translation.prototype.all = function () {
return this.dict;
};
Translation.prototype.get = function (key) {
return this.dict[key];
};
Translation.prototype.extend = function (translation) {
this.dict = $.extend({}, translation.all(), this.dict);
};
// Static functions
Translation._cache = {};
Translation.loadPath = function (path) {
if (!(path in Translation._cache)) {
var translations = require(path);
Translation._cache[path] = translations;
}
return new Translation(Translation._cache[path]);
};
return Translation;
});
S2.define('select2/diacritics',[
], function () {
var diacritics = {
'\u24B6': 'A',
'\uFF21': 'A',
'\u00C0': 'A',
'\u00C1': 'A',
'\u00C2': 'A',
'\u1EA6': 'A',
'\u1EA4': 'A',
'\u1EAA': 'A',
'\u1EA8': 'A',
'\u00C3': 'A',
'\u0100': 'A',
'\u0102': 'A',
'\u1EB0': 'A',
'\u1EAE': 'A',
'\u1EB4': 'A',
'\u1EB2': 'A',
'\u0226': 'A',
'\u01E0': 'A',
'\u00C4': 'A',
'\u01DE': 'A',
'\u1EA2': 'A',
'\u00C5': 'A',
'\u01FA': 'A',
'\u01CD': 'A',
'\u0200': 'A',
'\u0202': 'A',
'\u1EA0': 'A',
'\u1EAC': 'A',
'\u1EB6': 'A',
'\u1E00': 'A',
'\u0104': 'A',
'\u023A': 'A',
'\u2C6F': 'A',
'\uA732': 'AA',
'\u00C6': 'AE',
'\u01FC': 'AE',
'\u01E2': 'AE',
'\uA734': 'AO',
'\uA736': 'AU',
'\uA738': 'AV',
'\uA73A': 'AV',
'\uA73C': 'AY',
'\u24B7': 'B',
'\uFF22': 'B',
'\u1E02': 'B',
'\u1E04': 'B',
'\u1E06': 'B',
'\u0243': 'B',
'\u0182': 'B',
'\u0181': 'B',
'\u24B8': 'C',
'\uFF23': 'C',
'\u0106': 'C',
'\u0108': 'C',
'\u010A': 'C',
'\u010C': 'C',
'\u00C7': 'C',
'\u1E08': 'C',
'\u0187': 'C',
'\u023B': 'C',
'\uA73E': 'C',
'\u24B9': 'D',
'\uFF24': 'D',
'\u1E0A': 'D',
'\u010E': 'D',
'\u1E0C': 'D',
'\u1E10': 'D',
'\u1E12': 'D',
'\u1E0E': 'D',
'\u0110': 'D',
'\u018B': 'D',
'\u018A': 'D',
'\u0189': 'D',
'\uA779': 'D',
'\u01F1': 'DZ',
'\u01C4': 'DZ',
'\u01F2': 'Dz',
'\u01C5': 'Dz',
'\u24BA': 'E',
'\uFF25': 'E',
'\u00C8': 'E',
'\u00C9': 'E',
'\u00CA': 'E',
'\u1EC0': 'E',
'\u1EBE': 'E',
'\u1EC4': 'E',
'\u1EC2': 'E',
'\u1EBC': 'E',
'\u0112': 'E',
'\u1E14': 'E',
'\u1E16': 'E',
'\u0114': 'E',
'\u0116': 'E',
'\u00CB': 'E',
'\u1EBA': 'E',
'\u011A': 'E',
'\u0204': 'E',
'\u0206': 'E',
'\u1EB8': 'E',
'\u1EC6': 'E',
'\u0228': 'E',
'\u1E1C': 'E',
'\u0118': 'E',
'\u1E18': 'E',
'\u1E1A': 'E',
'\u0190': 'E',
'\u018E': 'E',
'\u24BB': 'F',
'\uFF26': 'F',
'\u1E1E': 'F',
'\u0191': 'F',
'\uA77B': 'F',
'\u24BC': 'G',
'\uFF27': 'G',
'\u01F4': 'G',
'\u011C': 'G',
'\u1E20': 'G',
'\u011E': 'G',
'\u0120': 'G',
'\u01E6': 'G',
'\u0122': 'G',
'\u01E4': 'G',
'\u0193': 'G',
'\uA7A0': 'G',
'\uA77D': 'G',
'\uA77E': 'G',
'\u24BD': 'H',
'\uFF28': 'H',
'\u0124': 'H',
'\u1E22': 'H',
'\u1E26': 'H',
'\u021E': 'H',
'\u1E24': 'H',
'\u1E28': 'H',
'\u1E2A': 'H',
'\u0126': 'H',
'\u2C67': 'H',
'\u2C75': 'H',
'\uA78D': 'H',
'\u24BE': 'I',
'\uFF29': 'I',
'\u00CC': 'I',
'\u00CD': 'I',
'\u00CE': 'I',
'\u0128': 'I',
'\u012A': 'I',
'\u012C': 'I',
'\u0130': 'I',
'\u00CF': 'I',
'\u1E2E': 'I',
'\u1EC8': 'I',
'\u01CF': 'I',
'\u0208': 'I',
'\u020A': 'I',
'\u1ECA': 'I',
'\u012E': 'I',
'\u1E2C': 'I',
'\u0197': 'I',
'\u24BF': 'J',
'\uFF2A': 'J',
'\u0134': 'J',
'\u0248': 'J',
'\u24C0': 'K',
'\uFF2B': 'K',
'\u1E30': 'K',
'\u01E8': 'K',
'\u1E32': 'K',
'\u0136': 'K',
'\u1E34': 'K',
'\u0198': 'K',
'\u2C69': 'K',
'\uA740': 'K',
'\uA742': 'K',
'\uA744': 'K',
'\uA7A2': 'K',
'\u24C1': 'L',
'\uFF2C': 'L',
'\u013F': 'L',
'\u0139': 'L',
'\u013D': 'L',
'\u1E36': 'L',
'\u1E38': 'L',
'\u013B': 'L',
'\u1E3C': 'L',
'\u1E3A': 'L',
'\u0141': 'L',
'\u023D': 'L',
'\u2C62': 'L',
'\u2C60': 'L',
'\uA748': 'L',
'\uA746': 'L',
'\uA780': 'L',
'\u01C7': 'LJ',
'\u01C8': 'Lj',
'\u24C2': 'M',
'\uFF2D': 'M',
'\u1E3E': 'M',
'\u1E40': 'M',
'\u1E42': 'M',
'\u2C6E': 'M',
'\u019C': 'M',
'\u24C3': 'N',
'\uFF2E': 'N',
'\u01F8': 'N',
'\u0143': 'N',
'\u00D1': 'N',
'\u1E44': 'N',
'\u0147': 'N',
'\u1E46': 'N',
'\u0145': 'N',
'\u1E4A': 'N',
'\u1E48': 'N',
'\u0220': 'N',
'\u019D': 'N',
'\uA790': 'N',
'\uA7A4': 'N',
'\u01CA': 'NJ',
'\u01CB': 'Nj',
'\u24C4': 'O',
'\uFF2F': 'O',
'\u00D2': 'O',
'\u00D3': 'O',
'\u00D4': 'O',
'\u1ED2': 'O',
'\u1ED0': 'O',
'\u1ED6': 'O',
'\u1ED4': 'O',
'\u00D5': 'O',
'\u1E4C': 'O',
'\u022C': 'O',
'\u1E4E': 'O',
'\u014C': 'O',
'\u1E50': 'O',
'\u1E52': 'O',
'\u014E': 'O',
'\u022E': 'O',
'\u0230': 'O',
'\u00D6': 'O',
'\u022A': 'O',
'\u1ECE': 'O',
'\u0150': 'O',
'\u01D1': 'O',
'\u020C': 'O',
'\u020E': 'O',
'\u01A0': 'O',
'\u1EDC': 'O',
'\u1EDA': 'O',
'\u1EE0': 'O',
'\u1EDE': 'O',
'\u1EE2': 'O',
'\u1ECC': 'O',
'\u1ED8': 'O',
'\u01EA': 'O',
'\u01EC': 'O',
'\u00D8': 'O',
'\u01FE': 'O',
'\u0186': 'O',
'\u019F': 'O',
'\uA74A': 'O',
'\uA74C': 'O',
'\u01A2': 'OI',
'\uA74E': 'OO',
'\u0222': 'OU',
'\u24C5': 'P',
'\uFF30': 'P',
'\u1E54': 'P',
'\u1E56': 'P',
'\u01A4': 'P',
'\u2C63': 'P',
'\uA750': 'P',
'\uA752': 'P',
'\uA754': 'P',
'\u24C6': 'Q',
'\uFF31': 'Q',
'\uA756': 'Q',
'\uA758': 'Q',
'\u024A': 'Q',
'\u24C7': 'R',
'\uFF32': 'R',
'\u0154': 'R',
'\u1E58': 'R',
'\u0158': 'R',
'\u0210': 'R',
'\u0212': 'R',
'\u1E5A': 'R',
'\u1E5C': 'R',
'\u0156': 'R',
'\u1E5E': 'R',
'\u024C': 'R',
'\u2C64': 'R',
'\uA75A': 'R',
'\uA7A6': 'R',
'\uA782': 'R',
'\u24C8': 'S',
'\uFF33': 'S',
'\u1E9E': 'S',
'\u015A': 'S',
'\u1E64': 'S',
'\u015C': 'S',
'\u1E60': 'S',
'\u0160': 'S',
'\u1E66': 'S',
'\u1E62': 'S',
'\u1E68': 'S',
'\u0218': 'S',
'\u015E': 'S',
'\u2C7E': 'S',
'\uA7A8': 'S',
'\uA784': 'S',
'\u24C9': 'T',
'\uFF34': 'T',
'\u1E6A': 'T',
'\u0164': 'T',
'\u1E6C': 'T',
'\u021A': 'T',
'\u0162': 'T',
'\u1E70': 'T',
'\u1E6E': 'T',
'\u0166': 'T',
'\u01AC': 'T',
'\u01AE': 'T',
'\u023E': 'T',
'\uA786': 'T',
'\uA728': 'TZ',
'\u24CA': 'U',
'\uFF35': 'U',
'\u00D9': 'U',
'\u00DA': 'U',
'\u00DB': 'U',
'\u0168': 'U',
'\u1E78': 'U',
'\u016A': 'U',
'\u1E7A': 'U',
'\u016C': 'U',
'\u00DC': 'U',
'\u01DB': 'U',
'\u01D7': 'U',
'\u01D5': 'U',
'\u01D9': 'U',
'\u1EE6': 'U',
'\u016E': 'U',
'\u0170': 'U',
'\u01D3': 'U',
'\u0214': 'U',
'\u0216': 'U',
'\u01AF': 'U',
'\u1EEA': 'U',
'\u1EE8': 'U',
'\u1EEE': 'U',
'\u1EEC': 'U',
'\u1EF0': 'U',
'\u1EE4': 'U',
'\u1E72': 'U',
'\u0172': 'U',
'\u1E76': 'U',
'\u1E74': 'U',
'\u0244': 'U',
'\u24CB': 'V',
'\uFF36': 'V',
'\u1E7C': 'V',
'\u1E7E': 'V',
'\u01B2': 'V',
'\uA75E': 'V',
'\u0245': 'V',
'\uA760': 'VY',
'\u24CC': 'W',
'\uFF37': 'W',
'\u1E80': 'W',
'\u1E82': 'W',
'\u0174': 'W',
'\u1E86': 'W',
'\u1E84': 'W',
'\u1E88': 'W',
'\u2C72': 'W',
'\u24CD': 'X',
'\uFF38': 'X',
'\u1E8A': 'X',
'\u1E8C': 'X',
'\u24CE': 'Y',
'\uFF39': 'Y',
'\u1EF2': 'Y',
'\u00DD': 'Y',
'\u0176': 'Y',
'\u1EF8': 'Y',
'\u0232': 'Y',
'\u1E8E': 'Y',
'\u0178': 'Y',
'\u1EF6': 'Y',
'\u1EF4': 'Y',
'\u01B3': 'Y',
'\u024E': 'Y',
'\u1EFE': 'Y',
'\u24CF': 'Z',
'\uFF3A': 'Z',
'\u0179': 'Z',
'\u1E90': 'Z',
'\u017B': 'Z',
'\u017D': 'Z',
'\u1E92': 'Z',
'\u1E94': 'Z',
'\u01B5': 'Z',
'\u0224': 'Z',
'\u2C7F': 'Z',
'\u2C6B': 'Z',
'\uA762': 'Z',
'\u24D0': 'a',
'\uFF41': 'a',
'\u1E9A': 'a',
'\u00E0': 'a',
'\u00E1': 'a',
'\u00E2': 'a',
'\u1EA7': 'a',
'\u1EA5': 'a',
'\u1EAB': 'a',
'\u1EA9': 'a',
'\u00E3': 'a',
'\u0101': 'a',
'\u0103': 'a',
'\u1EB1': 'a',
'\u1EAF': 'a',
'\u1EB5': 'a',
'\u1EB3': 'a',
'\u0227': 'a',
'\u01E1': 'a',
'\u00E4': 'a',
'\u01DF': 'a',
'\u1EA3': 'a',
'\u00E5': 'a',
'\u01FB': 'a',
'\u01CE': 'a',
'\u0201': 'a',
'\u0203': 'a',
'\u1EA1': 'a',
'\u1EAD': 'a',
'\u1EB7': 'a',
'\u1E01': 'a',
'\u0105': 'a',
'\u2C65': 'a',
'\u0250': 'a',
'\uA733': 'aa',
'\u00E6': 'ae',
'\u01FD': 'ae',
'\u01E3': 'ae',
'\uA735': 'ao',
'\uA737': 'au',
'\uA739': 'av',
'\uA73B': 'av',
'\uA73D': 'ay',
'\u24D1': 'b',
'\uFF42': 'b',
'\u1E03': 'b',
'\u1E05': 'b',
'\u1E07': 'b',
'\u0180': 'b',
'\u0183': 'b',
'\u0253': 'b',
'\u24D2': 'c',
'\uFF43': 'c',
'\u0107': 'c',
'\u0109': 'c',
'\u010B': 'c',
'\u010D': 'c',
'\u00E7': 'c',
'\u1E09': 'c',
'\u0188': 'c',
'\u023C': 'c',
'\uA73F': 'c',
'\u2184': 'c',
'\u24D3': 'd',
'\uFF44': 'd',
'\u1E0B': 'd',
'\u010F': 'd',
'\u1E0D': 'd',
'\u1E11': 'd',
'\u1E13': 'd',
'\u1E0F': 'd',
'\u0111': 'd',
'\u018C': 'd',
'\u0256': 'd',
'\u0257': 'd',
'\uA77A': 'd',
'\u01F3': 'dz',
'\u01C6': 'dz',
'\u24D4': 'e',
'\uFF45': 'e',
'\u00E8': 'e',
'\u00E9': 'e',
'\u00EA': 'e',
'\u1EC1': 'e',
'\u1EBF': 'e',
'\u1EC5': 'e',
'\u1EC3': 'e',
'\u1EBD': 'e',
'\u0113': 'e',
'\u1E15': 'e',
'\u1E17': 'e',
'\u0115': 'e',
'\u0117': 'e',
'\u00EB': 'e',
'\u1EBB': 'e',
'\u011B': 'e',
'\u0205': 'e',
'\u0207': 'e',
'\u1EB9': 'e',
'\u1EC7': 'e',
'\u0229': 'e',
'\u1E1D': 'e',
'\u0119': 'e',
'\u1E19': 'e',
'\u1E1B': 'e',
'\u0247': 'e',
'\u025B': 'e',
'\u01DD': 'e',
'\u24D5': 'f',
'\uFF46': 'f',
'\u1E1F': 'f',
'\u0192': 'f',
'\uA77C': 'f',
'\u24D6': 'g',
'\uFF47': 'g',
'\u01F5': 'g',
'\u011D': 'g',
'\u1E21': 'g',
'\u011F': 'g',
'\u0121': 'g',
'\u01E7': 'g',
'\u0123': 'g',
'\u01E5': 'g',
'\u0260': 'g',
'\uA7A1': 'g',
'\u1D79': 'g',
'\uA77F': 'g',
'\u24D7': 'h',
'\uFF48': 'h',
'\u0125': 'h',
'\u1E23': 'h',
'\u1E27': 'h',
'\u021F': 'h',
'\u1E25': 'h',
'\u1E29': 'h',
'\u1E2B': 'h',
'\u1E96': 'h',
'\u0127': 'h',
'\u2C68': 'h',
'\u2C76': 'h',
'\u0265': 'h',
'\u0195': 'hv',
'\u24D8': 'i',
'\uFF49': 'i',
'\u00EC': 'i',
'\u00ED': 'i',
'\u00EE': 'i',
'\u0129': 'i',
'\u012B': 'i',
'\u012D': 'i',
'\u00EF': 'i',
'\u1E2F': 'i',
'\u1EC9': 'i',
'\u01D0': 'i',
'\u0209': 'i',
'\u020B': 'i',
'\u1ECB': 'i',
'\u012F': 'i',
'\u1E2D': 'i',
'\u0268': 'i',
'\u0131': 'i',
'\u24D9': 'j',
'\uFF4A': 'j',
'\u0135': 'j',
'\u01F0': 'j',
'\u0249': 'j',
'\u24DA': 'k',
'\uFF4B': 'k',
'\u1E31': 'k',
'\u01E9': 'k',
'\u1E33': 'k',
'\u0137': 'k',
'\u1E35': 'k',
'\u0199': 'k',
'\u2C6A': 'k',
'\uA741': 'k',
'\uA743': 'k',
'\uA745': 'k',
'\uA7A3': 'k',
'\u24DB': 'l',
'\uFF4C': 'l',
'\u0140': 'l',
'\u013A': 'l',
'\u013E': 'l',
'\u1E37': 'l',
'\u1E39': 'l',
'\u013C': 'l',
'\u1E3D': 'l',
'\u1E3B': 'l',
'\u017F': 'l',
'\u0142': 'l',
'\u019A': 'l',
'\u026B': 'l',
'\u2C61': 'l',
'\uA749': 'l',
'\uA781': 'l',
'\uA747': 'l',
'\u01C9': 'lj',
'\u24DC': 'm',
'\uFF4D': 'm',
'\u1E3F': 'm',
'\u1E41': 'm',
'\u1E43': 'm',
'\u0271': 'm',
'\u026F': 'm',
'\u24DD': 'n',
'\uFF4E': 'n',
'\u01F9': 'n',
'\u0144': 'n',
'\u00F1': 'n',
'\u1E45': 'n',
'\u0148': 'n',
'\u1E47': 'n',
'\u0146': 'n',
'\u1E4B': 'n',
'\u1E49': 'n',
'\u019E': 'n',
'\u0272': 'n',
'\u0149': 'n',
'\uA791': 'n',
'\uA7A5': 'n',
'\u01CC': 'nj',
'\u24DE': 'o',
'\uFF4F': 'o',
'\u00F2': 'o',
'\u00F3': 'o',
'\u00F4': 'o',
'\u1ED3': 'o',
'\u1ED1': 'o',
'\u1ED7': 'o',
'\u1ED5': 'o',
'\u00F5': 'o',
'\u1E4D': 'o',
'\u022D': 'o',
'\u1E4F': 'o',
'\u014D': 'o',
'\u1E51': 'o',
'\u1E53': 'o',
'\u014F': 'o',
'\u022F': 'o',
'\u0231': 'o',
'\u00F6': 'o',
'\u022B': 'o',
'\u1ECF': 'o',
'\u0151': 'o',
'\u01D2': 'o',
'\u020D': 'o',
'\u020F': 'o',
'\u01A1': 'o',
'\u1EDD': 'o',
'\u1EDB': 'o',
'\u1EE1': 'o',
'\u1EDF': 'o',
'\u1EE3': 'o',
'\u1ECD': 'o',
'\u1ED9': 'o',
'\u01EB': 'o',
'\u01ED': 'o',
'\u00F8': 'o',
'\u01FF': 'o',
'\u0254': 'o',
'\uA74B': 'o',
'\uA74D': 'o',
'\u0275': 'o',
'\u01A3': 'oi',
'\u0223': 'ou',
'\uA74F': 'oo',
'\u24DF': 'p',
'\uFF50': 'p',
'\u1E55': 'p',
'\u1E57': 'p',
'\u01A5': 'p',
'\u1D7D': 'p',
'\uA751': 'p',
'\uA753': 'p',
'\uA755': 'p',
'\u24E0': 'q',
'\uFF51': 'q',
'\u024B': 'q',
'\uA757': 'q',
'\uA759': 'q',
'\u24E1': 'r',
'\uFF52': 'r',
'\u0155': 'r',
'\u1E59': 'r',
'\u0159': 'r',
'\u0211': 'r',
'\u0213': 'r',
'\u1E5B': 'r',
'\u1E5D': 'r',
'\u0157': 'r',
'\u1E5F': 'r',
'\u024D': 'r',
'\u027D': 'r',
'\uA75B': 'r',
'\uA7A7': 'r',
'\uA783': 'r',
'\u24E2': 's',
'\uFF53': 's',
'\u00DF': 's',
'\u015B': 's',
'\u1E65': 's',
'\u015D': 's',
'\u1E61': 's',
'\u0161': 's',
'\u1E67': 's',
'\u1E63': 's',
'\u1E69': 's',
'\u0219': 's',
'\u015F': 's',
'\u023F': 's',
'\uA7A9': 's',
'\uA785': 's',
'\u1E9B': 's',
'\u24E3': 't',
'\uFF54': 't',
'\u1E6B': 't',
'\u1E97': 't',
'\u0165': 't',
'\u1E6D': 't',
'\u021B': 't',
'\u0163': 't',
'\u1E71': 't',
'\u1E6F': 't',
'\u0167': 't',
'\u01AD': 't',
'\u0288': 't',
'\u2C66': 't',
'\uA787': 't',
'\uA729': 'tz',
'\u24E4': 'u',
'\uFF55': 'u',
'\u00F9': 'u',
'\u00FA': 'u',
'\u00FB': 'u',
'\u0169': 'u',
'\u1E79': 'u',
'\u016B': 'u',
'\u1E7B': 'u',
'\u016D': 'u',
'\u00FC': 'u',
'\u01DC': 'u',
'\u01D8': 'u',
'\u01D6': 'u',
'\u01DA': 'u',
'\u1EE7': 'u',
'\u016F': 'u',
'\u0171': 'u',
'\u01D4': 'u',
'\u0215': 'u',
'\u0217': 'u',
'\u01B0': 'u',
'\u1EEB': 'u',
'\u1EE9': 'u',
'\u1EEF': 'u',
'\u1EED': 'u',
'\u1EF1': 'u',
'\u1EE5': 'u',
'\u1E73': 'u',
'\u0173': 'u',
'\u1E77': 'u',
'\u1E75': 'u',
'\u0289': 'u',
'\u24E5': 'v',
'\uFF56': 'v',
'\u1E7D': 'v',
'\u1E7F': 'v',
'\u028B': 'v',
'\uA75F': 'v',
'\u028C': 'v',
'\uA761': 'vy',
'\u24E6': 'w',
'\uFF57': 'w',
'\u1E81': 'w',
'\u1E83': 'w',
'\u0175': 'w',
'\u1E87': 'w',
'\u1E85': 'w',
'\u1E98': 'w',
'\u1E89': 'w',
'\u2C73': 'w',
'\u24E7': 'x',
'\uFF58': 'x',
'\u1E8B': 'x',
'\u1E8D': 'x',
'\u24E8': 'y',
'\uFF59': 'y',
'\u1EF3': 'y',
'\u00FD': 'y',
'\u0177': 'y',
'\u1EF9': 'y',
'\u0233': 'y',
'\u1E8F': 'y',
'\u00FF': 'y',
'\u1EF7': 'y',
'\u1E99': 'y',
'\u1EF5': 'y',
'\u01B4': 'y',
'\u024F': 'y',
'\u1EFF': 'y',
'\u24E9': 'z',
'\uFF5A': 'z',
'\u017A': 'z',
'\u1E91': 'z',
'\u017C': 'z',
'\u017E': 'z',
'\u1E93': 'z',
'\u1E95': 'z',
'\u01B6': 'z',
'\u0225': 'z',
'\u0240': 'z',
'\u2C6C': 'z',
'\uA763': 'z',
'\u0386': '\u0391',
'\u0388': '\u0395',
'\u0389': '\u0397',
'\u038A': '\u0399',
'\u03AA': '\u0399',
'\u038C': '\u039F',
'\u038E': '\u03A5',
'\u03AB': '\u03A5',
'\u038F': '\u03A9',
'\u03AC': '\u03B1',
'\u03AD': '\u03B5',
'\u03AE': '\u03B7',
'\u03AF': '\u03B9',
'\u03CA': '\u03B9',
'\u0390': '\u03B9',
'\u03CC': '\u03BF',
'\u03CD': '\u03C5',
'\u03CB': '\u03C5',
'\u03B0': '\u03C5',
'\u03C9': '\u03C9',
'\u03C2': '\u03C3'
};
return diacritics;
});
S2.define('select2/data/base',[
'../utils'
], function (Utils) {
function BaseAdapter ($element, options) {
BaseAdapter.__super__.constructor.call(this);
}
Utils.Extend(BaseAdapter, Utils.Observable);
BaseAdapter.prototype.current = function (callback) {
throw new Error('The `current` method must be defined in child classes.');
};
BaseAdapter.prototype.query = function (params, callback) {
throw new Error('The `query` method must be defined in child classes.');
};
BaseAdapter.prototype.bind = function (container, $container) {
// Can be implemented in subclasses
};
BaseAdapter.prototype.destroy = function () {
// Can be implemented in subclasses
};
BaseAdapter.prototype.generateResultId = function (container, data) {
var id = '';
if (container != null) {
id += container.id
} else {
id += Utils.generateChars(4);
}
id += '-result-';
id += Utils.generateChars(4);
if (data.id != null) {
id += '-' + data.id.toString();
} else {
id += '-' + Utils.generateChars(4);
}
return id;
};
return BaseAdapter;
});
S2.define('select2/data/select',[
'./base',
'../utils',
'jquery'
], function (BaseAdapter, Utils, $) {
function SelectAdapter ($element, options) {
this.$element = $element;
this.options = options;
SelectAdapter.__super__.constructor.call(this);
}
Utils.Extend(SelectAdapter, BaseAdapter);
SelectAdapter.prototype.current = function (callback) {
var data = [];
var self = this;
this.$element.find(':selected').each(function () {
var $option = $(this);
var option = self.item($option);
data.push(option);
});
callback(data);
};
SelectAdapter.prototype.select = function (data) {
var self = this;
data.selected = true;
// If data.element is a DOM node, use it instead
if ($(data.element).is('option')) {
data.element.selected = true;
this.$element.trigger('change');
return;
}
if (this.$element.prop('multiple')) {
this.current(function (currentData) {
var val = [];
data = [data];
data.push.apply(data, currentData);
for (var d = 0; d < data.length; d++) {
var id = data[d].id;
if ($.inArray(id, val) === -1) {
val.push(id);
}
}
self.$element.val(val);
self.$element.trigger('change');
});
} else {
var val = data.id;
this.$element.val(val);
this.$element.trigger('change');
}
};
SelectAdapter.prototype.unselect = function (data) {
var self = this;
if (!this.$element.prop('multiple')) {
return;
}
data.selected = false;
if ($(data.element).is('option')) {
data.element.selected = false;
this.$element.trigger('change');
return;
}
this.current(function (currentData) {
var val = [];
for (var d = 0; d < currentData.length; d++) {
var id = currentData[d].id;
if (id !== data.id && $.inArray(id, val) === -1) {
val.push(id);
}
}
self.$element.val(val);
self.$element.trigger('change');
});
};
SelectAdapter.prototype.bind = function (container, $container) {
var self = this;
this.container = container;
container.on('select', function (params) {
self.select(params.data);
});
container.on('unselect', function (params) {
self.unselect(params.data);
});
};
SelectAdapter.prototype.destroy = function () {
// Remove anything added to child elements
this.$element.find('*').each(function () {
// Remove any custom data set by Select2
$.removeData(this, 'data');
});
};
SelectAdapter.prototype.query = function (params, callback) {
var data = [];
var self = this;
var $options = this.$element.children();
$options.each(function () {
var $option = $(this);
if (!$option.is('option') && !$option.is('optgroup')) {
return;
}
var option = self.item($option);
var matches = self.matches(params, option);
if (matches !== null) {
data.push(matches);
}
});
callback({
results: data
});
};
SelectAdapter.prototype.addOptions = function ($options) {
Utils.appendMany(this.$element, $options);
};
SelectAdapter.prototype.option = function (data) {
var option;
if (data.children) {
option = document.createElement('optgroup');
option.label = data.text;
} else {
option = document.createElement('option');
if (option.textContent !== undefined) {
option.textContent = data.text;
} else {
option.innerText = data.text;
}
}
if (data.id !== undefined) {
option.value = data.id;
}
if (data.disabled) {
option.disabled = true;
}
if (data.selected) {
option.selected = true;
}
if (data.title) {
option.title = data.title;
}
var $option = $(option);
var normalizedData = this._normalizeItem(data);
normalizedData.element = option;
// Override the option's data with the combined data
$.data(option, 'data', normalizedData);
return $option;
};
SelectAdapter.prototype.item = function ($option) {
var data = {};
data = $.data($option[0], 'data');
if (data != null) {
return data;
}
if ($option.is('option')) {
data = {
id: $option.val(),
text: $option.text(),
disabled: $option.prop('disabled'),
selected: $option.prop('selected'),
title: $option.prop('title')
};
} else if ($option.is('optgroup')) {
data = {
text: $option.prop('label'),
children: [],
title: $option.prop('title')
};
var $children = $option.children('option');
var children = [];
for (var c = 0; c < $children.length; c++) {
var $child = $($children[c]);
var child = this.item($child);
children.push(child);
}
data.children = children;
}
data = this._normalizeItem(data);
data.element = $option[0];
$.data($option[0], 'data', data);
return data;
};
SelectAdapter.prototype._normalizeItem = function (item) {
if (!$.isPlainObject(item)) {
item = {
id: item,
text: item
};
}
item = $.extend({}, {
text: ''
}, item);
var defaults = {
selected: false,
disabled: false
};
if (item.id != null) {
item.id = item.id.toString();
}
if (item.text != null) {
item.text = item.text.toString();
}
if (item._resultId == null && item.id) {
item._resultId = this.generateResultId(this.container, item);
}
return $.extend({}, defaults, item);
};
SelectAdapter.prototype.matches = function (params, data) {
var matcher = this.options.get('matcher');
return matcher(params, data);
};
return SelectAdapter;
});
S2.define('select2/data/array',[
'./select',
'../utils',
'jquery'
], function (SelectAdapter, Utils, $) {
function ArrayAdapter ($element, options) {
var data = options.get('data') || [];
ArrayAdapter.__super__.constructor.call(this, $element, options);
this.addOptions(this.convertToOptions(data));
}
Utils.Extend(ArrayAdapter, SelectAdapter);
ArrayAdapter.prototype.select = function (data) {
var $option = this.$element.find('option').filter(function (i, elm) {
return elm.value == data.id.toString();
});
if ($option.length === 0) {
$option = this.option(data);
this.addOptions($option);
}
ArrayAdapter.__super__.select.call(this, data);
};
ArrayAdapter.prototype.convertToOptions = function (data) {
var self = this;
var $existing = this.$element.find('option');
var existingIds = $existing.map(function () {
return self.item($(this)).id;
}).get();
var $options = [];
// Filter out all items except for the one passed in the argument
function onlyItem (item) {
return function () {
return $(this).val() == item.id;
};
}
for (var d = 0; d < data.length; d++) {
var item = this._normalizeItem(data[d]);
// Skip items which were pre-loaded, only merge the data
if ($.inArray(item.id, existingIds) >= 0) {
var $existingOption = $existing.filter(onlyItem(item));
var existingData = this.item($existingOption);
var newData = $.extend(true, {}, item, existingData);
var $newOption = this.option(newData);
$existingOption.replaceWith($newOption);
continue;
}
var $option = this.option(item);
if (item.children) {
var $children = this.convertToOptions(item.children);
Utils.appendMany($option, $children);
}
$options.push($option);
}
return $options;
};
return ArrayAdapter;
});
S2.define('select2/data/ajax',[
'./array',
'../utils',
'jquery'
], function (ArrayAdapter, Utils, $) {
function AjaxAdapter ($element, options) {
this.ajaxOptions = this._applyDefaults(options.get('ajax'));
if (this.ajaxOptions.processResults != null) {
this.processResults = this.ajaxOptions.processResults;
}
AjaxAdapter.__super__.constructor.call(this, $element, options);
}
Utils.Extend(AjaxAdapter, ArrayAdapter);
AjaxAdapter.prototype._applyDefaults = function (options) {
var defaults = {
data: function (params) {
return $.extend({}, params, {
q: params.term
});
},
transport: function (params, success, failure) {
var $request = $.ajax(params);
$request.then(success);
$request.fail(failure);
return $request;
}
};
return $.extend({}, defaults, options, true);
};
AjaxAdapter.prototype.processResults = function (results) {
return results;
};
AjaxAdapter.prototype.query = function (params, callback) {
var matches = [];
var self = this;
if (this._request != null) {
// JSONP requests cannot always be aborted
if ($.isFunction(this._request.abort)) {
this._request.abort();
}
this._request = null;
}
var options = $.extend({
type: 'GET'
}, this.ajaxOptions);
if (typeof options.url === 'function') {
options.url = options.url.call(this.$element, params);
}
if (typeof options.data === 'function') {
options.data = options.data.call(this.$element, params);
}
function request () {
var $request = options.transport(options, function (data) {
var results = self.processResults(data, params);
if (self.options.get('debug') && window.console && console.error) {
// Check to make sure that the response included a `results` key.
if (!results || !results.results || !$.isArray(results.results)) {
console.error(
'Select2: The AJAX results did not return an array in the ' +
'`results` key of the response.'
);
}
}
callback(results);
self.container.focusOnActiveElement();
}, function () {
// Attempt to detect if a request was aborted
// Only works if the transport exposes a status property
if ($request.status && $request.status === '0') {
return;
}
self.trigger('results:message', {
message: 'errorLoading'
});
});
self._request = $request;
}
if (this.ajaxOptions.delay && params.term != null) {
if (this._queryTimeout) {
window.clearTimeout(this._queryTimeout);
}
this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
} else {
request();
}
};
return AjaxAdapter;
});
S2.define('select2/data/tags',[
'jquery'
], function ($) {
function Tags (decorated, $element, options) {
var tags = options.get('tags');
var createTag = options.get('createTag');
if (createTag !== undefined) {
this.createTag = createTag;
}
var insertTag = options.get('insertTag');
if (insertTag !== undefined) {
this.insertTag = insertTag;
}
decorated.call(this, $element, options);
if ($.isArray(tags)) {
for (var t = 0; t < tags.length; t++) {
var tag = tags[t];
var item = this._normalizeItem(tag);
var $option = this.option(item);
this.$element.append($option);
}
}
}
Tags.prototype.query = function (decorated, params, callback) {
var self = this;
this._removeOldTags();
if (params.term == null || params.page != null) {
decorated.call(this, params, callback);
return;
}
function wrapper (obj, child) {
var data = obj.results;
for (var i = 0; i < data.length; i++) {
var option = data[i];
var checkChildren = (
option.children != null &&
!wrapper({
results: option.children
}, true)
);
var optionText = (option.text || '').toUpperCase();
var paramsTerm = (params.term || '').toUpperCase();
var checkText = optionText === paramsTerm;
if (checkText || checkChildren) {
if (child) {
return false;
}
obj.data = data;
callback(obj);
return;
}
}
if (child) {
return true;
}
var tag = self.createTag(params);
if (tag != null) {
var $option = self.option(tag);
$option.attr('data-select2-tag', true);
self.addOptions([$option]);
self.insertTag(data, tag);
}
obj.results = data;
callback(obj);
}
decorated.call(this, params, wrapper);
};
Tags.prototype.createTag = function (decorated, params) {
var term = $.trim(params.term);
if (term === '') {
return null;
}
return {
id: term,
text: term
};
};
Tags.prototype.insertTag = function (_, data, tag) {
data.unshift(tag);
};
Tags.prototype._removeOldTags = function (_) {
var tag = this._lastTag;
var $options = this.$element.find('option[data-select2-tag]');
$options.each(function () {
if (this.selected) {
return;
}
$(this).remove();
});
};
return Tags;
});
S2.define('select2/data/tokenizer',[
'jquery'
], function ($) {
function Tokenizer (decorated, $element, options) {
var tokenizer = options.get('tokenizer');
if (tokenizer !== undefined) {
this.tokenizer = tokenizer;
}
decorated.call(this, $element, options);
}
Tokenizer.prototype.bind = function (decorated, container, $container) {
decorated.call(this, container, $container);
this.$search = container.dropdown.$search || container.selection.$search ||
$container.find('.select2-search__field');
};
Tokenizer.prototype.query = function (decorated, params, callback) {
var self = this;
function createAndSelect (data) {
// Normalize the data object so we can use it for checks
var item = self._normalizeItem(data);
// Check if the data object already exists as a tag
// Select it if it doesn't
var $existingOptions = self.$element.find('option').filter(function () {
return $(this).val() === item.id;
});
// If an existing option wasn't found for it, create the option
if (!$existingOptions.length) {
var $option = self.option(item);
$option.attr('data-select2-tag', true);
self._removeOldTags();
self.addOptions([$option]);
}
// Select the item, now that we know there is an option for it
select(item);
}
function select (data) {
self.trigger('select', {
data: data
});
}
params.term = params.term || '';
var tokenData = this.tokenizer(params, this.options, createAndSelect);
if (tokenData.term !== params.term) {
// Replace the search term if we have the search box
if (this.$search.length) {
this.$search.val(tokenData.term);
this.$search.focus();
}
params.term = tokenData.term;
}
decorated.call(this, params, callback);
};
Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
var separators = options.get('tokenSeparators') || [];
var term = params.term;
var i = 0;
var createTag = this.createTag || function (params) {
return {
id: params.term,
text: params.term
};
};
while (i < term.length) {
var termChar = term[i];
if ($.inArray(termChar, separators) === -1) {
i++;
continue;
}
var part = term.substr(0, i);
var partParams = $.extend({}, params, {
term: part
});
var data = createTag(partParams);
if (data == null) {
i++;
continue;
}
callback(data);
// Reset the term to not include the tokenized portion
term = term.substr(i + 1) || '';
i = 0;
}
return {
term: term
};
};
return Tokenizer;
});
S2.define('select2/data/minimumInputLength',[
], function () {
function MinimumInputLength (decorated, $e, options) {
this.minimumInputLength = options.get('minimumInputLength');
decorated.call(this, $e, options);
}
MinimumInputLength.prototype.query = function (decorated, params, callback) {
params.term = params.term || '';
if (params.term.length < this.minimumInputLength) {
this.trigger('results:message', {
message: 'inputTooShort',
args: {
minimum: this.minimumInputLength,
input: params.term,
params: params
}
});
return;
}
decorated.call(this, params, callback);
};
return MinimumInputLength;
});
S2.define('select2/data/maximumInputLength',[
], function () {
function MaximumInputLength (decorated, $e, options) {
this.maximumInputLength = options.get('maximumInputLength');
decorated.call(this, $e, options);
}
MaximumInputLength.prototype.query = function (decorated, params, callback) {
params.term = params.term || '';
if (this.maximumInputLength > 0 &&
params.term.length > this.maximumInputLength) {
this.trigger('results:message', {
message: 'inputTooLong',
args: {
maximum: this.maximumInputLength,
input: params.term,
params: params
}
});
return;
}
decorated.call(this, params, callback);
};
return MaximumInputLength;
});
S2.define('select2/data/maximumSelectionLength',[
], function (){
function MaximumSelectionLength (decorated, $e, options) {
this.maximumSelectionLength = options.get('maximumSelectionLength');
decorated.call(this, $e, options);
}
MaximumSelectionLength.prototype.query =
function (decorated, params, callback) {
var self = this;
this.current(function (currentData) {
var count = currentData != null ? currentData.length : 0;
if (self.maximumSelectionLength > 0 &&
count >= self.maximumSelectionLength) {
self.trigger('results:message', {
message: 'maximumSelected',
args: {
maximum: self.maximumSelectionLength
}
});
return;
}
decorated.call(self, params, callback);
});
};
return MaximumSelectionLength;
});
S2.define('select2/dropdown',[
'jquery',
'./utils'
], function ($, Utils) {
function Dropdown ($element, options) {
this.$element = $element;
this.options = options;
Dropdown.__super__.constructor.call(this);
}
Utils.Extend(Dropdown, Utils.Observable);
Dropdown.prototype.render = function () {
var $dropdown = $(
'' +
' ' +
' '
);
$dropdown.attr('dir', this.options.get('dir'));
this.$dropdown = $dropdown;
return $dropdown;
};
Dropdown.prototype.bind = function () {
// Should be implemented in subclasses
};
Dropdown.prototype.position = function ($dropdown, $container) {
// Should be implmented in subclasses
};
Dropdown.prototype.destroy = function () {
// Remove the dropdown from the DOM
this.$dropdown.remove();
};
return Dropdown;
});
S2.define('select2/dropdown/search',[
'jquery',
'../utils'
], function ($, Utils) {
function Search () { }
Search.prototype.render = function (decorated) {
var $rendered = decorated.call(this);
var $search = $(
'' +
' ' +
' '
);
this.$searchContainer = $search;
this.$search = $search.find('input');
$rendered.prepend($search);
return $rendered;
};
Search.prototype.bind = function (decorated, container, $container) {
var self = this;
var resultsId = container.id + '-results';
decorated.call(this, container, $container);
this.$search.on('keydown', function (evt) {
self.trigger('keypress', evt);
self._keyUpPrevented = evt.isDefaultPrevented();
});
// Workaround for browsers which do not support the `input` event
// This will prevent double-triggering of events for browsers which support
// both the `keyup` and `input` events.
this.$search.on('input', function (evt) {
// Unbind the duplicated `keyup` event
$(this).off('keyup');
});
this.$search.on('keyup input', function (evt) {
self.handleSearch(evt);
});
container.on('open', function () {
self.$search.attr('tabindex', 0);
self.$search.attr('aria-owns', resultsId);
self.$search.focus();
window.setTimeout(function () {
self.$search.focus();
}, 0);
});
container.on('close', function () {
self.$search.attr('tabindex', -1);
self.$search.removeAttr('aria-activedescendant');
self.$search.removeAttr('aria-owns');
self.$search.val('');
});
container.on('focus', function () {
if (!container.isOpen()) {
self.$search.focus();
}
});
container.on('results:all', function (params) {
if (params.query.term == null || params.query.term === '') {
var showSearch = self.showSearch(params);
if (showSearch) {
self.$searchContainer.removeClass('select2-search--hide');
} else {
self.$searchContainer.addClass('select2-search--hide');
}
}
});
container.on('results:focus', function (params) {
self.$search.attr('aria-activedescendant', params.data._resultId);
});
};
Search.prototype.handleSearch = function (evt) {
if (!this._keyUpPrevented) {
var input = this.$search.val();
this.trigger('query', {
term: input
});
}
this._keyUpPrevented = false;
};
Search.prototype.showSearch = function (_, params) {
return true;
};
return Search;
});
S2.define('select2/dropdown/hidePlaceholder',[
], function () {
function HidePlaceholder (decorated, $element, options, dataAdapter) {
this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
decorated.call(this, $element, options, dataAdapter);
}
HidePlaceholder.prototype.append = function (decorated, data) {
data.results = this.removePlaceholder(data.results);
decorated.call(this, data);
};
HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
if (typeof placeholder === 'string') {
placeholder = {
id: '',
text: placeholder
};
}
return placeholder;
};
HidePlaceholder.prototype.removePlaceholder = function (_, data) {
var modifiedData = data.slice(0);
for (var d = data.length - 1; d >= 0; d--) {
var item = data[d];
if (this.placeholder.id === item.id) {
modifiedData.splice(d, 1);
}
}
return modifiedData;
};
return HidePlaceholder;
});
S2.define('select2/dropdown/infiniteScroll',[
'jquery'
], function ($) {
function InfiniteScroll (decorated, $element, options, dataAdapter) {
this.lastParams = {};
decorated.call(this, $element, options, dataAdapter);
this.$loadingMore = this.createLoadingMore();
this.loading = false;
}
InfiniteScroll.prototype.append = function (decorated, data) {
this.$loadingMore.remove();
this.loading = false;
decorated.call(this, data);
if (this.showLoadingMore(data)) {
this.$results.append(this.$loadingMore);
}
};
InfiniteScroll.prototype.bind = function (decorated, container, $container) {
var self = this;
decorated.call(this, container, $container);
container.on('query', function (params) {
self.lastParams = params;
self.loading = true;
});
container.on('query:append', function (params) {
self.lastParams = params;
self.loading = true;
});
this.$results.on('scroll', function () {
var isLoadMoreVisible = $.contains(
document.documentElement,
self.$loadingMore[0]
);
if (self.loading || !isLoadMoreVisible) {
return;
}
var currentOffset = self.$results.offset().top +
self.$results.outerHeight(false);
var loadingMoreOffset = self.$loadingMore.offset().top +
self.$loadingMore.outerHeight(false);
if (currentOffset + 50 >= loadingMoreOffset) {
self.loadMore();
}
});
};
InfiniteScroll.prototype.loadMore = function () {
this.loading = true;
var params = $.extend({}, {page: 1}, this.lastParams);
params.page++;
this.trigger('query:append', params);
};
InfiniteScroll.prototype.showLoadingMore = function (_, data) {
return data.pagination && data.pagination.more;
};
InfiniteScroll.prototype.createLoadingMore = function () {
var $option = $(
' '
);
var message = this.options.get('translations').get('loadingMore');
$option.html(message(this.lastParams));
return $option;
};
return InfiniteScroll;
});
S2.define('select2/dropdown/attachBody',[
'jquery',
'../utils'
], function ($, Utils) {
function AttachBody (decorated, $element, options) {
this.$dropdownParent = options.get('dropdownParent') || $(document.body);
decorated.call(this, $element, options);
}
AttachBody.prototype.bind = function (decorated, container, $container) {
var self = this;
var setupResultsEvents = false;
decorated.call(this, container, $container);
container.on('open', function () {
self._showDropdown();
self._attachPositioningHandler(container);
if (!setupResultsEvents) {
setupResultsEvents = true;
container.on('results:all', function () {
self._positionDropdown();
self._resizeDropdown();
});
container.on('results:append', function () {
self._positionDropdown();
self._resizeDropdown();
});
}
});
container.on('close', function () {
self._hideDropdown();
self._detachPositioningHandler(container);
});
this.$dropdownContainer.on('mousedown', function (evt) {
evt.stopPropagation();
});
};
AttachBody.prototype.destroy = function (decorated) {
decorated.call(this);
this.$dropdownContainer.remove();
};
AttachBody.prototype.position = function (decorated, $dropdown, $container) {
// Clone all of the container classes
$dropdown.attr('class', $container.attr('class'));
$dropdown.removeClass('select2');
$dropdown.addClass('select2-container--open');
$dropdown.css({
position: 'absolute',
top: -999999
});
this.$container = $container;
};
AttachBody.prototype.render = function (decorated) {
var $container = $(' ');
var $dropdown = decorated.call(this);
$container.append($dropdown);
this.$dropdownContainer = $container;
return $container;
};
AttachBody.prototype._hideDropdown = function (decorated) {
this.$dropdownContainer.detach();
};
AttachBody.prototype._attachPositioningHandler =
function (decorated, container) {
var self = this;
var scrollEvent = 'scroll.select2.' + container.id;
var resizeEvent = 'resize.select2.' + container.id;
var orientationEvent = 'orientationchange.select2.' + container.id;
var $watchers = this.$container.parents().filter(Utils.hasScroll);
$watchers.each(function () {
$(this).data('select2-scroll-position', {
x: $(this).scrollLeft(),
y: $(this).scrollTop()
});
});
$watchers.on(scrollEvent, function (ev) {
var position = $(this).data('select2-scroll-position');
$(this).scrollTop(position.y);
});
$(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
function (e) {
self._positionDropdown();
self._resizeDropdown();
});
};
AttachBody.prototype._detachPositioningHandler =
function (decorated, container) {
var scrollEvent = 'scroll.select2.' + container.id;
var resizeEvent = 'resize.select2.' + container.id;
var orientationEvent = 'orientationchange.select2.' + container.id;
var $watchers = this.$container.parents().filter(Utils.hasScroll);
$watchers.off(scrollEvent);
$(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
};
AttachBody.prototype._positionDropdown = function () {
var $window = $(window);
var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
var newDirection = null;
var offset = this.$container.offset();
offset.bottom = offset.top + this.$container.outerHeight(false);
var container = {
height: this.$container.outerHeight(false)
};
container.top = offset.top;
container.bottom = offset.top + container.height;
var dropdown = {
height: this.$dropdown.outerHeight(false)
};
var viewport = {
top: $window.scrollTop(),
bottom: $window.scrollTop() + $window.height()
};
var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
var css = {
left: offset.left,
top: container.bottom
};
// Determine what the parent element is to use for calciulating the offset
var $offsetParent = this.$dropdownParent;
// For statically positoned elements, we need to get the element
// that is determining the offset
if ($offsetParent.css('position') === 'static') {
$offsetParent = $offsetParent.offsetParent();
}
var parentOffset = $offsetParent.offset();
css.top -= parentOffset.top;
css.left -= parentOffset.left;
if (!isCurrentlyAbove && !isCurrentlyBelow) {
newDirection = 'below';
}
if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
newDirection = 'above';
} else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
newDirection = 'below';
}
if (newDirection == 'above' ||
(isCurrentlyAbove && newDirection !== 'below')) {
css.top = container.top - parentOffset.top - dropdown.height;
}
if (newDirection != null) {
this.$dropdown
.removeClass('select2-dropdown--below select2-dropdown--above')
.addClass('select2-dropdown--' + newDirection);
this.$container
.removeClass('select2-container--below select2-container--above')
.addClass('select2-container--' + newDirection);
}
this.$dropdownContainer.css(css);
};
AttachBody.prototype._resizeDropdown = function () {
var css = {
width: this.$container.outerWidth(false) + 'px'
};
if (this.options.get('dropdownAutoWidth')) {
css.minWidth = css.width;
css.position = 'relative';
css.width = 'auto';
}
this.$dropdown.css(css);
};
AttachBody.prototype._showDropdown = function (decorated) {
this.$dropdownContainer.appendTo(this.$dropdownParent);
this._positionDropdown();
this._resizeDropdown();
};
return AttachBody;
});
S2.define('select2/dropdown/minimumResultsForSearch',[
], function () {
function countResults (data) {
var count = 0;
for (var d = 0; d < data.length; d++) {
var item = data[d];
if (item.children) {
count += countResults(item.children);
} else {
count++;
}
}
return count;
}
function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
this.minimumResultsForSearch = options.get('minimumResultsForSearch');
if (this.minimumResultsForSearch < 0) {
this.minimumResultsForSearch = Infinity;
}
decorated.call(this, $element, options, dataAdapter);
}
MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
if (countResults(params.data.results) < this.minimumResultsForSearch) {
return false;
}
return decorated.call(this, params);
};
return MinimumResultsForSearch;
});
S2.define('select2/dropdown/selectOnClose',[
], function () {
function SelectOnClose () { }
SelectOnClose.prototype.bind = function (decorated, container, $container) {
var self = this;
decorated.call(this, container, $container);
container.on('close', function (params) {
self._handleSelectOnClose(params);
});
};
SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
if (params && params.originalSelect2Event != null) {
var event = params.originalSelect2Event;
// Don't select an item if the close event was triggered from a select or
// unselect event
if (event._type === 'select' || event._type === 'unselect') {
return;
}
}
var $highlightedResults = this.getHighlightedResults();
// Only select highlighted results
if ($highlightedResults.length < 1) {
return;
}
var data = $highlightedResults.data('data');
// Don't re-select already selected resulte
if (
(data.element != null && data.element.selected) ||
(data.element == null && data.selected)
) {
return;
}
this.trigger('select', {
data: data
});
};
return SelectOnClose;
});
S2.define('select2/dropdown/closeOnSelect',[
], function () {
function CloseOnSelect () { }
CloseOnSelect.prototype.bind = function (decorated, container, $container) {
var self = this;
decorated.call(this, container, $container);
container.on('select', function (evt) {
self._selectTriggered(evt);
});
container.on('unselect', function (evt) {
self._selectTriggered(evt);
});
};
CloseOnSelect.prototype._selectTriggered = function (_, evt) {
var originalEvent = evt.originalEvent;
// Don't close if the control key is being held
if (originalEvent && originalEvent.ctrlKey) {
return;
}
this.trigger('close', {
originalEvent: originalEvent,
originalSelect2Event: evt
});
};
return CloseOnSelect;
});
S2.define('select2/i18n/en',[],function () {
// English
return {
errorLoading: function () {
return 'The results could not be loaded.';
},
inputTooLong: function (args) {
var overChars = args.input.length - args.maximum;
var message = 'Please delete ' + overChars + ' character';
if (overChars != 1) {
message += 's';
}
return message;
},
inputTooShort: function (args) {
var remainingChars = args.minimum - args.input.length;
var message = 'Please enter ' + remainingChars + ' or more characters';
return message;
},
loadingMore: function () {
return 'Loading more results…';
},
maximumSelected: function (args) {
var message = 'You can only select ' + args.maximum + ' item';
if (args.maximum != 1) {
message += 's';
}
return message;
},
noResults: function () {
return 'No results found';
},
searching: function () {
return 'Searching…';
}
};
});
S2.define('select2/defaults',[
'jquery',
'require',
'./results',
'./selection/single',
'./selection/multiple',
'./selection/placeholder',
'./selection/allowClear',
'./selection/search',
'./selection/eventRelay',
'./utils',
'./translation',
'./diacritics',
'./data/select',
'./data/array',
'./data/ajax',
'./data/tags',
'./data/tokenizer',
'./data/minimumInputLength',
'./data/maximumInputLength',
'./data/maximumSelectionLength',
'./dropdown',
'./dropdown/search',
'./dropdown/hidePlaceholder',
'./dropdown/infiniteScroll',
'./dropdown/attachBody',
'./dropdown/minimumResultsForSearch',
'./dropdown/selectOnClose',
'./dropdown/closeOnSelect',
'./i18n/en'
], function ($, require,
ResultsList,
SingleSelection, MultipleSelection, Placeholder, AllowClear,
SelectionSearch, EventRelay,
Utils, Translation, DIACRITICS,
SelectData, ArrayData, AjaxData, Tags, Tokenizer,
MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
EnglishTranslation) {
function Defaults () {
this.reset();
}
Defaults.prototype.apply = function (options) {
options = $.extend(true, {}, this.defaults, options);
if (options.dataAdapter == null) {
if (options.ajax != null) {
options.dataAdapter = AjaxData;
} else if (options.data != null) {
options.dataAdapter = ArrayData;
} else {
options.dataAdapter = SelectData;
}
if (options.minimumInputLength > 0) {
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
MinimumInputLength
);
}
if (options.maximumInputLength > 0) {
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
MaximumInputLength
);
}
if (options.maximumSelectionLength > 0) {
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
MaximumSelectionLength
);
}
if (options.tags) {
options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
}
if (options.tokenSeparators != null || options.tokenizer != null) {
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
Tokenizer
);
}
if (options.query != null) {
var Query = require(options.amdBase + 'compat/query');
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
Query
);
}
if (options.initSelection != null) {
var InitSelection = require(options.amdBase + 'compat/initSelection');
options.dataAdapter = Utils.Decorate(
options.dataAdapter,
InitSelection
);
}
}
if (options.resultsAdapter == null) {
options.resultsAdapter = ResultsList;
if (options.ajax != null) {
options.resultsAdapter = Utils.Decorate(
options.resultsAdapter,
InfiniteScroll
);
}
if (options.placeholder != null) {
options.resultsAdapter = Utils.Decorate(
options.resultsAdapter,
HidePlaceholder
);
}
if (options.selectOnClose) {
options.resultsAdapter = Utils.Decorate(
options.resultsAdapter,
SelectOnClose
);
}
}
if (options.dropdownAdapter == null) {
if (options.multiple) {
options.dropdownAdapter = Dropdown;
} else {
var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
options.dropdownAdapter = SearchableDropdown;
}
if (options.minimumResultsForSearch !== 0) {
options.dropdownAdapter = Utils.Decorate(
options.dropdownAdapter,
MinimumResultsForSearch
);
}
if (options.closeOnSelect) {
options.dropdownAdapter = Utils.Decorate(
options.dropdownAdapter,
CloseOnSelect
);
}
if (
options.dropdownCssClass != null ||
options.dropdownCss != null ||
options.adaptDropdownCssClass != null
) {
var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
options.dropdownAdapter = Utils.Decorate(
options.dropdownAdapter,
DropdownCSS
);
}
options.dropdownAdapter = Utils.Decorate(
options.dropdownAdapter,
AttachBody
);
}
if (options.selectionAdapter == null) {
if (options.multiple) {
options.selectionAdapter = MultipleSelection;
} else {
options.selectionAdapter = SingleSelection;
}
// Add the placeholder mixin if a placeholder was specified
if (options.placeholder != null) {
options.selectionAdapter = Utils.Decorate(
options.selectionAdapter,
Placeholder
);
}
if (options.allowClear) {
options.selectionAdapter = Utils.Decorate(
options.selectionAdapter,
AllowClear
);
}
if (options.multiple) {
options.selectionAdapter = Utils.Decorate(
options.selectionAdapter,
SelectionSearch
);
}
if (
options.containerCssClass != null ||
options.containerCss != null ||
options.adaptContainerCssClass != null
) {
var ContainerCSS = require(options.amdBase + 'compat/containerCss');
options.selectionAdapter = Utils.Decorate(
options.selectionAdapter,
ContainerCSS
);
}
options.selectionAdapter = Utils.Decorate(
options.selectionAdapter,
EventRelay
);
}
if (typeof options.language === 'string') {
// Check if the language is specified with a region
if (options.language.indexOf('-') > 0) {
// Extract the region information if it is included
var languageParts = options.language.split('-');
var baseLanguage = languageParts[0];
options.language = [options.language, baseLanguage];
} else {
options.language = [options.language];
}
}
if ($.isArray(options.language)) {
var languages = new Translation();
options.language.push('en');
var languageNames = options.language;
for (var l = 0; l < languageNames.length; l++) {
var name = languageNames[l];
var language = {};
try {
// Try to load it with the original name
language = Translation.loadPath(name);
} catch (e) {
try {
// If we couldn't load it, check if it wasn't the full path
name = this.defaults.amdLanguageBase + name;
language = Translation.loadPath(name);
} catch (ex) {
// The translation could not be loaded at all. Sometimes this is
// because of a configuration problem, other times this can be
// because of how Select2 helps load all possible translation files.
if (options.debug && window.console && console.warn) {
console.warn(
'Select2: The language file for "' + name + '" could not be ' +
'automatically loaded. A fallback will be used instead.'
);
}
continue;
}
}
languages.extend(language);
}
options.translations = languages;
} else {
var baseTranslation = Translation.loadPath(
this.defaults.amdLanguageBase + 'en'
);
var customTranslation = new Translation(options.language);
customTranslation.extend(baseTranslation);
options.translations = customTranslation;
}
return options;
};
Defaults.prototype.reset = function () {
function stripDiacritics (text) {
// Used 'uni range + named function' from http://jsperf.com/diacritics/18
function match(a) {
return DIACRITICS[a] || a;
}
return text.replace(/[^\u0000-\u007E]/g, match);
}
function matcher (params, data) {
// Always return the object if there is nothing to compare
if ($.trim(params.term) === '') {
return data;
}
// Do a recursive check for options with children
if (data.children && data.children.length > 0) {
// Clone the data object if there are children
// This is required as we modify the object to remove any non-matches
var match = $.extend(true, {}, data);
// Check each child of the option
for (var c = data.children.length - 1; c >= 0; c--) {
var child = data.children[c];
var matches = matcher(params, child);
// If there wasn't a match, remove the object in the array
if (matches == null) {
match.children.splice(c, 1);
}
}
// If any children matched, return the new object
if (match.children.length > 0) {
return match;
}
// If there were no matching children, check just the plain object
return matcher(params, match);
}
var original = stripDiacritics(data.text).toUpperCase();
var term = stripDiacritics(params.term).toUpperCase();
// Check if the text contains the term
if (original.indexOf(term) > -1) {
return data;
}
// If it doesn't contain the term, don't return anything
return null;
}
this.defaults = {
amdBase: './',
amdLanguageBase: './i18n/',
closeOnSelect: true,
debug: false,
dropdownAutoWidth: false,
escapeMarkup: Utils.escapeMarkup,
language: EnglishTranslation,
matcher: matcher,
minimumInputLength: 0,
maximumInputLength: 0,
maximumSelectionLength: 0,
minimumResultsForSearch: 0,
selectOnClose: false,
sorter: function (data) {
return data;
},
templateResult: function (result) {
return result.text;
},
templateSelection: function (selection) {
return selection.text;
},
theme: 'default',
width: 'resolve'
};
};
Defaults.prototype.set = function (key, value) {
var camelKey = $.camelCase(key);
var data = {};
data[camelKey] = value;
var convertedData = Utils._convertData(data);
$.extend(this.defaults, convertedData);
};
var defaults = new Defaults();
return defaults;
});
S2.define('select2/options',[
'require',
'jquery',
'./defaults',
'./utils'
], function (require, $, Defaults, Utils) {
function Options (options, $element) {
this.options = options;
if ($element != null) {
this.fromElement($element);
}
this.options = Defaults.apply(this.options);
if ($element && $element.is('input')) {
var InputCompat = require(this.get('amdBase') + 'compat/inputData');
this.options.dataAdapter = Utils.Decorate(
this.options.dataAdapter,
InputCompat
);
}
}
Options.prototype.fromElement = function ($e) {
var excludedData = ['select2'];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options.disabled == null) {
this.options.disabled = $e.prop('disabled');
}
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}
if (this.options.dir == null) {
if ($e.prop('dir')) {
this.options.dir = $e.prop('dir');
} else if ($e.closest('[dir]').prop('dir')) {
this.options.dir = $e.closest('[dir]').prop('dir');
} else {
this.options.dir = 'ltr';
}
}
$e.prop('disabled', this.options.disabled);
$e.prop('multiple', this.options.multiple);
if ($e.data('select2Tags')) {
if (this.options.debug && window.console && console.warn) {
console.warn(
'Select2: The `data-select2-tags` attribute has been changed to ' +
'use the `data-data` and `data-tags="true"` attributes and will be ' +
'removed in future versions of Select2.'
);
}
$e.data('data', $e.data('select2Tags'));
$e.data('tags', true);
}
if ($e.data('ajaxUrl')) {
if (this.options.debug && window.console && console.warn) {
console.warn(
'Select2: The `data-ajax-url` attribute has been changed to ' +
'`data-ajax--url` and support for the old attribute will be removed' +
' in future versions of Select2.'
);
}
$e.attr('ajax--url', $e.data('ajaxUrl'));
$e.data('ajax--url', $e.data('ajaxUrl'));
}
var dataset = {};
// Prefer the element's `dataset` attribute if it exists
// jQuery 1.x does not correctly handle data attributes with multiple dashes
if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
dataset = $.extend(true, {}, $e[0].dataset, $e.data());
} else {
dataset = $e.data();
}
var data = $.extend(true, {}, dataset);
data = Utils._convertData(data);
for (var key in data) {
if ($.inArray(key, excludedData) > -1) {
continue;
}
if ($.isPlainObject(this.options[key])) {
$.extend(this.options[key], data[key]);
} else {
this.options[key] = data[key];
}
}
return this;
};
Options.prototype.get = function (key) {
return this.options[key];
};
Options.prototype.set = function (key, val) {
this.options[key] = val;
};
return Options;
});
S2.define('select2/core',[
'jquery',
'./options',
'./utils',
'./keys'
], function ($, Options, Utils, KEYS) {
var Select2 = function ($element, options) {
if ($element.data('select2') != null) {
$element.data('select2').destroy();
}
this.$element = $element;
this.id = this._generateId($element);
options = options || {};
this.options = new Options(options, $element);
Select2.__super__.constructor.call(this);
// Set up the tabindex
var tabindex = $element.attr('tabindex') || 0;
$element.data('old-tabindex', tabindex);
$element.attr('tabindex', '-1');
// Set up containers and adapters
var DataAdapter = this.options.get('dataAdapter');
this.dataAdapter = new DataAdapter($element, this.options);
var $container = this.render();
this._placeContainer($container);
var SelectionAdapter = this.options.get('selectionAdapter');
this.selection = new SelectionAdapter($element, this.options);
this.$selection = this.selection.render();
this.selection.position(this.$selection, $container);
var DropdownAdapter = this.options.get('dropdownAdapter');
this.dropdown = new DropdownAdapter($element, this.options);
this.$dropdown = this.dropdown.render();
this.dropdown.position(this.$dropdown, $container);
var ResultsAdapter = this.options.get('resultsAdapter');
this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
this.$results = this.results.render();
this.results.position(this.$results, this.$dropdown);
// Bind events
var self = this;
// Bind the container to all of the adapters
this._bindAdapters();
// Register any DOM event handlers
this._registerDomEvents();
// Register any internal event handlers
this._registerDataEvents();
this._registerSelectionEvents();
this._registerDropdownEvents();
this._registerResultsEvents();
this._registerEvents();
// Set the initial state
this.dataAdapter.current(function (initialData) {
self.trigger('selection:update', {
data: initialData
});
});
// Hide the original select
$element.addClass('select2-hidden-accessible');
$element.attr('aria-hidden', 'true');
// Synchronize any monitored attributes
this._syncAttributes();
$element.data('select2', this);
};
Utils.Extend(Select2, Utils.Observable);
Select2.prototype._generateId = function ($element) {
var id = '';
if ($element.attr('id') != null) {
id = $element.attr('id');
} else if ($element.attr('name') != null) {
id = $element.attr('name') + '-' + Utils.generateChars(2);
} else {
id = Utils.generateChars(4);
}
id = id.replace(/(:|\.|\[|\]|,)/g, '');
id = 'select2-' + id;
return id;
};
Select2.prototype._placeContainer = function ($container) {
$container.insertAfter(this.$element);
var width = this._resolveWidth(this.$element, this.options.get('width'));
if (width != null) {
$container.css('width', width);
}
};
Select2.prototype._resolveWidth = function ($element, method) {
var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
if (method == 'resolve') {
var styleWidth = this._resolveWidth($element, 'style');
if (styleWidth != null) {
return styleWidth;
}
return this._resolveWidth($element, 'element');
}
if (method == 'element') {
var elementWidth = $element.outerWidth(false);
if (elementWidth <= 0) {
return 'auto';
}
return elementWidth + 'px';
}
if (method == 'style') {
var style = $element.attr('style');
if (typeof(style) !== 'string') {
return null;
}
var attrs = style.split(';');
for (var i = 0, l = attrs.length; i < l; i = i + 1) {
var attr = attrs[i].replace(/\s/g, '');
var matches = attr.match(WIDTH);
if (matches !== null && matches.length >= 1) {
return matches[1];
}
}
return null;
}
return method;
};
Select2.prototype._bindAdapters = function () {
this.dataAdapter.bind(this, this.$container);
this.selection.bind(this, this.$container);
this.dropdown.bind(this, this.$container);
this.results.bind(this, this.$container);
};
Select2.prototype._registerDomEvents = function () {
var self = this;
this.$element.on('change.select2', function () {
self.dataAdapter.current(function (data) {
self.trigger('selection:update', {
data: data
});
});
});
this.$element.on('focus.select2', function (evt) {
self.trigger('focus', evt);
});
this._syncA = Utils.bind(this._syncAttributes, this);
this._syncS = Utils.bind(this._syncSubtree, this);
if (this.$element[0].attachEvent) {
this.$element[0].attachEvent('onpropertychange', this._syncA);
}
var observer = window.MutationObserver ||
window.WebKitMutationObserver ||
window.MozMutationObserver
;
if (observer != null) {
this._observer = new observer(function (mutations) {
$.each(mutations, self._syncA);
$.each(mutations, self._syncS);
});
this._observer.observe(this.$element[0], {
attributes: true,
childList: true,
subtree: false
});
} else if (this.$element[0].addEventListener) {
this.$element[0].addEventListener(
'DOMAttrModified',
self._syncA,
false
);
this.$element[0].addEventListener(
'DOMNodeInserted',
self._syncS,
false
);
this.$element[0].addEventListener(
'DOMNodeRemoved',
self._syncS,
false
);
}
};
Select2.prototype._registerDataEvents = function () {
var self = this;
this.dataAdapter.on('*', function (name, params) {
self.trigger(name, params);
});
};
Select2.prototype._registerSelectionEvents = function () {
var self = this;
var nonRelayEvents = ['toggle', 'focus'];
this.selection.on('toggle', function () {
self.toggleDropdown();
});
this.selection.on('focus', function (params) {
self.focus(params);
});
this.selection.on('*', function (name, params) {
if ($.inArray(name, nonRelayEvents) !== -1) {
return;
}
self.trigger(name, params);
});
};
Select2.prototype._registerDropdownEvents = function () {
var self = this;
this.dropdown.on('*', function (name, params) {
self.trigger(name, params);
});
};
Select2.prototype._registerResultsEvents = function () {
var self = this;
this.results.on('*', function (name, params) {
self.trigger(name, params);
});
};
Select2.prototype._registerEvents = function () {
var self = this;
this.on('open', function () {
self.$container.addClass('select2-container--open');
});
this.on('close', function () {
self.$container.removeClass('select2-container--open');
});
this.on('enable', function () {
self.$container.removeClass('select2-container--disabled');
});
this.on('disable', function () {
self.$container.addClass('select2-container--disabled');
});
this.on('blur', function () {
self.$container.removeClass('select2-container--focus');
});
this.on('query', function (params) {
if (!self.isOpen()) {
self.trigger('open', {});
}
this.dataAdapter.query(params, function (data) {
self.trigger('results:all', {
data: data,
query: params
});
});
});
this.on('query:append', function (params) {
this.dataAdapter.query(params, function (data) {
self.trigger('results:append', {
data: data,
query: params
});
});
});
this.on('open', function(){
// Focus on the active element when opening dropdown.
// Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
setTimeout(function(){
self.focusOnActiveElement();
}, 1);
});
$(document).on('keydown', function (evt) {
var key = evt.which;
if (self.isOpen()) {
if (key === KEYS.ESC || key === KEYS.TAB ||
(key === KEYS.UP && evt.altKey)) {
self.close();
evt.preventDefault();
} else if (key === KEYS.ENTER) {
self.trigger('results:select', {});
evt.preventDefault();
} else if ((key === KEYS.SPACE && evt.ctrlKey)) {
self.trigger('results:toggle', {});
evt.preventDefault();
} else if (key === KEYS.UP) {
self.trigger('results:previous', {});
evt.preventDefault();
} else if (key === KEYS.DOWN) {
self.trigger('results:next', {});
evt.preventDefault();
}
var $searchField = self.$dropdown.find('.select2-search__field');
if (! $searchField.length) {
$searchField = self.$container.find('.select2-search__field');
}
// Move the focus to the selected element on keyboard navigation.
// Required for screen readers to work properly.
if (key === KEYS.DOWN || key === KEYS.UP) {
self.focusOnActiveElement();
} else {
// Focus on the search if user starts typing.
$searchField.focus();
// Focus back to active selection when finished typing.
// Small delay so typed character can be read by screen reader.
setTimeout(function(){
self.focusOnActiveElement();
}, 1000);
}
} else if (self.hasFocus()) {
if (key === KEYS.ENTER || key === KEYS.SPACE ||
key === KEYS.DOWN) {
self.open();
evt.preventDefault();
}
}
});
};
Select2.prototype.focusOnActiveElement = function () {
// Don't mess with the focus on touchscreens because it causes havoc with on-screen keyboards.
if (this.isOpen() && ! Utils.isTouchscreen()) {
this.$results.find('li.select2-results__option--highlighted').focus();
}
};
Select2.prototype._syncAttributes = function () {
this.options.set('disabled', this.$element.prop('disabled'));
if (this.options.get('disabled')) {
if (this.isOpen()) {
this.close();
}
this.trigger('disable', {});
} else {
this.trigger('enable', {});
}
};
Select2.prototype._syncSubtree = function (evt, mutations) {
var changed = false;
var self = this;
// Ignore any mutation events raised for elements that aren't options or
// optgroups. This handles the case when the select element is destroyed
if (
evt && evt.target && (
evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
)
) {
return;
}
if (!mutations) {
// If mutation events aren't supported, then we can only assume that the
// change affected the selections
changed = true;
} else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
for (var n = 0; n < mutations.addedNodes.length; n++) {
var node = mutations.addedNodes[n];
if (node.selected) {
changed = true;
}
}
} else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
changed = true;
}
// Only re-pull the data if we think there is a change
if (changed) {
this.dataAdapter.current(function (currentData) {
self.trigger('selection:update', {
data: currentData
});
});
}
};
/**
* Override the trigger method to automatically trigger pre-events when
* there are events that can be prevented.
*/
Select2.prototype.trigger = function (name, args) {
var actualTrigger = Select2.__super__.trigger;
var preTriggerMap = {
'open': 'opening',
'close': 'closing',
'select': 'selecting',
'unselect': 'unselecting'
};
if (args === undefined) {
args = {};
}
if (name in preTriggerMap) {
var preTriggerName = preTriggerMap[name];
var preTriggerArgs = {
prevented: false,
name: name,
args: args
};
actualTrigger.call(this, preTriggerName, preTriggerArgs);
if (preTriggerArgs.prevented) {
args.prevented = true;
return;
}
}
actualTrigger.call(this, name, args);
};
Select2.prototype.toggleDropdown = function () {
if (this.options.get('disabled')) {
return;
}
if (this.isOpen()) {
this.close();
} else {
this.open();
}
};
Select2.prototype.open = function () {
if (this.isOpen()) {
return;
}
this.trigger('query', {});
};
Select2.prototype.close = function () {
if (!this.isOpen()) {
return;
}
this.trigger('close', {});
};
Select2.prototype.isOpen = function () {
return this.$container.hasClass('select2-container--open');
};
Select2.prototype.hasFocus = function () {
return this.$container.hasClass('select2-container--focus');
};
Select2.prototype.focus = function (data) {
// No need to re-trigger focus events if we are already focused
if (this.hasFocus()) {
return;
}
this.$container.addClass('select2-container--focus');
this.trigger('focus', {});
};
Select2.prototype.enable = function (args) {
if (this.options.get('debug') && window.console && console.warn) {
console.warn(
'Select2: The `select2("enable")` method has been deprecated and will' +
' be removed in later Select2 versions. Use $element.prop("disabled")' +
' instead.'
);
}
if (args == null || args.length === 0) {
args = [true];
}
var disabled = !args[0];
this.$element.prop('disabled', disabled);
};
Select2.prototype.data = function () {
if (this.options.get('debug') &&
arguments.length > 0 && window.console && console.warn) {
console.warn(
'Select2: Data can no longer be set using `select2("data")`. You ' +
'should consider setting the value instead using `$element.val()`.'
);
}
var data = [];
this.dataAdapter.current(function (currentData) {
data = currentData;
});
return data;
};
Select2.prototype.val = function (args) {
if (this.options.get('debug') && window.console && console.warn) {
console.warn(
'Select2: The `select2("val")` method has been deprecated and will be' +
' removed in later Select2 versions. Use $element.val() instead.'
);
}
if (args == null || args.length === 0) {
return this.$element.val();
}
var newVal = args[0];
if ($.isArray(newVal)) {
newVal = $.map(newVal, function (obj) {
return obj.toString();
});
}
this.$element.val(newVal).trigger('change');
};
Select2.prototype.destroy = function () {
this.$container.remove();
if (this.$element[0].detachEvent) {
this.$element[0].detachEvent('onpropertychange', this._syncA);
}
if (this._observer != null) {
this._observer.disconnect();
this._observer = null;
} else if (this.$element[0].removeEventListener) {
this.$element[0]
.removeEventListener('DOMAttrModified', this._syncA, false);
this.$element[0]
.removeEventListener('DOMNodeInserted', this._syncS, false);
this.$element[0]
.removeEventListener('DOMNodeRemoved', this._syncS, false);
}
this._syncA = null;
this._syncS = null;
this.$element.off('.select2');
this.$element.attr('tabindex', this.$element.data('old-tabindex'));
this.$element.removeClass('select2-hidden-accessible');
this.$element.attr('aria-hidden', 'false');
this.$element.removeData('select2');
this.dataAdapter.destroy();
this.selection.destroy();
this.dropdown.destroy();
this.results.destroy();
this.dataAdapter = null;
this.selection = null;
this.dropdown = null;
this.results = null;
};
Select2.prototype.render = function () {
var $container = $(
'' +
' ' +
' ' +
' '
);
$container.attr('dir', this.options.get('dir'));
this.$container = $container;
this.$container.addClass('select2-container--' + this.options.get('theme'));
$container.data('element', this.$element);
return $container;
};
return Select2;
});
S2.define('jquery-mousewheel',[
'jquery'
], function ($) {
// Used to shim jQuery.mousewheel for non-full builds.
return $;
});
S2.define('jquery.select2',[
'jquery',
'jquery-mousewheel',
'./select2/core',
'./select2/defaults'
], function ($, _, Select2, Defaults) {
if ($.fn.selectWoo == null) {
// All methods that should return the element
var thisMethods = ['open', 'close', 'destroy'];
$.fn.selectWoo = function (options) {
options = options || {};
if (typeof options === 'object') {
this.each(function () {
var instanceOptions = $.extend(true, {}, options);
var instance = new Select2($(this), instanceOptions);
});
return this;
} else if (typeof options === 'string') {
var ret;
var args = Array.prototype.slice.call(arguments, 1);
this.each(function () {
var instance = $(this).data('select2');
if (instance == null && window.console && console.error) {
console.error(
'The select2(\'' + options + '\') method was called on an ' +
'element that is not using Select2.'
);
}
ret = instance[options].apply(instance, args);
});
// Check if we should be returning `this`
if ($.inArray(options, thisMethods) > -1) {
return this;
}
return ret;
} else {
throw new Error('Invalid arguments for Select2: ' + options);
}
};
}
if ($.fn.select2 != null && $.fn.select2.defaults != null) {
$.fn.selectWoo.defaults = $.fn.select2.defaults;
}
if ($.fn.selectWoo.defaults == null) {
$.fn.selectWoo.defaults = Defaults;
}
// Also register selectWoo under select2 if select2 is not already present.
$.fn.select2 = $.fn.select2 || $.fn.selectWoo;
return Select2;
});
// Return the AMD loader configuration so it can be used outside of this file
return {
define: S2.define,
require: S2.require
};
}());
// Autoload the jQuery bindings
// We know that all of the modules exist above this, so we're safe
var select2 = S2.require('jquery.select2');
// Hold the AMD module references on the jQuery function that was just loaded
// This allows Select2 to use the internal loader outside of this file, such
// as in the language files.
jQuery.fn.select2.amd = S2;
jQuery.fn.selectWoo.amd = S2;
// Return the Select2 instance for anyone who is importing it.
return select2;
}));
!function(t){var e={};function r(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(n,a,function(e){return t[e]}.bind(null,a));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=98)}([function(t,e){!function(){t.exports=this.wp.element}()},function(t,e,r){t.exports=r(45)()},function(t,e){!function(){t.exports=this.wp.i18n}()},function(t,e){!function(){t.exports=this.React}()},function(t,e,r){var n=r(82),a=r(83),o=r(34),i=r(84);t.exports=function(t,e){return n(t)||a(t,e)||o(t,e)||i()}},function(t,e){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},function(t,e){!function(){t.exports=this.wp.components}()},function(t,e){function r(){return t.exports=r=Object.assign||function(t){for(var e=1;e","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"","InvisibleTimes":"","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"","NegativeThickSpace":"","NegativeThinSpace":"","NegativeVeryThinSpace":"","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"","zwnj":""}')},function(t){t.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,r){return o.default[t.type](t,e,r)};var n,a=r(48),o=(n=a)&&n.__esModule?n:{default:n}},function(t,e,r){var n=r(23),a={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},o={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:a,input:a,output:a,button:a,datalist:a,textarea:a,option:{option:!0},optgroup:{optgroup:!0}},i={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},s={__proto__:null,math:!0,svg:!0},c={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},l=/\s|\//;function u(t,e){this._options=e||{},this._cbs=t||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}r(16)(u,r(50).EventEmitter),u.prototype._updatePosition=function(t){null===this.endIndex?this._tokenizer._sectionStart<=t?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-t:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(t){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(t)},u.prototype.onopentagname=function(t){if(this._lowerCaseTagNames&&(t=t.toLowerCase()),this._tagname=t,!this._options.xmlMode&&t in o)for(var e;(e=this._stack[this._stack.length-1])in o[t];this.onclosetag(e));!this._options.xmlMode&&t in i||(this._stack.push(t),t in s?this._foreignContext.push(!0):t in c&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(t),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in i&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(t){if(this._updatePosition(1),this._lowerCaseTagNames&&(t=t.toLowerCase()),(t in s||t in c)&&this._foreignContext.pop(),!this._stack.length||t in i&&!this._options.xmlMode)this._options.xmlMode||"br"!==t&&"p"!==t||(this.onopentagname(t),this._closeCurrentTag());else{var e=this._stack.lastIndexOf(t);if(-1!==e)if(this._cbs.onclosetag)for(e=this._stack.length-e;e--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=e;else"p"!==t||this._options.xmlMode||(this.onopentagname(t),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var t=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===t&&(this._cbs.onclosetag&&this._cbs.onclosetag(t),this._stack.pop())},u.prototype.onattribname=function(t){this._lowerCaseAttributeNames&&(t=t.toLowerCase()),this._attribname=t},u.prototype.onattribdata=function(t){this._attribvalue+=t},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(t){var e=t.search(l),r=e<0?t:t.substr(0,e);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},u.prototype.ondeclaration=function(t){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(t);this._cbs.onprocessinginstruction("!"+e,"!"+t)}},u.prototype.onprocessinginstruction=function(t){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(t);this._cbs.onprocessinginstruction("?"+e,"?"+t)}},u.prototype.oncomment=function(t){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(t),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(t){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(t),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+t+"]]")},u.prototype.onerror=function(t){this._cbs.onerror&&this._cbs.onerror(t)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var t=this._stack.length;t>0;this._cbs.onclosetag(this._stack[--t]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(t){this.reset(),this.end(t)},u.prototype.write=function(t){this._tokenizer.write(t)},u.prototype.end=function(t){this._tokenizer.end(t)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,t.exports=u},function(t,e,r){t.exports=gt;var n=r(24),a=r(19),o=r(25),i=r(20),s=0,c=s++,l=s++,u=s++,p=s++,d=s++,h=s++,f=s++,m=s++,g=s++,v=s++,b=s++,y=s++,w=s++,_=s++,O=s++,j=s++,E=s++,C=s++,x=s++,k=s++,z=s++,N=s++,S=s++,M=s++,A=s++,D=s++,T=s++,P=s++,B=s++,H=s++,R=s++,L=s++,I=s++,V=s++,q=s++,U=s++,Q=s++,F=s++,Y=s++,G=s++,X=s++,J=s++,W=s++,Z=s++,K=s++,$=s++,tt=s++,et=s++,rt=s++,nt=s++,at=s++,ot=s++,it=s++,st=s++,ct=s++,lt=0,ut=lt++,pt=lt++,dt=lt++;function ht(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function ft(t,e,r){var n=t.toLowerCase();return t===n?function(t){t===n?this._state=e:(this._state=r,this._index--)}:function(a){a===n||a===t?this._state=e:(this._state=r,this._index--)}}function mt(t,e){var r=t.toLowerCase();return function(n){n===r||n===t?this._state=e:(this._state=u,this._index--)}}function gt(t,e){this._state=c,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=c,this._special=ut,this._cbs=e,this._running=!0,this._ended=!1,this._xmlMode=!(!t||!t.xmlMode),this._decodeEntities=!(!t||!t.decodeEntities)}gt.prototype._stateText=function(t){"<"===t?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=l,this._sectionStart=this._index):this._decodeEntities&&this._special===ut&&"&"===t&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=c,this._state=at,this._sectionStart=this._index)},gt.prototype._stateBeforeTagName=function(t){"/"===t?this._state=d:"<"===t?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===t||this._special!==ut||ht(t)?this._state=c:"!"===t?(this._state=O,this._sectionStart=this._index+1):"?"===t?(this._state=E,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==t&&"S"!==t?u:R,this._sectionStart=this._index)},gt.prototype._stateInTagName=function(t){("/"===t||">"===t||ht(t))&&(this._emitToken("onopentagname"),this._state=m,this._index--)},gt.prototype._stateBeforeCloseingTagName=function(t){ht(t)||(">"===t?this._state=c:this._special!==ut?"s"===t||"S"===t?this._state=L:(this._state=c,this._index--):(this._state=h,this._sectionStart=this._index))},gt.prototype._stateInCloseingTagName=function(t){(">"===t||ht(t))&&(this._emitToken("onclosetag"),this._state=f,this._index--)},gt.prototype._stateAfterCloseingTagName=function(t){">"===t&&(this._state=c,this._sectionStart=this._index+1)},gt.prototype._stateBeforeAttributeName=function(t){">"===t?(this._cbs.onopentagend(),this._state=c,this._sectionStart=this._index+1):"/"===t?this._state=p:ht(t)||(this._state=g,this._sectionStart=this._index)},gt.prototype._stateInSelfClosingTag=function(t){">"===t?(this._cbs.onselfclosingtag(),this._state=c,this._sectionStart=this._index+1):ht(t)||(this._state=m,this._index--)},gt.prototype._stateInAttributeName=function(t){("="===t||"/"===t||">"===t||ht(t))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=v,this._index--)},gt.prototype._stateAfterAttributeName=function(t){"="===t?this._state=b:"/"===t||">"===t?(this._cbs.onattribend(),this._state=m,this._index--):ht(t)||(this._cbs.onattribend(),this._state=g,this._sectionStart=this._index)},gt.prototype._stateBeforeAttributeValue=function(t){'"'===t?(this._state=y,this._sectionStart=this._index+1):"'"===t?(this._state=w,this._sectionStart=this._index+1):ht(t)||(this._state=_,this._sectionStart=this._index,this._index--)},gt.prototype._stateInAttributeValueDoubleQuotes=function(t){'"'===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=at,this._sectionStart=this._index)},gt.prototype._stateInAttributeValueSingleQuotes=function(t){"'"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=at,this._sectionStart=this._index)},gt.prototype._stateInAttributeValueNoQuotes=function(t){ht(t)||">"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m,this._index--):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=at,this._sectionStart=this._index)},gt.prototype._stateBeforeDeclaration=function(t){this._state="["===t?N:"-"===t?C:j},gt.prototype._stateInDeclaration=function(t){">"===t&&(this._cbs.ondeclaration(this._getSection()),this._state=c,this._sectionStart=this._index+1)},gt.prototype._stateInProcessingInstruction=function(t){">"===t&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=c,this._sectionStart=this._index+1)},gt.prototype._stateBeforeComment=function(t){"-"===t?(this._state=x,this._sectionStart=this._index+1):this._state=j},gt.prototype._stateInComment=function(t){"-"===t&&(this._state=k)},gt.prototype._stateAfterComment1=function(t){this._state="-"===t?z:x},gt.prototype._stateAfterComment2=function(t){">"===t?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=c,this._sectionStart=this._index+1):"-"!==t&&(this._state=x)},gt.prototype._stateBeforeCdata1=ft("C",S,j),gt.prototype._stateBeforeCdata2=ft("D",M,j),gt.prototype._stateBeforeCdata3=ft("A",A,j),gt.prototype._stateBeforeCdata4=ft("T",D,j),gt.prototype._stateBeforeCdata5=ft("A",T,j),gt.prototype._stateBeforeCdata6=function(t){"["===t?(this._state=P,this._sectionStart=this._index+1):(this._state=j,this._index--)},gt.prototype._stateInCdata=function(t){"]"===t&&(this._state=B)},gt.prototype._stateAfterCdata1=function(t){this._state="]"===t?H:P},gt.prototype._stateAfterCdata2=function(t){">"===t?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=c,this._sectionStart=this._index+1):"]"!==t&&(this._state=P)},gt.prototype._stateBeforeSpecial=function(t){"c"===t||"C"===t?this._state=I:"t"===t||"T"===t?this._state=W:(this._state=u,this._index--)},gt.prototype._stateBeforeSpecialEnd=function(t){this._special!==pt||"c"!==t&&"C"!==t?this._special!==dt||"t"!==t&&"T"!==t?this._state=c:this._state=tt:this._state=F},gt.prototype._stateBeforeScript1=mt("R",V),gt.prototype._stateBeforeScript2=mt("I",q),gt.prototype._stateBeforeScript3=mt("P",U),gt.prototype._stateBeforeScript4=mt("T",Q),gt.prototype._stateBeforeScript5=function(t){("/"===t||">"===t||ht(t))&&(this._special=pt),this._state=u,this._index--},gt.prototype._stateAfterScript1=ft("R",Y,c),gt.prototype._stateAfterScript2=ft("I",G,c),gt.prototype._stateAfterScript3=ft("P",X,c),gt.prototype._stateAfterScript4=ft("T",J,c),gt.prototype._stateAfterScript5=function(t){">"===t||ht(t)?(this._special=ut,this._state=h,this._sectionStart=this._index-6,this._index--):this._state=c},gt.prototype._stateBeforeStyle1=mt("Y",Z),gt.prototype._stateBeforeStyle2=mt("L",K),gt.prototype._stateBeforeStyle3=mt("E",$),gt.prototype._stateBeforeStyle4=function(t){("/"===t||">"===t||ht(t))&&(this._special=dt),this._state=u,this._index--},gt.prototype._stateAfterStyle1=ft("Y",et,c),gt.prototype._stateAfterStyle2=ft("L",rt,c),gt.prototype._stateAfterStyle3=ft("E",nt,c),gt.prototype._stateAfterStyle4=function(t){">"===t||ht(t)?(this._special=ut,this._state=h,this._sectionStart=this._index-5,this._index--):this._state=c},gt.prototype._stateBeforeEntity=ft("#",ot,it),gt.prototype._stateBeforeNumericEntity=ft("X",ct,st),gt.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(e=6);e>=2;){var r=this._buffer.substr(t,e);if(o.hasOwnProperty(r))return this._emitPartial(o[r]),void(this._sectionStart+=e+1);e--}},gt.prototype._stateInNamedEntity=function(t){";"===t?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(t<"A"||t>"Z")&&(t<"0"||t>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==c?"="!==t&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},gt.prototype._decodeNumericEntity=function(t,e){var r=this._sectionStart+t;if(r!==this._index){var a=this._buffer.substring(r,this._index),o=parseInt(a,e);this._emitPartial(n(o)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},gt.prototype._stateInNumericEntity=function(t){";"===t?(this._decodeNumericEntity(2,10),this._sectionStart++):(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},gt.prototype._stateInHexEntity=function(t){";"===t?(this._decodeNumericEntity(3,16),this._sectionStart++):(t<"a"||t>"f")&&(t<"A"||t>"F")&&(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},gt.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===c?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},gt.prototype.write=function(t){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=t,this._parse()},gt.prototype._parse=function(){for(;this._index=55296&&t<=57343||t>1114111)return"�";t in n&&(t=n[t]);var e="";t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t);return e+=String.fromCharCode(t)}},function(t){t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(t,e,r){var n=r(11),a=/\s+/g,o=r(27),i=r(51);function s(t,e,r){"object"==typeof t?(r=e,e=t,t=null):"function"==typeof e&&(r=e,e=c),this._callback=t,this._options=e||c,this._elementCB=r,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var c={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};s.prototype.onparserinit=function(t){this._parser=t},s.prototype.onreset=function(){s.call(this,this._callback,this._options,this._elementCB)},s.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},s.prototype._handleCallback=s.prototype.onerror=function(t){if("function"==typeof this._callback)this._callback(t,this.dom);else if(t)throw t},s.prototype.onclosetag=function(){var t=this._tagStack.pop();this._options.withEndIndices&&t&&(t.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(t)},s.prototype._createDomElement=function(t){if(!this._options.withDomLvl1)return t;var e;for(var r in e="tag"===t.type?Object.create(i):Object.create(o),t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},s.prototype._addDomElement=function(t){var e=this._tagStack[this._tagStack.length-1],r=e?e.children:this.dom,n=r[r.length-1];t.next=null,this._options.withStartIndices&&(t.startIndex=this._parser.startIndex),this._options.withEndIndices&&(t.endIndex=this._parser.endIndex),n?(t.prev=n,n.next=t):t.prev=null,r.push(t),t.parent=e||null},s.prototype.onopentag=function(t,e){var r={type:"script"===t?n.Script:"style"===t?n.Style:n.Tag,name:t,attribs:e,children:[]},a=this._createDomElement(r);this._addDomElement(a),this._tagStack.push(a)},s.prototype.ontext=function(t){var e,r=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(e=this.dom[this.dom.length-1]).type===n.Text)r?e.data=(e.data+t).replace(a," "):e.data+=t;else if(this._tagStack.length&&(e=this._tagStack[this._tagStack.length-1])&&(e=e.children[e.children.length-1])&&e.type===n.Text)r?e.data=(e.data+t).replace(a," "):e.data+=t;else{r&&(t=t.replace(a," "));var o=this._createDomElement({data:t,type:n.Text});this._addDomElement(o)}},s.prototype.oncomment=function(t){var e=this._tagStack[this._tagStack.length-1];if(e&&e.type===n.Comment)e.data+=t;else{var r={data:t,type:n.Comment},a=this._createDomElement(r);this._addDomElement(a),this._tagStack.push(a)}},s.prototype.oncdatastart=function(){var t={children:[{data:"",type:n.Text}],type:n.CDATA},e=this._createDomElement(t);this._addDomElement(e),this._tagStack.push(e)},s.prototype.oncommentend=s.prototype.oncdataend=function(){this._tagStack.pop()},s.prototype.onprocessinginstruction=function(t,e){var r=this._createDomElement({name:t,data:e,type:n.Directive});this._addDomElement(r)},t.exports=s},function(t,e){var r=t.exports={get firstChild(){var t=this.children;return t&&t[0]||null},get lastChild(){var t=this.children;return t&&t[t.length-1]||null},get nodeType(){return a[this.type]||a.element}},n={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},a={element:1,text:3,cdata:4,comment:8};Object.keys(n).forEach((function(t){var e=n[t];Object.defineProperty(r,t,{get:function(){return this[e]||null},set:function(t){return this[e]=t,t}})}))},function(t,e,r){var n=t.exports;[r(53),r(58),r(59),r(60),r(61),r(62)].forEach((function(t){Object.keys(t).forEach((function(e){n[e]=t[e].bind(n)}))}))},function(t,e,r){t.exports=s;var n=r(22),a=r(64).Writable,o=r(65).StringDecoder,i=r(30).Buffer;function s(t,e){var r=this._parser=new n(t,e),i=this._decoder=new o;a.call(this,{decodeStrings:!1}),this.once("finish",(function(){r.end(i.end())}))}r(16)(s,a),s.prototype._write=function(t,e,r){t instanceof i&&(t=this._decoder.write(t)),this._parser.write(t),r()}},function(t,e,r){"use strict";(function(t){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh
* @license MIT
*/
var n=r(67),a=r(68),o=r(69);function i(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(i()=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function f(t,e){if(c.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return I(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return V(t).length;default:if(n)return I(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return k(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function g(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function v(t,e,r,n,a){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0){if(!a)return-1;r=0}if("string"==typeof e&&(e=c.from(e,n)),c.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,a);if("number"==typeof e)return e&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,a);throw new TypeError("val must be string, number or Buffer")}function b(t,e,r,n,a){var o,i=1,s=t.length,c=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;i=2,s/=2,c/=2,r/=2}function l(t,e){return 1===i?t[e]:t.readUInt16BE(e*i)}if(a){var u=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){for(var p=!0,d=0;da&&(n=a):n=a;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var i=0;i>8,a=r%256,o.push(a),o.push(n);return o}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a239?4:l>223?3:l>191?2:1;if(a+p<=r)switch(p){case 1:l<128&&(u=l);break;case 2:128==(192&(o=t[a+1]))&&(c=(31&l)<<6|63&o)>127&&(u=c);break;case 3:o=t[a+1],i=t[a+2],128==(192&o)&&128==(192&i)&&(c=(15&l)<<12|(63&o)<<6|63&i)>2047&&(c<55296||c>57343)&&(u=c);break;case 4:o=t[a+1],i=t[a+2],s=t[a+3],128==(192&o)&&128==(192&i)&&128==(192&s)&&(c=(15&l)<<18|(63&o)<<12|(63&i)<<6|63&s)>65535&&c<1114112&&(u=c)}null===u?(u=65533,p=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=p}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},c.prototype.compare=function(t,e,r,n,a){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(a>>>=0)-(n>>>=0),i=(r>>>=0)-(e>>>=0),s=Math.min(o,i),l=this.slice(n,a),u=t.slice(e,r),p=0;pa)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return y(this,t,e,r);case"utf8":case"utf-8":return w(this,t,e,r);case"ascii":return _(this,t,e,r);case"latin1":case"binary":return O(this,t,e,r);case"base64":return j(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;an)&&(r=n);for(var a="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,r,n,a,o){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||et.length)throw new RangeError("Index out of range")}function D(t,e,r,n){e<0&&(e=65535+e+1);for(var a=0,o=Math.min(t.length-r,2);a>>8*(n?a:1-a)}function T(t,e,r,n){e<0&&(e=4294967295+e+1);for(var a=0,o=Math.min(t.length-r,4);a>>8*(n?a:3-a)&255}function P(t,e,r,n,a,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function B(t,e,r,n,o){return o||P(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,o){return o||P(t,0,r,8),a.write(t,e,r,n,52,8),r+8}c.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(a*=256);)n+=this[t+--e]*a;return n},c.prototype.readUInt8=function(t,e){return e||M(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return e||M(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return e||M(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=this[t],a=1,o=0;++o=(a*=128)&&(n-=Math.pow(2,8*e)),n},c.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=e,a=1,o=this[t+--n];n>0&&(a*=256);)o+=this[t+--n]*a;return o>=(a*=128)&&(o-=Math.pow(2,8*e)),o},c.prototype.readInt8=function(t,e){return e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){e||M(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(t,e){e||M(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(t,e){return e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return e||M(t,4,this.length),a.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return e||M(t,4,this.length),a.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return e||M(t,8,this.length),a.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return e||M(t,8,this.length),a.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||A(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+a]=t/o&255;return e+r},c.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):D(this,t,e,!0),e+2},c.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):D(this,t,e,!1),e+2},c.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):T(this,t,e,!0),e+4},c.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):T(this,t,e,!1),e+4},c.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var a=Math.pow(2,8*r-1);A(this,t,e,r,a-1,-a)}var o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},c.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var a=Math.pow(2,8*r-1);A(this,t,e,r,a-1,-a)}var o=r-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+r},c.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):D(this,t,e,!0),e+2},c.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):D(this,t,e,!1),e+2},c.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):T(this,t,e,!0),e+4},c.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):T(this,t,e,!1),e+4},c.prototype.writeFloatLE=function(t,e,r){return B(this,t,e,!0,r)},c.prototype.writeFloatBE=function(t,e,r){return B(this,t,e,!1,r)},c.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},c.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},c.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--a)t[a+e]=this[a+r];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(i+1===n){(e-=3)>-1&&o.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&o.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function V(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function q(t,e,r,n){for(var a=0;a=e.length||a>=t.length);++a)e[a+r]=t[a];return a}}).call(this,r(31))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);rFacebook \",\"twitter\":\"twitter \",\"instagram\":\"Instagram \",\"vimeo\":\"vimeo \",\"youtube\":\"youtube \",\"github\":\"Github \",\"rss\":\"rss \",\"facebook_group\":\"Facebook Group \",\"dribbble\":\"Dribbble \",\"xing\":\"xing \",\"wordpress\":\"wordpress \",\"whatsapp\":\"whatsapp \",\"vk\":\"vk \",\"tumblr\":\"tumblr \",\"reddit\":\"reddit \",\"patreon\":\"patreon \",\"medium\":\"medium \",\"behance\":\"Behance \\t \",\"email\":\" Email \",\"phone\":\" Phone \",\"google_reviews\":\" Google Reviews \",\"telegram\":\"telegram \",\"trip_advisor\":\" Trip Advisor \",\"yelp\":\" \",\"pinterest\":\"pinterest \",\"linkedin\":\"linkedin \",\"imdb\":\"imdb \",\"header-main-layout-1\":\" \",\"header-main-layout-2\":\" \",\"header-main-layout-3\":\" \",\"menu-inline\":\" \",\"menu-stack\":\" \",\"disabled\":\" \",\"footer-layout-1\":\" \",\"footer-layout-2\":\" \",\"footer-layout-4\":\" \",\"menu\":\"\",\"menu2\":\"\",\"menu3\":\"\",\"close\":\" \",\"edit\":\" \",\"drag\":\" /svg>\",\"mobile_menu\":\" \",\"mobile_menu2\":\" \",\"mobile_menu3\":\" \",\"twocol\":\" \",\"twoleftgolden\":\" \",\"tworightgolden\":\" \",\"lefthalf\":\" \",\"threecol\":\" \",\"righthalf\":\" \",\"centerhalf\":\" \",\"widecenter\":\" \",\"sixcol\":\" \",\"fivecol\":\" \",\"rfourforty\":\" \",\"lfourforty\":\" \",\"fourcol\":\" \",\"collapserowsix\":\" \",\"collapserowfive\":\" \",\"grid\":\" \",\"collapserowfour\":\" \",\"firstrow\":\" \",\"lastrow\":\" \",\"collapserowthree\":\" \",\"row\":\" \",\"account-2\":\" \",\"account-3\":\" \",\"account-4\":\" \",\"account-1\":\" \"}")},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.htmlparser2=e.convertNodeToElement=e.processNodes=void 0;var n=r(18);Object.defineProperty(e,"processNodes",{enumerable:!0,get:function(){return s(n).default}});var a=r(21);Object.defineProperty(e,"convertNodeToElement",{enumerable:!0,get:function(){return s(a).default}});var o=r(10);Object.defineProperty(e,"htmlparser2",{enumerable:!0,get:function(){return s(o).default}});var i=s(r(81));function s(t){return t&&t.__esModule?t:{default:t}}e.default=i.default},function(t,e,r){var n=r(85),a=r(86),o=r(34),i=r(87);t.exports=function(t){return n(t)||a(t)||o(t)||i()}},function(t,e){!function(){t.exports=this.wp.mediaUtils}()},function(t,e){!function(){t.exports=this.ReactDOM}()},function(t,e,r){var n=r(36),a=r(90),o=r(92),i=Math.max,s=Math.min;t.exports=function(t,e,r){var c,l,u,p,d,h,f=0,m=!1,g=!1,v=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function b(e){var r=c,n=l;return c=l=void 0,f=e,p=t.apply(n,r)}function y(t){return f=t,d=setTimeout(_,e),m?b(t):p}function w(t){var r=t-h;return void 0===h||r>=e||r<0||g&&t-f>=u}function _(){var t=a();if(w(t))return O(t);d=setTimeout(_,function(t){var r=e-(t-h);return g?s(r,u-(t-f)):r}(t))}function O(t){return d=void 0,v&&c?b(t):(c=l=void 0,p)}function j(){var t=a(),r=w(t);if(c=arguments,l=this,h=t,r){if(void 0===d)return y(h);if(g)return clearTimeout(d),d=setTimeout(_,e),b(h)}return void 0===d&&(d=setTimeout(_,e)),p}return e=o(e)||0,n(r)&&(m=!!r.leading,u=(g="maxWait"in r)?i(o(r.maxWait)||0,e):u,v="trailing"in r?!!r.trailing:v),j.cancel=function(){void 0!==d&&clearTimeout(d),f=0,c=h=l=d=void 0},j.flush=function(){return void 0===d?p:O(a())},j}},function(t,e,r){"use strict";var n=r(46);function a(){}function o(){}o.resetWarningCache=a,t.exports=function(){function t(t,e,r,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var r={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},function(t,e,r){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return"text"===t.type&&/\r?\n/.test(t.data)&&""===t.data.trim()}},function(t,e,r){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0});var a=r(10),o=l(r(72)),i=l(r(73)),s=l(r(79)),c=l(r(80));function l(t){return t&&t.__esModule?t:{default:t}}function u(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}e.default=(u(n={},a.ElementType.Text,o.default),u(n,a.ElementType.Tag,i.default),u(n,a.ElementType.Style,s.default),u(n,a.ElementType.Directive,c.default),u(n,a.ElementType.Comment,c.default),u(n,a.ElementType.Script,c.default),u(n,a.ElementType.CDATA,c.default),u(n,a.ElementType.Doctype,c.default),n)},function(t){t.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(t,e,r){"use strict";var n,a="object"==typeof Reflect?Reflect:null,o=a&&"function"==typeof a.apply?a.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};n=a&&"function"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function p(t,e,r,n){var a,o,i,s;if(l(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),i=o[e]),void 0===i)i=o[e]=r,++t._eventsCount;else if("function"==typeof i?i=o[e]=n?[r,i]:[i,r]:n?i.unshift(r):i.push(r),(a=u(t))>0&&i.length>a&&!i.warned){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=i.length,s=c,console&&console.warn&&console.warn(s)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=d.bind(n);return a.listener=r,n.wrapFn=a,a}function f(t,e,r){var n=t._events;if(void 0===n)return[];var a=n[e];return void 0===a?[]:"function"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(i=e[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var c=a[t];if(void 0===c)return!1;if("function"==typeof c)o(c,this,e);else{var l=c.length,u=g(c,l);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){i=r[o].listener,a=o;break}if(a<0)return this;0===a?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return f(this,t,!0)},s.prototype.rawListeners=function(t){return f(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(t,e,r){var n=r(27),a=t.exports=Object.create(n),o={tagName:"name"};Object.keys(o).forEach((function(t){var e=o[t];Object.defineProperty(a,t,{get:function(){return this[e]||null},set:function(t){return this[e]=t,t}})}))},function(t,e,r){var n=r(26),a=r(28);function o(t,e){this.init(t,e)}function i(t,e){return a.getElementsByTagName(t,e,!0)}function s(t,e){return a.getElementsByTagName(t,e,!0,1)[0]}function c(t,e,r){return a.getText(a.getElementsByTagName(t,e,r,1)).trim()}function l(t,e,r,n,a){var o=c(r,n,a);o&&(t[e]=o)}r(16)(o,n),o.prototype.init=n;var u=function(t){return"rss"===t||"feed"===t||"rdf:RDF"===t};o.prototype.onend=function(){var t,e,r={},a=s(u,this.dom);a&&("feed"===a.name?(e=a.children,r.type="atom",l(r,"id","id",e),l(r,"title","title",e),(t=s("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),l(r,"description","subtitle",e),(t=c("updated",e))&&(r.updated=new Date(t)),l(r,"author","email",e,!0),r.items=i("entry",e).map((function(t){var e,r={};return l(r,"id","id",t=t.children),l(r,"title","title",t),(e=s("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),(e=c("summary",t)||c("content",t))&&(r.description=e),(e=c("updated",t))&&(r.pubDate=new Date(e)),r}))):(e=s("channel",a.children).children,r.type=a.name.substr(0,3),r.id="",l(r,"title","title",e),l(r,"link","link",e),l(r,"description","description",e),(t=c("lastBuildDate",e))&&(r.updated=new Date(t)),l(r,"author","managingEditor",e,!0),r.items=i("item",a.children).map((function(t){var e,r={};return l(r,"id","guid",t=t.children),l(r,"title","title",t),l(r,"link","link",t),l(r,"description","description",t),(e=c("pubDate",t))&&(r.pubDate=new Date(e)),r})))),this.dom=r,n.prototype._handleCallback.call(this,a?null:Error("couldn't find root of feed"))},t.exports=o},function(t,e,r){var n=r(11),a=r(54),o=n.isTag;t.exports={getInnerHTML:function(t,e){return t.children?t.children.map((function(t){return a(t,e)})).join(""):""},getOuterHTML:a,getText:function t(e){return Array.isArray(e)?e.map(t).join(""):o(e)||e.type===n.CDATA?t(e.children):e.type===n.Text?e.data:""}}},function(t,e,r){var n=r(11),a=r(55),o={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0};var i={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},s=t.exports=function(t,e){Array.isArray(t)||t.cheerio||(t=[t]),e=e||{};for(var r="",a=0;a",t.children&&(r+=s(t.children,e)),i[t.name]&&!e.xmlMode||(r+=""+t.name+">")):r+="/>",r}function l(t){return"<"+t.data+">"}function u(t,e){var r=t.data||"";return!e.decodeEntities||t.parent&&t.parent.name in o||(r=a.encodeXML(r)),r}function p(t){return""}function d(t){return"\x3c!--"+t.data+"--\x3e"}},function(t,e,r){var n=r(56),a=r(57);e.decode=function(t,e){return(!e||e<=0?a.XML:a.HTML)(t)},e.decodeStrict=function(t,e){return(!e||e<=0?a.XML:a.HTMLStrict)(t)},e.encode=function(t,e){return(!e||e<=0?n.XML:n.HTML)(t)},e.encodeXML=n.XML,e.encodeHTML4=e.encodeHTML5=e.encodeHTML=n.HTML,e.decodeXML=e.decodeXMLStrict=a.XML,e.decodeHTML4=e.decodeHTML5=e.decodeHTML=a.HTML,e.decodeHTML4Strict=e.decodeHTML5Strict=e.decodeHTMLStrict=a.HTMLStrict,e.escape=n.escape},function(t,e,r){var n=s(r(20)),a=c(n);e.XML=h(n,a);var o=s(r(19)),i=c(o);function s(t){return Object.keys(t).sort().reduce((function(e,r){return e[t[r]]="&"+r+";",e}),{})}function c(t){var e=[],r=[];return Object.keys(t).forEach((function(t){1===t.length?e.push("\\"+t):r.push(t)})),r.unshift("["+e.join("")+"]"),new RegExp(r.join("|"),"g")}e.HTML=h(o,i);var l=/[^\0-\x7F]/g,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function p(t){return""+t.charCodeAt(0).toString(16).toUpperCase()+";"}function d(t){return""+(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+";"}function h(t,e){function r(e){return t[e]}return function(t){return t.replace(e,r).replace(u,d).replace(l,p)}}var f=c(n);e.escape=function(t){return t.replace(f,p).replace(u,d).replace(l,p)}},function(t,e,r){var n=r(19),a=r(25),o=r(20),i=r(24),s=l(o),c=l(n);function l(t){var e=Object.keys(t).join("|"),r=d(t),n=new RegExp("&(?:"+(e+="|#[xX][\\da-fA-F]+|#\\d+")+");","g");return function(t){return String(t).replace(n,r)}}var u=function(){for(var t=Object.keys(a).sort(p),e=Object.keys(n).sort(p),r=0,o=0;r0&&(o=a(t,o,r,n),i=i.concat(o),(n-=o.length)<=0)));s++);return i}t.exports={filter:function(t,e,r,n){Array.isArray(e)||(e=[e]);"number"==typeof n&&isFinite(n)||(n=1/0);return a(t,e,!1!==r,n)},find:a,findOneChild:function(t,e){for(var r=0,n=e.length;r0&&(a=t(e,r[o].children)));return a},existsOne:function t(e,r){for(var a=0,o=r.length;a0&&t(e,r[a].children)))return!0;return!1},findAll:function t(e,r){for(var a=[],o=0,i=r.length;o0&&(a=a.concat(t(e,r[o].children))));return a}}},function(t,e,r){var n=r(11),a=e.isTag=n.isTag;e.testElement=function(t,e){for(var r in t)if(t.hasOwnProperty(r)){if("tag_name"===r){if(!a(e)||!t.tag_name(e.name))return!1}else if("tag_type"===r){if(!t.tag_type(e.type))return!1}else if("tag_contains"===r){if(a(e)||!t.tag_contains(e.data))return!1}else if(!e.attribs||!t[r](e.attribs[r]))return!1}else;return!0};var o={tag_name:function(t){return"function"==typeof t?function(e){return a(e)&&t(e.name)}:"*"===t?a:function(e){return a(e)&&e.name===t}},tag_type:function(t){return"function"==typeof t?function(e){return t(e.type)}:function(e){return e.type===t}},tag_contains:function(t){return"function"==typeof t?function(e){return!a(e)&&t(e.data)}:function(e){return!a(e)&&e.data===t}}};function i(t,e){return"function"==typeof e?function(r){return r.attribs&&e(r.attribs[t])}:function(r){return r.attribs&&r.attribs[t]===e}}function s(t,e){return function(r){return t(r)||e(r)}}e.getElements=function(t,e,r,n){var a=Object.keys(t).map((function(e){var r=t[e];return e in o?o[e](r):i(e,r)}));return 0===a.length?[]:this.filter(a.reduce(s),e,r,n)},e.getElementById=function(t,e,r){return Array.isArray(e)||(e=[e]),this.findOne(i("id",t),e,!1!==r)},e.getElementsByTagName=function(t,e,r,n){return this.filter(o.tag_name(t),e,r,n)},e.getElementsByTagType=function(t,e,r,n){return this.filter(o.tag_type(t),e,r,n)}},function(t,e){e.removeSubsets=function(t){for(var e,r,n,a=t.length;--a>-1;){for(e=r=t[a],t[a]=null,n=!0;r;){if(t.indexOf(r)>-1){n=!1,t.splice(a,1);break}r=r.parent}n&&(t[a]=e)}return t};var r=1,n=2,a=4,o=8,i=16,s=e.compareDocumentPosition=function(t,e){var s,c,l,u,p,d,h=[],f=[];if(t===e)return 0;for(s=t;s;)h.unshift(s),s=s.parent;for(s=e;s;)f.unshift(s),s=s.parent;for(d=0;h[d]===f[d];)d++;return 0===d?r:(l=(c=h[d-1]).children,u=h[d],p=f[d],l.indexOf(u)>l.indexOf(p)?c===e?a|i:a:c===t?n|o:n)};e.uniqueSort=function(t){var e,r,o=t.length;for(t=t.slice();--o>-1;)e=t[o],(r=t.indexOf(e))>-1&&r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function p(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function h(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return a>0&&(t.lastNeed=a-1),a;if(--n=0)return a>0&&(t.lastNeed=a-2),a;if(--n=0)return a>0&&(2===a?a=0:t.lastNeed=a-3),a;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,r){var n=r(30),a=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function i(t,e,r){return a(t,e,r)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=i),o(a,i),i.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return a(t,e,r)},i.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=a(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},i.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return a(t)},i.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=l(t),i=n[0],s=n[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,i,s)),u=0,p=s>0?i-4:i;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,c[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e);return c},e.fromByteArray=function(t){for(var e,r=t.length,a=r%3,o=[],i=0,s=r-a;is?s:i+16383));1===a?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],a=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,o,i=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,a){var o,i,s=8*a-n-1,c=(1<>1,u=-7,p=r?a-1:0,d=r?-1:1,h=t[e+p];for(p+=d,o=h&(1<<-u)-1,h>>=-u,u+=s;u>0;o=256*o+t[e+p],p+=d,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=n;u>0;i=256*i+t[e+p],p+=d,u-=8);if(0===o)o=1-l;else{if(o===c)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),o-=l}return(h?-1:1)*i*Math.pow(2,o-n)},e.write=function(t,e,r,n,a,o){var i,s,c,l=8*o-a-1,u=(1<>1,d=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,f=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,i=u):(i=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-i))<1&&(i--,c*=2),(e+=i+p>=1?d/c:d*Math.pow(2,1-p))*c>=2&&(i++,c/=2),i+p>=u?(s=0,i=u):i+p>=1?(s=(e*c-1)*Math.pow(2,a),i+=p):(s=e*Math.pow(2,p-1)*Math.pow(2,a),i=0));a>=8;t[r+h]=255&s,h+=f,s/=256,a-=8);for(i=i<0;t[r+h]=255&i,h+=f,i/=256,l-=8);t[r+h-f]|=128*m}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){function n(t){this._cbs=t||{}}t.exports=n;var a=r(10).EVENTS;Object.keys(a).forEach((function(t){if(0===a[t])t="on"+t,n.prototype[t]=function(){this._cbs[t]&&this._cbs[t]()};else if(1===a[t])t="on"+t,n.prototype[t]=function(e){this._cbs[t]&&this._cbs[t](e)};else{if(2!==a[t])throw Error("wrong number of arguments");t="on"+t,n.prototype[t]=function(e,r){this._cbs[t]&&this._cbs[t](e,r)}}}))},function(t,e,r){function n(t){this._cbs=t||{},this.events=[]}t.exports=n;var a=r(10).EVENTS;Object.keys(a).forEach((function(t){if(0===a[t])t="on"+t,n.prototype[t]=function(){this.events.push([t]),this._cbs[t]&&this._cbs[t]()};else if(1===a[t])t="on"+t,n.prototype[t]=function(e){this.events.push([t,e]),this._cbs[t]&&this._cbs[t](e)};else{if(2!==a[t])throw Error("wrong number of arguments");t="on"+t,n.prototype[t]=function(e,r){this.events.push([t,e,r]),this._cbs[t]&&this._cbs[t](e,r)}}})),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var t=0,e=this.events.length;t=0&&(e=t);return e}(i,t[r]),e}),{})};var n=i(r(75)),a=i(r(76)),o=i(r(33));function i(t){return t&&t.__esModule?t:{default:t}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=["allowfullScreen","async","autoplay","capture","checked","controls","default","defer","disabled","formnovalidate","hidden","loop","multiple","muted","novalidate","open","playsinline","readonly","required","reversed","scoped","seamless","selected","itemscope"]},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={accept:"accept","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",allowtransparency:"allowTransparency",alt:"alt",as:"as",async:"async",autocomplete:"autoComplete",autoplay:"autoPlay",capture:"capture",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",challenge:"challenge",checked:"checked",cite:"cite",classid:"classID",class:"className",cols:"cols",colspan:"colSpan",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",controlsList:"controlsList",coords:"coords",crossorigin:"crossOrigin",data:"data",datetime:"dateTime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"encType",form:"form",formaction:"formAction",formenctype:"formEncType",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang",for:"htmlFor","http-equiv":"httpEquiv",icon:"icon",id:"id",inputmode:"inputMode",integrity:"integrity",is:"is",keyparams:"keyParams",keytype:"keyType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginHeight",marginwidth:"marginWidth",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",nonce:"nonce",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",playsinline:"playsInline",poster:"poster",preload:"preload",profile:"profile",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rel:"rel",required:"required",reversed:"reversed",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",slot:"slot",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabIndex",target:"target",title:"title",type:"type",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap",about:"about",datatype:"datatype",inlist:"inlist",prefix:"prefix",property:"property",resource:"resource",typeof:"typeof",vocab:"vocab",autocapitalize:"autoCapitalize",autocorrect:"autoCorrect",autosave:"autoSave",color:"color",itemprop:"itemProp",itemscope:"itemScope",itemtype:"itemType",itemid:"itemID",itemref:"itemRef",results:"results",security:"security",unselectable:"unselectable"}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,a=!1,o=void 0;try{for(var i,s=t[Symbol.iterator]();!(n=(i=s.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{!n&&s.return&&s.return()}finally{if(a)throw o}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")};e.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(""===t)return{};return t.split(";").reduce((function(t,e){var r=e.split(/^([^:]+):/).filter((function(t,e){return e>0})).map((function(t){return t.trim().toLowerCase()})),a=n(r,2),o=a[0],i=a[1];return void 0===i||(t[o=o.replace(/^-ms-/,"ms-").replace(/-(.)/g,(function(t,e){return e.toUpperCase()}))]=i),t}),{})}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var r=void 0;t.children.length>0&&(r=t.children[0].data);var o=(0,a.default)(t.attribs,e);return n.default.createElement("style",o,r)};var n=o(r(3)),a=o(r(32));function o(t){return t&&t.__esModule?t:{default:t}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return null}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.decodeEntities,o=void 0===r||r,i=e.transform,s=e.preprocessNodes,c=void 0===s?function(t){return t}:s,l=c(n.default.parseDOM(t,{decodeEntities:o}));return(0,a.default)(l,i)};var n=o(r(10)),a=o(r(18));function o(t){return t&&t.__esModule?t:{default:t}}},function(t,e){t.exports=function(t){if(Array.isArray(t))return t}},function(t,e){t.exports=function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,a=!1,o=void 0;try{for(var i,s=t[Symbol.iterator]();!(n=(i=s.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(a)throw o}}return r}}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(t,e,r){var n=r(35);t.exports=function(t){if(Array.isArray(t))return n(t)}},function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(t,e){function r(e,n){return t.exports=r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},r(e,n)}t.exports=r},function(t,e){function r(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=r=function(t){return typeof t}:t.exports=r=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(e)}t.exports=r},function(t,e,r){var n=r(37);t.exports=function(){return n.Date.now()}},function(t,e,r){(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.exports=r}).call(this,r(31))},function(t,e,r){var n=r(36),a=r(93),o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(a(t))return NaN;if(n(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=n(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var r=s.test(t);return r||c.test(t)?l(t.slice(2),r?2:8):i.test(t)?NaN:+t}},function(t,e,r){var n=r(94),a=r(97);t.exports=function(t){return"symbol"==typeof t||a(t)&&"[object Symbol]"==n(t)}},function(t,e,r){var n=r(38),a=r(95),o=r(96),i=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":i&&i in Object(t)?a(t):o(t)}},function(t,e,r){var n=r(38),a=Object.prototype,o=a.hasOwnProperty,i=a.toString,s=n?n.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),r=t[s];try{t[s]=void 0;var n=!0}catch(t){}var a=i.call(t);return n&&(e?t[s]=r:delete t[s]),a}},function(t,e){var r=Object.prototype.toString;t.exports=function(t){return r.call(t)}},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,r){"use strict";r.r(e);var n=r(39),a=(wp.customize.astraControl=wp.customize.Control.extend({initialize:function(t,e){var r=e||{};r.params=r.params||{},r.params.type||(r.params.type="ast-core"),r.params.content||(r.params.content=jQuery(" "),r.params.content.attr("id","customize-control-"+t.replace(/]/g,"").replace(/\[/g,"-")),r.params.content.attr("class","customize-control customize-control-"+r.params.type)),this.propertyElements=[],wp.customize.Control.prototype.initialize.call(this,t,r)},ready:function(){wp.customize.Control.prototype.ready.call(this),this.deferred.embedded.done()},embed:function(){var t=this,e=t.section();e&&wp.customize.section(e,(function(e){e.expanded()||wp.customize.settings.autofocus.control===t.id?t.actuallyEmbed():e.expanded.bind((function(e){e&&t.actuallyEmbed()}))}))},actuallyEmbed:function(){"resolved"!==this.deferred.embedded.state()&&(this.renderContent(),this.deferred.embedded.resolve())},focus:function(t){this.actuallyEmbed(),wp.customize.Control.prototype.focus.call(this,t)}}),r(0)),o=r(1),i=r.n(o),s=function(t){var e=null,r=null,n=null;return t.control.params.caption&&(e=Object(a.createElement)("span",{className:"customize-control-caption"},t.control.params.caption)),t.control.params.label&&(r=Object(a.createElement)("span",{className:"customize-control-title wp-ui-text-highlight"},t.control.params.label)),t.control.params.description&&(n=Object(a.createElement)("span",{className:"description customize-control-description"},t.control.params.description)),Object(a.createElement)(a.Fragment,null,e,Object(a.createElement)("div",{className:"ast-heading-wrapper wp-ui-highlight"},Object(a.createElement)("label",{className:"customizer-text"},r,n)))};s.propTypes={control:i.a.object.isRequired};var c=React.memo(s),l=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(c,{control:this}),this.container[0])}}),u=function(t){var e=t.control.setting.get(),r=t.control.params.settings.default;r=(r=r.replace("[","-")).replace("]","");var n="hidden-field-".concat(r);return Object(a.createElement)("input",{type:"hidden",className:n,"data-name":r,value:JSON.stringify(e)})};u.propTypes={control:i.a.object.isRequired};var p=React.memo(u),d=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(p,{control:this}),this.container[0])}}),h=r(40),f=r.n(h),m=function(t){var e=null,r=null,n=null;return t.control.params.label&&(e=Object(a.createElement)("span",{className:"customize-control-title"},t.control.params.label)),t.control.params.help&&(r=Object(a.createElement)("span",{className:"ast-description"},f()(t.control.params.help))),t.control.params.description&&(n=Object(a.createElement)("span",{className:"description customize-control-description"},t.control.params.description)),Object(a.createElement)(a.Fragment,null,Object(a.createElement)("label",{className:"customizer-text"},e,r,n))};m.propTypes={control:i.a.object.isRequired};var g=React.memo(m),v=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(g,{control:this}),this.container[0])}}),b=r(5),y=r.n(b),w=r(4),O=r.n(w),j=r(2),E=r(6),C=r(3),x=r.n(C);function k(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function z(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"",o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],c=t.control.params.units,l=!1;1===c.length&&(l=!0);var u=Object.keys(c).map((function(t){return Object(a.createElement)("option",{key:t,value:t},c[t])}));return!1===o?Object(a.createElement)(a.Fragment,null,Object(a.createElement)("input",{key:e+"input","data-id":e,className:"ast-responsive-input ast-non-reponsive ".concat(e," ").concat(r),type:"number",value:n[e],onChange:function(){i(e)}}),Object(a.createElement)("select",{key:e+"select",value:n["".concat(e,"-unit")],className:"ast-responsive-select ".concat(e),"data-id":"".concat(e,"-unit"),disabled:l,onChange:function(){s(e)}},u)):Object(a.createElement)(a.Fragment,null,Object(a.createElement)("input",{key:e+"input","data-id":e,className:"ast-responsive-input ".concat(e," ").concat(r),type:"number",value:n[e],onChange:function(){i(e)}}),Object(a.createElement)("select",{key:e+"select",value:n["".concat(e,"-unit")],className:"ast-responsive-select ".concat(e),"data-id":"".concat(e,"-unit"),disabled:l,onChange:function(){s(e)}},u))},l=t.control.params,u=l.description,p=l.label,d=null,h=null,f=null,m=null,g=!1!==l.responsive;return p&&(d=Object(a.createElement)("span",{className:"customize-control-title"},p),g&&(h=Object(a.createElement)("ul",{key:"ast-resp-ul",className:"ast-responsive-btns"},Object(a.createElement)("li",{key:"desktop",className:"desktop active"},Object(a.createElement)("button",{type:"button",className:"preview-desktop","data-device":"desktop"},Object(a.createElement)("i",{className:"dashicons dashicons-desktop"}))),Object(a.createElement)("li",{key:"tablet",className:"tablet"},Object(a.createElement)("button",{type:"button",className:"preview-tablet","data-device":"tablet"},Object(a.createElement)("i",{className:"dashicons dashicons-tablet"}))),Object(a.createElement)("li",{key:"mobile",className:"mobile"},Object(a.createElement)("button",{type:"button",className:"preview-mobile","data-device":"mobile"},Object(a.createElement)("i",{className:"dashicons dashicons-smartphone"})))))),u&&(f=Object(a.createElement)("span",{className:"description customize-control-description"},u)),m=g?Object(a.createElement)(a.Fragment,null,c("desktop","active"),c("tablet"),c("mobile")):Object(a.createElement)(a.Fragment,null,c("desktop","active",!1)),Object(a.createElement)("label",{key:"customizer-text",className:"customizer-text"},d,h,f,Object(a.createElement)("div",{className:"input-wrapper ast-responsive-wrapper"},m))};Q.propTypes={control:i.a.object.isRequired};var F=React.memo(Q);function Y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}var G=function(t){var e,r,n=Object(C.useState)(t.control.setting.get()),o=O()(n,2),i=o[0],s=o[1],c=function(e){var r=function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"",n=t.control.params,o=n.inputAttrs,s=n.suffix,l=null,u=[];if(s&&(l=Object(a.createElement)("span",{className:"ast-range-unit"},s)),void 0!==o){var p=o.split(" ");p.map((function(t,e){var r=t.split("=");void 0!==r[1]&&(u[r[0]]=r[1].replace(/"/g,""))}))}return Object(a.createElement)("div",{className:"input-field-wrapper ".concat(e," ").concat(r)},Object(a.createElement)("input",R()({type:"range"},u,{value:i[e],"data-reset_value":t.control.params.default[e],onChange:function(){c(e)}})),Object(a.createElement)("div",{className:"astra_range_value"},Object(a.createElement)("input",R()({type:"number"},u,{"data-id":e,className:"ast-responsive-range-value-input",value:i[e],onChange:function(){c(e)}})),l))},u=t.control.params,p=u.description,d=u.label,h=Object(j.__)("Back to default","astra"),f=null,m=null,g=null;return d&&(f=Object(a.createElement)("span",{className:"customize-control-title"},d),m=Object(a.createElement)("ul",{key:"ast-resp-ul",className:"ast-responsive-slider-btns"},Object(a.createElement)("li",{className:"desktop active"},Object(a.createElement)("button",{type:"button",className:"preview-desktop active","data-device":"desktop"},Object(a.createElement)("i",{className:"dashicons dashicons-desktop"}))),Object(a.createElement)("li",{className:"tablet"},Object(a.createElement)("button",{type:"button",className:"preview-tablet","data-device":"tablet"},Object(a.createElement)("i",{className:"dashicons dashicons-tablet"}))),Object(a.createElement)("li",{className:"mobile"},Object(a.createElement)("button",{type:"button",className:"preview-mobile","data-device":"mobile"},Object(a.createElement)("i",{className:"dashicons dashicons-smartphone"}))))),p&&(g=Object(a.createElement)("span",{className:"description customize-control-description"},p)),e=Object(a.createElement)(a.Fragment,null,l("desktop","active"),l("tablet"),l("mobile")),r=Object(a.createElement)("div",{className:"ast-responsive-slider-reset",onClick:function(e){!function(e){e.preventDefault(),t.control.setting.set(t.control.params.default),s(t.control.params.default)}(e)}},Object(a.createElement)("span",{className:"dashicons dashicons-image-rotate ast-control-tooltip",title:h})),Object(a.createElement)("label",{key:"customizer-text"},f,m,g,Object(a.createElement)("div",{className:"wrapper"},e,r))};G.propTypes={control:i.a.object.isRequired};var X=React.memo(G);function J(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function W(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"",n=W({},s);n["".concat(e,"-unit")]=r,t.control.setting.set(n),c(n)},h=function(t){return Object(a.createElement)("input",{key:t,type:"hidden",onChange:function(){return d(t,"")},className:"ast-spacing-unit-input ast-spacing-".concat(t,"-unit"),"data-device":"".concat(t),value:s["".concat(t,"-unit")]})},f=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=t.control.params,o=n.linked_choices,i=n.id,c=n.choices,h=n.inputAttrs,f=n.unit_choices,m=Object(j.__)("Link Values Together","astra"),g=null,v=null,b=null;return o&&(g=Object(a.createElement)("li",{key:"connect-disconnect"+e,className:"ast-spacing-input-item-link disconnected"},Object(a.createElement)("span",{key:"connect"+e,className:"dashicons dashicons-admin-links ast-spacing-connected wp-ui-highlight",onClick:function(){l()},"data-element-connect":i,title:m}),Object(a.createElement)("span",{key:"disconnect"+e,className:"dashicons dashicons-editor-unlink ast-spacing-disconnected",onClick:function(){u()},"data-element-connect":i,title:m}))),c&&(v=Object.keys(c).map((function(t){return Object(a.createElement)("li",R()({key:t},h,{className:"ast-spacing-input-item"}),Object(a.createElement)("input",{type:"number",className:"ast-spacing-input ast-spacing-".concat(e," connected"),"data-id":t,value:s[e][t],onChange:function(){return p(e,t)},"data-element-connect":i}),Object(a.createElement)("span",{className:"ast-spacing-title"},c[t]))}))),f&&(b=Object.values(f).map((function(t){var r="";return s["".concat(e,"-unit")]===t&&(r="active"),Object(a.createElement)("li",{key:t,className:"single-unit ".concat(r),onClick:function(){return d(e,t)},"data-unit":t},Object(a.createElement)("span",{className:"unit-text"},t))}))),Object(a.createElement)("ul",{key:e,className:"ast-spacing-wrapper ".concat(e," ").concat(r)},g,v,Object(a.createElement)("ul",{key:"responsive-units",className:"ast-spacing-responsive-units ast-spacing-".concat(e,"-responsive-units")},b))},m=t.control.params,g=m.label,v=m.description,b=null,y=null;return g&&(b=Object(a.createElement)("span",{className:"customize-control-title"},g)),v&&(y=Object(a.createElement)("span",{className:"description customize-control-description"},v)),r=Object(a.createElement)(a.Fragment,null,f("desktop","active"),f("tablet"),f("mobile")),n=Object(a.createElement)(a.Fragment,null,Object(a.createElement)("div",{className:"unit-input-wrapper ast-spacing-unit-wrapper"},h("desktop"),h("tablet"),h("mobile")),Object(a.createElement)("ul",{key:"ast-spacing-responsive-btns",className:"ast-spacing-responsive-btns"},Object(a.createElement)("li",{key:"desktop",className:"desktop active"},Object(a.createElement)("button",{type:"button",className:"preview-desktop active","data-device":"desktop"},Object(a.createElement)("i",{className:"dashicons dashicons-desktop"}))),Object(a.createElement)("li",{key:"tablet",className:"tablet"},Object(a.createElement)("button",{type:"button",className:"preview-tablet","data-device":"tablet"},Object(a.createElement)("i",{className:"dashicons dashicons-tablet"}))),Object(a.createElement)("li",{key:"mobile",className:"mobile"},Object(a.createElement)("button",{type:"button",className:"preview-mobile","data-device":"mobile"},Object(a.createElement)("i",{className:"dashicons dashicons-smartphone"}))))),Object(a.createElement)("label",{key:"ast-spacing-responsive",className:"ast-spacing-responsive",htmlFor:"ast-spacing"},b,y,Object(a.createElement)("div",{className:"ast-spacing-responsive-outer-wrapper"},Object(a.createElement)("div",{className:"input-wrapper ast-spacing-responsive-wrapper"},r),Object(a.createElement)("div",{className:"ast-spacing-responsive-units-screen-wrap"},n)))};Z.propTypes={control:i.a.object.isRequired};var K=React.memo(Z),$=function(t){var e=Object(C.useState)(t.control.setting.get()),r=O()(e,2),n=r[0],o=r[1],i=t.control.params,s=i.label,c=i.description,l=i.suffix,u=i.link,p=i.inputAttrs,d=i.name,h=null,f=null,m=null,g=[],v=Object(j.__)("Back to default","astra");(s&&(h=Object(a.createElement)("label",null,Object(a.createElement)("span",{className:"customize-control-title"},s))),c&&(f=Object(a.createElement)("span",{className:"description customize-control-description"},c)),l&&(m=Object(a.createElement)("span",{className:"ast-range-unit"},l)),void 0!==p)&&p.split(" ").map((function(t,e){var r=t.split("=");void 0!==r[1]&&(g[r[0]]=r[1].replace(/"/g,""))}));void 0!==u&&u.split(" ").map((function(t,e){var r=t.split("=");void 0!==r[1]&&(g[r[0]]=r[1].replace(/"/g,""))}));var b=function(e){o(e),t.control.setting.set(e)};return Object(a.createElement)("label",null,h,f,Object(a.createElement)("div",{className:"wrapper"},Object(a.createElement)("input",R()({},g,{type:"range",value:n,"data-reset_value":t.control.params.default,onChange:function(){return b(event.target.value)}})),Object(a.createElement)("div",{className:"astra_range_value"},Object(a.createElement)("input",R()({},g,{type:"number","data-name":d,className:"value ast-range-value-input",value:n,onChange:function(){return b(event.target.value)}})),m),Object(a.createElement)("div",{className:"ast-slider-reset",onClick:function(){b(t.control.params.default)}},Object(a.createElement)("span",{className:"dashicons dashicons-image-rotate ast-control-tooltip",title:v}))))};$.propTypes={control:i.a.object.isRequired};var tt=React.memo($),et=r(41),rt=r.n(et),nt=r(12),at=r.n(nt),ot=r(13),it=r.n(ot),st=r(8),ct=r.n(st),lt=r(14),ut=r.n(lt),pt=r(15),dt=r.n(pt),ht=r(9),ft=r.n(ht),mt=r(42);function gt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=ft()(t);if(e){var a=ft()(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return dt()(this,r)}}var vt=function(t){ut()(r,t);var e=gt(r);function r(t){var n;return at()(this,r),(n=e.apply(this,arguments)).onChangeComplete=n.onChangeComplete.bind(ct()(n)),n.onPaletteChangeComplete=n.onPaletteChangeComplete.bind(ct()(n)),n.onChangeGradientComplete=n.onChangeGradientComplete.bind(ct()(n)),n.renderImageSettings=n.renderImageSettings.bind(ct()(n)),n.onRemoveImage=n.onRemoveImage.bind(ct()(n)),n.onSelectImage=n.onSelectImage.bind(ct()(n)),n.open=n.open.bind(ct()(n)),n.onColorClearClick=n.onColorClearClick.bind(ct()(n)),n.state={isVisible:!1,refresh:!1,color:n.props.color,modalCanClose:!0,backgroundType:n.props.backgroundType,supportGradient:void 0!==E.__experimentalGradientPicker},n}return it()(r,[{key:"onResetRefresh",value:function(){!0===this.state.refresh?this.setState({refresh:!1}):this.setState({refresh:!0})}},{key:"render",value:function(){var t=this,e=this.state,r=e.refresh,n=e.modalCanClose,o=e.isVisible,i=e.supportGradient,s=e.backgroundType,c=this.props,l=c.allowGradient,u=c.allowImage,p=function(){n&&!0===o&&t.setState({isVisible:!1})},d=!(!l||!i),h=[{name:"color",title:Object(j.__)("Color","astra"),className:"astra-color-background"}];if(d){var f={name:"gradient",title:Object(j.__)("Gradient","astra"),className:"astra-image-background"};h.push(f)}if(u){var m={name:"image",title:Object(j.__)("Image","astra"),className:"astra-image-background"};h.push(m)}var g=[],v=0;return rt()(astColorPalette.colors).forEach((function(t){var e={};Object.assign(e,{name:v+"_"+t}),Object.assign(e,{color:t}),g.push(e),v++})),Object(a.createElement)(a.Fragment,null,Object(a.createElement)("div",{className:"color-button-wrap"},Object(a.createElement)(E.Button,{className:o?"astra-color-icon-indicate open":"astra-color-icon-indicate",onClick:function(){o?p():(!0===r?t.setState({refresh:!1}):t.setState({refresh:!0}),t.setState({isVisible:!0}))}},("color"===s||"gradient"===s)&&Object(a.createElement)(E.ColorIndicator,{className:"astra-advanced-color-indicate",colorValue:this.props.color}),"image"===s&&Object(a.createElement)(a.Fragment,null,Object(a.createElement)(E.ColorIndicator,{className:"astra-advanced-color-indicate",colorValue:"#ffffff"}),Object(a.createElement)(E.Dashicon,{icon:"format-image"})))),Object(a.createElement)("div",{className:"astra-color-picker-wrap"},Object(a.createElement)(a.Fragment,null,o&&Object(a.createElement)("div",{className:"astra-popover-color",onClose:p},1 li").removeClass("active"),jQuery(".customize-control-ast-responsive .input-wrapper input."+t+", .customize-control .ast-responsive-btns > li."+t).addClass("active")})),t.container.find(".ast-responsive-btns button").on("click",(function(t){t.preventDefault();var e=jQuery(this).attr("data-device");e="desktop"==e?"tablet":"tablet"==e?"mobile":"desktop",jQuery('.wp-full-overlay-footer .devices button[data-device="'+e+'"]').trigger("click")}))}function Lt(t){var e=jQuery(".wp-full-overlay-footer .devices button.active").attr("data-device");jQuery(".customize-control-ast-responsive-slider .input-field-wrapper").removeClass("active"),jQuery(".customize-control-ast-responsive-slider .input-field-wrapper."+e).addClass("active"),jQuery(".customize-control-ast-responsive-slider .ast-responsive-slider-btns li").removeClass("active"),jQuery(".customize-control-ast-responsive-slider .ast-responsive-slider-btns li."+e).addClass("active"),jQuery(".wp-full-overlay-footer .devices button").on("click",(function(){var t=jQuery(this).attr("data-device");jQuery(".customize-control-ast-responsive-slider .input-field-wrapper, .customize-control .ast-responsive-slider-btns > li").removeClass("active"),jQuery(".customize-control-ast-responsive-slider .input-field-wrapper."+t+", .customize-control .ast-responsive-slider-btns > li."+t).addClass("active")})),t.container.find(".ast-responsive-slider-btns button").on("click",(function(t){t.preventDefault();var e=jQuery(this).attr("data-device");e="desktop"==e?"tablet":"tablet"==e?"mobile":"desktop",jQuery('.wp-full-overlay-footer .devices button[data-device="'+e+'"]').trigger("click")}))}function It(t){var e=jQuery(".wp-full-overlay-footer .devices button.active").attr("data-device");jQuery(".customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper").removeClass("active"),jQuery(".customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper."+e).addClass("active"),jQuery(".customize-control-ast-responsive-spacing .ast-spacing-responsive-btns li").removeClass("active"),jQuery(".customize-control-ast-responsive-spacing .ast-spacing-responsive-btns li."+e).addClass("active"),jQuery(".wp-full-overlay-footer .devices button").on("click",(function(){var t=jQuery(this).attr("data-device");jQuery(".customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper, .customize-control .ast-spacing-responsive-btns > li").removeClass("active"),jQuery(".customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper."+t+", .customize-control .ast-spacing-responsive-btns > li."+t).addClass("active")})),t.container.find(".ast-spacing-responsive-btns button").on("click",(function(t){t.preventDefault();var e=jQuery(this).attr("data-device");e="desktop"==e?"tablet":"tablet"==e?"mobile":"desktop",jQuery('.wp-full-overlay-footer .devices button[data-device="'+e+'"]').trigger("click")}))}var Vt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(B,{control:this}),this.container[0])},ready:function(){this.setting._value;this.registerToggleEvents(),this.container.on("ast_settings_changed",this.onOptionChange);var t=0,e=jQuery(".wp-full-overlay-sidebar-content"),r=navigator.userAgent.toLowerCase();if(r.indexOf("firefox")>-1)n=16;else var n=6;jQuery("#customize-controls .wp-full-overlay-sidebar-content .control-section").on("scroll",(function(a){var o=jQuery(this);if(o.hasClass("open")){var i=o.find(".customize-section-title"),s=o.scrollTop();if(s>t)i.removeClass("maybe-sticky").removeClass("is-in-view").removeClass("is-sticky"),o.css("padding-top","");else{var c=o.outerWidth();i.addClass("maybe-sticky").addClass("is-in-view").addClass("is-sticky").width(c-n).css("top",e.css("top")),r.indexOf("firefox")>-1||o.css("padding-top",i.height()),0===s&&(i.removeClass("maybe-sticky").removeClass("is-in-view").removeClass("is-sticky"),o.css("padding-top",""))}t=s}}))},registerToggleEvents:function(){var t=this;jQuery(".wp-full-overlay-sidebar-content, .wp-picker-container").click((function(t){jQuery(t.target).closest(".ast-field-settings-modal").length||jQuery(".ast-adv-toggle-icon.open").trigger("click")})),t.container.on("click",".ast-toggle-desc-wrap .ast-adv-toggle-icon",(function(e){e.preventDefault(),e.stopPropagation();var r=jQuery(this),n=r.closest(".customize-control-ast-settings-group"),a=n.find(".ast-field-settings-modal").data("loaded"),o=n.parents(".control-section");if(r.hasClass("open"))n.find(".ast-field-settings-modal").hide();else{var i=o.find(".ast-adv-toggle-icon.open");if(i.length>0&&i.trigger("click"),a)n.find(".ast-field-settings-modal").show();else{var s=t.params.ast_fields,c=jQuery(astra.customizer.group_modal_tmpl);n.find(".ast-field-settings-wrap").append(c),n.find(".ast-fields-wrap").attr("data-control",t.params.name),t.ast_render_field(n,s,t),n.find(".ast-field-settings-modal").show();var l=jQuery("#customize-footer-actions .active").attr("data-device");"mobile"==l?(jQuery(".ast-responsive-btns .mobile, .ast-responsive-slider-btns .mobile").addClass("active"),jQuery(".ast-responsive-btns .preview-mobile, .ast-responsive-slider-btns .preview-mobile").addClass("active")):"tablet"==l?(jQuery(".ast-responsive-btns .tablet, .ast-responsive-slider-btns .tablet").addClass("active"),jQuery(".ast-responsive-btns .preview-tablet, .ast-responsive-slider-btns .preview-tablet").addClass("active")):(jQuery(".ast-responsive-btns .desktop, .ast-responsive-slider-btns .desktop").addClass("active"),jQuery(".ast-responsive-btns .preview-desktop, .ast-responsive-slider-btns .preview-desktop").addClass("active"))}}r.toggleClass("open")})),t.container.on("click",".ast-toggle-desc-wrap > .customizer-text",(function(t){t.preventDefault(),t.stopPropagation(),jQuery(this).find(".ast-adv-toggle-icon").trigger("click")}))},ast_render_field:function(t,e,r){var n=this,a=t.find(".ast-fields-wrap"),o="",i=[],s=n.isJsonString(r.params.value)?JSON.parse(r.params.value):{};if(void 0!==e.tabs){var c=(c=r.params.name.replace("[","-")).replace("]","");o+='',o+='
';var l=0,u=0,p="",d="";_.each(e.tabs,(function(t,e){switch(l){case 0:d="active",p="normal";break;case 1:p="hover";break;default:p="active"}o+=''+e+" ",l++})),o+=" ",o+='
',_.each(e.tabs,(function(t,e){switch(u){case 0:d="active",p="normal";break;case 1:p="hover";break;default:p="active"}o+='
';var r=n.generateFieldHtml(t,s);o+=r.html,_.each(r.controls,(function(t,e){i.push({key:t.key,value:t.value,name:t.name})})),o+="
",u++})),o+="
",a.html(o),n.renderReactControl(e,n),jQuery("#"+c+"-tabs").tabs()}else{var h=n.generateFieldHtml(e,s);o+=h.html,_.each(h.controls,(function(t,e){i.push({key:t.key,value:t.value,name:t.name})})),a.html(o),n.renderReactControl(e,n)}_.each(i,(function(t,e){switch(t.key){case"ast-color":!function(t){jQuery(document).mouseup((function(e){var r=jQuery(t),n=r.find(".astra-color-picker-wrap");n.is(e.target)||0!==n.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}("#customize-control-"+t.name);break;case"ast-background":!function(t){jQuery(document).mouseup((function(e){var r=jQuery(t),n=r.find(".background-wrapper");n.is(e.target)||0!==n.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}("#customize-control-"+t.name);break;case"ast-responsive-background":Bt(n,"#customize-control-"+t.name);break;case"ast-responsive-color":Ht(n,"#customize-control-"+t.name);break;case"ast-responsive":Rt(n);break;case"ast-responsive-slider":Lt(n);break;case"ast-responsive-spacing":It(n);break;case"ast-font":var r=astra.customizer.settings.google_fonts;n.container.find(".ast-font-family").html(r),n.container.find(".ast-font-family").each((function(){var t=jQuery(this).data("value");jQuery(this).val(t);var e=jQuery(this).data("name");jQuery("select[data-name='"+e+"'] option[value='inherit']").text(jQuery(this).data("inherit"));var r=jQuery(".ast-font-weight[data-connected-control='"+e+"']"),a=AstTypography._getWeightObject(AstTypography._cleanGoogleFonts(t));n.generateDropdownHtml(a,r),r.val(r.data("value"))})),n.container.find(".ast-font-family").selectWoo(),n.container.find(".ast-font-family").on("select2:select",(function(){var t=jQuery(this).val(),e=AstTypography._getWeightObject(AstTypography._cleanGoogleFonts(t)),r=jQuery(this).data("name"),a=jQuery(".ast-font-weight[data-connected-control='"+r+"']");n.generateDropdownHtml(e,a);var o=jQuery(this).parents(".customize-control").attr("id");o=o.replace("customize-control-",""),n.container.trigger("ast_settings_changed",[n,jQuery(this),t,o]);var i=a.parents(".customize-control").attr("id");i=i.replace("customize-control-",""),n.container.trigger("ast_settings_changed",[n,a,a.val(),i])})),n.container.find(".ast-font-weight").on("change",(function(){var t=jQuery(this).val();name=jQuery(this).parents(".customize-control").attr("id"),name=name.replace("customize-control-",""),n.container.trigger("ast_settings_changed",[n,jQuery(this),t,name])}))}})),t.find(".ast-field-settings-modal").data("loaded",!0)},getJS:function(t){},generateFieldHtml:function(t,e){var r="",n=[];_.each(t,(function(t,e){var a=wp.customize.control("astra-settings["+t.name+"]")?wp.customize.control("astra-settings["+t.name+"]").params.value:"",o=t.control,i="customize-control-"+o+"-content",s=wp.template(i),c=a||t.default;t.value=c;var l="",u="";if(t.label=t.title,_.each(t.data_attrs,(function(t,e){l+=" data-"+e+" ='"+t+"'"})),_.each(t.input_attrs,(function(t,e){u+=e+'="'+t+'" '})),t.dataAttrs=l,t.inputAttrs=u,n.push({key:o,value:c,name:t.name}),"ast-responsive"==o){var p=void 0===t.responsive||t.responsive;t.responsive=p}var d=t.name.replace("[","-");d=d.replace("]",""),r+="",r+=s(t),r+=" "}));var a=new Object;return a.controls=n,a.html=r,a},generateDropdownHtml:function(t,e){var r=e.data("inherit"),n="",a=0,o=(t=jQuery.merge(["inherit"],t),e.val()||"400"),i="";for(astraTypo.inherit=r;a"+astraTypo[t[a]]+"");e.html(n)},onOptionChange:function(t,e,r,n,a){jQuery(".hidden-field-astra-settings-"+a).val(n),wp.customize.control("astra-settings["+a+"]").setting.set(n)},isJsonString:function(t){try{JSON.parse(t)}catch(t){return!1}return!0},getFinalControlObject:function(t,e){return void 0!==t.choices&&void 0===e.params.choices&&(e.params.choices=t.choices),void 0!==t.inputAttrs&&void 0===e.params.inputAttrs&&(e.params.inputAttrs=t.inputAttrs),void 0!==t.link&&void 0===e.params.link&&(e.params.link=t.link),void 0!==t.units&&void 0===e.params.units&&(e.params.units=t.units),void 0!==t.linked_choices&&void 0===e.params.linked_choices&&(e.params.linked_choices=t.linked_choices),void 0===t.title||void 0!==e.params.label&&""!==e.params.label&&null!==e.params.label||(e.params.label=t.title),void 0===t.responsive||void 0!==e.params.responsive&&""!==e.params.responsive&&null!==e.params.responsive||(e.params.responsive=t.responsive),e},renderReactControl:function(t,e){var r={"ast-background":Ot,"ast-responsive-background":xt,"ast-responsive-color":Dt,"ast-color":St,"ast-border":V,"ast-responsive":F,"ast-responsive-slider":X,"ast-slider":tt,"ast-responsive-spacing":K,"ast-select":Pt,"ast-divider":D};void 0!==t.tabs?_.each(t.tabs,(function(t,n){_.each(t,(function(t,n){if("ast-font"!==t.control){var o=t.name.replace("[","-"),i="#customize-control-"+(o=o.replace("]","")),s=wp.customize.control("astra-settings["+t.name+"]");s=e.getFinalControlObject(t,s);var c=r[t.control];ReactDOM.render(Object(a.createElement)(c,{control:s,customizer:wp.customize}),jQuery(i)[0])}}))})):_.each(t,(function(t,n){if("ast-font"!==t.control){var o=t.name.replace("[","-"),i="#customize-control-"+(o=o.replace("]","")),s=wp.customize.control("astra-settings["+t.name+"]");s=e.getFinalControlObject(t,s);var c=r[t.control];ReactDOM.render(Object(a.createElement)(c,{control:s,customizer:wp.customize}),jQuery(i)[0])}}))}}),qt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(St,{control:this,customizer:wp.customize}),this.container[0])},ready:function(){var t=this;jQuery(document).mouseup((function(e){var r=jQuery(t.container),n=r.find(".astra-color-picker-wrap"),a=r.find(".ast-color-btn-reset-wrap");n.is(e.target)||a.is(e.target)||0!==n.has(e.target).length||0!==a.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}}),Ut=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Dt,{control:this,customizer:wp.customize}),this.container[0])},ready:function(){Ht(this);var t=this;jQuery(document).mouseup((function(e){var r=jQuery(t.container),n=r.find(".customize-control-content"),a=r.find(".ast-color-btn-reset-wrap");n.is(e.target)||a.is(e.target)||0!==n.has(e.target).length||0!==a.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}}),Qt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(xt,{control:this}),this.container[0])},ready:function(){Bt(this,"");var t=this;jQuery(document).mouseup((function(e){var r=jQuery(t.container),n=r.find(".background-wrapper"),a=r.find(".ast-color-btn-reset-wrap");n.is(e.target)||a.is(e.target)||0!==n.has(e.target).length||0!==a.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}}),Ft=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Ot,{control:this}),this.container[0])},ready:function(){jQuery("html").addClass("background-colorpicker-ready");var t=this;jQuery(document).mouseup((function(e){var r=jQuery(t.container),n=r.find(".background-wrapper"),a=r.find(".ast-color-btn-reset-wrap");n.is(e.target)||a.is(e.target)||0!==n.has(e.target).length||0!==a.has(e.target).length||r.find(".components-button.astra-color-icon-indicate.open").click()}))}}),Yt=function(t){var e=null,r=null,n=t.control.params,o=n.label,i=n.description,s=n.value,c=n.choices,l=n.inputAttrs;o&&(e=Object(a.createElement)("span",{className:"customize-control-title"},o)),i&&(r=Object(a.createElement)("span",{className:"description customize-control-description"},i));var u=Object.values(s).map((function(t){var e="";return c[t]&&(e=Object(a.createElement)("li",R()({},l,{key:t,className:"ast-sortable-item","data-value":t}),Object(a.createElement)("i",{className:"dashicons dashicons-menu"}),Object(a.createElement)("i",{className:"dashicons dashicons-visibility visibility"}),c[t])),e})),p=Object.keys(c).map((function(t){var e="";return Array.isArray(s)&&-1===s.indexOf(t)&&(e=Object(a.createElement)("li",R()({},l,{key:t,className:"ast-sortable-item invisible","data-value":t}),Object(a.createElement)("i",{className:"dashicons dashicons-menu"}),Object(a.createElement)("i",{className:"dashicons dashicons-visibility visibility"}),c[t])),e}));return Object(a.createElement)("label",{className:"ast-sortable"},e,r,Object(a.createElement)("ul",{className:"sortable"},u,p))};Yt.propTypes={control:i.a.object.isRequired};var Gt=React.memo(Yt),Xt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Gt,{control:this}),this.container[0])},ready:function(){var t=this;t.sortableContainer=t.container.find("ul.sortable").first(),t.sortableContainer.sortable({stop:function(){t.updateValue()}}).disableSelection().find("li").each((function(){jQuery(this).find("i.visibility").click((function(){jQuery(this).toggleClass("dashicons-visibility-faint").parents("li:eq(0)").toggleClass("invisible")}))})).click((function(){t.updateValue()}))},updateValue:function(){this.params.choices;var t=[];this.sortableContainer.find("li").each((function(){jQuery(this).is(".invisible")||t.push(jQuery(this).data("value"))})),this.setting.set(t)}}),Jt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(V,{control:this}),this.container[0])}}),Wt=function(t){var e=t.control.params,r=e.linked,n=e.link_text,o=e.link_type,i=null;return r&&n&&(i=Object(a.createElement)("a",{href:"#",onClick:function(){!function(){var e=t.control.params,r=e.linked;switch(e.link_type){case"section":wp.customize.section(r).expand();break;case"control":wp.customize.control(r).focus()}}()},className:"customizer-link","data-customizer-linked":r,"data-ast-customizer-link-type":o,dangerouslySetInnerHTML:{__html:n}})),Object(a.createElement)(a.Fragment,null,i)};Wt.propTypes={control:i.a.object.isRequired};var Zt=React.memo(Wt),Kt=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Zt,{control:this}),this.container[0])}}),$t=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(F,{control:this}),this.container[0])},ready:function(){Rt(this)}}),te=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(X,{control:this}),this.container[0])},ready:function(){Lt(this)}}),ee=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(tt,{control:this}),this.container[0])}}),re=function(t){var e,r=Object(C.useState)(t.control.setting.get()),n=O()(r,2),o=n[0],i=n[1],s=t.control.params,c=s.label,l=s.description,u=s.id,p=s.choices,d=s.inputAttrs,h=s.choices_titles,f=s.link,m=s.labelStyle,g=null,v=null,b=[];(c&&(g=Object(a.createElement)("span",{className:"customize-control-title"},c)),l&&(v=Object(a.createElement)("span",{className:"description customize-control-description"},l)),d)&&d.split(" ").map((function(t,e){var r=t.split("=");void 0!==r[1]&&(b[r[0]]=r[1].replace(/"/g,""))}));f&&f.split(" ").map((function(t,e){var r=t.split("=");void 0!==r[1]&&(b[r[0]]=r[1].replace(/"/g,""))}));return e=Object.entries(p).map((function(e){var r=O()(e,2),n=r[0],s=(r[1],o===n);return Object(a.createElement)(a.Fragment,{key:n},Object(a.createElement)("input",R()({},b,{className:"image-select",type:"radio",value:n,name:"_customize-radio-".concat(u),id:u+n,checked:s,onChange:function(){return function(e){i(e),t.control.setting.set(e)}(n)}})),Object(a.createElement)("label",R()({htmlFor:u+n},m,{className:"ast-radio-img-svg"}),Object(a.createElement)("span",{dangerouslySetInnerHTML:{__html:p[n]}}),Object(a.createElement)("span",{className:"image-clickable",title:h[n]})))})),Object(a.createElement)(a.Fragment,null,Object(a.createElement)("label",{className:"customizer-text"},g,v),Object(a.createElement)("div",{id:"input_".concat(u),className:"image"},e))};re.propTypes={control:i.a.object.isRequired};var ne=React.memo(re),ae=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(ne,{control:this}),this.container[0])}}),oe=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(K,{control:this}),this.container[0])},ready:function(){It(this)}}),ie=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Pt,{control:this}),this.container[0])}}),se=function(t){var e=t.control.params,r=e.description,n=e.label,o=e.connect,i=e.variant,s=e.name,c=e.link,l=null,u=null,p=null,d=[],h=Object(j.__)("Inherit","astra"),f=t.control.setting.get();(n&&(l=Object(a.createElement)("span",{className:"customize-control-title"},n)),r&&(u=Object(a.createElement)("span",{className:"description customize-control-description"},r)),void 0!==c)&&c.split(" ").map((function(t,e){var r=t.split("=");void 0!==r[1]&&(d[r[0]]=r[1].replace(/"/g,""))}));return o&&i?p=Object(a.createElement)("select",R()({},d,{"data-connected-control":o,"data-connected-variant":i,"data-value":f,"data-name":s,"data-inherit":h})):o?p=Object(a.createElement)("select",R()({},d,{"data-connected-control":o,"data-value":f,"data-name":s,"data-inherit":h})):i&&(p=Object(a.createElement)("select",R()({},d,{"data-connected-variant":i,"data-value":f,"data-name":s,"data-inherit":h}))),Object(a.createElement)(a.Fragment,null,Object(a.createElement)("label",null,l,u),p)};se.propTypes={control:i.a.object.isRequired};var ce=React.memo(se),le=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(ce,{control:this}),this.container[0])},ready:function(){AstTypography.init()}}),ue=function(t){var e=t.control.params,r=e.description,n=e.label,o=e.connect,i=e.variant,s=e.name,c=e.link,l=e.ast_all_font_weight,u=t.control.setting.get(),p=Object(a.createElement)("span",{className:"customize-control-title"},n||Object(j.__)("Background","astra")),d=r?Object(a.createElement)("span",{className:"description customize-control-description"},r):null,h=null,f=[],m=Object(j.__)("Inherit","astra"),g=null;(u=void 0===u||""===u?[]:u,c)&&c.split(" ").map((function(t,e){var r=t.split("=");r[1]&&(f[r[0]]=r[1].replace(/"/g,""))}));var v=Object.entries(l).map((function(t){return Object(a.createElement)("option",{key:t[0],value:t[0]},t[1])}));return g="normal"===u?Object(a.createElement)("option",{key:"normal",value:"normal"},m):Object(a.createElement)("option",{key:"inherit",value:"inherit"},m),o&&i?h=Object(a.createElement)("select",R()({},f,{"data-connected-control":o,"data-connected-variant":i,"data-value":u,"data-name":s,"data-inherit":m}),g,v):i?h=Object(a.createElement)("select",R()({},f,{"data-connected-variant":i,"data-value":u,"data-name":s,"data-inherit":m}),g,v):o&&(h=Object(a.createElement)("select",R()({},f,{"data-connected-control":o,"data-value":u,"data-name":s,"data-inherit":m}),g,v)),Object(a.createElement)(a.Fragment,null,Object(a.createElement)("label",null,p,d),h)};ue.propTypes={control:i.a.object.isRequired};var pe=React.memo(ue),de=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(pe,{control:this}),this.container[0])},ready:function(){AstTypography.init()}});function he(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function fe(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=ft()(t);if(e){var a=ft()(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return dt()(this,r)}}var me=function(t){ut()(r,t);var e=fe(r);function r(t){var n;at()(this,r);var a=(n=e.apply(this,arguments)).props.control.setting.get();return n.state={value:a},n.onSelectChange=n.onSelectChange.bind(ct()(n)),n.renderSelectHtml=n.renderSelectHtml.bind(ct()(n)),n}return it()(r,[{key:"onSelectChange",value:function(t,e){var r=function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"",n=this.props.control.params.choices,o=Object.entries(n).map((function(t){return Object(a.createElement)("option",{key:t[0],value:t[0]},t[1])}));return Object(a.createElement)("div",{className:"ast-responsive-select-container ".concat(t," ").concat(r)},Object(a.createElement)("select",{className:"ast-select-input","data-value":this.state.value[t],value:this.state.value[t],onChange:function(r){e.onSelectChange(r,t)}},o))}},{key:"render",value:function(){var t=this.props.control.params.label,e=null;t&&(e=Object(a.createElement)("span",{className:"customize-control-title"},t));var r=Object(a.createElement)("ul",{key:"ast-resp-ul",className:"ast-responsive-btns"},Object(a.createElement)("li",{key:"desktop",className:"desktop active"},Object(a.createElement)("button",{type:"button",className:"preview-desktop","data-device":"desktop"},Object(a.createElement)("i",{className:"dashicons dashicons-desktop"}))),Object(a.createElement)("li",{key:"tablet",className:"tablet"},Object(a.createElement)("button",{type:"button",className:"preview-tablet","data-device":"tablet"},Object(a.createElement)("i",{className:"dashicons dashicons-tablet"}))),Object(a.createElement)("li",{key:"mobile",className:"mobile"},Object(a.createElement)("button",{type:"button",className:"preview-mobile","data-device":"mobile"},Object(a.createElement)("i",{className:"dashicons dashicons-smartphone"})))),n=Object(a.createElement)(a.Fragment,null,this.renderSelectHtml("desktop","active"),this.renderSelectHtml("tablet"),this.renderSelectHtml("mobile"));return Object(a.createElement)(a.Fragment,null,e,r,Object(a.createElement)("div",{className:"customize-control-content"},Object(a.createElement)("div",{className:"ast-responsive-select-wrapper"},n)))}},{key:"updateValues",value:function(t){this.setState({value:t}),this.props.control.setting.set(t)}}]),r}(a.Component);me.propTypes={control:i.a.object.isRequired};var ge=me,ve=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(ge,{control:this}),this.container[0])},ready:function(){var t=jQuery(".wp-full-overlay-footer .devices button.active").attr("data-device");jQuery(".customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container").removeClass("active"),jQuery(".customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container."+t).addClass("active"),jQuery(".customize-control-ast-responsive-select .ast-responsive-btns li").removeClass("active"),jQuery(".customize-control-ast-responsive-select .ast-responsive-btns li."+t).addClass("active"),jQuery(".wp-full-overlay-footer .devices button").on("click",(function(){var t=jQuery(this).attr("data-device");jQuery(".customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container").removeClass("active"),jQuery(".customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container."+t).addClass("active"),jQuery(".customize-control-ast-responsive-select .ast-responsive-btns li").removeClass("active"),jQuery(".customize-control-ast-responsive-select .ast-responsive-btns li."+t).addClass("active")})),this.container.find(".ast-responsive-btns button").on("click",(function(t){var e=jQuery(this).attr("data-device");e="desktop"==e?"tablet":"tablet"==e?"mobile":"desktop",jQuery('.wp-full-overlay-footer .devices button[data-device="'+e+'"]').trigger("click")}))}}),be=r(43),ye=r.n(be),we=wp.i18n.__,_e=function(t){return"section-footer-builder"===t.control.params.section||"section-header-builder"===t.control.params.section?Object(a.createElement)(x.a.Fragment,null,Object(a.createElement)("p",{className:"ast-customize-control-title"},!astra.customizer.is_pro&&Object(a.createElement)(a.Fragment,null,we("Want more? Upgrade to ","astra"),Object(a.createElement)("a",{href:astra.customizer.upgrade_link,target:"_blank"},we("Astra Pro","astra")),we(" for many more header and footer options along with several amazing features too!","astra"))),Object(a.createElement)("p",{className:"ast-customize-control-description"},Object(a.createElement)("span",{className:"button button-secondary ahfb-builder-section-shortcut "+t.control.params.section,"data-section":t.control.params.section,onClick:function(){return function(t){t.customizer.section.each((function(t){if(t.expanded())return t.collapse(),!1}))}(t)}},Object(a.createElement)("span",{className:"dashicons dashicons-admin-generic"}," ")),Object(a.createElement)("span",{className:"button button-secondary ahfb-builder-hide-button ahfb-builder-tab-toggle"},Object(a.createElement)("span",{className:"ast-builder-hide-action"}," ",Object(a.createElement)("span",{className:"dashicons dashicons-arrow-down-alt2"})," ",we("Hide","astra")," "),Object(a.createElement)("span",{className:"ast-builder-show-action"}," ",Object(a.createElement)("span",{className:"dashicons dashicons-arrow-up-alt2"})," ",we("Show","astra")," ")))):Object(a.createElement)(x.a.Fragment,null,Object(a.createElement)("div",{className:"ahfb-compontent-tabs nav-tab-wrapper wp-clearfix"},Object(a.createElement)("a",{href:"#",className:"nav-tab ahfb-general-tab ahfb-compontent-tabs-button "+("general"===t.tab?"nav-tab-active":""),"data-tab":"general"},Object(a.createElement)("span",null,we("General","astra"))),Object(a.createElement)("a",{href:"#",className:"nav-tab ahfb-design-tab ahfb-compontent-tabs-button "+("design"===t.tab?"nav-tab-active":""),"data-tab":"design"},Object(a.createElement)("span",null,we("Design","astra")))))};x.a.memo(_e);var Oe=wp.customize.astraControl.extend({renderContent:function(){ye.a.render(Object(a.createElement)(_e,{control:this,tab:wp.customize.state("astra-customizer-tab").get(),customizer:wp.customize}),this.container[0])}});
/**!
* Sortable 1.10.1
* @author RubaXa
* @author owenm
* @license MIT
*/function je(t){return(je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ee(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ce(){return(Ce=Object.assign||function(t){for(var e=1;e=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function ze(t){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var Ne=ze(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Se=ze(/Edge/i),Me=ze(/firefox/i),Ae=ze(/safari/i)&&!ze(/chrome/i)&&!ze(/android/i),De=ze(/iP(ad|od|hone)/i),Te=ze(/chrome/i)&&ze(/android/i),Pe={capture:!1,passive:!1};function Be(t,e,r){t.addEventListener(e,r,!Ne&&Pe)}function He(t,e,r){t.removeEventListener(e,r,!Ne&&Pe)}function Re(t,e){if(e){if(">"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function Le(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function Ie(t,e,r,n){if(t){r=r||document;do{if(null!=e&&(">"===e[0]?t.parentNode===r&&Re(t,e):Re(t,e))||n&&t===r)return t;if(t===r)break}while(t=Le(t))}return null}var Ve,qe=/\s+/g;function Ue(t,e,r){if(t&&e)if(t.classList)t.classList[r?"add":"remove"](e);else{var n=(" "+t.className+" ").replace(qe," ").replace(" "+e+" "," ");t.className=(n+(r?" "+e:"")).replace(qe," ")}}function Qe(t,e,r){var n=t&&t.style;if(n){if(void 0===r)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(r=t.currentStyle),void 0===e?r:r[e];e in n||-1!==e.indexOf("webkit")||(e="-webkit-"+e),n[e]=r+("string"==typeof r?"":"px")}}function Fe(t,e){var r="";if("string"==typeof t)r=t;else do{var n=Qe(t,"transform");n&&"none"!==n&&(r=n+" "+r)}while(!e&&(t=t.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix;return a&&new a(r)}function Ye(t,e,r){if(t){var n=t.getElementsByTagName(e),a=0,o=n.length;if(r)for(;a=o:a<=o))return n;if(n===Ge())break;n=tr(n,!1)}return!1}function We(t,e,r){for(var n=0,a=0,o=t.children;a2&&void 0!==arguments[2]?arguments[2]:{},n=r.evt,a=ke(r,["evt"]);lr.pluginEvent.bind(nn)(t,e,xe({dragEl:hr,parentEl:fr,ghostEl:mr,rootEl:gr,nextEl:vr,lastDownEl:br,cloneEl:yr,cloneHidden:wr,dragStarted:Dr,putSortable:xr,activeSortable:nn.active,originalEvent:n,oldIndex:_r,oldDraggableIndex:jr,newIndex:Or,newDraggableIndex:Er,hideGhostForTarget:$r,unhideGhostForTarget:tn,cloneNowHidden:function(){wr=!0},cloneNowShown:function(){wr=!1},dispatchSortableEvent:function(t){dr({sortable:e,name:t,originalEvent:n})}},a))};function dr(t){ur(xe({putSortable:xr,cloneEl:yr,targetEl:hr,rootEl:gr,oldIndex:_r,oldDraggableIndex:jr,newIndex:Or,newDraggableIndex:Er},t))}var hr,fr,mr,gr,vr,br,yr,wr,_r,Or,jr,Er,Cr,xr,kr,zr,Nr,Sr,Mr,Ar,Dr,Tr,Pr,Br,Hr,Rr=!1,Lr=!1,Ir=[],Vr=!1,qr=!1,Ur=[],Qr=!1,Fr=[],Yr="undefined"!=typeof document,Gr=De,Xr=Se||Ne?"cssFloat":"float",Jr=Yr&&!Te&&!De&&"draggable"in document.createElement("div"),Wr=function(){if(Yr){if(Ne)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Zr=function(t,e){var r=Qe(t),n=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),a=We(t,0,e),o=We(t,1,e),i=a&&Qe(a),s=o&&Qe(o),c=i&&parseInt(i.marginLeft)+parseInt(i.marginRight)+Xe(a).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Xe(o).width;if("flex"===r.display)return"column"===r.flexDirection||"column-reverse"===r.flexDirection?"vertical":"horizontal";if("grid"===r.display)return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(a&&i.float&&"none"!==i.float){var u="left"===i.float?"left":"right";return!o||"both"!==s.clear&&s.clear!==u?"horizontal":"vertical"}return a&&("block"===i.display||"flex"===i.display||"table"===i.display||"grid"===i.display||c>=n&&"none"===r[Xr]||o&&"none"===r[Xr]&&c+l>n)?"vertical":"horizontal"},Kr=function(t){function e(t,r){return function(n,a,o,i){var s=n.options.group.name&&a.options.group.name&&n.options.group.name===a.options.group.name;if(null==t&&(r||s))return!0;if(null==t||!1===t)return!1;if(r&&"clone"===t)return t;if("function"==typeof t)return e(t(n,a,o,i),r)(n,a,o,i);var c=(r?n:a).options.group.name;return!0===t||"string"==typeof t&&t===c||t.join&&t.indexOf(c)>-1}}var r={},n=t.group;n&&"object"==je(n)||(n={name:n}),r.name=n.name,r.checkPull=e(n.pull,!0),r.checkPut=e(n.put),r.revertClone=n.revertClone,t.group=r},$r=function(){!Wr&&mr&&Qe(mr,"display","none")},tn=function(){!Wr&&mr&&Qe(mr,"display","")};Yr&&document.addEventListener("click",(function(t){if(Lr)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Lr=!1,!1}),!0);var en=function(t){if(hr){t=t.touches?t.touches[0]:t;var e=(a=t.clientX,o=t.clientY,Ir.some((function(t){if(!Ze(t)){var e=Xe(t),r=t[or].options.emptyInsertThreshold,n=a>=e.left-r&&a<=e.right+r,s=o>=e.top-r&&o<=e.bottom+r;return r&&n&&s?i=t:void 0}})),i);if(e){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.target=r.rootEl=e,r.preventDefault=void 0,r.stopPropagation=void 0,e[or]._onDragOver(r)}}var a,o,i},rn=function(t){hr&&hr.parentNode[or]._isOutsideThisEl(t.target)};function nn(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=Ce({},e),t[or]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Zr(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==nn.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var n in lr.initializePlugins(this,t,r),r)!(n in e)&&(e[n]=r[n]);for(var a in Kr(e),this)"_"===a.charAt(0)&&"function"==typeof this[a]&&(this[a]=this[a].bind(this));this.nativeDraggable=!e.forceFallback&&Jr,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Be(t,"pointerdown",this._onTapStart):(Be(t,"mousedown",this._onTapStart),Be(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(Be(t,"dragover",this),Be(t,"dragenter",this)),Ir.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Ce(this,ir())}function an(t,e,r,n,a,o,i,s){var c,l,u=t[or],p=u.options.onMove;return!window.CustomEvent||Ne||Se?(c=document.createEvent("Event")).initEvent("move",!0,!0):c=new CustomEvent("move",{bubbles:!0,cancelable:!0}),c.to=e,c.from=t,c.dragged=r,c.draggedRect=n,c.related=a||e,c.relatedRect=o||Xe(e),c.willInsertAfter=s,c.originalEvent=i,t.dispatchEvent(c),p&&(l=p.call(u,c,i)),l}function on(t){t.draggable=!1}function sn(){Qr=!1}function cn(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,r=e.length,n=0;r--;)n+=e.charCodeAt(r);return n.toString(36)}function ln(t){return setTimeout(t,0)}function un(t){return clearTimeout(t)}nn.prototype={constructor:nn,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(Tr=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,hr):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,r=this.el,n=this.options,a=n.preventOnFilter,o=t.type,i=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,s=(i||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,l=n.filter;if(function(t){Fr.length=0;var e=t.getElementsByTagName("input"),r=e.length;for(;r--;){var n=e[r];n.checked&&Fr.push(n)}}(r),!hr&&!(/mousedown|pointerdown/.test(o)&&0!==t.button||n.disabled||c.isContentEditable||(s=Ie(s,n.draggable,r,!1))&&s.animated||br===s)){if(_r=Ke(s),jr=Ke(s,n.draggable),"function"==typeof l){if(l.call(this,t,s,this))return dr({sortable:e,rootEl:c,name:"filter",targetEl:s,toEl:r,fromEl:r}),pr("filter",e,{evt:t}),void(a&&t.cancelable&&t.preventDefault())}else if(l&&(l=l.split(",").some((function(n){if(n=Ie(c,n.trim(),r,!1))return dr({sortable:e,rootEl:n,name:"filter",targetEl:s,fromEl:r,toEl:r}),pr("filter",e,{evt:t}),!0}))))return void(a&&t.cancelable&&t.preventDefault());n.handle&&!Ie(c,n.handle,r,!1)||this._prepareDragStart(t,i,s)}}},_prepareDragStart:function(t,e,r){var n,a=this,o=a.el,i=a.options,s=o.ownerDocument;if(r&&!hr&&r.parentNode===o){var c=Xe(r);if(gr=o,fr=(hr=r).parentNode,vr=hr.nextSibling,br=r,Cr=i.group,nn.dragged=hr,kr={target:hr,clientX:(e||t).clientX,clientY:(e||t).clientY},Mr=kr.clientX-c.left,Ar=kr.clientY-c.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,hr.style["will-change"]="all",n=function(){pr("delayEnded",a,{evt:t}),nn.eventCanceled?a._onDrop():(a._disableDelayedDragEvents(),!Me&&a.nativeDraggable&&(hr.draggable=!0),a._triggerDragStart(t,e),dr({sortable:a,name:"choose",originalEvent:t}),Ue(hr,i.chosenClass,!0))},i.ignore.split(",").forEach((function(t){Ye(hr,t.trim(),on)})),Be(s,"dragover",en),Be(s,"mousemove",en),Be(s,"touchmove",en),Be(s,"mouseup",a._onDrop),Be(s,"touchend",a._onDrop),Be(s,"touchcancel",a._onDrop),Me&&this.nativeDraggable&&(this.options.touchStartThreshold=4,hr.draggable=!0),pr("delayStart",this,{evt:t}),!i.delay||i.delayOnTouchOnly&&!e||this.nativeDraggable&&(Se||Ne))n();else{if(nn.eventCanceled)return void this._onDrop();Be(s,"mouseup",a._disableDelayedDrag),Be(s,"touchend",a._disableDelayedDrag),Be(s,"touchcancel",a._disableDelayedDrag),Be(s,"mousemove",a._delayedDragTouchMoveHandler),Be(s,"touchmove",a._delayedDragTouchMoveHandler),i.supportPointer&&Be(s,"pointermove",a._delayedDragTouchMoveHandler),a._dragStartTimer=setTimeout(n,i.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){hr&&on(hr),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;He(t,"mouseup",this._disableDelayedDrag),He(t,"touchend",this._disableDelayedDrag),He(t,"touchcancel",this._disableDelayedDrag),He(t,"mousemove",this._delayedDragTouchMoveHandler),He(t,"touchmove",this._delayedDragTouchMoveHandler),He(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?Be(document,"pointermove",this._onTouchMove):Be(document,e?"touchmove":"mousemove",this._onTouchMove):(Be(hr,"dragend",this),Be(gr,"dragstart",this._onDragStart));try{document.selection?ln((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(Rr=!1,gr&&hr){pr("dragStarted",this,{evt:e}),this.nativeDraggable&&Be(document,"dragover",rn);var r=this.options;!t&&Ue(hr,r.dragClass,!1),Ue(hr,r.ghostClass,!0),nn.active=this,t&&this._appendGhost(),dr({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(zr){this._lastX=zr.clientX,this._lastY=zr.clientY,$r();for(var t=document.elementFromPoint(zr.clientX,zr.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(zr.clientX,zr.clientY))!==e;)e=t;if(hr.parentNode[or]._isOutsideThisEl(t),e)do{if(e[or]){if(e[or]._onDragOver({clientX:zr.clientX,clientY:zr.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);tn()}},_onTouchMove:function(t){if(kr){var e=this.options,r=e.fallbackTolerance,n=e.fallbackOffset,a=t.touches?t.touches[0]:t,o=mr&&Fe(mr),i=mr&&o&&o.a,s=mr&&o&&o.d,c=Gr&&Hr&&$e(Hr),l=(a.clientX-kr.clientX+n.x)/(i||1)+(c?c[0]-Ur[0]:0)/(i||1),u=(a.clientY-kr.clientY+n.y)/(s||1)+(c?c[1]-Ur[1]:0)/(s||1);if(!nn.active&&!Rr){if(r&&Math.max(Math.abs(a.clientX-this._lastX),Math.abs(a.clientY-this._lastY))n.right+10||t.clientX<=n.right&&t.clientY>n.bottom&&t.clientX>=n.left:t.clientX>n.right&&t.clientY>n.top||t.clientX<=n.right&&t.clientY>n.bottom+10}(t,a,this)&&!m.animated){if(m===hr)return S(!1);if(m&&o===t.target&&(i=m),i&&(r=Xe(i)),!1!==an(gr,o,hr,e,i,r,t,!!i))return N(),o.appendChild(hr),fr=o,M(),S(!0)}else if(i.parentNode===o){r=Xe(i);var g,v,b,y=hr.parentNode!==o,w=!function(t,e,r){var n=r?t.left:t.top,a=r?t.right:t.bottom,o=r?t.width:t.height,i=r?e.left:e.top,s=r?e.right:e.bottom,c=r?e.width:e.height;return n===i||a===s||n+o/2===i+c/2}(hr.animated&&hr.toRect||e,i.animated&&i.toRect||r,a),_=a?"top":"left",O=Je(i,"top","top")||Je(hr,"top","top"),j=O?O.scrollTop:void 0;if(Tr!==i&&(v=r[_],Vr=!1,qr=!w&&s.invertSwap||y),0!==(g=function(t,e,r,n,a,o,i,s){var c=n?t.clientY:t.clientX,l=n?r.height:r.width,u=n?r.top:r.left,p=n?r.bottom:r.right,d=!1;if(!i)if(s&&Bru+l*o/2:cp-Br)return-Pr}else if(c>u+l*(1-a)/2&&cp-l*o/2))return c>u+l/2?1:-1;return 0}(t,i,r,a,w?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,qr,Tr===i))){var E=Ke(hr);do{E-=g,b=fr.children[E]}while(b&&("none"===Qe(b,"display")||b===mr))}if(0===g||b===i)return S(!1);Tr=i,Pr=g;var C=i.nextElementSibling,x=!1,k=an(gr,o,hr,e,i,r,t,x=1===g);if(!1!==k)return 1!==k&&-1!==k||(x=1===k),Qr=!0,setTimeout(sn,30),N(),x&&!C?o.appendChild(hr):i.parentNode.insertBefore(hr,x?C:i),O&&nr(O,0,j-O.scrollTop),fr=hr.parentNode,void 0===v||qr||(Br=Math.abs(v-Xe(i)[_])),M(),S(!0)}if(o.contains(hr))return S(!1)}return!1}function z(s,c){pr(s,h,xe({evt:t,isOwner:u,axis:a?"vertical":"horizontal",revert:n,dragRect:e,targetRect:r,canSort:p,fromSortable:d,target:i,completed:S,onMove:function(r,n){return an(gr,o,hr,e,r,Xe(r),t,n)},changed:M},c))}function N(){z("dragOverAnimationCapture"),h.captureAnimationState(),h!==d&&d.captureAnimationState()}function S(e){return z("dragOverCompleted",{insertion:e}),e&&(u?l._hideClone():l._showClone(h),h!==d&&(Ue(hr,xr?xr.options.ghostClass:l.options.ghostClass,!1),Ue(hr,s.ghostClass,!0)),xr!==h&&h!==nn.active?xr=h:h===nn.active&&xr&&(xr=null),d===h&&(h._ignoreWhileAnimating=i),h.animateAll((function(){z("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(i===hr&&!hr.animated||i===o&&!i.animated)&&(Tr=null),s.dragoverBubble||t.rootEl||i===document||(hr.parentNode[or]._isOutsideThisEl(t.target),!e&&en(t)),!s.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),f=!0}function M(){Or=Ke(hr),Er=Ke(hr,s.draggable),dr({sortable:h,name:"change",toEl:o,newIndex:Or,newDraggableIndex:Er,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){He(document,"mousemove",this._onTouchMove),He(document,"touchmove",this._onTouchMove),He(document,"pointermove",this._onTouchMove),He(document,"dragover",en),He(document,"mousemove",en),He(document,"touchmove",en)},_offUpEvents:function(){var t=this.el.ownerDocument;He(t,"mouseup",this._onDrop),He(t,"touchend",this._onDrop),He(t,"pointerup",this._onDrop),He(t,"touchcancel",this._onDrop),He(document,"selectstart",this)},_onDrop:function(t){var e=this.el,r=this.options;Or=Ke(hr),Er=Ke(hr,r.draggable),pr("drop",this,{evt:t}),fr=hr&&hr.parentNode,Or=Ke(hr),Er=Ke(hr,r.draggable),nn.eventCanceled||(Rr=!1,qr=!1,Vr=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),un(this.cloneId),un(this._dragStartId),this.nativeDraggable&&(He(document,"drop",this),He(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ae&&Qe(document.body,"user-select",""),t&&(Dr&&(t.cancelable&&t.preventDefault(),!r.dropBubble&&t.stopPropagation()),mr&&mr.parentNode&&mr.parentNode.removeChild(mr),(gr===fr||xr&&"clone"!==xr.lastPutMode)&&yr&&yr.parentNode&&yr.parentNode.removeChild(yr),hr&&(this.nativeDraggable&&He(hr,"dragend",this),on(hr),hr.style["will-change"]="",Dr&&!Rr&&Ue(hr,xr?xr.options.ghostClass:this.options.ghostClass,!1),Ue(hr,this.options.chosenClass,!1),dr({sortable:this,name:"unchoose",toEl:fr,newIndex:null,newDraggableIndex:null,originalEvent:t}),gr!==fr?(Or>=0&&(dr({rootEl:fr,name:"add",toEl:fr,fromEl:gr,originalEvent:t}),dr({sortable:this,name:"remove",toEl:fr,originalEvent:t}),dr({rootEl:fr,name:"sort",toEl:fr,fromEl:gr,originalEvent:t}),dr({sortable:this,name:"sort",toEl:fr,originalEvent:t})),xr&&xr.save()):Or!==_r&&Or>=0&&(dr({sortable:this,name:"update",toEl:fr,originalEvent:t}),dr({sortable:this,name:"sort",toEl:fr,originalEvent:t})),nn.active&&(null!=Or&&-1!==Or||(Or=_r,Er=jr),dr({sortable:this,name:"end",toEl:fr,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){pr("nulling",this),gr=hr=fr=mr=vr=yr=br=wr=kr=zr=Dr=Or=Er=_r=jr=Tr=Pr=xr=Cr=nn.dragged=nn.ghost=nn.clone=nn.active=null,Fr.forEach((function(t){t.checked=!0})),Fr.length=Nr=Sr=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":hr&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],r=this.el.children,n=0,a=r.length,o=this.options;n0)&&!(n=o.next()).done;)i.push(n.value)}catch(t){a={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function An(){for(var t=[],e=0;e0?"multidrag":t.swapItem?"swap":"normal"}function In(t){t.list,t.setList,t.children,t.tag,t.style,t.className,t.clone,t.onAdd,t.onChange,t.onChoose,t.onClone,t.onEnd,t.onFilter,t.onRemove,t.onSort,t.onStart,t.onUnchoose,t.onUpdate,t.onMove,t.onSpill,t.onSelect,t.onDeselect;return function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(t);a when using the "'+o+'" plugin')}Tn(c),i.forEach((function(r){var n=r.oldIndex,a=e.props.clone(r.item,t);s.splice(n,1,a)}))}a(s=s.map((function(t){return Sn(Sn({},t),{selected:!1})})),this.sortable,Vn)},e.prototype.onUpdate=function(t){var e=this.props,r=e.list,n=e.setList,a=Bn(t,r);return Tn(a),Pn(a),n(function(t,e){return Rn(t,Hn(t,e))}(a,r),this.sortable,Vn)},e.prototype.onStart=function(t){Vn.dragging=this},e.prototype.onEnd=function(t){Vn.dragging=null},e.prototype.onChoose=function(t){var e=this.props,r=e.list,n=e.setList,a=An(r);a[t.oldIndex].chosen=!0,n(a,this.sortable,Vn)},e.prototype.onUnchoose=function(t){var e=this.props,r=e.list,n=e.setList,a=An(r);a[t.oldIndex].chosen=!1,n(a,this.sortable,Vn)},e.prototype.onSpill=function(t){var e=this.props,r=e.removeOnSpill,n=e.revertOnSpill;r&&!n&&Dn(t.item)},e.prototype.onSelect=function(t){var e=this.props,r=e.list,n=e.setList,a=An(r).map((function(t){return Sn(Sn({},t),{selected:!1})}));t.newIndicies.forEach((function(e){var r=e.index;if(-1===r)return console.log('"'+t.type+'" had indice of "'+e.index+"\", which is probably -1 and doesn't usually happen here."),void console.log(t);a[r].selected=!0})),n(a,this.sortable,Vn)},e.prototype.onDeselect=function(t){var e=this.props,r=e.list,n=e.setList,a=An(r).map((function(t){return Sn(Sn({},t),{selected:!1})}));t.newIndicies.forEach((function(t){var e=t.index;-1!==e&&(a[e].selected=!0)})),n(a,this.sortable,Vn)},e.defaultProps={clone:function(t){return t}},e}(C.Component),Un=wp.components,Qn=Un.Dashicon,Fn=Un.Button,Yn=function(t){var e=AstraBuilderCustomizerData&&AstraBuilderCustomizerData.choices&&AstraBuilderCustomizerData.choices[t.controlParams.group]?AstraBuilderCustomizerData.choices[t.controlParams.group]:[];return Object(a.createElement)("div",{className:"ahfb-builder-item","data-id":t.item,"data-section":void 0!==e[t.item]&&void 0!==e[t.item].section?e[t.item].section:"",key:t.item,onClick:function(){t.focusItem(void 0!==e[t.item]&&void 0!==e[t.item].section?e[t.item].section:"")}},Object(a.createElement)("span",{className:"ahfb-builder-item-text"},void 0!==e[t.item]&&void 0!==e[t.item].name?e[t.item].name:""),Object(a.createElement)(Fn,{className:"ahfb-builder-item-icon",onClick:function(e){e.stopPropagation(),t.removeItem(t.item)}},Object(a.createElement)(Qn,{icon:"no-alt"})))};function Gn(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Xn(t){for(var e=1;e0?t.items:[],n=t.choices,o=[];r.length>0&&r.map((function(t,e){Object.keys(n).includes(t)?o.push({id:t}):r.splice(e,1)}));var i=void 0!==t.centerItems&&null!=t.centerItems&&null!=t.centerItems.length&&t.centerItems.length>0?t.centerItems:[],s=[];i.length>0&&i.map((function(t,e){Object.keys(n).includes(t)?s.push({id:t}):i.splice(e,1)}));var c=function(r,n,o){var i=o.replace("_","-");return Object(a.createElement)(ra,null,Object(a.createElement)(qn,{animation:100,onStart:function(){return t.showDrop()},onEnd:function(){return t.hideDrop()},group:t.controlParams.group,className:"ahfb-builder-drop ahfb-builder-sortable-panel ahfb-builder-drop-"+e+o,list:r,setList:function(e){return t.onUpdate(t.row,t.zone+o,e)}},n.length>0&&n.map((function(e,r){return Object(a.createElement)(Yn,{removeItem:function(e){return t.removeItem(e,t.row,t.zone+o)},focusItem:function(e){return t.focusItem(e)},key:e,index:r,item:e,controlParams:t.controlParams})}))),Object(a.createElement)(ea,{row:t.row,list:r,settings:t.settings,column:t.zone+o,setList:function(e){return t.onAddItem(t.row,t.zone+o,e)},key:e,location:e+o,id:"add"+i+"-"+e,controlParams:t.controlParams,choices:t.choices}))};return"footer"===t.mode?Object(a.createElement)("div",{className:"ahfb-builder-area ahfb-builder-area-".concat(e),"data-location":t.zone},c(o,r,"")):Object(a.createElement)("div",{className:"ahfb-builder-area ahfb-builder-area-".concat(e),"data-location":t.zone},"astra-settings[header-desktop-items]"===t.controlParams.group&&"right"===e&&c(s,i,"_center"),c(o,r,""),"astra-settings[header-desktop-items]"===t.controlParams.group&&"left"===e&&c(s,i,"_center"))},aa=wp.i18n.__,oa=wp.components,ia=oa.Dashicon,sa=oa.Button,ca=function(t){var e="no-center-items",r=-1!==t.controlParams.group.indexOf("header")?"header":"footer",n=[],o="",i=0,s=!0;if("footer"===r&&(o="ast-grid-row-layout-".concat(t.layout[t.row].layout.desktop),i=t.layout[t.row].column-1,Object.keys(t.controlParams.zones[t.row]).map((function(e,r){i0&&(e="has-center-items"),"popup"===t.row&&(e="popup-vertical-group"),t.controlParams.hasOwnProperty("status"))switch(t.row){case"above":t.controlParams.status.above||(s=!1,"ahfb-grid-disabled");break;case"primary":t.controlParams.status.primary||(s=!1,"ahfb-grid-disabled");break;case"below":t.controlParams.status.below||(s=!1,"ahfb-grid-disabled")}return Object(a.createElement)("div",{className:"ahfb-builder-areas ahfb-builder-mode-".concat(r," ").concat(e),"data-row":t.row,"data-row-section":"section-"+t.row+"-"+r+"-builder"},Object(a.createElement)(sa,{className:"ahfb-row-actions",title:"popup"===t.row?aa("Off Canvas","astra"):(t.row+" "+r).charAt(0).toUpperCase()+(t.row+" "+r).slice(1).toLowerCase(),onClick:function(){return t.focusPanel(t.row+"-"+r)}},Object(a.createElement)(ia,{icon:"admin-generic"}),"popup"===t.row&&Object(a.createElement)(a.Fragment,null,aa("Off Canvas","astra"))),Object(a.createElement)("div",{className:"ahfb-builder-group ahfb-builder-group-horizontal ".concat(o),"data-setting":t.row},Object.keys(t.controlParams.zones[t.row]).map((function(e,o){if(!("footer"===r&&i1&&void 0!==arguments[1]?arguments[1]:"",n=t.control.setting;if("popup"===r){var a=t.customizer("astra-settings[header-mobile-popup-items]");a.set(!a.get())}n.set(ua(ua(ua({},n.get()),e),{},{flag:!n.get().flag}))};Object(C.useEffect)((function(){document.addEventListener("AstraBuilderPresetSettingsUpdate",(function(t){i.group===t.detail.id&&(p((function(e){return ua(ua({},e),{},{value:t.detail.grid_layout})})),d(t.detail.grid_layout))})),document.addEventListener("AstraBuilderChangeRowLayout",(function(t){if("astra-settings[footer-desktop-items]"===i.group&&""!==t.detail.type){var e=i;e.layouts[t.detail.type]&&(e.layouts[t.detail.type]={column:t.detail.columns,layout:t.detail.layout},p((function(t){return ua(ua({},t),{},{layout:e.layouts})})),d(e))}}))}),[]);var h=function(){for(var t=document.querySelectorAll(".ahfb-builder-area"),e=0;e0&&a[r].map((function(e){t!==e&&o.push(e)})),"astra-settings[header-desktop-items]"===i.group&&e+"_center"===r&&0===o.length&&(a[e+"_left_center"].length>0&&(a[e+"_left_center"].map((function(t){n[e][e+"_left"].push(t)})),n[e][e+"_left_center"]=[]),a[e+"_right_center"].length>0&&(a[e+"_right_center"].map((function(t){n[e][e+"_right"].push(t)})),n[e][e+"_right_center"]=[])),a[r]=o,n[e][r]=o,p((function(t){return ua(ua({},t),{},{value:n})})),d(n,e);var s=new CustomEvent("AstraBuilderRemovedBuilderItem",{detail:i.group});document.dispatchEvent(s)},g=function(t,e,r){var n=u.value,a=n[t],o=[];r.length>0&&r.map((function(t){o.push(t.id)})),b(a[e],o)||("astra-settings[header-desktop-items]"===i.group&&t+"_center"===e&&0===o.length&&(a[t+"_left_center"].length>0&&(a[t+"_left_center"].map((function(e){n[t][t+"_left"].push(e)})),n[t][t+"_left_center"]=[]),a[t+"_right_center"].length>0&&(a[t+"_right_center"].map((function(e){n[t][t+"_right"].push(e)})),n[t][t+"_right_center"]=[])),a[e]=o,n[t][e]=o,p((function(t){return ua(ua({},t),{},{value:n})})),d(n,t))},v=function(t,e,r){g(t,e,r);var n=new CustomEvent("AstraBuilderRemovedBuilderItem",{detail:i.group});document.dispatchEvent(n)},b=function(t,e){if(t===e)return!0;if(null==t||null==e)return!1;if(t.length!=e.length)return!1;for(var r=0;re.value?1:0}))},i=t.control.params.input_attrs?Ea(Ea({},o),t.control.params.input_attrs):o,s=[];i.options.map((function(t){e.items.some((function(e){return e.id===t.value}))||s.push(t)}));var c=Object(C.useState)({value:e,isVisible:!1,control:void 0!==s[0]&&void 0!==s[0].value?s[0].value:""}),l=O()(c,2),u=l[0],p=l[1],d=function(e){t.control.setting.set(Ea(Ea(Ea({},t.control.setting.get()),e),{},{flag:!t.control.setting.get().flag}))},h=function(){var t,e=document.querySelectorAll(".ahfb-builder-area");for(t=0;t0?u.value.items:[],v=[];g.length>0&&g.map((function(t){v.push({id:t.id})}));return Object(a.createElement)("div",{className:"ahfb-control-field ahfb-sorter-items"},Object(a.createElement)("div",{className:"ahfb-sorter-row"},Object(a.createElement)(qn,{animation:100,onStart:function(){return h()},onEnd:function(){return h()},group:i.group,className:"ahfb-sorter-drop ahfb-sorter-sortable-panel ahfb-sorter-drop-".concat(i.group),handle:".ahfb-sorter-item-panel-header",list:v,setList:function(t){return e=t,r=u.value,n=r.items,a=[],e.length>0&&e.map((function(t){n.filter((function(e){e.id===t.id&&a.push(e)}))})),void(m(n,a)||(n.items=a,r.items=a,p((function(t){return Ea(Ea({},t),{},{value:r})})),d(r)));var e,r,n,a}},g.length>0&&g.map((function(t,e){return Object(a.createElement)(Oa,{removeItem:function(t){return e=t,r=u.value,n=r.items,a=[],n.length>0&&n.map((function(t,r){e!==r&&a.push(t)})),r.items=a,p((function(t){return Ea(Ea({},t),{},{value:r})})),void d(r);var e,r,n,a},toggleEnabled:function(t,e){return function(t,e){f({enabled:t},e)}(t,e)},onChangeLabel:function(t,e){return function(t,e){f({label:t},e)}(t,e)},onChangeURL:function(t,e){return function(t,e){f({url:t},e)}(t,e)},key:t.id,index:e,item:t,controlParams:i})})))),void 0!==s[0]&&void 0!==s[0].value&&Object(a.createElement)("div",{className:"ahfb-social-add-area"},Object(a.createElement)(za,{value:u.control,options:s,onChange:function(t){p((function(e){return Ea(Ea({},e),{},{control:t})}))}}),Object(a.createElement)(ka,{className:"ahfb-sorter-add-item",isPrimary:!0,onClick:function(){!function(){var t=u.control;if(p((function(t){return Ea(Ea({},t),{},{isVisible:!1})})),t){var e=u.value,r=e.items,n=i.options.filter((function(e){return e.value===t})),a={id:t,enabled:!0,url:"",color:n[0].color,background:n[0].background,icon:t,label:n[0].label};r.push(a),e.items=r;var o=[];i.options.map((function(t){r.some((function(e){return e.id===t.value}))||o.push(t)})),p((function(t){return Ea(Ea({},t),{},{control:void 0!==o[0]&&void 0!==o[0].value?o[0].value:""})})),p((function(t){return Ea(Ea({},t),{},{value:e})})),d(e)}}()}},Ca("Add Social Icon","astra"))))};Na.propTypes={control:i.a.object.isRequired};var Sa=React.memo(Na),Ma=wp.customize.astraControl.extend({renderContent:function(){ReactDOM.render(Object(a.createElement)(Sa,{control:this}),this.container[0])}}),Aa=r(44),Da=r.n(Aa);function Ta(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Pa(t){for(var e=1;e\&]/gim,(function(t){return""+t.charCodeAt(0)+";"}));e.remove(),r.append(" ")}},xo=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("undefined"!=typeof AstraBuilderCustomizerData){var r=e||AstraBuilderCustomizerData.contexts[t];if(r){var n=function(t){switch(t){case"ast_selected_device":return vo.previewedDevice;case"ast_selected_tab":return vo.state("astra-customizer-tab");default:return vo(t)}},a=function(t){var e=function t(e,r,a){return _.each(e,(function(e,o){if("relation"!=o&&("AND"!=r||0!=a))if(void 0===e.setting){var i=e.relation;if(!i)return;a=t(e,i,!1)}else{var s=function(t){var e=!1,r=n(t.setting);if(void 0===r)return!1;var a=t.operator,o=t.value,i=r.get();switch(null!=a&&"="!=a||(a="=="),a){case">":e=i>o;break;case"<":e=i=":e=i>=o;break;case"<=":e=i<=o;break;case"in":e=0<=o.indexOf(i);break;case"contains":e=0<=i.indexOf(o);break;case"!=":e=o!=i;break;default:e=o==i}return e}(e);a=function(t,e,r){switch(t){case"OR":e=e||r;break;default:e=e&&r}return e}(r,a,s)}})),a},a=function(){var t=!1,n=r.relation;return"OR"!==n&&(n="AND",t=!0),e(r,n,t)},o=function(){t._toggleActive(a(),{duration:0})};!function t(e){_.each(e,(function(e,r){var a=n(e.setting);void 0!==a?a.bind(o):e.relation&&t(e)}))}(r),t.active.validate=a,o()};vo.control(t,a)}}},vo.bind("ready",(function(){vo.state.create("astra-customizer-tab"),vo.state("astra-customizer-tab").set("general"),go("#customize-theme-controls").on("click",".ahfb-build-tabs-button:not(.ahfb-nav-tabs-button)",(function(t){t.preventDefault(),vo.previewedDevice.set(go(this).attr("data-device"))})),go("#customize-theme-controls").on("click",".ahfb-compontent-tabs-button:not(.ahfb-nav-tabs-button)",(function(t){t.preventDefault(),vo.state("astra-customizer-tab").set(go(this).attr("data-tab"))})),vo.state("astra-customizer-tab").bind((function(){var t=vo.state("astra-customizer-tab").get();go(".ahfb-compontent-tabs-button:not(.ahfb-nav-tabs-button)").removeClass("nav-tab-active").filter(".ahfb-"+t+"-tab").addClass("nav-tab-active")})),bo.on("resize",Oo),Eo.initializeConfigs(),vo.section.each((function(t){t.expanded.bind((function(e){Eo.setControlContextBySection(vo.section(t.id)),e||vo.state("astra-customizer-tab").set("general"),go("#sub-accordion-panel-"+_o+" li.control-section").hide();var r,n=vo.section(t.id);(r=new URLSearchParams(window.location.search).get("context"))&&vo.state("astra-customizer-tab").set(r),_.each(t.controls(),(function(t){!function(t){var e=go(".ahfb-builder-drop .ahfb-builder-item");go.each(e,(function(e,r){var n=go(r).attr("data-section");n===t.id&&go("#sub-accordion-section-"+n).hasClass("open")?go(r).addClass("active-builder-item"):go(r).removeClass("active-builder-item")}))}(n),function(t){var e=go(".ahfb-builder-items .ahfb-builder-areas");go.each(e,(function(e,r){var n=go(r).attr("data-row-section");n===t.id&&go("#sub-accordion-section-"+n).hasClass("open")?go(r).addClass("active-builder-row"):go(r).removeClass("active-builder-row")}))}(n)}))}))})),Eo.moveDefaultSection(),vo.previewer.bind("ready",(function(){Eo.setDefaultControlContext()}))})),function(t,e){e.bind("ready",(function(){sessionStorage.removeItem("astPartialContentRendered"),e("astra-settings[hba-footer-column]",(function(t){t.bind((function(t){var r=new CustomEvent("AstraBuilderChangeRowLayout",{detail:{columns:t,layout:e.value("astra-settings[hba-footer-layout]").get(),type:"above"}});document.dispatchEvent(r)}))})),e("astra-settings[hb-footer-column]",(function(t){t.bind((function(t){var r=new CustomEvent("AstraBuilderChangeRowLayout",{detail:{columns:t,layout:e.value("astra-settings[hb-footer-layout]").get(),type:"primary"}});document.dispatchEvent(r)}))})),e("astra-settings[hbb-footer-column]",(function(t){t.bind((function(t){var r=new CustomEvent("AstraBuilderChangeRowLayout",{detail:{columns:t,layout:e.value("astra-settings[hbb-footer-layout]").get(),type:"below"}});document.dispatchEvent(r)}))})),e("astra-settings[different-mobile-logo]",(function(t){t.bind((function(t){var r=e.control("astra-settings[mobile-header-logo]");!t&&r&&r.container.find(".remove-button").click()}))})),e.previewedDevice.bind((function(t,r){e.previewer.send("astPreviewDeviceChanged",{device:t});var n=sessionStorage.getItem("astPartialContentRendered"),a=e.state("saved").get();if(n&&!a){var o=e("desktop"===t?"astra-settings[header-desktop-items]":"astra-settings[header-mobile-items]");void 0!==o&&o.set(So(So(So({},o.get()),[]),{},{flag:!o.get().flag}))}}))}))}(jQuery,wp.customize),window.svgIcons=n,wp.customize.controlConstructor["ast-heading"]=l,wp.customize.controlConstructor["ast-hidden"]=d,wp.customize.controlConstructor["ast-description"]=v,wp.customize.controlConstructor["ast-link"]=M,wp.customize.controlConstructor["ast-divider"]=T,wp.customize.controlConstructor["ast-settings-group"]=Vt,wp.customize.controlConstructor["ast-color"]=qt,wp.customize.controlConstructor["ast-customizer-link"]=Kt,wp.customize.controlConstructor["ast-slider"]=ee,wp.customize.controlConstructor["ast-radio-image"]=ae,wp.customize.controlConstructor["ast-select"]=ie,wp.customize.controlConstructor["ast-header-type-button"]=eo,wp.customize.controlConstructor["ast-builder-header-control"]=Oe,wp.customize.controlConstructor["ast-sortable"]=Xt,wp.customize.controlConstructor["ast-font-family"]=le,wp.customize.controlConstructor["ast-font-weight"]=de,wp.customize.controlConstructor["ast-responsive-select"]=ve,wp.customize.controlConstructor["ast-responsive-slider"]=te,wp.customize.controlConstructor["ast-responsive-spacing"]=oe,wp.customize.controlConstructor["ast-border"]=Jt,wp.customize.controlConstructor["ast-responsive"]=$t,wp.customize.controlConstructor["ast-responsive-color"]=Ut,wp.customize.controlConstructor["ast-responsive-background"]=Qt,wp.customize.controlConstructor["ast-background"]=Ft,wp.customize.controlConstructor["ast-social-icons"]=Ma,wp.customize.controlConstructor["ast-html-editor"]=Ra,wp.customize.controlConstructor["ast-builder"]=ha,wp.customize.controlConstructor["ast-draggable-items"]=Ga,wp.customize.controlConstructor["ast-row-layout"]=zo}]);