{"version":3,"file":"for-accessibility-enhancer.js","sources":["webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/Maybe/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/Maybe.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/apOrFunc.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/array.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/compose.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/curry.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/defineUnion.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/equals.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/flNames.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/hasAlg.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/implements.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/innerConcat.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/inspect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isApplicative.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isApply.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isDate.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isEmpty.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isFunction.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isFunctor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isMonoid.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isPredOrFunc.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isSame.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isSameType.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isSemigroup.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isSymbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/isTypeRepOf.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/object.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/predOrFunc.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/type.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/core/types.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/helpers/compose.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/pointfree/filter.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/crocks@0.12.4/node_modules/crocks/pointfree/map.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/accessibilityEnhancer.css","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/index.js","webpack://@jotforminc/umd-bundler/../../libs/constants/src/texts/index.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/domUtils.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/enhancer.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/constants.js","webpack://@jotforminc/umd-bundler/../../cdns/for-accessibility-enhancer/src/accessibilityEnhancer.css?6414"],"sourcesContent":["/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nmodule.exports =\n require('../core/Maybe')\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar VERSION = 4\n\nvar _defineUnion = require('./defineUnion')\nvar _equals = require('./equals')\nvar _implements = require('./implements')\nvar _innerConcat = require('./innerConcat')\nvar _inspect = require('./inspect')\nvar type = require('./types').type('Maybe')\nvar _type = require('./types').typeFn(type(), VERSION)\nvar fl = require('./flNames')\n\nvar apOrFunc = require('./apOrFunc')\nvar compose = require('./compose')\nvar isApplicative = require('./isApplicative')\nvar isApply = require('./isApply')\nvar isArray = require('./isArray')\nvar isFunction = require('./isFunction')\nvar isSameType = require('./isSameType')\n\nvar constant = function (x) { return function () { return x; }; }\nvar identity = function (x) { return x; }\n\nvar _maybe =\n _defineUnion({ Nothing: [], Just: [ 'a' ] })\n\nvar Nothing =\n _maybe.Nothing\n\nvar Just =\n _maybe.Just\n\nMaybe.Nothing =\n compose(Maybe, Nothing)\n\nMaybe.Just =\n compose(Maybe, Just)\n\nvar _of =\n compose(Maybe, Just)\n\nvar _zero =\n compose(Maybe, Nothing)\n\nfunction runSequence(x) {\n if(!(isApply(x) || isArray(x))) {\n throw new TypeError(\n 'Maybe.sequence: Must wrap an Apply'\n )\n }\n\n return x.map(_of)\n}\n\nfunction Maybe(u) {\n var obj;\n\n if(!arguments.length) {\n throw new TypeError('Maybe: Must wrap something, try using Nothing or Just constructors')\n }\n\n var x =\n !_maybe.includes(u) ? Just(u) : u\n\n var of =\n _of\n\n var zero =\n _zero\n\n var option =\n function (n) { return either(constant(n), identity); }\n\n var equals =\n function (m) { return isSameType(Maybe, m) && either(\n constant(m.either(constant(true), constant(false))),\n function (x) { return m.either(constant(false), function (y) { return _equals(y, x); }); }\n ); }\n\n var inspect = function () { return either(\n constant('Nothing'),\n function (x) { return (\"Just\" + (_inspect(x))); }\n ); }\n\n function either(f, g) {\n if(!isFunction(f) || !isFunction(g)) {\n throw new TypeError('Maybe.either: Requires both left and right functions')\n }\n\n return _maybe.caseOf({\n Nothing: f,\n Just: g\n }, x)\n }\n\n function concat(method) {\n return function(m) {\n if(!isSameType(Maybe, m)) {\n throw new TypeError((\"Maybe.\" + method + \": Maybe of Semigroup required\"))\n }\n\n return either(\n Maybe.Nothing,\n _innerConcat((\"Maybe.\" + method), m)\n )\n }\n }\n\n function coalesce(f, g) {\n if(!isFunction(f) || !isFunction(g)) {\n throw new TypeError('Maybe.coalesce: Requires both left and right functions')\n }\n\n return Maybe.Just(either(f, g))\n }\n\n function bichain(l, r) {\n var bichainErr =\n 'Maybe.bichain: Both arguments must be Maybe returning functions'\n\n if(!(isFunction(l) && isFunction(r))) {\n throw new TypeError(bichainErr)\n }\n\n var m = either(l, r)\n\n if(!isSameType(Maybe, m)) {\n throw new TypeError(bichainErr)\n }\n\n return m\n }\n\n function map(method) {\n return function(fn) {\n if(!isFunction(fn)) {\n throw new TypeError((\"Maybe.\" + method + \": Function required\"))\n }\n\n return either(\n Maybe.Nothing,\n compose(Maybe.Just, fn)\n )\n }\n }\n\n function alt(method) {\n return function(m) {\n if(!isSameType(Maybe, m)) {\n throw new TypeError((\"Maybe.\" + method + \": Maybe required\"))\n }\n\n return either(\n constant(m),\n Maybe.Just\n )\n }\n }\n\n function ap(m) {\n var fn = option(constant(undefined))\n\n if(!isFunction(fn)) {\n throw new TypeError('Maybe.ap: Wrapped value must be a function')\n }\n\n else if(!isSameType(Maybe, m)) {\n throw new TypeError('Maybe.ap: Maybe required')\n }\n\n return either(\n Maybe.Nothing,\n m.map\n )\n }\n\n function chain(method) {\n return function(fn) {\n if(!isFunction(fn)) {\n throw new TypeError((\"Maybe.\" + method + \": Function required\"))\n }\n\n var m = either(Maybe.Nothing, fn)\n\n if(!isSameType(Maybe, m)) {\n throw new TypeError((\"Maybe.\" + method + \": Function must return a Maybe\"))\n }\n\n return m\n }\n }\n\n function sequence(f) {\n if(!(isApplicative(f) || isFunction(f))) {\n throw new TypeError(\n 'Maybe.sequence: Applicative TypeRep or Apply returning function required'\n )\n }\n\n var af =\n apOrFunc(f)\n\n return either(\n compose(af, Maybe.Nothing),\n runSequence\n )\n }\n\n function traverse(f, fn) {\n if(!(isApplicative(f) || isFunction(f))) {\n throw new TypeError(\n 'Maybe.traverse: Applicative TypeRep or Apply returning function required for first argument'\n )\n }\n\n if(!isFunction(fn)) {\n throw new TypeError(\n 'Maybe.traverse: Apply returning function required for second argument'\n )\n }\n\n var af =\n apOrFunc(f)\n\n var m =\n either(compose(af, Maybe.Nothing), fn)\n\n if(!(isApply(m) || isArray(m))) {\n throw new TypeError(\n 'Maybe.traverse: Both functions must return an Apply of the same type'\n )\n }\n\n return either(\n constant(m),\n constant(m.map(_of))\n )\n }\n\n return ( obj = {\n inspect: inspect, toString: inspect, either: either,\n option: option, type: type, equals: equals, bichain: bichain, coalesce: coalesce,\n zero: zero, ap: ap, of: of, sequence: sequence,\n traverse: traverse,\n alt: alt('alt'),\n chain: chain('chain'),\n concat: concat('concat'),\n map: map('map')\n }, obj[fl.zero] = zero, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.alt] = alt(fl.alt), obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Maybe, obj )\n}\n\nMaybe.of = _of\nMaybe.zero = _zero\nMaybe.type = type\n\nMaybe[fl.of] = _of\nMaybe[fl.zero] = _zero\nMaybe['@@type'] = _type\n\nMaybe['@@implements'] = _implements(\n [ 'alt', 'ap', 'chain', 'concat', 'equals', 'map', 'of', 'traverse', 'zero' ]\n)\n\nmodule.exports = Maybe\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isApplicative = require('./isApplicative')\nvar isTypeRepOf = require('./isTypeRepOf')\n\nvar apOrFunc = function (af) { return function (x) { return isApplicative(af)\n ? af.of(x)\n : isTypeRepOf(Array, af) ? [ x ] : af(x); }; }\n\nmodule.exports = apOrFunc\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isApply = require('./isApply')\nvar isArray = require('./isArray')\nvar isEmpty = require('./isEmpty')\nvar isFunction = require('./isFunction')\nvar isSameType = require('./isSameType')\nvar isSemigroup = require('./isSemigroup')\nvar apOrFunc = require('./apOrFunc')\n\nvar identity =\n function (x) { return x; }\n\nvar concat =\n function (x) { return function (m) { return x.concat(m); }; }\n\nfunction runTraverse(name, fn) {\n return function(acc, x) {\n var m = fn(x)\n\n if(!((isApply(acc) || isArray(acc)) && isSameType(acc, m))) {\n throw new TypeError((\"Array.\" + name + \": Must wrap Applys of the same type\"))\n }\n\n if(isArray(m)) {\n return ap(acc, map(function (v) { return concat([ v ]); }, m))\n }\n\n return m\n .map(function (v) { return concat([ v ]); })\n .ap(acc)\n }\n}\n\nvar allFuncs =\n function (xs) { return xs.reduce(function (b, i) { return b && isFunction(i); }, true); }\n\nvar map =\n function (f, m) { return m.map(function (x) { return f(x); }); }\n\nfunction ap(x, m) {\n if(!(m.length && allFuncs(m))) {\n throw new TypeError('Array.ap: Second Array must all be functions')\n }\n\n return m.reduce(function (acc, f) { return acc.concat(map(f, x)); }, [])\n}\n\nfunction chain(f, m) {\n return m.reduce(function(y, x) {\n var n = f(x)\n\n if(!isArray(n)) {\n throw new TypeError('Array.chain: Function must return an Array')\n }\n\n return y.concat(n)\n }, [])\n}\n\nfunction sequence(f, m) {\n var fn = apOrFunc(f)\n return m.reduceRight(runTraverse('sequence', identity), fn([]))\n}\n\nfunction traverse(f, fn, m) {\n var af = apOrFunc(f)\n return m.reduceRight(runTraverse('traverse', fn), af([]))\n}\n\nfunction fold(m) {\n if(isEmpty(m)) {\n throw new TypeError(\n 'Array.fold: Non-empty Array of Semigroups required'\n )\n }\n\n var head =\n m[0]\n\n if(!isSemigroup(head)) {\n throw new TypeError('Array.fold: Must contain Semigroups of the same type')\n }\n\n return m.reduce(function(x, y) {\n if(!isSameType(x, y)) {\n throw new TypeError('Array.fold: Must contain Semigroups of the same type')\n }\n return x.concat(y)\n })\n}\n\nfunction foldMap(fn, m) {\n if(isEmpty(m)) {\n throw new TypeError(\n 'Array.foldMap: Non-empty Array required'\n )\n }\n\n var head =\n fn(m[0])\n\n if(!isSemigroup(head)) {\n throw new TypeError(\n 'Array.foldMap: Provided function must return Semigroups of the same type'\n )\n }\n\n return m.length === 1\n ? head\n : m.slice(1).reduce(function(semi, x) {\n var val = fn(x)\n\n if(!(isSameType(semi, val) && isSemigroup(val))) {\n throw new TypeError(\n 'Array.foldMap: Provided function must return Semigroups of the same type'\n )\n }\n\n return semi.concat(val)\n }, head)\n}\n\nfunction set(indx, val, m) {\n var arr = m.slice()\n\n arr[indx] = val\n\n return arr\n}\n\nfunction unset(indx, m) {\n return m.slice(0, indx)\n .concat(m.slice(indx + 1))\n}\n\nmodule.exports = {\n ap: ap, chain: chain, fold: fold,\n foldMap: foldMap, map: map,\n sequence: sequence, set: set,\n traverse: traverse, unset: unset\n}\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\n// Composition (Bluebird)\n// compose : (b -> c) -> (a -> b) -> a -> c\nfunction compose(f, g) {\n return function(x) {\n return f(g(x))\n }\n}\n\nmodule.exports = compose\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('./isFunction')\n\nvar CURRY_SYMB =\n '@@crocks/curried'\n\nfunction applyCurry(fn, arg) {\n if(!isFunction(fn)) { return fn }\n\n return fn.length > 1 ? fn.bind(null, arg) : fn.call(null, arg)\n}\n\n// curry : ((a, b, c) -> d) -> a -> b -> c -> d\nfunction curry(fn) {\n if(fn[CURRY_SYMB]) {\n return fn\n }\n\n function curried() {\n var xs = [], len = arguments.length;\n while ( len-- ) xs[ len ] = arguments[ len ];\n\n var args =\n xs.length ? xs : [ undefined ]\n\n if(args.length < fn.length) {\n return curry(Function.bind.apply(fn, [ null ].concat(args)))\n }\n\n var val = args.length === fn.length\n ? fn.apply(null, args)\n : args.reduce(applyCurry, fn)\n\n if(isFunction(val)) {\n return curry(val)\n }\n\n return val\n }\n\n Object.defineProperty(curried, CURRY_SYMB, {\n enumerable: false,\n writable: false,\n value: true\n })\n\n return curried\n}\n\nmodule.exports = curry\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar curry = require('./curry')\nvar isArray = require('./isArray')\nvar isEmpty = require('./isEmpty')\nvar isFunction = require('./isFunction')\nvar isObject = require('./isObject')\nvar isString = require('./isString')\n\nvar constant = function (x) { return function () { return x; }; }\n\nvar isDefinition =\n function (x) { return isString(x) && x.length; }\n\nfunction caseOf(defs) {\n return function(cases, m) {\n var tag = m.tag\n var def = defs[tag()]\n\n var args = def.reduce(\n function (xs, x) { return xs.concat([ m[x].value() ]); },\n []\n )\n\n return cases[tag()].apply(null, args)\n }\n}\n\nvar includes =\n function (defs) { return function (m) { return !!m && isFunction(m.tag) && Object.keys(defs).indexOf(m.tag()) !== -1; }; }\n\nfunction construction(def, tag) {\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return def.reduce(function(obj, key, index) {\n obj[key] = { value: constant(args[index]) }\n return obj\n }, { tag: constant(tag) })\n }\n}\n\nfunction defineUnion(defs) {\n if(!isObject(defs) || isEmpty(defs)) {\n throw new TypeError('defineUnion: Argument must be an Object containing definition lists')\n }\n\n return Object.keys(defs).reduce(function(obj, tag) {\n var def = defs[tag]\n\n if(!isArray(def) || !def.reduce(function (x, y) { return x && isDefinition(y); }, true)) {\n throw new TypeError('defineUnion: Definitions must be a list of non-empty string identifiers')\n }\n\n obj[tag] = construction(def, tag)\n\n return obj\n }, { caseOf: curry(caseOf(defs)), includes: curry(includes(defs)) })\n}\n\nmodule.exports = defineUnion\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isSameType = require('./isSameType')\nvar isSame = require('./isSame')\nvar hasAlg = require('./hasAlg')\nvar type = require('./type')\nvar fl = require('./flNames')\n\nvar comp = function (a, b) { return a.valueOf() === b.valueOf(); }\n\nvar strats = {\n 'Array': function (a, b) { return a.length === b.length\n && deepEquals(a, b); },\n\n 'Date': function (a, b) { return isSame(a.valueOf(), b.valueOf()); },\n\n 'Error': function (a, b) { return a.name === b.name\n && a.message === b.message; },\n\n 'Object': function (a, b) { return Object.keys(a).length === Object.keys(b).length\n && deepEquals(a, b); },\n\n 'RegExp': function (a, b) { return a.source === b.source\n && a.ignoreCase === b.ignoreCase\n && a.global === b.global\n && a.multiline === b.multiline\n && a.unicode === b.unicode; }\n}\n\nfunction deepEquals(a, b) {\n for(var key in a) {\n if(!equals(a[key], b[key])) {\n return false\n }\n }\n return true\n}\n\nfunction equals(a, b) {\n if(isSame(a, b)) {\n return true\n }\n\n if(!isSameType(a, b)) {\n return false\n }\n\n if(hasAlg('equals', a)) {\n return (b[fl.equals] || b.equals).call(b, a)\n }\n\n return (strats[type(a)] || comp)(a, b)\n}\n\nmodule.exports = equals\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nmodule.exports = {\n alt: 'fantasy-land/alt',\n bimap: 'fantasy-land/bimap',\n chain: 'fantasy-land/chain',\n compose: 'fantasy-land/compose',\n concat: 'fantasy-land/concat',\n contramap: 'fantasy-land/contramap',\n empty: 'fantasy-land/empty',\n equals: 'fantasy-land/equals',\n extend: 'fantasy-land/extend',\n filter: 'fantasy-land/filter',\n id: 'fantasy-land/id',\n map: 'fantasy-land/map',\n of: 'fantasy-land/of',\n promap: 'fantasy-land/promap',\n reduce: 'fantasy-land/reduce',\n zero: 'fantasy-land/zero'\n}\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('./isFunction')\nvar fl = require('./flNames')\n\nvar check = function (alg, m) { return isFunction(m[fl[alg]]) || isFunction(m[alg]); }\n\nvar checkImpl = function (alg, m) { return isFunction(m['@@implements']) && !!m['@@implements'](alg); }\n\nvar hasAlg = function (alg, m) { return !!m && (check(alg, m) || checkImpl(alg, m)); }\n\nmodule.exports = hasAlg\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar fulfills =\n function (algs) { return function (test) { return algs.indexOf(test) !== -1; }; }\n\nmodule.exports = fulfills\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isSameType = require('./isSameType')\nvar isSemigroup = require('./isSemigroup')\n\nfunction innerConcat(method, m) {\n return function(left) {\n if(!isSemigroup(left)) {\n throw new TypeError((method + \": Both containers must contain Semigroups of the same type\"))\n }\n\n return m.map(function (right) {\n if(!isSameType(left, right)) {\n throw new TypeError((method + \": Both containers must contain Semigroups of the same type\"))\n }\n\n return left.concat(right)\n })\n }\n}\n\nmodule.exports = innerConcat\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isArray = require('./isArray')\nvar isFunction = require('./isFunction')\nvar isObject = require('./isObject')\nvar isString = require('./isString')\nvar isSymbol = require('./isSymbol')\nvar isDate = require('./isDate')\n\nfunction arrayInspect(xs) {\n return xs.length\n ? xs.map(inspect).reduce(function (a, x) { return a + ',' + x; })\n : xs\n}\n\n// inspect : a -> String\nfunction inspect(x) {\n if(x && isFunction(x.inspect)) {\n return (\" \" + (x.inspect()))\n }\n\n if(isFunction(x)) {\n return ' Function'\n }\n\n if(isArray(x)) {\n return (\" [\" + (arrayInspect(x)) + \" ]\")\n }\n\n if(isObject(x)) {\n return (\" { \" + (Object.keys(x).reduce(function (acc, key) {\n return acc.concat([ (key + \":\" + (inspect(x[key]))) ])\n }, []).join(', ')) + \" }\")\n }\n\n if(isString(x)) {\n return (\" \\\"\" + x + \"\\\"\")\n }\n\n if(isSymbol(x) || isDate(x)) {\n return (\" \" + (x.toString()))\n }\n\n return (\" \" + x)\n}\n\nmodule.exports = inspect\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar hasAlg = require('./hasAlg')\nvar isApply = require('./isApply')\n\n// isApplicative : a -> Boolean\nfunction isApplicative(m) {\n return isApply(m)\n && (hasAlg('of', m) || hasAlg('of', m.constructor))\n}\n\nmodule.exports = isApplicative\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar hasAlg = require('./hasAlg')\nvar isFunctor = require('./isFunctor')\n\n// isApply : a -> Boolean\nfunction isApply(m) {\n return isFunctor(m)\n && hasAlg('ap', m)\n}\n\nmodule.exports = isApply\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nfunction isArray(x) {\n return Array.isArray(x)\n}\n\nmodule.exports = isArray\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Dale Francis (dalefrancis88) */\n\n// isDate : a -> Boolean\nfunction isDate(x) {\n return Object.prototype.toString.apply(x) === '[object Date]'\n && !isNaN(x.valueOf())\n}\n\nmodule.exports = isDate\n\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\nvar isObject = require('./isObject')\nvar isMonoid = require('./isMonoid')\nvar equals = require('./equals')\nvar fl = require('./flNames')\n\nfunction isEmpty(x) {\n if(isMonoid(x)) {\n var empty = x.constructor[fl['empty']] || x.constructor['empty'] || x['empty']\n\n return equals(x, empty())\n }\n\n if(isObject(x)) {\n return !Object.keys(x).length\n }\n\n if(x && x.length !== undefined) {\n return !x.length\n }\n\n return true\n}\n\nmodule.exports = isEmpty\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\n// isFunction : a -> Boolean\nfunction isFunction(fn) {\n return typeof fn === 'function'\n}\n\nmodule.exports = isFunction\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar hasAlg = require('./hasAlg')\n\n// isFunctor : a -> Boolean\nfunction isFunctor(m) {\n return !!m && hasAlg('map', m)\n}\n\nmodule.exports = isFunctor\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar hasAlg = require('./hasAlg')\nvar isSemigroup = require('./isSemigroup')\n\n// isMonoid :: a -> Boolean\nfunction isMonoid(m) {\n return isSemigroup(m)\n && (hasAlg('empty', m) || hasAlg('empty', m.constructor))\n}\n\nmodule.exports = isMonoid\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar toString = Object.prototype.toString\n\n// isObject : a -> Boolean\nfunction isObject(x) {\n return !!x\n && toString.call(x) === '[object Object]'\n}\n\nmodule.exports = isObject\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Dale Francis (dalefrancis88) */\n\nvar Pred = require('./types').proxy('Pred')\n\nvar isFunction = require('./isFunction')\nvar isSameType = require('./isSameType')\n\n// isPredOrFunc :: ((a -> b) | pred) -> bool\nvar isPredOrFunc = function (predOrFunc) { return isFunction(predOrFunc) || isSameType(Pred, predOrFunc); }\n\nmodule.exports = isPredOrFunc\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\n// isSame : (a, b) -> Boolean\nfunction isSame(x, y) {\n if(x === y) {\n return x !== 0 || 1 / x === 1 / y\n }\n\n return x !== x && y !== y\n}\n\nmodule.exports = isSame\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar curry = require('./curry')\nvar isFunction = require('./isFunction')\nvar type = require('./type')\n\n// isSameType :: Container m => (m, m) -> Boolean\nfunction isSameType(x, y) {\n var tX = type(x)\n var tY = type(y)\n\n return tX === tY\n || isFunction(x) && x.name === tY\n || isFunction(y) && y.name === tX\n}\n\nmodule.exports = curry(isSameType)\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isString = require('./isString')\nvar hasAlg = require('./hasAlg')\n\n// isSemigroup : a -> Boolean\nfunction isSemigroup(m) {\n return isString(m)\n || !!m && hasAlg('concat', m)\n}\n\nmodule.exports = isSemigroup\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\n// isString : a -> Boolean\nfunction isString(x) {\n return typeof x === 'string'\n}\n\nmodule.exports = isString\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Robert Pearce (rpearce) */\n\n// isSymbol : a -> Boolean\nfunction isSymbol(x) {\n return typeof x === 'symbol'\n}\n\nmodule.exports = isSymbol\n","/** @license ISC License (c) copyright 2018 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('./isFunction')\n\nvar isTypeRepOf = function (x, y) { return isFunction(y)\n && (x === y || x.name === y.name); }\n\nmodule.exports = isTypeRepOf\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nfunction rejectUnit(obj) {\n return function(acc, key) {\n var value = obj[key]\n\n if(value !== undefined) {\n acc[key] = value\n }\n return acc\n }\n}\n\nfunction assign(x, m) {\n var result = Object.keys(m).reduce(rejectUnit(m), {})\n return Object.keys(x).reduce(rejectUnit(x), result)\n}\n\nfunction filter(f, m) {\n return Object.keys(m).reduce(function (acc, key) {\n if(f(m[key])) {\n acc[key] = m[key]\n }\n return acc\n }, {})\n}\n\nfunction map(f, m) {\n return Object.keys(m).reduce(function (acc, key) {\n acc[key] = f(m[key])\n return acc\n }, {})\n}\n\nfunction set(key, val, m) {\n var obj;\n\n return assign(( obj = {}, obj[key] = val, obj ), m)\n}\n\nfunction unset(key, m) {\n return Object.keys(m).reduce(function (acc, k) {\n if(m[k] !== undefined && k !== key) {\n acc[k] = m[k]\n }\n\n return acc\n }, {})\n}\n\nmodule.exports = {\n assign: assign, filter: filter,\n map: map, set: set, unset: unset\n}\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('./isFunction')\n\nfunction predOrFunc(pred, x) {\n if(isFunction(pred)) {\n return pred(x)\n }\n return pred.runWith(x)\n}\n\nmodule.exports = predOrFunc\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('./isFunction')\n\nfunction type(x) {\n if(x) {\n if(isFunction(x.type)) {\n return x.type()\n }\n }\n return {}.toString.call(x).slice(8, -1)\n}\n\nmodule.exports = type\n","/** @license ISC License (c) copyright 2017 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar _types = {\n 'unk': function () { return 'unknown'; },\n 'All': function () { return 'All'; },\n 'Any': function () { return 'Any'; },\n 'Arrow': function () { return 'Arrow'; },\n 'Assign': function () { return 'Assign'; },\n 'Async': function () { return 'Async'; },\n 'Const': function (inner) { return (\"Const(\" + inner + \")\"); },\n 'Either': function () { return 'Either'; },\n 'Endo': function () { return 'Endo'; },\n 'Equiv': function () { return 'Equiv'; },\n 'First': function () { return 'First'; },\n 'Identity': function () { return 'Identity'; },\n 'IO': function () { return 'IO'; },\n 'Last': function () { return 'Last'; },\n 'List': function () { return 'List'; },\n 'Max': function () { return 'Max'; },\n 'Maybe': function () { return 'Maybe'; },\n 'Min': function () { return 'Min'; },\n 'Pair': function () { return 'Pair'; },\n 'Pred': function () { return 'Pred'; },\n 'Prod': function () { return 'Prod'; },\n 'Reader': function () { return 'Reader'; },\n 'Result': function () { return 'Result'; },\n 'Star': function () { return 'Star'; },\n 'State': function () { return 'State'; },\n 'Sum': function () { return 'Sum'; },\n 'Tuple': function (n) { return (n + \"-Tuple\"); },\n 'Unit': function () { return 'Unit'; },\n 'Writer': function () { return 'Writer'; }\n}\n\nvar type =\n function (type) { return _types[type] || _types['unk']; }\n\nvar proxy =\n function (t, ctx) { return ({ type: function () { return type(t)(ctx); } }); }\n\nvar typeFn = function (t, ver, ctx) {\n var typeStr = type(t)(ctx)\n return (\"crocks/\" + typeStr + \"@\" + (ver || 0))\n}\n\nmodule.exports = {\n proxy: proxy, type: type, typeFn: typeFn\n}\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar isFunction = require('../core/isFunction')\n\nvar err = 'compose: Functions required'\n\nfunction applyPipe(f, g) {\n if(!isFunction(g)) {\n throw new TypeError(err)\n }\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return g.call(null, f.apply(null, args));\n }\n}\n\n// compose : ((y -> z), (x -> y), ..., (a -> b)) -> a -> z\nfunction compose() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if(!arguments.length) {\n throw new TypeError(err)\n }\n\n var fns =\n args.slice().reverse()\n\n var head =\n fns[0]\n\n if(!isFunction(head)) {\n throw new TypeError(err)\n }\n\n var tail =\n fns.slice(1).concat(function (x) { return x; })\n\n return tail.reduce(applyPipe, head)\n}\n\nmodule.exports = compose\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar curry = require('../core/curry')\n\nvar isFunction = require('../core/isFunction')\nvar isPredOrFunc = require('../core/isPredOrFunc')\nvar isObject = require('../core/isObject')\nvar object = require('../core/object')\nvar predOrFunc = require('../core/predOrFunc')\n\n// filter : Filterable f => (a -> Boolean) -> f a -> f a\nfunction filter(pred, m) {\n if(!isPredOrFunc(pred)) {\n throw new TypeError('filter: Pred or predicate function required for first argument')\n }\n\n var fn =\n function (x) { return predOrFunc(pred, x); }\n\n if(m && isFunction(m.filter)) {\n return m.filter(fn)\n }\n\n if(m && isObject(m)) {\n return object.filter(fn, m)\n }\n\n throw new TypeError('filter: Filterable or Object required for second argument')\n}\n\nmodule.exports = curry(filter)\n","/** @license ISC License (c) copyright 2016 original and current authors */\n/** @author Ian Hofmann-Hicks (evil) */\n\nvar compose = require('../core/compose')\nvar curry = require('../core/curry')\nvar isArray = require('../core/isArray')\nvar isObject = require('../core/isObject')\nvar isFunction = require('../core/isFunction')\nvar isFunctor= require('../core/isFunctor')\n\nvar array = require('../core/array')\nvar object = require('../core/object')\nvar fl = require('../core/flNames')\n\n// map : Functor f => (a -> b) -> f a -> f b\nfunction map(fn, m) {\n if(!isFunction(fn)) {\n throw new TypeError('map: Function required for first argument')\n }\n\n if(isFunction(m)) {\n return compose(fn, m)\n }\n\n if(isArray(m)) {\n return array.map(fn, m)\n }\n\n if(m && isFunctor(m)) {\n return (m[fl.map] || m.map).call(m, fn)\n }\n\n if(isObject(m)) {\n return object.map(fn, m)\n }\n\n throw new TypeError('map: Object, Function or Functor of the same type required for second argument')\n}\n\nmodule.exports = curry(map)\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"legend {\\n text-align: center;\\n font-weight: bold;\\n margin-top: 20px;\\n margin-bottom: 10px;\\n width: 100%;\\n}\\n\\nli.a11y-error-container {\\n width: 100%;\\n}\\n\\n.a11y_requirement_desc_line {\\n width: 100%;\\n}\\n\\n.screenreader {\\n position: absolute !important; /* Outside the DOM flow */\\n height: 1px; width: 1px; /* Nearly collapsed */\\n overflow: hidden;\\n clip: rect(1px 1px 1px 1px); /* IE 7+ only support clip without commas */\\n clip: rect(1px, 1px, 1px, 1px); /* All other browsers */\\n}\\n\\ndiv.error-message {\\n text-align: center;\\n}\\n\\nul.error-list {\\n margin: 10px 0px 20px;\\n padding: 0;\\n}\\n\\nul.error-list li {\\n list-style-type: none;\\n}\\n\\nul.error-list a {\\n text-decoration: none;\\n color: #a70000;\\n list-style-type: none;\\n margin: 5px 0 5px;\\n text-align: center;\\n line-height: 1.4;\\n padding: 10px 80px;\\n display: block;\\n border: 1px dashed #ff8a8a;\\n width: 80%;\\n margin: 0 auto;\\n margin-bottom: 10px;\\n border-radius: 10px;\\n background: #fff4f4;\\n box-sizing: border-box;\\n position: relative;\\n /* outline: chartreuse; */\\n /* outline-style: dotted; */\\n}\\n\\nul.error-list a:focus {\\n box-shadow: 0 0 6px #c61515;\\n}\\n\\nul.error-list a span {\\n display: block;\\n font-weight: bold;\\n color: #a70000;\\n}\\n\\nbody {\\n counter-reset: section;\\n}\\n\\n.formFooter-button,\\n.form-all button.preview-submission-button.checkedSubmit,\\n.formFooter-button, \\n.submit-button {\\n background-color: #0075E3;\\n border-color: #0075E3;\\n color: #fff;\\n}\\n\\n.formFooter-button:focus,\\n.form-all button.preview-submission-button.checkedSubmit:focus,\\n.formFooter-button:focus, \\n.submit-button:focus {\\n border-color: #0847e6;\\n box-shadow: 0 0 0 4px rgba(46,105,255,.25);\\n}\\n\\n.formFooter-button:hover,\\n.form-all button.preview-submission-button.checkedSubmit:hover,\\n.formFooter-button:hover, \\n.submit-button:hover {\\n background-color: #0066C6;\\n border-color: #0066C6;\\n color: #fff;\\n}\\n\\nul.error-list a::before {\\n position: absolute;\\n top: 50%;\\n left: 12px;\\n transform: translate(0, -50%);\\n counter-increment: section;\\n content: attr(data-before) \\\" \\\" counter(section) \\\": \\\";\\n}\\n\\n.form-required {\\n color: #a70000;\\n}\\n\\n@media screen and (max-width: 640px) {\\n ul.error-list a {\\n width: 100%;\\n padding: 42px 10px 10px;\\n }\\n\\n ul.error-list a::before {\\n top: 12px;\\n left: 50%;\\n transform: translate(-50%, 0);\\n margin: 0;\\n }\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n/* istanbul ignore next */\n\n\nfunction apply(styleElement, index, remove, obj) {\n var css;\n\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\n\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n/* istanbul ignore next */\n\nfunction domAPI(options) {\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement = // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || ( // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\n\nmodule.exports = domAPI;","import { FORM_TEXTS } from '@jotforminc/constants';\n\n// ********** INITIALIZE PART WHICH RUNS AT DOCUMENT READY - START **********\nimport {\n headers,\n hideJotFormInputs,\n initializeOtherInputs,\n removeEmptyLabels,\n removeDublicateLabels,\n replaceImagesWithDiv,\n setQuestionOrder,\n correctHeadingStructure\n} from './enhancer';\n\nimport {\n domSelect,\n elementFactory,\n findParentBySelector,\n removeEmptyAttributes,\n getClosest\n} from './domUtils';\n\nimport { Texts } from './constants';\n\nimport './accessibilityEnhancer.css';\n\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\n// Prepend polyfill\n(function arrFn(arr) {\n arr.forEach(item => {\n // eslint-disable-next-line no-prototype-builtins\n if (item.hasOwnProperty('prepend')) {\n return;\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend(...params) {\n const argArr = [...params];\n const docFrag = document.createDocumentFragment();\n\n argArr.forEach(argItem => {\n const isNode = argItem instanceof window.Node;\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n });\n\n this.insertBefore(docFrag, this.firstChild);\n }\n });\n });\n}([window.Element.prototype, window.Document.prototype, window.DocumentFragment.prototype]));\n\n// ********** INITIALIZE PART WHICH RUNS AT DOCUMENT READY - END **********\n\nfunction recalculateHeight() {\n if (window.JotForm.handleIFrameHeight) window.JotForm.handleIFrameHeight();\n}\n\nfunction isSectionCollapse(el) {\n if (!el) {\n return false;\n }\n const firstChild = el.firstElementChild;\n return firstChild && firstChild.getAttribute('data-type') === 'control_collapse';\n}\n\nfunction setDefaultLanguage(document) {\n const html = document.querySelector('html');\n if (!html.hasAttribute('lang')) {\n html.setAttribute('lang', 'en');\n }\n}\n\nfunction setAltTextsToImages(document) {\n const imagesWithoutAlt = document.querySelectorAll('img:not([alt])');\n imagesWithoutAlt.forEach(image => {\n image.setAttribute('alt', '');\n });\n}\n\n// Wraps collapse ul's with li's\nfunction wrapSections() {\n // Select all containers in form\n const formContainers = domSelect(document)('ul.form-section-closed');\n\n for (let i = 0; i < formContainers.length; i++) {\n // Create li element\n const wrapperLi = document.createElement('li');\n // Put new li just before ul\n formContainers[i].parentNode.insertBefore(wrapperLi, formContainers[i]);\n // Put ul inside new created li\n wrapperLi.appendChild(formContainers[i]);\n }\n}\n\n// Copy error message of given error dom\nfunction replicateErrorMessage(errorContainer, errorElement) {\n const wrapper = document.createElement('div');\n wrapper.textContent = errorElement.textContent.trim();\n // eslint-disable-next-line no-param-reassign\n errorContainer.innerHTML = wrapper.outerHTML;\n}\n\n// Adds label of question to errors and copy it to the new error element\nfunction prependFieldNameToError(errorElement, parentLi) {\n // Get label of the question\n const label = parentLi.querySelector('label');\n\n /* checkbox and radio are now accessible by default\n switch (parentLi.getAttribute('data-type')) {\n case 'control_checkbox':\n case 'control_radio' :\n label = parentLi.querySelector('legend');\n break;\n default:\n\n break;\n }\n */\n\n // If label exists\n if (label) {\n // Get label content\n let labelContent = label.textContent.replace(/\\s\\s+/g, ' ').replace(/\\r?\\n|\\r/g, '').trim();\n\n // If the field is required\n if (label.querySelector('span.form-required')) {\n // Remove the asterisk at the end\n labelContent = labelContent.slice(0, -1);\n }\n // Set the error message\n const span = document.createElement('span');\n span.textContent = `\"${labelContent.trim()}\" ${window.JotForm.texts.fieldError || FORM_TEXTS.fieldError || Texts.FIELD_ERROR}`;\n errorElement.prepend(span);\n }\n}\n\nfunction getFirstInputElement(parentEl) {\n let firstElement = null;\n switch (parentEl.getAttribute('data-type')) {\n case 'control_checkbox':\n firstElement = parentEl.querySelector('input[type=\"checkbox\"]');\n break;\n case 'control_radio':\n firstElement = parentEl.querySelector('input[type=\"radio\"]');\n break;\n case 'control_datetime': {\n const elements = parentEl.querySelectorAll('input, select');\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].value.length === 0 && elements[i].parentNode.parentNode.style.display !== 'none') {\n firstElement = elements[i];\n break;\n }\n }\n if (firstElement === null) {\n [firstElement] = elements;\n }\n break;\n }\n default: {\n const elements = parentEl.querySelectorAll('input:not([type=\"hidden\"]), select, textarea');\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].value.length === 0) {\n firstElement = elements[i];\n break;\n }\n }\n if (firstElement === null) {\n [firstElement] = elements;\n }\n break;\n }\n }\n return firstElement;\n}\n\n// Wraps content of given element with anchor which indicates given item with id\nfunction wrapByAnchor(el, parentEl, errorMessage) {\n // Create temp anchor element\n const anchor = document.createElement('a');\n\n // Create firstEl variable\n let firstEl = null;\n\n // Get first element depending on the message type\n switch (errorMessage) {\n case 'This field is required.':\n firstEl = getFirstInputElement(parentEl);\n break;\n default:\n firstEl = parentEl.querySelector('input:not([type=\"hidden\"]), select, textarea');\n break;\n }\n\n if (firstEl != null) {\n // Initialize href to first input under that element\n anchor.href = `#${firstEl.id}`;\n } else {\n // Set href to parent element\n anchor.href = `#${parentEl.id}`;\n }\n\n anchor.setAttribute('tabindex', 0);\n anchor.setAttribute('data-before', `${window.JotForm.texts.error || FORM_TEXTS.error || Texts.ERROR}`);\n\n // Copy content of given element to anchor\n anchor.innerHTML = el.innerHTML;\n\n // Clear content of element and append it to the anchor\n // eslint-disable-next-line no-param-reassign\n el.innerHTML = '';\n el.appendChild(anchor);\n anchor.focus();\n}\n\n// Create new error element respect to original one\nfunction createNewErrorElement(errorElementType, originalErrorElement) {\n // Temporary error element\n const errorElement = document.createElement(errorElementType);\n\n // Get parent li item for copying id\n const parentLi = findParentBySelector(originalErrorElement, 'li.form-line');\n\n // No need to contunoe if parentLi could not be found\n if (!parentLi) {\n return false;\n }\n\n // Create id for new error list item\n errorElement.id = `error_${parentLi.id}`;\n errorElement.setAttribute('question-order', parentLi.getAttribute('question-order'));\n\n // Searching for error message for if it is already exist\n const previousNewError = document.getElementById(errorElement.id);\n\n // Remove currently exist error item if already exist\n if (previousNewError) {\n previousNewError.remove();\n }\n\n // Replicate the original error element into the new one\n replicateErrorMessage(errorElement, originalErrorElement);\n\n // Prepend the field name into error message\n prependFieldNameToError(errorElement, parentLi);\n\n // Wrap by an anchor element for accessing the related question to error\n wrapByAnchor(errorElement, parentLi, originalErrorElement.textContent.trim());\n\n // Section collapses should be visible\n const parentUl = findParentBySelector(parentLi, 'ul');\n const inSectionCollapse = isSectionCollapse(parentUl);\n const sectionCollapse = inSectionCollapse && parentUl.querySelector('li[data-type=\"control_collapse\"] .form-collapse-table');\n if (sectionCollapse) {\n errorElement.addEventListener('click', () => {\n if (parentUl.hasClassName('form-section-closed')) {\n sectionCollapse.click();\n }\n });\n }\n return errorElement;\n}\n\n// Creates new error container\nfunction createErrorContainer() {\n // Adding specific classes to access them later\n const div = elementFactory(document)('div', {\n class: 'error-div',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n 'aria-relevant': 'additions text'\n });\n const ul = elementFactory(document)('ul', {\n class: 'error-list'\n });\n // Appending message div and ul to main container\n div.appendChild(ul);\n return div;\n}\n\n// Creates list item\nfunction createListItem(content) {\n // Create temporary list item\n const li = elementFactory(document)('li', {\n 'aria-hidden': 'true',\n class: 'a11y-error-container'\n });\n // Append the content\n li.appendChild(content);\n\n return li;\n}\n\n// Inserts required dom containers to form\nfunction initializeContainers(callback) {\n // Getting all form containers\n const formContainers = domSelect(document)('ul.form-section.page-section');\n\n for (let i = 0; i < formContainers.length; i++) {\n // Get first question list item and first span that indicates field requirement\n let firstLi = formContainers[i].querySelector('li.form-line');\n const reqSpans = formContainers[i].querySelectorAll('span.form-required');\n\n const parentUl = findParentBySelector(firstLi, 'ul.form-section-closed') || findParentBySelector(firstLi, 'ul.form-section');\n const inSectionCollapse = isSectionCollapse(parentUl);\n if (inSectionCollapse) {\n firstLi = parentUl;\n }\n\n // If a requirement field is exist\n if (reqSpans.length > 0) {\n // Create a li item as a wrapper for legend\n const tempLi = document.createElement('li');\n tempLi.setAttribute('class', 'a11y_requirement_desc_line');\n // Create a legend item and set required attributes\n const tempLegend = document.createElement('legend');\n tempLegend.innerHTML = window.JotForm.texts.requiredLegend || FORM_TEXTS.requiredLegend || Texts.LEGEND_REQUIRED;\n // tempLegend.innerHTML = legendText; // Errors section title\n tempLegend.id = `requirement_description_${i}`;\n\n tempLi.appendChild(tempLegend);\n\n // Insert a legend which explains required fields\n formContainers[i].insertBefore(tempLi, firstLi);\n\n // Add legend as description to all spans\n for (let j = 0; j < reqSpans.length; j++) {\n reqSpans[j].setAttribute('aria-label', 'Required');\n reqSpans[j].setAttribute('aria-describedby', `requirement_description_${i}`);\n }\n }\n\n // Create temporary error container\n const tempContainer = createErrorContainer();\n\n // Insert the error container after wrapping with list item\n formContainers[i].insertBefore(createListItem(tempContainer), firstLi);\n recalculateHeight();\n }\n\n if (callback && typeof callback === 'function') {\n callback();\n }\n}\n\nexport const debounce = (callback, wait) => {\n let timeoutId = null;\n return (...args) => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n // eslint-disable-next-line prefer-spread\n callback.apply(null, args);\n }, wait);\n };\n};\n\n// Handler for main error replicatoon\nfunction handleMainErrorReplicate(self) {\n // Check if form exists from ul selector\n const parentUl = findParentBySelector(self, 'ul.form-section.page-section');\n\n // If parent ul could not be found (which means form structure is not as expected or form does not exist at all)\n if (!parentUl) {\n return false;\n }\n const errorField = self.querySelector('div.form-button-error');\n // It means error field exists && check attribute to prevent infinite loop\n if (errorField !== null && errorField.style.display !== 'none') {\n errorField.style.display = 'none';\n }\n}\n\nfunction handleSubmitClick(self) {\n // Get parent ul\n const parentUl = findParentBySelector(self, 'ul.form-section.page-section');\n\n // If parent ul could not be found (which means form structure is not as expected or form does not exist at all)\n if (!parentUl) {\n return;\n }\n\n // Get an error element to check if one exist\n setTimeout(() => {\n const errorElement = parentUl.querySelector('ul.error-list li');\n\n // If error element exist\n if (errorElement) {\n // Get anchor element of first error\n const anchor = errorElement.querySelector('a');\n\n // If anchor exists then focus to it\n if (anchor) {\n anchor.focus();\n }\n }\n }, 400);\n}\n\nfunction sortList(list) {\n // Sorting variables\n let i; let switching; let b; let\n shouldSwitch;\n switching = true;\n\n /* Make a loop that will continue until\n no switching has been done: */\n while (switching) {\n // start by saying: no switching is done:\n switching = false;\n b = list.getElementsByTagName('LI');\n // Loop through all list-items:\n for (i = 0; i < (b.length - 1); i++) {\n // start by saying there should be no switching:\n shouldSwitch = false;\n /* check if the next item should\n switch place with the current item: */\n if (Number(b[i].getAttribute('question-order')) > Number(b[i + 1].getAttribute('question-order'))) {\n /* if next item is alphabetically\n lower than current item, mark as a switch\n and break the loop: */\n shouldSwitch = true;\n break;\n }\n }\n if (shouldSwitch) {\n /* If a switch has been marked, make the switch\n and mark the switch as done: */\n b[i].parentNode.insertBefore(b[i + 1], b[i]);\n switching = true;\n }\n }\n}\n\n// Wraps given error element to a given wrapper and append it to the new error container\nfunction createNewErrorListItem(errorContainer, originalErrorElement) {\n const tempErrorElement = createNewErrorElement('li', originalErrorElement);\n errorContainer.appendChild(tempErrorElement);\n\n sortList(errorContainer);\n}\n\n// Handler for fields error replication\nfunction handleFieldErrorReplicate(self, e) {\n e.stopImmediatePropagation();\n\n const errorField = self.querySelector('div.form-error-message');\n const errorLi = getClosest(self)('.a11y-error-container');\n if (errorField !== null) { // It means error field exists\n // IE11 sees attribute changes as doom update and causes infinite recursion\n if (!(errorField.getAttribute('class').indexOf('screenreader') > -1) || !(errorField.getAttribute('role') === 'alert')) {\n errorField.classList.add('screenreader');\n errorField.setAttribute('role', 'alert');\n }\n const errorIcon = errorField.querySelector('img');\n if (errorIcon) {\n setTimeout(() => {\n errorIcon.remove();\n }, 10);\n }\n const parentUl = findParentBySelector(errorField, 'ul.form-section.page-section');\n if (parentUl) {\n const errorContainer = parentUl.querySelector('ul.error-list');\n errorLi.setAttribute('aria-hidden', false);\n createNewErrorListItem(errorContainer, errorField);\n }\n } else if (self.id) {\n // It means error field does not exist and, if possible, delete the newly created clone on that case\n // Get id of container and remove the unnecessary part\n // Get number part of the id\n const idNumeric = self.id.replace(/\\D/g, '');\n\n // Search for cloned error\n const clonedError = document.getElementById(`error_id_${idNumeric}`);\n\n // If the cloned error exist then remove it\n if (clonedError) {\n clonedError.remove();\n }\n if (domSelect(document)('li[id*=\"error_id\"]').length === 0) {\n errorLi.setAttribute('aria-hidden', true);\n }\n }\n}\n\n// Method to bind an event to multiple items that matches the given selector\nfunction bindHandlerToMultipleElements(selector, event, handler) {\n const elements = document.body.querySelectorAll(selector);\n\n for (let i = 0; i < elements.length; i++) {\n elements[i].addEventListener(event, function elementFn(e) {\n handler(this, e);\n });\n }\n}\n\n// Initialize submit handlers\nfunction initializeSubmitHandlers() {\n bindHandlerToMultipleElements('button[type=\"submit\"], button.form-pagebreak-next', 'click', handleSubmitClick);\n}\n\n// J3 validations intersects with accessibility errors, this validations should be executed last on call stack.\nconst debouncedHandleFieldErrorReplicate = debounce(handleFieldErrorReplicate, 0);\n\n// Initialize error replication events\nfunction initializeErrorHandlers() {\n // Binds replicate event of main error which next to submit button generally\n bindHandlerToMultipleElements('div.form-pagebreak, li[data-type=\"control_button\"]', 'DOMSubtreeModified', handleMainErrorReplicate);\n\n // Bind replicate event of field errors\n bindHandlerToMultipleElements('li.form-line', 'DOMSubtreeModified', debouncedHandleFieldErrorReplicate);\n}\n\nfunction loadLegendTranslation(getTranslations) {\n const translations = JSON.parse(getTranslations.target.response);\n if (translations && translations.content && typeof translations.content === 'object') {\n document.querySelectorAll('legend[id*=\"requirement_description_\"]').forEach(e => {\n e.innerHTML = translations.content[e.innerHTML] || e.innerHTML;\n });\n document.querySelectorAll('span.form-required').forEach(e => {\n const _requiredText = e.getAttribute('aria-label');\n if (_requiredText) {\n e.setAttribute('aria-label', translations.content[_requiredText] || _requiredText);\n }\n });\n }\n\n // recalculate height after lots of DOM updates\n recalculateHeight();\n}\n\n// Translations\nfunction handleTranslationLoader() {\n const _langCode = document.querySelector('html').getAttribute('lang');\n\n if (typeof _langCode === 'string' && _langCode !== 'en' && _langCode !== 'en-US') {\n // No need to run translationList request if the language is English\n const data = Object.values(Texts);\n const getTranslations = new window.XMLHttpRequest();\n getTranslations.addEventListener('load', loadLegendTranslation);\n getTranslations.open('POST', `https://api.jotform.com/translationList?data=${JSON.stringify(data)}&lang=${_langCode}`);\n getTranslations.send();\n }\n}\n\n// ********** INITIALIZE PART WHICH RUNS AT DOCUMENT ONLOAD **********\nwindow.onload = () => {\n hideJotFormInputs(document);\n removeEmptyAttributes(document)(['aria-labelledby', 'placeholder']);\n replaceImagesWithDiv(document);\n};\n\n(() => {\n const initialize = () => {\n // Set a default language for the page if not set\n setDefaultLanguage(document);\n // Set question order for decide order of error elements\n setQuestionOrder(document);\n // Initialize error containers\n initializeContainers(handleTranslationLoader);\n // Wrap Sections with li tags\n wrapSections(document);\n // Initialize event binds to replace error divs\n initializeErrorHandlers();\n // Initialize submit handler\n initializeSubmitHandlers();\n // Form field must not have dublicate labels\n removeDublicateLabels(document);\n // ensure we have h1\n headers(document);\n // do not skip heading ranks\n correctHeadingStructure(document);\n // group form elements together\n // groupFormElements(document);\n // give images empty alt texts if not specified\n setAltTextsToImages(document);\n // Translations\n\n initializeOtherInputs(document);\n removeEmptyLabels(document);\n };\n\n if (window.JotForm.initializing === false) { // jotform init scripts already finished running\n initialize();\n } else {\n document.addEventListener('JotformReady', initialize);\n }\n})();\n","export const twoFactorTypeKeys = {\n sms: 'phone',\n authenticatorApp: 'totp'\n};\n\nexport const Texts = {\n MY_FORMS: 'My Forms',\n PROFILE: 'Profile',\n SKIP_CREATE_ACCOUNT: 'Skip Create an Account',\n CONTINUE_DRAFT: 'Continue With Draft',\n DISCARD_START_BLANK: 'You can continue your draft or discard and start with a blank form',\n SAVED_DRAFT_SUBMISSION: 'You have a draft for this form.',\n HELLO_TEXT: 'Hello,',\n LOG_OUT: 'Log out',\n LOGOUT: 'Logout',\n LOGIN_TEXT: 'Log in',\n GET_SHARE_LINK: 'Get Shareable Link',\n EMAIL: 'Email',\n RE_EMAIL: 'Resend Email',\n COPIED_CLIPBOARD: 'Link copied to clipboard!',\n SENT_TO: 'Email sent to',\n DOESNT_SUPPORT_BROWSER: 'Your browser doesn\\'t support this operation',\n SEND_LINK_COMPLETE: 'We’ve sent you an email with a link to complete your submission.',\n START_OVER: `Discard ${encodeURIComponent('&')} Start Over`,\n SAVE_PROGRESS: 'Save your progress',\n ALREADY_HAVE_ACCOUNT: 'Already have an account?',\n DONT_HAVE_ACCOUNT: 'Don’t have an account?',\n ARE_YOU_JOTFORM_ENTERPRISE_USER: 'Are you a Jotform Enterprise user?',\n LOGIN_TO_JOTFORM_ENTERPRISE: 'Log into Jotform Enterprise',\n LOGIN_CAPITAL: 'LOG IN',\n SIGN_UP: 'Sign up',\n CREATE_ACCOUNT: 'Create an Account',\n OTHER_OPTIONS: 'More sign up options',\n SIGN_UP_EMAIL: 'Sign up with Email',\n SIGN_UP_EMAIL_LOWERCASE: 'Sign up with email',\n FULL_NAME: 'Full Name',\n NAME_TEXT: 'Name',\n EMAIL_TEXT: 'Email',\n PASSWORD_TEXT: 'Password',\n CONF_PASSWORD_TEXT: 'Confirm Password',\n TERMS_SERVICE: 'Terms of Service',\n TERMS_OF_USE: 'Terms of Use',\n PRIVACY_POLICY: 'Privacy Policy',\n AND_KEY: 'and',\n OR_KEY: 'OR',\n SUBMISSIONS_SAVED_DRAFT: 'Your form has been saved as a draft.',\n SEND_DRAFT_CONTINUE: 'We’ve sent you an email with a link to continue your form.',\n ENTER_EMAIL: 'If you want to continue your form later, please enter the email address you would like to send the link to:',\n EMAIL_NOT_BLANK: 'Email cannot be left blank',\n SEND_LINK: 'Send link',\n SEND: 'Send',\n BACK_KEY: 'Back',\n SAVE_SUBMISSION: 'Save Submission',\n SAVE_KEY: 'Save',\n SKIP_KEY: 'Skip',\n USERNAME_EMAIL: 'Username or Email',\n LOGIN_SAVE: 'Login and Save Submission',\n AGREE_SERVICE_POLICY: 'I agree to the [1[Terms of Service]], [2[Privacy Policy]] and [3[Cookie Policy]].',\n AGREE_FOR_TURKISH_USERS: 'I have read the [1[KVKK Clarification Text]] and I accept the processing of my personal data in accordance with the [2[Explicit Consent Text]].',\n MORE_HELP_CONTACT: 'If you need more help, please [1[contact our support team.]]',\n MORE_HELP_CONTACT_ENTERPRISE: 'If you need help, please contact with your administrator.',\n FORGOT_PASSWORD: 'Forgot password?',\n FORGOT_YOUR_PASSWORD: 'Forgot your password?',\n PASSWORD_RESET_SENT: 'Password reset instructions have been sent successfully via email.',\n FIELD_REQUIRED: 'This field is required',\n EMAIL_FIELD_REQUIRED: 'Username or email field is required',\n PASS_FIELD_REQUIRED: 'Password field is required',\n ENTER_A_PASSWORD: 'Please enter a password.',\n PASSWORD_OK: 'Password ok',\n PASSWORD_CONFIRMATION_OK: 'Password confirmation ok',\n PASSWORD_CANNOT_BLANK: 'Password cannot be left blank',\n PASS_MIN_CHAR_COUNT: 'Should have minimum 8 characters',\n PASS_INCL_CHARS: 'Should be a mix of upper case, lower case characters, and numbers or special characters',\n FIELDS_SHOULD_MATCH: 'Passwords don\\'t match.',\n SECURE_PASS_DESC: 'Your password must contain at least',\n SECURE_PASS_REUSE: 'Your password must be different from your last 6 passwords',\n SECURE_PASS_REUSE_CONT: ' and contain at least',\n SECURE_PASS_CHAR_COUNT: '8 characters',\n SECURE_PASS_TEST_DESC: 'Your password must include at least',\n SECURE_PASS_UPPERCASE: '1 uppercase letter',\n SECURE_PASS_LOWERCASE: '1 lowercase letter',\n SECURE_PASS_NUMBER: '1 number',\n SECURE_PASS_SPECIAL_CHAR: '1 special character',\n SECURE_PASS_NO_LEADING_OR_TRAILING_WHITESPACE: 'No blank spaces, either at the beginning or at the end',\n PASS_DIFF_PREV: 'Should be different from your last 6 passwords',\n CONNECT_SALESFORCE: 'Connect with Salesforce',\n CONNECT_APPLE: 'Connect with Apple',\n CONNECT_GOOGLE: 'Connect with Google',\n CONNECT_MICROSOFT: 'Connect with Microsoft',\n CONNECT_FACEBOOK: 'Connect with Facebook',\n SIGN_UP_SALESFORCE: 'Sign up with Salesforce',\n SIGN_UP_SALESFORCE_MOBILE: 'Salesforce',\n SIGN_UP_APPLE: 'Sign up with Apple',\n SIGN_UP_GOOGLE: 'Sign up with Google',\n SIGN_UP_GOOGLE_MOBILE: 'Google',\n SIGN_UP_FACEBOOK: 'Sign up with Facebook',\n SIGN_UP_FACEBOOK_MOBILE: 'Facebook',\n SIGN_UP_MICROSOFT: 'Sign up with Microsoft',\n SIGN_UP_MICROSOFT_MOBILE: 'Microsoft',\n SIGN_UP_NOW: 'Sign Up Now!',\n SIGN_UP_NOW_NO_EXCLAMATION_MARK: 'Sign Up Now',\n LOGIN_WITH: 'Log in with',\n LOGIN_SALESFORCE: 'Login with Salesforce',\n SALESFORCE: 'Salesforce',\n LOGIN_GOOGLE: 'Login with Google',\n GOOGLE: 'Google',\n LOGIN_FACEBOOK: 'Login with Facebook',\n FACEBOOK: 'Facebook',\n LOGIN_APPLE: 'Login with Apple',\n APPLE: 'Apple',\n LOGIN_MICROSOFT: 'Login with Microsoft',\n MICROSOFT: 'Microsoft',\n ENTER_USERNAME_EMAIL: 'Enter your username or email',\n SEND_INSTRUCTIONS: 'Send Reset Instructions',\n GO_BACK_TEXT: 'Go back',\n BACK_TO_PRIMARY_METHOD: 'Back to Primary Method',\n CAN_NOT_ACCESS_MY_DEVICE: \"I can't access my authentication device\",\n // eslint-disable-next-line max-len\n RECOVER_ACCOUNT_TEXT: \"If you can't access your authentication device or recovery codes, you can ask for assistance from Jotform support. Click the button below to start your recovery process.\",\n RECOVER_ACCOUNT_MAIL_HAS_BEEN_SENT: 'Your request to have your account recovered has already been sent in. You are unable to submit another request to recover your account until it is finished.',\n RECOVER_YOUR_ACCOUNT: 'Recover Your Account',\n VIEW_SUPPORT_TICKET: 'View Support Ticket',\n VERIFICATION_EMAIL_SENT_TO: 'The verification email has been sent to',\n RECOVER_ACCOUNT_EMAIL_INFO_TEXT: 'Click on the button in the email to create a ticket.',\n RECOVER_ACCOUNT_NOTIFICATION_TEXT: 'After you submit, a member of our support staff will examine your request and get in touch with you to offer assistance within 48 to 72 hours.',\n BACK_TO_LOGIN: 'Back to Login',\n VALID_EMAIL: 'Please type a valid email',\n SENDING: 'Sending...',\n AGREE_TERMS_CONDITIONS: 'Please agree terms and conditions',\n NEED_TO_ACCEPT_TERMS: 'You need to accept our Terms of Service and Privacy Policy to create an account.',\n CHECK_SPAM_FOLDER: 'If you don’t get the email, please check your spam folder.',\n GET_INSTRUCTION_EMAIL: 'You should get the password reset instructions via email soon.',\n OK_TEXT: 'OK',\n CHECK_EMAIL: 'Check your email',\n EMAIL_IS_USE: 'Email is in use:',\n EMAIL_IS_NOTVALID: 'Email is not valid.',\n CURRENT_PASSWORD: 'Current Password',\n SHOW_PASSWORD: 'Show Password',\n HIDE_PASSWORD: 'Hide Password',\n PLEASE_WAIT: 'Please wait',\n WELCOME_BACK: 'Welcome Back!',\n CREATE_MY_ACCOUNT: 'CREATE MY ACCOUNT',\n BY_CLICKING_YOU_AGREE: 'By clicking \"Signup\" you agree our [1[Terms of Service]] and [2[Privacy Policy]]',\n ERROR_TRY_AGAIN: 'There was an error. Please try again later.',\n VERIFY_ITS_YOU: 'Verify it\\'s you!',\n TWO_FACTOR_DESCRIPTION: {\n [twoFactorTypeKeys.sms]: \"We've sent an authentication code to [1[receiver]]. Please check your messages and enter the six-digit code to enable 2FA\",\n [twoFactorTypeKeys.authenticatorApp]: 'Enter the six-digit code from your configured Authenticator App below.'\n },\n EMAIL_AUTHENTICATION_DESCRIPTION: \"We've sent an authentication code to [1[receiver]]. Please check your inbox and enter the six-digit code.\",\n VERIFICATION_CODE: 'Authentication code',\n RECOVERY_CODE: 'Recovery code',\n VERIFY: 'VERIFY',\n VERIFY_BUTTON_TEXT: 'Verify',\n NO_CODE: 'No code?',\n SEND_AGAIN: 'Send again',\n HAVING_PROBLEMS: 'Having problems?',\n SEE_OTHER_AUTHENTICATION_METHODS: 'See Other Methods',\n SEND_CODE_TO: {\n [twoFactorTypeKeys.sms]: 'Send code to [1[receiver]]',\n [twoFactorTypeKeys.authenticatorApp]: 'Use authenticator app'\n },\n USE_YOUR_RECOVERY_CODES: 'Use your recovery codes',\n USE_YOUR_AUTHENTICATOR_APP: 'Use code from Authenticator App',\n TWO_FACTOR_AUTHENTICATION: 'Two-Factor Authentication',\n EMAIL_AUTHENTICATION: 'E-mail Authentication',\n ENTER_RECOVERY_CODES: 'Enter one of your 6-digit recovery codes below.',\n DAILY_LIMIT: 'You\\'ve reached the daily text message limit',\n INVALID_TOKEN: 'Invalid code; please try again',\n BACKUP_CODES_ERROR: 'You entered a wrong or already used recovery code',\n BLANK_VERIFICATION_CODE: 'Code cannot be blank.',\n GREETING_DESCRIPTION: '',\n SHOW_MORE: 'Show More',\n CHOOSE_A_METHOD: 'Choose a method',\n CHOOSE_A_METHOD_DESCRIPTION: 'Select a verification method to login your account',\n REACH_DAILY_LIMIT_FORCE_TO_EMAIL: 'Your verification code has been sent to your email due to you have reached the daily SMS limit.',\n USED_RECOVERY_CODES: 'Used recovery codes will be invalidated.',\n ENTER_YOUR_EMAIL: 'Enter your email',\n THANK_YOU: 'THANK YOU!',\n VIEW_COMPLETED_APPROVALS: 'View your completed approvals',\n COMPLETED_TASK: 'The task has been completed.',\n PLEASE_LOGIN: 'Please [1[Log in]].',\n EMAIL_ERROR: 'This email address is already associated with a Jotform account.',\n EMAIL_ERROR_ENTERPRISE: 'This email address is already associated with an account.',\n // Delete my account flow\n ARE_YOU_SURE_YOU_WANT_TO_DELETE_YOUR_ACCOUNT: 'Are you sure you want to delete your account?',\n YOU_ARE_ABOUT_TO_DELETE_YOUR_ACCOUNT_NAMELY: 'You’re about to delete your account namely:',\n GET_IN_TOUCH_WITH_US: '[1[Get in touch]] with us if you have any questions.',\n YES_DELETE: 'Yes, Delete',\n CANCEL: 'Cancel',\n VERIFY_THAT_ITS_YOU_TO_DELETE_YOUR_ACCOUNT: 'Verify That It’s You to Delete Your Account',\n VERIFY_WITH: 'Verify with',\n PLEASE_ENTER_YOUR_PASSWORD: 'Please enter your password',\n YOU_HAVE_ENTERED_YOUR_CURRENT_PASSWORD_WRONG: 'You have entered your current password wrong',\n YOU_HAVE_VERIFIED_SUCCESSFULLY: 'You have verified successfully',\n DELETE_MY_ACCOUNT: 'Delete My Account',\n YOUR_ACCOUNT_COULD_NOT_BE_DELETED: 'Your account could not be deleted. Please try again.',\n YOU_COULD_NOT_BE_VERIFIED: 'You could not be verified. Try again later',\n VERIFY_DELETE: 'Verify',\n CONTINUE_LATER: 'We’ve emailed you a link you can use to continue it later.',\n DRAFT_SAVED: 'Submission saved as draft',\n INCOMPLETE_SUBMISSION: 'You have an incomplete submission for this form',\n DRAFT_TEXT: 'Discard this submission draft to start over, or continue with your saved draft.',\n DISCARD_DRAFT: 'Discard and start over',\n CONTINUE_WITH_DRAFT: 'Continue with draft',\n SAVE_AS_DRAFT: 'Sign up to save submission as a draft',\n PLEASE_WAIT_SAVE: 'Please wait while we save your submission.',\n SAVE_ERROR: \"Your submission couldn't be saved\",\n PLEASE_TRY_AGAIN: 'Please try again.',\n TRY_AGAIN: 'Try Again',\n GET_DRAFT_LINK: 'Get Draft Link',\n DRAFT_BEING_SAVED: 'Your submission is being saved',\n ENTER_EMAIL_ADDRESS: 'Enter your email address',\n PLEASE_ENTER_VALID_EMAIL: 'Please enter valid email',\n CONTINUE_FORM_LATER: 'If you want to continue your form later, please enter your email address.',\n TO_KEY: 'To',\n DONT_ACCESS_DRAFT: 'You don’t have access to this submission draft',\n FILL_OUT_DRAFT: 'Fill out the form to create a new submission.',\n CHANGE_ACCOUNT: 'Change Account',\n START_OVER_FORM: 'Start Over',\n NOT_FOUND: 'Submission draft not found',\n DELETED_DRAFT: 'This draft was deleted or has already been submitted.',\n USER_IS_SSO_ERROR: 'Email already in use by SSO user.'\n};\n\nexport const AlertLabelTypes = {\n WARNING: 'WARNING',\n SUCCESS: 'SUCCESS',\n INFO: 'INFO'\n};\n\nexport const prepareLoginFlowDefaultGreetings = () => {\n const isPartnershipPages = window.location.href.indexOf('/partnership/') >= 0;\n const isAffiliateSignup = window.location.href.indexOf('/affiliate/') >= 0;\n const isJotformForBeginners = window.location.href.indexOf('/jotform-for-beginners/') >= 0;\n if (isPartnershipPages) {\n return `You will need a free Jotform account\n in order to access your Dashboard. If you already have a Jotform account,\n please log in to your account first to be able to fill out your application.\n If you have more than one Jotform account, please use the registered account to the\n Jotform ${isAffiliateSignup ? 'Affiliate Program' : 'Solutions Program'}.`;\n }\n if (isJotformForBeginners) {\n return 'Create a free Jotform account to download the book, Jotform for Beginners.';\n }\n if (window.JOTFORM_ENV !== 'ENTERPRISE') {\n return 'Collect information, payments, and signatures with custom online forms.';\n }\n return '';\n};\n\nexport const FORM_TEXTS = {\n confirmEmail: 'E-mail does not match',\n pleaseWait: 'Please wait...',\n validateEmail: 'You need to validate this e-mail',\n confirmClearForm: 'Are you sure you want to clear the form',\n lessThan: 'Your score should be less than or equal to',\n incompleteFields: 'There are incomplete required fields. Please complete them.',\n required: 'This field is required.',\n requireOne: 'At least one field required.',\n requireEveryRow: 'Every row is required.',\n requireEveryCell: 'Every cell is required.',\n email: 'Enter a valid e-mail address',\n alphabetic: 'This field can only contain letters',\n numeric: 'This field can only contain numeric values',\n alphanumeric: 'This field can only contain letters and numbers.',\n cyrillic: 'This field can only contain cyrillic characters',\n url: 'This field can only contain a valid URL',\n currency: 'This field can only contain currency values.',\n fillMask: 'Field value must fill mask.',\n uploadExtensions: 'You can only upload following files:',\n noUploadExtensions: 'File has no extension file type (e.g. .txt, .png, .jpeg)',\n uploadFilesize: 'File size cannot be bigger than:',\n uploadFilesizemin: 'File size cannot be smaller than:',\n gradingScoreError: 'Score total should only be less than or equal to',\n inputCarretErrorA: 'Input should not be less than the minimum value:',\n inputCarretErrorB: 'Input should not be greater than the maximum value:',\n maxDigitsError: 'The maximum digits allowed is',\n minCharactersError: 'The number of characters should not be less than the minimum value:',\n maxCharactersError: 'The number of characters should not be more than the maximum value:',\n freeEmailError: 'Free email accounts are not allowed',\n minSelectionsError: 'The minimum required number of selections is ',\n maxSelectionsError: 'The maximum number of selections allowed is ',\n pastDatesDisallowed: 'Date must not be in the past.',\n dateLimited: 'This date is unavailable.',\n dateInvalid: 'This date is not valid. The date format is {format}',\n dateInvalidSeparate: 'This date is not valid. Enter a valid {element}.',\n ageVerificationError: 'You must be older than {minAge} years old to submit this form.',\n multipleFileUploads_typeError: '{file} has invalid extension. Only {extensions} are allowed.',\n multipleFileUploads_sizeError: '{file} is too large, maximum file size is {sizeLimit}.',\n multipleFileUploads_minSizeError: '{file} is too small, minimum file size is {minSizeLimit}.',\n multipleFileUploads_emptyError: '{file} is empty, please select files again without it.',\n multipleFileUploads_uploadFailed: 'File upload failed, please remove it and upload the file again.',\n multipleFileUploads_onLeave: 'The files are being uploaded, if you leave now the upload will be cancelled.',\n multipleFileUploads_fileLimitError: 'Only {fileLimit} file uploads allowed.',\n dragAndDropFilesHere_infoMessage: 'Drag and drop files here',\n chooseAFile_infoMessage: 'Choose a file',\n maxFileSize_infoMessage: 'Max. file size',\n generalError: 'There are errors on the form. Please fix them before continuing.',\n generalPageError: 'There are errors on this page. Please fix them before continuing.',\n wordLimitError: 'Too many words. The limit is',\n wordMinLimitError: 'Too few words. The minimum is',\n characterLimitError: 'Too many Characters. The limit is',\n characterMinLimitError: 'Too few characters. The minimum is',\n ccInvalidNumber: 'Credit Card Number is invalid.',\n ccInvalidCVC: 'CVC number is invalid.',\n ccInvalidExpireDate: 'Expire date is invalid.',\n ccInvalidExpireMonth: 'Expiration month is invalid.',\n ccInvalidExpireYear: 'Expiration year is invalid.',\n ccMissingDetails: 'Please fill up the credit card details.',\n ccMissingProduct: 'Please select at least one product.',\n ccMissingDonation: 'Please enter numeric values for donation amount.',\n disallowDecimals: 'Please enter a whole number.',\n restrictedDomain: 'This domain is not allowed',\n ccDonationMinLimitError: 'Minimum amount is {minAmount} {currency}',\n requiredLegend: 'All fields marked with * are required and must be filled.',\n geoPermissionTitle: 'Permission Denied',\n geoPermissionDesc: 'Check your browser\\'s privacy settings.',\n geoNotAvailableTitle: 'Position Unavailable',\n geoNotAvailableDesc: 'Location provider not available. Please enter the address manually.',\n geoTimeoutTitle: 'Timeout',\n geoTimeoutDesc: 'Please check your internet connection and try again.',\n selectedTime: 'Selected Time',\n formerSelectedTime: 'Former Time',\n cancelAppointment: 'Cancel Appointment',\n cancelSelection: 'Cancel Selection',\n noSlotsAvailable: 'No slots available',\n slotUnavailable: '{time} on {date} has been selected is unavailable. Please select another slot.',\n multipleError: 'There are {count} errors on this page. Please correct them before moving on.',\n oneError: 'There is {count} error on this page. Please correct it before moving on.',\n doneMessage: 'Well done! All errors are fixed.',\n invalidTime: 'Enter a valid time',\n doneButton: 'Done',\n reviewSubmitText: 'Review and Submit',\n nextButtonText: 'Next',\n prevButtonText: 'Previous',\n seeErrorsButton: 'See Errors',\n notEnoughStock: 'Not enough stock for the current selection',\n notEnoughStock_remainedItems: 'Not enough stock for the current selection ({count} items left)',\n soldOut: 'Sold Out',\n justSoldOut: 'Just Sold Out',\n selectionSoldOut: 'Selection Sold Out',\n subProductItemsLeft: '({count} items left)',\n startButtonText: 'START',\n submitButtonText: 'Submit',\n submissionLimit: 'Sorry! Only one entry is allowed.
Multiple submissions are disabled for this form.',\n reviewBackText: 'Back to Form',\n seeAllText: 'See All',\n progressMiddleText: 'of',\n fieldError: 'field has an error.',\n error: 'Error'\n};\n","/* eslint-disable import/no-extraneous-dependencies */\nimport map from 'crocks/pointfree/map';\nimport compose from 'crocks/helpers/compose';\n\nexport const log = m => x => console.log(`${m} - ${x}`) || x; // eslint-disable-line\n// clear attribute value of element\nexport const clearAttribute = attribute => element => (\n element.setAttribute(attribute, '') || element\n);\n\nexport const removeAttributesFromElement = attributes => element => (\n attributes.forEach(attr => element.removeAttribute(attr)) || element\n);\n\nexport const domSelect = document => selector => (\n document.querySelectorAll(selector)\n);\n\nexport const getClosest = element => query => (\n element\n ? element.querySelector(query) || getClosest(element.parentNode)(query)\n : null\n);\n\nexport const setElementAttributes = element => attributes => {\n if (attributes && typeof attributes === 'object') {\n Object.keys(attributes).forEach(attr => element.setAttribute(attr, attributes[attr]));\n }\n return element;\n};\n\nexport const setElementStyle = element => styles => {\n if (styles && typeof styles === 'object') {\n Object.keys(styles).forEach(style => {\n // eslint-disable-next-line no-param-reassign\n element.style[style] = styles[style];\n });\n }\n return element;\n};\n\nexport const addPropertiesToElement = element => properties => {\n if (properties && typeof properties === 'object') {\n Object.keys(properties).forEach(prop => {\n // eslint-disable-next-line no-param-reassign\n element[prop] = properties[prop];\n });\n }\n return element;\n};\n\nexport const elementFactory = document => (elementType, attributes, properties) => {\n const element = document.createElement(elementType);\n setElementAttributes(element)(attributes);\n addPropertiesToElement(element)(properties);\n return element;\n};\n\nexport const xPathToArray = xPathResult => {\n const resArray = [];\n let currentItem = xPathResult.iterateNext();\n while (currentItem) {\n resArray.push(currentItem);\n currentItem = xPathResult.iterateNext();\n }\n return resArray;\n};\n\nexport const xPathSelector = document => xPathQuery => (\n xPathToArray(document.evaluate(xPathQuery, document, null, window.XPathResult.ANY_TYPE, null))\n);\n\nexport const getNodesAsArray = document => query => (\n Array.from(domSelect(document)(query))\n);\n\nexport const removeElement = element => {\n return element ? element.remove() : null;\n};\n\nexport const removeEmptyAttribute = document => attribute => (\n compose(\n map(removeAttributesFromElement([attribute]))\n )(xPathSelector(document)(`//*[@${attribute}[not(normalize-space(string()))]]`))\n);\n\nexport const removeEmptyAttributes = document => attributes => (\n compose(\n map(removeEmptyAttribute(document))\n )(attributes)\n);\n\n// Checks if a object has given element\nexport const collectionHas = (a, b) => {\n for (let i = 0, len = a.length; i < len; i++) {\n if (a[i] == b) return true; // eslint-disable-line\n }\n return false;\n};\n\n// Finds parent of an element by using recursive calls of collectionHas function\nexport const findParentBySelector = (elm, selector) => {\n const all = domSelect(document)(selector);\n let cur = elm.parentNode;\n while (cur && !collectionHas(all, cur)) { // keep going up until you find a match\n cur = cur.parentNode; // go up\n }\n return cur; // will return null if not found\n};\n","/* eslint-disable import/no-extraneous-dependencies */\nimport map from 'crocks/pointfree/map';\nimport compose from 'crocks/helpers/compose';\nimport filter from 'crocks/pointfree/filter';\nimport Maybe from 'crocks/Maybe';\nimport {\n domSelect,\n elementFactory,\n getClosest,\n getNodesAsArray,\n removeAttributesFromElement,\n removeElement,\n setElementAttributes,\n setElementStyle\n} from './domUtils';\n\nconst { Just, Nothing } = Maybe;\n// find all labels having 'topLabelFor' as \"for\" property' value\nconst labelsByFor = document => topLabelFor => (\n domSelect(document)(`label[for=\"${topLabelFor}\"]`)\n);\n\n// find if there are multiple labels pointing to the same input, return Boolean\nconst hasMoreThanOne = document => label => (\n labelsByFor(document)(label.getAttribute('for')).length > 1\n);\n\n// get top labels for each question\nconst topLabels = document => (\n getNodesAsArray(document)('li.form-line>label.form-label')\n);\n\n// https://bit.ly/2U7xzAp\nexport const removeDublicateLabels = document => ( // eslint-disable-line\n compose(\n map(removeAttributesFromElement(['for'])), // clear for attributes for each dublicate labels\n filter(hasMoreThanOne(document)) // filter out labels with only one presence\n )(topLabels(document))\n);\n\n// create a new HTML element\nconst createH1 = document => ({ h2 }) => ({\n h2,\n h1: document.createElement('h1')\n});\n\n// check if there is an h2 but not h1\nconst checkHeaders = ({ h1, h2 }) => h1 === null && h2 !== null;\n\n// ensure if header creation is necessary\nconst ensureHeaderNecessary = headers => (\n checkHeaders(headers) ? Just(headers) : Nothing('Header check no needed')\n);\n\n// copy h2Existing child nodes into h1New\nconst copyChildNodes = ({ h1, h2 }) => (\n [...h2.childNodes].forEach(node => h1.appendChild(node)) || { h1, h2 }\n);\n\n// copy all attributes\nconst copyAttributes = ({ h1, h2 }) => (\n [...h2.attributes].forEach(\n attribute => h1.setAttribute(attribute.nodeName, attribute.nodeValue)\n ) || { h1, h2 }\n);\n\nconst replaceHeaders = ({ h1, h2 }) => (\n h2.parentNode.replaceChild(h1, h2) || { h1, h2 }\n);\n\nconst findSecondaryHeader = () => {\n let header = document.querySelector('h2');\n if (header == null) {\n header = document.querySelector('h3');\n }\n return header;\n};\n\n// TODO: copy attached event listeners\nexport const headers = document => compose(\n map(replaceHeaders),\n map(copyAttributes),\n map(copyChildNodes),\n map(createH1(document)),\n ensureHeaderNecessary\n)({ h1: document.querySelector('h1'), h2: findSecondaryHeader() });\n\nconst increaseHeadingLevel = (document, element) => {\n const tag = element.tagName === 'H3' ? 'h2' : 'h3';\n const newHeading = document.createElement(tag);\n const pair = { h1: newHeading, h2: element };\n copyChildNodes(pair);\n copyAttributes(pair);\n replaceHeaders(pair);\n return pair;\n};\n\nexport const correctHeadingStructure = document => {\n let headings = document.querySelectorAll('h1, h2, h3, h4');\n let previousElement = headings[0];\n [...headings].forEach(element => {\n if ((previousElement.tagName === 'H1' && element.tagName === 'H3') || (previousElement.tagName === 'H2' && element.tagName === 'H4')) {\n const newPair = increaseHeadingLevel(document, element);\n // eslint-disable-next-line no-param-reassign\n element = newPair.h1;\n } else {\n previousElement = element;\n }\n });\n headings = document.querySelectorAll('h1, h2, h3, h4');\n};\n\nconst ensureGrouppingNecessary = field => (\n field.querySelector('fieldset') === null\n ? Just(field)\n : Nothing('There is already fieldset')\n);\n\nconst getSafeInnerText = element => {\n const label = getClosest(element)('label.form-label');\n return label ? label.innerText : 'Form Group';\n};\n\nconst legendFactory = document => text => (\n elementFactory(document)('legend', {\n style: 'text-align:left;width:initial',\n class: 'a11y-legend'\n }, {\n innerText: text\n })\n);\n\nconst createFieldset = document => element => ({\n element,\n fieldset: document.createElement('fieldset')\n});\n\nconst createLegend = document => ({ element, fieldset }) => ({\n element,\n fieldset,\n legend: legendFactory(document)(getSafeInnerText(element))\n});\n\nconst appendFieldsetToElement = ({ element, fieldset, legend }) => {\n const label = getClosest(element)('label.form-label');\n if (label) {\n const labelID = label.getAttribute('id');\n legend.setAttribute('id', labelID);\n label.remove();\n }\n return element.appendChild(fieldset);\n};\n\nconst createChildElements = ({ element, fieldset, legend }) => (\n [...element.childElements()].forEach(el => fieldset.appendChild(el)) || {\n element, fieldset, legend\n }\n);\n\nconst appendLegendToFieldset = ({ element, fieldset, legend }) => (\n fieldset.appendChild(legend) && { element, fieldset, legend }\n);\n\nconst groupSingleElement = document => element => compose(\n map(appendFieldsetToElement), // 6. append fieldset to original element\n map(createChildElements), // 5. move child elements from original element to fieldset\n map(appendLegendToFieldset), // 4. append legend to fieldset\n map(createLegend(document)), // 3. create legend\n map(createFieldset(document)), // 2. create fieldset\n ensureGrouppingNecessary // 1. Do we need to create fieldset and legend fields?\n)(element);\n\nconst getGrouppingElements = document => (\n getNodesAsArray(document)('div[data-component=\"radio\"],div[data-component=\"checkbox\"]')\n);\n\nexport const groupFormElements = document => (\n getGrouppingElements(document).map(groupSingleElement(document))\n);\n\nconst getAllOtherInputs = document => (\n getNodesAsArray(document)('[type=\"radio\"].form-radio-other,[type=\"checkbox\"].form-checkbox-other')\n);\n\n// TODO: Rewrite this function to fit FP Concepts\nexport const initializeOtherInputs = document => {\n getAllOtherInputs(document).forEach(i1 => {\n // Get Text Input\n const otherInput = getClosest(i1)('.form-textbox');\n otherInput.setAttribute('aria-label', 'Other Option');\n i1.setAttribute('aria-label', otherInput.getAttribute('data-otherhint').trim());\n const otherLabel = getClosest(i1)('label');\n if (otherLabel && otherLabel.innerText.trim().length === 0) {\n otherLabel.remove();\n }\n });\n};\n\n// Also we need to filter editable labels from other input field values\nconst getEmptyLabels = document => Array.from(document.querySelectorAll('label')).filter(label => label.innerHTML.trim() === '');\n\n/* const labelsUsedInARIA = (document) => (label) => (\n domSelect(document)(`[aria-labelledby*=\"${label.id}\"]`).length > 0\n); */\n\n/* export const removeForAttributes = (document) => (\n compose(\n map(removeAttributesFromElement(['for'])),\n filter(labelsUsedInARIA(document))\n )(getNodesAsArray(document)('label[for]'))\n); */\n\nconst findLabelRelatedFields = document => label => (\n label && label.id\n ? { label, relatedFields: getNodesAsArray(document)(`[aria-labelledby*=\"${label.id}\"]`) }\n : { label }\n);\n\nconst removeLabelIdFromElement = label => field => {\n field.setAttribute('aria-labelledby', field.getAttribute('aria-labelledby').replace(label.id, '').trim());\n return label;\n};\n\nconst removeLabelIdFromFields = ({ label, relatedFields }) => {\n return label && label.id\n ? compose(\n map(removeElement),\n map(removeLabelIdFromElement(label))\n )(relatedFields)\n : null;\n};\n\nexport const removeEmptyLabels = document => (\n compose(\n map(removeLabelIdFromFields),\n map(findLabelRelatedFields(document))\n )(getEmptyLabels(document))\n);\n\nconst createImageDiv = document => imgElement => {\n const newDiv = elementFactory(document)('div', {\n class: 'form-image'\n });\n setElementStyle(newDiv)({\n backgroundImage: `url(\"${imgElement.getAttribute('src')}\")`,\n backgroundSize: 'contain',\n height: `${imgElement.height}px`,\n width: `${imgElement.width}px`\n });\n return { imgElement, newDiv };\n};\n\nconst appendDivToImgParent = ({ imgElement, newDiv }) => {\n imgElement.parentElement.appendChild(newDiv);\n imgElement.remove();\n};\n\nexport const replaceImagesWithDiv = document => (\n compose(\n map(appendDivToImgParent),\n map(createImageDiv(document))\n )(getNodesAsArray(document)('img.form-image[alt=\"\"]'))\n);\n\nconst hideInputs = element => {\n setElementAttributes(element)({ type: 'hidden' });\n};\n\nexport const hideJotFormInputs = document => (\n compose(\n map(hideInputs)\n )(getNodesAsArray(document)('input[name=\"input_language\"],input[name=\"website\"]'))\n);\n\nconst addOrderAttribute = (element, index) => (\n setElementAttributes(element)({\n 'question-order': index\n })\n);\n\n// TODO: Rewrite this function to fit FP Concepts\nexport const setQuestionOrder = document => (\n getNodesAsArray(document)('li.form-line').forEach(addOrderAttribute)\n);\n","export const Texts = {\n LEGEND_REQUIRED: 'All fields marked with * are required and must be completed.',\n REQUIRED: 'Required',\n FIELD_ERROR: 'field has an error.',\n ERROR: 'Error'\n};\n","\n import API from \"!../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[2]!./accessibilityEnhancer.css\";\n \n \n\nvar options = {};\n\n;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[2]!./accessibilityEnhancer.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["module","exports","_defineUnion","_equals","_implements","_innerConcat","_inspect","type","_type","fl","apOrFunc","compose","isApplicative","isApply","isArray","isFunction","isSameType","constant","x","identity","_maybe","Nothing","Just","Maybe","_of","_zero","runSequence","map","u","arguments","length","obj","includes","option","n","either","equals","m","y","inspect","f","g","caseOf","concat","method","fn","alt","chain","toString","bichain","l","r","bichainErr","coalesce","zero","ap","undefined","of","sequence","traverse","constructor","isTypeRepOf","af","Array","isEmpty","isSemigroup","runTraverse","name","acc","v","xs","reduce","b","i","fold","foldMap","head","slice","semi","val","reduceRight","set","indx","arr","unset","CURRY_SYMB","applyCurry","arg","bind","call","curry","curried","len","args","Function","apply","Object","defineProperty","enumerable","writable","value","isObject","isString","defs","keys","tag","def","key","index","cases","indexOf","isSame","hasAlg","strats","a","deepEquals","valueOf","message","source","ignoreCase","global","multiline","unicode","bimap","contramap","empty","extend","filter","id","promap","alg","check","algs","test","left","right","isSymbol","isDate","join","isFunctor","prototype","isNaN","isMonoid","Pred","predOrFunc","tX","tY","rejectUnit","assign","result","k","pred","runWith","_types","inner","proxy","t","ctx","typeFn","ver","err","applyPipe","fns","reverse","tail","isPredOrFunc","object","array","___CSS_LOADER_EXPORT___","push","cssWithMappingToString","list","item","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","api","domAPI","update","newObj","remove","byIndex","splice","lastIdentifiers","newList","newLastIdentifiers","_i","_index","memo","insert","style","target","getTarget","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","e","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","textStore","replaceText","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","singletonData","singleton","singletonCounter","styleIndex","insertStyleElement","timeoutId","encodeURIComponent","FORM_TEXTS","requiredLegend","fieldError","error","callback","removeAttributesFromElement","forEach","attr","removeAttribute","domSelect","document1","selector","querySelectorAll","getClosest","query","parentNode","setElementAttributes","setElementStyle","styles","addPropertiesToElement","properties","prop","elementFactory","elementType","xPathToArray","xPathResult","resArray","currentItem","iterateNext","xPathSelector","xPathQuery","evaluate","XPathResult","ANY_TYPE","getNodesAsArray","from","removeElement","removeEmptyAttribute","attribute","removeEmptyAttributes","collectionHas","findParentBySelector","elm","all","cur","labelsByFor","topLabelFor","hasMoreThanOne","label","getAttribute","topLabels","removeDublicateLabels","createH1","h2","h1","checkHeaders","ensureHeaderNecessary","headers","copyChildNodes","node","copyAttributes","nodeName","nodeValue","replaceHeaders","replaceChild","findSecondaryHeader","header","increaseHeadingLevel","tagName","pair","correctHeadingStructure","headings","previousElement","newPair","getAllOtherInputs","initializeOtherInputs","i1","otherInput","trim","otherLabel","innerText","getEmptyLabels","innerHTML","findLabelRelatedFields","relatedFields","removeLabelIdFromElement","field","replace","removeLabelIdFromFields","removeEmptyLabels","createImageDiv","imgElement","newDiv","class","backgroundImage","backgroundSize","height","width","appendDivToImgParent","parentElement","replaceImagesWithDiv","hideInputs","hideJotFormInputs","addOrderAttribute","setQuestionOrder","Texts","LEGEND_REQUIRED","REQUIRED","FIELD_ERROR","ERROR","recalculateHeight","JotForm","handleIFrameHeight","isSectionCollapse","el","firstChild","firstElementChild","handleMainErrorReplicate","self","errorField","display","handleSubmitClick","parentUl","setTimeout","errorElement","anchor","focus","bindHandlerToMultipleElements","event","handler","elements","body","addEventListener","hasOwnProperty","configurable","params","argArr","docFrag","createDocumentFragment","argItem","isNode","Node","String","Element","Document","DocumentFragment","debouncedHandleFieldErrorReplicate","stopImmediatePropagation","errorLi","classList","add","errorIcon","errorContainer","createNewErrorListItem","originalErrorElement","tempErrorElement","createNewErrorElement","errorElementType","parentLi","previousNewError","getElementById","replicateErrorMessage","wrapper","textContent","outerHTML","prependFieldNameToError","labelContent","span","texts","prepend","wrapByAnchor","parentEl","errorMessage","firstEl","getFirstInputElement","firstElement","href","sectionCollapse","inSectionCollapse","hasClassName","click","sortList","switching","shouldSwitch","getElementsByTagName","Number","idNumeric","clonedError","clearTimeout","loadLegendTranslation","getTranslations","translations","JSON","parse","response","_requiredText","handleTranslationLoader","_langCode","data","values","XMLHttpRequest","open","stringify","send","onload","initialize","setDefaultLanguage","html","hasAttribute","initializeContainers","formContainers","firstLi","reqSpans","tempLi","tempLegend","j","tempContainer","createErrorContainer","div","ul","createListItem","li","wrapSections","wrapperLi","setAltTextsToImages","imagesWithoutAlt","image","initializing"],"mappings":"8SAAA,yEAAyE,EAGzEA,EAAOC,OAAO,CAAd,Q,wBCEA,IAAIC,EAAe,EAAQ,OACvBC,EAAU,EAAQ,OAClBC,EAAc,EAAQ,OACtBC,EAAe,EAAQ,OACvBC,EAAW,EAAQ,OACnBC,EAAO,cAAwB,SAC/BC,EAAQ,gBAA0BD,IARxB,GASVE,EAAK,EAAQ,OAEbC,EAAW,EAAQ,OACnBC,EAAU,EAAQ,OAClBC,EAAgB,EAAQ,OACxBC,EAAU,EAAQ,OAClBC,EAAU,EAAQ,OAClBC,EAAa,EAAQ,OACrBC,EAAa,EAAQ,OAErBC,EAAW,SAAUC,CAAC,EAAI,OAAO,WAAc,OAAOA,CAAG,CAAG,EAC5DC,EAAW,SAAUD,CAAC,EAAI,OAAOA,CAAG,EAEpCE,EACFlB,EAAa,CAAEmB,QAAS,EAAE,CAAEC,KAAM,CAAE,IAAK,GAEvCD,EACFD,EAAOC,OAAO,CAEZC,EACFF,EAAOE,IAAI,CAEbC,EAAMF,OAAO,CACXV,EAAQY,EAAOF,GAEjBE,EAAMD,IAAI,CACRX,EAAQY,EAAOD,GAEjB,IAAIE,EACFb,EAAQY,EAAOD,GAEbG,EACFd,EAAQY,EAAOF,GAEjB,SAASK,EAAYR,CAAC,EACpB,GAAG,CAAEL,CAAAA,EAAQK,IAAMJ,EAAQI,EAAC,EAC1B,MAAM,UACJ,sCAIJ,OAAOA,EAAES,GAAG,CAACH,EACf,CAEA,SAASD,EAAMK,CAAC,EAGd,GAAG,CAACC,UAAUC,MAAM,CAClB,MAAM,UAAc,sEAGtB,IANIC,EAMAb,EACF,EAAQc,QAAQ,CAACJ,GAAeA,EAAVN,EAAKM,GAQzBK,EACF,SAAUC,CAAC,EAAI,OAAOC,EAAOlB,EAASiB,GAAIf,EAAW,EAEnDiB,EACF,SAAUC,CAAC,EAAI,OAAOrB,EAAWO,EAAOc,IAAMF,EAC5ClB,EAASoB,EAAEF,MAAM,CAAClB,EAAS,IAAOA,EAAS,MAC3C,SAAUC,CAAC,EAAI,OAAOmB,EAAEF,MAAM,CAAClB,EAAS,IAAQ,SAAUqB,CAAC,EAAI,OAAOnC,EAAQmC,EAAGpB,EAAI,EAAI,EACxF,EAEDqB,EAAU,WAAc,OAAOJ,EAC/BlB,EAAS,WACT,SAAUC,CAAC,EAAI,MAAQ,OAAUZ,EAASY,EAAM,EAC/C,EAEL,SAASiB,EAAOK,CAAC,CAAEC,CAAC,EAClB,GAAG,CAAC1B,EAAWyB,IAAM,CAACzB,EAAW0B,GAC/B,MAAM,UAAc,wDAGtB,OAAOrB,EAAOsB,MAAM,CAAC,CACnBrB,QAASmB,EACTlB,KAAMmB,CACR,EAAGvB,EACL,CAEA,SAASyB,EAAOC,CAAM,EACpB,OAAO,SAASP,CAAC,EACf,GAAG,CAACrB,EAAWO,EAAOc,GACpB,MAAM,UAAe,SAAWO,EAAS,iCAG3C,OAAOT,EACLZ,EAAMF,OAAO,CACbhB,EAAc,SAAWuC,EAASP,GAEtC,CACF,CA2BA,SAASV,EAAIiB,CAAM,EACjB,OAAO,SAASC,CAAE,EAChB,GAAG,CAAC9B,EAAW8B,GACb,MAAM,UAAe,SAAWD,EAAS,uBAG3C,OAAOT,EACLZ,EAAMF,OAAO,CACbV,EAAQY,EAAMD,IAAI,CAAEuB,GAExB,CACF,CAEA,SAASC,EAAIF,CAAM,EACjB,OAAO,SAASP,CAAC,EACf,GAAG,CAACrB,EAAWO,EAAOc,GACpB,MAAM,UAAe,SAAWO,EAAS,oBAG3C,OAAOT,EACLlB,EAASoB,GACTd,EAAMD,IAAI,CAEd,CACF,CAmBA,SAASyB,EAAMH,CAAM,EACnB,OAAO,SAASC,CAAE,EAChB,GAAG,CAAC9B,EAAW8B,GACb,MAAM,UAAe,SAAWD,EAAS,uBAG3C,IAAIP,EAAIF,EAAOZ,EAAMF,OAAO,CAAEwB,GAE9B,GAAG,CAAC7B,EAAWO,EAAOc,GACpB,MAAM,UAAe,SAAWO,EAAS,kCAG3C,OAAOP,CACT,CACF,CAiDA,MAASN,CAAAA,EAAM,CACbQ,QAASA,EAASS,SAAUT,EAASJ,OAAQA,EAC7CF,OAAQA,EAAQ1B,KAAMA,EAAM6B,OAAQA,EAAQa,QA7H9C,SAAiBC,CAAC,CAAEC,CAAC,EACnB,IAAIC,EACF,kEAEF,GAAG,CAAErC,CAAAA,EAAWmC,IAAMnC,EAAWoC,EAAC,EAChC,MAAM,UAAcC,GAGtB,IAAIf,EAAIF,EAAOe,EAAGC,GAElB,GAAG,CAACnC,EAAWO,EAAOc,GACpB,MAAM,UAAce,GAGtB,OAAOf,CACT,EA8GgEgB,SArIhE,SAAkBb,CAAC,CAAEC,CAAC,EACpB,GAAG,CAAC1B,EAAWyB,IAAM,CAACzB,EAAW0B,GAC/B,MAAM,UAAc,0DAGtB,OAAOlB,EAAMD,IAAI,CAACa,EAAOK,EAAGC,GAC9B,EAgIEa,KA9KA7B,EA8KY8B,GAnFd,SAAYlB,CAAC,EAGX,GAAItB,EAFKkB,EAAOhB,EAASuC,KAAAA,KAMpB,IAAG,CAACxC,EAAWO,EAAOc,GACzB,MAAM,UAAc,2BACtB,MALE,MAAM,UAAc,8CAOtB,OAAOF,EACLZ,EAAMF,OAAO,CACbgB,EAAEV,GAAG,CAET,EAoEsB8B,GAjLpBjC,EAiL4BkC,SAlD9B,SAAkBlB,CAAC,EACjB,GAAG,CAAE5B,CAAAA,EAAc4B,IAAMzB,EAAWyB,EAAC,EACnC,MAAM,UACJ,4EAOJ,OAAOL,EACLxB,EAHAD,EAAS8B,GAGGjB,EAAMF,OAAO,EACzBK,EAEJ,EAqCEiC,SAnCF,SAAkBnB,CAAC,CAAEK,CAAE,EACrB,GAAG,CAAEjC,CAAAA,EAAc4B,IAAMzB,EAAWyB,EAAC,EACnC,MAAM,UACJ,+FAIJ,GAAG,CAACzB,EAAW8B,GACb,MAAM,UACJ,yEAOJ,IAAIR,EACFF,EAAOxB,EAHPD,EAAS8B,GAGUjB,EAAMF,OAAO,EAAGwB,GAErC,GAAG,CAAEhC,CAAAA,EAAQwB,IAAMvB,EAAQuB,EAAC,EAC1B,MAAM,UACJ,wEAIJ,OAAOF,EACLlB,EAASoB,GACTpB,EAASoB,EAAEV,GAAG,CAACH,IAEnB,EAOEsB,IAAKA,EAAI,OACTC,MAAOA,EAAM,SACbJ,OAAQA,EAAO,UACfhB,IAAKA,EAAI,MACX,EAAM,CAAClB,EAAG6C,IAAI,CAAC,CApLb7B,EAoLsBM,CAAG,CAACtB,EAAGgD,EAAE,CAAC,CAvLhCjC,EAuLuCO,CAAG,CAACtB,EAAG2B,MAAM,CAAC,CAAGA,EAAQL,CAAG,CAACtB,EAAGqC,GAAG,CAAC,CAAGA,EAAIrC,EAAGqC,GAAG,EAAGf,CAAG,CAACtB,EAAGkC,MAAM,CAAC,CAAGA,EAAOlC,EAAGkC,MAAM,EAAGZ,CAAG,CAACtB,EAAGkB,GAAG,CAAC,CAAGA,EAAIlB,EAAGkB,GAAG,EAAGI,CAAG,CAACtB,EAAGsC,KAAK,CAAC,CAAGA,EAAMtC,EAAGsC,KAAK,EAAGhB,CAAG,CAAC,SAAS,CAAGvB,EAAOuB,EAAI6B,WAAW,CAAGrC,EAAOQ,CAC/O,CAEAR,EAAMkC,EAAE,CAAGjC,EACXD,EAAM+B,IAAI,CAAG7B,EACbF,EAAMhB,IAAI,CAAGA,EAEbgB,CAAK,CAACd,EAAGgD,EAAE,CAAC,CAAGjC,EACfD,CAAK,CAACd,EAAG6C,IAAI,CAAC,CAAG7B,EACjBF,CAAK,CAAC,SAAS,CAAGf,EAElBe,CAAK,CAAC,eAAe,CAAGnB,EACtB,CAAE,MAAO,KAAM,QAAS,SAAU,SAAU,MAAO,KAAM,WAAY,OAAQ,EAG/EJ,EAAOC,OAAO,CAAGsB,C,wBCzQjB,yEAAyE,EAGzE,IAAIX,EAAgB,EAAQ,OACxBiD,EAAc,EAAQ,MAM1B7D,CAAAA,EAAOC,OAAO,CAJC,SAAU6D,CAAE,EAAI,OAAO,SAAU5C,CAAC,EAAI,OAAON,EAAckD,GACpEA,EAAGL,EAAE,CAACvC,GACN2C,EAAYE,MAAOD,GAAM,CAAE5C,EAAG,CAAG4C,EAAG5C,EAAI,CAAG,C,wBCRjD,yEAAyE,EAGzE,IAAIL,EAAU,EAAQ,OAClBC,EAAU,EAAQ,OAClBkD,EAAU,EAAQ,OAClBjD,EAAa,EAAQ,OACrBC,EAAa,EAAQ,OACrBiD,EAAc,EAAQ,OACtBvD,EAAW,EAAQ,OAEnBS,EACF,SAAUD,CAAC,EAAI,OAAOA,CAAG,EAEvByB,EACF,SAAUzB,CAAC,EAAI,OAAO,SAAUmB,CAAC,EAAI,OAAOnB,EAAEyB,MAAM,CAACN,EAAI,CAAG,EAE9D,SAAS6B,EAAYC,CAAI,CAAEtB,CAAE,EAC3B,OAAO,SAASuB,CAAG,CAAElD,CAAC,EACpB,IAAImB,EAAIQ,EAAG3B,GAEX,GAAG,CAAE,EAACL,EAAQuD,IAAQtD,EAAQsD,EAAG,GAAMpD,EAAWoD,EAAK/B,EAAC,EACtD,MAAM,UAAe,SAAW8B,EAAO,8CAGzC,EAAW9B,GACFkB,EAAGa,EAAKzC,EAAI,SAAU0C,CAAC,EAAI,OAAO1B,EAAO,CAAE0B,EAAG,CAAG,EAAGhC,IAGtDA,EACJV,GAAG,CAAC,SAAU0C,CAAC,EAAI,OAAO1B,EAAO,CAAE0B,EAAG,CAAG,GACzCd,EAAE,CAACa,EACR,CACF,CAKA,IAAIzC,EACF,SAAUa,CAAC,CAAEH,CAAC,EAAI,OAAOA,EAAEV,GAAG,CAAC,SAAUT,CAAC,EAAI,OAAOsB,EAAEtB,EAAI,EAAI,EAEjE,SAASqC,EAAGrC,CAAC,CAAEmB,CAAC,EACd,GAAG,CAAEA,CAAAA,EAAEP,MAAM,EANUwC,EAAGC,MAAM,CAAC,SAAUC,CAAC,CAAEC,CAAC,EAAI,OAAOD,GAAKzD,EAAW0D,EAAI,EAAG,GAMtD,EACzB,MAAM,UAAc,gDAGtB,OAAOpC,EAAEkC,MAAM,CAAC,SAAUH,CAAG,CAAE5B,CAAC,EAAI,OAAO4B,EAAIzB,MAAM,CAAChB,EAAIa,EAAGtB,GAAK,EAAG,EAAE,CACzE,CA0FAlB,EAAOC,OAAO,CAAG,CACfsD,GAAIA,EAAIR,MAzFV,SAAeP,CAAC,CAAEH,CAAC,EACjB,OAAOA,EAAEkC,MAAM,CAAC,SAASjC,CAAC,CAAEpB,CAAC,EAC3B,IAAIgB,EAAIM,EAAEtB,GAEV,GAAG,CAACJ,EAAQoB,GACV,MAAM,UAAc,8CAGtB,OAAOI,EAAEK,MAAM,CAACT,EAClB,EAAG,EAAE,CACP,EA+EwBwC,KAnExB,SAAcrC,CAAC,EACb,GAAG2B,EAAQ3B,GACT,MAAM,UACJ,sDAOJ,GAAG,CAAC4B,EAFF5B,CAAC,CAAC,EAAE,EAGJ,MAAM,UAAc,wDAGtB,OAAQA,EAAEkC,MAAM,CAAC,SAASrD,CAAC,CAAEoB,CAAC,EAC5B,GAAG,CAACtB,EAAWE,EAAGoB,GAChB,MAAM,UAAc,wDAEtB,OAAOpB,EAAEyB,MAAM,CAACL,EAClB,EACF,EAgDEqC,QA9CF,SAAiB9B,CAAE,CAAER,CAAC,EACpB,GAAG2B,EAAQ3B,GACT,MAAM,UACJ,2CAIJ,IAAIuC,EACF/B,EAAGR,CAAC,CAAC,EAAE,EAET,GAAG,CAAC4B,EAAYW,GACd,MAAM,UACJ,4EAIJ,OAAOvC,IAAAA,EAAEP,MAAM,CACX8C,EACAvC,EAAEwC,KAAK,CAAC,GAAGN,MAAM,CAAC,SAASO,CAAI,CAAE5D,CAAC,EAClC,IAAI6D,EAAMlC,EAAG3B,GAEb,GAAG,CAAEF,CAAAA,EAAW8D,EAAMC,IAAQd,EAAYc,EAAG,EAC3C,MAAM,UACJ,4EAIJ,OAAOD,EAAKnC,MAAM,CAACoC,EACrB,EAAGH,EACP,EAiBoBjD,IAAKA,EACvB+B,SA/EF,SAAkBlB,CAAC,CAAEH,CAAC,EACpB,IAAIQ,EAAKnC,EAAS8B,GAClB,OAAOH,EAAE2C,WAAW,CAACd,EAAY,WAAY/C,GAAW0B,EAAG,EAAE,EAC/D,EA4EsBoC,IAhBtB,SAAaC,CAAI,CAAEH,CAAG,CAAE1C,CAAC,EACvB,IAAI8C,EAAM9C,EAAEwC,KAAK,GAIjB,OAFAM,CAAG,CAACD,EAAK,CAAGH,EAELI,CACT,EAWExB,SA3EF,SAAkBnB,CAAC,CAAEK,CAAE,CAAER,CAAC,EACxB,IAAIyB,EAAKpD,EAAS8B,GAClB,OAAOH,EAAE2C,WAAW,CAACd,EAAY,WAAYrB,GAAKiB,EAAG,EAAE,EACzD,EAwEsBsB,MATtB,SAAeF,CAAI,CAAE7C,CAAC,EACpB,OAAOA,EAAEwC,KAAK,CAAC,EAAGK,GACfvC,MAAM,CAACN,EAAEwC,KAAK,CAACK,EAAO,GAC3B,CAOA,C,oBCnIAlF,EAAOC,OAAO,CAXd,yEAAyE,EAKzE,SAAiBuC,CAAC,CAAEC,CAAC,EACnB,OAAO,SAASvB,CAAC,EACf,OAAOsB,EAAEC,EAAEvB,GACb,CACF,C,wBCTA,yEAAyE,EAGzE,IAAIH,EAAa,EAAQ,OAErBsE,EACF,mBAEF,SAASC,EAAWzC,CAAE,CAAE0C,CAAG,SACzB,EAAe1C,GAERA,EAAGf,MAAM,CAAG,EAAIe,EAAG2C,IAAI,CAAC,KAAMD,GAAO1C,EAAG4C,IAAI,CAAC,KAAMF,GAF7B1C,CAG/B,CAuCA7C,EAAOC,OAAO,CApCd,SAASyF,EAAM7C,CAAE,EACf,GAAGA,CAAE,CAACwC,EAAW,CACf,OAAOxC,EAGT,SAAS8C,IAEP,IADA,IAAIrB,EAAK,EAAE,CAAEsB,EAAM/D,UAAUC,MAAM,CAC3B8D,KAAQtB,CAAE,CAAEsB,EAAK,CAAG/D,SAAS,CAAE+D,EAAK,CAE5C,IAAIC,EACFvB,EAAGxC,MAAM,CAAGwC,EAAK,CAAEd,KAAAA,EAAW,CAEhC,GAAGqC,EAAK/D,MAAM,CAAGe,EAAGf,MAAM,CACxB,OAAO4D,EAAMI,SAASN,IAAI,CAACO,KAAK,CAAClD,EAAI,CAAE,KAAM,CAACF,MAAM,CAACkD,KAGvD,IAAId,EAAMc,EAAK/D,MAAM,GAAKe,EAAGf,MAAM,CAC/Be,EAAGkD,KAAK,CAAC,KAAMF,GACfA,EAAKtB,MAAM,CAACe,EAAYzC,UAE5B,EAAckC,GACLW,EAAMX,GAGRA,CACT,CAQA,OANAiB,OAAOC,cAAc,CAACN,EAASN,EAAY,CACzCa,WAAY,GACZC,SAAU,GACVC,MAAO,EACT,GAEOT,CACT,C,wBCjDA,yEAAyE,EAGzE,IAAID,EAAQ,EAAQ,OAChB5E,EAAU,EAAQ,OAClBkD,EAAU,EAAQ,OAClBjD,EAAa,EAAQ,OACrBsF,EAAW,EAAQ,OACnBC,EAAW,EAAQ,OAEnBrF,EAAW,SAAUC,CAAC,EAAI,OAAO,WAAc,OAAOA,CAAG,CAAG,CAoDhElB,CAAAA,EAAOC,OAAO,CAlBd,SAAqBsG,CAAI,EACvB,GAAG,CAACF,EAASE,IAASvC,EAAQuC,GAC5B,MAAM,UAAc,uEAGtB,OAAOP,OAAOQ,IAAI,CAACD,GAAMhC,MAAM,CAAC,SAASxC,CAAG,CAAE0E,CAAG,EAC/C,IAAIC,EAAMH,CAAI,CAACE,EAAI,CAEnB,GAAG,CAAC3F,EAAQ4F,IAAQ,CAACA,EAAInC,MAAM,CAAC,SAAUrD,CAAC,CAAEoB,CAAC,MAvCtCpB,EAuC0C,OAAOA,GAvCrCoF,EAAZpF,EAuCmEoB,IAvCxCpB,EAAEY,MAAM,EAuCuC,IAChF,MAAM,UAAc,2EAKtB,OAFAC,CAAG,CAAC0E,EAAI,YArBR,IADA,IAAIZ,EAAO,EAAE,CAAED,EAAM/D,UAAUC,MAAM,CAC7B8D,KAAQC,CAAI,CAAED,EAAK,CAAG/D,SAAS,CAAE+D,EAAK,CAE9C,OAAOc,EAAInC,MAAM,CAAC,SAASxC,CAAG,CAAE4E,CAAG,CAAEC,CAAK,EAExC,OADA7E,CAAG,CAAC4E,EAAI,CAAG,CAAEP,MAAOnF,EAAS4E,CAAI,CAACe,EAAM,CAAE,EACnC7E,CACT,EAAG,CAAE0E,IAAKxF,EAgBmBwF,EAhBL,EAC1B,EAiBS1E,CACT,EAAG,CAAEW,OAAQgD,WA3CGmB,CAAK,CAAExE,CAAC,EACtB,IAAIoE,EAAMpE,EAAEoE,GAAG,CAGXZ,EAAOa,CAFG,CAACD,IAAM,CAENlC,MAAM,CACnB,SAAUD,CAAE,CAAEpD,CAAC,EAAI,OAAOoD,EAAG3B,MAAM,CAAC,CAAEN,CAAC,CAACnB,EAAE,CAACkF,KAAK,GAAI,CAAG,EACvD,EAAE,EAGJ,OAAOS,CAAK,CAACJ,IAAM,CAACV,KAAK,CAAC,KAAMF,EAClC,GAiCkC7D,SAAU0D,WA7BTrD,CAAC,EAAI,MAAO,CAAC,CAACA,GAAKtB,EAAWsB,EAAEoE,GAAG,GAAKT,KAAAA,OAAOQ,IAAI,CA6B3BD,GA7BkCO,OAAO,CAACzE,EAAEoE,GAAG,GAAY,EA6BpD,EACpE,C,wBC5DA,yEAAyE,EAGzE,IAAIzF,EAAa,EAAQ,OACrB+F,EAAS,EAAQ,OACjBC,EAAS,EAAQ,OACjBzG,EAAO,EAAQ,MACfE,EAAK,EAAQ,OAIbwG,EAAS,CACX,MAAS,SAAUC,CAAC,CAAE1C,CAAC,EAAI,OAAO0C,EAAEpF,MAAM,GAAK0C,EAAE1C,MAAM,EAChDqF,EAAWD,EAAG1C,EAAI,EAEzB,KAAQ,SAAU0C,CAAC,CAAE1C,CAAC,EAAI,OAAOuC,EAAOG,EAAEE,OAAO,GAAI5C,EAAE4C,OAAO,GAAK,EAEnE,MAAS,SAAUF,CAAC,CAAE1C,CAAC,EAAI,OAAO0C,EAAE/C,IAAI,GAAKK,EAAEL,IAAI,EAC5C+C,EAAEG,OAAO,GAAK7C,EAAE6C,OAAO,EAE9B,OAAU,SAAUH,CAAC,CAAE1C,CAAC,EAAI,OAAOwB,OAAOQ,IAAI,CAACU,GAAGpF,MAAM,GAAKkE,OAAOQ,IAAI,CAAChC,GAAG1C,MAAM,EAC3EqF,EAAWD,EAAG1C,EAAI,EAEzB,OAAU,SAAU0C,CAAC,CAAE1C,CAAC,EAAI,OAAO0C,EAAEI,MAAM,GAAK9C,EAAE8C,MAAM,EACjDJ,EAAEK,UAAU,GAAK/C,EAAE+C,UAAU,EAC7BL,EAAEM,MAAM,GAAKhD,EAAEgD,MAAM,EACrBN,EAAEO,SAAS,GAAKjD,EAAEiD,SAAS,EAC3BP,EAAEQ,OAAO,GAAKlD,EAAEkD,OAAO,CAChC,EAEA,SAASP,EAAWD,CAAC,CAAE1C,CAAC,EACtB,IAAI,IAAImC,KAAOO,EACb,GAAG,CAAC9E,EAAO8E,CAAC,CAACP,EAAI,CAAEnC,CAAC,CAACmC,EAAI,EACvB,MAAO,GAGX,MAAO,EACT,CAEA,SAASvE,EAAO8E,CAAC,CAAE1C,CAAC,QAClB,EAAGuC,EAAOG,EAAG1C,MAITxD,EAAWkG,EAAG1C,KAIfwC,EAAO,SAAUE,GACX,CAAC1C,CAAC,CAAC/D,EAAG2B,MAAM,CAAC,EAAIoC,EAAEpC,MAAM,EAAEqD,IAAI,CAACjB,EAAG0C,GAGrC,CAACD,CAAM,CAAC1G,EAAK2G,GAAG,EA3Cd,SAAUA,CAAC,CAAE1C,CAAC,EAAI,OAAO0C,EAAEE,OAAO,KAAO5C,EAAE4C,OAAO,EAAI,CA2CjC,EAAGF,EAAG1C,GACtC,CAEAxE,EAAOC,OAAO,CAAGmC,C,oBCvDjB,yEAAyE,EAGzEpC,EAAOC,OAAO,CAAG,CACf6C,IAAK,mBACL6E,MAAO,qBACP5E,MAAO,qBACPpC,QAAS,uBACTgC,OAAQ,sBACRiF,UAAW,yBACXC,MAAO,qBACPzF,OAAQ,sBACR0F,OAAQ,sBACRC,OAAQ,sBACRC,GAAI,kBACJrG,IAAK,mBACL8B,GAAI,kBACJwE,OAAQ,sBACR1D,OAAQ,sBACRjB,KAAM,mBACR,C,wBCpBA,yEAAyE,EAGzE,IAAIvC,EAAa,EAAQ,OACrBN,EAAK,EAAQ,MAQjBT,CAAAA,EAAOC,OAAO,CAFD,SAAUiI,CAAG,CAAE7F,CAAC,EAAI,MAAO,CAAC,CAACA,GAAM8F,CAAAA,EAJE9F,CAAC,CAAC5B,CAAE,CAIAyH,EAJK,CAAC,GAAKnH,EAAWsB,CAAC,CAIvB6F,EAJ4B,GAEvCnH,EAAWsB,CAAC,CAAC,eAAe,GAAK,CAAC,CAACA,CAAC,CAAC,eAAe,CAEpB6F,EAAM,CAAI,C,oBCJrFlI,EAAOC,OAAO,CAFZ,SAAUmI,CAAI,EAAI,OAAO,SAAUC,CAAI,EAAI,OAAOD,KAAAA,EAAKtB,OAAO,CAACuB,EAAc,CAAG,C,wBCJlF,yEAAyE,EAGzE,IAAIrH,EAAa,EAAQ,OACrBiD,EAAc,EAAQ,MAkB1BjE,CAAAA,EAAOC,OAAO,CAhBd,SAAqB2C,CAAM,CAAEP,CAAC,EAC5B,OAAO,SAASiG,CAAI,EAClB,GAAG,CAACrE,EAAYqE,GACd,MAAM,UAAe1F,EAAS,8DAGhC,OAAOP,EAAEV,GAAG,CAAC,SAAU4G,CAAK,EAC1B,GAAG,CAACvH,EAAWsH,EAAMC,GACnB,MAAM,UAAe3F,EAAS,8DAGhC,OAAO0F,EAAK3F,MAAM,CAAC4F,EACrB,EACF,CACF,C,wBCpBA,yEAAyE,EAGzE,IAAIzH,EAAU,EAAQ,OAClBC,EAAa,EAAQ,OACrBsF,EAAW,EAAQ,OACnBC,EAAW,EAAQ,OACnBkC,EAAW,EAAQ,OACnBC,EAAS,EAAQ,MAuCrBzI,CAAAA,EAAOC,OAAO,CA9Bd,SAASsC,EAAQrB,CAAC,SAChB,GAAQH,EAAWG,EAAEqB,OAAO,EAClB,IAAOrB,EAAEqB,OAAO,GAGvBxB,EAAWG,GACL,YAGNJ,EAAQI,GACD,KAhBHoD,CAAAA,EAAGxC,MAAM,CACZwC,EAAG3C,GAAG,CAACY,GAASgC,MAAM,CAAC,SAAU2C,CAAC,CAAEhG,CAAC,EAAI,OAAOgG,EAAI,IAAMhG,CAAG,GAelCA,CAd1B,EAcgC,KAGrC,EAAYA,GACF,MAAS8E,OAAOQ,IAAI,CAACtF,GAAGqD,MAAM,CAAC,SAAUH,CAAG,CAAEuC,CAAG,EACvD,OAAOvC,EAAIzB,MAAM,CAAC,CAAGgE,EAAM,IAAOpE,EAAQrB,CAAC,CAACyF,EAAI,EAAK,CACvD,EAAG,EAAE,EAAE+B,IAAI,CAAC,MAAS,KAGpBpC,EAASpF,GACF,KAAQA,EAAI,IAGnBsH,EAAStH,IAAMuH,EAAOvH,GACf,IAAOA,EAAE8B,QAAQ,GAGnB,IAAM9B,CAChB,C,wBC7CA,yEAAyE,EAGzE,IAAI8F,EAAS,EAAQ,OACjBnG,EAAU,EAAQ,MAQtBb,CAAAA,EAAOC,OAAO,CALd,SAAuBoC,CAAC,EACtB,OAAOxB,EAAQwB,IACT2E,CAAAA,EAAO,KAAM3E,IAAM2E,EAAO,KAAM3E,EAAEuB,WAAW,EACrD,C,wBCVA,yEAAyE,EAGzE,IAAIoD,EAAS,EAAQ,OACjB2B,EAAY,EAAQ,MAQxB3I,CAAAA,EAAOC,OAAO,CALd,SAAiBoC,CAAC,EAChB,OAAOsG,EAAUtG,IACZ2E,EAAO,KAAM3E,EACpB,C,oBCHArC,EAAOC,OAAO,CAPd,yEAAyE,EAGzE,SAAiBiB,CAAC,EAChB,OAAO6C,MAAMjD,OAAO,CAACI,EACvB,C,oBCIAlB,EAAOC,OAAO,CATd,yEAAyE,EAIzE,SAAgBiB,CAAC,EACf,MAAO8E,kBAAAA,OAAO4C,SAAS,CAAC5F,QAAQ,CAAC+C,KAAK,CAAC7E,IAClC,CAAC2H,MAAM3H,EAAEkG,OAAO,GACvB,C,wBCPA,yEAAyE,EAEzE,IAAIf,EAAW,EAAQ,OACnByC,EAAW,EAAQ,OACnB1G,EAAS,EAAQ,OACjB3B,EAAK,EAAQ,MAoBjBT,CAAAA,EAAOC,OAAO,CAlBd,SAAiBiB,CAAC,EAChB,GAAG4H,EAAS5H,GAAI,CACd,IAAI2G,EAAQ3G,EAAE0C,WAAW,CAACnD,EAAG,KAAQ,CAAC,EAAIS,EAAE0C,WAAW,CAAC,KAAQ,EAAI1C,EAAE,KAAQ,CAE9E,OAAOkB,EAAOlB,EAAG2G,IACnB,QAEA,EAAY3G,GACH,CAAC8E,OAAOQ,IAAI,CAACtF,GAAGY,MAAM,EAG5BZ,GAAKA,KAAasC,IAAbtC,EAAEY,MAAM,EACP,CAACZ,EAAEY,MAAM,C,oBCXpB9B,EAAOC,OAAO,CARd,yEAAyE,EAIzE,SAAoB4C,CAAE,EACpB,MAAO,mBAAOA,CAChB,C,wBCNA,yEAAyE,EAGzE,IAAImE,EAAS,EAAQ,MAOrBhH,CAAAA,EAAOC,OAAO,CAJd,SAAmBoC,CAAC,EAClB,MAAO,CAAC,CAACA,GAAK2E,EAAO,MAAO3E,EAC9B,C,wBCRA,yEAAyE,EAGzE,IAAI2E,EAAS,EAAQ,OACjB/C,EAAc,EAAQ,MAQ1BjE,CAAAA,EAAOC,OAAO,CALd,SAAkBoC,CAAC,EACjB,OAAO4B,EAAY5B,IACb2E,CAAAA,EAAO,QAAS3E,IAAM2E,EAAO,QAAS3E,EAAEuB,WAAW,EAC3D,C,oBCVA,yEAAyE,EAGzE,IAAIZ,EAAWgD,OAAO4C,SAAS,CAAC5F,QAAQ,CAQxChD,EAAOC,OAAO,CALd,SAAkBiB,CAAC,EACjB,MAAO,CAAC,CAACA,GACJ8B,oBAAAA,EAASyC,IAAI,CAACvE,EACrB,C,sBCTA,yEAAyE,EAGzE,IAAI6H,EAAO,eAAyB,QAEhChI,EAAa,EAAQ,OACrBC,EAAa,EAAQ,MAKzBhB,CAAAA,EAAOC,OAAO,CAFK,SAAU+I,CAAU,EAAI,OAAOjI,EAAWiI,IAAehI,EAAW+H,EAAMC,EAAa,C,oBCG1GhJ,EAAOC,OAAO,CAZd,yEAAyE,EAIzE,SAAgBiB,CAAC,CAAEoB,CAAC,SAClB,IAASA,EACApB,IAAAA,GAAW,EAAIA,GAAM,EAAIoB,EAG3BpB,GAAMA,GAAKoB,GAAMA,CAC1B,C,wBCVA,yEAAyE,EAGzE,IAAIoD,EAAQ,EAAQ,OAChB3E,EAAa,EAAQ,OACrBR,EAAO,EAAQ,KAYnBP,CAAAA,EAAOC,OAAO,CAAGyF,EATjB,SAAoBxE,CAAC,CAAEoB,CAAC,EACtB,IAAI2G,EAAK1I,EAAKW,GACVgI,EAAK3I,EAAK+B,GAEd,OAAO2G,IAAOC,GACTnI,EAAWG,IAAMA,EAAEiD,IAAI,GAAK+E,GAC5BnI,EAAWuB,IAAMA,EAAE6B,IAAI,GAAK8E,CACnC,E,wBCfA,yEAAyE,EAGzE,IAAI3C,EAAW,EAAQ,OACnBU,EAAS,EAAQ,MAQrBhH,CAAAA,EAAOC,OAAO,CALd,SAAqBoC,CAAC,EACpB,OAAOiE,EAASjE,IACX,CAAC,CAACA,GAAK2E,EAAO,SAAU3E,EAC/B,C,oBCFArC,EAAOC,OAAO,CARd,yEAAyE,EAIzE,SAAkBiB,CAAC,EACjB,MAAO,iBAAOA,CAChB,C,oBCEAlB,EAAOC,OAAO,CARd,yEAAyE,EAIzE,SAAkBiB,CAAC,EACjB,MAAO,iBAAOA,CAChB,C,wBCNA,yEAAyE,EAGzE,IAAIH,EAAa,EAAQ,MAKzBf,CAAAA,EAAOC,OAAO,CAHI,SAAUiB,CAAC,CAAEoB,CAAC,EAAI,OAAOvB,EAAWuB,IAC9CpB,CAAAA,IAAMoB,GAAKpB,EAAEiD,IAAI,GAAK7B,EAAE6B,IAAI,CAAG,C,oBCNvC,yEAAyE,EAGzE,SAASgF,EAAWpH,CAAG,EACrB,OAAO,SAASqC,CAAG,CAAEuC,CAAG,EACtB,IAAIP,EAAQrE,CAAG,CAAC4E,EAAI,CAKpB,OAHanD,KAAAA,IAAV4C,GACDhC,CAAAA,CAAG,CAACuC,EAAI,CAAGP,CAAI,EAEVhC,CACT,CACF,CAEA,SAASgF,EAAOlI,CAAC,CAAEmB,CAAC,EAClB,IAAIgH,EAASrD,OAAOQ,IAAI,CAACnE,GAAGkC,MAAM,CAAC4E,EAAW9G,GAAI,CAAC,GACnD,OAAO2D,OAAOQ,IAAI,CAACtF,GAAGqD,MAAM,CAAC4E,EAAWjI,GAAImI,EAC9C,CAkCArJ,EAAOC,OAAO,CAAG,CACfmJ,OAAQA,EAAQrB,OAjClB,SAAgBvF,CAAC,CAAEH,CAAC,EAClB,OAAO2D,OAAOQ,IAAI,CAACnE,GAAGkC,MAAM,CAAC,SAAUH,CAAG,CAAEuC,CAAG,EAI7C,OAHGnE,EAAEH,CAAC,CAACsE,EAAI,GACTvC,CAAAA,CAAG,CAACuC,EAAI,CAAGtE,CAAC,CAACsE,EAAI,EAEZvC,CACT,EAAG,CAAC,EACN,EA2BEzC,IAzBF,SAAaa,CAAC,CAAEH,CAAC,EACf,OAAO2D,OAAOQ,IAAI,CAACnE,GAAGkC,MAAM,CAAC,SAAUH,CAAG,CAAEuC,CAAG,EAE7C,OADAvC,CAAG,CAACuC,EAAI,CAAGnE,EAAEH,CAAC,CAACsE,EAAI,EACZvC,CACT,EAAG,CAAC,EACN,EAoBYa,IAlBZ,SAAa0B,CAAG,CAAE5B,CAAG,CAAE1C,CAAC,EACtB,IAAIN,EAEJ,OAAOqH,EAASrH,CAAAA,CAAAA,EAAM,CAAC,EAAM,CAAC4E,EAAI,CAAG5B,EAAKhD,CAAE,EAAKM,EACnD,EAcsB+C,MAZtB,SAAeuB,CAAG,CAAEtE,CAAC,EACnB,OAAO2D,OAAOQ,IAAI,CAACnE,GAAGkC,MAAM,CAAC,SAAUH,CAAG,CAAEkF,CAAC,EAK3C,OAJY9F,KAAAA,IAATnB,CAAC,CAACiH,EAAE,EAAkBA,IAAM3C,GAC7BvC,CAAAA,CAAG,CAACkF,EAAE,CAAGjH,CAAC,CAACiH,EAAE,EAGRlF,CACT,EAAG,CAAC,EACN,CAKA,C,wBCtDA,yEAAyE,EAGzE,IAAIrD,EAAa,EAAQ,MASzBf,CAAAA,EAAOC,OAAO,CAPd,SAAoBsJ,CAAI,CAAErI,CAAC,SACzB,EAAcqI,GACLA,EAAKrI,GAEPqI,EAAKC,OAAO,CAACtI,EACtB,C,uBCVA,yEAAyE,EAGzE,IAAIH,EAAa,EAAQ,MAWzBf,CAAAA,EAAOC,OAAO,CATd,SAAciB,CAAC,SACb,GACKH,EAAWG,EAAEX,IAAI,EACXW,EAAEX,IAAI,GAGV,EAAC,GAAEyC,QAAQ,CAACyC,IAAI,CAACvE,GAAG2D,KAAK,CAAC,EAAG,GACtC,C,oBCZA,yEAAyE,EAGzE,IAAI4E,EAAS,CACX,IAAO,WAAc,MAAO,SAAW,EACvC,IAAO,WAAc,MAAO,KAAO,EACnC,IAAO,WAAc,MAAO,KAAO,EACnC,MAAS,WAAc,MAAO,OAAS,EACvC,OAAU,WAAc,MAAO,QAAU,EACzC,MAAS,WAAc,MAAO,OAAS,EACvC,MAAS,SAAUC,CAAK,EAAI,MAAQ,SAAWA,EAAQ,GAAM,EAC7D,OAAU,WAAc,MAAO,QAAU,EACzC,KAAQ,WAAc,MAAO,MAAQ,EACrC,MAAS,WAAc,MAAO,OAAS,EACvC,MAAS,WAAc,MAAO,OAAS,EACvC,SAAY,WAAc,MAAO,UAAY,EAC7C,GAAM,WAAc,MAAO,IAAM,EACjC,KAAQ,WAAc,MAAO,MAAQ,EACrC,KAAQ,WAAc,MAAO,MAAQ,EACrC,IAAO,WAAc,MAAO,KAAO,EACnC,MAAS,WAAc,MAAO,OAAS,EACvC,IAAO,WAAc,MAAO,KAAO,EACnC,KAAQ,WAAc,MAAO,MAAQ,EACrC,KAAQ,WAAc,MAAO,MAAQ,EACrC,KAAQ,WAAc,MAAO,MAAQ,EACrC,OAAU,WAAc,MAAO,QAAU,EACzC,OAAU,WAAc,MAAO,QAAU,EACzC,KAAQ,WAAc,MAAO,MAAQ,EACrC,MAAS,WAAc,MAAO,OAAS,EACvC,IAAO,WAAc,MAAO,KAAO,EACnC,MAAS,SAAUxH,CAAC,EAAI,OAAQA,EAAI,QAAW,EAC/C,KAAQ,WAAc,MAAO,MAAQ,EACrC,OAAU,WAAc,MAAO,QAAU,CAC3C,EAEI3B,EACF,SAAUA,CAAI,EAAI,OAAOkJ,CAAM,CAAClJ,EAAK,EAAIkJ,EAAO,GAAM,CAUxDzJ,CAAAA,EAAOC,OAAO,CAAG,CACf0J,MARA,SAAUC,CAAC,CAAEC,CAAG,EAAI,MAAQ,CAAEtJ,KAAM,WAAc,OAAOA,EAAKqJ,GAAGC,EAAM,CAAE,CAAI,EAQ/DtJ,KAAMA,EAAMuJ,OANf,SAAUF,CAAC,CAAEG,CAAG,CAAEF,CAAG,EAEhC,MAAQ,UADMtJ,EAAKqJ,GAAGC,GACQ,IAAOE,CAAAA,GAAO,EAC9C,CAIA,C,wBChDA,yEAAyE,EAGzE,IAAIhJ,EAAa,EAAQ,OAErBiJ,EAAM,8BAEV,SAASC,EAAUzH,CAAC,CAAEC,CAAC,EACrB,GAAG,CAAC1B,EAAW0B,GACb,MAAM,UAAcuH,GAGtB,OAAO,WAEH,IADA,IAAInE,EAAO,EAAE,CAAED,EAAM/D,UAAUC,MAAM,CAC7B8D,KAAQC,CAAI,CAAED,EAAK,CAAG/D,SAAS,CAAE+D,EAAK,CAE9C,OAAOnD,EAAEgD,IAAI,CAAC,KAAMjD,EAAEuD,KAAK,CAAC,KAAMF,GACtC,CACF,CA2BA7F,EAAOC,OAAO,CAxBd,WAEE,IADA,IAAI4F,EAAO,EAAE,CAAED,EAAM/D,UAAUC,MAAM,CAC7B8D,KAAQC,CAAI,CAAED,EAAK,CAAG/D,SAAS,CAAE+D,EAAK,CAE9C,GAAG,CAAC/D,UAAUC,MAAM,CAClB,MAAM,UAAckI,GAGtB,IAAIE,EACFrE,EAAKhB,KAAK,GAAGsF,OAAO,GAElBvF,EACFsF,CAAG,CAAC,EAAE,CAER,GAAG,CAACnJ,EAAW6D,GACb,MAAM,UAAcoF,GAMtB,OAAOI,EAFDvF,KAAK,CAAC,GAAGlC,MAAM,CAAC,SAAUzB,CAAC,EAAI,OAAOA,CAAG,GAEnCqD,MAAM,CAAC0F,EAAWrF,EAChC,C,wBC3CA,yEAAyE,EAGzE,IAAIc,EAAQ,EAAQ,OAEhB3E,EAAa,EAAQ,OACrBsJ,EAAe,EAAQ,KACvBhE,EAAW,EAAQ,OACnBiE,EAAS,EAAQ,OACjBtB,EAAa,EAAQ,MAsBzBhJ,CAAAA,EAAOC,OAAO,CAAGyF,EAnBjB,SAAgB6D,CAAI,CAAElH,CAAC,EACrB,GAAG,CAACgI,EAAad,GACf,MAAM,UAAc,kEAGtB,IAAI1G,EACF,SAAU3B,CAAC,EAAI,OAAO8H,EAAWO,EAAMrI,EAAI,EAE7C,GAAGmB,GAAKtB,EAAWsB,EAAE0F,MAAM,EACzB,OAAO1F,EAAE0F,MAAM,CAAClF,GAGlB,GAAGR,GAAKgE,EAAShE,GACf,OAAOiI,EAAOvC,MAAM,CAAClF,EAAIR,EAG3B,OAAM,UAAc,4DACtB,E,wBC7BA,yEAAyE,EAGzE,IAAI1B,EAAU,EAAQ,OAClB+E,EAAQ,EAAQ,OAChB5E,EAAU,EAAQ,OAClBuF,EAAW,EAAQ,OACnBtF,EAAa,EAAQ,OACrB4H,EAAW,EAAQ,OAEnB4B,EAAQ,EAAQ,OAChBD,EAAS,EAAQ,OACjB7J,EAAK,EAAQ,MA2BjBT,CAAAA,EAAOC,OAAO,CAAGyF,EAxBjB,SAAa7C,CAAE,CAAER,CAAC,EAChB,GAAG,CAACtB,EAAW8B,GACb,MAAM,UAAc,6CAGtB,GAAG9B,EAAWsB,GACZ,OAAO1B,EAAQkC,EAAIR,GAGrB,GAAGvB,EAAQuB,GACT,OAAOkI,EAAM5I,GAAG,CAACkB,EAAIR,GAGvB,GAAGA,GAAKsG,EAAUtG,GAChB,MAAO,CAACA,CAAC,CAAC5B,EAAGkB,GAAG,CAAC,EAAIU,EAAEV,GAAG,EAAE8D,IAAI,CAACpD,EAAGQ,GAGtC,GAAGwD,EAAShE,GACV,OAAOiI,EAAO3I,GAAG,CAACkB,EAAIR,EAGxB,OAAM,UAAc,iFACtB,E,wEClCImI,EAA0B,E,OAA4B,KAE1DA,EAAwBC,IAAI,CAAC,CAACzK,EAAOgI,EAAE,CAAE,w4EAA64E,GAAG,EAEz7E,IAAewC,C,gCCDfxK,CAAAA,EAAOC,OAAO,CAAG,SAAUyK,CAAsB,EAC/C,IAAIC,EAAO,EAAE,CA4Eb,OAzEAA,EAAK3H,QAAQ,CAAG,WACd,OAAO,IAAI,CAACrB,GAAG,CAAC,SAAUiJ,CAAI,EAC5B,IAAIC,EAAU,GACVC,EAAY,KAAmB,IAAZF,CAAI,CAAC,EAAE,CAoB9B,OAnBIA,CAAI,CAAC,EAAE,EACTC,CAAAA,GAAW,cAAclI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,MAAK,EAE5CA,CAAI,CAAC,EAAE,EACTC,CAAAA,GAAW,UAAUlI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,KAAI,EAEvCE,GACFD,CAAAA,GAAW,SAASlI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAC9I,MAAM,CAAG,EAAI,IAAIa,MAAM,CAACiI,CAAI,CAAC,EAAE,EAAI,GAAI,KAAI,EAEhFC,GAAWH,EAAuBE,GAC9BE,GACFD,CAAAA,GAAW,GAAE,EAEXD,CAAI,CAAC,EAAE,EACTC,CAAAA,GAAW,GAAE,EAEXD,CAAI,CAAC,EAAE,EACTC,CAAAA,GAAW,GAAE,EAERA,CACT,GAAGnC,IAAI,CAAC,GACV,EAGAiC,EAAKlG,CAAC,CAAG,SAAWsG,CAAO,CAAEC,CAAK,CAAEC,CAAM,CAAEC,CAAQ,CAAEC,CAAK,EAClC,UAAnB,OAAOJ,GACTA,CAAAA,EAAU,CAAC,CAAC,KAAMA,EAASvH,KAAAA,EAAU,CAAC,EAExC,IAAI4H,EAAyB,CAAC,EAC9B,GAAIH,EACF,IAAK,IAAI3B,EAAI,EAAGA,EAAI,IAAI,CAACxH,MAAM,CAAEwH,IAAK,CACpC,IAAItB,EAAK,IAAI,CAACsB,EAAE,CAAC,EAAE,OACftB,GACFoD,CAAAA,CAAsB,CAACpD,EAAG,CAAG,EAAG,CAEpC,CAEF,IAAK,IAAIqD,EAAK,EAAGA,EAAKN,EAAQjJ,MAAM,CAAEuJ,IAAM,CAC1C,IAAIT,EAAO,EAAE,CAACjI,MAAM,CAACoI,CAAO,CAACM,EAAG,EAC5BJ,GAAUG,CAAsB,CAACR,CAAI,CAAC,EAAE,CAAC,GAGxB,SAAVO,IACc,SAAZP,CAAI,CAAC,EAAE,EAGhBA,CAAAA,CAAI,CAAC,EAAE,CAAG,SAASjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAC9I,MAAM,CAAG,EAAI,IAAIa,MAAM,CAACiI,CAAI,CAAC,EAAE,EAAI,GAAI,MAAMjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,IAAG,EAFlGA,CAAI,CAAC,EAAE,CAAGO,GAMVH,IACGJ,CAAI,CAAC,EAAE,EAGVA,CAAAA,CAAI,CAAC,EAAE,CAAG,UAAUjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,MAAMjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,IAAG,EAF7DA,CAAI,CAAC,EAAE,CAAGI,GAMVE,IACGN,CAAI,CAAC,EAAE,EAGVA,CAAI,CAAC,EAAE,CAAG,cAAcjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,OAAOjI,MAAM,CAACiI,CAAI,CAAC,EAAE,CAAE,KAC/DA,CAAI,CAAC,EAAE,CAAGM,GAHVN,CAAI,CAAC,EAAE,CAAG,GAAGjI,MAAM,CAACuI,IAMxBP,EAAKF,IAAI,CAACG,GACZ,CACF,EACOD,CACT,C,gCClFA3K,CAAAA,EAAOC,OAAO,CAAG,SAAUwE,CAAC,EAC1B,OAAOA,CAAC,CAAC,EAAE,C,iCCDb,IAAI6G,EAAc,EAAE,CAEpB,SAASC,EAAqBC,CAAU,EAGtC,IAAK,IAFDnC,EAAS,GAEJ5E,EAAI,EAAGA,EAAI6G,EAAYxJ,MAAM,CAAE2C,IACtC,GAAI6G,CAAW,CAAC7G,EAAE,CAAC+G,UAAU,GAAKA,EAAY,CAC5CnC,EAAS5E,EACT,KACF,CAGF,OAAO4E,CACT,CAEA,SAASoC,EAAad,CAAI,CAAEe,CAAO,EAIjC,IAAK,IAHDC,EAAa,CAAC,EACdC,EAAc,EAAE,CAEXnH,EAAI,EAAGA,EAAIkG,EAAK7I,MAAM,CAAE2C,IAAK,CACpC,IAAImG,EAAOD,CAAI,CAAClG,EAAE,CACduD,EAAK0D,EAAQG,IAAI,CAAGjB,CAAI,CAAC,EAAE,CAAGc,EAAQG,IAAI,CAAGjB,CAAI,CAAC,EAAE,CACpDkB,EAAQH,CAAU,CAAC3D,EAAG,EAAI,EAC1BwD,EAAa,GAAG7I,MAAM,CAACqF,EAAI,KAAKrF,MAAM,CAACmJ,EAC3CH,CAAAA,CAAU,CAAC3D,EAAG,CAAG8D,EAAQ,EACzB,IAAIC,EAAoBR,EAAqBC,GACzCzJ,EAAM,CACRiK,IAAKpB,CAAI,CAAC,EAAE,CACZI,MAAOJ,CAAI,CAAC,EAAE,CACdqB,UAAWrB,CAAI,CAAC,EAAE,CAClBM,SAAUN,CAAI,CAAC,EAAE,CACjBO,MAAOP,CAAI,CAAC,EAAE,EAGhB,GAAImB,KAAAA,EACFT,CAAW,CAACS,EAAkB,CAACG,UAAU,GACzCZ,CAAW,CAACS,EAAkB,CAACI,OAAO,CAACpK,OAClC,CACL,IAAIoK,EAAUC,SAeKrK,CAAG,CAAE2J,CAAO,EACnC,IAAIW,EAAMX,EAAQY,MAAM,CAACZ,UACzBW,EAAIE,MAAM,CAACxK,GAEG,SAAiByK,CAAM,EAC/BA,EACEA,CAAAA,EAAOR,GAAG,GAAKjK,EAAIiK,GAAG,EAAIQ,EAAOxB,KAAK,GAAKjJ,EAAIiJ,KAAK,EAAIwB,EAAOP,SAAS,GAAKlK,EAAIkK,SAAS,EAAIO,EAAOtB,QAAQ,GAAKnJ,EAAImJ,QAAQ,EAAIsB,EAAOrB,KAAK,GAAKpJ,EAAIoJ,KAAK,GAIhKkB,EAAIE,MAAM,CAACxK,EAAMyK,GAEjBH,EAAII,MAAM,EAEd,CAGF,EAhCoC1K,EAAK2J,EACnCA,CAAAA,EAAQgB,OAAO,CAAGjI,EAClB6G,EAAYqB,MAAM,CAAClI,EAAG,EAAG,CACvB+G,WAAYA,EACZW,QAASA,EACTD,WAAY,CACd,EACF,CAEAN,EAAYnB,IAAI,CAACe,EACnB,CAEA,OAAOI,CACT,CAqBA5L,EAAOC,OAAO,CAAG,SAAU0K,CAAI,CAAEe,CAAO,EAGtC,IAAIkB,EAAkBnB,EADtBd,EAAOA,GAAQ,EAAE,CADjBe,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBmB,CAAO,EAC5BA,EAAUA,GAAW,EAAE,CAEvB,IAAK,IAAIpI,EAAI,EAAGA,EAAImI,EAAgB9K,MAAM,CAAE2C,IAAK,CAE/C,IAAImC,EAAQ2E,EADKqB,CAAe,CAACnI,EAAE,CAEnC6G,CAAAA,CAAW,CAAC1E,EAAM,CAACsF,UAAU,EAC/B,CAIA,IAAK,IAFDY,EAAqBrB,EAAaoB,EAASnB,GAEtCqB,EAAK,EAAGA,EAAKH,EAAgB9K,MAAM,CAAEiL,IAAM,CAGlD,IAAIC,EAASzB,EAFKqB,CAAe,CAACG,EAAG,CAIE,KAAnCzB,CAAW,CAAC0B,EAAO,CAACd,UAAU,GAChCZ,CAAW,CAAC0B,EAAO,CAACb,OAAO,GAE3Bb,EAAYqB,MAAM,CAACK,EAAQ,GAE/B,CAEAJ,EAAkBE,CACpB,CACF,C,iCCrGA,IAAIG,EAAO,CAAC,CAoCZjN,CAAAA,EAAOC,OAAO,CAVd,SAA0BiN,CAAM,CAAEC,CAAK,EACrC,IAAIC,EAASC,SAxBID,CAAM,EACvB,GAAI,KAAwB,IAAjBH,CAAI,CAACG,EAAO,CAAkB,CACvC,IAAIE,EAAcC,SAASC,aAAa,CAACJ,GAEzC,GAAIK,OAAOC,iBAAiB,EAAIJ,aAAuBG,OAAOC,iBAAiB,CAC7E,GAAI,CAGFJ,EAAcA,EAAYK,eAAe,CAAC/I,IAAI,CAC9C,MAAOgJ,EAAG,CAEVN,EAAc,IAChB,CAGFL,CAAI,CAACG,EAAO,CAAGE,CACjB,CAEA,OAAOL,CAAI,CAACG,EAAO,EAMIF,GAEvB,GAAI,CAACE,EACH,MAAM,MAAU,2GAGlBA,EAAOS,WAAW,CAACV,EACrB,C,gCC1BAnN,CAAAA,EAAOC,OAAO,CAPd,SAA4ByL,CAAO,EACjC,IAAIoC,EAAUP,SAASQ,aAAa,CAAC,SAGrC,OAFArC,EAAQsC,aAAa,CAACF,EAASpC,EAAQuC,UAAU,EACjDvC,EAAQwB,MAAM,CAACY,EAASpC,EAAQA,OAAO,EAChCoC,CACT,C,oCCGA9N,CAAAA,EAAOC,OAAO,CARd,SAAwCiO,CAAY,EAClD,IAAIC,EAAmD,IAAiB,CAEpEA,GACFD,EAAaE,YAAY,CAAC,QAASD,EAEvC,C,iCCNA,IACME,EADFC,GACED,EAAY,EAAE,CACX,SAAiBzH,CAAK,CAAE2H,CAAW,EAExC,OADAF,CAAS,CAACzH,EAAM,CAAG2H,EACZF,EAAUtG,MAAM,CAACyG,SAAS9F,IAAI,CAAC,KACxC,GAKF,SAAS3C,EAAMmI,CAAY,CAAEtH,CAAK,CAAE6F,CAAM,CAAE1K,CAAG,EAC7C,IAAIiK,EAEJ,GAAIS,EACFT,EAAM,OACD,CACLA,EAAM,GAEFjK,EAAImJ,QAAQ,EACdc,CAAAA,GAAO,cAAcrJ,MAAM,CAACZ,EAAImJ,QAAQ,CAAE,MAAK,EAG7CnJ,EAAIiJ,KAAK,EACXgB,CAAAA,GAAO,UAAUrJ,MAAM,CAACZ,EAAIiJ,KAAK,CAAE,KAAI,EAGzC,IAAIF,EAAY,KAAqB,IAAd/I,EAAIoJ,KAAK,CAE5BL,GACFkB,CAAAA,GAAO,SAASrJ,MAAM,CAACZ,EAAIoJ,KAAK,CAACrJ,MAAM,CAAG,EAAI,IAAIa,MAAM,CAACZ,EAAIoJ,KAAK,EAAI,GAAI,KAAI,EAGhFa,GAAOjK,EAAIiK,GAAG,CAEVlB,GACFkB,CAAAA,GAAO,GAAE,EAGPjK,EAAIiJ,KAAK,EACXgB,CAAAA,GAAO,GAAE,EAGPjK,EAAImJ,QAAQ,EACdc,CAAAA,GAAO,GAAE,CAEb,CAKA,GAAIkC,EAAaO,UAAU,CACzBP,EAAaO,UAAU,CAACC,OAAO,CAAGJ,EAAY1H,EAAOoF,OAChD,CACL,IAAI2C,EAAUpB,SAASqB,cAAc,CAAC5C,GAClC6C,EAAaX,EAAaW,UAAU,CAEpCA,CAAU,CAACjI,EAAM,EACnBsH,EAAaY,WAAW,CAACD,CAAU,CAACjI,EAAM,EAGxCiI,EAAW/M,MAAM,CACnBoM,EAAaa,YAAY,CAACJ,EAASE,CAAU,CAACjI,EAAM,EAEpDsH,EAAaL,WAAW,CAACc,EAE7B,CACF,CAEA,IAAIK,EAAgB,CAClBC,UAAW,KACXC,iBAAkB,CACpB,CAmBAlP,CAAAA,EAAOC,OAAO,CAhBd,SAAgByL,CAAO,EAErB,IAAIyD,EAAaH,EAAcE,gBAAgB,GAC3ChB,EACJc,EAAcC,SAAS,EACvBD,CAAAA,EAAcC,SAAS,CAAGvD,EAAQ0D,kBAAkB,CAAC1D,EAAO,EAC5D,MAAO,CACLa,OAAQ,SAAgBxK,CAAG,EACzBgE,EAAMmI,EAAciB,EAAY,GAAOpN,EACzC,EACA0K,OAAQ,SAAgB1K,CAAG,EACzBgE,EAAMmI,EAAciB,EAAY,GAAMpN,EACxC,CACF,CACF,C,wdCgQMsN,ECpUmBC,mBAAmB,KAoOrC,IAAMC,EAAa,CAgExBC,eAAgB,4DAkChBC,WAAY,sBACZC,MAAO,OACT,E,IDLyBC,E,wFEhVlB,IAAMC,EAA8B3B,GAAcH,GACvDG,EAAW4B,OAAO,CAACC,GAAQhC,EAAQiC,eAAe,CAACD,KAAUhC,EAGlDkC,EAAYC,GAAYC,GACnCD,EAASE,gBAAgB,CAACD,GAGfE,EAAatC,GAAWuC,GACnCvC,EACIA,EAAQN,aAAa,CAAC6C,IAAUD,EAAWtC,EAAQwC,UAAU,EAAED,GAC/D,KAGOE,EAAuBzC,GAAWG,IACzCA,GAAc,iBAAOA,GACvBjI,OAAOQ,IAAI,CAACyH,GAAY4B,OAAO,CAACC,GAAQhC,EAAQM,YAAY,CAAC0B,EAAM7B,CAAU,CAAC6B,EAAK,GAE9EhC,GAGI0C,EAAkB1C,GAAW2C,IACpCA,GAAU,iBAAOA,GACnBzK,OAAOQ,IAAI,CAACiK,GAAQZ,OAAO,CAAC1C,IAE1BW,EAAQX,KAAK,CAACA,EAAM,CAAGsD,CAAM,CAACtD,EAAM,GAGjCW,GAGI4C,EAAyB5C,GAAW6C,IAC3CA,GAAc,iBAAOA,GACvB3K,OAAOQ,IAAI,CAACmK,GAAYd,OAAO,CAACe,IAE9B9C,CAAO,CAAC8C,EAAK,CAAGD,CAAU,CAACC,EAAK,GAG7B9C,GAGI+C,EAAiBZ,GAAY,CAACa,EAAa7C,EAAY0C,KAClE,IAAM7C,EAAUmC,EAASlC,aAAa,CAAC+C,GAGvC,OAFAP,EAAqBzC,GAASG,GAC9ByC,EAAuB5C,GAAS6C,GACzB7C,CACT,EAEaiD,EAAeC,IAC1B,IAAMC,EAAW,EAAE,CACfC,EAAcF,EAAYG,WAAW,GACzC,KAAOD,GACLD,EAASxG,IAAI,CAACyG,GACdA,EAAcF,EAAYG,WAAW,GAEvC,OAAOF,CACT,EAEaG,EAAgBnB,GAAYoB,GACvCN,EAAad,EAASqB,QAAQ,CAACD,EAAYpB,EAAU,KAAMxC,OAAO8D,WAAW,CAACC,QAAQ,CAAE,OAG7EC,EAAkBxB,GAAYI,GACzCtM,MAAM2N,IAAI,CAAC1B,EAAUC,GAAUI,IAGpBsB,EAAgB7D,GACpBA,EAAUA,EAAQrB,MAAM,GAAK,KAGzBmF,EAAuB3B,GAAY4B,GAC9ClR,IACEgB,IAAIiO,EAA4B,CAACiC,EAAU,IAC3CT,EAAcnB,GAAU,CAAC,KAAK,EAAE4B,EAAU,iCAAiC,CAAC,GAGnEC,EAAwB7B,GAAYhC,GAC/CtN,IACEgB,IAAIiQ,EAAqB3B,KACzBhC,GAIS8D,EAAgB,CAAC7K,EAAG1C,KAC/B,IAAK,IAAIC,EAAI,EAAGmB,EAAMsB,EAAEpF,MAAM,CAAE2C,EAAImB,EAAKnB,IACvC,GAAIyC,CAAC,CAACzC,EAAE,EAAID,EAAG,MAAO,GAExB,MAAO,EACT,EAGawN,EAAuB,CAACC,EAAK/B,KACxC,IAAMgC,EAAMlC,EAAUzC,UAAU2C,GAC5BiC,EAAMF,EAAI3B,UAAU,CACxB,KAAO6B,GAAO,CAACJ,EAAcG,EAAKC,IAChCA,EAAMA,EAAI7B,UAAU,CAEtB,OAAO6B,CACT,EC5FM,CAAE7Q,KAAAA,CAAI,CAAED,QAAAA,CAAO,CAAE,CAAGE,IAEpB6Q,EAAcnC,GAAYoC,GAC9BrC,EAAUC,GAAU,CAAC,WAAW,EAAEoC,EAAY,EAAE,CAAC,EAI7CC,EAAiBrC,GAAYsC,GACjCH,EAAYnC,GAAUsC,EAAMC,YAAY,CAAC,QAAQ1Q,MAAM,CAAG,EAItD2Q,EAAYxC,GAChBwB,EAAgBxB,GAAU,iCAIfyC,EAAwBzC,GACnCtP,IACEgB,IAAIiO,EAA4B,CAAC,MAAM,GACvC7H,IAAOuK,EAAerC,KACtBwC,EAAUxC,IAIR0C,EAAW1C,GAAY,CAAC,CAAE2C,GAAAA,CAAE,CAAE,GAAM,EACxCA,GAAAA,EACAC,GAAI5C,EAASlC,aAAa,CAAC,KAC7B,GAGM+E,EAAe,CAAC,CAAED,GAAAA,CAAE,CAAED,GAAAA,CAAE,CAAE,GAAKC,OAAAA,GAAeD,OAAAA,EAG9CG,EAAwBC,GAC5BF,EAAaE,GAAW1R,EAAK0R,GAAW3R,EAAQ,0BAI5C4R,EAAiB,CAAC,CAAEJ,GAAAA,CAAE,CAAED,GAAAA,CAAE,CAAE,GAChC,IAAIA,EAAG/D,UAAU,CAAC,CAACgB,OAAO,CAACqD,GAAQL,EAAGhF,WAAW,CAACqF,KAAU,CAAEL,GAAAA,EAAID,GAAAA,CAAG,EAIjEO,EAAiB,CAAC,CAAEN,GAAAA,CAAE,CAAED,GAAAA,CAAE,CAAE,GAChC,IAAIA,EAAG3E,UAAU,CAAC,CAAC4B,OAAO,CACxBgC,GAAagB,EAAGzE,YAAY,CAACyD,EAAUuB,QAAQ,CAAEvB,EAAUwB,SAAS,IACjE,CAAER,GAAAA,EAAID,GAAAA,CAAG,EAGVU,EAAiB,CAAC,CAAET,GAAAA,CAAE,CAAED,GAAAA,CAAE,CAAE,GAChCA,EAAGtC,UAAU,CAACiD,YAAY,CAACV,EAAID,IAAO,CAAEC,GAAAA,EAAID,GAAAA,CAAG,EAG3CY,EAAsB,KAC1B,IAAIC,EAASlG,SAASC,aAAa,CAAC,MAIpC,OAHc,MAAViG,GACFA,CAAAA,EAASlG,SAASC,aAAa,CAAC,KAAI,EAE/BiG,CACT,EAGaT,EAAU/C,GAAYtP,IACjCgB,IAAI2R,GACJ3R,IAAIwR,GACJxR,IAAIsR,GACJtR,IAAIgR,EAAS1C,IACb8C,GACA,CAAEF,GAAI5C,EAASzC,aAAa,CAAC,MAAOoF,GAAIY,GAAsB,GAE1DE,EAAuB,CAACzD,EAAUnC,KACtC,IAAMrH,EAAMqH,OAAAA,EAAQ6F,OAAO,CAAY,KAAO,KAExCC,EAAO,CAAEf,GADI5C,EAASlC,aAAa,CAACtH,GACXmM,GAAI9E,CAAQ,EAI3C,OAHAmF,EAAeW,GACfT,EAAeS,GACfN,EAAeM,GACRA,CACT,EAEaC,EAA0B5D,IACrC,IAAI6D,EAAW7D,EAASE,gBAAgB,CAAC,kBACrC4D,EAAkBD,CAAQ,CAAC,EAAE,CACjC,IAAIA,EAAS,CAACjE,OAAO,CAAC/B,IACfiG,OAAAA,EAAgBJ,OAAO,EAAa7F,OAAAA,EAAQ6F,OAAO,EAAeI,OAAAA,EAAgBJ,OAAO,EAAa7F,OAAAA,EAAQ6F,OAAO,CAGxH7F,EAAUkG,EAF2B/D,EAAUnC,GAE7B+E,EAAE,CAEpBkB,EAAkBjG,CAEtB,GACAgG,EAAW7D,EAASE,gBAAgB,CAAC,iBACvC,EAsEM8D,EAAoBhE,GACxBwB,EAAgBxB,GAAU,yEAIfiE,EAAwBjE,IACnCgE,EAAkBhE,GAAUJ,OAAO,CAACsE,IAElC,IAAMC,EAAahE,EAAW+D,GAAI,iBAClCC,EAAWhG,YAAY,CAAC,aAAc,gBACtC+F,EAAG/F,YAAY,CAAC,aAAcgG,EAAW5B,YAAY,CAAC,kBAAkB6B,IAAI,IAC5E,IAAMC,EAAalE,EAAW+D,GAAI,SAC9BG,GAAcA,IAAAA,EAAWC,SAAS,CAACF,IAAI,GAAGvS,MAAM,EAClDwS,EAAW7H,MAAM,EAErB,EACF,EAGM+H,EAAiBvE,GAAYlM,MAAM2N,IAAI,CAACzB,EAASE,gBAAgB,CAAC,UAAUpI,MAAM,CAACwK,GAASA,KAAAA,EAAMkC,SAAS,CAACJ,IAAI,IAahHK,EAAyBzE,GAAYsC,GACzCA,GAASA,EAAMvK,EAAE,CACb,CAAEuK,MAAAA,EAAOoC,cAAelD,EAAgBxB,GAAU,CAAC,mBAAmB,EAAEsC,EAAMvK,EAAE,CAAC,EAAE,CAAC,CAAE,EACtF,CAAEuK,MAAAA,CAAM,EAGRqC,EAA2BrC,GAASsC,IACxCA,EAAMzG,YAAY,CAAC,kBAAmByG,EAAMrC,YAAY,CAAC,mBAAmBsC,OAAO,CAACvC,EAAMvK,EAAE,CAAE,IAAIqM,IAAI,IAC/F9B,GAGHwC,EAA0B,CAAC,CAAExC,MAAAA,CAAK,CAAEoC,cAAAA,CAAa,CAAE,GAChDpC,GAASA,EAAMvK,EAAE,CACpBrH,IACAgB,IAAIgQ,GACJhQ,IAAIiT,EAAyBrC,KAC7BoC,GACA,KAGOK,EAAoB/E,GAC/BtP,IACEgB,IAAIoT,GACJpT,IAAI+S,EAAuBzE,KAC3BuE,EAAevE,IAGbgF,EAAiBhF,GAAYiF,IACjC,IAAMC,EAAStE,EAAeZ,GAAU,MAAO,CAC7CmF,MAAO,YACT,GAOA,OANA5E,EAAgB2E,GAAQ,CACtBE,gBAAiB,CAAC,KAAK,EAAEH,EAAW1C,YAAY,CAAC,OAAO,EAAE,CAAC,CAC3D8C,eAAgB,UAChBC,OAAQ,CAAC,EAAEL,EAAWK,MAAM,CAAC,EAAE,CAAC,CAChCC,MAAO,CAAC,EAAEN,EAAWM,KAAK,CAAC,EAAE,CAAC,GAEzB,CAAEN,WAAAA,EAAYC,OAAAA,CAAO,CAC9B,EAEMM,EAAuB,CAAC,CAAEP,WAAAA,CAAU,CAAEC,OAAAA,CAAM,CAAE,IAClDD,EAAWQ,aAAa,CAAC7H,WAAW,CAACsH,GACrCD,EAAWzI,MAAM,EACnB,EAEakJ,EAAuB1F,GAClCtP,IACEgB,IAAI8T,GACJ9T,IAAIsT,EAAehF,KACnBwB,EAAgBxB,GAAU,2BAGxB2F,EAAa9H,IACjByC,EAAqBzC,GAAS,CAAEvN,KAAM,QAAS,EACjD,EAEasV,GAAoB5F,GAC/BtP,IACEgB,IAAIiU,IACJnE,EAAgBxB,GAAU,uDAGxB6F,GAAoB,CAAChI,EAASlH,IAClC2J,EAAqBzC,GAAS,CAC5B,iBAAkBlH,CACpB,GAIWmP,GAAmB9F,GAC9BwB,EAAgBxB,GAAU,gBAAgBJ,OAAO,CAACiG,IC1RvCE,GAAQ,CACnBC,gBAAiB,+DACjBC,SAAU,WACVC,YAAa,sBACbC,MAAO,OACT,E,+ICMI1K,GAAU,CAAC,EL4Cf,SAAS2K,KACH5I,OAAO6I,OAAO,CAACC,kBAAkB,EAAE9I,OAAO6I,OAAO,CAACC,kBAAkB,EAC1E,CAEA,SAASC,GAAkBC,CAAE,EAC3B,GAAI,CAACA,EACH,MAAO,GAET,IAAMC,EAAaD,EAAGE,iBAAiB,CACvC,OAAOD,GAAcA,qBAAAA,EAAWlE,YAAY,CAAC,YAC/C,CAqSA,SAASoE,GAAyBC,CAAI,EAKpC,GAAI,CAHa7E,EAAqB6E,EAAM,gCAI1C,MAAO,GAET,IAAMC,EAAaD,EAAKrJ,aAAa,CAAC,wBAEnB,QAAfsJ,GAAuBA,SAAAA,EAAW3J,KAAK,CAAC4J,OAAO,EACjDD,CAAAA,EAAW3J,KAAK,CAAC4J,OAAO,CAAG,MAAK,CAEpC,CAEA,SAASC,GAAkBH,CAAI,EAE7B,IAAMI,EAAWjF,EAAqB6E,EAAM,gCAGvCI,GAKLC,WAAW,KACT,IAAMC,EAAeF,EAASzJ,aAAa,CAAC,oBAG5C,GAAI2J,EAAc,CAEhB,IAAMC,EAASD,EAAa3J,aAAa,CAAC,KAGtC4J,GACFA,EAAOC,KAAK,EAEhB,CACF,EAAG,IACL,CAyFA,SAASC,GAA8BpH,CAAQ,CAAEqH,CAAK,CAAEC,CAAO,EAC7D,IAAMC,EAAWlK,SAASmK,IAAI,CAACvH,gBAAgB,CAACD,GAEhD,IAAK,IAAIzL,EAAI,EAAGA,EAAIgT,EAAS3V,MAAM,CAAE2C,IACnCgT,CAAQ,CAAChT,EAAE,CAACkT,gBAAgB,CAACJ,EAAO,SAAmB3J,CAAC,EACtD4J,EAAQ,IAAI,CAAE5J,EAChB,EAEJ,CKheAlC,GAAQsC,aAAa,CAAG,KAElBtC,GAAQwB,MAAM,CAAG,SAAa,CAAC,KAAM,QAE3CxB,GAAQY,MAAM,CAAG,KACjBZ,GAAQ0D,kBAAkB,CAAG,KAEhB,KAAI,IAAO,CAAE1D,IAKJ,IAAO,EAAI,WAAc,EAAG,WAAc,CLE/D,SAAevG,CAAG,EACjBA,EAAI0K,OAAO,CAACjF,IAENA,EAAKgN,cAAc,CAAC,YAGxB5R,OAAOC,cAAc,CAAC2E,EAAM,UAAW,CACrCiN,aAAc,GACd3R,WAAY,GACZC,SAAU,GACVC,MAAO,SAAiB,GAAG0R,CAAM,EAC/B,IAAMC,EAAS,IAAID,EAAO,CACpBE,EAAUzK,SAAS0K,sBAAsB,GAE/CF,EAAOlI,OAAO,CAACqI,IACb,IAAMC,EAASD,aAAmBzK,OAAO2K,IAAI,CAC7CJ,EAAQnK,WAAW,CAACsK,EAASD,EAAU3K,SAASqB,cAAc,CAACyJ,OAAOH,IACxE,GAEA,IAAI,CAACnJ,YAAY,CAACiJ,EAAS,IAAI,CAACtB,UAAU,CAC5C,CACF,EACF,EACF,EAAE,CAACjJ,OAAO6K,OAAO,CAAC1P,SAAS,CAAE6E,OAAO8K,QAAQ,CAAC3P,SAAS,CAAE6E,OAAO+K,gBAAgB,CAAC5P,SAAS,CAAC,EAmc1F,IAAM6P,IA5JmB9I,EAiGzB,SAAmCkH,CAAI,CAAEjJ,CAAC,EACxCA,EAAE8K,wBAAwB,GAE1B,IAAM5B,EAAaD,EAAKrJ,aAAa,CAAC,0BAChCmL,EAAUvI,EAAWyG,GAAM,yBACjC,GAAIC,OAAAA,EAAqB,CAEjBA,EAAWtE,YAAY,CAAC,SAAS1L,OAAO,CAAC,gBAAkB,IAAO,UAAEgQ,EAAWtE,YAAY,CAAC,UAChGsE,EAAW8B,SAAS,CAACC,GAAG,CAAC,gBACzB/B,EAAW1I,YAAY,CAAC,OAAQ,UAElC,IAAM0K,EAAYhC,EAAWtJ,aAAa,CAAC,OACvCsL,GACF5B,WAAW,KACT4B,EAAUrM,MAAM,EAClB,EAAG,IAEL,IAAMwK,EAAWjF,EAAqB8E,EAAY,gCAClD,GAAIG,EAAU,CACZ,IAAM8B,EAAiB9B,EAASzJ,aAAa,CAAC,iBAC9CmL,EAAQvK,YAAY,CAAC,cAAe,IACpC4K,SA7B0BD,CAAc,CAAEE,CAAoB,EAClE,IAAMC,EAAmBC,SA3NIC,CAAgB,CAAEH,CAAoB,EAEnE,IAAM9B,EAAe5J,SAASQ,aAAa,CAyNI,MAtNzCsL,EAAWrH,EAAqBiH,EAAsB,gBAG5D,GAAI,CAACI,EACH,MAAO,EAITlC,CAAAA,EAAanP,EAAE,CAAG,CAAC,MAAM,EAAEqR,EAASrR,EAAE,CAAC,CAAC,CACxCmP,EAAa/I,YAAY,CAAC,iBAAkBiL,EAAS7G,YAAY,CAAC,mBAGlE,IAAM8G,EAAmB/L,SAASgM,cAAc,CAACpC,EAAanP,EAAE,EAG5DsR,GACFA,EAAiB7M,MAAM,GAIzB+M,SAjJ6BT,CAAc,CAAE5B,CAAY,EACzD,IAAMsC,EAAUlM,SAASQ,aAAa,CAAC,MACvC0L,CAAAA,EAAQC,WAAW,CAAGvC,EAAauC,WAAW,CAACrF,IAAI,GAEnD0E,EAAetE,SAAS,CAAGgF,EAAQE,SAAS,EA6ItBxC,EAAc8B,GAGpCW,SA5I+BzC,CAAY,CAAEkC,CAAQ,EAErD,IAAM9G,EAAQ8G,EAAS7L,aAAa,CAAC,SAerC,GAAI+E,EAAO,CAET,IAAIsH,EAAetH,EAAMmH,WAAW,CAAC5E,OAAO,CAAC,SAAU,KAAKA,OAAO,CAAC,YAAa,IAAIT,IAAI,GAGrF9B,EAAM/E,aAAa,CAAC,uBAEtBqM,CAAAA,EAAeA,EAAahV,KAAK,CAAC,EAAG,GAAE,EAGzC,IAAMiV,EAAOvM,SAASQ,aAAa,CAAC,OACpC+L,CAAAA,EAAKJ,WAAW,CAAG,CAAC,CAAC,EAAEG,EAAaxF,IAAI,GAAG,EAAE,EAAE5G,OAAO6I,OAAO,CAACyD,KAAK,CAACtK,UAAU,EAAIF,EAAWE,UAAU,EAAIuG,GAAAA,WAAiB,CAAC,CAAC,CAC9HmB,EAAa6C,OAAO,CAACF,EACvB,CACF,EA6G0B3C,EAAckC,GAGtCY,SAtEoBxD,CAAE,CAAEyD,CAAQ,CAAEC,CAAY,EAE9C,IAAM/C,EAAS7J,SAASQ,aAAa,CAAC,KAGlCqM,EAAU,IAYVA,QAPAA,EADG,4BADCD,EAEME,SAlDcH,CAAQ,EACpC,IAAII,EAAe,KACnB,OAAQJ,EAAS1H,YAAY,CAAC,cAC5B,IAAK,mBACH8H,EAAeJ,EAAS1M,aAAa,CAAC,0BACtC,KACF,KAAK,gBACH8M,EAAeJ,EAAS1M,aAAa,CAAC,uBACtC,KACF,KAAK,mBAAoB,CACvB,IAAMiK,EAAWyC,EAAS/J,gBAAgB,CAAC,iBAC3C,IAAK,IAAI1L,EAAI,EAAGA,EAAIgT,EAAS3V,MAAM,CAAE2C,IACnC,GAAIgT,IAAAA,CAAQ,CAAChT,EAAE,CAAC2B,KAAK,CAACtE,MAAM,EAAU2V,SAAAA,CAAQ,CAAChT,EAAE,CAAC6L,UAAU,CAACA,UAAU,CAACnD,KAAK,CAAC4J,OAAO,CAAa,CAChGuD,EAAe7C,CAAQ,CAAChT,EAAE,CAC1B,KACF,CAEmB,OAAjB6V,GACF,EAACA,EAAa,CAAG7C,CAAO,EAE1B,KACF,CACA,QAAS,CACP,IAAMA,EAAWyC,EAAS/J,gBAAgB,CAAC,gDAC3C,IAAK,IAAI1L,EAAI,EAAGA,EAAIgT,EAAS3V,MAAM,CAAE2C,IACnC,GAAIgT,IAAAA,CAAQ,CAAChT,EAAE,CAAC2B,KAAK,CAACtE,MAAM,CAAQ,CAClCwY,EAAe7C,CAAQ,CAAChT,EAAE,CAC1B,KACF,CAEmB,OAAjB6V,GACF,EAACA,EAAa,CAAG7C,CAAO,CAG5B,CACF,CACA,OAAO6C,CACT,EAaqCJ,GAGrBA,EAAS1M,aAAa,CAAC,iDAMnC4J,EAAOmD,IAAI,CAAG,CAAC,CAAC,EAAEH,EAAQpS,EAAE,CAAC,CAAC,CAG9BoP,EAAOmD,IAAI,CAAG,CAAC,CAAC,EAAEL,EAASlS,EAAE,CAAC,CAAC,CAGjCoP,EAAOhJ,YAAY,CAAC,WAAY,GAChCgJ,EAAOhJ,YAAY,CAAC,cAAe,CAAC,EAAEX,OAAO6I,OAAO,CAACyD,KAAK,CAACrK,KAAK,EAAIH,EAAWG,KAAK,EAAIsG,GAAAA,KAAW,CAAC,CAAC,EAGrGoB,EAAO3C,SAAS,CAAGgC,EAAGhC,SAAS,CAI/BgC,EAAGhC,SAAS,CAAG,GACfgC,EAAG5I,WAAW,CAACuJ,GACfA,EAAOC,KAAK,EACd,EAkCeF,EAAckC,EAAUJ,EAAqBS,WAAW,CAACrF,IAAI,IAG1E,IAAM4C,EAAWjF,EAAqBqH,EAAU,MAE1CmB,EAAkBC,GADoBxD,IACCA,EAASzJ,aAAa,CAAC,yDAQpE,OAPIgN,GACFrD,EAAaQ,gBAAgB,CAAC,QAAS,KACjCV,EAASyD,YAAY,CAAC,wBACxBF,EAAgBG,KAAK,EAEzB,GAEKxD,CACT,EA8KiD,EAAM8B,GACrDF,EAAelL,WAAW,CAACqL,GAE3B0B,SAxCgBjQ,CAAI,EAEpB,IAAIlG,EAAOoW,EAAerW,EACxBsW,EAKF,IAJAD,EAAY,GAILA,GAAW,CAKhB,IAAKpW,EAAI,EAHToW,EAAY,GACZrW,EAAImG,EAAKoQ,oBAAoB,CAAC,MAElBtW,EAAKD,EAAE1C,MAAM,CAAG,EAAI2C,IAK9B,GAHAqW,EAAe,GAGXE,OAAOxW,CAAC,CAACC,EAAE,CAAC+N,YAAY,CAAC,mBAAqBwI,OAAOxW,CAAC,CAACC,EAAI,EAAE,CAAC+N,YAAY,CAAC,mBAAoB,CAIjGsI,EAAe,GACf,KACF,CAEEA,IAGFtW,CAAC,CAACC,EAAE,CAAC6L,UAAU,CAACvB,YAAY,CAACvK,CAAC,CAACC,EAAI,EAAE,CAAED,CAAC,CAACC,EAAE,EAC3CoW,EAAY,GAEhB,CACF,EAOW9B,EACX,EAwB6BA,EAAgBjC,EACzC,CACF,MAAO,GAAID,EAAK7O,EAAE,CAAE,CAIlB,IAAMiT,EAAYpE,EAAK7O,EAAE,CAAC8M,OAAO,CAAC,MAAO,IAGnCoG,EAAc3N,SAASgM,cAAc,CAAC,CAAC,SAAS,EAAE0B,EAAU,CAAC,EAG/DC,GACFA,EAAYzO,MAAM,GAEqC,IAArDuD,EAAUzC,UAAU,sBAAsBzL,MAAM,EAClD6W,EAAQvK,YAAY,CAAC,cAAe,GAExC,CACF,EAxIMiB,EAAY,KACT,CAAC,GAAGxJ,KACTsV,aAAa9L,GACbA,EAAY6H,WAAW,KAErBvH,EAAS5J,KAAK,CAAC,KAAMF,EACvB,EAqJ2E,EApJ7E,GA+JF,SAASuV,GAAsBC,CAAe,EAC5C,IAAMC,EAAeC,KAAKC,KAAK,CAACH,EAAgBjO,MAAM,CAACqO,QAAQ,EAC3DH,GAAgBA,EAAazQ,OAAO,EAAI,iBAAOyQ,EAAazQ,OAAO,GACrE0C,SAAS4C,gBAAgB,CAAC,0CAA0CN,OAAO,CAACjC,IAC1EA,EAAE6G,SAAS,CAAG6G,EAAazQ,OAAO,CAAC+C,EAAE6G,SAAS,CAAC,EAAI7G,EAAE6G,SAAS,GAEhElH,SAAS4C,gBAAgB,CAAC,sBAAsBN,OAAO,CAACjC,IACtD,IAAM8N,EAAgB9N,EAAE4E,YAAY,CAAC,cACjCkJ,GACF9N,EAAEQ,YAAY,CAAC,aAAckN,EAAazQ,OAAO,CAAC6Q,EAAc,EAAIA,EAExE,IAIFrF,IACF,CAGA,SAASsF,KACP,IAAMC,EAAYrO,SAASC,aAAa,CAAC,QAAQgF,YAAY,CAAC,QAE9D,GAAI,iBAAOoJ,GAA0BA,OAAAA,GAAsBA,UAAAA,EAAuB,CAEhF,IAAMC,EAAO7V,OAAO8V,MAAM,CAAC9F,IACrBqF,EAAkB,IAAI5N,OAAOsO,cAAc,CACjDV,EAAgB1D,gBAAgB,CAAC,OAAQyD,IACzCC,EAAgBW,IAAI,CAAC,OAAQ,CAAC,6CAA6C,EAAET,KAAKU,SAAS,CAACJ,GAAM,MAAM,EAAED,EAAU,CAAC,EACrHP,EAAgBa,IAAI,EACtB,CACF,CAGAzO,OAAO0O,MAAM,CAAG,KACdtG,GAAkBtI,UAClBuE,EAAsBvE,UAAU,CAAC,kBAAmB,cAAc,EAClEoI,EAAqBpI,SACvB,EAEC,CAAC,KACA,IAAM6O,EAAa,KAEjBC,CAxeJ,SAA4BpM,CAAQ,EAClC,IAAMqM,EAAOrM,EAASzC,aAAa,CAAC,QAC/B8O,EAAKC,YAAY,CAAC,SACrBD,EAAKlO,YAAY,CAAC,OAAQ,KAE9B,GAmeuBb,UAEnBwI,GAAiBxI,UAEjBiP,SAxQ0B7M,CAAQ,EAEpC,IAAM8M,EAAiBzM,EAAUzC,UAAU,gCAE3C,IAAK,IAAI9I,EAAI,EAAGA,EAAIgY,EAAe3a,MAAM,CAAE2C,IAAK,CAE9C,IAAIiY,EAAUD,CAAc,CAAChY,EAAE,CAAC+I,aAAa,CAAC,gBACxCmP,EAAWF,CAAc,CAAChY,EAAE,CAAC0L,gBAAgB,CAAC,sBAE9C8G,EAAWjF,EAAqB0K,EAAS,2BAA6B1K,EAAqB0K,EAAS,mBAO1G,GAN0BlG,GAAkBS,IAE1CyF,CAAAA,EAAUzF,CAAO,EAIf0F,EAAS7a,MAAM,CAAG,EAAG,CAEvB,IAAM8a,EAASrP,SAASQ,aAAa,CAAC,MACtC6O,EAAOxO,YAAY,CAAC,QAAS,8BAE7B,IAAMyO,EAAatP,SAASQ,aAAa,CAAC,SAC1C8O,CAAAA,EAAWpI,SAAS,CAAGhH,OAAO6I,OAAO,CAACyD,KAAK,CAACvK,cAAc,EAAID,EAAWC,cAAc,EAAIwG,GAAAA,eAAqB,CAEhH6G,EAAW7U,EAAE,CAAG,CAAC,wBAAwB,EAAEvD,EAAE,CAAC,CAE9CmY,EAAO/O,WAAW,CAACgP,GAGnBJ,CAAc,CAAChY,EAAE,CAACsK,YAAY,CAAC6N,EAAQF,GAGvC,IAAK,IAAII,EAAI,EAAGA,EAAIH,EAAS7a,MAAM,CAAEgb,IACnCH,CAAQ,CAACG,EAAE,CAAC1O,YAAY,CAAC,aAAc,YACvCuO,CAAQ,CAACG,EAAE,CAAC1O,YAAY,CAAC,mBAAoB,CAAC,wBAAwB,EAAE3J,EAAE,CAAC,CAE/E,CAGA,IAAMsY,EAAgBC,WAnExB,IAAMC,EAAMpM,EAAetD,UAAU,MAAO,CAC1C6H,MAAO,YACP,YAAa,SACb,cAAe,OACf,gBAAiB,gBACnB,GACM8H,EAAKrM,EAAetD,UAAU,KAAM,CACxC6H,MAAO,YACT,GAGA,OADA6H,EAAIpP,WAAW,CAACqP,GACTD,CACT,IA0DIR,CAAc,CAAChY,EAAE,CAACsK,YAAY,CAACoO,SAvDXtS,CAAO,EAE7B,IAAMuS,EAAKvM,EAAetD,UAAU,KAAM,CACxC,cAAe,OACf6H,MAAO,sBACT,GAIA,OAFAgI,EAAGvP,WAAW,CAAChD,GAERuS,CACT,EA6CkDL,GAAgBL,GAC9DrG,IACF,CAEI1G,GAAY,mBAAOA,GACrBA,GAEJ,EAuNyBgM,IAErB0B,WA7dF,IAAMZ,EAAiBzM,EAAUzC,UAAU,0BAE3C,IAAK,IAAI9I,EAAI,EAAGA,EAAIgY,EAAe3a,MAAM,CAAE2C,IAAK,CAE9C,IAAM6Y,EAAY/P,SAASQ,aAAa,CAAC,MAEzC0O,CAAc,CAAChY,EAAE,CAAC6L,UAAU,CAACvB,YAAY,CAACuO,EAAWb,CAAc,CAAChY,EAAE,EAEtE6Y,EAAUzP,WAAW,CAAC4O,CAAc,CAAChY,EAAE,CACzC,CACF,EAmdiB8I,UAtDf+J,GAA8B,qDAAsD,qBAAsBV,IAG1GU,GAA8B,eAAgB,qBAAsBmB,IAZpEnB,GAA8B,oDAAqD,QAASN,IAqE1FtE,EAAsBnF,UAEtByF,EAAQzF,UAERsG,EAAwBtG,UAIxBgQ,SArfyBtN,CAAQ,EAEnCuN,EADkCrN,gBAAgB,CAAC,kBAClCN,OAAO,CAAC4N,IACvBA,EAAMrP,YAAY,CAAC,MAAO,GAC5B,EACF,EAgfwBb,UAGpB2G,EAAsB3G,UACtByH,EAAkBzH,SACpB,CAEIE,EAAgC,IAAhCA,OAAO6I,OAAO,CAACoH,YAAY,CAC7BtB,IAEA7O,SAASoK,gBAAgB,CAAC,eAAgByE,EAE9C,I"}