HEX
Server: Apache
System: Linux b5.s-host.com.ua 4.18.0-305.10.2.el7.x86_64 #1 SMP Fri Jul 23 21:00:55 UTC 2021 x86_64
User: unelbhzm (1470)
PHP: 8.0.18
Disabled: NONE
Upload Files
File: /sites/nuofama.com/wp-content/themes/blocksy/static/bundle/editor.js.map
{"version":3,"file":"editor.js","mappings":"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","sources":["webpack://small-ct/./node_modules/call-bind/callBound.js","webpack://small-ct/./node_modules/call-bind/index.js","webpack://small-ct/./node_modules/customizer-sync-helpers/dist/promote-into-responsive.js","webpack://small-ct/./node_modules/for-each/index.js","webpack://small-ct/./node_modules/function-bind/implementation.js","webpack://small-ct/./node_modules/function-bind/index.js","webpack://small-ct/./node_modules/get-intrinsic/index.js","webpack://small-ct/./node_modules/has-symbols/index.js","webpack://small-ct/./node_modules/has-symbols/shams.js","webpack://small-ct/./node_modules/has-tostringtag/shams.js","webpack://small-ct/./node_modules/has/src/index.js","webpack://small-ct/./node_modules/inherits/inherits_browser.js","webpack://small-ct/./node_modules/is-arguments/index.js","webpack://small-ct/./node_modules/is-callable/index.js","webpack://small-ct/./node_modules/is-generator-function/index.js","webpack://small-ct/./node_modules/is-typed-array/index.js","webpack://small-ct/./node_modules/process/browser.js","webpack://small-ct/./node_modules/util/support/isBufferBrowser.js","webpack://small-ct/./node_modules/util/support/types.js","webpack://small-ct/./node_modules/util/util.js","webpack://small-ct/./node_modules/which-typed-array/index.js","webpack://small-ct/./node_modules/available-typed-arrays/index.js","webpack://small-ct/./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack://small-ct/webpack/bootstrap","webpack://small-ct/webpack/runtime/compat get default export","webpack://small-ct/webpack/runtime/define property getters","webpack://small-ct/webpack/runtime/global","webpack://small-ct/webpack/runtime/hasOwnProperty shorthand","webpack://small-ct/external var \"window.wp.element\"","webpack://small-ct/external var \"window.wp.plugins\"","webpack://small-ct/external var \"window.wp.editPost\"","webpack://small-ct/external var \"window.wp.data\"","webpack://small-ct/external var \"window.wp.compose\"","webpack://small-ct/external var \"window.wp.components\"","webpack://small-ct/external var \"ctEvents\"","webpack://small-ct/./node_modules/customizer-sync-helpers/dist/index.es.js","webpack://small-ct/external var \"window.blocksyOptions\"","webpack://small-ct/./static/js/customizer/sync/variables/background.js","webpack://small-ct/./static/js/editor/variables.js","webpack://small-ct/./static/js/customizer/sync/helpers.js","webpack://small-ct/./static/js/editor/sync.js","webpack://small-ct/external var \"window.wp.i18n\"","webpack://small-ct/external var \"window.wp.primitives\"","webpack://small-ct/./static/js/editor.js"],"sourcesContent":["'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar maybePromoteScalarValueIntoResponsive = function maybePromoteScalarValueIntoResponsive(value) {\n  var isResponsive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n  /**\n   * Responsive value must necessarily have the desktop key attached to it\n   */\n  if (value && Object.keys(value).indexOf('desktop') > -1) {\n    if (!isResponsive) {\n      return value.desktop;\n    }\n\n    return value;\n  }\n\n  if (!isResponsive) {\n    return value;\n  }\n\n  return {\n    desktop: value,\n    tablet: value,\n    mobile: value\n  };\n};\n\nexports.maybePromoteScalarValueIntoResponsive = maybePromoteScalarValueIntoResponsive;\n//# sourceMappingURL=promote-into-responsive.js.map\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n    for (var i = 0, len = array.length; i < len; i++) {\n        if (hasOwnProperty.call(array, i)) {\n            if (receiver == null) {\n                iterator(array[i], i, array);\n            } else {\n                iterator.call(receiver, array[i], i, array);\n            }\n        }\n    }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n    for (var i = 0, len = string.length; i < len; i++) {\n        // no such thing as a sparse string.\n        if (receiver == null) {\n            iterator(string.charAt(i), i, string);\n        } else {\n            iterator.call(receiver, string.charAt(i), i, string);\n        }\n    }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n    for (var k in object) {\n        if (hasOwnProperty.call(object, k)) {\n            if (receiver == null) {\n                iterator(object[k], k, object);\n            } else {\n                iterator.call(receiver, object[k], k, object);\n            }\n        }\n    }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n    if (!isCallable(iterator)) {\n        throw new TypeError('iterator must be a function');\n    }\n\n    var receiver;\n    if (arguments.length >= 3) {\n        receiver = thisArg;\n    }\n\n    if (toStr.call(list) === '[object Array]') {\n        forEachArray(list, iterator, receiver);\n    } else if (typeof list === 'string') {\n        forEachString(list, iterator, receiver);\n    } else {\n        forEachObject(list, iterator, receiver);\n    }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slice.call(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                args.concat(slice.call(arguments))\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        } else {\n            return target.apply(\n                that,\n                args.concat(slice.call(arguments))\n            );\n        }\n    };\n\n    var boundLength = Math.max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs.push('$' + i);\n    }\n\n    bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n/* globals document: false */\nvar documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {};\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (value === documentDotAll) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (typeof value === 'function' && !value.prototype) { return true; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (value === documentDotAll) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (typeof value === 'function' && !value.prototype) { return true; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\treturn strClass === fnClass || strClass === genClass;\n\t};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n  var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n  var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n  if (typeof value !== 'object') {\n    return false;\n  }\n  try {\n    prototypeValueOf(value);\n    return true;\n  } catch(e) {\n    return false;\n  }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n    return ArrayBuffer.isView(value);\n  }\n\n  return (\n    isTypedArray(value) ||\n    isDataView(value)\n  );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n  return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n  return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n  return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n  return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n  return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n  return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n  return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n  return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n  return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n  return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n  return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n  return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n  typeof Map !== 'undefined' &&\n  isMapToString(new Map())\n);\n\nfunction isMap(value) {\n  if (typeof Map === 'undefined') {\n    return false;\n  }\n\n  return isMapToString.working\n    ? isMapToString(value)\n    : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n  return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n  typeof Set !== 'undefined' &&\n  isSetToString(new Set())\n);\nfunction isSet(value) {\n  if (typeof Set === 'undefined') {\n    return false;\n  }\n\n  return isSetToString.working\n    ? isSetToString(value)\n    : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n  return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n  typeof WeakMap !== 'undefined' &&\n  isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n  if (typeof WeakMap === 'undefined') {\n    return false;\n  }\n\n  return isWeakMapToString.working\n    ? isWeakMapToString(value)\n    : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n  return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n  typeof WeakSet !== 'undefined' &&\n  isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n  return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n  return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n  if (typeof ArrayBuffer === 'undefined') {\n    return false;\n  }\n\n  return isArrayBufferToString.working\n    ? isArrayBufferToString(value)\n    : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n  return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  typeof DataView !== 'undefined' &&\n  isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n  if (typeof DataView === 'undefined') {\n    return false;\n  }\n\n  return isDataViewToString.working\n    ? isDataViewToString(value)\n    : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n  return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n  if (typeof SharedArrayBufferCopy === 'undefined') {\n    return false;\n  }\n\n  if (typeof isSharedArrayBufferToString.working === 'undefined') {\n    isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n  }\n\n  return isSharedArrayBufferToString.working\n    ? isSharedArrayBufferToString(value)\n    : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n  return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n  return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n  return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n  return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n  return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n  return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n  return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n  return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n  return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n  return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n  return (\n    isNumberObject(value) ||\n    isStringObject(value) ||\n    isBooleanObject(value) ||\n    isBigIntObject(value) ||\n    isSymbolObject(value)\n  );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n  return typeof Uint8Array !== 'undefined' && (\n    isArrayBuffer(value) ||\n    isSharedArrayBuffer(value)\n  );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n  Object.defineProperty(exports, method, {\n    enumerable: false,\n    value: function() {\n      throw new Error(method + ' is not supported in userland');\n    }\n  });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n  function getOwnPropertyDescriptors(obj) {\n    var keys = Object.keys(obj);\n    var descriptors = {};\n    for (var i = 0; i < keys.length; i++) {\n      descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n    }\n    return descriptors;\n  };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  if (typeof process !== 'undefined' && process.noDeprecation === true) {\n    return fn;\n  }\n\n  // Allow for deprecating things in the process of starting up.\n  if (typeof process === 'undefined') {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n  var debugEnv = process.env.NODE_DEBUG;\n  debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n    .replace(/\\*/g, '.*')\n    .replace(/,/g, '$|^')\n    .toUpperCase();\n  debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (debugEnvRegex.test(set)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').substr(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.substr(1, name.length - 2);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n  if (typeof original !== 'function')\n    throw new TypeError('The \"original\" argument must be of type Function');\n\n  if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n    var fn = original[kCustomPromisifiedSymbol];\n    if (typeof fn !== 'function') {\n      throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n    }\n    Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n      value: fn, enumerable: false, writable: false, configurable: true\n    });\n    return fn;\n  }\n\n  function fn() {\n    var promiseResolve, promiseReject;\n    var promise = new Promise(function (resolve, reject) {\n      promiseResolve = resolve;\n      promiseReject = reject;\n    });\n\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n    args.push(function (err, value) {\n      if (err) {\n        promiseReject(err);\n      } else {\n        promiseResolve(value);\n      }\n    });\n\n    try {\n      original.apply(this, args);\n    } catch (err) {\n      promiseReject(err);\n    }\n\n    return promise;\n  }\n\n  Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n  if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n    value: fn, enumerable: false, writable: false, configurable: true\n  });\n  return Object.defineProperties(\n    fn,\n    getOwnPropertyDescriptors(original)\n  );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n  // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n  // Because `null` is a special error value in callbacks which means \"no error\n  // occurred\", we error-wrap so the callback consumer can distinguish between\n  // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n  if (!reason) {\n    var newReason = new Error('Promise was rejected with a falsy value');\n    newReason.reason = reason;\n    reason = newReason;\n  }\n  return cb(reason);\n}\n\nfunction callbackify(original) {\n  if (typeof original !== 'function') {\n    throw new TypeError('The \"original\" argument must be of type Function');\n  }\n\n  // We DO NOT return the promise as it gives the user a false sense that\n  // the promise is actually somehow related to the callback's execution\n  // and that the callback throwing will reject the promise.\n  function callbackified() {\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n\n    var maybeCb = args.pop();\n    if (typeof maybeCb !== 'function') {\n      throw new TypeError('The last argument must be of type Function');\n    }\n    var self = this;\n    var cb = function() {\n      return maybeCb.apply(self, arguments);\n    };\n    // In true node style we process the callback on `nextTick` with all the\n    // implications (stack, `uncaughtException`, `async_hooks`)\n    original.apply(this, args)\n      .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n            function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n  }\n\n  Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n  Object.defineProperties(callbackified,\n                          getOwnPropertyDescriptors(original));\n  return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.element;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.plugins;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.editPost;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.data;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.compose;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.components;","var __WEBPACK_NAMESPACE_OBJECT__ = ctEvents;","import require$$0 from 'util';\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    enumerableOnly && (symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    })), keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = null != arguments[i] ? arguments[i] : {};\n    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n    });\n  }\n\n  return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar maybePromoteScalarValueIntoResponsive = function maybePromoteScalarValueIntoResponsive(value) {\n  var isResponsive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n  /**\n   * Responsive value must necessarily have the desktop key attached to it\n   */\n  if (value && Object.keys(value).indexOf('desktop') > -1) {\n    if (!isResponsive) {\n      return value.desktop;\n    }\n\n    return value;\n  }\n\n  if (!isResponsive) {\n    return value;\n  }\n\n  return {\n    desktop: value,\n    tablet: value,\n    mobile: value\n  };\n};\n\nvar shadyCss = {};\n\nvar astIterator = {};\n\nvar common = {};\n\n(function (exports) {\n\t/**\n\t * @license\n\t * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n\t * This code may only be used under the BSD style license found at\n\t * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n\t * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n\t * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n\t * Google as part of the polymer project is also subject to an additional IP\n\t * rights grant found at http://polymer.github.io/PATENTS.txt\n\t */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t/**\n\t * A set of common RegExp matchers for tokenizing CSS.\n\t */\n\tconst matcher = {\n\t    whitespace: /\\s/,\n\t    whitespaceGreedy: /(\\s+)/g,\n\t    commentGreedy: /(\\*\\/)/g,\n\t    boundary: /[\\(\\)\\{\\}'\"@;:\\s]/,\n\t    stringBoundary: /['\"]/\n\t};\n\texports.matcher = matcher;\n\t(function (nodeType) {\n\t    nodeType[\"stylesheet\"] = \"stylesheet\";\n\t    nodeType[\"comment\"] = \"comment\";\n\t    nodeType[\"atRule\"] = \"atRule\";\n\t    nodeType[\"ruleset\"] = \"ruleset\";\n\t    nodeType[\"expression\"] = \"expression\";\n\t    nodeType[\"declaration\"] = \"declaration\";\n\t    nodeType[\"rulelist\"] = \"rulelist\";\n\t    nodeType[\"discarded\"] = \"discarded\";\n\t})(exports.nodeType || (exports.nodeType = {}));\n\t\n} (common));\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(astIterator, \"__esModule\", { value: true });\nconst util = require$$0;\nconst common_1$4 = common;\nfunction* iterateOverAst(node) {\n    yield node;\n    switch (node.type) {\n        case common_1$4.nodeType.stylesheet:\n            for (const rule of node.rules) {\n                yield* iterateOverAst(rule);\n            }\n            return;\n        case common_1$4.nodeType.ruleset:\n            return yield* iterateOverAst(node.rulelist);\n        case common_1$4.nodeType.rulelist:\n            for (const rule of node.rules) {\n                yield* iterateOverAst(rule);\n            }\n            return;\n        case common_1$4.nodeType.declaration:\n            if (node.value !== undefined) {\n                yield* iterateOverAst(node.value);\n            }\n            return;\n        case common_1$4.nodeType.atRule:\n            if (node.rulelist) {\n                yield* iterateOverAst(node.rulelist);\n            }\n            return;\n        case common_1$4.nodeType.expression:\n        case common_1$4.nodeType.comment:\n        case common_1$4.nodeType.discarded:\n            return; // no child nodes\n        default:\n            const never = node;\n            console.error(`Got a node of unknown type: ${util.inspect(never)}`);\n    }\n}\nastIterator.iterateOverAst = iterateOverAst;\n\nvar nodeFactory = {};\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(nodeFactory, \"__esModule\", { value: true });\nconst common_1$3 = common;\n/**\n * Class used for generating nodes in a CSS AST. Extend this class to implement\n * visitors to different nodes while the tree is being generated, and / or\n * custom node generation.\n */\nclass NodeFactory {\n    /**\n     * Creates a Stylesheet node.\n     * @param rules The list of rules that appear at the top\n     * level of the stylesheet.\n     */\n    stylesheet(rules, range) {\n        return { type: common_1$3.nodeType.stylesheet, rules, range };\n    }\n    /**\n     * Creates an At Rule node.\n     * @param name The \"name\" of the At Rule (e.g., `charset`)\n     * @param parameters The \"parameters\" of the At Rule (e.g., `utf8`)\n     * @param rulelist The Rulelist node (if any) of the At Rule.\n     */\n    atRule(name, parameters, rulelist = undefined, nameRange, parametersRange, range) {\n        return {\n            type: common_1$3.nodeType.atRule,\n            name,\n            parameters,\n            rulelist,\n            nameRange,\n            parametersRange,\n            range\n        };\n    }\n    /**\n     * Creates a Comment node.\n     * @param value The full text content of the comment, including\n     * opening and closing comment signature.\n     */\n    comment(value, range) {\n        return { type: common_1$3.nodeType.comment, value, range };\n    }\n    /**\n     * Creates a Rulelist node.\n     * @param rules An array of the Rule nodes found within the Ruleset.\n     */\n    rulelist(rules, range) {\n        return { type: common_1$3.nodeType.rulelist, rules, range };\n    }\n    /**\n     * Creates a Ruleset node.\n     * @param selector The selector that corresponds to the Selector\n     * (e.g., `#foo > .bar`).\n     * @param rulelist The Rulelist node that corresponds to the Selector.\n     */\n    ruleset(selector, rulelist, selectorRange, range) {\n        return { type: common_1$3.nodeType.ruleset, selector, rulelist, selectorRange, range };\n    }\n    /**\n     * Creates a Declaration node.\n     * @param name The property name of the Declaration (e.g., `color`).\n     * @param value Either an Expression node, or a Rulelist node, that\n     * corresponds to the value of the Declaration.\n     */\n    declaration(name, value, nameRange, range) {\n        return { type: common_1$3.nodeType.declaration, name, value, nameRange, range };\n    }\n    /**\n     * Creates an Expression node.\n     * @param text The full text content of the expression (e.g.,\n     * `url(img.jpg)`)\n     */\n    expression(text, range) {\n        return { type: common_1$3.nodeType.expression, text, range };\n    }\n    /**\n     * Creates a Discarded node. Discarded nodes contain content that was not\n     * parseable (usually due to typos, or otherwise unrecognized syntax).\n     * @param text The text content that is discarded.\n     */\n    discarded(text, range) {\n        return { type: common_1$3.nodeType.discarded, text, range };\n    }\n}\nnodeFactory.NodeFactory = NodeFactory;\n\nvar nodeVisitor = {};\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(nodeVisitor, \"__esModule\", { value: true });\n/**\n * Class that implements a visitor pattern for ASTs produced by the Parser.\n * Extend the NodeVisitor class to implement useful tree traversal operations\n * such as stringification.\n */\nclass NodeVisitor {\n    /**\n     * Create a NodeVisitor instance.\n     */\n    constructor() {\n        this.path_ = [];\n    }\n    /**\n     * A list of nodes that corresponds to the current path through an AST being\n     * visited, leading to where the currently visited node will be found.\n     */\n    get path() {\n        return this.path_;\n    }\n    /**\n     * Visit a node. The visited node will be added to the `path` before it is\n     * visited, and will be removed after it is visited. Nodes are \"visited\" by\n     * calling a method on the NodeVisitor instance that matches the node's type,\n     * if one is available on the NodeVisitor instance.\n     * @param node The node to be visited.\n     * @return The return value of the method visiting the node, if any.\n     */\n    visit(node) {\n        let result;\n        const callback = this[node.type];\n        if (callback) {\n            this.path_.push(node);\n            result = this[node.type](node);\n            this.path_.pop();\n        }\n        return result;\n    }\n}\nnodeVisitor.NodeVisitor = NodeVisitor;\n\nvar parser = {};\n\nvar token = {};\n\n(function (exports) {\n\t/**\n\t * @license\n\t * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n\t * This code may only be used under the BSD style license found at\n\t * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n\t * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n\t * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n\t * Google as part of the polymer project is also subject to an additional IP\n\t * rights grant found at http://polymer.github.io/PATENTS.txt\n\t */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t/**\n\t * An enumeration of Token types.\n\t */\n\tvar TokenType;\n\t(function (TokenType) {\n\t    TokenType[TokenType[\"none\"] = 0] = \"none\";\n\t    TokenType[TokenType[\"whitespace\"] = (Math.pow(2, 0))] = \"whitespace\";\n\t    TokenType[TokenType[\"string\"] = (Math.pow(2, 1))] = \"string\";\n\t    TokenType[TokenType[\"comment\"] = (Math.pow(2, 2))] = \"comment\";\n\t    TokenType[TokenType[\"word\"] = (Math.pow(2, 3))] = \"word\";\n\t    TokenType[TokenType[\"boundary\"] = (Math.pow(2, 4))] = \"boundary\";\n\t    TokenType[TokenType[\"propertyBoundary\"] = (Math.pow(2, 5))] = \"propertyBoundary\";\n\t    // Special cases for boundary:\n\t    TokenType[TokenType[\"openParenthesis\"] = (Math.pow(2, 6)) | TokenType.boundary] = \"openParenthesis\";\n\t    TokenType[TokenType[\"closeParenthesis\"] = (Math.pow(2, 7)) | TokenType.boundary] = \"closeParenthesis\";\n\t    TokenType[TokenType[\"at\"] = (Math.pow(2, 8)) | TokenType.boundary] = \"at\";\n\t    TokenType[TokenType[\"openBrace\"] = (Math.pow(2, 9)) | TokenType.boundary] = \"openBrace\";\n\t    // [};] are property boundaries:\n\t    TokenType[TokenType[\"closeBrace\"] = (Math.pow(2, 10)) | TokenType.propertyBoundary | TokenType.boundary] = \"closeBrace\";\n\t    TokenType[TokenType[\"semicolon\"] = (Math.pow(2, 11)) | TokenType.propertyBoundary | TokenType.boundary] = \"semicolon\";\n\t    // : is a chimaeric abomination:\n\t    // foo:bar{}\n\t    // foo:bar;\n\t    TokenType[TokenType[\"colon\"] = (Math.pow(2, 12)) | TokenType.boundary | TokenType.word] = \"colon\";\n\t    // TODO: are these two boundaries? I mean, sometimes they are I guess? Or\n\t    //       maybe they shouldn't exist in the boundaryTokenTypes map.\n\t    TokenType[TokenType[\"hyphen\"] = (Math.pow(2, 13))] = \"hyphen\";\n\t    TokenType[TokenType[\"underscore\"] = (Math.pow(2, 14))] = \"underscore\";\n\t})(TokenType = exports.TokenType || (exports.TokenType = {}));\n\t/**\n\t * Class that describes individual tokens as produced by the Tokenizer.\n\t */\n\tclass Token {\n\t    /**\n\t     * Create a Token instance.\n\t     * @param type The lexical type of the Token.\n\t     * @param start The start index of the text corresponding to the\n\t     * Token in the CSS text.\n\t     * @param end The end index of the text corresponding to the Token\n\t     * in the CSS text.\n\t     */\n\t    constructor(type, start, end) {\n\t        this.type = type;\n\t        this.start = start;\n\t        this.end = end;\n\t        this.previous = null;\n\t        this.next = null;\n\t    }\n\t    /**\n\t     * Test if the Token matches a given numeric type. Types match if the bitwise\n\t     * AND of the Token's type and the argument type are equivalent to the\n\t     * argument type.\n\t     * @param type The numeric type to test for equivalency with the\n\t     * Token.\n\t     */\n\t    is(type) {\n\t        return (this.type & type) === type;\n\t    }\n\t}\n\tToken.type = TokenType;\n\texports.Token = Token;\n\t/**\n\t * A mapping of boundary token text to their corresponding types.\n\t */\n\tconst boundaryTokenTypes = {\n\t    '(': Token.type.openParenthesis,\n\t    ')': Token.type.closeParenthesis,\n\t    ':': Token.type.colon,\n\t    '@': Token.type.at,\n\t    '{': Token.type.openBrace,\n\t    '}': Token.type.closeBrace,\n\t    ';': Token.type.semicolon,\n\t    '-': Token.type.hyphen,\n\t    '_': Token.type.underscore\n\t};\n\texports.boundaryTokenTypes = boundaryTokenTypes;\n\t\n} (token));\n\nvar tokenizer = {};\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(tokenizer, \"__esModule\", { value: true });\nconst common_1$2 = common;\nconst token_1$2 = token;\n/**\n * Class that implements tokenization of significant lexical features of the\n * CSS syntax.\n */\nclass Tokenizer {\n    /**\n     * Create a Tokenizer instance.\n     * @param cssText The raw CSS string to be tokenized.\n     *\n     */\n    constructor(cssText) {\n        /**\n         * Tracks the position of the tokenizer in the source string.\n         * Also the default head of the Token linked list.\n         */\n        this.cursorToken_ = new token_1$2.Token(token_1$2.Token.type.none, 0, 0);\n        /**\n         * Holds a reference to a Token that is \"next\" in the source string, often\n         * due to having been peeked at.\n         */\n        this.currentToken_ = null;\n        this.cssText = cssText;\n    }\n    get offset() {\n        return this.cursorToken_.end;\n    }\n    /**\n     * The current token that will be returned by a call to `advance`. This\n     * reference is useful for \"peeking\" at the next token ahead in the sequence.\n     * If the entire CSS text has been tokenized, the `currentToken` will be null.\n     */\n    get currentToken() {\n        if (this.currentToken_ == null) {\n            this.currentToken_ = this.getNextToken_();\n        }\n        return this.currentToken_;\n    }\n    /**\n     * Advance the Tokenizer to the next token in the sequence.\n     * @return The current token prior to the call to `advance`, or null\n     * if the entire CSS text has been tokenized.\n     */\n    advance() {\n        let token;\n        if (this.currentToken_ != null) {\n            token = this.currentToken_;\n            this.currentToken_ = null;\n        }\n        else {\n            token = this.getNextToken_();\n        }\n        return token;\n    }\n    /**\n     * Extract a slice from the CSS text, using two tokens to represent the range\n     * of text to be extracted. The extracted text will include all text between\n     * the start index of the first token and the offset index of the second token\n     * (or the offset index of the first token if the second is not provided).\n     * @param startToken The token that represents the beginning of the\n     * text range to be extracted.\n     * @param endToken The token that represents the end of the text range\n     * to be extracted. Defaults to the startToken if no endToken is provided.\n     * @return The substring of the CSS text corresponding to the\n     * startToken and endToken.\n     */\n    slice(startToken, endToken = undefined) {\n        const { start, end } = this.getRange(startToken, endToken);\n        return this.cssText.substring(start, end);\n    }\n    /**\n     * Like `slice`, but returns the offsets into the source, rather than the\n     * substring itself.\n     */\n    getRange(startToken, endToken = undefined) {\n        return { start: startToken.start, end: (endToken || startToken).end };\n    }\n    trimRange({ start, end }) {\n        while (start <= end && /\\s/.test(this.cssText.charAt(start))) {\n            start++;\n        }\n        while (start <= end && end > 0 && /\\s/.test(this.cssText.charAt(end - 1))) {\n            end--;\n        }\n        return { start, end };\n    }\n    /**\n     * Flush all tokens from the Tokenizer.\n     * @return An array of all tokens corresponding to the CSS text.\n     */\n    flush() {\n        const tokens = [];\n        while (this.currentToken) {\n            tokens.push(this.advance());\n        }\n        return tokens;\n    }\n    /**\n     * Extract the next token from the CSS text and advance the Tokenizer.\n     * @return A Token instance, or null if the entire CSS text has beeen\n     * tokenized.\n     */\n    getNextToken_() {\n        const character = this.cssText[this.offset];\n        let token;\n        this.currentToken_ = null;\n        if (this.offset >= this.cssText.length) {\n            return null;\n        }\n        else if (common_1$2.matcher.whitespace.test(character)) {\n            token = this.tokenizeWhitespace(this.offset);\n        }\n        else if (common_1$2.matcher.stringBoundary.test(character)) {\n            token = this.tokenizeString(this.offset);\n        }\n        else if (character === '/' && this.cssText[this.offset + 1] === '*') {\n            token = this.tokenizeComment(this.offset);\n        }\n        else if (common_1$2.matcher.boundary.test(character)) {\n            token = this.tokenizeBoundary(this.offset);\n        }\n        else {\n            token = this.tokenizeWord(this.offset);\n        }\n        token.previous = this.cursorToken_;\n        this.cursorToken_.next = token;\n        this.cursorToken_ = token;\n        return token;\n    }\n    /**\n     * Tokenize a string starting at a given offset in the CSS text. A string is\n     * any span of text that is wrapped by eclusively paired, non-escaped matching\n     * quotation marks.\n     * @param offset An offset in the CSS text.\n     * @return A string Token instance.\n     */\n    tokenizeString(offset) {\n        const quotation = this.cssText[offset];\n        let escaped = false;\n        const start = offset;\n        let character;\n        while (character = this.cssText[++offset]) {\n            if (escaped) {\n                escaped = false;\n                continue;\n            }\n            if (character === quotation) {\n                ++offset;\n                break;\n            }\n            if (character === '\\\\') {\n                escaped = true;\n            }\n        }\n        return new token_1$2.Token(token_1$2.Token.type.string, start, offset);\n    }\n    /**\n     * Tokenize a word starting at a given offset in the CSS text. A word is any\n     * span of text that is not whitespace, is not a string, is not a comment and\n     * is not a structural delimiter (such as braces and semicolon).\n     * @param number An offset in the CSS text.\n     * @return A word Token instance.\n     */\n    tokenizeWord(offset) {\n        const start = offset;\n        let character;\n        // TODO(cdata): change to greedy regex match?\n        while ((character = this.cssText[offset]) &&\n            !common_1$2.matcher.boundary.test(character)) {\n            offset++;\n        }\n        return new token_1$2.Token(token_1$2.Token.type.word, start, offset);\n    }\n    /**\n     * Tokenize whitespace starting at a given offset in the CSS text. Whitespace\n     * is any span of text made up of consecutive spaces, tabs, newlines and other\n     * single whitespace characters.\n     * @param number An offset in the CSS text.\n     * @return A whitespace Token instance.\n     */\n    tokenizeWhitespace(offset) {\n        const start = offset;\n        common_1$2.matcher.whitespaceGreedy.lastIndex = offset;\n        const match = common_1$2.matcher.whitespaceGreedy.exec(this.cssText);\n        if (match != null && match.index === offset) {\n            offset = common_1$2.matcher.whitespaceGreedy.lastIndex;\n        }\n        return new token_1$2.Token(token_1$2.Token.type.whitespace, start, offset);\n    }\n    /**\n     * Tokenize a comment starting at a given offset in the CSS text. A comment is\n     * any span of text beginning with the two characters / and *, and ending with\n     * a matching counterpart pair of consecurtive characters (* and /).\n     * @param number An offset in the CSS text.\n     * @return A comment Token instance.\n     */\n    tokenizeComment(offset) {\n        const start = offset;\n        common_1$2.matcher.commentGreedy.lastIndex = offset;\n        const match = common_1$2.matcher.commentGreedy.exec(this.cssText);\n        if (match == null) {\n            offset = this.cssText.length;\n        }\n        else {\n            offset = common_1$2.matcher.commentGreedy.lastIndex;\n        }\n        return new token_1$2.Token(token_1$2.Token.type.comment, start, offset);\n    }\n    /**\n     * Tokenize a boundary at a given offset in the CSS text. A boundary is any\n     * single structurally significant character. These characters include braces,\n     * semicolons, the \"at\" symbol and others.\n     * @param number An offset in the CSS text.\n     * @return A boundary Token instance.\n     */\n    tokenizeBoundary(offset) {\n        // TODO(cdata): Evaluate if this is faster than a switch statement:\n        const type = token_1$2.boundaryTokenTypes[this.cssText[offset]] || token_1$2.Token.type.boundary;\n        return new token_1$2.Token(type, offset, offset + 1);\n    }\n}\ntokenizer.Tokenizer = Tokenizer;\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(parser, \"__esModule\", { value: true });\nconst node_factory_1$1 = nodeFactory;\nconst token_1$1 = token;\nconst tokenizer_1$1 = tokenizer;\n/**\n * Class that implements a shady CSS parser.\n */\nclass Parser$1 {\n    /**\n     * Create a Parser instance. When creating a Parser instance, a specialized\n     * NodeFactory can be supplied to implement streaming analysis and\n     * manipulation of the CSS AST.\n     */\n    constructor(nodeFactory = new node_factory_1$1.NodeFactory()) {\n        this.nodeFactory = nodeFactory;\n    }\n    /**\n     * Parse CSS and generate an AST.\n     * @param cssText The CSS to parse.\n     * @return A CSS AST containing nodes that correspond to those\n     *     generated by the Parser's NodeFactory.\n     */\n    parse(cssText) {\n        return this.parseStylesheet(new tokenizer_1$1.Tokenizer(cssText));\n    }\n    /**\n     * Consumes tokens from a Tokenizer to parse a Stylesheet node.\n     * @param tokenizer A Tokenizer instance.\n     */\n    parseStylesheet(tokenizer) {\n        return this.nodeFactory.stylesheet(this.parseRules(tokenizer), { start: 0, end: tokenizer.cssText.length });\n    }\n    /**\n     * Consumes tokens from a Tokenizer to parse a sequence of rules.\n     * @param tokenizer A Tokenizer instance.\n     * @return A list of nodes corresponding to rules. For a parser\n     *   configured with a basic NodeFactory, any of Comment, AtRule, Ruleset,\n     *   Declaration and Discarded nodes may be present in the list.\n     */\n    parseRules(tokenizer) {\n        const rules = [];\n        while (tokenizer.currentToken) {\n            const rule = this.parseRule(tokenizer);\n            if (rule) {\n                rules.push(rule);\n            }\n        }\n        return rules;\n    }\n    /**\n     * Consumes tokens from a Tokenizer to parse a single rule.\n     * @param tokenizer A Tokenizer instance.\n     * @return If the current token in the Tokenizer is whitespace,\n     *   returns null. Otherwise, returns the next parseable node.\n     */\n    parseRule(tokenizer) {\n        // Trim leading whitespace:\n        const token = tokenizer.currentToken;\n        if (token === null) {\n            return null;\n        }\n        if (token.is(token_1$1.Token.type.whitespace)) {\n            tokenizer.advance();\n            return null;\n        }\n        else if (token.is(token_1$1.Token.type.comment)) {\n            return this.parseComment(tokenizer);\n        }\n        else if (token.is(token_1$1.Token.type.word)) {\n            return this.parseDeclarationOrRuleset(tokenizer);\n        }\n        else if (token.is(token_1$1.Token.type.propertyBoundary)) {\n            return this.parseUnknown(tokenizer);\n        }\n        else if (token.is(token_1$1.Token.type.at)) {\n            return this.parseAtRule(tokenizer);\n        }\n        else {\n            return this.parseUnknown(tokenizer);\n        }\n    }\n    /**\n     * Consumes tokens from a Tokenizer to parse a Comment node.\n     * @param tokenizer A Tokenizer instance.\n     */\n    parseComment(tokenizer) {\n        const token = tokenizer.advance();\n        if (token === null) {\n            return null;\n        }\n        return this.nodeFactory.comment(tokenizer.slice(token), { start: token.start, end: token.end });\n    }\n    /**\n     * Consumes tokens from a Tokenizer through the next boundary token to\n     * produce a Discarded node. This supports graceful recovery from many\n     * malformed CSS conditions.\n     * @param tokenizer A Tokenizer instance.\n     */\n    parseUnknown(tokenizer) {\n        const start = tokenizer.advance();\n        let end;\n        if (start === null) {\n            return null;\n        }\n        while (tokenizer.currentToken &&\n            tokenizer.currentToken.is(token_1$1.Token.type.boundary)) {\n            end = tokenizer.advance();\n        }\n        return this.nodeFactory.discarded(tokenizer.slice(start, end), tokenizer.getRange(start, end));\n    }\n    /**\n     * Consumes tokens from a Tokenizer to parse an At Rule node.\n     * @param tokenizer A Tokenizer instance.\n     */\n    parseAtRule(tokenizer) {\n        let name = undefined;\n        let nameRange = undefined;\n        let rulelist = undefined;\n        let parametersStart = undefined;\n        let parametersEnd = undefined;\n        if (!tokenizer.currentToken) {\n            return null;\n        }\n        const start = tokenizer.currentToken.start;\n        while (tokenizer.currentToken) {\n            if (tokenizer.currentToken.is(token_1$1.Token.type.whitespace)) {\n                tokenizer.advance();\n            }\n            else if (!name && tokenizer.currentToken.is(token_1$1.Token.type.at)) {\n                // Discard the @:\n                tokenizer.advance();\n                const start = tokenizer.currentToken;\n                let end;\n                while (tokenizer.currentToken &&\n                    tokenizer.currentToken.is(token_1$1.Token.type.word)) {\n                    end = tokenizer.advance();\n                }\n                nameRange = tokenizer.getRange(start, end);\n                name = tokenizer.cssText.slice(nameRange.start, nameRange.end);\n            }\n            else if (tokenizer.currentToken.is(token_1$1.Token.type.openBrace)) {\n                rulelist = this.parseRulelist(tokenizer);\n                break;\n            }\n            else if (tokenizer.currentToken.is(token_1$1.Token.type.propertyBoundary)) {\n                tokenizer.advance();\n                break;\n            }\n            else {\n                if (parametersStart == null) {\n                    parametersStart = tokenizer.advance();\n                }\n                else {\n                    parametersEnd = tokenizer.advance();\n                }\n            }\n        }\n        if (name === undefined || nameRange === undefined) {\n            return null;\n        }\n        let parametersRange = undefined;\n        let parameters = '';\n        if (parametersStart) {\n            parametersRange = tokenizer.trimRange(tokenizer.getRange(parametersStart, parametersEnd));\n            parameters =\n                tokenizer.cssText.slice(parametersRange.start, parametersRange.end);\n        }\n        const end = tokenizer.currentToken ? tokenizer.currentToken.previous.end :\n            tokenizer.cssText.length;\n        return this.nodeFactory.atRule(name, parameters, rulelist, nameRange, parametersRange, { start, end });\n    }\n    /**\n     * Consumes tokens from a Tokenizer to produce a Rulelist node.\n     * @param tokenizer A Tokenizer instance.\n     */\n    parseRulelist(tokenizer) {\n        const rules = [];\n        const start = tokenizer.currentToken.start;\n        let endToken;\n        // Take the opening { boundary:\n        tokenizer.advance();\n        while (tokenizer.currentToken) {\n            if (tokenizer.currentToken.is(token_1$1.Token.type.closeBrace)) {\n                endToken = tokenizer.currentToken;\n                tokenizer.advance();\n                break;\n            }\n            else {\n                const rule = this.parseRule(tokenizer);\n                if (rule) {\n                    rules.push(rule);\n                }\n            }\n        }\n        // If we don't have an end token it's because we reached the end of input.\n        const end = endToken ? endToken.end : tokenizer.cssText.length;\n        return this.nodeFactory.rulelist(rules, { start, end });\n    }\n    /**\n     * Consumes tokens from a Tokenizer instance to produce a Declaration node or\n     * a Ruleset node, as appropriate.\n     * @param tokenizer A Tokenizer node.\n     */\n    parseDeclarationOrRuleset(tokenizer) {\n        let ruleStart = null;\n        let ruleEnd = null;\n        let colon = null;\n        // This code is not obviously correct. e.g. there's what looks to be a\n        // null-dereference if the declaration starts with an open brace or\n        // property boundary.. though that may be impossible.\n        while (tokenizer.currentToken) {\n            if (tokenizer.currentToken.is(token_1$1.Token.type.whitespace)) {\n                tokenizer.advance();\n            }\n            else if (tokenizer.currentToken.is(token_1$1.Token.type.openParenthesis)) {\n                // skip until close paren\n                while (tokenizer.currentToken &&\n                    !tokenizer.currentToken.is(token_1$1.Token.type.closeParenthesis)) {\n                    tokenizer.advance();\n                }\n            }\n            else if (tokenizer.currentToken.is(token_1$1.Token.type.openBrace) ||\n                tokenizer.currentToken.is(token_1$1.Token.type.propertyBoundary)) {\n                break;\n            }\n            else {\n                if (tokenizer.currentToken.is(token_1$1.Token.type.colon)) {\n                    colon = tokenizer.currentToken;\n                }\n                if (ruleStart === null) {\n                    ruleStart = tokenizer.advance();\n                    ruleEnd = ruleStart;\n                }\n                else {\n                    ruleEnd = tokenizer.advance();\n                }\n            }\n        }\n        if (tokenizer.currentToken === null) {\n            // terminated early\n            return null;\n        }\n        // A ruleset never contains or ends with a semi-colon.\n        if (tokenizer.currentToken.is(token_1$1.Token.type.propertyBoundary)) {\n            const nameRange = tokenizer.getRange(ruleStart, colon ? colon.previous : ruleEnd);\n            const declarationName = tokenizer.cssText.slice(nameRange.start, nameRange.end);\n            let expression = undefined;\n            if (colon && colon.next) {\n                const rawExpressionRange = tokenizer.getRange(colon.next, ruleEnd);\n                const expressionRange = tokenizer.trimRange(rawExpressionRange);\n                const expressionValue = tokenizer.cssText.slice(expressionRange.start, expressionRange.end);\n                expression =\n                    this.nodeFactory.expression(expressionValue, expressionRange);\n            }\n            if (tokenizer.currentToken.is(token_1$1.Token.type.semicolon)) {\n                tokenizer.advance();\n            }\n            const range = tokenizer.trimRange(tokenizer.getRange(ruleStart, tokenizer.currentToken && tokenizer.currentToken.previous ||\n                ruleEnd));\n            return this.nodeFactory.declaration(declarationName, expression, nameRange, range);\n            // This is the case for a mixin-like structure:\n        }\n        else if (colon && colon === ruleEnd) {\n            const rulelist = this.parseRulelist(tokenizer);\n            if (tokenizer.currentToken.is(token_1$1.Token.type.semicolon)) {\n                tokenizer.advance();\n            }\n            const nameRange = tokenizer.getRange(ruleStart, ruleEnd.previous);\n            const declarationName = tokenizer.cssText.slice(nameRange.start, nameRange.end);\n            const range = tokenizer.trimRange(tokenizer.getRange(ruleStart, tokenizer.currentToken && tokenizer.currentToken.previous ||\n                ruleEnd));\n            return this.nodeFactory.declaration(declarationName, rulelist, nameRange, range);\n            // Otherwise, this is a ruleset:\n        }\n        else {\n            const selectorRange = tokenizer.getRange(ruleStart, ruleEnd);\n            const selector = tokenizer.cssText.slice(selectorRange.start, selectorRange.end);\n            const rulelist = this.parseRulelist(tokenizer);\n            const start = ruleStart.start;\n            let end;\n            if (tokenizer.currentToken) {\n                end = tokenizer.currentToken.previous ?\n                    tokenizer.currentToken.previous.end :\n                    ruleStart.end;\n            }\n            else {\n                // no current token? must have reached the end of input, so go up\n                // until there\n                end = tokenizer.cssText.length;\n            }\n            return this.nodeFactory.ruleset(selector, rulelist, selectorRange, { start, end });\n        }\n    }\n}\nparser.Parser = Parser$1;\n\nvar stringifier = {};\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(stringifier, \"__esModule\", { value: true });\nconst common_1$1 = common;\nconst node_visitor_1$1 = nodeVisitor;\n/**\n * Class that implements basic stringification of an AST produced by the Parser.\n */\nclass Stringifier$1 extends node_visitor_1$1.NodeVisitor {\n    /**\n     * Stringify an AST such as one produced by a Parser.\n     * @param ast A node object representing the root of an AST.\n     * @return The stringified CSS corresponding to the AST.\n     */\n    stringify(ast) {\n        return this.visit(ast) || '';\n    }\n    /**\n     * Visit and stringify a Stylesheet node.\n     * @param stylesheet A Stylesheet node.\n     * @return The stringified CSS of the Stylesheet.\n     */\n    [common_1$1.nodeType.stylesheet](stylesheet) {\n        let rules = '';\n        for (let i = 0; i < stylesheet.rules.length; ++i) {\n            rules += this.visit(stylesheet.rules[i]);\n        }\n        return rules;\n    }\n    /**\n     * Visit and stringify an At Rule node.\n     * @param atRule An At Rule node.\n     * @return The stringified CSS of the At Rule.\n     */\n    [common_1$1.nodeType.atRule](atRule) {\n        return `@${atRule.name}` +\n            (atRule.parameters ? ` ${atRule.parameters}` : '') +\n            (atRule.rulelist ? `${this.visit(atRule.rulelist)}` : ';');\n    }\n    /**\n     * Visit and stringify a Rulelist node.\n     * @param rulelist A Rulelist node.\n     * @return The stringified CSS of the Rulelist.\n     */\n    [common_1$1.nodeType.rulelist](rulelist) {\n        let rules = '{';\n        for (let i = 0; i < rulelist.rules.length; ++i) {\n            rules += this.visit(rulelist.rules[i]);\n        }\n        return rules + '}';\n    }\n    /**\n     * Visit and stringify a Comment node.\n     * @param comment A Comment node.\n     * @return The stringified CSS of the Comment.\n     */\n    [common_1$1.nodeType.comment](comment) {\n        return `${comment.value}`;\n    }\n    /**\n     * Visit and stringify a Seletor node.\n     * @param ruleset A Ruleset node.\n     * @return The stringified CSS of the Ruleset.\n     */\n    [common_1$1.nodeType.ruleset](ruleset) {\n        return `${ruleset.selector}${this.visit(ruleset.rulelist)}`;\n    }\n    /**\n     * Visit and stringify a Declaration node.\n     * @param declaration A Declaration node.\n     * @return The stringified CSS of the Declaration.\n     */\n    [common_1$1.nodeType.declaration](declaration) {\n        return declaration.value != null ?\n            `${declaration.name}:${this.visit(declaration.value)};` :\n            `${declaration.name};`;\n    }\n    /**\n     * Visit and stringify an Expression node.\n     * @param expression An Expression node.\n     * @return The stringified CSS of the Expression.\n     */\n    [common_1$1.nodeType.expression](expression) {\n        return `${expression.text}`;\n    }\n    /**\n     * Visit a discarded node.\n     * @param discarded A Discarded node.\n     * @return An empty string, since Discarded nodes are discarded.\n     */\n    [common_1$1.nodeType.discarded](_discarded) {\n        return '';\n    }\n}\nstringifier.Stringifier = Stringifier$1;\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n * at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n * be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n * Google as part of the polymer project is also subject to an additional IP\n * rights grant found at http://polymer.github.io/PATENTS.txt\n */\nObject.defineProperty(shadyCss, \"__esModule\", { value: true });\nvar ast_iterator_1 = astIterator;\nshadyCss.iterateOverAst = ast_iterator_1.iterateOverAst;\nvar common_1 = common;\nshadyCss.nodeType = common_1.nodeType;\nvar node_factory_1 = nodeFactory;\nshadyCss.NodeFactory = node_factory_1.NodeFactory;\nvar node_visitor_1 = nodeVisitor;\nshadyCss.NodeVisitor = node_visitor_1.NodeVisitor;\nvar parser_1 = parser;\nvar Parser = shadyCss.Parser = parser_1.Parser;\nvar stringifier_1 = stringifier;\nvar Stringifier = shadyCss.Stringifier = stringifier_1.Stringifier;\nvar token_1 = token;\nshadyCss.Token = token_1.Token;\nvar tokenizer_1 = tokenizer;\nshadyCss.Tokenizer = tokenizer_1.Tokenizer;\n\nvar maybeGetPreviewerIframe = function maybeGetPreviewerIframe() {\n  return document.querySelector('.edit-post-visual-editor__content-area iframe[name=\"editor-canvas\"]');\n};\n\nvar styleTagsCache = null;\nvar clearAstCache = function clearAstCache() {\n  styleTagsCache = null;\n};\nvar getStyleTagsWithAst = function getStyleTagsWithAst() {\n  if (styleTagsCache) {\n    return styleTagsCache;\n  }\n\n  var maybeStyle = document.querySelector('#ct-main-styles-inline-css');\n\n  if (!maybeStyle) {\n    return [];\n  }\n\n  var parser = new Parser();\n\n  var allStyles = _toConsumableArray(document.querySelectorAll('style')).filter(function (s) {\n    return s.innerText && s.innerText.indexOf('narrow-container-max-width') > -1;\n  });\n\n  var maybeIframe = maybeGetPreviewerIframe();\n\n  if (maybeIframe) {\n    allStyles = [].concat(_toConsumableArray(allStyles), _toConsumableArray(_toConsumableArray(maybeIframe.contentDocument.querySelectorAll('style')).filter(function (s) {\n      return s.innerText.indexOf('narrow-container-max-width') > -1;\n    })));\n  }\n\n  styleTagsCache = allStyles.map(function (style) {\n    return {\n      style: style,\n      ast: parser.parse(style.innerText.replace(new RegExp('\\n', 'g'), ''))\n    };\n  });\n  return styleTagsCache;\n};\nvar persistNewAsts = function persistNewAsts(styleTags) {\n  styleTagsCache = styleTags;\n  var stringifier = new Stringifier();\n  styleTagsCache.map(function (styleDescriptor) {\n    if (!styleDescriptor.style) {\n      console.error('No ast for style', styleDescriptor);\n      return;\n    }\n\n    styleDescriptor.style.innerText = stringifier.stringify(styleDescriptor.ast);\n  });\n};\nvar overrideStylesWithAst = function overrideStylesWithAst() {\n  if (!styleTagsCache) {\n    return;\n  }\n\n  persistNewAsts(styleTagsCache.map(function (styleDescriptor) {\n    if (styleDescriptor.style.id) {\n      return styleDescriptor;\n    }\n\n    var allStyles = _toConsumableArray(document.querySelectorAll('style')).filter(function (s) {\n      return s.innerText.indexOf('narrow-container-max-width') > -1;\n    });\n\n    var maybeIframe = maybeGetPreviewerIframe();\n\n    if (maybeIframe) {\n      allStyles = [].concat(_toConsumableArray(allStyles), _toConsumableArray(_toConsumableArray(maybeIframe.contentDocument.querySelectorAll('style')).filter(function (s) {\n        return s.innerText.indexOf('narrow-container-max-width') > -1;\n      })));\n    }\n\n    styleDescriptor.style = allStyles.find(function (s) {\n      return !s.id;\n    });\n    return _objectSpread2({}, styleDescriptor);\n  }));\n};\n\nvar prepareSpacingValueFor = function prepareSpacingValueFor(value) {\n  if ([value['top'], value['right'], value['bottom'], value['left']].reduce(function (isValueCompact, currentValue) {\n    return !isValueCompact ? false : !(currentValue !== 'auto' && currentValue && currentValue.toString().match(/\\d/g));\n  }, true)) {\n    return 'CT_CSS_SKIP_RULE';\n  }\n\n  var result = [value['top'] === 'auto' || !value['top'].toString().match(/\\d/g) ? 0 : value['top'], value['right'] === 'auto' || !value['right'].toString().match(/\\d/g) ? 0 : value['right'], value['bottom'] === 'auto' || !value['bottom'].toString().match(/\\d/g) ? 0 : value['bottom'], value['left'] === 'auto' || !value['left'].toString().match(/\\d/g) ? 0 : value['left']];\n\n  if (result[0] === result[1] && result[0] === result[2] && result[0] === result[3]) {\n    return result[0];\n  }\n\n  if (result[0] === result[2] && result[1] === result[3]) {\n    return \"\".concat(result[0], \" \").concat(result[3]);\n  }\n\n  return result.join(' ');\n};\n\nvar prepareBoxShadowValueFor = function prepareBoxShadowValueFor(value, _ref) {\n  var _ref$forcedOutput = _ref.forcedOutput,\n      forcedOutput = _ref$forcedOutput === void 0 ? false : _ref$forcedOutput;\n\n  if (value === 'CT_CSS_SKIP_RULE') {\n    return 'CT_CSS_SKIP_RULE';\n  }\n\n  if (value === 'none') {\n    return 'none';\n  }\n\n  if (!value.enable) {\n    return 'none';\n  }\n\n  if (parseFloat(value.blur) === 0 && parseFloat(value.spread) === 0 && parseFloat(value.v_offset) === 0 && parseFloat(value.h_offset) === 0) {\n    return forcedOutput ? 'none' : 'CT_CSS_SKIP_RULE';\n  }\n\n  var box_shadow_components = [];\n\n  if (value.inset) {\n    box_shadow_components.push('inset');\n  }\n\n  box_shadow_components.push(\"\".concat(value.h_offset, \"px\"));\n  box_shadow_components.push(\"\".concat(value.v_offset, \"px\"));\n\n  if (parseFloat(value.blur) !== 0) {\n    box_shadow_components.push(\"\".concat(value.blur, \"px\"));\n\n    if (parseFloat(value.spread) !== 0) {\n      box_shadow_components.push(\"\".concat(value.spread, \"px\"));\n    }\n  }\n\n  if (parseFloat(value.blur) === 0 && parseFloat(value.spread) !== 0) {\n    box_shadow_components.push(\"\".concat(value.blur, \"px\"));\n    box_shadow_components.push(\"\".concat(value.spread, \"px\"));\n  }\n\n  box_shadow_components.push(value.color.color);\n  return box_shadow_components.join(' ');\n};\n\nvar isFunction = function isFunction(functionToCheck) {\n  return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n};\n\nvar replaceVariableInAst = function replaceVariableInAst() {\n  var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  args = _objectSpread2({\n    variableDescriptor: {},\n    value: '',\n    ast: {}\n  }, args);\n  var _args = args,\n      variableDescriptor = _args.variableDescriptor,\n      value = _args.value,\n      ast = _args.ast;\n  var newSelector = variableDescriptor.selector || ':root';\n  var variablePrefix = '--';\n\n  if (variableDescriptor.variableType === 'property') {\n    variablePrefix = '';\n  }\n\n  var variableName = \"\".concat(variablePrefix).concat(isFunction(variableDescriptor.variable) ? variableDescriptor.variable() : variableDescriptor.variable);\n  var hasSuchSelector = ast.rules.find(function (_ref) {\n    var selector = _ref.selector;\n    return selector === newSelector;\n  });\n  var ruleToCopy = {\n    type: 'ruleset',\n    selector: ':root',\n    rulelist: {\n      type: 'rulelist',\n      rules: [{\n        type: 'declaration',\n        name: '--container-max-width',\n        value: {\n          type: 'expression',\n          text: '1290px'\n        }\n      }]\n    }\n  };\n  var newAst = JSON.parse(JSON.stringify(ast));\n\n  if (hasSuchSelector) {\n    newAst.rules = newAst.rules.map(function (rule) {\n      var selector = rule.selector;\n\n      if (selector !== newSelector) {\n        return rule;\n      }\n\n      if (value.indexOf('CT_CSS_SKIP_RULE') > -1 || value.indexOf(variableName) > -1) {\n        return _objectSpread2(_objectSpread2({}, rule), {}, {\n          rulelist: _objectSpread2(_objectSpread2({}, rule.rulelist), {}, {\n            rules: rule.rulelist.rules.filter(function (_ref2) {\n              var name = _ref2.name;\n              return name !== variableName;\n            })\n          })\n        });\n      }\n\n      var hasSuchRule = rule.rulelist.rules.find(function (_ref3) {\n        var name = _ref3.name;\n        return name === variableName;\n      });\n\n      if (hasSuchRule) {\n        return _objectSpread2(_objectSpread2({}, rule), {}, {\n          rulelist: _objectSpread2(_objectSpread2({}, rule.rulelist), {}, {\n            rules: rule.rulelist.rules.map(function (rule) {\n              if (rule.name === variableName) {\n                return _objectSpread2(_objectSpread2({}, rule), {}, {\n                  value: _objectSpread2(_objectSpread2({}, rule.value), {}, {\n                    text: value\n                  })\n                });\n              }\n\n              return rule;\n            })\n          })\n        });\n      }\n\n      return _objectSpread2(_objectSpread2({}, rule), {}, {\n        rulelist: _objectSpread2(_objectSpread2({}, rule.rulelist), {}, {\n          rules: [].concat(_toConsumableArray(rule.rulelist.rules), [_objectSpread2(_objectSpread2({}, ruleToCopy.rulelist.rules[0]), {}, {\n            name: variableName,\n            value: _objectSpread2(_objectSpread2({}, ruleToCopy.rulelist.rules[0].value), {}, {\n              text: value\n            })\n          })])\n        })\n      });\n    });\n  }\n\n  if (!hasSuchSelector && value.indexOf('CT_CSS_SKIP_RULE') === -1) {\n    newAst.rules = [].concat(_toConsumableArray(newAst.rules), [_objectSpread2(_objectSpread2({}, ruleToCopy), {}, {\n      selector: newSelector,\n      rulelist: _objectSpread2(_objectSpread2({}, ruleToCopy.rulelist), {}, {\n        rules: [_objectSpread2(_objectSpread2({}, ruleToCopy.rulelist.rules[0]), {}, {\n          name: variableName,\n          value: _objectSpread2(_objectSpread2({}, ruleToCopy.rulelist.rules[0].value), {}, {\n            text: value\n          })\n        })]\n      })\n    })]);\n  }\n\n  return newAst;\n};\n\nvar replacingLogic = function replacingLogic() {\n  var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  args = _objectSpread2({\n    variableDescriptor: {},\n    value: {},\n    ast: {}\n  }, args);\n  var actualValue = args.value;\n\n  if ((args.variableDescriptor.type || '').indexOf('color') > -1 && args.value !== 'CT_CSS_SKIP_RULE') {\n    actualValue = args.value[args.variableDescriptor.type === 'color' ? 'default' : args.variableDescriptor.type.split(':')[1]].color;\n  }\n\n  if ((args.variableDescriptor.type || '') === 'border') {\n    actualValue = !args.value || args.value.style === 'none' ? 'none' : \"\".concat(args.value.width, \"px \").concat(args.value.style, \" \").concat(args.value.color.color);\n\n    if (args.variableDescriptor.skip_none && actualValue === 'none') {\n      actualValue = 'CT_CSS_SKIP_RULE';\n    }\n  }\n\n  if ((args.variableDescriptor.type || '') === 'spacing') {\n    actualValue = prepareSpacingValueFor(args.value);\n  }\n\n  if ((args.variableDescriptor.type || '') === 'box-shadow') {\n    actualValue = prepareBoxShadowValueFor(args.value, args.variableDescriptor);\n  }\n\n  return replaceVariableInAst({\n    variableDescriptor: args.variableDescriptor,\n    value: \"\".concat(actualValue).concat(args.variableDescriptor.unit || '').concat(args.variableDescriptor.important ? ' !important' : ''),\n    ast: args.ast\n  });\n};\n\nvar updateVariableInStyleTags = function updateVariableInStyleTags() {\n  var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  args = _objectSpread2({\n    variableDescriptor: {},\n    value: '',\n    fullValue: {},\n    tabletMQ: '(max-width: 999.98px)',\n    mobileMQ: '(max-width: 689.98px)'\n  }, args);\n  var allDescriptors = args.variableDescriptor;\n\n  if (isFunction(allDescriptors)) {\n    allDescriptors = allDescriptors(args.value);\n  }\n\n  if (!Array.isArray(allDescriptors)) {\n    allDescriptors = [allDescriptors];\n  }\n\n  persistNewAsts(getStyleTagsWithAst().map(function (styleDescriptor) {\n    return _objectSpread2(_objectSpread2({}, styleDescriptor), {}, {\n      ast: allDescriptors.reduce(function (currentAst, variableDescriptor) {\n        var value = variableDescriptor.fullValue ? args.fullValue : args.value;\n        value = variableDescriptor.extractValue ? variableDescriptor.extractValue(value) : value;\n\n        if (variableDescriptor.whenDone) {\n          variableDescriptor.whenDone(value, args.value);\n        }\n\n        value = maybePromoteScalarValueIntoResponsive(value, !!variableDescriptor.responsive);\n\n        if (!variableDescriptor.responsive) {\n          return replacingLogic({\n            variableDescriptor: variableDescriptor,\n            value: value,\n            ast: currentAst\n          });\n        }\n\n        var desktopAst = replacingLogic({\n          variableDescriptor: variableDescriptor,\n          value: value.desktop,\n          ast: currentAst\n        });\n        var tabletAst = desktopAst;\n\n        if (!tabletAst.rules.find(function (_ref) {\n          var type = _ref.type,\n              parameters = _ref.parameters;\n          return type === 'atRule' && parameters === args.tabletMQ;\n        })) {\n          tabletAst = _objectSpread2(_objectSpread2({}, tabletAst), {}, {\n            rules: [].concat(_toConsumableArray(tabletAst.rules), [{\n              type: 'atRule',\n              name: 'media',\n              parameters: args.tabletMQ,\n              rulelist: {\n                type: 'rulelist',\n                rules: []\n              }\n            }])\n          });\n        }\n\n        tabletAst = _objectSpread2(_objectSpread2({}, tabletAst), {}, {\n          rules: tabletAst.rules.map(function (rule) {\n            if (rule.type !== 'atRule' || rule.parameters !== args.tabletMQ) {\n              return rule;\n            }\n\n            return _objectSpread2(_objectSpread2({}, rule), {}, {\n              rulelist: replacingLogic({\n                variableDescriptor: _objectSpread2(_objectSpread2({}, variableDescriptor), {}, {\n                  selector: variableDescriptor.selector === '.edit-post-visual-editor__content-area > div' ? ':root' : variableDescriptor.selector\n                }),\n                value: value.tablet,\n                ast: rule.rulelist\n              })\n            });\n          })\n        });\n        var mobileAst = tabletAst;\n\n        if (!mobileAst.rules.find(function (_ref2) {\n          var type = _ref2.type,\n              parameters = _ref2.parameters;\n          return type === 'atRule' && parameters === args.mobileMQ;\n        })) {\n          mobileAst = _objectSpread2(_objectSpread2({}, mobileAst), {}, {\n            rules: [].concat(_toConsumableArray(mobileAst.rules), [{\n              type: 'atRule',\n              name: 'media',\n              parameters: args.mobileMQ,\n              rulelist: {\n                type: 'rulelist',\n                rules: []\n              }\n            }])\n          });\n        }\n\n        mobileAst = _objectSpread2(_objectSpread2({}, mobileAst), {}, {\n          rules: mobileAst.rules.map(function (rule) {\n            if (rule.type !== 'atRule' || rule.parameters !== args.mobileMQ) {\n              return rule;\n            }\n\n            return _objectSpread2(_objectSpread2({}, rule), {}, {\n              rulelist: replacingLogic({\n                variableDescriptor: _objectSpread2(_objectSpread2({}, variableDescriptor), {}, {\n                  selector: variableDescriptor.selector === '.edit-post-visual-editor__content-area > div' ? ':root' : variableDescriptor.selector\n                }),\n                value: value.mobile,\n                ast: rule.rulelist\n              })\n            });\n          })\n        });\n        return mobileAst;\n      }, styleDescriptor.ast)\n    });\n  }));\n};\n\nexport { clearAstCache, overrideStylesWithAst, updateVariableInStyleTags };\n//# sourceMappingURL=index.es.js.map\n","var __WEBPACK_NAMESPACE_OBJECT__ = window.blocksyOptions;","import { maybePromoteScalarValueIntoResponsive } from 'customizer-sync-helpers/dist/promote-into-responsive'\n\nconst componentToHex = (c) => {\n\tvar hex = c.toString(16)\n\treturn hex.length == 1 ? '0' + hex : hex\n}\n\nconst withResponsive = ({ responsive, value, cb }) => {\n\tvalue = maybePromoteScalarValueIntoResponsive(value, responsive)\n\n\tif (responsive) {\n\t\treturn {\n\t\t\tdesktop: cb(value.desktop),\n\t\t\ttablet: cb(value.tablet),\n\t\t\tmobile: cb(value.mobile),\n\t\t}\n\t}\n\n\treturn cb(value)\n}\n\nexport const handleBackgroundOptionFor = ({\n\tid,\n\n\tselector,\n\n\tresponsive = false,\n\tvalueExtractor = (value) => value,\n\taddToDescriptors = {},\n\n\tconditional_var = false,\n\tforced_background_image = false,\n}) => ({\n\t[id]: [\n\t\t{\n\t\t\tvariable: 'background-color',\n\t\t\tvariableType: 'property',\n\n\t\t\tselector,\n\n\t\t\tresponsive,\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: (value) => {\n\t\t\t\t\t\tif (conditional_var) {\n\t\t\t\t\t\t\treturn `var(${conditional_var}, ${value.backgroundColor.default.color})`\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn value.backgroundColor.default.color\n\t\t\t\t\t},\n\t\t\t\t}),\n\n\t\t\t...addToDescriptors,\n\t\t},\n\n\t\t{\n\t\t\tvariable: 'background-image',\n\t\t\tvariableType: 'property',\n\n\t\t\tselector,\n\n\t\t\tresponsive,\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: ({\n\t\t\t\t\t\tbackground_type,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tbackground_image,\n\t\t\t\t\t\tbackground_pattern,\n\t\t\t\t\t\tpatternColor,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\toverlayColor,\n\t\t\t\t\t} = {}) => {\n\t\t\t\t\t\tif (background_type === 'color') {\n\t\t\t\t\t\t\tif (forced_background_image) {\n\t\t\t\t\t\t\t\treturn 'none'\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst str_replace = ($old, $new, $text) =>\n\t\t\t\t\t\t\t($text + '').split($old).join($new)\n\n\t\t\t\t\t\tif (background_type === 'image') {\n\t\t\t\t\t\t\tif (!background_image.url) {\n\t\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn `${\n\t\t\t\t\t\t\t\toverlayColor.default.color !==\n\t\t\t\t\t\t\t\t'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t\t\t\t? `linear-gradient(${overlayColor.default.color}, ${overlayColor.default.color}), `\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}url(${background_image.url})`\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (background_type === 'gradient') {\n\t\t\t\t\t\t\treturn gradient\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet opacity = 1\n\t\t\t\t\t\tlet color = patternColor\n\t\t\t\t\t\t\t? patternColor.default.color\n\t\t\t\t\t\t\t: ''\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor1') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor1')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor2') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor2')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor3') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor3')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor4') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor4')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor5') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor5')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor6') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor6')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor7') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor7')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('paletteColor8') > -1) {\n\t\t\t\t\t\t\tcolor = getComputedStyle(\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t).getPropertyValue('--paletteColor8')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (color.indexOf('rgb') > -1) {\n\t\t\t\t\t\t\tconst rgb_array = str_replace(\n\t\t\t\t\t\t\t\t'rgb(',\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\tstr_replace(\n\t\t\t\t\t\t\t\t\t')',\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\tstr_replace(\n\t\t\t\t\t\t\t\t\t\t'rgba(',\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\tstr_replace(' ', '', color)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t).split(',')\n\n\t\t\t\t\t\t\tcolor = `#${componentToHex(\n\t\t\t\t\t\t\t\tparseInt(rgb_array[0], 10)\n\t\t\t\t\t\t\t)}${componentToHex(\n\t\t\t\t\t\t\t\tparseInt(rgb_array[1], 10)\n\t\t\t\t\t\t\t)}${componentToHex(parseInt(rgb_array[2], 10))}`\n\n\t\t\t\t\t\t\tif (rgb_array.length > 3) {\n\t\t\t\t\t\t\t\topacity = rgb_array[3]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcolor = str_replace('#', '', color)\n\n\t\t\t\t\t\treturn `url(\"${str_replace(\n\t\t\t\t\t\t\t'OPACITY',\n\t\t\t\t\t\t\topacity,\n\t\t\t\t\t\t\tstr_replace(\n\t\t\t\t\t\t\t\t'COLOR',\n\t\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\t\tct_localizations.customizer_sync.svg_patterns[\n\t\t\t\t\t\t\t\t\tbackground_pattern\n\t\t\t\t\t\t\t\t] ||\n\t\t\t\t\t\t\t\t\tct_localizations.customizer_sync\n\t\t\t\t\t\t\t\t\t\t.svg_patterns['type-1']\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\")`\n\t\t\t\t\t},\n\t\t\t\t}),\n\n\t\t\t...addToDescriptors,\n\t\t},\n\n\t\t{\n\t\t\tvariable: 'background-position',\n\t\t\tvariableType: 'property',\n\n\t\t\tselector,\n\t\t\tresponsive,\n\t\t\t...addToDescriptors,\n\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: ({ background_type, background_image } = {}) => {\n\t\t\t\t\t\tif (background_type !== 'image') {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn `${Math.round(\n\t\t\t\t\t\t\tparseFloat(background_image.x || 0) * 100\n\t\t\t\t\t\t)}% ${Math.round(\n\t\t\t\t\t\t\tparseFloat(background_image.y || 0) * 100\n\t\t\t\t\t\t)}%`\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tvariable: 'background-size',\n\t\t\tvariableType: 'property',\n\n\t\t\tselector,\n\n\t\t\tresponsive,\n\t\t\t...addToDescriptors,\n\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: ({ background_type, background_size } = {}) => {\n\t\t\t\t\t\tif (background_type !== 'image') {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn background_size\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tvariable: 'background-attachment',\n\t\t\tvariableType: 'property',\n\n\t\t\tselector,\n\n\t\t\tresponsive,\n\t\t\t...addToDescriptors,\n\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: ({ background_type, background_attachment } = {}) => {\n\t\t\t\t\t\tif (background_type !== 'image') {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn background_attachment\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tselector,\n\t\t\tvariable: 'background-repeat',\n\t\t\tvariableType: 'property',\n\n\t\t\tresponsive,\n\t\t\t...addToDescriptors,\n\t\t\textractValue: (value) =>\n\t\t\t\twithResponsive({\n\t\t\t\t\tvalue: valueExtractor(value),\n\t\t\t\t\tresponsive,\n\t\t\t\t\tcb: ({ background_type, background_repeat } = {}) => {\n\t\t\t\t\t\tif (background_type !== 'image') {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (background_repeat === 'repeat') {\n\t\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn background_repeat\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t},\n\t],\n})\n\nexport const getBackgroundVariablesFor = () => ({\n\t// Site background\n\t...handleBackgroundOptionFor({\n\t\tid: 'site_background',\n\t\tselector: 'body',\n\t\tresponsive: true,\n\t\tforced_background_image: true,\n\t}),\n})\n","import { handleBackgroundOptionFor } from '../customizer/sync/variables/background'\nimport { withKeys } from '../customizer/sync/helpers'\nimport { maybePromoteScalarValueIntoResponsive } from 'customizer-sync-helpers/dist/promote-into-responsive'\n\nconst isContentBlock = document.body.classList.contains(\n\t'post-type-ct_content_block'\n)\n\nexport const gutenbergVariables = {\n\t...handleBackgroundOptionFor({\n\t\tid: 'background',\n\t\tselector: '.edit-post-visual-editor__content-area > div',\n\t\tresponsive: true,\n\t\taddToDescriptors: {\n\t\t\tfullValue: true,\n\t\t\timportant: true,\n\t\t},\n\t\tvalueExtractor: ({ background }) => {\n\t\t\tif (\n\t\t\t\t!background.desktop &&\n\t\t\t\t!isContentBlock &&\n\t\t\t\tbackground.background_type === 'color' &&\n\t\t\t\tbackground.backgroundColor.default.color &&\n\t\t\t\tbackground.backgroundColor.default.color.indexOf(\n\t\t\t\t\t'CT_CSS_SKIP_RULE'\n\t\t\t\t) > -1\n\t\t\t) {\n\t\t\t\treturn ct_editor_localizations.default_background\n\t\t\t}\n\n\t\t\treturn background\n\t\t},\n\t}),\n\n\t...withKeys(\n\t\t[\n\t\t\t'content_style_source',\n\t\t\t'content_style',\n\t\t\t'content_background',\n\t\t\t'content_boxed_shadow',\n\t\t\t'boxed_content_spacing',\n\t\t\t'content_boxed_radius',\n\n\t\t\t...(isContentBlock\n\t\t\t\t? [\n\t\t\t\t\t\t'has_content_block_structure',\n\t\t\t\t\t\t'template_subtype',\n\t\t\t\t\t\t'template_editor_width_source',\n\t\t\t\t\t\t'template_editor_width',\n\t\t\t\t  ]\n\t\t\t\t: []),\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tselector: `.editor-styles-wrapper`,\n\t\t\t\tvariable: 'block-max-width',\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\ttemplate_editor_width_source = 'small',\n\t\t\t\t\ttemplate_editor_width = 1290,\n\t\t\t\t}) => {\n\t\t\t\t\tif (!template_subtype) {\n\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\tif (template_subtype !== 'card') {\n\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\tif (template_editor_width_source === 'small') {\n\t\t\t\t\t\treturn 500\n\t\t\t\t\t}\n\n\t\t\t\t\tif (template_editor_width_source === 'medium') {\n\t\t\t\t\t\treturn 900\n\t\t\t\t\t}\n\n\t\t\t\t\treturn template_editor_width\n\t\t\t\t},\n\t\t\t\tfullValue: true,\n\t\t\t\tunit: 'px',\n\t\t\t\timportant: true,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tselector: `.editor-styles-wrapper`,\n\t\t\t\tvariable: 'has-boxed',\n\t\t\t\tresponsive: true,\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t\tcontent_style = 'wide',\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tcontent_style =\n\t\t\t\t\t\t\tct_editor_localizations.default_content_style\n\t\t\t\t\t}\n\n\t\t\t\t\tcontent_style =\n\t\t\t\t\t\tmaybePromoteScalarValueIntoResponsive(content_style)\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontent_style = {\n\t\t\t\t\t\t\tdesktop: 'wide',\n\t\t\t\t\t\t\ttablet: 'wide',\n\t\t\t\t\t\t\tmobile: 'wide',\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdesktop:\n\t\t\t\t\t\t\tcontent_style.desktop === 'boxed'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\n\t\t\t\t\t\ttablet:\n\t\t\t\t\t\t\tcontent_style.tablet === 'boxed'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\n\t\t\t\t\t\tmobile:\n\t\t\t\t\t\t\tcontent_style.mobile === 'boxed'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfullValue: true,\n\t\t\t\tunit: '',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tselector: `.editor-styles-wrapper`,\n\t\t\t\tvariable: 'has-wide',\n\t\t\t\tresponsive: true,\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\tcontent_style = 'wide',\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tcontent_style =\n\t\t\t\t\t\t\tct_editor_localizations.default_content_style\n\t\t\t\t\t}\n\n\t\t\t\t\tcontent_style =\n\t\t\t\t\t\tmaybePromoteScalarValueIntoResponsive(content_style)\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontent_style = {\n\t\t\t\t\t\t\tdesktop: 'wide',\n\t\t\t\t\t\t\ttablet: 'wide',\n\t\t\t\t\t\t\tmobile: 'wide',\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdesktop:\n\t\t\t\t\t\t\tcontent_style.desktop === 'wide'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\n\t\t\t\t\t\ttablet:\n\t\t\t\t\t\t\tcontent_style.tablet === 'wide'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\n\t\t\t\t\t\tmobile:\n\t\t\t\t\t\t\tcontent_style.mobile === 'wide'\n\t\t\t\t\t\t\t\t? 'var(--true)'\n\t\t\t\t\t\t\t\t: 'var(--false)',\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfullValue: true,\n\t\t\t\tunit: '',\n\t\t\t},\n\n\t\t\t...handleBackgroundOptionFor({\n\t\t\t\tid: 'background',\n\t\t\t\tselector: '.editor-styles-wrapper',\n\t\t\t\tresponsive: true,\n\t\t\t\tconditional_var: '--has-boxed',\n\t\t\t\taddToDescriptors: {\n\t\t\t\t\tfullValue: true,\n\t\t\t\t},\n\t\t\t\tvalueExtractor: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\tcontent_background,\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tcontent_background =\n\t\t\t\t\t\t\tct_editor_localizations.default_content_background\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontent_background = JSON.parse(\n\t\t\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t\t\tmaybePromoteScalarValueIntoResponsive(\n\t\t\t\t\t\t\t\t\tcontent_background\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tcontent_background.desktop.background_type = 'color'\n\t\t\t\t\t\tcontent_background.desktop.backgroundColor.default.color =\n\t\t\t\t\t\t\t'CT_CSS_SKIP_RULE'\n\n\t\t\t\t\t\tcontent_background.tablet.background_type = 'color'\n\t\t\t\t\t\tcontent_background.tablet.backgroundColor.default.color =\n\t\t\t\t\t\t\t'CT_CSS_SKIP_RULE'\n\n\t\t\t\t\t\tcontent_background.mobile.background_type = 'color'\n\t\t\t\t\t\tcontent_background.mobile.backgroundColor.default.color =\n\t\t\t\t\t\t\t'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\treturn content_background\n\t\t\t\t},\n\t\t\t}).background,\n\n\t\t\t{\n\t\t\t\tselector: '.editor-styles-wrapper',\n\t\t\t\ttype: 'spacing',\n\t\t\t\tvariable: 'boxed-content-spacing',\n\t\t\t\tresponsive: true,\n\t\t\t\tunit: '',\n\t\t\t\tfullValue: true,\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\tboxed_content_spacing,\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tboxed_content_spacing =\n\t\t\t\t\t\t\tct_editor_localizations.default_boxed_content_spacing\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\treturn boxed_content_spacing\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tselector: '.editor-styles-wrapper',\n\t\t\t\ttype: 'spacing',\n\t\t\t\tvariable: 'border-radius',\n\t\t\t\tresponsive: true,\n\n\t\t\t\tfullValue: true,\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\tcontent_boxed_radius,\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tcontent_boxed_radius =\n\t\t\t\t\t\t\tct_editor_localizations.default_content_boxed_radius\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\treturn content_boxed_radius\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tselector: '.editor-styles-wrapper',\n\t\t\t\ttype: 'box-shadow',\n\t\t\t\tvariable: 'box-shadow',\n\t\t\t\tresponsive: true,\n\t\t\t\tfullValue: true,\n\t\t\t\textractValue: ({\n\t\t\t\t\ttemplate_subtype,\n\t\t\t\t\tcontent_style_source = 'inherit',\n\t\t\t\t\tcontent_boxed_shadow,\n\t\t\t\t\thas_content_block_structure = 'yes',\n\t\t\t\t}) => {\n\t\t\t\t\tif (!isContentBlock && content_style_source === 'inherit') {\n\t\t\t\t\t\tcontent_boxed_shadow =\n\t\t\t\t\t\t\tct_editor_localizations.default_content_boxed_shadow\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisContentBlock &&\n\t\t\t\t\t\t(has_content_block_structure !== 'yes' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'card' ||\n\t\t\t\t\t\t\ttemplate_subtype === 'content')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn 'CT_CSS_SKIP_RULE'\n\t\t\t\t\t}\n\n\t\t\t\t\treturn content_boxed_shadow\n\t\t\t\t},\n\t\t\t},\n\t\t]\n\t),\n}\n","import ctEvents from 'ct-events'\nimport {\n\tshortenItemId,\n\tgetOriginalId,\n} from '../panels-builder/placements/helpers'\n\nexport const assembleSelector = (selector) =>\n\tArray.isArray(selector) ? selector.join(' ') : selector\n\nexport const mutateSelector = (args = {}) => {\n\targs = {\n\t\tselector: null,\n\t\t// prefix | suffix | between | replace-last\n\t\toperation: 'between',\n\t\tto_add: '',\n\t\t...args,\n\t}\n\n\tif (args.operation === 'between') {\n\t\tlet [first, ...rest] = args.selector\n\t\treturn [first, args.to_add, ...rest]\n\t}\n\n\tif (args.operation === 'el-prefix' && args.selector.length > 1) {\n\t\tlet [first, second, ...rest] = args.selector\n\n\t\treturn [first, `${args.to_add}${second}`, ...rest]\n\t}\n\n\tif (args.operation === 'el-suffix' && args.selector.length > 1) {\n\t\tlet [first, second, ...rest] = args.selector\n\t\treturn [first, `${second}${args.to_add}`, ...rest]\n\t}\n\n\tif (args.operation === 'container-suffix') {\n\t\tlet [first, ...rest] = args.selector\n\n\t\treturn [`${first}${args.to_add}`, ...rest]\n\t}\n\n\tif (args.operation === 'suffix') {\n\t\treturn [...args.selector, args.to_add]\n\t}\n\n\tif (args.operation === 'prefix') {\n\t\treturn [args.to_add, ...args.selector]\n\t}\n\n\tif (args.operation === 'replace-last') {\n\t\tlet last = args.selector.pop()\n\t\treturn [...args.selector, args.to_add]\n\t}\n\n\treturn args.selector\n}\n\nexport const getColumnSelectorFor = (args = {}) => {\n\targs = {\n\t\titemId: null,\n\t\t...args,\n\t}\n\n\tlet result = getOriginalId(args.itemId)\n\n\tif (getOriginalId(args.itemId) !== shortenItemId(args.itemId)) {\n\t\tresult = `${result}:${shortenItemId(args.itemId)}`\n\t}\n\n\treturn `[data-column=\"${result}\"]`\n}\n\nexport const getRootSelectorFor = (args = {}) => {\n\targs = {\n\t\t// header | footer\n\t\tpanelType: 'header',\n\t\titemId: null,\n\t\t...args,\n\t}\n\n\tlet selector = ''\n\n\tif (args.itemId) {\n\t\tselector = `[data-id=\"${args.itemId}\"]`\n\n\t\tif (['middle-row', 'top-row', 'bottom-row'].indexOf(args.itemId) > -1) {\n\t\t\tselector = `[data-row*=\"${args.itemId.replace('-row', '')}\"]`\n\t\t}\n\n\t\tif (args.itemId === 'socials') {\n\t\t\tselector = `${selector}.ct-${args.panelType}-socials`\n\t\t}\n\n\t\tif (args.itemId === 'offcanvas') {\n\t\t\tselector = '#offcanvas'\n\t\t}\n\t}\n\n\tlet section = document.querySelector(\n\t\targs.panelType === 'header' ? 'header#header' : 'footer.ct-footer'\n\t)\n\n\tlet header_prefix = `[data-${args.panelType}*=\"${\n\t\tsection ? section.dataset.id || 'type-1' : 'type-1'\n\t}\"]`\n\n\tif (\n\t\targs.itemId &&\n\t\t[\n\t\t\t'middle-row',\n\t\t\t'top-row',\n\t\t\t'bottom-row',\n\t\t\t'menu',\n\t\t\t'menu-secondary',\n\t\t\t'menu-tertiary',\n\t\t\t'logo',\n\t\t\t'language-switcher',\n\t\t\t'button',\n\t\t\t'text',\n\t\t\t'search-input',\n\t\t\t'contacts',\n\t\t\t'widget-area-1',\n\t\t\t'widget-area-2',\n\t\t\t'widget-area-3',\n\t\t\t'widget-area-4',\n\t\t].indexOf(args.itemId) > -1\n\t) {\n\t\tif (args.panelType === 'header') {\n\t\t\theader_prefix = `${header_prefix} .ct-header`\n\t\t}\n\n\t\tif (args.panelType === 'footer') {\n\t\t\theader_prefix = `${header_prefix} .ct-footer`\n\t\t}\n\t}\n\n\tif (!selector) {\n\t\treturn [header_prefix]\n\t}\n\n\treturn [header_prefix, selector]\n}\n\nexport const applyPrefixFor = (selector, prefix) => {\n\tif (prefix && prefix.length > 0) {\n\t\treturn `[data-prefix=\"${prefix}\"] ${selector}`\n\t}\n\n\treturn selector\n}\n\nexport const getPrefixFor = ({\n\tallowed_prefixes = null,\n\tdefault_prefix = null,\n} = {}) => {\n\tlet actualPrefix = document.body.dataset.prefix\n\n\tif (\n\t\tallowed_prefixes &&\n\t\tactualPrefix.indexOf('_archive') === -1 &&\n\t\tallowed_prefixes.indexOf(actualPrefix) === -1\n\t) {\n\t\tactualPrefix = default_prefix\n\t}\n\n\treturn actualPrefix\n}\n\nexport const maybeInsertBefore = ({ el, selector, destination }) => {\n\tif (destination.querySelector(selector)) {\n\t\tdestination.insertBefore(el, destination.querySelector(selector))\n\t} else {\n\t\tdestination.appendChild(el)\n\t}\n}\n\nexport const withKeys = (keys, descriptor) =>\n\tkeys.reduce(\n\t\t(result, currentKey) => ({\n\t\t\t...result,\n\t\t\t[currentKey]: descriptor,\n\t\t}),\n\t\t{}\n\t)\n\nexport const setRatioFor = (ratio, el) => {\n\tlet imgEl = el.querySelector('[width]')\n\n\tlet thumb_ratio =\n\t\tratio === 'original'\n\t\t\t? imgEl\n\t\t\t\t? [\n\t\t\t\t\t\timgEl.parentNode.dataset.w\n\t\t\t\t\t\t\t? parseInt(imgEl.parentNode.dataset.w)\n\t\t\t\t\t\t\t: imgEl.width,\n\t\t\t\t\t\timgEl.parentNode.dataset.h\n\t\t\t\t\t\t\t? parseInt(imgEl.parentNode.dataset.h)\n\t\t\t\t\t\t\t: imgEl.height,\n\t\t\t\t  ]\n\t\t\t\t: [1, 1]\n\t\t\t: (ratio || '4/3').split(\n\t\t\t\t\t(ratio || '4/3').indexOf('/') > -1 ? '/' : ':'\n\t\t\t  )\n\n\timgEl.style.aspectRatio = `${thumb_ratio[0]} / ${thumb_ratio[1]}`\n}\n\nexport function changeTagName(node, name) {\n\tvar renamed = document.createElement(name)\n\n\t;[...node.attributes].map(({ name, value }) => {\n\t\trenamed.setAttribute(name, value)\n\t})\n\n\twhile (node.firstChild) {\n\t\trenamed.appendChild(node.firstChild)\n\t}\n\n\treturn node.parentNode.replaceChild(renamed, node)\n}\n\nexport const getOptionFor = (key, prefix = '') => {\n\tconst id = `${prefix}${prefix.length > 0 ? '_' : ''}${key}`\n\n\tif (wp.customize(id)) {\n\t\treturn wp.customize(id)()\n\t}\n\n\treturn false\n}\n\nexport const watchOptionsWithPrefix = (args = {}) => {\n\tconst {\n\t\tgetPrefix = getPrefixFor,\n\t\tgetOptionsForPrefix = ({ prefix }) => [],\n\t\trender = () => {},\n\t\tevents = [],\n\t} = args\n\n\tlet prefix = getPrefix()\n\n\tevents.map((evt) => ctEvents.on(evt, () => render({ prefix })))\n\n\tgetOptionsForPrefix({ prefix }).map((id) =>\n\t\twp.customize(id, (val) => val.bind((to) => render({ prefix, id })))\n\t)\n}\n\nexport const handleResponsiveSwitch = ({\n\tselector,\n\tvariable = 'visibility',\n\ton = 'block',\n\toff = 'none',\n}) => ({\n\tselector,\n\tvariable,\n\tresponsive: true,\n\textractValue: ({ mobile, tablet, desktop }) => ({\n\t\tmobile: mobile ? on : off,\n\t\ttablet: tablet ? on : off,\n\t\tdesktop: desktop ? on : off,\n\t}),\n})\n\nexport const responsiveClassesFor = (data, el) => {\n\tel.classList.remove('ct-hidden-sm', 'ct-hidden-md', 'ct-hidden-lg')\n\n\tif (typeof data !== 'object') {\n\t\tif (!wp.customize(data)) return\n\n\t\tdata = wp.customize(data)() || {\n\t\t\tmobile: false,\n\t\t\ttablet: true,\n\t\t\tdesktop: true,\n\t\t}\n\t}\n\n\tif (!data.mobile) {\n\t\tel.classList.add('ct-hidden-sm')\n\t}\n\n\tif (!data.tablet) {\n\t\tel.classList.add('ct-hidden-md')\n\t}\n\n\tif (!data.desktop) {\n\t\tel.classList.add('ct-hidden-lg')\n\t}\n}\n\nexport const replaceFirstTextNode = (el, newText) => {\n\tlet textNode = [...el.childNodes].find(\n\t\t(elm) => elm.nodeType != 1 && elm.textContent.trim().length !== 0\n\t)\n\n\tif (!textNode) {\n\t\tel.insertAdjacentText('afterbegin', newText)\n\t\treturn\n\t}\n\n\ttextNode.textContent = `${newText}${String.fromCharCode(160)}`\n}\n\nexport const disableTransitionsStart = (el) => {\n\tArray.from(el).map((el) => {\n\t\tel.classList.add('ct-disable-transitions')\n\t})\n}\n\nexport const disableTransitionsEnd = (el) => {\n\tsetTimeout(() => {\n\t\tArray.from(el).map((el) => {\n\t\t\tel.classList.remove('ct-disable-transitions')\n\t\t})\n\t}, 50)\n}\n\nexport const mapValue = (args = {}) => {\n\targs = {\n\t\tvalue: {},\n\t\tmap: {},\n\t\t...args,\n\t}\n\n\tif (args.value.desktop && args.map[args.value.desktop]) {\n\t\targs.value.desktop = args.map[args.value.desktop]\n\t}\n\n\tif (args.value.tablet && args.map[args.value.tablet]) {\n\t\targs.value.tablet = args.map[args.value.tablet]\n\t}\n\n\tif (args.value.mobile && args.map[args.value.mobile]) {\n\t\targs.value.mobile = args.map[args.value.mobile]\n\t}\n\n\tif (args.map[args.value]) {\n\t\treturn args.map[args.value]\n\t}\n\n\treturn args.value\n}\n","import ctEvents from 'ct-events'\nimport { select, useSelect } from '@wordpress/data'\nimport {\n\tupdateVariableInStyleTags,\n\toverrideStylesWithAst,\n} from 'customizer-sync-helpers'\nimport { getValueFromInput } from 'blocksy-options'\nimport { gutenbergVariables } from './variables'\n\nlet oldFn =\n\twp.data.dispatch('core/edit-post').__experimentalSetPreviewDeviceType\n\nlet oldFnToggleFeature = wp.data.dispatch('core/edit-post').toggleFeature\n\nconst performSelectorsReplace = () => {\n\tlet googleFontsUrl = ''\n\tlet maybeGlobalStyles = document.querySelector('#ct-main-styles-inline-css')\n\n\tif (\n\t\tmaybeGlobalStyles &&\n\t\tmaybeGlobalStyles.innerText.indexOf('googleapis.com') > -1\n\t) {\n\t\tlet googleFonts = maybeGlobalStyles.innerText.split('display=swap')\n\n\t\tgoogleFontsUrl =\n\t\t\tgoogleFonts[0].trim().replace(\"@import url('\", '') + 'display=swap'\n\t}\n\n\t;[...document.querySelectorAll('style')].map((style) => {\n\t\tif (!style.innerText) {\n\t\t\treturn\n\t\t}\n\n\t\tif (style.innerText.indexOf('narrow-container-max-width') === -1) {\n\t\t\treturn\n\t\t}\n\n\t\tstyle.innerText = style.innerText.replace(\n\t\t\t/\\.editor-styles-wrapper \\.edit-post-visual-editor__content-area \\> div/g,\n\t\t\t'.edit-post-visual-editor__content-area > div'\n\t\t)\n\n\t\tstyle.innerText = style.innerText.replace(\n\t\t\t'.editor-styles-wrapperroot',\n\t\t\t':root'\n\t\t)\n\t})\n\n\tconst maybeIframe = document.querySelector(\n\t\t'.edit-post-visual-editor__content-area iframe[name=\"editor-canvas\"]'\n\t)\n\n\tif (maybeIframe) {\n\t\t;[...maybeIframe.contentDocument.querySelectorAll('style')].map(\n\t\t\t(style) => {\n\t\t\t\tif (\n\t\t\t\t\tstyle.innerText.indexOf('narrow-container-max-width') === -1\n\t\t\t\t) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (googleFontsUrl) {\n\t\t\t\t\tif (style.innerHTML.indexOf(googleFontsUrl) === -1) {\n\t\t\t\t\t\tstyle.innerHTML = `@import url('${googleFontsUrl}');${style.innerHTML}`\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstyle.innerHTML = style.innerHTML.replace(\n\t\t\t\t\t/\\.editor-styles-wrapper \\.edit-post-visual-editor__content-area \\> div/g,\n\t\t\t\t\t':root'\n\t\t\t\t)\n\n\t\t\t\tstyle.innerHTML = style.innerHTML.replace(\n\t\t\t\t\t/\\.edit-post-visual-editor__content-area \\> div/g,\n\t\t\t\t\t':root'\n\t\t\t\t)\n\n\t\t\t\tstyle.innerHTML = style.innerHTML.replace(\n\t\t\t\t\t'.editor-styles-wrapperroot',\n\t\t\t\t\t':root'\n\t\t\t\t)\n\t\t\t}\n\t\t)\n\t}\n}\n\nconst performThemeEditorStylesUpdate = () => {\n\tsetTimeout(() => {\n\t\tconst themeStyles =\n\t\t\tselect('core/edit-post').isFeatureActive('themeStyles')\n\n\t\tdocument.body.classList.remove('ct-theme-editor-styles')\n\n\t\tif (themeStyles) {\n\t\t\tdocument.body.classList.add('ct-theme-editor-styles')\n\t\t}\n\t})\n}\n\nif (oldFn) {\n\tsetTimeout(() => {\n\t\tperformSelectorsReplace()\n\t\tperformThemeEditorStylesUpdate()\n\t}, 1000)\n\n\twp.data.dispatch('core/edit-post').__experimentalSetPreviewDeviceType = (\n\t\t...args\n\t) => {\n\t\toldFn(...args)\n\t\tsetTimeout(() => {\n\t\t\toverrideStylesWithAst()\n\t\t\tperformSelectorsReplace()\n\t\t}, 200)\n\t}\n\n\twp.data.dispatch('core/edit-post').toggleFeature = (...args) => {\n\t\toldFnToggleFeature(...args)\n\t\tperformThemeEditorStylesUpdate()\n\t}\n}\n\nconst unsubscribe = wp.data.subscribe(() => {\n\tconst themeStyles = select('core/edit-post').isFeatureActive('themeStyles')\n\n\tdocument.body.classList.remove('ct-theme-editor-styles')\n\n\tif (themeStyles) {\n\t\tdocument.body.classList.add('ct-theme-editor-styles')\n\t}\n\n\tunsubscribe()\n})\n\nconst syncContentBlocks = ({ atts }) => {\n\tlet page_structure_type = atts.content_block_structure || 'type-4'\n\n\tdocument.body.classList.remove('ct-structure-narrow', 'ct-structure-normal')\n\n\tif (\n\t\t(atts.has_content_block_structure &&\n\t\t\tatts.has_content_block_structure !== 'yes') ||\n\t\tatts.template_subtype === 'content'\n\t) {\n\t\tdocument.body.classList.add(`ct-structure-normal`)\n\t\treturn\n\t}\n\n\tdocument.body.classList.add(\n\t\t`ct-structure-${page_structure_type === 'type-4' ? 'normal' : 'narrow'}`\n\t)\n}\n\nexport const mountSync = (atts = {}) => {\n\tatts = {\n\t\t...(select('core/editor').getEditedPostAttribute('blocksy_meta') || {}),\n\t\t...atts,\n\t}\n\n\tif (document.body.classList.contains('post-type-ct_content_block')) {\n\t\tsyncContentBlocks({ atts })\n\t\treturn\n\t}\n\n\tlet page_structure_type = atts.page_structure_type || 'default'\n\n\tif (page_structure_type === 'default') {\n\t\tpage_structure_type = ct_editor_localizations.default_page_structure\n\t}\n\n\tdocument.body.classList.remove('ct-structure-narrow', 'ct-structure-normal')\n\n\tdocument.body.classList.add(\n\t\t`ct-structure-${page_structure_type === 'type-4' ? 'normal' : 'narrow'}`\n\t)\n}\n\nexport const handleMetaboxValueChange = (optionId, optionValue) => {\n\tif (\n\t\toptionId === 'page_structure_type' ||\n\t\toptionId === 'has_content_block_structure' ||\n\t\toptionId === 'content_block_structure' ||\n\t\toptionId === 'template_subtype'\n\t) {\n\t\tmountSync({\n\t\t\t[optionId]: optionValue,\n\t\t})\n\t}\n\n\tconst atts = {\n\t\t...getValueFromInput(\n\t\t\tct_editor_localizations.post_options,\n\t\t\twp.data\n\t\t\t\t.select('core/editor')\n\t\t\t\t.getEditedPostAttribute('blocksy_meta') || {}\n\t\t),\n\t\t[optionId]: optionValue,\n\t}\n\n\tif (gutenbergVariables[optionId]) {\n\t\tupdateVariableInStyleTags({\n\t\t\tvariableDescriptor: Array.isArray(gutenbergVariables[optionId])\n\t\t\t\t? gutenbergVariables[optionId]\n\t\t\t\t: [gutenbergVariables[optionId]],\n\n\t\t\tvalue: optionValue,\n\t\t\tfullValue: atts,\n\t\t\ttabletMQ: '(max-width: 800px)',\n\t\t\tmobileMQ: '(max-width: 370px)',\n\t\t})\n\n\t\tperformSelectorsReplace()\n\t}\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.i18n;","var __WEBPACK_NAMESPACE_OBJECT__ = window.wp.primitives;","import {\n\tcreateElement,\n\tFragment,\n\tComponent,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element'\nimport { registerPlugin, withPluginContext } from '@wordpress/plugins'\nimport { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post'\nimport { withSelect, withDispatch } from '@wordpress/data'\nimport { compose } from '@wordpress/compose'\nimport { IconButton, Button } from '@wordpress/components'\nimport { handleMetaboxValueChange, mountSync } from './editor/sync'\n\nimport ctEvents from 'ct-events'\n\nimport { __, sprintf } from 'ct-i18n'\n\nimport {\n\tOptionsPanel,\n\tgetValueFromInput,\n\tPanelLevel,\n\tDeviceManagerProvider,\n} from 'blocksy-options'\n\nimport { SVG, Path } from '@wordpress/primitives'\n\nconst closeSmall = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M13 11.9l3.3-3.4-1.1-1-3.2 3.3-3.2-3.3-1.1 1 3.3 3.4-3.5 3.6 1 1L12 13l3.5 3.5 1-1z\" />\n\t</SVG>\n)\n\nconst starEmpty = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\td=\"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\"\n\t\t\tclipRule=\"evenodd\"\n\t\t/>\n\t</SVG>\n)\n\nconst starFilled = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\" />\n\t</SVG>\n)\n\nconst BlocksyOptions = ({\n\tname,\n\tvalue,\n\toptions,\n\tonChange,\n\tisActive,\n\tisPinnable = true,\n\tisPinned,\n\ttogglePin,\n\ttoggleSidebar,\n\tcloseGeneralSidebar,\n}) => {\n\tconst containerRef = useRef()\n\tconst parentContainerRef = useRef()\n\tconst [values, setValues] = useState(null)\n\n\tuseEffect(() => {\n\t\tdocument.body.classList[isActive ? 'add' : 'remove'](\n\t\t\t'blocksy-sidebar-active'\n\t\t)\n\t}, [isActive])\n\n\tconst handleChange = ({ id: key, value: v }) => {\n\t\tconst futureValue = {\n\t\t\t...(values || getValueFromInput(options, value || {})),\n\t\t\t[key]: v,\n\t\t}\n\n\t\thandleMetaboxValueChange(key, v)\n\n\t\tonChange(futureValue)\n\t\tsetValues(futureValue)\n\t}\n\n\tuseEffect(() => {\n\t\tctEvents.on('ct:metabox:options:trigger-change', handleChange)\n\n\t\treturn () => {\n\t\t\tctEvents.off('ct:metabox:options:trigger-change', handleChange)\n\t\t}\n\t}, [])\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<PluginSidebarMoreMenuItem target=\"blocksy\" icon=\"admin-customizer\">\n\t\t\t\t{sprintf(\n\t\t\t\t\t__('%s Page Settings', 'blocksy'),\n\t\t\t\t\tct_localizations.product_name\n\t\t\t\t)}\n\t\t\t</PluginSidebarMoreMenuItem>\n\n\t\t\t<PluginSidebar\n\t\t\t\tname={name}\n\t\t\t\ticon={\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{display: 'flex', width: '20px', height: '20px'}}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: ct_editor_localizations.options_panel_svg,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tclassName=\"ct-components-panel\"\n\t\t\t\ttitle={sprintf(\n\t\t\t\t\t__('%s Page Settings', 'blocksy'),\n\t\t\t\t\tct_localizations.product_name\n\t\t\t\t)}>\n\t\t\t\t<div id=\"ct-page-options\" ref={parentContainerRef}>\n\t\t\t\t\t<div className=\"ct-options-container\" ref={containerRef}>\n\t\t\t\t\t\t<DeviceManagerProvider>\n\t\t\t\t\t\t\t<PanelLevel\n\t\t\t\t\t\t\t\tcontainerRef={containerRef}\n\t\t\t\t\t\t\t\tparentContainerRef={parentContainerRef}\n\t\t\t\t\t\t\t\tuseRefsAsWrappers>\n\t\t\t\t\t\t\t\t<div className=\"ct-panel-options-header components-panel__header edit-post-sidebar-header\">\n\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t{sprintf(\n\t\t\t\t\t\t\t\t\t\t\t__('%s Page Settings', 'blocksy'),\n\t\t\t\t\t\t\t\t\t\t\tct_localizations.product_name\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</strong>\n\n\t\t\t\t\t\t\t\t\t{isPinnable && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tisPinned\n\t\t\t\t\t\t\t\t\t\t\t\t\t? starFilled\n\t\t\t\t\t\t\t\t\t\t\t\t\t: starEmpty\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\tisPinned\n\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Unpin from toolbar',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'blocksy'\n\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Pin to toolbar',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'blocksy'\n\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={togglePin}\n\t\t\t\t\t\t\t\t\t\t\tisPressed={isPinned}\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={isPinned}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\tonClick={closeGeneralSidebar}\n\t\t\t\t\t\t\t\t\t\ticon={closeSmall}\n\t\t\t\t\t\t\t\t\t\tlabel={__('Close plugin', 'blocksy')}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<OptionsPanel\n\t\t\t\t\t\t\t\t\tonChange={(key, v) => {\n\t\t\t\t\t\t\t\t\t\tconst futureValue = {\n\t\t\t\t\t\t\t\t\t\t\t...(values ||\n\t\t\t\t\t\t\t\t\t\t\t\tgetValueFromInput(\n\t\t\t\t\t\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue || {}\n\t\t\t\t\t\t\t\t\t\t\t\t)),\n\t\t\t\t\t\t\t\t\t\t\t[key]: v,\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\thandleMetaboxValueChange(key, v)\n\n\t\t\t\t\t\t\t\t\t\tonChange(futureValue)\n\t\t\t\t\t\t\t\t\t\tsetValues(futureValue)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tvalues ||\n\t\t\t\t\t\t\t\t\t\tgetValueFromInput(options, value || {})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelLevel>\n\t\t\t\t\t\t</DeviceManagerProvider>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PluginSidebar>\n\t\t</Fragment>\n\t)\n}\n\nconst BlocksyOptionsComposed = compose(\n\twithPluginContext((context, { name }) => ({\n\t\tsidebarName: `${context.name}/${name}`,\n\t})),\n\n\twithSelect((select, { sidebarName }) => {\n\t\tconst value = select('core/editor').getEditedPostAttribute(\n\t\t\t'blocksy_meta'\n\t\t)\n\n\t\tconst { getActiveGeneralSidebarName, isPluginItemPinned } = select(\n\t\t\t'core/edit-post'\n\t\t)\n\n\t\treturn {\n\t\t\tisActive: getActiveGeneralSidebarName() === sidebarName,\n\t\t\tisPinned: isPluginItemPinned(sidebarName),\n\t\t\tvalue: Array.isArray(value) ? {} : value || {},\n\t\t\toptions: ct_editor_localizations.post_options,\n\t\t}\n\t}),\n\twithDispatch((dispatch, { sidebarName }) => {\n\t\tconst {\n\t\t\tcloseGeneralSidebar,\n\t\t\topenGeneralSidebar,\n\t\t\ttogglePinnedPluginItem,\n\t\t} = dispatch('core/edit-post')\n\n\t\treturn {\n\t\t\tcloseGeneralSidebar,\n\t\t\ttogglePin: () => {\n\t\t\t\ttogglePinnedPluginItem(sidebarName)\n\t\t\t},\n\n\t\t\tonChange: (blocksy_meta) => {\n\t\t\t\tdispatch('core/editor').editPost({\n\t\t\t\t\tblocksy_meta,\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t})\n)(BlocksyOptions)\n\nif (ct_editor_localizations.post_options) {\n\tregisterPlugin('blocksy', {\n\t\trender: () => <BlocksyOptionsComposed name=\"blocksy\" />,\n\t})\n}\n"],"names":["GetIntrinsic","callBind","$indexOf","module","exports","name","allowMissing","intrinsic","bind","$apply","$call","$reflectApply","call","$gOPD","$defineProperty","$max","value","e","originalFunction","func","arguments","desc","configurable","length","applyBind","apply","isResponsive","undefined","Object","keys","indexOf","desktop","tablet","mobile","isCallable","toStr","prototype","toString","hasOwnProperty","forEachArray","array","iterator","receiver","i","len","forEachString","string","charAt","forEachObject","object","k","list","thisArg","TypeError","ERROR_MESSAGE","slice","Array","funcType","that","target","this","bound","args","binder","result","concat","boundLength","Math","max","boundArgs","push","Function","join","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasSymbols","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Symbol","Atomics","BigInt","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","Error","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","Map","Number","parseFloat","parseInt","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","fn","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","replace","$strSlice","rePropName","reEscapeChar","stringToPath","first","last","match","number","quote","subString","getBaseIntrinsic","alias","intrinsicName","parts","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","origSymbol","hasSymbolSham","getOwnPropertySymbols","obj","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","enumerable","toStringTag","create","ctor","superCtor","super_","constructor","writable","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","defineProperty","_","constructorRegex","isES6ClassFn","fnStr","test","documentDotAll","document","all","tryFunctionObject","strClass","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","forEach","availableTypedArrays","g","globalThis","typedArrays","$slice","toStrTags","gOPD","typedArray","arr","proto","superProto","tag","anyTrue","getter","tryTypedArrays","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","arg","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","uncurryThis","f","BigIntSupported","SymbolSupported","ObjectToString","numberValue","valueOf","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","input","then","catch","isArrayBufferView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","method","getOwnPropertyDescriptors","descriptors","formatRegExp","format","isString","objects","inspect","str","stringify","isNull","isObject","deprecate","msg","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","error","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","toUpperCase","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","val","idx","arrayToHash","isError","formatError","isRegExp","isDate","output","base","braces","isArray","toUTCString","l","formatProperty","key","formatArray","map","pop","reduce","prev","cur","reduceToSingleString","set","split","line","substr","ar","re","objectToString","d","o","pad","n","debuglog","pid","types","isNullOrUndefined","isSymbol","isNativeError","isPrimitive","isBuffer","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","inherits","origin","add","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","cb","newReason","promisify","original","promiseResolve","promiseReject","promise","resolve","reject","err","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","self","rej","foundName","possibleNames","out","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","a","definition","window","wp","element","plugins","editPost","data","compose","components","ctEvents","ownKeys","enumerableOnly","symbols","filter","_objectSpread2","source","_defineProperty","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","arr2","nodeType","maybePromoteScalarValueIntoResponsive","shadyCss","astIterator","common","matcher","whitespace","whitespaceGreedy","commentGreedy","boundary","stringBoundary","common_1$4","iterateOverAst","node","type","stylesheet","rule","rules","ruleset","rulelist","declaration","atRule","expression","comment","discarded","never","nodeFactory","common_1$3","NodeFactory","range","parameters","nameRange","parametersRange","selector","selectorRange","text","nodeVisitor","NodeVisitor","path_","path","visit","parser","token","TokenType","pow","propertyBoundary","word","Token","start","end","previous","next","is","boundaryTokenTypes","openParenthesis","closeParenthesis","colon","at","openBrace","closeBrace","semicolon","hyphen","underscore","tokenizer","common_1$2","token_1$2","Tokenizer","cssText","cursorToken_","none","currentToken_","offset","currentToken","getNextToken_","advance","startToken","endToken","getRange","substring","trimRange","flush","tokens","character","tokenizeWhitespace","tokenizeString","tokenizeComment","tokenizeBoundary","tokenizeWord","quotation","escaped","lastIndex","exec","index","node_factory_1$1","token_1$1","tokenizer_1$1","Parser","parse","parseStylesheet","parseRules","parseRule","parseComment","parseDeclarationOrRuleset","parseUnknown","parseAtRule","parametersStart","parametersEnd","parseRulelist","ruleStart","ruleEnd","declarationName","rawExpressionRange","expressionRange","expressionValue","stringifier","common_1$1","node_visitor_1$1","Stringifier$1","ast","_discarded","Stringifier","ast_iterator_1","common_1","node_factory_1","node_visitor_1","parser_1","stringifier_1","token_1","tokenizer_1","maybeGetPreviewerIframe","querySelector","styleTagsCache","getStyleTagsWithAst","allStyles","querySelectorAll","s","innerText","maybeIframe","contentDocument","persistNewAsts","styleTags","styleDescriptor","overrideStylesWithAst","id","find","prepareSpacingValueFor","isValueCompact","currentValue","prepareBoxShadowValueFor","_ref","_ref$forcedOutput","forcedOutput","enable","blur","spread","v_offset","h_offset","box_shadow_components","inset","color","functionToCheck","replaceVariableInAst","_args","variableDescriptor","newSelector","variablePrefix","variableType","variableName","variable","hasSuchSelector","ruleToCopy","newAst","_ref2","hasSuchRule","_ref3","replacingLogic","actualValue","width","skip_none","unit","important","blocksyOptions","componentToHex","c","hex","withResponsive","responsive","handleBackgroundOptionFor","valueExtractor","addToDescriptors","conditional_var","forced_background_image","extractValue","backgroundColor","default","background_type","gradient","background_image","background_pattern","patternColor","overlayColor","str_replace","$old","$new","$text","url","opacity","getComputedStyle","body","getPropertyValue","rgb_array","ct_localizations","customizer_sync","svg_patterns","round","y","background_size","background_attachment","background_repeat","isContentBlock","classList","contains","gutenbergVariables","fullValue","background","ct_editor_localizations","default_background","template_subtype","template_editor_width_source","template_editor_width","content_style_source","has_content_block_structure","content_style","default_content_style","content_background","default_content_background","boxed_content_spacing","default_boxed_content_spacing","content_boxed_radius","default_content_boxed_radius","content_boxed_shadow","default_content_boxed_shadow","currentKey","oldFn","dispatch","__experimentalSetPreviewDeviceType","oldFnToggleFeature","toggleFeature","performSelectorsReplace","googleFontsUrl","maybeGlobalStyles","googleFonts","trim","innerHTML","performThemeEditorStylesUpdate","themeStyles","select","isFeatureActive","remove","unsubscribe","subscribe","syncContentBlocks","atts","page_structure_type","content_block_structure","handleMetaboxValueChange","optionId","optionValue","getEditedPostAttribute","default_page_structure","mountSync","getValueFromInput","post_options","allDescriptors","tabletMQ","mobileMQ","currentAst","whenDone","tabletAst","mobileAst","updateVariableInStyleTags","i18n","primitives","closeSmall","SVG","xmlns","viewBox","Path","starEmpty","fillRule","clipRule","starFilled","BlocksyOptionsComposed","withPluginContext","context","sidebarName","withSelect","getActiveGeneralSidebarName","isPluginItemPinned","isActive","isPinned","options","withDispatch","closeGeneralSidebar","openGeneralSidebar","togglePinnedPluginItem","togglePin","onChange","blocksy_meta","isPinnable","toggleSidebar","containerRef","useRef","parentContainerRef","values","setValues","useState","useEffect","handleChange","v","futureValue","Fragment","PluginSidebarMoreMenuItem","icon","sprintf","__","product_name","PluginSidebar","display","height","dangerouslySetInnerHTML","__html","options_panel_svg","className","ref","DeviceManagerProvider","PanelLevel","useRefsAsWrappers","Button","label","onClick","isPressed","IconButton","OptionsPanel","registerPlugin","render"],"sourceRoot":""}