{"version":3,"file":"waze-forms.js","names":["define","_exports","_component","_component2","_object","_service","_controller","_templateFactory","Object","defineProperty","value","default","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","padStart","number","toString","formatDate","date","getFullYear","getMonth","getDate","WazeCopyLogsButton","static","dt7948","g","this","prototype","service","siteSettings","i","inject","topic","openLogsUrl","logsBaseUrl","waze_logs_and_stats_domain","firstPostInTopic","model","postStream","posts","find","post","firstPost","logsUrl","baseUrl","username","postCreationDate","postDate","Date","dayBeforePostDate","setDate","dayAfterPostDate","URL","searchParams","append","buildLogsUrl","created_at","window","open","n","action","setComponentTemplate","__WEBPACK_EXTERNAL_MODULE_discourse_models_group_d8d485d8__","__WEBPACK_EXTERNAL_MODULE_I18n__","__webpack_require__","exports","definition","key","o","enumerable","get","obj","prop","hasOwnProperty","call","__webpack_exports__","d","A","group_namespaceObject","y","x","external_I18n_namespaceObject","external_I18n_x","waze_forms_settings","setupComponent","_a","_b","_c","labels","translations","en","js","waze","forms","create_topic_label","options","keys","map","name","t","set","findAll","then","groups","group","currentGroups","category","custom_fields","groups_allowed_to_open_logs","split","actions","changeGroupsAllowedToOpenLogs","newGroups","assign","join","__WEBPACK_EXTERNAL_MODULE__ember_object_60179f9a__","__WEBPACK_EXTERNAL_MODULE_discourse_lib_url_7cfbca40__","__WEBPACK_EXTERNAL_MODULE__components_waze_copy_logs_button_37428dd1__","__WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__","__WEBPACK_EXTERNAL_MODULE_discourse_common_lib_deprecated_1dca7e78__","__WEBPACK_EXTERNAL_MODULE_discourse_components_d_navigation_29e7ebfd__","__webpack_modules__","__unused_webpack_module","createContextualFragment","html_impl_1","range","html","unwrapHtml","setAction","url_sanitizer_1","form","url","sanitizedUrl","unwrapUrlOrSanitize","undefined","register","resource_url_impl_1","container","scriptURL","unwrapResourceUrl","createInertFragment","range_1","dirtyHtml","doc","document","implementation","createHTMLDocument","createRange","selectNode","body","temporarySafeHtml","createHtmlInternal","setSrc","setTextContent","script_impl_1","setNonceForScriptElement","script","nonce","win","querySelector","getAttribute","getScriptNonceFromWindow","ownerDocument","defaultView","setAttribute","v","textContent","unwrapScript","omitNonce","src","__esModule","modalStyles","backgroundIframeStyles","objectUrlFromScript","appendPathSegment","replaceFragment","appendParams","trustedResourceUrl","templateObj","arguments","length","createResourceUrlInternal","toLowerCase","encodeURIComponent","trustedUrl","params","test","Error","separator","forEach","values","Array","String","BEFORE_FRAGMENT_REGEXP","fragment","urlString","exec","pathSegment","originalUrl","urlSegments","basePath","paramVals","fragVal","pathSeparator","charAt","safeScript","scriptContent","blob","Blob","type","createObjectURL","setHref","useEl","scheme","extractScheme","parsedUrl","e","protocol","restrictivelySanitizeUrl","sanitizeJavaScriptUrl","ALLOWED_SCHEMES","parsedScheme","indexOf","sanitizeHtmlToFragment","sanitizeHtmlAssertUnchanged","sanitizeHtml","HtmlSanitizerImpl","secrets_1","inert_fragment_1","no_clobber_1","default_sanitizer_table_1","sanitizer_table_1","constructor","sanitizerTable","token","changes","ensureTokenIsValid","sanitizeAssertUnchanged","sanitizedHtml","sanitize","fakeRoot","createElement","appendChild","sanitizeToFragment","serializedNewTree","XMLSerializer","serializeToString","slice","lastIndexOf","dirtyFragment","treeWalker","createTreeWalker","nodeFilter","currentNode","nextNode","sanitizedFragment","createDocumentFragment","sanitizedParent","sanitizedNode","isText","sanitizeTextNode","isElement","sanitizeElementNode","firstChild","nextSibling","parentNode","textNode","createTextNode","data","elementNode","elementName","getNodeName","newNode","dirtyAttributes","attributes","policy","getAttributePolicy","satisfiesAllConditions","conditions","policyAction","AttributePolicyAction","KEEP","KEEP_AND_SANITIZE_URL","sanitizedAttrUrl","recordChange","KEEP_AND_NORMALIZE","KEEP_AND_SANITIZE_STYLE","DROP","node","nodeName","isAllowedElement","errorMessage","push","attrs","attrName","expectedValues","getNamedItem","has","el","defaultHtmlSanitizer","defaultSanitizerTable","secretToken","safeAttrPrefix","attribute_impl_1","templ","attrPrefix","createAttributePrefixInternal","globalEval","fetchResourceUrl","fetch_1","trustedScript","result","eval","ELEMENT_POLICIES","Map","Set","GLOBAL_ATTRIBUTE_POLICIES","SanitizerTable","UNSAFE_SVG_ATTRIBUTES","svg","attr","objectUrlFromSafeSource","source","MediaSource","mimeType","match","isSafeImageMimeType","isSafeVideoMimeType","isSafeAudioMimeType","isSafeMimeType","SECURITY_SENSITIVE_ATTRIBUTES","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","apply","IncorrectContentTypeError","style_sheet_impl_1","typeName","contentType","super","u","init","response","fetch","headers","text","createScriptInternal","styleSheet","createStyleSheetInternal","setFormaction","button","formAction","safeScriptWithArgs","valueAsScript","concatScripts","JSON","stringify","replace","scripts","_len","argValues","_key","__generator","f","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","op","TypeError","pop","WazeForms","ModalCommand","AuthScheme","AuthCookie","styles_1","cookie_1","dom_1","safevalues_1","ELEMENT_ID_PREFIX","MODAL_CONTAINER_ID","concat","MODAL_IFRAME_ID","COPY_MESSAGE_POPUP_ID","DEFAULT_ENV_URL_PREFIX","ENV_PREFIX","il","na","row","stg","config","_this","commands","startForm","formData","modalIframe","_d","topIframe","dismissForm","createBackgroundIframe","topIframeDoc","contentDocument","contentWindow","addModalIframe","registerCommands","addEventListener","handleEscapeKey","removeEventListener","removeChild","keyCode","registerCommand","POST_SUBMIT","onSubmit","GET_AUTH_PARAMS","getAuthParams","ON_CLOSE","onClose","ON_CANCEL","onCancel","RESIZE_FORM","resizeForm","COPY_TO_CLIPBOARD","copyToClipboardPopup","event","executeCommand","cmd","args","ports","popupText","popUpElement","safeElement","setInnerHtml","style","opacity","setTimeout","docBodyElement","containerIFrameEl","setProperty","zIndex","zIndexSmallScreen","styleEl","head","onload","backgroundEl","formContainerEl","classList","toggle","addHeaderOffsetSmallScreen","formIFrameEl","formUrl","href","popUpMessageEl","cancelCallback","submitCallback","closeCallback","env","authParams","fn","bind","port","console","error","postMessage","r","cookies","parse","cookie","RT_SESSION","REALTIME","ADS_SESSION","ADS","height","width","containerEl","hostname","prefix","path","locale","property","channel","additionalParams","parseFromString","parseXml","parseHtml","parser","content","xml","createNodeIterator","NodeFilter","SHOW_ALL","HTMLElement","SVGElement","input","unwrapStyleSheet","isStyleSheet","SafeStyleSheet","StyleSheetImpl","privateDoNotAccessOrElseWrappedStyleSheet","SafeScript","isScript","EMPTY_SCRIPT","TrustedResourceUrl","isResourceUrl","SafeHtml","isHtml","EMPTY_HTML","unwrapAttributePrefix","SafeAttributePrefix","safeStyleSheet","concatStyleSheets","HtmlSanitizerBuilder","scriptUrlToHtml","scriptToHtml","joinHtmls","htmlEscape","concatHtmls","attribute_builders_1","html_builders_1","html_sanitizer_1","html_sanitizer_builder_1","resource_url_builders_1","script_builders_1","style_sheet_builders_1","target","features","TEST_ONLY","getTrustedTypesPolicy","getTrustedTypes","trustedTypesPolicy","trustedTypesPolicyName","trustedTypes","createPolicy","createHTML","s","createScript","createScriptURL","resetDefaults","setTrustedTypesPolicyName","elem","importScripts","createShared","create","Worker","SharedWorker","scope","_len2","urls","_key2","checkFrozen","isFrozen","raw","checkTranspiled","assertIsTemplateObject","numExprs","isArray","isTranspiled","frozenTSA","isTemplateObject","tag","trusted_types_1","HtmlImpl","privateDoNotAccessOrElseWrappedHtml","createTrustedHtmlOrPolyfill","trusted","GlobalTrustedHTML","TrustedHTML","noinlineHtml","emptyHTML","isHTML","AttributePrefixImpl","privateDoNotAccessOrElseWrappedAttrPrefix","str","opt","pairs","dec","decode","pair","index","substring","trim","val","tryDecode","serialize","enc","encode","fieldContentRegExp","maxAge","isNaN","isFinite","Math","floor","domain","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","setSrcdoc","iframe","srcdoc","setHrefAndRel","SAFE_URL_REL_VALUES","link","rel","nodeType","ScriptImpl","privateDoNotAccessOrElseWrappedScript","createTrustedScriptOrPolyfill","GlobalTrustedScript","TrustedScript","noinlineScript","emptyScript","isCustomElement","allowedElements","elementPolicies","allowedGlobalAttributes","globalAttributePolicies","globallyAllowedAttributePrefixes","attributeName","elementPolicy","globalPolicy","some","FORBIDDEN_CUSTOM_ELEMENT_NAMES","toUpperCase","execCommandInsertHtml","execCommand","write","command","commandString","valueArgument","anchor","calledBuild","onlyAllowElements","elementSet","allowedElementPolicies","element","add","allowCustomElement","allowedAttributes","attribute","onlyAllowAttributes","attributeSet","originalElementPolicy","entries","newElementPolicy","attributePolicy","allowDataAttributes","allowStyleAttributes","allowClassAttributes","allowIdAttributes","allowIdReferenceAttributes","build","setPrefixedAttribute","buildPrefixedAttributeSetter","insertAdjacentHtml","setOuterHtml","attrPrefixes","prefixes","attrLower","every","p","throwIfScriptOrStyle","tagName","elOrRoot","innerHTML","parent","parentElement","outerHTML","position","tagContext","insertAdjacentHTML","_len3","otherPrefixes","_key3","sheets","area","ResourceUrlImpl","privateDoNotAccessOrElseWrappedResourceUrl","GlobalTrustedScriptURL","TrustedScriptURL","noinlineUrl","trustedScriptURL","isScriptURL","baseEl","__createBinding","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","__setModuleDefault","__importStar","mod","safeWorker","safeWindow","safeUrl","safeServiceWorkerContainer","safeRange","safeLocation","safeGlobal","safeDomParser","safeDocument","safeSvgUseEl","safeSvgEl","safeStyleEl","safeScriptEl","safeObjectEl","safeLinkEl","safeInputEl","safeIframeEl","safeFormEl","safeEmbedEl","safeButtonEl","safeBaseEl","safeAreaEl","safeAnchorEl","WazeForms_1","loc","embedEl","htmlEscapedString","htmlEscapeToString","preserveSpaces","preserveNewlines","preserveTabs","htmls","separatorHtml","unwrappedScript","stringTag","defer","async","setData","__webpack_module_cache__","moduleId","cachedModule","module","object_namespaceObject","computed","url_namespaceObject","url_x","waze_copy_logs_button_namespaceObject","waze_copy_logs_button_x","plugin_api_namespaceObject","plugin_api_x","withPluginApi","deprecated_namespaceObject","deprecated_x","withSilencedDeprecations","d_navigation_namespaceObject","d_navigation_x","CUSTOM_FIELDS_KEYS","wazeForms","location","host","endsWith","topicId","routeTo","canUserOpenLogs","user","userGroupNames","allowedGroups","filter","includes","legacyCustomizePostMenu","api","attachWidgetAction","lookup","addPostMenuButton","getCurrentUser","icon","title","waze_forms_initializer","initialize","_container","_app","silencedKey","registerValueTransformer","_ref","dag","context","before","firstButtonKey","customizePostMenu","modifyClass","pluginId","categories","_super","parentView","classNames","reopen","willRender","formLabelValue","createTopicLabel","documentElement","clickCreateTopicButton","_this2","discourseCategorySlug","slug","dark","catch"],"sources":["discourse/plugins/waze-forms/discourse/components/waze-copy-logs-button.js","discourse/plugins/waze-forms/discourse/connectors/category-custom-settings/waze-forms-settings.js","discourse/plugins/waze-forms/discourse/initializers/waze-forms-initializer.js","discourse/plugins/waze-forms/discourse/templates/connectors/category-custom-settings/waze-forms-settings.js"],"sourcesContent":["define(\"discourse/plugins/waze-forms/discourse/components/waze-copy-logs-button\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@ember/controller\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _controller, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DButton\n    ...attributes\n    @action={{this.openLogsUrl}}\n    @icon=\"w-doc\"\n    @title=\"js.waze.forms.open_logs_button.description\"\n  />\n  */\n  {\n    \"id\": \"TYn1EmFR\",\n    \"block\": \"[[[8,[39,0],[[17,1]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,0,[\\\"openLogsUrl\\\"]],\\\"w-doc\\\",\\\"js.waze.forms.open_logs_button.description\\\"]],null]],[\\\"&attrs\\\"],false,[\\\"d-button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-forms/discourse/components/waze-copy-logs-button.hbs\",\n    \"isStrictMode\": false\n  });\n  function padStart(number) {\n    return number.toString().padStart(2, \"0\");\n  }\n  function formatDate(date) {\n    return `${date.getFullYear()}-${padStart(date.getMonth() + 1)}-${padStart(date.getDate())}`;\n  }\n  function buildLogsUrl(baseUrl, username, postCreationDate) {\n    const postDate = new Date(postCreationDate);\n    const dayBeforePostDate = new Date(postDate);\n    dayBeforePostDate.setDate(postDate.getDate() - 1);\n    const dayAfterPostDate = new Date(postDate);\n    dayAfterPostDate.setDate(postDate.getDate() + 1);\n    const logsUrl = new URL(baseUrl);\n    logsUrl.searchParams.append(\"start\", formatDate(dayBeforePostDate));\n    logsUrl.searchParams.append(\"end\", formatDate(dayAfterPostDate));\n    logsUrl.searchParams.append(\"username\", username);\n    return logsUrl;\n  }\n  class WazeCopyLogsButton extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"topic\", [_controller.inject]))();\n    #topic = (() => (dt7948.i(this, \"topic\"), void 0))();\n    openLogsUrl() {\n      const logsBaseUrl = this.siteSettings.waze_logs_and_stats_domain;\n      const firstPostInTopic = this.topic.model.postStream.posts.find(post => post.firstPost);\n      const logsUrl = buildLogsUrl(logsBaseUrl, firstPostInTopic.username, firstPostInTopic.created_at);\n      window.open(logsUrl);\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"openLogsUrl\", [_object.action]))();\n  }\n  _exports.default = WazeCopyLogsButton;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, WazeCopyLogsButton);\n});","define(\"discourse/plugins/waze-forms/discourse/connectors/category-custom-settings/waze-forms-settings\", [\"exports\", \"discourse/models/group\", \"I18n\"], function (_exports, __WEBPACK_EXTERNAL_MODULE_discourse_models_group_d8d485d8__, __WEBPACK_EXTERNAL_MODULE_I18n__) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /******/ // The require scope\n  /******/var __webpack_require__ = {};\n  /******/\n  /************************************************************************/\n  /******/ /* webpack/runtime/define property getters */\n  /******/\n  (() => {\n    /******/ // define getter functions for harmony exports\n    /******/__webpack_require__.d = (exports, definition) => {\n      /******/for (var key in definition) {\n        /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n          /******/Object.defineProperty(exports, key, {\n            enumerable: true,\n            get: definition[key]\n          });\n          /******/\n        }\n        /******/\n      }\n      /******/\n    };\n    /******/\n  })();\n  /******/\n  /******/ /* webpack/runtime/hasOwnProperty shorthand */\n  /******/\n  (() => {\n    /******/__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n    /******/\n  })();\n  /******/\n  /************************************************************************/\n  var __webpack_exports__ = {};\n\n  // EXPORTS\n  __webpack_require__.d(__webpack_exports__, {\n    A: () => (/* binding */waze_forms_settings)\n  });\n  ; // external \"discourse/models/group\"\n  var x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var y = x => () => x;\n  const group_namespaceObject = x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_models_group_d8d485d8__[\"default\"]\n  });\n  ; // external \"I18n\"\n  var external_I18n_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var external_I18n_y = x => () => x;\n  const external_I18n_namespaceObject = external_I18n_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_I18n__[\"default\"]\n  });\n  ; // ./src/plugin/assets/javascripts/discourse/connectors/category-custom-settings/waze-forms-settings.ts\n  // @ts-expect-error no types\n\n  /* harmony default export */\n  const waze_forms_settings = {\n    setupComponent() {\n      var _a, _b, _c;\n      const labels =\n      // @ts-expect-error no property\n      ((_b = (_a = external_I18n_namespaceObject[\"default\"].translations.en.js.waze) === null || _a === void 0 ? void 0 : _a.forms) === null || _b === void 0 ? void 0 : _b.create_topic_label) || {};\n      const options = Object.keys(labels).map(id => ({\n        id,\n        name: external_I18n_namespaceObject[\"default\"].t(`js.waze.forms.create_topic_label.${id}`) || labels[id]\n      }));\n      this.set(\"wazeFormsComposeButtonOptions\", options);\n      group_namespaceObject[\"default\"].findAll().then(groups => {\n        this.set(\"groups\", groups.map(group => group.name));\n      });\n      const currentGroups = (_c = this.category.custom_fields) === null || _c === void 0 ? void 0 : _c.groups_allowed_to_open_logs;\n      if (currentGroups) {\n        this.set(\"groupsAllowedToOpenLogs\", currentGroups.split(\"|\"));\n      } else {\n        this.set(\"groupsAllowedToOpenLogs\", []);\n      }\n    },\n    actions: {\n      changeGroupsAllowedToOpenLogs: function (newGroups) {\n        this.set(\"groupsAllowedToOpenLogs\", newGroups);\n        this.category.set(\"custom_fields\", Object.assign(Object.assign({}, this.category.custom_fields), {\n          groups_allowed_to_open_logs: newGroups.join(\"|\")\n        }));\n      }\n    }\n  };\n  var __webpack_exports__default = _exports.default = __webpack_exports__.A;\n});","define(\"discourse/plugins/waze-forms/discourse/initializers/waze-forms-initializer\", [\"exports\", \"@ember/object\", \"discourse/lib/url\", \"I18n\", \"discourse/plugins/waze-forms/discourse/components/waze-copy-logs-button\", \"discourse/lib/plugin-api\", \"discourse-common/lib/deprecated\", \"discourse/components/d-navigation\"], function (_exports, __WEBPACK_EXTERNAL_MODULE__ember_object_60179f9a__, __WEBPACK_EXTERNAL_MODULE_discourse_lib_url_7cfbca40__, __WEBPACK_EXTERNAL_MODULE_I18n__, __WEBPACK_EXTERNAL_MODULE__components_waze_copy_logs_button_37428dd1__, __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__, __WEBPACK_EXTERNAL_MODULE_discourse_common_lib_deprecated_1dca7e78__, __WEBPACK_EXTERNAL_MODULE_discourse_components_d_navigation_29e7ebfd__) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /******/var __webpack_modules__ = {\n    /***/247: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.createContextualFragment = void 0;\n      const html_impl_1 = __webpack_require__(5971);\n      /** Safely creates a contextualFragment. */\n      function createContextualFragment(range, html) {\n        return range.createContextualFragment((0, html_impl_1.unwrapHtml)(html));\n      }\n      exports.createContextualFragment = createContextualFragment;\n\n      /***/\n    }),\n    /***/249: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setAction = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Action attribute from the given Url.\n       */\n      function setAction(form, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          form.action = sanitizedUrl;\n        }\n      }\n      exports.setAction = setAction;\n\n      /***/\n    }),\n    /***/426: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.register = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /** Safely registers a service worker by URL */\n      function register(container, scriptURL, options) {\n        return container.register((0, resource_url_impl_1.unwrapResourceUrl)(scriptURL), options);\n      }\n      exports.register = register;\n\n      /***/\n    }),\n    /***/792: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.createInertFragment = void 0;\n      const range_1 = __webpack_require__(247);\n      const html_impl_1 = __webpack_require__(5971);\n      /**\n       * Returns a fragment that contains the parsed HTML for `dirtyHtml` without\n       * executing any of the potential payload.\n       */\n      function createInertFragment(dirtyHtml) {\n        // We create a new document to ensure the nodes stay detached\n        const doc = document.implementation.createHTMLDocument('');\n        const range = doc.createRange();\n        range.selectNode(doc.body);\n        // This call is only used to create an inert tree for the sanitizer to\n        // further process and is never returned directly to the caller. We can't use\n        // a reviewed conversion in order to avoid an import loop.\n        const temporarySafeHtml = (0, html_impl_1.createHtmlInternal)(dirtyHtml);\n        return (0, range_1.createContextualFragment)(range, temporarySafeHtml);\n      }\n      exports.createInertFragment = createInertFragment;\n\n      /***/\n    }),\n    /***/832: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setSrc = exports.setTextContent = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      const script_impl_1 = __webpack_require__(7253);\n      /** Returns CSP nonce, if set for any script tag. */\n      function getScriptNonceFromWindow(win) {\n        var _a;\n        const doc = win.document;\n        // document.querySelector can be undefined in non-browser environments.\n        const script = (_a = doc.querySelector) === null || _a === void 0 ? void 0 : _a.call(doc, 'script[nonce]');\n        if (script) {\n          // Try to get the nonce from the IDL property first, because browsers that\n          // implement additional nonce protection features (currently only Chrome) to\n          // prevent nonce stealing via CSS do not expose the nonce via attributes.\n          // See https://github.com/whatwg/html/issues/2369\n          return script['nonce'] || script.getAttribute('nonce') || '';\n        }\n        return '';\n      }\n      /** Propagates CSP nonce to dynamically created scripts. */\n      function setNonceForScriptElement(script) {\n        const win = script.ownerDocument && script.ownerDocument.defaultView;\n        const nonce = getScriptNonceFromWindow(win || window);\n        if (nonce) {\n          script.setAttribute('nonce', nonce);\n        }\n      }\n      /** Sets textContent from the given SafeScript. */\n      function setTextContent(script, v, options) {\n        script.textContent = (0, script_impl_1.unwrapScript)(v);\n        if (options === null || options === void 0 ? void 0 : options.omitNonce) return;\n        setNonceForScriptElement(script);\n      }\n      exports.setTextContent = setTextContent;\n      /** Sets the Src attribute using a TrustedResourceUrl */\n      function setSrc(script, v, options) {\n        script.src = (0, resource_url_impl_1.unwrapResourceUrl)(v);\n        if (options === null || options === void 0 ? void 0 : options.omitNonce) return;\n        setNonceForScriptElement(script);\n      }\n      exports.setSrc = setSrc;\n\n      /***/\n    }),\n    /***/1170: (/***/(__unused_webpack_module, exports) => {\n      exports.__esModule = true;\n      exports.modalStyles = exports.backgroundIframeStyles = void 0;\n      exports.backgroundIframeStyles = \"\\n#wz-forms-modal-iframe-container {\\n    border: 0;\\n    vertical-align: bottom;\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    width: 100%;\\n    height: 100%;\\n    background-color: transparent;\\n\\n    z-index: var(--waze-forms-z-index, 1000);\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  #wz-forms-modal-iframe-container {\\n    z-index: var(--waze-forms-z-index-small-screen, var(--waze-forms-z-index, 1000));\\n  }\\n}\";\n      exports.modalStyles = \"\\nbody {\\n  margin: 0;\\n  overflow: hidden;\\n}\\n#wz-forms-modal-background {\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  bottom: 0;\\n  right: 0;\\n\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n\\n  background-color: rgba(0, 0, 0, 0.55);\\n}\\n\\n#wz-forms-modal-container {\\n  height: 75%;\\n  width: 560px;\\n}\\n\\n#wz-forms-modal-iframe {\\n  border: 0;\\n  border-radius: 8px;\\n  height: 100%;\\n  width: 100%;\\n  background-color: transparent;\\n  box-shadow: 0 0 10px 4px rgba(60, 64, 67, .15);\\n}\\n\\n#wz-forms-modal-copy-to-clipboard-popup {\\n  font-family: 'Rubik', sans-serif;\\n  font-size: 14px;\\n  color: #f2f3f4;\\n  padding: 8px 10px;\\n  background-color: rgba(0, 0, 0, 0.7);\\n  border-radius: 17px;\\n  position: fixed;\\n  bottom: 5%;\\n  left: 50%;\\n  opacity: 0;\\n  transform: translateX(-50%);\\n  transition: opacity 0.3s ease;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  #wz-forms-modal-container {\\n    width: 100%;\\n    height: calc(100% - var(--header-height-small-screen, 0));\\n    margin-top: var(--header-height-small-screen, 0);\\n  }\\n\\n  .wz-forms-modal-container--add-header-offset-small-screen {\\n    --header-height-small-screen: 56px;\\n  }\\n\\n  #wz-forms-modal-iframe {\\n    border-radius: 0;\\n  }\\n}\\n\";\n\n      /***/\n    }),\n    /***/1204: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.objectUrlFromScript = exports.appendPathSegment = exports.replaceFragment = exports.appendParams = exports.trustedResourceUrl = void 0;\n      __webpack_require__(5723);\n      const resource_url_impl_1 = __webpack_require__(8402);\n      const script_impl_1 = __webpack_require__(7253);\n      const string_literal_1 = __webpack_require__(5890);\n      /**\n       * Check whether the base url contains a valid origin,\n       *\n       * A string for an origin must contain only alphanumeric or any of the\n       * following: `-.:`, and must not be an IP address. Remember that, as per the\n       * documentation for TrustedResourceUrl, the origin must be trustworthy.\n       *\n       * @param base The base url that contains an origin.\n       */\n      function hasValidOrigin(base) {\n        if (!(/^https:\\/\\//.test(base) || /^\\/\\//.test(base))) {\n          return false;\n        }\n        const originStart = base.indexOf('//') + 2;\n        const originEnd = base.indexOf('/', originStart);\n        // If the base url only contains the prefix (e.g. //), or the slash\n        // for the origin is right after the prefix (e.g. ///), the origin is\n        // missing.\n        if (originEnd <= originStart) {\n          throw new Error(`Can't interpolate data in a url's origin, ` + `Please make sure to fully specify the origin, terminated with '/'.`);\n        }\n        const origin = base.substring(originStart, originEnd);\n        if (!/^[0-9a-z.:-]+$/i.test(origin)) {\n          throw new Error('The origin contains unsupported characters.');\n        }\n        if (!/^[^:]*(:[0-9]+)?$/i.test(origin)) {\n          throw new Error('Invalid port number.');\n        }\n        if (!/(^|\\.)[a-z][^.]*$/i.test(origin)) {\n          throw new Error('The top-level domain must start with a letter.');\n        }\n        return true;\n      }\n      /**\n       * Check whether the base url contains a valid about url at its beginning.\n       *\n       * An about url is either exactly 'about:blank' or 'about:blank#<str>' where\n       * <str> can be an arbitrary string.\n       *\n       * @param base The base url.\n       */\n      function isValidAboutUrl(base) {\n        if (!/^about:blank/.test(base)) {\n          return false;\n        }\n        if (base !== 'about:blank' && !/^about:blank#/.test(base)) {\n          throw new Error('The about url is invalid.');\n        }\n        return true;\n      }\n      /**\n       * Check whether the base url contains a valid path start at its beginning.\n       *\n       * A valid path start is either a '/' or a '/' followed by at least one\n       * character that is not '/' or '\\'.\n       *\n       * @param base The base url.\n       */\n      function isValidPathStart(base) {\n        if (!/^\\//.test(base)) {\n          return false;\n        }\n        if (base === '/' || base.length > 1 && base[1] !== '/' && base[1] !== '\\\\') {\n          return true;\n        }\n        throw new Error('The path start in the url is invalid.');\n      }\n      /**\n       * Builds TrustedResourceUrl from a template literal.\n       *\n       * This factory is a template literal tag function. It should be called with\n       * a template literal, with or without embedded expressions. For example,\n       *               trustedResourceUrl`//example.com/${bar}`;\n       * or\n       *               trustedResourceUrl`//example.com`;\n       *\n       * When this function is called with a template literal without any embedded\n       * expressions, the template string may contain anything as the whole URL is\n       * a compile-time string constant.\n       *\n       * When this function is called with a template literal that contains embedded\n       * expressions, the template must start with one of the following:\n       * - `https://<origin>/`\n       * - `//<origin>/`\n       * - `/<pathStart>`\n       * - `about:blank`\n       * - `data:`\n       *\n       * `<origin>` must contain only alphanumeric or any of the following: `-.:`.\n       * Remember that, as per the documentation for TrustedResourceUrl, the origin\n       * must be trustworthy. An origin of \"example.com\" could be set with this\n       * method, but would tie the security of your site to the security of\n       * example.com. Similarly, formats that potentially cover redirects hosted\n       * on a trusted origin are problematic, since that could lead to untrusted\n       * origins.\n       *\n       * `<pathStart>` is either an empty string, or a non empty string that does not\n       * start with '/' or '\\'.\n       * In other words, `/<pathStart>` is either a '/' or a\n       * '/' followed by at least one character that is not '/' or '\\'.\n       *\n       * `data:` (data URL) does not allow embedded expressions in the template\n       * literal input.\n       *\n       * All embedded expressions are URL encoded when they are interpolated. Do not\n       * embed expressions that are already URL encoded as they will be double encoded\n       * by the builder.\n       *\n       * @param templateObj This contains the literal part of the template literal.\n       * @param rest This represents the template's embedded expressions.\n       */\n      function trustedResourceUrl(templateObj) {\n        // Check if templateObj is actually from a template literal.\n        if (false) {}\n        if ((arguments.length <= 1 ? 0 : arguments.length - 1) === 0) {\n          return (0, resource_url_impl_1.createResourceUrlInternal)(templateObj[0]);\n        }\n        const base = templateObj[0].toLowerCase();\n        if (false) {}\n        let url = templateObj[0];\n        for (let i = 0; i < (arguments.length <= 1 ? 0 : arguments.length - 1); i++) {\n          url += encodeURIComponent(i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1]) + templateObj[i + 1];\n        }\n        return (0, resource_url_impl_1.createResourceUrlInternal)(url);\n      }\n      exports.trustedResourceUrl = trustedResourceUrl;\n      /**\n       * Creates a new TrustedResourceUrl with params added to the URL's search\n       * parameters.\n       *\n       * @param params What to add to the URL. Parameters with value `null` or\n       * `undefined` are skipped. Both keys and values will be encoded. Do not pass\n       * pre-encoded values as this will result them being double encoded. If the\n       * value is an array then the same parameter is added for every element in the\n       * array.\n       */\n      function appendParams(trustedUrl, params) {\n        let url = (0, resource_url_impl_1.unwrapResourceUrl)(trustedUrl).toString();\n        if (/#/.test(url)) {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n        let separator = /\\?/.test(url) ? '&' : '?';\n        // for-of has a big polyfill.\n        // tslint:disable-next-line:ban-iterable-foreach\n        params.forEach((value, key) => {\n          const values = value instanceof Array ? value : [value];\n          for (let i = 0; i < values.length; i++) {\n            const v = values[i];\n            if (v === null || v === undefined) {\n              continue;\n            }\n            url += separator + encodeURIComponent(key) + '=' + encodeURIComponent(String(v));\n            separator = '&';\n          }\n        });\n        return (0, resource_url_impl_1.createResourceUrlInternal)(url);\n      }\n      exports.appendParams = appendParams;\n      const BEFORE_FRAGMENT_REGEXP = /[^#]*/;\n      /**\n       * Creates a new TrustedResourceUrl based on an existing one but with the\n       * addition of a fragment (the part after `#`). If the URL already has a\n       * fragment, it is replaced with the new one.\n       * @param fragment The fragment to add to the URL, verbatim, without the leading\n       * `#`. No additional escaping is applied.\n       */\n      function replaceFragment(trustedUrl, fragment) {\n        const urlString = (0, resource_url_impl_1.unwrapResourceUrl)(trustedUrl).toString();\n        return (0, resource_url_impl_1.createResourceUrlInternal)(BEFORE_FRAGMENT_REGEXP.exec(urlString)[0] + '#' + fragment);\n      }\n      exports.replaceFragment = replaceFragment;\n      /**\n       * Creates a new TrustedResourceUrl based on an existing one with a single\n       * subpath segment added to the end of the existing path and prior to any query\n       * parameters and/or fragments that already exist in the URL.\n       * @param pathSegment The singular sub path being added to the URL. Do not pass\n       *     a pre-encoded value as this will result in it being double encoded.\n       */\n      function appendPathSegment(trustedUrl, pathSegment) {\n        const originalUrl = (0, resource_url_impl_1.unwrapResourceUrl)(trustedUrl).toString();\n        const urlSegments = originalUrl.split(/\\?|#/);\n        const basePath = urlSegments[0];\n        const paramVals = /\\?/.test(originalUrl) ? urlSegments[1] : undefined;\n        const fragVal = /#/.test(originalUrl) ? paramVals ? urlSegments[2] : urlSegments[1] : undefined;\n        const pathSeparator = basePath.charAt(basePath.length - 1) === '/' ? '' : '/';\n        let url = basePath + pathSeparator + encodeURIComponent(pathSegment);\n        if (paramVals !== undefined) {\n          url += '?' + paramVals;\n        }\n        if (fragVal !== undefined) {\n          url += '#' + fragVal;\n        }\n        return (0, resource_url_impl_1.createResourceUrlInternal)(url);\n      }\n      exports.appendPathSegment = appendPathSegment;\n      /**\n       * Creates a `TrustedResourceUrl` by generating a `Blob` from a\n       * `SafeScript` and then calling `URL.createObjectURL` with that `Blob`.\n       *\n       * Caller must call `URL.revokeObjectUrl()` on the stringified url to\n       * release the underlying `Blob`.\n       */\n      function objectUrlFromScript(safeScript) {\n        const scriptContent = (0, script_impl_1.unwrapScript)(safeScript).toString();\n        const blob = new Blob([scriptContent], {\n          type: 'text/javascript'\n        });\n        return (0, resource_url_impl_1.createResourceUrlInternal)(URL.createObjectURL(blob));\n      }\n      exports.objectUrlFromScript = objectUrlFromScript;\n\n      /***/\n    }),\n    /***/1205: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setHref = void 0;\n      __webpack_require__(5723);\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Href attribute from the given URL.\n       * javascript: and data: URL are blocked as they can lead to XSS and the <use>\n       * element only loads resources same-origin.\n       */\n      function setHref(useEl, url) {\n        const scheme = (0, url_sanitizer_1.extractScheme)(url);\n        if (scheme === 'javascript:' || scheme === 'data:') {\n          if (false) {}\n          return;\n        }\n        // Note that the href property is read-only, so setAttribute must be used.\n        useEl.setAttribute('href', url);\n      }\n      exports.setHref = setHref;\n\n      /***/\n    }),\n    /***/1318: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.restrictivelySanitizeUrl = exports.unwrapUrlOrSanitize = exports.sanitizeJavaScriptUrl = exports.extractScheme = void 0;\n      /**\n       * @fileoverview Provides functions to enforce the SafeUrl contract at the sink\n       * level.\n       */\n      __webpack_require__(5723);\n      /**\n       * Extracts the scheme from the given URL. If the URL is relative, https: is\n       * assumed.\n       * @param url The URL to extract the scheme from.\n       * @return the URL scheme.\n       */\n      function extractScheme(url) {\n        let parsedUrl;\n        try {\n          parsedUrl = new URL(url);\n        } catch (e) {\n          // According to https://url.spec.whatwg.org/#constructors, the URL\n          // constructor with one parameter throws if `url` is not absolute. In this\n          // case, we are sure that no explicit scheme (javascript: ) is set.\n          // This can also be a URL parsing error, but in this case the URL won't be\n          // run anyway.\n          return 'https:';\n        }\n        return parsedUrl.protocol;\n      }\n      exports.extractScheme = extractScheme;\n      // We can't use an ES6 Set here because gws somehow depends on this code and\n      // doesn't want to pay the cost of a polyfill.\n      const ALLOWED_SCHEMES = ['data:', 'http:', 'https:', 'mailto:', 'ftp:'];\n      /**\n       * Checks that the URL scheme is not javascript.\n       * The URL parsing relies on the URL API in browsers that support it.\n       * @param url The URL to sanitize for a SafeUrl sink.\n       * @return undefined if url has a javascript: scheme, the original URL\n       *     otherwise.\n       */\n      function sanitizeJavaScriptUrl(url) {\n        const parsedScheme = extractScheme(url);\n        if (parsedScheme === 'javascript:') {\n          if (false) {}\n          return undefined;\n        }\n        return url;\n      }\n      exports.sanitizeJavaScriptUrl = sanitizeJavaScriptUrl;\n      /**\n       * Adapter to sanitize string URLs in DOM sink wrappers.\n       * @return undefined if the URL was sanitized.\n       */\n      function unwrapUrlOrSanitize(url) {\n        return sanitizeJavaScriptUrl(url);\n      }\n      exports.unwrapUrlOrSanitize = unwrapUrlOrSanitize;\n      /**\n       * Sanitizes a URL restrictively.\n       * This sanitizer protects against XSS and potentially other uncommon and\n       * undesirable schemes that an attacker could use for e.g. phishing (tel:,\n       * callto: ssh: etc schemes). This sanitizer is primarily meant to be used by\n       * the HTML sanitizer.\n       */\n      function restrictivelySanitizeUrl(url) {\n        const parsedScheme = extractScheme(url);\n        if (parsedScheme !== undefined && ALLOWED_SCHEMES.indexOf(parsedScheme.toLowerCase()) !== -1) {\n          return url;\n        }\n        return 'about:invalid#zClosurez';\n      }\n      exports.restrictivelySanitizeUrl = restrictivelySanitizeUrl;\n\n      /***/\n    }),\n    /***/1556: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.sanitizeHtmlToFragment = exports.sanitizeHtmlAssertUnchanged = exports.sanitizeHtml = exports.HtmlSanitizerImpl = void 0;\n      __webpack_require__(5723);\n      const html_impl_1 = __webpack_require__(5971);\n      /* g3_import_pure from '../../internals/pure' */\n      const secrets_1 = __webpack_require__(2022);\n      const url_sanitizer_1 = __webpack_require__(1318);\n      const inert_fragment_1 = __webpack_require__(792);\n      const no_clobber_1 = __webpack_require__(7142);\n      const default_sanitizer_table_1 = __webpack_require__(2236);\n      const sanitizer_table_1 = __webpack_require__(7513);\n      /** Implementation for `HtmlSanitizer` */\n      class HtmlSanitizerImpl {\n        constructor(sanitizerTable, token) {\n          this.sanitizerTable = sanitizerTable;\n          this.changes = [];\n          (0, secrets_1.ensureTokenIsValid)(token);\n        }\n        sanitizeAssertUnchanged(html) {\n          this.changes = [];\n          const sanitizedHtml = this.sanitize(html);\n          if (this.changes.length !== 0) {\n            let message = '';\n            if (false) {}\n            throw new Error(message);\n          }\n          return sanitizedHtml;\n        }\n        sanitize(html) {\n          const fakeRoot = document.createElement('span');\n          fakeRoot.appendChild(this.sanitizeToFragment(html));\n          // XML serialization is preferred over HTML serialization as it is\n          // stricter and makes sure all attributes are properly escaped, avoiding\n          // cases where the tree might mutate when parsed again later due to the\n          // complexities of the HTML parsing algorithm\n          let serializedNewTree = new XMLSerializer().serializeToString(fakeRoot);\n          // We remove the outer most element as this is the span node created as\n          // the root for the sanitized tree and contains a spurious xmlns attribute\n          // from the XML serialization step.\n          serializedNewTree = serializedNewTree.slice(serializedNewTree.indexOf('>') + 1, serializedNewTree.lastIndexOf('</'));\n          return (0, html_impl_1.createHtmlInternal)(serializedNewTree);\n        }\n        sanitizeToFragment(html) {\n          const dirtyFragment = (0, inert_fragment_1.createInertFragment)(html);\n          const treeWalker = document.createTreeWalker(dirtyFragment, 5 /* NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT */,\n          // IE10 and IE11 won't accept a proper `NodeFilter` interface, and\n          // expect the filtering function to be passed directly. It seems that\n          // other browsers also do not mind getting the function directly. see\n          // https://stackoverflow.com/q/38245898\n          n => this.nodeFilter(n),\n          // @ts-ignore: error TS2554: Expected 1-3 arguments, but got 4.\n          false);\n          // `nextNode` is called so we skip the root `DocumentFragment`.\n          let currentNode = treeWalker.nextNode();\n          // We create a root element to attach all the children of the body to. We\n          // use div as it as a semantic-free, generic container and does not\n          // represent anything. This is removed when we serialize the tree back\n          // into a string.\n          const sanitizedFragment = document.createDocumentFragment();\n          let sanitizedParent = sanitizedFragment;\n          while (currentNode !== null) {\n            let sanitizedNode;\n            if ((0, no_clobber_1.isText)(currentNode)) {\n              sanitizedNode = this.sanitizeTextNode(currentNode);\n            } else if ((0, no_clobber_1.isElement)(currentNode)) {\n              sanitizedNode = this.sanitizeElementNode(currentNode);\n            } else {\n              let message = '';\n              if (false) {}\n              throw new Error(message);\n            }\n            sanitizedParent.appendChild(sanitizedNode);\n            // Advance iterator while keeping track of the sanitized parent for the\n            // current node\n            currentNode = treeWalker.firstChild();\n            if (currentNode) {\n              sanitizedParent = sanitizedNode;\n            } else {\n              while (!(currentNode = treeWalker.nextSibling())) {\n                if (!(currentNode = treeWalker.parentNode())) {\n                  break;\n                }\n                sanitizedParent = sanitizedParent.parentNode;\n              }\n            }\n          }\n          return sanitizedFragment;\n        }\n        sanitizeTextNode(textNode) {\n          return document.createTextNode(textNode.data);\n        }\n        sanitizeElementNode(elementNode) {\n          const elementName = (0, no_clobber_1.getNodeName)(elementNode);\n          const newNode = document.createElement(elementName);\n          const dirtyAttributes = elementNode.attributes;\n          for (const {\n            name,\n            value\n          } of dirtyAttributes) {\n            const policy = this.sanitizerTable.getAttributePolicy(name, elementName);\n            if (!this.satisfiesAllConditions(policy.conditions, dirtyAttributes)) {\n              this.recordChange(`Not all conditions satisfied for attribute: ${name}.`);\n              continue;\n            }\n            switch (policy.policyAction) {\n              case sanitizer_table_1.AttributePolicyAction.KEEP:\n                setAttribute(newNode, name, value);\n                break;\n              case sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL:\n                const sanitizedAttrUrl = (0, url_sanitizer_1.restrictivelySanitizeUrl)(value);\n                if (sanitizedAttrUrl !== value) {\n                  this.recordChange(`Url in attribute ${name} was modified during sanitization. Original url:\"${value}\" was sanitized to: \"${sanitizedAttrUrl}\"`);\n                }\n                setAttribute(newNode, name, sanitizedAttrUrl);\n                break;\n              case sanitizer_table_1.AttributePolicyAction.KEEP_AND_NORMALIZE:\n                // We don't consider changing the case of an attribute value to be a\n                // semantic change\n                setAttribute(newNode, name, value.toLowerCase());\n                break;\n              case sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_STYLE:\n                setAttribute(newNode, name, value);\n                break;\n              case sanitizer_table_1.AttributePolicyAction.DROP:\n                this.recordChange(`Attribute: ${name} was dropped`);\n                break;\n              default:\n                if (false) {}\n            }\n          }\n          return newNode;\n        }\n        nodeFilter(node) {\n          if ((0, no_clobber_1.isText)(node)) {\n            return 1; // NodeFilter.FILTER_ACCEPT\n          } else if (!(0, no_clobber_1.isElement)(node)) {\n            // Getting a node that is neither an `Element` or a `Text` node. This is\n            // likely due to something that is not supposed to be an element in user\n            // code but recognized as such by the TreeWalker (e.g. a polyfill for\n            // other kind of nodes). Since we can't recognize it as an element, we\n            // drop the node, but we don't record it as a meaningful change.\n            return 2; // NodeFilter.FILTER_REJECT\n          }\n          const nodeName = (0, no_clobber_1.getNodeName)(node);\n          if (nodeName === null) {\n            this.recordChange(`Node name was null for node: ${node}`);\n            return 2; // NodeFilter.FILTER_REJECT\n          }\n          if (this.sanitizerTable.isAllowedElement(nodeName)) {\n            return 1; // NodeFilter.FILTER_ACCEPT\n          }\n          this.recordChange(`Element: ${nodeName} was dropped`);\n          return 2; // NodeFilter.FILTER_REJECT\n        }\n        recordChange(errorMessage) {\n          if (false) {} else if (this.changes.length === 0) {\n            this.changes.push('');\n          }\n        }\n        satisfiesAllConditions(conditions, attrs) {\n          var _a;\n          if (!conditions) {\n            return true;\n          }\n          for (const [attrName, expectedValues] of conditions) {\n            const value = (_a = attrs.getNamedItem(attrName)) === null || _a === void 0 ? void 0 : _a.value;\n            if (value && !expectedValues.has(value)) {\n              return false;\n            }\n          }\n          return true;\n        }\n      }\n      exports.HtmlSanitizerImpl = HtmlSanitizerImpl;\n      /** @noinline Helper to save on codesize. */\n      function setAttribute(el, name, value) {\n        el.setAttribute(name, value);\n      }\n      const defaultHtmlSanitizer = /* #__PURE__ */(() => new HtmlSanitizerImpl(default_sanitizer_table_1.defaultSanitizerTable, secrets_1.secretToken))();\n      /** Sanitizes untrusted html using the default sanitizer configuration. */\n      function sanitizeHtml(html) {\n        return defaultHtmlSanitizer.sanitize(html);\n      }\n      exports.sanitizeHtml = sanitizeHtml;\n      /**\n       * Sanitizes untrusted html using the default sanitizer configuration. Throws\n       * an error if the html was changed.\n       */\n      function sanitizeHtmlAssertUnchanged(html) {\n        return defaultHtmlSanitizer.sanitizeAssertUnchanged(html);\n      }\n      exports.sanitizeHtmlAssertUnchanged = sanitizeHtmlAssertUnchanged;\n      /**\n       * Sanitizes untrusted html using the default sanitizer configuration. Throws\n       * an error if the html was changed.\n       */\n      function sanitizeHtmlToFragment(html) {\n        return defaultHtmlSanitizer.sanitizeToFragment(html);\n      }\n      exports.sanitizeHtmlToFragment = sanitizeHtmlToFragment;\n      function checkExhaustive(value) {\n        let msg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : `unexpected value ${value}!`;\n        throw new Error(msg);\n      }\n\n      /***/\n    }),\n    /***/2022: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.ensureTokenIsValid = exports.secretToken = void 0;\n      __webpack_require__(5723);\n      /**\n       * A secret token that must be passed to safe type constructors. It is only\n       * accessible from within safevalues, ensuring that unrestricted safe type\n       * creation is only possible within safevalues. In particular, this prevents\n       * forgery such as `safeHtmlValue.constructor('javascript:evil')`.\n       */\n      exports.secretToken = {};\n      /**\n       * Asserts that the given token matches the secret safevalues token. An\n       * exception is thrown if that is not the case.\n       */\n      function ensureTokenIsValid(token) {\n        if (false) {}\n      }\n      exports.ensureTokenIsValid = ensureTokenIsValid;\n\n      /***/\n    }),\n    /***/2146: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.safeAttrPrefix = void 0;\n      __webpack_require__(5723);\n      const attribute_impl_1 = __webpack_require__(6324);\n      const string_literal_1 = __webpack_require__(5890);\n      const sensitive_attributes_1 = __webpack_require__(2747);\n      /**\n       * Creates a SafeAttributePrefix object from a template literal with no\n       * interpolations for attributes that share a common prefix guaranteed to be not\n       * security sensitive.\n       *\n       * The template literal is a prefix that makes it obvious this attribute is not\n       * security sensitive. If it doesn't, this function will throw.\n       */\n      function safeAttrPrefix(templ) {\n        if (false) {}\n        const attrPrefix = templ[0].toLowerCase();\n        if (false) {}\n        return (0, attribute_impl_1.createAttributePrefixInternal)(attrPrefix);\n      }\n      exports.safeAttrPrefix = safeAttrPrefix;\n\n      /***/\n    }),\n    /***/2183: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.globalEval = exports.fetchResourceUrl = void 0;\n      const script_impl_1 = __webpack_require__(7253);\n      var fetch_1 = __webpack_require__(3246);\n      Object.defineProperty(exports, \"fetchResourceUrl\", {\n        enumerable: true,\n        get: function () {\n          return fetch_1.fetchResourceUrl;\n        }\n      });\n      /**\n       * Evaluates a SafeScript value in the given scope using eval.\n       *\n       * Strongly consider avoiding this, as eval blocks CSP adoption and does not\n       * benefit from compiler optimizations.\n       */\n      function globalEval(win, script) {\n        const trustedScript = (0, script_impl_1.unwrapScript)(script);\n        let result = win.eval(trustedScript);\n        if (result === trustedScript) {\n          // https://crbug.com/1024786 manifesting in workers.\n          result = win.eval(trustedScript.toString());\n        }\n        return result;\n      }\n      exports.globalEval = globalEval;\n\n      /***/\n    }),\n    /***/2236: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.defaultSanitizerTable = void 0;\n      /* GENERATED CODE, DO NOT MODIFY */\n      /* g3_import_pure from '../../../internals/pure' */\n      const sanitizer_table_1 = __webpack_require__(7513);\n      const ALLOWED_ELEMENTS = ['ARTICLE', 'SECTION', 'NAV', 'ASIDE', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HEADER', 'FOOTER', 'ADDRESS', 'P', 'HR', 'PRE', 'BLOCKQUOTE', 'OL', 'UL', 'LH', 'LI', 'DL', 'DT', 'DD', 'FIGURE', 'FIGCAPTION', 'MAIN', 'DIV', 'EM', 'STRONG', 'SMALL', 'S', 'CITE', 'Q', 'DFN', 'ABBR', 'RUBY', 'RB', 'RT', 'RTC', 'RP', 'DATA', 'TIME', 'CODE', 'VAR', 'SAMP', 'KBD', 'SUB', 'SUP', 'I', 'B', 'U', 'MARK', 'BDI', 'BDO', 'SPAN', 'BR', 'WBR', 'INS', 'DEL', 'PICTURE', 'PARAM', 'TRACK', 'MAP', 'TABLE', 'CAPTION', 'COLGROUP', 'COL', 'TBODY', 'THEAD', 'TFOOT', 'TR', 'TD', 'TH', 'SELECT', 'DATALIST', 'OPTGROUP', 'OPTION', 'OUTPUT', 'PROGRESS', 'METER', 'FIELDSET', 'LEGEND', 'DETAILS', 'SUMMARY', 'MENU', 'DIALOG', 'SLOT', 'CANVAS', 'FONT', 'CENTER', 'ACRONYM', 'BASEFONT', 'BIG', 'DIR', 'HGROUP', 'STRIKE', 'TT'];\n      const ELEMENT_POLICIES = [['A', new Map([['href', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL\n      }]])], ['AREA', new Map([['href', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL\n      }]])], ['LINK', new Map([['href', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL,\n        conditions: new Map([['rel', new Set(['alternate', 'author', 'bookmark', 'canonical', 'cite', 'help', 'icon', 'license', 'next', 'prefetch', 'dns-prefetch', 'prerender', 'preconnect', 'preload', 'prev', 'search', 'subresource'])]])\n      }]])], ['SOURCE', new Map([['src', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP\n      }]])], ['IMG', new Map([['src', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP\n      }]])], ['VIDEO', new Map([['src', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP\n      }]])], ['AUDIO', new Map([['src', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP\n      }]])]];\n      const ALLOWED_GLOBAL_ATTRIBUTES = ['title', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-current', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-label', 'aria-level', 'aria-live', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'alt', 'align', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'autoplay', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'checked', 'color', 'cols', 'colspan', 'controls', 'datetime', 'disabled', 'download', 'draggable', 'enctype', 'face', 'formenctype', 'frameborder', 'height', 'hreflang', 'hidden', 'ismap', 'label', 'lang', 'loop', 'max', 'maxlength', 'media', 'minlength', 'min', 'multiple', 'muted', 'nonce', 'open', 'placeholder', 'preload', 'rel', 'required', 'reversed', 'role', 'rows', 'rowspan', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'spellcheck', 'start', 'step', 'summary', 'translate', 'type', 'valign', 'value', 'width', 'wrap', 'itemscope', 'itemtype', 'itemid', 'itemprop', 'itemref'];\n      const GLOBAL_ATTRIBUTE_POLICIES = [['dir', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_NORMALIZE,\n        conditions: /* #__PURE__ */(() => {\n          return new Map([['dir', new Set(['auto', 'ltr', 'rtl'])]]);\n        })()\n      }], ['async', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_NORMALIZE,\n        conditions: /* #__PURE__ */(() => {\n          return new Map([['async', new Set(['async'])]]);\n        })()\n      }], ['cite', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL\n      }], ['loading', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_NORMALIZE,\n        conditions: /* #__PURE__ */(() => {\n          return new Map([['loading', new Set(['eager', 'lazy'])]]);\n        })()\n      }], ['poster', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_URL\n      }], ['target', {\n        policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_NORMALIZE,\n        conditions: /* #__PURE__ */(() => {\n          return new Map([['target', new Set(['_self', '_blank'])]]);\n        })()\n      }]];\n      /**\n       * Sanitizer table for the default sanitizer configuration\n       *\n       */\n      exports.defaultSanitizerTable = new sanitizer_table_1.SanitizerTable(new Set(ALLOWED_ELEMENTS), new Map(ELEMENT_POLICIES), new Set(ALLOWED_GLOBAL_ATTRIBUTES), new Map(GLOBAL_ATTRIBUTE_POLICIES));\n\n      /***/\n    }),\n    /***/2305: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setAttribute = void 0;\n      __webpack_require__(5723);\n      const UNSAFE_SVG_ATTRIBUTES = ['href', 'xlink:href'];\n      /**\n       * Set attribute on SVGElement if the attribute doesn't have security\n       * implications. If the attribute can potentially cause XSS, throw an error.\n       */\n      function setAttribute(svg, attr, value) {\n        attr = attr.toLowerCase();\n        if (UNSAFE_SVG_ATTRIBUTES.indexOf(attr) !== -1 || attr.indexOf('on') === 0) {\n          let msg = '';\n          if (false) {}\n          throw new Error(msg);\n        }\n        svg.setAttribute(attr, value);\n      }\n      exports.setAttribute = setAttribute;\n\n      /***/\n    }),\n    /***/2675: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.objectUrlFromSafeSource = void 0;\n      /**\n       * A pattern that matches safe MIME types. Only matches image, video and audio\n       * types, with some parameter support (most notably, we haven't implemented the\n       * more complex parts like %-encoded characters or non-alphanumerical ones for\n       * simplicity's sake). Also, the specs are fairly complex, and they don't\n       * necessarily agree with Chrome on some aspects, and so we settled on a subset\n       * where the behavior makes sense to all parties involved.\n       *\n       * The spec is available at https://mimesniff.spec.whatwg.org/ (and see\n       * https://tools.ietf.org/html/rfc2397 for data: urls, which override some of\n       * it).\n       */\n      function isSafeMimeType(mimeType) {\n        const match = mimeType.match(/^([^;]+)(?:;\\w+=(?:\\w+|\"[\\w;,= ]+\"))*$/i);\n        return (match === null || match === void 0 ? void 0 : match.length) === 2 && (isSafeImageMimeType(match[1]) || isSafeVideoMimeType(match[1]) || isSafeAudioMimeType(match[1]));\n      }\n      function isSafeImageMimeType(mimeType) {\n        return /^image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon|heic|heif)$/i.test(mimeType);\n      }\n      function isSafeVideoMimeType(mimeType) {\n        return /^video\\/(?:mpeg|mp4|ogg|webm|x-matroska|quicktime|x-ms-wmv)$/i.test(mimeType);\n      }\n      function isSafeAudioMimeType(mimeType) {\n        return /^audio\\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)$/i.test(mimeType);\n      }\n      /**\n       * Wraps URL.createObjectURL, checking the safety of the source. For blobs, the\n       * function validates that the Blob's type is amongst the safe MIME types, and\n       * throws if that's not the case. URL.revokeObjectURL should be called on the\n       * returned URL to free the resources.\n       */\n      function objectUrlFromSafeSource(source) {\n        // MediaSource support in Safari is limited\n        // https://developer.mozilla.org/en-US/docs/Web/API/MediaSource#browser_compatibility\n        if (typeof MediaSource !== 'undefined' && source instanceof MediaSource) {\n          return URL.createObjectURL(source);\n        }\n        const blob = source;\n        if (!isSafeMimeType(blob.type)) {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n        return URL.createObjectURL(blob);\n      }\n      exports.objectUrlFromSafeSource = objectUrlFromSafeSource;\n\n      /***/\n    }),\n    /***/2747: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.SECURITY_SENSITIVE_ATTRIBUTES = void 0;\n      // AUTOGENERATED. DO NOT EDIT.\n      /**\n       * Security sensitive attribute names that should not be set through\n       * `setAttribute` or similar functions.\n       */\n      exports.SECURITY_SENSITIVE_ATTRIBUTES = ['src', 'srcdoc', 'codebase', 'data', 'href', 'rel', 'action', 'formaction', 'sandbox', 'cite', 'poster', 'icon'];\n\n      /***/\n    }),\n    /***/3246: (/***/function (__unused_webpack_module, exports, __webpack_require__) {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n        function adopt(value) {\n          return value instanceof P ? value : new P(function (resolve) {\n            resolve(value);\n          });\n        }\n        return new (P || (P = Promise))(function (resolve, reject) {\n          function fulfilled(value) {\n            try {\n              step(generator.next(value));\n            } catch (e) {\n              reject(e);\n            }\n          }\n          function rejected(value) {\n            try {\n              step(generator[\"throw\"](value));\n            } catch (e) {\n              reject(e);\n            }\n          }\n          function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n          }\n          step((generator = generator.apply(thisArg, _arguments || [])).next());\n        });\n      };\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.fetchResourceUrl = exports.IncorrectContentTypeError = void 0;\n      /**\n       * @fileoverview\n       * Functions which allow fetch() on resourceUrls to be\n       * interpreted as SafeHtml or SafeScript.\n       */\n      const html_impl_1 = __webpack_require__(5971);\n      const resource_url_impl_1 = __webpack_require__(8402);\n      const script_impl_1 = __webpack_require__(7253);\n      const style_sheet_impl_1 = __webpack_require__(4455);\n      /**\n       * IncorrectTypeError represents an error that can occur with {@link\n       * fetchResourceUrl} when the server responds with a content type that would be\n       * unsafe for the type of content requested.\n       */\n      class IncorrectContentTypeError extends Error {\n        constructor(url, typeName, contentType) {\n          super(`${url} was requested as a ${typeName}, but the response Content-Type, \"${contentType} is not appropriate for this type of content.`);\n          this.url = url;\n          this.typeName = typeName;\n          this.contentType = contentType;\n        }\n      }\n      exports.IncorrectContentTypeError = IncorrectContentTypeError;\n      /**\n       * This causes the compiler to better optimize `createHtmlInternal` calls, where\n       * previously it was building and including the whole module without\n       * tree-shaking.\n       *\n       * TODO(b/254093954) find out why this is and remove this workaround.\n       */\n      function privatecreateHtmlInternal(html) {\n        return (0, html_impl_1.createHtmlInternal)(html);\n      }\n      /**\n       * fetches a given {@link TrustedResourceUrl},\n       * and returns a value which can be turned into a given safe type.\n       */\n      function fetchResourceUrl(u, init) {\n        var _a, _b, _c;\n        return __awaiter(this, void 0, void 0, function* () {\n          const response = yield fetch((0, resource_url_impl_1.unwrapResourceUrl)(u).toString(), init);\n          /**\n           * the content type type of the response, excluding any MIME params\n           */\n          const mimeType = (_c = (_b = (_a = response.headers.get('Content-Type')) === null || _a === void 0 ? void 0 : _a.split(';', 2)) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.toLowerCase();\n          return {\n            html() {\n              return __awaiter(this, void 0, void 0, function* () {\n                if (mimeType !== 'text/html') {\n                  throw new IncorrectContentTypeError(response.url, 'SafeHtml', 'text/html');\n                }\n                const text = yield response.text();\n                return privatecreateHtmlInternal(text);\n              });\n            },\n            script() {\n              return __awaiter(this, void 0, void 0, function* () {\n                // see:\n                // https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages\n                if (mimeType !== 'text/javascript' && mimeType !== 'application/javascript') {\n                  throw new IncorrectContentTypeError(response.url, 'SafeScript', 'text/javascript');\n                }\n                const text = yield response.text();\n                return (0, script_impl_1.createScriptInternal)(text);\n              });\n            },\n            styleSheet() {\n              return __awaiter(this, void 0, void 0, function* () {\n                if (mimeType !== 'text/css') {\n                  throw new IncorrectContentTypeError(response.url, 'SafeStyleSheet', 'text/css');\n                }\n                const text = yield response.text();\n                return (0, style_sheet_impl_1.createStyleSheetInternal)(text);\n              });\n            }\n          };\n        });\n      }\n      exports.fetchResourceUrl = fetchResourceUrl;\n\n      /***/\n    }),\n    /***/3491: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setFormaction = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Formaction attribute from the given Url.\n       */\n      function setFormaction(button, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          button.formAction = sanitizedUrl;\n        }\n      }\n      exports.setFormaction = setFormaction;\n\n      /***/\n    }),\n    /***/3679: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.safeScriptWithArgs = exports.valueAsScript = exports.concatScripts = exports.safeScript = void 0;\n      __webpack_require__(5723);\n      const script_impl_1 = __webpack_require__(7253);\n      const string_literal_1 = __webpack_require__(5890);\n      /**\n       * Creates a SafeScript object from a template literal (without any embedded\n       * expressions).\n       *\n       * This function is a template literal tag function. It should be called with\n       * a template literal that does not contain any expressions. For example,\n       *                           safeScript`foo`;\n       *\n       * @param templateObj This contains the literal part of the template literal.\n       */\n      function safeScript(templateObj) {\n        if (false) {}\n        return (0, script_impl_1.createScriptInternal)(templateObj[0]);\n      }\n      exports.safeScript = safeScript;\n      /** Creates a `SafeScript` value by concatenating multiple `SafeScript`s. */\n      function concatScripts(scripts) {\n        return (0, script_impl_1.createScriptInternal)(scripts.map(script_impl_1.unwrapScript).join(''));\n      }\n      exports.concatScripts = concatScripts;\n      /**\n       * Converts a serializable value into JSON that is safe to interpolate into a\n       * script context. In particular it escapes < characters so that a value of\n       * \"</script>\" doesn't break out of the context.\n       * @param value The value to serialize.\n       */\n      function valueAsScript(value) {\n        return (0, script_impl_1.createScriptInternal)(JSON.stringify(value).replace(/</g, '\\\\u003C'));\n      }\n      exports.valueAsScript = valueAsScript;\n      /**\n       * Creates a `SafeScript` object from a template literal (without any embedded\n       * expressions) along with additional arguments that the script should have\n       * access to. These arguments will be JSON-encoded and passed to the script as\n       * a function call.\n       * @example\n       * ```ts\n       * safeScriptWithArgs`function (name, props) {\n       *  console.log(name + ' is ' + props.age);\n       * }`('Bob', { 'age': 42 })\n       * ```\n       * would return a `SafeScript` that represents the following code:\n       * ```js\n       * (function (name, props) {\n       *  console.log(name + ' is ' + props.age);\n       * })(\"Bob\",{\"age\":42})\n       * ```\n       * @note Be careful when passing objects as arguments, as unquoted property\n       * names may be changed during compilation.\n       * @param templateObj This contains the literal part of the template literal.\n       * @param emptyArgs Expressions that evaluate to the empty string to enable\n       *     inline comments.\n       */\n      function safeScriptWithArgs(templateObj) {\n        if (false) {}\n        return function () {\n          for (var _len = arguments.length, argValues = new Array(_len), _key = 0; _key < _len; _key++) {\n            argValues[_key] = arguments[_key];\n          }\n          const values = argValues.map(v => valueAsScript(v).toString());\n          return (0, script_impl_1.createScriptInternal)(`(${templateObj.join('')})(${values.join(',')})`);\n        };\n      }\n      exports.safeScriptWithArgs = safeScriptWithArgs;\n\n      /***/\n    }),\n    /***/4030: (/***/function (__unused_webpack_module, exports, __webpack_require__) {\n      var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n        function adopt(value) {\n          return value instanceof P ? value : new P(function (resolve) {\n            resolve(value);\n          });\n        }\n        return new (P || (P = Promise))(function (resolve, reject) {\n          function fulfilled(value) {\n            try {\n              step(generator.next(value));\n            } catch (e) {\n              reject(e);\n            }\n          }\n          function rejected(value) {\n            try {\n              step(generator[\"throw\"](value));\n            } catch (e) {\n              reject(e);\n            }\n          }\n          function step(result) {\n            result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n          }\n          step((generator = generator.apply(thisArg, _arguments || [])).next());\n        });\n      };\n      var __generator = this && this.__generator || function (thisArg, body) {\n        var _ = {\n            label: 0,\n            sent: function () {\n              if (t[0] & 1) throw t[1];\n              return t[1];\n            },\n            trys: [],\n            ops: []\n          },\n          f,\n          y,\n          t,\n          g;\n        return g = {\n          next: verb(0),\n          \"throw\": verb(1),\n          \"return\": verb(2)\n        }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n          return this;\n        }), g;\n        function verb(n) {\n          return function (v) {\n            return step([n, v]);\n          };\n        }\n        function step(op) {\n          if (f) throw new TypeError(\"Generator is already executing.\");\n          while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n              case 0:\n              case 1:\n                t = op;\n                break;\n              case 4:\n                _.label++;\n                return {\n                  value: op[1],\n                  done: false\n                };\n              case 5:\n                _.label++;\n                y = op[1];\n                op = [0];\n                continue;\n              case 7:\n                op = _.ops.pop();\n                _.trys.pop();\n                continue;\n              default:\n                if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n                  _ = 0;\n                  continue;\n                }\n                if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n                  _.label = op[1];\n                  break;\n                }\n                if (op[0] === 6 && _.label < t[1]) {\n                  _.label = t[1];\n                  t = op;\n                  break;\n                }\n                if (t && _.label < t[2]) {\n                  _.label = t[2];\n                  _.ops.push(op);\n                  break;\n                }\n                if (t[2]) _.ops.pop();\n                _.trys.pop();\n                continue;\n            }\n            op = body.call(thisArg, _);\n          } catch (e) {\n            op = [6, e];\n            y = 0;\n          } finally {\n            f = t = 0;\n          }\n          if (op[0] & 5) throw op[1];\n          return {\n            value: op[0] ? op[1] : void 0,\n            done: true\n          };\n        }\n      };\n      exports.__esModule = true;\n      exports.WazeForms = exports.ModalCommand = exports.AuthScheme = void 0;\n      var styles_1 = __webpack_require__(1170);\n      var cookie_1 = __webpack_require__(6596);\n      var dom_1 = __webpack_require__(8973);\n      var safevalues_1 = __webpack_require__(4782);\n      var AuthCookie;\n      (function (AuthCookie) {\n        AuthCookie[\"ADS_SESSION\"] = \"session_jwt\";\n        AuthCookie[\"RT_SESSION\"] = \"_rt_session_cookie\";\n        AuthCookie[\"WEB_SESSION\"] = \"_web_session\";\n      })(AuthCookie || (AuthCookie = {}));\n      var AuthScheme;\n      (function (AuthScheme) {\n        AuthScheme[\"SCHEME_UNSPECIFIED\"] = \"SCHEME_UNSPECIFIED\";\n        AuthScheme[\"REALTIME\"] = \"WRT\";\n        AuthScheme[\"ADS\"] = \"WADS\";\n      })(AuthScheme = exports.AuthScheme || (exports.AuthScheme = {}));\n      var ModalCommand;\n      (function (ModalCommand) {\n        ModalCommand[\"POST_SUBMIT\"] = \"postSubmit\";\n        ModalCommand[\"GET_AUTH_PARAMS\"] = \"getAuthParams\";\n        ModalCommand[\"ON_CLOSE\"] = \"onClose\";\n        ModalCommand[\"ON_CANCEL\"] = \"onCancel\";\n        ModalCommand[\"RESIZE_FORM\"] = \"resizeForm\";\n        ModalCommand[\"COPY_TO_CLIPBOARD\"] = \"copyToClipboardPopup\";\n      })(ModalCommand = exports.ModalCommand || (exports.ModalCommand = {}));\n      var DEFAULT_FORM_LOCALE = \"en\";\n      var DEFAULT_FORM_ID = \"default\";\n      var DEFAULT_FORM_CHANNEL = \"unknown\";\n      var ELEMENT_ID_PREFIX = \"wz-forms-modal\";\n      var MODAL_CONTAINER_ID = \"\".concat(ELEMENT_ID_PREFIX, \"-container\");\n      var MODAL_IFRAME_ID = \"\".concat(ELEMENT_ID_PREFIX, \"-iframe\");\n      var COPY_MESSAGE_POPUP_ID = \"\".concat(ELEMENT_ID_PREFIX, \"-copy-to-clipboard-popup\");\n      var PRODUCTION_HOSTNAME = \"https://www.waze.com\";\n      var STAGING_HOSTNAME = \"https://www.gcp.wazestg.com\";\n      var IL_ENV_URL_PREFIX = \"il-ContactForm\";\n      var ROW_ENV_URL_PREFIX = \"row-ContactForm\";\n      var NA_ENV_URL_PREFIX = \"na-ContactForm\";\n      var DEFAULT_ENV_URL_PREFIX = \"ContactForm\";\n      var ENV_PREFIX = {\n        il: IL_ENV_URL_PREFIX,\n        na: NA_ENV_URL_PREFIX,\n        row: ROW_ENV_URL_PREFIX,\n        stg: DEFAULT_ENV_URL_PREFIX\n      };\n      var WazeForms = /** @class */function () {\n        function WazeForms(config) {\n          var _this = this;\n          var _a, _b, _c;\n          this.commands = {};\n          this.startForm = function (formData, document) {\n            return __awaiter(_this, void 0, void 0, function () {\n              var _a, modalIframe;\n              var _b, _c;\n              return __generator(this, function (_d) {\n                switch (_d.label) {\n                  case 0:\n                    if (this.topIframe) {\n                      this.dismissForm();\n                    }\n                    _a = this;\n                    return [4 /*yield*/, this.createBackgroundIframe((document || window.document).body)];\n                  case 1:\n                    _a.topIframe = _d.sent();\n                    this.topIframeDoc = this.topIframe.contentDocument || ((_b = this.topIframe.contentWindow) === null || _b === void 0 ? void 0 : _b.document);\n                    modalIframe = this.addModalIframe(formData);\n                    this.registerCommands(modalIframe);\n                    (_c = this.topIframeDoc) === null || _c === void 0 ? void 0 : _c.addEventListener(\"keydown\", this.handleEscapeKey);\n                    return [2 /*return*/];\n                }\n              });\n            });\n          };\n          this.dismissForm = function () {\n            var _a, _b;\n            if (!_this.topIframe) {\n              return;\n            }\n            (_a = _this.topIframeDoc) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", _this.handleEscapeKey);\n            (_b = _this.topIframe.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(_this.topIframe);\n            _this.topIframe = undefined;\n          };\n          this.handleEscapeKey = function (e) {\n            if (e.keyCode === 27) {\n              _this.dismissForm();\n            }\n          };\n          this.registerCommands = function (modalIframe) {\n            var _a;\n            var formWindow = modalIframe.contentWindow;\n            if (!formWindow) {\n              throw new Error(\"Could not inject callbacks to form\");\n            }\n            // eslint-disable-next-line @typescript-eslint/no-empty-function\n            _this.registerCommand(ModalCommand.POST_SUBMIT, _this.onSubmit);\n            _this.registerCommand(ModalCommand.GET_AUTH_PARAMS, _this.getAuthParams);\n            _this.registerCommand(ModalCommand.ON_CLOSE, _this.onClose);\n            _this.registerCommand(ModalCommand.ON_CANCEL, _this.onCancel);\n            _this.registerCommand(ModalCommand.RESIZE_FORM, _this.resizeForm);\n            _this.registerCommand(ModalCommand.COPY_TO_CLIPBOARD, _this.copyToClipboardPopup);\n            (_a = _this.topIframe.contentWindow) === null || _a === void 0 ? void 0 : _a.addEventListener(\"message\", function (event) {\n              _this.executeCommand(event.data.cmd, event.data.args, event.ports[0]);\n            }, false);\n          };\n          // Popping \"copy successful/failed\" outside the modal\n          this.copyToClipboardPopup = function (popupText) {\n            var _a;\n            var popUpElement = (_a = _this.topIframeDoc) === null || _a === void 0 ? void 0 : _a.querySelector(\"#\".concat(COPY_MESSAGE_POPUP_ID));\n            if (!popUpElement) {\n              throw new Error(\"could not detect copy-to-clipboard helper\");\n            }\n            dom_1.safeElement.setInnerHtml(popUpElement, (0, safevalues_1.sanitizeHtml)(popupText));\n            popUpElement.style.opacity = \"1\";\n            setTimeout(function () {\n              return popUpElement.style.opacity = \"0\";\n            }, 1500);\n          };\n          // Generates an empty IFrame element to separate host site document. All dom manipulation are inside it\n          this.createBackgroundIframe = function (docBodyElement) {\n            return new Promise(function (resolve) {\n              // Create empty iframe to separate docs from calling site\n              var containerIFrameEl = docBodyElement.ownerDocument.createElement(\"iframe\");\n              containerIFrameEl.id = \"\".concat(ELEMENT_ID_PREFIX, \"-iframe-container\");\n              containerIFrameEl.style.setProperty(\"--waze-forms-z-index\", _this.zIndex);\n              containerIFrameEl.style.setProperty(\"--waze-forms-z-index-small-screen\", _this.zIndexSmallScreen);\n              // Adding style of the iframe\n              var styleEl = docBodyElement.ownerDocument.createElement(\"style\");\n              docBodyElement.ownerDocument.head.appendChild(styleEl);\n              styleEl.type = \"text/css\";\n              styleEl.id = \"\".concat(ELEMENT_ID_PREFIX, \"-container-style\");\n              styleEl.appendChild(docBodyElement.ownerDocument.createTextNode(styles_1.backgroundIframeStyles));\n              containerIFrameEl.onload = function () {\n                resolve(containerIFrameEl);\n              };\n              docBodyElement.appendChild(containerIFrameEl);\n            });\n          };\n          // Generates form iframe + helper elements.\n          this.addModalIframe = function (formData) {\n            if (!_this.topIframeDoc) {\n              throw new Error(\"no valid iframe doc\");\n            }\n            // Add style for the modal\n            var styleEl = _this.topIframeDoc.createElement(\"style\");\n            _this.topIframeDoc.head.appendChild(styleEl);\n            styleEl.type = \"text/css\";\n            styleEl.appendChild(_this.topIframeDoc.createTextNode(styles_1.modalStyles));\n            // Background shade\n            var backgroundEl = _this.topIframeDoc.createElement(\"div\");\n            backgroundEl.id = \"\".concat(ELEMENT_ID_PREFIX, \"-background\");\n            _this.topIframeDoc.body.appendChild(backgroundEl);\n            // Modal's body\n            var formContainerEl = _this.topIframeDoc.createElement(\"div\");\n            formContainerEl.id = MODAL_CONTAINER_ID;\n            formContainerEl.classList.toggle(\"wz-forms-modal-container--add-header-offset-small-screen\", _this.addHeaderOffsetSmallScreen);\n            backgroundEl.appendChild(formContainerEl);\n            // Modal's content\n            var formIFrameEl = _this.topIframeDoc.createElement(\"iframe\");\n            formIFrameEl.id = MODAL_IFRAME_ID;\n            formIFrameEl.src = _this.formUrl(formData).href;\n            formContainerEl.appendChild(formIFrameEl);\n            // Helper element for copy-to-clipboard interaction\n            var popUpMessageEl = _this.topIframeDoc.createElement(\"div\");\n            popUpMessageEl.id = COPY_MESSAGE_POPUP_ID;\n            _this.topIframeDoc.body.appendChild(popUpMessageEl);\n            return formIFrameEl;\n          };\n          this.zIndex = (_a = config.zIndex) !== null && _a !== void 0 ? _a : \"\";\n          this.zIndexSmallScreen = (_b = config.zIndexSmallScreen) !== null && _b !== void 0 ? _b : \"\";\n          this.addHeaderOffsetSmallScreen = (_c = config.addHeaderOffsetSmallScreen) !== null && _c !== void 0 ? _c : false;\n          this.cancelCallback = config.cancelCallback;\n          this.submitCallback = config.submitCallback;\n          this.closeCallback = config.closeCallback;\n          this.env = config.env;\n          this.authParams = config.authParams;\n        }\n        WazeForms.prototype.registerCommand = function (cmd, fn) {\n          this.commands[cmd] = fn.bind(this);\n        };\n        WazeForms.prototype.executeCommand = function (cmd, args, port) {\n          var _a;\n          if (args === void 0) {\n            args = [];\n          }\n          if (!cmd || !this.commands[cmd]) {\n            console.error(\"command \".concat(cmd, \" not found\"));\n            port === null || port === void 0 ? void 0 : port.postMessage({\n              error: new Error(\"\".concat(cmd, \" not found\"))\n            });\n            return;\n          }\n          try {\n            var result = (_a = this.commands)[cmd].apply(_a, args);\n            if (result instanceof Promise) {\n              result.then(function (r) {\n                return port === null || port === void 0 ? void 0 : port.postMessage({\n                  result: r\n                });\n              })[\"catch\"](function (e) {\n                port === null || port === void 0 ? void 0 : port.postMessage({\n                  error: e\n                });\n                console.error(\"Failed to execute \".concat(cmd), e);\n              });\n            } else {\n              port === null || port === void 0 ? void 0 : port.postMessage({\n                result: result\n              });\n            }\n          } catch (e) {\n            console.error(\"Failed to execute \".concat(cmd), e);\n            port === null || port === void 0 ? void 0 : port.postMessage({\n              error: e\n            });\n          }\n        };\n        WazeForms.prototype.getAuthParams = function () {\n          if (this.authParams && this.authParams.scheme && this.authParams.token) {\n            return this.authParams;\n          }\n          var cookies = (0, cookie_1.parse)(window.document.cookie);\n          if (cookies[AuthCookie.RT_SESSION]) {\n            return {\n              scheme: AuthScheme.REALTIME,\n              token: cookies[AuthCookie.RT_SESSION]\n            };\n          }\n          if (cookies[AuthCookie.ADS_SESSION]) {\n            return {\n              scheme: AuthScheme.ADS,\n              token: cookies[AuthCookie.ADS_SESSION]\n            };\n          }\n          return null;\n        };\n        WazeForms.prototype.onSubmit = function (result) {\n          if (this.submitCallback) {\n            try {\n              this.submitCallback(result);\n            } catch (e) {\n              console.error(\"could not perform submit callback\", result, e);\n            }\n          }\n        };\n        WazeForms.prototype.onClose = function (args) {\n          if (this.closeCallback) {\n            try {\n              this.closeCallback(args);\n            } catch (e) {\n              console.error(\"could not perform close callback\", args, e);\n            }\n          }\n          this.dismissForm();\n        };\n        WazeForms.prototype.onCancel = function () {\n          if (this.cancelCallback) {\n            try {\n              this.cancelCallback();\n            } catch (e) {\n              console.error(\"could not perform cancel callback\", e);\n            }\n          }\n          this.dismissForm();\n        };\n        // Used while changing from form to confirmation state\n        WazeForms.prototype.resizeForm = function (height, width) {\n          var _a;\n          if (!this.topIframe) {\n            throw new Error(\"no current open form\");\n          }\n          var containerEl = (_a = this.topIframeDoc) === null || _a === void 0 ? void 0 : _a.querySelector(\"#\".concat(MODAL_CONTAINER_ID));\n          containerEl.style.height = \"\".concat(height, \"px\");\n          containerEl.style.width = \"\".concat(width, \"px\");\n        };\n        WazeForms.prototype.formUrl = function (formData) {\n          var hostname = this.env && this.env === \"stg\" ? STAGING_HOSTNAME : PRODUCTION_HOSTNAME;\n          var prefix = this.env ? ENV_PREFIX[this.env] : DEFAULT_ENV_URL_PREFIX;\n          var path = \"form/\".concat(formData.locale || DEFAULT_FORM_LOCALE, \"/\").concat(formData.id || DEFAULT_FORM_ID);\n          var url = new URL(\"\".concat(hostname, \"/\").concat(prefix, \"/\").concat(path));\n          url.searchParams.append(\"modalDisplay\", \"1\");\n          url.searchParams.append(\"channel\", formData.channel || DEFAULT_FORM_CHANNEL);\n          for (var property in formData.additionalParams) {\n            if (Object.prototype.hasOwnProperty.call(formData.additionalParams, property)) {\n              url.searchParams.append(property, formData.additionalParams[property]);\n            }\n          }\n          return url;\n        };\n        return WazeForms;\n      }();\n      exports.WazeForms = WazeForms;\n\n      /***/\n    }),\n    /***/4094: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.parseFromString = exports.parseXml = exports.parseHtml = void 0;\n      __webpack_require__(5723);\n      const html_impl_1 = __webpack_require__(5971);\n      /** Safely parses a string using the HTML parser. */\n      function parseHtml(parser, html) {\n        return parseFromString(parser, html, 'text/html');\n      }\n      exports.parseHtml = parseHtml;\n      /**\n       * Safely parses a string using the XML parser. If the XML document is found to\n       * contain any elements from the HTML or SVG namespaces, an error is thrown for\n       * security reasons.\n       */\n      function parseXml(parser, xml) {\n        const doc = parseFromString(parser, (0, html_impl_1.createHtmlInternal)(xml), 'text/xml');\n        const iterator = document.createNodeIterator(doc, NodeFilter.SHOW_ALL, null,\n        // @ts-ignore: error TS2554: Expected 1-3 arguments, but got 4.\n        false);\n        let currentNode;\n        while (currentNode = iterator.nextNode()) {\n          if (currentNode instanceof HTMLElement || currentNode instanceof SVGElement) {\n            let message = 'unsafe XML';\n            if (false) {}\n            throw new Error(message);\n          }\n        }\n        return doc;\n      }\n      exports.parseXml = parseXml;\n      /** Safely parses a string using the HTML or XML parser. */\n      function parseFromString(parser, content, contentType) {\n        return parser.parseFromString((0, html_impl_1.unwrapHtml)(content), contentType);\n      }\n      exports.parseFromString = parseFromString;\n\n      /***/\n    }),\n    /***/4315: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setFormaction = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Formaction attribute from the given Url.\n       */\n      function setFormaction(input, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          input.formAction = sanitizedUrl;\n        }\n      }\n      exports.setFormaction = setFormaction;\n\n      /***/\n    }),\n    /***/4455: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapStyleSheet = exports.isStyleSheet = exports.createStyleSheetInternal = exports.SafeStyleSheet = void 0;\n      __webpack_require__(5723);\n      const secrets_1 = __webpack_require__(2022);\n      /**\n       * A complete CSS style sheet, safe to use in style contexts in an HTML document\n       * or DOM APIs.\n       */\n      class SafeStyleSheet {}\n      exports.SafeStyleSheet = SafeStyleSheet;\n      /** Implementation for `SafeStyleSheet` */\n      class StyleSheetImpl extends SafeStyleSheet {\n        constructor(styleSheet, token) {\n          super();\n          (0, secrets_1.ensureTokenIsValid)(token);\n          this.privateDoNotAccessOrElseWrappedStyleSheet = styleSheet;\n        }\n        toString() {\n          return this.privateDoNotAccessOrElseWrappedStyleSheet;\n        }\n      }\n      /**\n       * Builds a new `SafeStyleSheet` from the given string, without enforcing\n       * safety guarantees. This shouldn't be exposed to application developers, and\n       * must only be used as a step towards safe builders or safe constants.\n       */\n      function createStyleSheetInternal(styleSheet) {\n        return new StyleSheetImpl(styleSheet, secrets_1.secretToken);\n      }\n      exports.createStyleSheetInternal = createStyleSheetInternal;\n      /**\n       * Checks if the given value is a `SafeStyleSheet` instance.\n       */\n      function isStyleSheet(value) {\n        return value instanceof StyleSheetImpl;\n      }\n      exports.isStyleSheet = isStyleSheet;\n      /**\n       * Returns the string value of the passed `SafeStyleSheet` object while\n       * ensuring it has the correct type.\n       */\n      function unwrapStyleSheet(value) {\n        if (value instanceof StyleSheetImpl) {\n          return value.privateDoNotAccessOrElseWrappedStyleSheet;\n        } else {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      exports.unwrapStyleSheet = unwrapStyleSheet;\n\n      /***/\n    }),\n    /***/4782: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapStyleSheet = exports.SafeStyleSheet = exports.isStyleSheet = exports.unwrapScript = exports.SafeScript = exports.isScript = exports.EMPTY_SCRIPT = exports.unwrapResourceUrl = exports.TrustedResourceUrl = exports.isResourceUrl = exports.unwrapHtml = exports.SafeHtml = exports.isHtml = exports.EMPTY_HTML = exports.unwrapAttributePrefix = exports.SafeAttributePrefix = exports.safeStyleSheet = exports.concatStyleSheets = exports.valueAsScript = exports.safeScriptWithArgs = exports.safeScript = exports.concatScripts = exports.trustedResourceUrl = exports.replaceFragment = exports.objectUrlFromScript = exports.appendPathSegment = exports.appendParams = exports.HtmlSanitizerBuilder = exports.sanitizeHtmlToFragment = exports.sanitizeHtmlAssertUnchanged = exports.sanitizeHtml = exports.scriptUrlToHtml = exports.scriptToHtml = exports.joinHtmls = exports.htmlEscape = exports.concatHtmls = exports.safeAttrPrefix = void 0;\n      /** Safe builders */\n      var attribute_builders_1 = __webpack_require__(2146);\n      Object.defineProperty(exports, \"safeAttrPrefix\", {\n        enumerable: true,\n        get: function () {\n          return attribute_builders_1.safeAttrPrefix;\n        }\n      });\n      var html_builders_1 = __webpack_require__(9905);\n      Object.defineProperty(exports, \"concatHtmls\", {\n        enumerable: true,\n        get: function () {\n          return html_builders_1.concatHtmls;\n        }\n      });\n      Object.defineProperty(exports, \"htmlEscape\", {\n        enumerable: true,\n        get: function () {\n          return html_builders_1.htmlEscape;\n        }\n      });\n      Object.defineProperty(exports, \"joinHtmls\", {\n        enumerable: true,\n        get: function () {\n          return html_builders_1.joinHtmls;\n        }\n      });\n      Object.defineProperty(exports, \"scriptToHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_builders_1.scriptToHtml;\n        }\n      });\n      Object.defineProperty(exports, \"scriptUrlToHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_builders_1.scriptUrlToHtml;\n        }\n      });\n      var html_sanitizer_1 = __webpack_require__(1556);\n      Object.defineProperty(exports, \"sanitizeHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_sanitizer_1.sanitizeHtml;\n        }\n      });\n      Object.defineProperty(exports, \"sanitizeHtmlAssertUnchanged\", {\n        enumerable: true,\n        get: function () {\n          return html_sanitizer_1.sanitizeHtmlAssertUnchanged;\n        }\n      });\n      Object.defineProperty(exports, \"sanitizeHtmlToFragment\", {\n        enumerable: true,\n        get: function () {\n          return html_sanitizer_1.sanitizeHtmlToFragment;\n        }\n      });\n      var html_sanitizer_builder_1 = __webpack_require__(8100);\n      Object.defineProperty(exports, \"HtmlSanitizerBuilder\", {\n        enumerable: true,\n        get: function () {\n          return html_sanitizer_builder_1.HtmlSanitizerBuilder;\n        }\n      });\n      var resource_url_builders_1 = __webpack_require__(1204);\n      Object.defineProperty(exports, \"appendParams\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_builders_1.appendParams;\n        }\n      });\n      Object.defineProperty(exports, \"appendPathSegment\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_builders_1.appendPathSegment;\n        }\n      });\n      Object.defineProperty(exports, \"objectUrlFromScript\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_builders_1.objectUrlFromScript;\n        }\n      });\n      Object.defineProperty(exports, \"replaceFragment\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_builders_1.replaceFragment;\n        }\n      });\n      Object.defineProperty(exports, \"trustedResourceUrl\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_builders_1.trustedResourceUrl;\n        }\n      });\n      var script_builders_1 = __webpack_require__(3679);\n      Object.defineProperty(exports, \"concatScripts\", {\n        enumerable: true,\n        get: function () {\n          return script_builders_1.concatScripts;\n        }\n      });\n      Object.defineProperty(exports, \"safeScript\", {\n        enumerable: true,\n        get: function () {\n          return script_builders_1.safeScript;\n        }\n      });\n      Object.defineProperty(exports, \"safeScriptWithArgs\", {\n        enumerable: true,\n        get: function () {\n          return script_builders_1.safeScriptWithArgs;\n        }\n      });\n      Object.defineProperty(exports, \"valueAsScript\", {\n        enumerable: true,\n        get: function () {\n          return script_builders_1.valueAsScript;\n        }\n      });\n      var style_sheet_builders_1 = __webpack_require__(8213);\n      Object.defineProperty(exports, \"concatStyleSheets\", {\n        enumerable: true,\n        get: function () {\n          return style_sheet_builders_1.concatStyleSheets;\n        }\n      });\n      Object.defineProperty(exports, \"safeStyleSheet\", {\n        enumerable: true,\n        get: function () {\n          return style_sheet_builders_1.safeStyleSheet;\n        }\n      });\n      /** Types, constants and unwrappers */\n      var attribute_impl_1 = __webpack_require__(6324);\n      Object.defineProperty(exports, \"SafeAttributePrefix\", {\n        enumerable: true,\n        get: function () {\n          return attribute_impl_1.SafeAttributePrefix;\n        }\n      });\n      Object.defineProperty(exports, \"unwrapAttributePrefix\", {\n        enumerable: true,\n        get: function () {\n          return attribute_impl_1.unwrapAttributePrefix;\n        }\n      });\n      var html_impl_1 = __webpack_require__(5971);\n      Object.defineProperty(exports, \"EMPTY_HTML\", {\n        enumerable: true,\n        get: function () {\n          return html_impl_1.EMPTY_HTML;\n        }\n      });\n      Object.defineProperty(exports, \"isHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_impl_1.isHtml;\n        }\n      });\n      Object.defineProperty(exports, \"SafeHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_impl_1.SafeHtml;\n        }\n      });\n      Object.defineProperty(exports, \"unwrapHtml\", {\n        enumerable: true,\n        get: function () {\n          return html_impl_1.unwrapHtml;\n        }\n      });\n      var resource_url_impl_1 = __webpack_require__(8402);\n      Object.defineProperty(exports, \"isResourceUrl\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_impl_1.isResourceUrl;\n        }\n      });\n      Object.defineProperty(exports, \"TrustedResourceUrl\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_impl_1.TrustedResourceUrl;\n        }\n      });\n      Object.defineProperty(exports, \"unwrapResourceUrl\", {\n        enumerable: true,\n        get: function () {\n          return resource_url_impl_1.unwrapResourceUrl;\n        }\n      });\n      var script_impl_1 = __webpack_require__(7253);\n      Object.defineProperty(exports, \"EMPTY_SCRIPT\", {\n        enumerable: true,\n        get: function () {\n          return script_impl_1.EMPTY_SCRIPT;\n        }\n      });\n      Object.defineProperty(exports, \"isScript\", {\n        enumerable: true,\n        get: function () {\n          return script_impl_1.isScript;\n        }\n      });\n      Object.defineProperty(exports, \"SafeScript\", {\n        enumerable: true,\n        get: function () {\n          return script_impl_1.SafeScript;\n        }\n      });\n      Object.defineProperty(exports, \"unwrapScript\", {\n        enumerable: true,\n        get: function () {\n          return script_impl_1.unwrapScript;\n        }\n      });\n      var style_sheet_impl_1 = __webpack_require__(4455);\n      Object.defineProperty(exports, \"isStyleSheet\", {\n        enumerable: true,\n        get: function () {\n          return style_sheet_impl_1.isStyleSheet;\n        }\n      });\n      Object.defineProperty(exports, \"SafeStyleSheet\", {\n        enumerable: true,\n        get: function () {\n          return style_sheet_impl_1.SafeStyleSheet;\n        }\n      });\n      Object.defineProperty(exports, \"unwrapStyleSheet\", {\n        enumerable: true,\n        get: function () {\n          return style_sheet_impl_1.unwrapStyleSheet;\n        }\n      });\n\n      /***/\n    }),\n    /***/5000: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.open = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * open calls {@link Window.open} on the given {@link Window}, given a\n       * target {@link Url}.\n       */\n      function open(win, url, target, features) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          return win.open(sanitizedUrl, target, features);\n        }\n        return null;\n      }\n      exports.open = open;\n\n      /***/\n    }),\n    /***/5398: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.TEST_ONLY = exports.getTrustedTypesPolicy = exports.getTrustedTypes = void 0;\n      /**\n       * The name of the Trusted Types policy used by TS safevalues, or empty\n       * to disable Trusted Types. This duplicates the 'google#safe', but\n       * can be overridden in tests.\n       */\n      let trustedTypesPolicyName = 'google#safe';\n      /** Helper to retrieve the value of `window.trustedTypes`. */\n      function trustedTypes() {\n        if (typeof window !== 'undefined') {\n          return window.trustedTypes;\n        }\n        return undefined;\n      }\n      /**\n       * Returns window.trustedTypes if Trusted Types are enabled and supported, or\n       * null otherwise.\n       */\n      function getTrustedTypes() {\n        var _a;\n        return trustedTypesPolicyName !== '' ? (_a = trustedTypes()) !== null && _a !== void 0 ? _a : null : null;\n      }\n      exports.getTrustedTypes = getTrustedTypes;\n      /**\n       * The Trusted Types policy used by TS safevalues, or null if Trusted Types\n       * are not enabled/supported, or undefined if the policy has not been created\n       * yet.\n       */\n      let trustedTypesPolicy;\n      /**\n       * Returns the Trusted Types policy used by TS safevalues, or null if Trusted\n       * Types are not enabled/supported. The first call to this function will\n       * create the policy.\n       */\n      function getTrustedTypesPolicy() {\n        var _a, _b;\n        if (trustedTypesPolicy === undefined) {\n          try {\n            trustedTypesPolicy = (_b = (_a = getTrustedTypes()) === null || _a === void 0 ? void 0 : _a.createPolicy(trustedTypesPolicyName, {\n              createHTML: s => s,\n              createScript: s => s,\n              createScriptURL: s => s\n            })) !== null && _b !== void 0 ? _b : null;\n          } catch (_c) {\n            // In Chromium versions before 81, trustedTypes.createPolicy throws if\n            // called with a name that is already registered, even if no CSP is set.\n            // Until users have largely migrated to 81 or above, catch the error not\n            // to break the applications functionally. In such case, the code will\n            // fall back to using regular Safe Types.\n            trustedTypesPolicy = null;\n          }\n        }\n        return trustedTypesPolicy;\n      }\n      exports.getTrustedTypesPolicy = getTrustedTypesPolicy;\n      /** Helpers for tests. */\n      exports.TEST_ONLY = {\n        resetDefaults() {\n          trustedTypesPolicy = undefined;\n          trustedTypesPolicyName = 'google#safe';\n        },\n        setTrustedTypesPolicyName(name) {\n          trustedTypesPolicyName = name;\n        }\n      };\n\n      /***/\n    }),\n    /***/5494: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setTextContent = void 0;\n      const style_sheet_impl_1 = __webpack_require__(4455);\n      /** Safe setters for `HTMLStyleElement`s. */\n      function setTextContent(elem, safeStyleSheet) {\n        elem.textContent = (0, style_sheet_impl_1.unwrapStyleSheet)(safeStyleSheet);\n      }\n      exports.setTextContent = setTextContent;\n\n      /***/\n    }),\n    /***/5498: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.importScripts = exports.createShared = exports.create = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /**\n       * Safely creates a Web Worker.\n       *\n       * Example usage:\n       *   const trustedResourceUrl = trustedResourceUrl`/safe_script.js`;\n       *   safedom.safeWorker.create(trustedResourceUrl);\n       * which is a safe alternative to\n       *   new Worker(url);\n       * The latter can result in loading untrusted code.\n       */\n      function create(url, options) {\n        return new Worker((0, resource_url_impl_1.unwrapResourceUrl)(url), options);\n      }\n      exports.create = create;\n      /** Safely creates a shared Web Worker. */\n      function createShared(url, options) {\n        return new SharedWorker((0, resource_url_impl_1.unwrapResourceUrl)(url), options);\n      }\n      exports.createShared = createShared;\n      /** Safely calls importScripts */\n      function importScripts(scope) {\n        for (var _len2 = arguments.length, urls = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n          urls[_key2 - 1] = arguments[_key2];\n        }\n        scope.importScripts(...urls.map(url => (0, resource_url_impl_1.unwrapResourceUrl)(url)));\n      }\n      exports.importScripts = importScripts;\n\n      /***/\n    }),\n    /***/5723: (/***/() => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      /**\n       * Ensure process.env.NODE_ENV is set even when not running under Webpack or\n       * Node. Terser will strip this out of production binaries.\n       */\n      /*#__PURE__*/\n      (() => {\n        if (typeof process === 'undefined') {\n          window.process = {\n            env: {\n              NODE_ENV: 'development'\n            }\n          };\n        }\n      })();\n\n      /***/\n    }),\n    /***/5890: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.assertIsTemplateObject = void 0;\n      /**\n       * An object of type TemplateStringsArray represents the literal part(s) of a\n       * template literal. This function checks if a TemplateStringsArray object is\n       * actually from a template literal.\n       *\n       * @param templateObj This contains the literal part of the template literal.\n       * @param numExprs The number of embedded expressions\n       */\n      function assertIsTemplateObject(templateObj, numExprs) {\n        if (!isTemplateObject(templateObj) || numExprs + 1 !== templateObj.length) {\n          throw new TypeError(`\n    ############################## ERROR ##############################\n\n    It looks like you are trying to call a template tag function (fn\\`...\\`)\n    using the normal function syntax (fn(...)), which is not supported.\n\n    The functions in the safevalues library are not designed to be called\n    like normal functions, and doing so invalidates the security guarantees\n    that safevalues provides.\n\n    If you are stuck and not sure how to proceed, please reach out to us\n    instead through:\n     - https://github.com/google/safevalues/issues\n\n    ############################## ERROR ##############################`);\n        }\n      }\n      exports.assertIsTemplateObject = assertIsTemplateObject;\n      /** Checks if `templateObj` and its raw property are frozen. */\n      function checkFrozen(templateObj) {\n        return Object.isFrozen(templateObj) && Object.isFrozen(templateObj.raw);\n      }\n      /**\n       * Checks if a function containing a tagged template expression is transpiled.\n       */\n      function checkTranspiled(fn) {\n        return fn.toString().indexOf('`') === -1;\n      }\n      /**\n       * This value tells us if the code is transpiled, in which case we don't\n       * check certain things that transpilers typically don't support. The\n       * transpilation turns it into a function call that takes an array.\n       */\n      const isTranspiled = checkTranspiled(tag => tag``) || checkTranspiled(tag => tag`\\0`) || checkTranspiled(tag => tag`\\n`) || checkTranspiled(tag => tag`\\u0000`);\n      /**\n       * This value tells us if `TemplateStringsArray` are typically frozen in the\n       * current environment.\n       */\n      const frozenTSA = checkFrozen`` && checkFrozen`\\0` && checkFrozen`\\n` && checkFrozen`\\u0000`;\n      /** Polyfill of https://github.com/tc39/proposal-array-is-template-object */\n      function isTemplateObject(templateObj) {\n        /*\n         * ############################## WARNING ##############################\n         *\n         * If you are reading this code to understand how to create a value\n         * that satifsies this check, STOP and read this paragraph.\n         *\n         * This function is there to ensure that our tagged template functions are\n         * always called using the tag syntax fn`...`, rather than the normal\n         * function syntax fn(...). Bypassing this check invalidates the guarantees\n         * that safevalues provides and will result in security issues in your code.\n         *\n         * If you are stuck and not sure how to proceed, please reach out to us\n         * instead through:\n         *  - https://github.com/google/safevalues/issues\n         *\n         * ############################## WARNING ##############################\n         */\n        if (!Array.isArray(templateObj) || !Array.isArray(templateObj.raw)) {\n          return false;\n        }\n        if (templateObj.length !== templateObj.raw.length) {\n          return false;\n        }\n        if (!isTranspiled && templateObj === templateObj.raw) {\n          // Sometimes transpilers use the same array to save on codesize if the\n          // template has no special characters that would cause the values in each\n          // array to be different.\n          return false;\n        }\n        if ((!isTranspiled || frozenTSA) && !checkFrozen(templateObj)) {\n          // Transpilers typically don't freeze `TemplateStringsArray` objects, but we\n          // expect that if they did, they would do it consistently, so we also\n          // dynamically check if they do.\n          return false;\n        }\n        return true;\n      }\n\n      /***/\n    }),\n    /***/5971: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapHtml = exports.isHtml = exports.EMPTY_HTML = exports.createHtmlInternal = exports.SafeHtml = void 0;\n      __webpack_require__(5723);\n      const secrets_1 = __webpack_require__(2022);\n      const trusted_types_1 = __webpack_require__(5398);\n      /**\n       * Runtime implementation of `TrustedHTML` in browsers that don't support it.\n       */\n      class HtmlImpl {\n        constructor(html, token) {\n          (0, secrets_1.ensureTokenIsValid)(token);\n          this.privateDoNotAccessOrElseWrappedHtml = html;\n        }\n        toString() {\n          return this.privateDoNotAccessOrElseWrappedHtml.toString();\n        }\n      }\n      function createTrustedHtmlOrPolyfill(html, trusted) {\n        return trusted !== null && trusted !== void 0 ? trusted : new HtmlImpl(html, secrets_1.secretToken);\n      }\n      const GlobalTrustedHTML = typeof window !== 'undefined' ? window.TrustedHTML : undefined;\n      /**\n       * Also exports the constructor so that instanceof checks work.\n       */\n      exports.SafeHtml = GlobalTrustedHTML !== null && GlobalTrustedHTML !== void 0 ? GlobalTrustedHTML : HtmlImpl;\n      /**\n       * Builds a new `SafeHtml` from the given string, without enforcing safety\n       * guarantees. It may cause side effects by creating a Trusted Types policy.\n       * This shouldn't be exposed to application developers, and must only be used as\n       * a step towards safe builders or safe constants.\n       */\n      function createHtmlInternal(html) {\n        var _a;\n        /** @noinline */\n        const noinlineHtml = html;\n        return createTrustedHtmlOrPolyfill(noinlineHtml, (_a = (0, trusted_types_1.getTrustedTypesPolicy)()) === null || _a === void 0 ? void 0 : _a.createHTML(noinlineHtml));\n      }\n      exports.createHtmlInternal = createHtmlInternal;\n      /**\n       * An empty `SafeHtml` constant.\n       * Unlike the function above, using this will not create a policy.\n       */\n      exports.EMPTY_HTML = /* #__PURE__ */(() => {\n        var _a;\n        return createTrustedHtmlOrPolyfill('', (_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.emptyHTML);\n      })();\n      /**\n       * Checks if the given value is a `SafeHtml` instance.\n       */\n      function isHtml(value) {\n        var _a;\n        return ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isHTML(value)) || value instanceof HtmlImpl;\n      }\n      exports.isHtml = isHtml;\n      /**\n       * Returns the value of the passed `SafeHtml` object while ensuring it\n       * has the correct type.\n       *\n       * Returns a native `TrustedHTML` or a string if Trusted Types are disabled.\n       */\n      function unwrapHtml(value) {\n        var _a;\n        if ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isHTML(value)) {\n          return value;\n        } else if (value instanceof HtmlImpl) {\n          return value.privateDoNotAccessOrElseWrappedHtml;\n        } else {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      exports.unwrapHtml = unwrapHtml;\n\n      /***/\n    }),\n    /***/6324: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapAttributePrefix = exports.createAttributePrefixInternal = exports.SafeAttributePrefix = void 0;\n      __webpack_require__(5723);\n      const secrets_1 = __webpack_require__(2022);\n      /** A prefix with which an attribute is safe to set using plain strings. */\n      class SafeAttributePrefix {}\n      exports.SafeAttributePrefix = SafeAttributePrefix;\n      /** Implementation for `SafeAttributePrefix` */\n      class AttributePrefixImpl extends SafeAttributePrefix {\n        constructor(attrPrefix, token) {\n          super();\n          (0, secrets_1.ensureTokenIsValid)(token);\n          this.privateDoNotAccessOrElseWrappedAttrPrefix = attrPrefix;\n        }\n        toString() {\n          return this.privateDoNotAccessOrElseWrappedAttrPrefix;\n        }\n      }\n      /**\n       * Builds a new `SafeAttribute` from the given string, without enforcing\n       * safety guarantees. This shouldn't be exposed to application developers, and\n       * must only be used as a step towards safe builders or safe constants.\n       */\n      function createAttributePrefixInternal(attrPrefix) {\n        return new AttributePrefixImpl(attrPrefix, secrets_1.secretToken);\n      }\n      exports.createAttributePrefixInternal = createAttributePrefixInternal;\n      /**\n       * Returns the string value of the passed `SafeAttributePrefix` object while\n       * ensuring it has the correct type.\n       */\n      function unwrapAttributePrefix(value) {\n        if (value instanceof AttributePrefixImpl) {\n          return value.privateDoNotAccessOrElseWrappedAttrPrefix;\n        } else {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      exports.unwrapAttributePrefix = unwrapAttributePrefix;\n\n      /***/\n    }),\n    /***/6596: (/***/(__unused_webpack_module, exports) => {\n      /*!\n       * cookie\n       * Copyright(c) 2012-2014 Roman Shtylman\n       * Copyright(c) 2015 Douglas Christopher Wilson\n       * MIT Licensed\n       */\n\n      /**\n       * Module exports.\n       * @public\n       */\n\n      exports.parse = parse;\n      exports.serialize = serialize;\n\n      /**\n       * Module variables.\n       * @private\n       */\n\n      var decode = decodeURIComponent;\n      var encode = encodeURIComponent;\n\n      /**\n       * RegExp to match field-content in RFC 7230 sec 3.2\n       *\n       * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n       * field-vchar   = VCHAR / obs-text\n       * obs-text      = %x80-FF\n       */\n\n      var fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n      /**\n       * Parse a cookie header.\n       *\n       * Parse the given cookie header string into an object\n       * The object has the various cookies as keys(names) => values\n       *\n       * @param {string} str\n       * @param {object} [options]\n       * @return {object}\n       * @public\n       */\n\n      function parse(str, options) {\n        if (typeof str !== 'string') {\n          throw new TypeError('argument str must be a string');\n        }\n        var obj = {};\n        var opt = options || {};\n        var pairs = str.split(';');\n        var dec = opt.decode || decode;\n        for (var i = 0; i < pairs.length; i++) {\n          var pair = pairs[i];\n          var index = pair.indexOf('=');\n\n          // skip things that don't look like key=value\n          if (index < 0) {\n            continue;\n          }\n          var key = pair.substring(0, index).trim();\n\n          // only assign once\n          if (undefined == obj[key]) {\n            var val = pair.substring(index + 1, pair.length).trim();\n\n            // quoted values\n            if (val[0] === '\"') {\n              val = val.slice(1, -1);\n            }\n            obj[key] = tryDecode(val, dec);\n          }\n        }\n        return obj;\n      }\n\n      /**\n       * Serialize data into a cookie header.\n       *\n       * Serialize the a name value pair into a cookie string suitable for\n       * http headers. An optional options object specified cookie parameters.\n       *\n       * serialize('foo', 'bar', { httpOnly: true })\n       *   => \"foo=bar; httpOnly\"\n       *\n       * @param {string} name\n       * @param {string} val\n       * @param {object} [options]\n       * @return {string}\n       * @public\n       */\n\n      function serialize(name, val, options) {\n        var opt = options || {};\n        var enc = opt.encode || encode;\n        if (typeof enc !== 'function') {\n          throw new TypeError('option encode is invalid');\n        }\n        if (!fieldContentRegExp.test(name)) {\n          throw new TypeError('argument name is invalid');\n        }\n        var value = enc(val);\n        if (value && !fieldContentRegExp.test(value)) {\n          throw new TypeError('argument val is invalid');\n        }\n        var str = name + '=' + value;\n        if (null != opt.maxAge) {\n          var maxAge = opt.maxAge - 0;\n          if (isNaN(maxAge) || !isFinite(maxAge)) {\n            throw new TypeError('option maxAge is invalid');\n          }\n          str += '; Max-Age=' + Math.floor(maxAge);\n        }\n        if (opt.domain) {\n          if (!fieldContentRegExp.test(opt.domain)) {\n            throw new TypeError('option domain is invalid');\n          }\n          str += '; Domain=' + opt.domain;\n        }\n        if (opt.path) {\n          if (!fieldContentRegExp.test(opt.path)) {\n            throw new TypeError('option path is invalid');\n          }\n          str += '; Path=' + opt.path;\n        }\n        if (opt.expires) {\n          if (typeof opt.expires.toUTCString !== 'function') {\n            throw new TypeError('option expires is invalid');\n          }\n          str += '; Expires=' + opt.expires.toUTCString();\n        }\n        if (opt.httpOnly) {\n          str += '; HttpOnly';\n        }\n        if (opt.secure) {\n          str += '; Secure';\n        }\n        if (opt.sameSite) {\n          var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n          switch (sameSite) {\n            case true:\n              str += '; SameSite=Strict';\n              break;\n            case 'lax':\n              str += '; SameSite=Lax';\n              break;\n            case 'strict':\n              str += '; SameSite=Strict';\n              break;\n            case 'none':\n              str += '; SameSite=None';\n              break;\n            default:\n              throw new TypeError('option sameSite is invalid');\n          }\n        }\n        return str;\n      }\n\n      /**\n       * Try decoding a string using a decoding function.\n       *\n       * @param {string} str\n       * @param {function} decode\n       * @private\n       */\n\n      function tryDecode(str, decode) {\n        try {\n          return decode(str);\n        } catch (e) {\n          return str;\n        }\n      }\n\n      /***/\n    }),\n    /***/6647: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setSrcdoc = exports.setSrc = void 0;\n      /**\n       * @fileoverview Safe iframe helpers and go/intents-for-iframes-for-closure\n       */\n      const html_impl_1 = __webpack_require__(5971);\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /** Sets the Src attribute using a TrustedResourceUrl */\n      function setSrc(iframe, v) {\n        iframe.src = (0, resource_url_impl_1.unwrapResourceUrl)(v).toString();\n      }\n      exports.setSrc = setSrc;\n      /** Sets the Srcdoc attribute using a SafeHtml */\n      function setSrcdoc(iframe, v) {\n        iframe.srcdoc = (0, html_impl_1.unwrapHtml)(v);\n      }\n      exports.setSrcdoc = setSrcdoc;\n\n      /***/\n    }),\n    /***/6895: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setHrefAndRel = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      const resource_url_impl_1 = __webpack_require__(8402);\n      const SAFE_URL_REL_VALUES = ['alternate', 'author', 'bookmark', 'canonical', 'cite', 'help', 'icon', 'license', 'next', 'prefetch', 'dns-prefetch', 'prerender', 'preconnect', 'preload', 'prev', 'search', 'subresource'];\n      function setHrefAndRel(link, url, rel) {\n        if ((0, resource_url_impl_1.isResourceUrl)(url)) {\n          link.href = (0, resource_url_impl_1.unwrapResourceUrl)(url).toString();\n        } else {\n          if (SAFE_URL_REL_VALUES.indexOf(rel) === -1) {\n            throw new Error(`TrustedResourceUrl href attribute required with rel=\"${rel}\"`);\n          }\n          const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n          if (sanitizedUrl === undefined) {\n            return;\n          }\n          link.href = sanitizedUrl;\n        }\n        link.rel = rel;\n      }\n      exports.setHrefAndRel = setHrefAndRel;\n\n      /***/\n    }),\n    /***/7142: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.isElement = exports.isText = exports.getNodeName = void 0;\n      /**\n       * Library that provides safe getters for different node properties and\n       * checks for clobbering.\n       */\n      /** Gets a reasonable nodeName, even for clobbered nodes. */\n      function getNodeName(node) {\n        const nodeName = node.nodeName;\n        // If the property is clobbered, assume it is an `HTMLFormElement`.\n        return typeof nodeName === 'string' ? nodeName : 'FORM';\n      }\n      exports.getNodeName = getNodeName;\n      /** Returns true if the object passed is a Text node. */\n      function isText(node) {\n        // The property cannot get clobbered on Text nodes.\n        return node.nodeType === 3; // Node.TEXT_NODE\n      }\n      exports.isText = isText;\n      /** Returns true if the object passed is an Element node. */\n      function isElement(node) {\n        const nodeType = node.nodeType;\n        // If the property is clobbered, we can assume it is an `HTMLFormElement`, and\n        // thus an `Element`.\n        return nodeType === 1 /* Node.ELEMENT_NODE */ || typeof nodeType !== 'number';\n      }\n      exports.isElement = isElement;\n\n      /***/\n    }),\n    /***/7253: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapScript = exports.isScript = exports.EMPTY_SCRIPT = exports.createScriptInternal = exports.SafeScript = void 0;\n      __webpack_require__(5723);\n      const secrets_1 = __webpack_require__(2022);\n      const trusted_types_1 = __webpack_require__(5398);\n      /**\n       * Runtime implementation of `TrustedScript` in browswers that don't support it.\n       * script element.\n       */\n      class ScriptImpl {\n        constructor(script, token) {\n          (0, secrets_1.ensureTokenIsValid)(token);\n          this.privateDoNotAccessOrElseWrappedScript = script;\n        }\n        toString() {\n          return this.privateDoNotAccessOrElseWrappedScript.toString();\n        }\n      }\n      function createTrustedScriptOrPolyfill(script, trusted) {\n        return trusted !== null && trusted !== void 0 ? trusted : new ScriptImpl(script, secrets_1.secretToken);\n      }\n      const GlobalTrustedScript = typeof window !== 'undefined' ? window.TrustedScript : undefined;\n      /**\n       * Also exports the constructor so that instanceof checks work.\n       */\n      exports.SafeScript = GlobalTrustedScript !== null && GlobalTrustedScript !== void 0 ? GlobalTrustedScript : ScriptImpl;\n      /**\n       * Builds a new `SafeScript` from the given string, without enforcing\n       * safety guarantees. It may cause side effects by creating a Trusted Types\n       * policy. This shouldn't be exposed to application developers, and must only be\n       * used as a step towards safe builders or safe constants.\n       */\n      function createScriptInternal(script) {\n        var _a;\n        /** @noinline */\n        const noinlineScript = script;\n        return createTrustedScriptOrPolyfill(noinlineScript, (_a = (0, trusted_types_1.getTrustedTypesPolicy)()) === null || _a === void 0 ? void 0 : _a.createScript(noinlineScript));\n      }\n      exports.createScriptInternal = createScriptInternal;\n      /**\n       * An empty `SafeScript` constant.\n       * Unlike the functions above, using this will not create a policy.\n       */\n      exports.EMPTY_SCRIPT = /* #__PURE__ */(() => {\n        var _a;\n        return createTrustedScriptOrPolyfill('', (_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.emptyScript);\n      })();\n      /**\n       * Checks if the given value is a `SafeScript` instance.\n       */\n      function isScript(value) {\n        var _a;\n        return ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isScript(value)) || value instanceof ScriptImpl;\n      }\n      exports.isScript = isScript;\n      /**\n       * Returns the value of the passed `SafeScript` object while ensuring it\n       * has the correct type.\n       *\n       * Returns a native `TrustedScript` or a string if Trusted Types are disabled.\n       */\n      function unwrapScript(value) {\n        var _a;\n        if ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isScript(value)) {\n          return value;\n        } else if (value instanceof ScriptImpl) {\n          return value.privateDoNotAccessOrElseWrappedScript;\n        } else {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      exports.unwrapScript = unwrapScript;\n\n      /***/\n    }),\n    /***/7513: (/***/(__unused_webpack_module, exports) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.isCustomElement = exports.AttributePolicyAction = exports.SanitizerTable = void 0;\n      /** Class for holding element and attribute policies used for sanitization. */\n      class SanitizerTable {\n        constructor(allowedElements, elementPolicies, allowedGlobalAttributes, globalAttributePolicies, globallyAllowedAttributePrefixes) {\n          this.allowedElements = allowedElements;\n          this.elementPolicies = elementPolicies;\n          this.allowedGlobalAttributes = allowedGlobalAttributes;\n          this.globalAttributePolicies = globalAttributePolicies;\n          this.globallyAllowedAttributePrefixes = globallyAllowedAttributePrefixes;\n        }\n        isAllowedElement(elementName) {\n          // Note: `HTMLFormElement`s are always dropped, supporting them is very\n          // costly because of the DOM clobberring they can cause. The additional code\n          // size required to properly work around DOM clobberring issues is large and\n          // shouldn't be put on every user of the sanitizer. Thoroughly review\n          // b/210975025 and the CLs linked there before you start allowing form\n          // elements.\n          return elementName !== 'FORM' && (this.allowedElements.has(elementName) || this.elementPolicies.has(elementName));\n        }\n        getAttributePolicy(attributeName, elementName) {\n          const elementPolicy = this.elementPolicies.get(elementName);\n          if (elementPolicy === null || elementPolicy === void 0 ? void 0 : elementPolicy.has(attributeName)) {\n            return elementPolicy.get(attributeName);\n          }\n          if (this.allowedGlobalAttributes.has(attributeName)) {\n            return {\n              policyAction: AttributePolicyAction.KEEP\n            };\n          }\n          const globalPolicy = this.globalAttributePolicies.get(attributeName);\n          if (globalPolicy) {\n            return globalPolicy;\n          }\n          if (this.globallyAllowedAttributePrefixes && [...this.globallyAllowedAttributePrefixes].some(prefix => attributeName.indexOf(prefix) === 0)) {\n            return {\n              policyAction: AttributePolicyAction.KEEP\n            };\n          }\n          return {\n            policyAction: AttributePolicyAction.DROP\n          };\n        }\n      }\n      exports.SanitizerTable = SanitizerTable;\n      /**\n       * Values derived from\n       * https://godoc.corp.google.com/pkg/google3/third_party/safehtml/sanitizer/policy#AttributePolicy\n       */\n      var AttributePolicyAction;\n      (function (AttributePolicyAction) {\n        AttributePolicyAction[AttributePolicyAction[\"DROP\"] = 0] = \"DROP\";\n        AttributePolicyAction[AttributePolicyAction[\"KEEP\"] = 1] = \"KEEP\";\n        AttributePolicyAction[AttributePolicyAction[\"KEEP_AND_SANITIZE_URL\"] = 2] = \"KEEP_AND_SANITIZE_URL\";\n        AttributePolicyAction[AttributePolicyAction[\"KEEP_AND_NORMALIZE\"] = 3] = \"KEEP_AND_NORMALIZE\";\n        AttributePolicyAction[AttributePolicyAction[\"KEEP_AND_SANITIZE_STYLE\"] = 4] = \"KEEP_AND_SANITIZE_STYLE\";\n      })(AttributePolicyAction = exports.AttributePolicyAction || (exports.AttributePolicyAction = {}));\n      // From the spec:\n      // https://html.spec.whatwg.org/multipage/custom-elements.html#prod-potentialcustomelementname:~:text=name%20must%20not%20be%20any%20of%20the%20following%3A\n      const FORBIDDEN_CUSTOM_ELEMENT_NAMES = new Set(['ANNOTATION-XML', 'COLOR-PROFILE', 'FONT-FACE', 'FONT-FACE-SRC', 'FONT-FACE-URI', 'FONT-FACE-FORMAT', 'FONT-FACE-NAME', 'MISSING-GLYPH']);\n      /**\n       * Helper for checking if an element tag is a custom element.\n       */\n      function isCustomElement(tag) {\n        return !FORBIDDEN_CUSTOM_ELEMENT_NAMES.has(tag.toUpperCase()) && /^[a-z][-_.a-z0-9]*-[-_.a-z0-9]*$/i.test(tag);\n      }\n      exports.isCustomElement = isCustomElement;\n\n      /***/\n    }),\n    /***/7705: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.execCommandInsertHtml = exports.execCommand = exports.write = void 0;\n      const html_impl_1 = __webpack_require__(5971);\n      /**\n       * write safely calls {@link Document.write} on the given {@link Document} with\n       * the given {@link SafeHtml}.\n       */\n      function write(doc, text) {\n        doc.write((0, html_impl_1.unwrapHtml)(text));\n      }\n      exports.write = write;\n      /**\n       * Safely calls {@link Document.execCommand}. When command is insertHtml, a\n       * SafeHtml must be passed in as value.\n       */\n      function execCommand(doc, command, value) {\n        const commandString = String(command);\n        let valueArgument = value;\n        if (commandString.toLowerCase() === 'inserthtml') {\n          valueArgument = (0, html_impl_1.unwrapHtml)(value);\n        }\n        return doc.execCommand(commandString, /* showUi= */false, valueArgument);\n      }\n      exports.execCommand = execCommand;\n      /**\n       * Safely calls {@link Document.execCommand}('insertHtml').\n       * @deprecated Use safeDocument.execCommand.\n       */\n      function execCommandInsertHtml(doc, html) {\n        return doc.execCommand('insertHTML', /* showUi= */false, (0, html_impl_1.unwrapHtml)(html));\n      }\n      exports.execCommandInsertHtml = execCommandInsertHtml;\n\n      /***/\n    }),\n    /***/7882: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setHref = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Href attribute from the given Url.\n       */\n      function setHref(anchor, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          anchor.href = sanitizedUrl;\n        }\n      }\n      exports.setHref = setHref;\n\n      /***/\n    }),\n    /***/8100: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.HtmlSanitizerBuilder = void 0;\n      const secrets_1 = __webpack_require__(2022);\n      const html_sanitizer_1 = __webpack_require__(1556);\n      const default_sanitizer_table_1 = __webpack_require__(2236);\n      const sanitizer_table_1 = __webpack_require__(7513);\n      /** This class allows modifications to the default sanitizer configuration. */\n      class HtmlSanitizerBuilder {\n        constructor() {\n          // To denote if the builder has called build() and therefore should make no\n          // further changes to the sanitizer table.\n          this.calledBuild = false;\n          this.sanitizerTable = default_sanitizer_table_1.defaultSanitizerTable;\n        }\n        /** Builder option to restrict allowed elements to a smaller subset. */\n        onlyAllowElements(elementSet) {\n          const allowedElements = new Set();\n          const allowedElementPolicies = new Map();\n          for (let element of elementSet) {\n            element = element.toUpperCase();\n            if (!this.sanitizerTable.isAllowedElement(element)) {\n              throw new Error(`Element: ${element}, is not allowed by html5_contract.textpb`);\n            }\n            const elementPolicy = this.sanitizerTable.elementPolicies.get(element);\n            if (elementPolicy !== undefined) {\n              allowedElementPolicies.set(element, elementPolicy);\n            } else {\n              allowedElements.add(element);\n            }\n          }\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(allowedElements, allowedElementPolicies, this.sanitizerTable.allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Builder option to allow a set of custom elements. Must be called either\n         * without or after `onlyAllowElements` - will be overwritten otherwise.\n         * Custom elements must contain a dash.\n         */\n        allowCustomElement(element, allowedAttributes) {\n          const allowedElements = new Set(this.sanitizerTable.allowedElements);\n          const allowedElementPolicies = new Map(this.sanitizerTable.elementPolicies);\n          element = element.toUpperCase();\n          if (!(0, sanitizer_table_1.isCustomElement)(element)) {\n            throw new Error(`Element: ${element} is not a custom element`);\n          }\n          if (allowedAttributes) {\n            const elementPolicy = new Map();\n            for (const attribute of allowedAttributes) {\n              elementPolicy.set(attribute, {\n                policyAction: sanitizer_table_1.AttributePolicyAction.KEEP\n              });\n            }\n            allowedElementPolicies.set(element, elementPolicy);\n          } else {\n            allowedElements.add(element);\n          }\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(allowedElements, allowedElementPolicies, this.sanitizerTable.allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Builder option to restrict allowed attributes to a smaller subset.\n         *\n         * If the attribute isn't currently allowed then it won't be added.\n         */\n        onlyAllowAttributes(attributeSet) {\n          const allowedGlobalAttributes = new Set();\n          const globalAttributePolicies = new Map();\n          const elementPolicies = new Map();\n          for (const attribute of attributeSet) {\n            if (this.sanitizerTable.allowedGlobalAttributes.has(attribute)) {\n              allowedGlobalAttributes.add(attribute);\n            }\n            if (this.sanitizerTable.globalAttributePolicies.has(attribute)) {\n              globalAttributePolicies.set(attribute, this.sanitizerTable.globalAttributePolicies.get(attribute));\n            }\n          }\n          for (const [elementName, originalElementPolicy] of this.sanitizerTable.elementPolicies.entries()) {\n            const newElementPolicy = new Map();\n            for (const [attribute, attributePolicy] of originalElementPolicy.entries()) {\n              if (attributeSet.has(attribute)) {\n                newElementPolicy.set(attribute, attributePolicy);\n              }\n            }\n            elementPolicies.set(elementName, newElementPolicy);\n          }\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, elementPolicies, allowedGlobalAttributes, globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Allows the set of data attributes passed.\n         *\n         * These values must be prefixed with \"data-\"\n         *\n         * If called with onlyAllowElements or onlyAllowAttributes, those methods must\n         * be called first.\n         */\n        allowDataAttributes(attributes) {\n          const allowedGlobalAttributes = new Set(this.sanitizerTable.allowedGlobalAttributes);\n          for (const attribute of attributes) {\n            if (attribute.indexOf('data-') !== 0) {\n              throw new Error(`data attribute: ${attribute} does not begin with the prefix \"data-\"`);\n            }\n            allowedGlobalAttributes.add(attribute);\n          }\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, this.sanitizerTable.elementPolicies, allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Preserves style attributes. Note that the sanitizer won't parse and\n         * sanitize the values but keep them as they are. In particular this means\n         * that the code will be able to call functions that could do undesirable\n         * things (e.g. `url` to trigger a network request), as well as any custom\n         * properties or functions defined by the application.\n         */\n        allowStyleAttributes() {\n          const globalAttributePolicies = new Map(this.sanitizerTable.globalAttributePolicies);\n          globalAttributePolicies.set('style', {\n            policyAction: sanitizer_table_1.AttributePolicyAction.KEEP_AND_SANITIZE_STYLE\n          });\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, this.sanitizerTable.elementPolicies, this.sanitizerTable.allowedGlobalAttributes, globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Preserves the class attribute on all elements. This means contents can\n         * adopt CSS styles from other page elements and possibly mask themselves as\n         * legitimate UI elements, which can lead to phishing.\n         */\n        allowClassAttributes() {\n          const allowedGlobalAttributes = new Set(this.sanitizerTable.allowedGlobalAttributes);\n          allowedGlobalAttributes.add('class');\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, this.sanitizerTable.elementPolicies, allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Preserves id attributes. This carries moderate risk as it allows an\n         * element to override other elements with the same ID.\n         */\n        allowIdAttributes() {\n          const allowedGlobalAttributes = new Set(this.sanitizerTable.allowedGlobalAttributes);\n          allowedGlobalAttributes.add('id');\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, this.sanitizerTable.elementPolicies, allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        /**\n         * Preserves (some) attributes that reference existing ids. This carries a\n         * moderate security risk, because sanitized content can create semantic\n         * associations with existing elements in the page, regardless of the layout.\n         * This could be used to override the label associated with a form input by a\n         * screen reader, and facilitate phishing.\n         */\n        allowIdReferenceAttributes() {\n          const allowedGlobalAttributes = new Set(this.sanitizerTable.allowedGlobalAttributes);\n          // TODO(b/190693339): Generate this subtable from the contract.\n          allowedGlobalAttributes.add('aria-activedescendant').add('aria-controls').add('aria-labelledby').add('aria-owns').add('for').add('list');\n          this.sanitizerTable = new sanitizer_table_1.SanitizerTable(this.sanitizerTable.allowedElements, this.sanitizerTable.elementPolicies, allowedGlobalAttributes, this.sanitizerTable.globalAttributePolicies);\n          return this;\n        }\n        build() {\n          if (this.calledBuild) {\n            throw new Error('this sanitizer has already called build');\n          }\n          this.calledBuild = true;\n          return new html_sanitizer_1.HtmlSanitizerImpl(this.sanitizerTable, secrets_1.secretToken);\n        }\n      }\n      exports.HtmlSanitizerBuilder = HtmlSanitizerBuilder;\n\n      /***/\n    }),\n    /***/8135: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setPrefixedAttribute = exports.buildPrefixedAttributeSetter = exports.insertAdjacentHtml = exports.setOuterHtml = exports.setInnerHtml = void 0;\n      /**\n       * @fileoverview This contains safe wrappers for properties that aren't specific\n       * to one kind of HTMLElement (like innerHTML), plus other setters and functions\n       * that are not tied to elements (like location.href or Worker constructor).\n       */\n      __webpack_require__(5723);\n      const attribute_impl_1 = __webpack_require__(6324);\n      const html_impl_1 = __webpack_require__(5971);\n      /**\n       * Safely set {@link Element.innerHTML} on a given ShadowRoot or Element which\n       * may not be a `<script>` element or a `<style>` element.\n       */\n      function setInnerHtml(elOrRoot, v) {\n        if (isElement(elOrRoot)) {\n          throwIfScriptOrStyle(elOrRoot);\n        }\n        elOrRoot.innerHTML = (0, html_impl_1.unwrapHtml)(v);\n      }\n      exports.setInnerHtml = setInnerHtml;\n      /**\n       * Safely set {@link Element.outerHTML} for the given Element.\n       */\n      function setOuterHtml(e, v) {\n        const parent = e.parentElement;\n        if (parent !== null) {\n          throwIfScriptOrStyle(parent);\n        }\n        e.outerHTML = (0, html_impl_1.unwrapHtml)(v);\n      }\n      exports.setOuterHtml = setOuterHtml;\n      /**\n       * Safely call {@link Element.insertAdjacentHTML} for the given Element.\n       */\n      function insertAdjacentHtml(element, position, v) {\n        const tagContext = position === 'beforebegin' || position === 'afterend' ? element.parentElement : element;\n        if (tagContext !== null) {\n          throwIfScriptOrStyle(tagContext);\n        }\n        element.insertAdjacentHTML(position, (0, html_impl_1.unwrapHtml)(v));\n      }\n      exports.insertAdjacentHtml = insertAdjacentHtml;\n      /**\n       * Given a set of known-to-be-safe prefixes (e.g., \"data-\", \"aria-\", \"js\"),\n       * return a setter function that allows you to set attributes on an element,\n       * as long as the names of the attributes to be set has one of the prefixes.\n       *\n       * The returned setter ensures that setting any dangerous attribute, e.g.,\n       * \"src\", \"href\" will cause an exception. This is intended to be used as the\n       * safe alterantive of `Element#setAttribute`, when applications need to set\n       * attributes that do not have security implications and do not have a\n       * corresponding DOM property.\n       */\n      function buildPrefixedAttributeSetter(prefix) {\n        for (var _len3 = arguments.length, otherPrefixes = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n          otherPrefixes[_key3 - 1] = arguments[_key3];\n        }\n        const prefixes = [prefix, ...otherPrefixes];\n        return (e, attr, value) => {\n          setPrefixedAttribute(prefixes, e, attr, value);\n        };\n      }\n      exports.buildPrefixedAttributeSetter = buildPrefixedAttributeSetter;\n      /**\n       * The safe alternative to Element#setAttribute. The function takes a list of\n       * `SafeAttributePrefix`, making developer intention explicit. The attribute\n       * to be set must has one of the safe prefixes, otherwise the function throws\n       * an Error.\n       */\n      function setPrefixedAttribute(attrPrefixes, e, attr, value) {\n        if (attrPrefixes.length === 0) {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n        const prefixes = attrPrefixes.map(s => (0, attribute_impl_1.unwrapAttributePrefix)(s));\n        const attrLower = attr.toLowerCase();\n        if (prefixes.every(p => attrLower.indexOf(p) !== 0)) {\n          throw new Error(`Attribute \"${attr}\" does not match any of the allowed prefixes.`);\n        }\n        e.setAttribute(attr, value);\n      }\n      exports.setPrefixedAttribute = setPrefixedAttribute;\n      function throwIfScriptOrStyle(element) {\n        let message = '';\n        const tagName = element.tagName;\n        if (tagName === 'SCRIPT' || tagName === 'STYLE') {\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      function isElement(elOrRoot) {\n        return elOrRoot.nodeType === 1; // Node.ELEMENT_NODE\n      }\n\n      /***/\n    }),\n    /***/8213: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.concatStyleSheets = exports.safeStyleSheet = void 0;\n      __webpack_require__(5723);\n      const string_literal_1 = __webpack_require__(5890);\n      const style_sheet_impl_1 = __webpack_require__(4455);\n      /**\n       * Creates a SafeStyleSheet object from a template literal (without any\n       * embedded expressions).\n       *\n       * This function is a template literal tag function. It should be called with\n       * a template literal that does not contain any expressions. For example,\n       *                         safeStyleSheet`foo`;\n       * The argument must not have any < or > characters in it. This is so that\n       * SafeStyleSheet's contract is preserved, allowing the SafeStyleSheet to\n       * correctly be interpreted as a sequence of CSS declarations and without\n       * affecting the syntactic structure of any surrounding CSS and HTML.\n       *\n       * @param templateObj This contains the literal part of the template literal.\n       */\n      function safeStyleSheet(templateObj) {\n        if (false) {}\n        const styleSheet = templateObj[0];\n        if (false) {}\n        return (0, style_sheet_impl_1.createStyleSheetInternal)(styleSheet);\n      }\n      exports.safeStyleSheet = safeStyleSheet;\n      /**\n       * Creates a `SafeStyleSheet` value by concatenating multiple\n       * `SafeStyleSheet`s.\n       */\n      function concatStyleSheets(sheets) {\n        return (0, style_sheet_impl_1.createStyleSheetInternal)(sheets.map(style_sheet_impl_1.unwrapStyleSheet).join(''));\n      }\n      exports.concatStyleSheets = concatStyleSheets;\n\n      /***/\n    }),\n    /***/8218: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setHref = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * Sets the Href attribute from the given Url.\n       */\n      function setHref(area, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          area.href = sanitizedUrl;\n        }\n      }\n      exports.setHref = setHref;\n\n      /***/\n    }),\n    /***/8402: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.unwrapResourceUrl = exports.isResourceUrl = exports.createResourceUrlInternal = exports.TrustedResourceUrl = void 0;\n      __webpack_require__(5723);\n      const secrets_1 = __webpack_require__(2022);\n      const trusted_types_1 = __webpack_require__(5398);\n      /**\n       * Runtime implementation of `TrustedScriptURL` in browsers that don't support\n       * it.\n       */\n      class ResourceUrlImpl {\n        constructor(url, token) {\n          (0, secrets_1.ensureTokenIsValid)(token);\n          this.privateDoNotAccessOrElseWrappedResourceUrl = url;\n        }\n        toString() {\n          return this.privateDoNotAccessOrElseWrappedResourceUrl.toString();\n        }\n      }\n      const GlobalTrustedScriptURL = typeof window !== 'undefined' ? window.TrustedScriptURL : undefined;\n      /**\n       * Also exports the constructor so that instanceof checks work.\n       */\n      exports.TrustedResourceUrl = GlobalTrustedScriptURL !== null && GlobalTrustedScriptURL !== void 0 ? GlobalTrustedScriptURL : ResourceUrlImpl;\n      /**\n       * Builds a new `TrustedResourceUrl` from the given string, without\n       * enforcing safety guarantees. It may cause side effects by creating a Trusted\n       * Types policy. This shouldn't be exposed to application developers, and must\n       * only be used as a step towards safe builders or safe constants.\n       */\n      function createResourceUrlInternal(url) {\n        var _a;\n        /** @noinline */\n        const noinlineUrl = url;\n        const trustedScriptURL = (_a = (0, trusted_types_1.getTrustedTypesPolicy)()) === null || _a === void 0 ? void 0 : _a.createScriptURL(noinlineUrl);\n        return trustedScriptURL !== null && trustedScriptURL !== void 0 ? trustedScriptURL : new ResourceUrlImpl(noinlineUrl, secrets_1.secretToken);\n      }\n      exports.createResourceUrlInternal = createResourceUrlInternal;\n      /**\n       * Checks if the given value is a `TrustedResourceUrl` instance.\n       */\n      function isResourceUrl(value) {\n        var _a;\n        return ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isScriptURL(value)) || value instanceof ResourceUrlImpl;\n      }\n      exports.isResourceUrl = isResourceUrl;\n      /**\n       * Returns the value of the passed `TrustedResourceUrl` object while ensuring it\n       * has the correct type.\n       *\n       * Returns a native `TrustedScriptURL` or a string if Trusted Types are\n       * disabled.\n       */\n      function unwrapResourceUrl(value) {\n        var _a;\n        if ((_a = (0, trusted_types_1.getTrustedTypes)()) === null || _a === void 0 ? void 0 : _a.isScriptURL(value)) {\n          return value;\n        } else if (value instanceof ResourceUrlImpl) {\n          return value.privateDoNotAccessOrElseWrappedResourceUrl;\n        } else {\n          let message = '';\n          if (false) {}\n          throw new Error(message);\n        }\n      }\n      exports.unwrapResourceUrl = unwrapResourceUrl;\n\n      /***/\n    }),\n    /***/8606: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setHref = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /**\n       * Sets the Href attribute from the given TrustedResourceUrl.\n       */\n      function setHref(baseEl, url) {\n        baseEl.href = (0, resource_url_impl_1.unwrapResourceUrl)(url);\n      }\n      exports.setHref = setHref;\n\n      /***/\n    }),\n    /***/8973: (/***/function (__unused_webpack_module, exports, __webpack_require__) {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n        if (k2 === undefined) k2 = k;\n        var desc = Object.getOwnPropertyDescriptor(m, k);\n        if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n          desc = {\n            enumerable: true,\n            get: function () {\n              return m[k];\n            }\n          };\n        }\n        Object.defineProperty(o, k2, desc);\n      } : function (o, m, k, k2) {\n        if (k2 === undefined) k2 = k;\n        o[k2] = m[k];\n      });\n      var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n        Object.defineProperty(o, \"default\", {\n          enumerable: true,\n          value: v\n        });\n      } : function (o, v) {\n        o[\"default\"] = v;\n      });\n      var __importStar = this && this.__importStar || function (mod) {\n        if (mod && mod.__esModule) return mod;\n        var result = {};\n        if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n        __setModuleDefault(result, mod);\n        return result;\n      };\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.safeWorker = exports.safeWindow = exports.safeUrl = exports.safeServiceWorkerContainer = exports.safeRange = exports.safeLocation = exports.safeGlobal = exports.safeDomParser = exports.safeDocument = exports.safeSvgUseEl = exports.safeSvgEl = exports.safeStyleEl = exports.safeScriptEl = exports.safeObjectEl = exports.safeLinkEl = exports.safeInputEl = exports.safeIframeEl = exports.safeFormEl = exports.safeEmbedEl = exports.safeElement = exports.safeButtonEl = exports.safeBaseEl = exports.safeAreaEl = exports.safeAnchorEl = void 0;\n      /**\n       * @fileoverview This file re-exports all of the wrappers to ensure that we have\n       * a clearly defined interface.\n       */\n      exports.safeAnchorEl = __importStar(__webpack_require__(7882));\n      exports.safeAreaEl = __importStar(__webpack_require__(8218));\n      exports.safeBaseEl = __importStar(__webpack_require__(8606));\n      exports.safeButtonEl = __importStar(__webpack_require__(3491));\n      exports.safeElement = __importStar(__webpack_require__(8135));\n      exports.safeEmbedEl = __importStar(__webpack_require__(9894));\n      exports.safeFormEl = __importStar(__webpack_require__(249));\n      exports.safeIframeEl = __importStar(__webpack_require__(6647));\n      exports.safeInputEl = __importStar(__webpack_require__(4315));\n      exports.safeLinkEl = __importStar(__webpack_require__(6895));\n      exports.safeObjectEl = __importStar(__webpack_require__(9916));\n      exports.safeScriptEl = __importStar(__webpack_require__(832));\n      exports.safeStyleEl = __importStar(__webpack_require__(5494));\n      exports.safeSvgEl = __importStar(__webpack_require__(2305));\n      exports.safeSvgUseEl = __importStar(__webpack_require__(1205));\n      exports.safeDocument = __importStar(__webpack_require__(7705));\n      exports.safeDomParser = __importStar(__webpack_require__(4094));\n      exports.safeGlobal = __importStar(__webpack_require__(2183));\n      exports.safeLocation = __importStar(__webpack_require__(9651));\n      exports.safeRange = __importStar(__webpack_require__(247));\n      exports.safeServiceWorkerContainer = __importStar(__webpack_require__(426));\n      exports.safeUrl = __importStar(__webpack_require__(2675));\n      exports.safeWindow = __importStar(__webpack_require__(5000));\n      exports.safeWorker = __importStar(__webpack_require__(5498));\n\n      /***/\n    }),\n    /***/9054: (/***/function (__unused_webpack_module, exports, __webpack_require__) {\n      var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n        if (k2 === undefined) k2 = k;\n        var desc = Object.getOwnPropertyDescriptor(m, k);\n        if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n          desc = {\n            enumerable: true,\n            get: function () {\n              return m[k];\n            }\n          };\n        }\n        Object.defineProperty(o, k2, desc);\n      } : function (o, m, k, k2) {\n        if (k2 === undefined) k2 = k;\n        o[k2] = m[k];\n      });\n      exports.__esModule = true;\n      exports.AuthScheme = exports.WazeForms = void 0;\n      var WazeForms_1 = __webpack_require__(4030);\n      __createBinding(exports, WazeForms_1, \"WazeForms\");\n      __createBinding(exports, WazeForms_1, \"AuthScheme\");\n\n      /***/\n    }),\n    /***/9651: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.assign = exports.replace = exports.setHref = void 0;\n      const url_sanitizer_1 = __webpack_require__(1318);\n      /**\n       * setHref safely sets {@link Location.href} on the given {@link Location} with\n       * given {@link Url}.\n       */\n      function setHref(loc, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          loc.href = sanitizedUrl;\n        }\n      }\n      exports.setHref = setHref;\n      /**\n       * replace safely calls {@link Location.replace} on the given {@link Location}\n       * with given {@link Url}.\n       */\n      function replace(loc, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          loc.replace(sanitizedUrl);\n        }\n      }\n      exports.replace = replace;\n      /**\n       * assign safely calls {@link Location.assign} on the given {@link Location}\n       * with given {@link Url}.\n       */\n      function assign(loc, url) {\n        const sanitizedUrl = (0, url_sanitizer_1.unwrapUrlOrSanitize)(url);\n        if (sanitizedUrl !== undefined) {\n          loc.assign(sanitizedUrl);\n        }\n      }\n      exports.assign = assign;\n\n      /***/\n    }),\n    /***/9894: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setSrc = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /**\n       * Sets the Src attribute from the given SafeUrl.\n       */\n      function setSrc(embedEl, url) {\n        embedEl.src = (0, resource_url_impl_1.unwrapResourceUrl)(url);\n      }\n      exports.setSrc = setSrc;\n\n      /***/\n    }),\n    /***/9905: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.joinHtmls = exports.concatHtmls = exports.scriptUrlToHtml = exports.scriptToHtml = exports.htmlEscape = void 0;\n      const html_impl_1 = __webpack_require__(5971);\n      const resource_url_impl_1 = __webpack_require__(8402);\n      const script_impl_1 = __webpack_require__(7253);\n      /**\n       * Returns HTML-escaped text as a `SafeHtml` object. No-op if value is already a\n       * SafeHtml instance.\n       *\n       * Available options:\n       * - `preserveSpaces` turns every second consecutive space character into its\n       * HTML entity representation (`&#160;`).\n       * - `preserveNewlines` turns newline characters into breaks (`<br>`).\n       * - `preserveTabs` wraps tab characters in a span with style=white-space:pre.\n       */\n      function htmlEscape(value) {\n        let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        if ((0, html_impl_1.isHtml)(value)) {\n          return value;\n        }\n        let htmlEscapedString = htmlEscapeToString(String(value));\n        if (options.preserveSpaces) {\n          // Do this first to ensure we preserve spaces after newlines and tabs.\n          htmlEscapedString = htmlEscapedString.replace(/(^|[\\r\\n\\t ]) /g, '$1&#160;');\n        }\n        if (options.preserveNewlines) {\n          htmlEscapedString = htmlEscapedString.replace(/(\\r\\n|\\n|\\r)/g, '<br>');\n        }\n        if (options.preserveTabs) {\n          htmlEscapedString = htmlEscapedString.replace(/(\\t+)/g, '<span style=\"white-space:pre\">$1</span>');\n        }\n        return (0, html_impl_1.createHtmlInternal)(htmlEscapedString);\n      }\n      exports.htmlEscape = htmlEscape;\n      /**\n       * Creates a `SafeHtml` representing a script tag with inline script content.\n       */\n      function scriptToHtml(script) {\n        let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        const unwrappedScript = (0, script_impl_1.unwrapScript)(script).toString();\n        let stringTag = `<script`;\n        if (options.id) {\n          stringTag += ` id=\"${htmlEscapeToString(options.id)}\"`;\n        }\n        if (options.nonce) {\n          stringTag += ` nonce=\"${htmlEscapeToString(options.nonce)}\"`;\n        }\n        if (options.type) {\n          stringTag += ` type=\"${htmlEscapeToString(options.type)}\"`;\n        }\n        if (options.defer) {\n          stringTag += ` defer`;\n        }\n        stringTag += `>${unwrappedScript}\\u003C/script>`;\n        return (0, html_impl_1.createHtmlInternal)(stringTag);\n      }\n      exports.scriptToHtml = scriptToHtml;\n      /**\n       * Creates a `SafeHtml` representing a script tag with the src attribute.\n       * This also supports CSP nonces and async loading.\n       */\n      function scriptUrlToHtml(src) {\n        let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        const unwrappedSrc = (0, resource_url_impl_1.unwrapResourceUrl)(src).toString();\n        let stringTag = `<script src=\"${htmlEscapeToString(unwrappedSrc)}\"`;\n        if (options.async) {\n          stringTag += ' async';\n        }\n        if (options.nonce) {\n          stringTag += ` nonce=\"${htmlEscapeToString(options.nonce)}\"`;\n        }\n        stringTag += '>\\u003C/script>';\n        return (0, html_impl_1.createHtmlInternal)(stringTag);\n      }\n      exports.scriptUrlToHtml = scriptUrlToHtml;\n      /**\n       * HTML-escapes the given text (`&`, `<`, `>`, `\"` and `'`).\n       */\n      function htmlEscapeToString(text) {\n        const escaped = text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&apos;');\n        return escaped;\n      }\n      /** Creates a `SafeHtml` value by concatenating multiple `SafeHtml`s. */\n      function concatHtmls(htmls) {\n        return joinHtmls('', htmls);\n      }\n      exports.concatHtmls = concatHtmls;\n      /**\n       * Creates a `SafeHtml` value by concatenating multiple `SafeHtml`s interleaved\n       * with a separator.\n       */\n      function joinHtmls(separator, htmls) {\n        const separatorHtml = htmlEscape(separator);\n        return (0, html_impl_1.createHtmlInternal)(htmls.map(value => (0, html_impl_1.unwrapHtml)(htmlEscape(value))).join((0, html_impl_1.unwrapHtml)(separatorHtml).toString()));\n      }\n      exports.joinHtmls = joinHtmls;\n\n      /***/\n    }),\n    /***/9916: (/***/(__unused_webpack_module, exports, __webpack_require__) => {\n      /**\n       * @license\n       * SPDX-License-Identifier: Apache-2.0\n       */\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n      exports.setData = void 0;\n      const resource_url_impl_1 = __webpack_require__(8402);\n      /** Sets the data attribute using a TrustedResourceUrl */\n      function setData(obj, v) {\n        obj.data = (0, resource_url_impl_1.unwrapResourceUrl)(v);\n      }\n      exports.setData = setData;\n\n      /***/\n    })\n\n    /******/\n  };\n  /************************************************************************/\n  /******/ // The module cache\n  /******/\n  var __webpack_module_cache__ = {};\n  /******/\n  /******/ // The require function\n  /******/\n  function __webpack_require__(moduleId) {\n    /******/ // Check if module is in cache\n    /******/var cachedModule = __webpack_module_cache__[moduleId];\n    /******/\n    if (cachedModule !== undefined) {\n      /******/return cachedModule.exports;\n      /******/\n    }\n    /******/ // Create a new module (and put it into the cache)\n    /******/\n    var module = __webpack_module_cache__[moduleId] = {\n      /******/ // no module.id needed\n      /******/ // no module.loaded needed\n      /******/exports: {}\n      /******/\n    };\n    /******/\n    /******/ // Execute the module function\n    /******/\n    __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n    /******/\n    /******/ // Return the exports of the module\n    /******/\n    return module.exports;\n    /******/\n  }\n  /******/\n  /************************************************************************/\n  /******/ /* webpack/runtime/define property getters */\n  /******/\n  (() => {\n    /******/ // define getter functions for harmony exports\n    /******/__webpack_require__.d = (exports, definition) => {\n      /******/for (var key in definition) {\n        /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n          /******/Object.defineProperty(exports, key, {\n            enumerable: true,\n            get: definition[key]\n          });\n          /******/\n        }\n        /******/\n      }\n      /******/\n    };\n    /******/\n  })();\n  /******/\n  /******/ /* webpack/runtime/hasOwnProperty shorthand */\n  /******/\n  (() => {\n    /******/__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n    /******/\n  })();\n  /******/\n  /************************************************************************/\n  var __webpack_exports__ = {};\n\n  // EXPORTS\n  __webpack_require__.d(__webpack_exports__, {\n    A: () => (/* binding */waze_forms_initializer)\n  });\n  ; // external \"@ember/object\"\n  var x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var y = x => () => x;\n  const object_namespaceObject = x({\n    [\"computed\"]: () => __WEBPACK_EXTERNAL_MODULE__ember_object_60179f9a__.computed\n  });\n  ; // external \"discourse/lib/url\"\n  var url_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var url_y = x => () => x;\n  const url_namespaceObject = url_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_lib_url_7cfbca40__[\"default\"]\n  });\n  // EXTERNAL MODULE: ../../node_modules/@waze/waze-forms-web-lib/dist/src/index.js\n  var src = __webpack_require__(9054);\n  ; // external \"I18n\"\n  var external_I18n_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var external_I18n_y = x => () => x;\n  const external_I18n_namespaceObject = external_I18n_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_I18n__[\"default\"]\n  });\n  ; // external \"../components/waze-copy-logs-button\"\n  var waze_copy_logs_button_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var waze_copy_logs_button_y = x => () => x;\n  const waze_copy_logs_button_namespaceObject = waze_copy_logs_button_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__components_waze_copy_logs_button_37428dd1__[\"default\"]\n  });\n  ; // external \"discourse/lib/plugin-api\"\n  var plugin_api_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var plugin_api_y = x => () => x;\n  const plugin_api_namespaceObject = plugin_api_x({\n    [\"withPluginApi\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__.withPluginApi\n  });\n  ; // external \"discourse-common/lib/deprecated\"\n  var deprecated_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var deprecated_y = x => () => x;\n  const deprecated_namespaceObject = deprecated_x({\n    [\"withSilencedDeprecations\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_common_lib_deprecated_1dca7e78__.withSilencedDeprecations\n  });\n  ; // external \"discourse/components/d-navigation\"\n  var d_navigation_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var d_navigation_y = x => () => x;\n  const d_navigation_namespaceObject = d_navigation_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_components_d_navigation_29e7ebfd__[\"default\"]\n  });\n  ; // ./src/plugin/assets/javascripts/discourse/initializers/waze-forms-initializer.ts\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  const WAZE_THEME_ATTRIBUTE = \"wz-theme\";\n  const NEW_TOPIC_LABEL_I18N_PREFIX = \"js.waze.forms.create_topic_label\";\n  const CUSTOM_FIELDS_KEYS = {\n    ENABLED: \"custom_fields.enable_waze_forms\",\n    NEW_TOPIC_LABEL: \"custom_fields.waze_forms_new_topic_button_label\",\n    FORM_ID: \"custom_fields.waze_forms_form_id\",\n    ENABLE_OPEN_LOGS_BUTTON: \"custom_fields.enable_open_logs_button\"\n  };\n  const wazeForms = new src.WazeForms({\n    zIndex: \"10000\",\n    // Discourse header zIndex is 1000.\n    // The form should be below the header on small screens.\n    zIndexSmallScreen: \"999\",\n    addHeaderOffsetSmallScreen: true,\n    env: window.location.host.endsWith(\".waze.com\") ? undefined : \"stg\",\n    submitCallback: topicId => {\n      url_namespaceObject[\"default\"].routeTo(`/t/${topicId}`);\n      wazeForms.dismissForm();\n    },\n    cancelCallback: () => {\n      // Do nothing.\n    },\n    closeCallback: () => {\n      // Do nothing.\n    }\n  });\n  function canUserOpenLogs(user, category) {\n    var _a;\n    if (user == null) {\n      return false;\n    }\n    const userGroupNames = user.groups.map(group => group.name);\n    const allowedGroups = (_a = category.custom_fields) === null || _a === void 0 ? void 0 : _a.groups_allowed_to_open_logs;\n    if (allowedGroups) {\n      return allowedGroups.split(\"|\").filter(group => userGroupNames.includes(group)).length > 0;\n    }\n    return false;\n  }\n  function padStart(number) {\n    return number.toString().padStart(2, \"0\");\n  }\n  function formatDate(date) {\n    return `${date.getFullYear()}-${padStart(date.getMonth() + 1)}-${padStart(date.getDate())}`;\n  }\n  function buildLogsUrl(baseUrl, username, postCreationDate) {\n    const postDate = new Date(postCreationDate);\n    const dayBeforePostDate = new Date(postDate);\n    dayBeforePostDate.setDate(postDate.getDate() - 1);\n    const dayAfterPostDate = new Date(postDate);\n    dayAfterPostDate.setDate(postDate.getDate() + 1);\n    const logsUrl = new URL(baseUrl);\n    logsUrl.searchParams.append(\"start\", formatDate(dayBeforePostDate));\n    logsUrl.searchParams.append(\"end\", formatDate(dayAfterPostDate));\n    logsUrl.searchParams.append(\"username\", username);\n    return logsUrl;\n  }\n  function legacyCustomizePostMenu(api) {\n    api.attachWidgetAction(\"post-menu\", \"openLogsUrl\", () => {\n      const logsBaseUrl = api.container.lookup(\"service:site-settings\").waze_logs_and_stats_domain;\n      const firstPostInTopic = api.container.lookup(\"controller:topic\").model.postStream.posts.find(post => post.firstPost);\n      const logsUrl = buildLogsUrl(logsBaseUrl, firstPostInTopic.username, firstPostInTopic.created_at);\n      window.open(logsUrl);\n    });\n    api.addPostMenuButton(\"open-logs\", post => {\n      const category = api.container.lookup(\"controller:topic\").model.category;\n      if (category && canUserOpenLogs(api.getCurrentUser(), category) && category.get(CUSTOM_FIELDS_KEYS.ENABLE_OPEN_LOGS_BUTTON) && post.firstPost) {\n        return {\n          action: \"openLogsUrl\",\n          arguments: {\n            username: post.username,\n            created_at: post.created_at\n          },\n          icon: \"w-doc\",\n          title: \"js.waze.forms.open_logs_button.description\",\n          position: \"first\"\n        };\n      }\n    });\n  }\n  function customizePostMenu(api) {\n    const transformerRegistered = api.registerValueTransformer(\"post-menu-buttons\", _ref => {\n      let {\n        value: dag,\n        context\n      } = _ref;\n      const post = context.post;\n      const category = post.topic.category;\n      if (category && canUserOpenLogs(api.getCurrentUser(), category) && category.get(CUSTOM_FIELDS_KEYS.ENABLE_OPEN_LOGS_BUTTON) && post.firstPost) {\n        dag.add(\"waze-copy-logs-button\", waze_copy_logs_button_namespaceObject[\"default\"], {\n          before: context.firstButtonKey\n        });\n      }\n    });\n    const silencedKey = transformerRegistered && \"discourse.post-menu-widget-overrides\";\n    (0, deprecated_namespaceObject.withSilencedDeprecations)(silencedKey, () => legacyCustomizePostMenu(api));\n  }\n  /* harmony default export */\n  const waze_forms_initializer = {\n    name: \"waze-forms\",\n    initialize(_container, _app) {\n      (0, plugin_api_namespaceObject.withPluginApi)(\"2.1.0\", api => {\n        customizePostMenu(api);\n        api.modifyClass(\"component:category-chooser\", {\n          pluginId: \"waze-forms\",\n          // Filter the list of categories listed in the categories-chooser in the topic composer,\n          // and exclude categories that opted to use waze forms.\n          content: (0, object_namespaceObject.computed)(\"selectKit.filter\", \"selectKit.options.scopedCategoryId\", \"selectKit.options.prioritizedCategoryId\", function () {\n            var _a, _b;\n            const categories = this._super();\n            // Filter categories only in composer\n            if ((_b = (_a = this.parentView) === null || _a === void 0 ? void 0 : _a.classNames) === null || _b === void 0 ? void 0 : _b.includes(\"d-editor\")) {\n              return categories.filter(category => !category.get(CUSTOM_FIELDS_KEYS.ENABLED));\n            }\n            return categories;\n          })\n        });\n        d_navigation_namespaceObject[\"default\"].reopen({\n          willRender() {\n            const category = this.category;\n            let formLabelValue = this.createTopicLabel;\n            if (category && category.get(CUSTOM_FIELDS_KEYS.ENABLED) && category.get(CUSTOM_FIELDS_KEYS.NEW_TOPIC_LABEL)) {\n              formLabelValue = `${NEW_TOPIC_LABEL_I18N_PREFIX}.${category.get(CUSTOM_FIELDS_KEYS.NEW_TOPIC_LABEL)}`;\n            }\n            document.documentElement.style.setProperty(\"--waze_forms_new_form_label\", `\"${external_I18n_namespaceObject[\"default\"].t(formLabelValue)}\"`);\n            return this._super(...arguments);\n          },\n          // Replace the \"New Topic\" button behavior, open the form instead of the composer.\n          get clickCreateTopicButton() {\n            var _this2 = this;\n            return function () {\n              if (_this2.category && _this2.category.get(CUSTOM_FIELDS_KEYS.ENABLED)) {\n                wazeForms.startForm({\n                  id: _this2.category.get(CUSTOM_FIELDS_KEYS.FORM_ID),\n                  locale: external_I18n_namespaceObject[\"default\"].locale,\n                  channel: \"web\",\n                  additionalParams: {\n                    discourseCategorySlug: _this2.category.slug,\n                    dark: document.documentElement.getAttribute(WAZE_THEME_ATTRIBUTE) === \"dark\" ? \"1\" : \"0\"\n                  }\n                }).catch(console.error);\n              } else {\n                _this2.actions.clickCreateTopicButton.bind(_this2)(...arguments);\n              }\n            };\n          }\n        });\n      });\n    }\n  };\n  var __webpack_exports__default = _exports.default = __webpack_exports__.A;\n});","define(\"discourse/plugins/waze-forms/discourse/templates/connectors/category-custom-settings/waze-forms-settings\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <h3>Waze Forms</h3>\n  <section class=\"field\">\n    <div class=\"enable-waze-forms\">\n      <label class=\"checkbox-label\">\n        <Input\n          @type=\"checkbox\"\n          @checked={{this.category.custom_fields.enable_waze_forms}}\n        />\n        Compose topics in this category with waze forms\n      </label>\n    </div>\n  </section>\n  {{#if this.category.custom_fields.enable_waze_forms}}\n    <section class=\"field\">\n      <label for=\"waze-forms-form-id\">Form ID</label>\n      <TextField\n        @value={{this.category.custom_fields.waze_forms_form_id}}\n        @id=\"waze-forms-form-id\"\n      />\n    </section>\n    <section class=\"field\">\n      <label for=\"waze-forms-new-topic-button-label\">New topic label</label>\n      <ComboBox\n        @id=\"waze-forms-new-topic-button-label\"\n        @content={{this.wazeFormsComposeButtonOptions}}\n        @value={{this.category.custom_fields.waze_forms_new_topic_button_label}}\n        @onChange={{action\n          (mut this.category.custom_fields.waze_forms_new_topic_button_label)\n        }}\n        @options={{hash allowAny=false}}\n      />\n    </section>\n    <section class=\"field\">\n      <label class=\"checkbox-label\">\n        <Input\n          @type=\"checkbox\"\n          @checked={{this.category.custom_fields.enable_open_logs_button}}\n        />\n        Add open logs button for debugging\n      </label>\n    </section>\n    {{#if this.category.custom_fields.enable_open_logs_button}}\n      <section class=\"field\">\n        <label for=\"waze-forms-settings-groups-allowed-to-open-logs\">\n          Set allowed groups\n        </label>\n        <label for=\"waze-forms-settings-groups-allowed-to-open-logs\">\n          Only members of these groups will be able to use the 'open logs' button\n        </label>\n        <MultiSelect\n          @id=\"waze-forms-settings-groups-allowed-to-open-logs\"\n          @content={{this.groups}}\n          @valueProperty={{null}}\n          @nameProperty={{null}}\n          @value={{this.groupsAllowedToOpenLogs}}\n          @onChange={{action \"changeGroupsAllowedToOpenLogs\"}}\n        />\n      </section>\n    {{/if}}\n  {{/if}}\n  */\n  {\n    \"id\": \"sYSvRUNU\",\n    \"block\": \"[[[10,\\\"h3\\\"],[12],[1,\\\"Waze Forms\\\"],[13],[1,\\\"\\\\n\\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"enable-waze-forms\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox-label\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"enable_waze_forms\\\"]]]],null],[1,\\\"\\\\n      Compose topics in this category with waze forms\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"enable_waze_forms\\\"]],[[[1,\\\"  \\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"waze-forms-form-id\\\"],[12],[1,\\\"Form ID\\\"],[13],[1,\\\"\\\\n    \\\"],[8,[39,6],null,[[\\\"@value\\\",\\\"@id\\\"],[[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"waze_forms_form_id\\\"]],\\\"waze-forms-form-id\\\"]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  \\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"waze-forms-new-topic-button-label\\\"],[12],[1,\\\"New topic label\\\"],[13],[1,\\\"\\\\n    \\\"],[8,[39,7],null,[[\\\"@id\\\",\\\"@content\\\",\\\"@value\\\",\\\"@onChange\\\",\\\"@options\\\"],[\\\"waze-forms-new-topic-button-label\\\",[30,0,[\\\"wazeFormsComposeButtonOptions\\\"]],[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"waze_forms_new_topic_button_label\\\"]],[28,[37,8],[[30,0],[28,[37,9],[[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"waze_forms_new_topic_button_label\\\"]]],null]],null],[28,[37,10],null,[[\\\"allowAny\\\"],[false]]]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  \\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox-label\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"enable_open_logs_button\\\"]]]],null],[1,\\\"\\\\n      Add open logs button for debugging\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"category\\\",\\\"custom_fields\\\",\\\"enable_open_logs_button\\\"]],[[[1,\\\"    \\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"waze-forms-settings-groups-allowed-to-open-logs\\\"],[12],[1,\\\"\\\\n        Set allowed groups\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"waze-forms-settings-groups-allowed-to-open-logs\\\"],[12],[1,\\\"\\\\n        Only members of these groups will be able to use the 'open logs' button\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[8,[39,11],null,[[\\\"@id\\\",\\\"@content\\\",\\\"@valueProperty\\\",\\\"@nameProperty\\\",\\\"@value\\\",\\\"@onChange\\\"],[\\\"waze-forms-settings-groups-allowed-to-open-logs\\\",[30,0,[\\\"groups\\\"]],null,null,[30,0,[\\\"groupsAllowedToOpenLogs\\\"]],[28,[37,8],[[30,0],\\\"changeGroupsAllowedToOpenLogs\\\"],null]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null]],[],false,[\\\"h3\\\",\\\"section\\\",\\\"div\\\",\\\"label\\\",\\\"input\\\",\\\"if\\\",\\\"text-field\\\",\\\"combo-box\\\",\\\"action\\\",\\\"mut\\\",\\\"hash\\\",\\\"multi-select\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-forms/discourse/templates/connectors/category-custom-settings/waze-forms-settings.hbs\",\n    \"isStrictMode\": false\n  });\n});"],"mappings":"AAAAA,OAAA,uNAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA;AAEAC,OAAAC,eAAAR,EAAA,cACAS,OAAA,IAEAT,EAAAU,aAAA;AACA,MAAAC,GAAA,EAAAL,EAAAM,uBASA,CACAC,GAAA,WACAC,MAAA,0KACAC,WAAA,8EACAC,cAAA;AAEA,SAAAC,EAAAC,GACA,OAAAA,EAAAC,WAAAF,SAAA,MACA,CACA,SAAAG,EAAAC,GACA,SAAAA,EAAAC,iBAAAL,EAAAI,EAAAE,WAAA,MAAAN,EAAAI,EAAAG,YACA,CAaA,MAAAC,UAAAvB,EAAAQ,QACAgB,SAAA,KAAAC,OAAAC,EAAAC,KAAAC,UAAA,gBAAA1B,EAAA2B,UAAA;AACAC,GAAA,MAAAL,OAAAM,EAAAJ,KAAA;AACAH,SAAA,KAAAC,OAAAC,EAAAC,KAAAC,UAAA,SAAAzB,EAAA6B,SAAA;AACAC,GAAA,MAAAR,OAAAM,EAAAJ,KAAA;AACA,WAAAO,GACA,MAAAC,EAAAR,KAAAG,aAAAM,2BACAC,EAAAV,KAAAM,MAAAK,MAAAC,WAAAC,MAAAC,MAAAC,KAAAC,YACAC,EApBA,SAAAC,EAAAC,EAAAC,GACA,MAAAC,EAAA,IAAAC,KAAAF,GACAG,EAAA,IAAAD,KAAAD;AACAE,EAAAC,QAAAH,EAAA1B,UAAA;AACA,MAAA8B,EAAA,IAAAH,KAAAD;AACAI,EAAAD,QAAAH,EAAA1B,UAAA;AACA,MAAAsB,EAAA,IAAAS,IAAAR;AAIA,OAHAD,EAAAU,aAAAC,OAAA,QAAArC,EAAAgC,IACAN,EAAAU,aAAAC,OAAA,MAAArC,EAAAkC,IACAR,EAAAU,aAAAC,OAAA,WAAAT,GACAF,CACA,CASAY,CAAArB,EAAAE,EAAAS,SAAAT,EAAAoB;AACAC,OAAAC,KAAAf,EACA,CACApB,SAAA,KAAAC,OAAAmC,EAAAjC,KAAAC,UAAA,eAAA3B,EAAA4D,SAAA,GAEA/D,EAAAU,QAAAe,GACA,EAAAxB,EAAA+D,sBAAArD,EAAAc,E,ICtDA1B,OAAA,uJAAAC,EAAAiE,EAAAC,GACA;AAEA3D,OAAAC,eAAAR,EAAA,cACAS,OAAA,IAEAT,EAAAU,aAAA;AAEA,IAAAyD,EAAA,CAOAA,EAAA,CAAAC,EAAAC,KACA,QAAAC,KAAAD,EACAF,EAAAI,EAAAF,EAAAC,KAAAH,EAAAI,EAAAH,EAAAE,IACA/D,OAAAC,eAAA4D,EAAAE,EAAA,CACAE,YAAA,EACAC,IAAAJ,EAAAC,IAKA,EASAH,EAAA,CAAAO,EAAAC,IAAApE,OAAAuB,UAAA8C,eAAAC,KAAAH,EAAAC,IAKAG,EAAA;AAGAX,EAAAY,EAAAD,EAAA,CACAE,EAAA;AASA,MAAAC,EANAC,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAA,CAAA,CACAzE,QAAA,IAAAuD,EAAA;AASA,MAAAmB,EANAF,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAE,CAAA,CACA3E,QAAA,IAAAwD,EAAA,UAMAoB,EAAA,CACA,cAAAC,GACA,IAAAC,EAAAC,EAAAC;AACA,MAAAC,GAEA,QAAAF,EAAA,QAAAD,EAAAJ,EAAA,QAAAQ,aAAAC,GAAAC,GAAAC,YAAA,IAAAP,OAAA,EAAAA,EAAAQ,aAAA,IAAAP,OAAA,EAAAA,EAAAQ,qBAAA,GACAC,EAAA3F,OAAA4F,KAAAR,GAAAS,KAAAvF,IAAA,CACAA,KACAwF,KAAAjB,EAAA,QAAAkB,EAAA,oCAAAzF,MAAA8E,EAAA9E;AAEAgB,KAAA0E,IAAA,gCAAAL,GACAjB,EAAA,QAAAuB,UAAAC,MAAAC,IACA7E,KAAA0E,IAAA,SAAAG,EAAAN,KAAAO,KAAAN,OAAA;AAEA,MAAAO,EAAA,QAAAlB,EAAA7D,KAAAgF,SAAAC,qBAAA,IAAApB,OAAA,EAAAA,EAAAqB;AACAH,EACA/E,KAAA0E,IAAA,0BAAAK,EAAAI,MAAA,MAEAnF,KAAA0E,IAAA,6BAEA,EACAU,QAAA,CACAC,8BAAA,SAAAC,GACAtF,KAAA0E,IAAA,0BAAAY,GACAtF,KAAAgF,SAAAN,IAAA,gBAAAhG,OAAA6G,OAAA7G,OAAA6G,OAAA,GAAAvF,KAAAgF,SAAAC,eAAA,CACAC,4BAAAI,EAAAE,KAAA,OAEA;AAGArH,EAAAU,QAAAoE,EAAAE,C,ICnGAjF,OAAA,yTAAAC,EAAAsH,EAAAC,EAAArD,EAAAsD,EAAAC,EAAAC,EAAAC,GACA;AAEApH,OAAAC,eAAAR,EAAA,cACAS,OAAA,IAEAT,EAAAU,aAAA;AACA,IAAAkH,EAAA,CACA,KAAAC,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA0D,8BAAA;AACA,MAAAC,EAAA5D,EAAA;AAKAC,EAAA0D,yBAHA,SAAAE,EAAAC,GACA,OAAAD,EAAAF,0BAAA,EAAAC,EAAAG,YAAAD,GACA,CAIA,EACA,KAAAJ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA+D,eAAA;AACA,MAAAC,EAAAjE,EAAA;AAUAC,EAAA+D,UANA,SAAAE,EAAAC,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACAF,EAAAtE,OAAAwE,EAEA,CAIA,EACA,KAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAsE,cAAA;AACA,MAAAC,EAAAxE,EAAA;AAKAC,EAAAsE,SAHA,SAAAE,EAAAC,EAAA3C,GACA,OAAA0C,EAAAF,UAAA,EAAAC,EAAAG,mBAAAD,GAAA3C,EACA,CAIA,EACA,KAAA2B,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA2E,yBAAA;AACA,MAAAC,EAAA7E,EAAA,KACA4D,EAAA5D,EAAA;AAgBAC,EAAA2E,oBAXA,SAAAE,GAEA,MAAAC,EAAAC,SAAAC,eAAAC,mBAAA,IACArB,EAAAkB,EAAAI;AACAtB,EAAAuB,WAAAL,EAAAM;AAIA,MAAAC,GAAA,EAAA1B,EAAA2B,oBAAAT;AACA,SAAAD,EAAAlB,0BAAAE,EAAAyB,EACA,CAIA,EACA,KAAA5B,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAuF,OAAAvF,EAAAwF,oBAAA;AACA,MAAAjB,EAAAxE,EAAA,MACA0F,EAAA1F,EAAA;AAiBA,SAAA2F,EAAAC,GACA,MACAC,EAjBA,SAAAC,GACA,IAAAzE;AACA,MAAA0D,EAAAe,EAAAd,SAEAY,EAAA,QAAAvE,EAAA0D,EAAAgB,qBAAA,IAAA1E,OAAA,EAAAA,EAAAX,KAAAqE,EAAA;AACA,OAAAa,IAKAA,EAAA,OAAAA,EAAAI,aAAA,WAEA,EACA,CAIAC,CADAL,EAAAM,eAAAN,EAAAM,cAAAC,aACA1G;AACAoG,GACAD,EAAAQ,aAAA,QAAAP,EAEA,CAOA5F,EAAAwF,eALA,SAAAG,EAAAS,EAAAtE,GACA6D,EAAAU,aAAA,EAAAZ,EAAAa,cAAAF,IACAtE,aAAA,EAAAA,EAAAyE,YACAb,EAAAC,EACA,EAQA3F,EAAAuF,OALA,SAAAI,EAAAS,EAAAtE,GACA6D,EAAAa,KAAA,EAAAjC,EAAAG,mBAAA0B,IACAtE,aAAA,EAAAA,EAAAyE,YACAb,EAAAC,EACA,CAIA,EACA,MAAAlC,EAAAzD,KACAA,EAAAyG,YAAA,EACAzG,EAAA0G,YAAA1G,EAAA2G,4BAAA,EACA3G,EAAA2G,uBAAA,sbACA3G,EAAA0G,YAAA,0uCAGA,EACA,MAAAjD,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4G,oBAAA5G,EAAA6G,kBAAA7G,EAAA8G,gBAAA9G,EAAA+G,aAAA/G,EAAAgH,wBAAA,EACAjH,EAAA;AACA,MAAAwE,EAAAxE,EAAA,MACA0F,EAAA1F,EAAA;AACAA,EAAA;AA8HAC,EAAAgH,mBAdA,SAAAC,GAGA,OAAAC,UAAAC,QAAA,IAAAD,UAAAC,OAAA,GACA,SAAA5C,EAAA6C,2BAAAH,EAAA;AAEAA,EAAA,GAAAI;AAEA,IAAAnD,EAAA+C,EAAA;AACA,QAAApJ,EAAA,EAAAA,GAAAqJ,UAAAC,QAAA,IAAAD,UAAAC,OAAA,GAAAtJ,IACAqG,GAAAoD,mBAAAzJ,EAAA,KAAAqJ,UAAAC,QAAAtJ,EAAA,OAAAwG,EAAA6C,UAAArJ,EAAA,IAAAoJ,EAAApJ,EAAA;AAEA,SAAA0G,EAAA6C,2BAAAlD,EACA,EAmCAlE,EAAA+G,aAvBA,SAAAQ,EAAAC,GACA,IAAAtD,GAAA,EAAAK,EAAAG,mBAAA6C,GAAAxK;AACA,OAAA0K,KAAAvD,GAAA,CAGA,UAAAwD,MAFA,GAGA,CACA,IAAAC,EAAA,KAAAF,KAAAvD,GAAA;AAcA,OAXAsD,EAAAI,SAAA,CAAAvL,EAAA6D,KACA,MAAA2H,EAAAxL,aAAAyL,MAAAzL,EAAA,CAAAA;AACA,QAAAwB,EAAA,EAAAA,EAAAgK,EAAAV,OAAAtJ,IAAA,CACA,MAAAuI,EAAAyB,EAAAhK;AACAuI,UAGAlC,GAAAyD,EAAAL,mBAAApH,GAAA,IAAAoH,mBAAAS,OAAA3B,IACAuB,EAAA,IACA,MAEA,EAAApD,EAAA6C,2BAAAlD,EACA;AAEA,MAAA8D,EAAA;AAYAhI,EAAA8G,gBAJA,SAAAS,EAAAU,GACA,MAAAC,GAAA,EAAA3D,EAAAG,mBAAA6C,GAAAxK;AACA,SAAAwH,EAAA6C,2BAAAY,EAAAG,KAAAD,GAAA,OAAAD,EACA,EAyBAjI,EAAA6G,kBAhBA,SAAAU,EAAAa,GACA,MAAAC,GAAA,EAAA9D,EAAAG,mBAAA6C,GAAAxK,WACAuL,EAAAD,EAAAzF,MAAA,QACA2F,EAAAD,EAAA,GACAE,EAAA,KAAAf,KAAAY,GAAAC,EAAA,QAAAjE,EACAoE,EAAA,IAAAhB,KAAAY,GAAAG,EAAAF,EAAA,GAAAA,EAAA,QAAAjE,EACAqE,EAAA,MAAAH,EAAAI,OAAAJ,EAAApB,OAAA;AACA,IAAAjD,EAAAqE,EAAAG,EAAApB,mBAAAc;AAOA,YANA/D,IAAAmE,IACAtE,GAAA,IAAAsE,QAEAnE,IAAAoE,IACAvE,GAAA,IAAAuE,IAEA,EAAAlE,EAAA6C,2BAAAlD,EACA,EAgBAlE,EAAA4G,oBAPA,SAAAgC,GACA,MAAAC,GAAA,EAAApD,EAAAa,cAAAsC,GAAA7L,WACA+L,EAAA,IAAAC,KAAA,CAAAF,GAAA,CACAG,KAAA;AAEA,SAAAzE,EAAA6C,2BAAAjI,IAAA8J,gBAAAH,GACA,CAIA,EACA,MAAArF,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAkJ,aAAA,EACAnJ,EAAA;AACA,MAAAiE,EAAAjE,EAAA;AAeAC,EAAAkJ,QATA,SAAAC,EAAAjF,GACA,MAAAkF,GAAA,EAAApF,EAAAqF,eAAAnF;AACA,gBAAAkF,GAAA,UAAAA,GAKAD,EAAAhD,aAAA,OAAAjC,EACA,CAIA,EACA,MAAAT,EAAAzD,EAAAD,KAoBA,SAAAsJ,EAAAnF,GACA,IAAAoF;AACA,IACAA,EAAA,IAAAnK,IAAA+E,EACA,OAAAqF,GAMA,cACA,CACA,OAAAD,EAAAE,QACA;;;;;AA5BArN,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAyJ,yBAAAzJ,EAAAoE,oBAAApE,EAAA0J,sBAAA1J,EAAAqJ,mBAAA,EAKAtJ,EAAA,MAqBAC,EAAAqJ;AAGA,MAAAM,EAAA;AAQA,SAAAD,EAAAxF,GAEA,mBADAmF,EAAAnF,GAKA,OAAAA,CACA,CACAlE,EAAA0J,wBAQA1J,EAAAoE,oBAHA,SAAAF,GACA,OAAAwF,EAAAxF,EACA,EAgBAlE,EAAAyJ,yBAPA,SAAAvF,GACA,MAAA0F,EAAAP,EAAAnF;AACA,YAAAG,IAAAuF,IAAA,IAAAD,EAAAE,QAAAD,EAAAvC,eACAnD,EAEA,yBACA,CAIA,EACA,MAAAT,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA8J,uBAAA9J,EAAA+J,4BAAA/J,EAAAgK,aAAAhK,EAAAiK,uBAAA,EACAlK,EAAA;AACA,MAAA4D,EAAA5D,EAAA,MAEAmK,EAAAnK,EAAA,MACAiE,EAAAjE,EAAA,MACAoK,EAAApK,EAAA,KACAqK,EAAArK,EAAA,MACAsK,EAAAtK,EAAA,MACAuK,EAAAvK,EAAA;AAEA,MAAAkK,EACA,WAAAM,CAAAC,EAAAC,GACAhN,KAAA+M,iBACA/M,KAAAiN,QAAA,IACA,EAAAR,EAAAS,oBAAAF,EACA,CACA,uBAAAG,CAAA/G,GACApG,KAAAiN,QAAA;AACA,MAAAG,EAAApN,KAAAqN,SAAAjH;AACA,OAAApG,KAAAiN,QAAAvD,OAAA,CAGA,UAAAO,MAFA,GAGA,CACA,OAAAmD,CACA,CACA,QAAAC,CAAAjH,GACA,MAAAkH,EAAAhG,SAAAiG,cAAA;AACAD,EAAAE,YAAAxN,KAAAyN,mBAAArH;AAKA,IAAAsH,GAAA,IAAAC,eAAAC,kBAAAN;AAKA,OADAI,IAAAG,MAAAH,EAAAtB,QAAA,OAAAsB,EAAAI,YAAA,QACA,EAAA5H,EAAA2B,oBAAA6F,EACA,CACA,kBAAAD,CAAArH,GACA,MAAA2H,GAAA,EAAArB,EAAAxF,qBAAAd,GACA4H,EAAA1G,SAAA2G,iBAAAF,EAAA,GAKA9L,GAAAjC,KAAAkO,WAAAjM,KAEA;AAEA,IAAAkM,EAAAH,EAAAI;AAKA,MAAAC,EAAA/G,SAAAgH;AACA,IAAAC,EAAAF;AACA,YAAAF,GAAA,CACA,IAAAK;AACA,MAAA7B,EAAA8B,QAAAN,GACAK,EAAAxO,KAAA0O,iBAAAP;IACA,QAAAxB,EAAAgC,WAAAR,GAEA,CAGA,UAAAlE,MAFA,GAGA,CALAuE,EAAAxO,KAAA4O,oBAAAT,EAKA,CAKA,GAJAI,EAAAf,YAAAgB,GAGAL,EAAAH,EAAAa,aACAV,EACAI,EAAAC;KAEA,OAAAL,EAAAH,EAAAc,iBACAX,EAAAH,EAAAe,eAGAR,IAAAQ,UAGA,CACA,OAAAV,CACA,CACA,gBAAAK,CAAAM,GACA,OAAA1H,SAAA2H,eAAAD,EAAAE,KACA,CACA,mBAAAN,CAAAO,GACA,MAAAC,GAAA,EAAAzC,EAAA0C,aAAAF,GACAG,EAAAhI,SAAAiG,cAAA6B,GACAG,EAAAJ,EAAAK;AACA,UAAAhL,KACAA,EAAA5F,MACAA,KACA2Q,EAAA,CACA,MAAAE,EAAAzP,KAAA+M,eAAA2C,mBAAAlL,EAAA4K;AACA,GAAApP,KAAA2P,uBAAAF,EAAAG,WAAAL,GAIA,OAAAE,EAAAI,cACA,KAAAhD,EAAAiD,sBAAAC,KACArH,EAAA4G,EAAA9K,EAAA5F;AACA;AACA,KAAAiO,EAAAiD,sBAAAE,sBACA,MAAAC,GAAA,EAAA1J,EAAAyF,0BAAApN;AACAqR,IAAArR,GACAoB,KAAAkQ,aAAA,oBAAA1L,qDAAA5F,yBAAAqR,MAEAvH,EAAA4G,EAAA9K,EAAAyL;AACA;AACA,KAAApD,EAAAiD,sBAAAK,mBAGAzH,EAAA4G,EAAA9K,EAAA5F,EAAAgL;AACA;AACA,KAAAiD,EAAAiD,sBAAAM,wBACA1H,EAAA4G,EAAA9K,EAAA5F;AACA;AACA,KAAAiO,EAAAiD,sBAAAO,KACArQ,KAAAkQ,aAAA,cAAA1L,sBAvBAxE,KAAAkQ,aAAA,+CAAA1L,KA4BA,CACA,OAAA8K,CACA,CACA,UAAApB,CAAAoC,GACA,MAAA3D,EAAA8B,QAAA6B,GACA;AACA,OAAA3D,EAAAgC,WAAA2B,GAMA;AAEA,MAAAC,GAAA,EAAA5D,EAAA0C,aAAAiB;AACA,cAAAC,GACAvQ,KAAAkQ,aAAA,gCAAAI,KACA,GAEAtQ,KAAA+M,eAAAyD,iBAAAD,GACA,GAEAvQ,KAAAkQ,aAAA,YAAAK,iBACA,EACA,CACA,YAAAL,CAAAO,GACA,IAAAzQ,KAAAiN,QAAAvD,QACA1J,KAAAiN,QAAAyD,KAAA,GAEA,CACA,sBAAAf,CAAAC,EAAAe,GACA,IAAAhN;AACA,IAAAiM,EACA;AAEA,UAAAgB,EAAAC,KAAAjB,EAAA,CACA,MAAAhR,EAAA,QAAA+E,EAAAgN,EAAAG,aAAAF,UAAA,IAAAjN,OAAA,EAAAA,EAAA/E;AACA,GAAAA,IAAAiS,EAAAE,IAAAnS,GACA,QAEA,CACA,QACA,EAIA,SAAA8J,EAAAsI,EAAAxM,EAAA5F,GACAoS,EAAAtI,aAAAlE,EAAA5F,EACA,CAJA2D,EAAAiK;AAKA,MAAAyE,EAAA,SAAAzE,EAAAI,EAAAsE,sBAAAzE,EAAA0E,aAAA;AAKA5O,EAAAgK,aAHA,SAAAnG,GACA,OAAA6K,EAAA5D,SAAAjH,EACA,EASA7D,EAAA+J,4BAHA,SAAAlG,GACA,OAAA6K,EAAA9D,wBAAA/G,EACA,EASA7D,EAAA8J,uBAHA,SAAAjG,GACA,OAAA6K,EAAAxD,mBAAArH,EACA,CAQA,EACA,MAAAJ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA2K,mBAAA3K,EAAA4O,iBAAA,EACA7O,EAAA,MAOAC,EAAA4O,YAAA,GAQA5O,EAAA2K,mBAHA,SAAAF,GACA,CACA,CAIA,EACA,MAAAhH,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA6O,oBAAA,EACA9O,EAAA;AACA,MAAA+O,EAAA/O,EAAA;AACAA,EAAA,MACAA,EAAA;AAeAC,EAAA6O,eANA,SAAAE,GAEA,MAAAC,EAAAD,EAAA,GAAA1H;AAEA,SAAAyH,EAAAG,+BAAAD,EACA,CAIA,EACA,MAAAvL,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAkP,WAAAlP,EAAAmP,sBAAA;AACA,MAAA1J,EAAA1F,EAAA;AACA,IAAAqP,EAAArP,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,oBACAI,YAAA,EACAC,IAAA,WACA,OAAA+O,EAAAD,gBACA,IAiBAnP,EAAAkP,WATA,SAAArJ,EAAAF,GACA,MAAA0J,GAAA,EAAA5J,EAAAa,cAAAX;AACA,IAAA2J,EAAAzJ,EAAA0J,KAAAF;AAKA,OAJAC,IAAAD,IAEAC,EAAAzJ,EAAA0J,KAAAF,EAAAtS,aAEAuS,CACA,CAIA,EACA,MAAA7L,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA2O,2BAAA;AAGA,MAAArE,EAAAvK,EAAA,MAEAyP,EAAA,UAAAC,IAAA,UACAnC,aAAAhD,EAAAiD,sBAAAE,2BACA,YAAAgC,IAAA,UACAnC,aAAAhD,EAAAiD,sBAAAE,2BACA,YAAAgC,IAAA,UACAnC,aAAAhD,EAAAiD,sBAAAE,sBACAJ,WAAA,IAAAoC,IAAA,YAAAC,IAAA,wLACA,cAAAD,IAAA,SACAnC,aAAAhD,EAAAiD,sBAAAC,UACA,WAAAiC,IAAA,SACAnC,aAAAhD,EAAAiD,sBAAAC,UACA,aAAAiC,IAAA,SACAnC,aAAAhD,EAAAiD,sBAAAC,UACA,aAAAiC,IAAA,SACAnC,aAAAhD,EAAAiD,sBAAAC,WAGAmC,EAAA,SACArC,aAAAhD,EAAAiD,sBAAAK,mBACAP,WAAA,KACA,IAAAoC,IAAA,YAAAC,IAAA,yBADA,KAGA,UACApC,aAAAhD,EAAAiD,sBAAAK,mBACAP,WAAA,KACA,IAAAoC,IAAA,cAAAC,IAAA,cADA,KAGA,SACApC,aAAAhD,EAAAiD,sBAAAE,wBACA,YACAH,aAAAhD,EAAAiD,sBAAAK,mBACAP,WAAA,KACA,IAAAoC,IAAA,gBAAAC,IAAA,qBADA,KAGA,WACApC,aAAAhD,EAAAiD,sBAAAE,wBACA,WACAH,aAAAhD,EAAAiD,sBAAAK,mBACAP,WAAA,KACA,IAAAoC,IAAA,eAAAC,IAAA,uBADA;AAQA1P,EAAA2O,sBAAA,IAAArE,EAAAsF,eAAA,IAAAF,IA/CA,8rBA+CA,IAAAD,IAAAD,GAAA,IAAAE,IA9BA,+mCA8BA,IAAAD,IAAAE,GAGA,EACA,MAAAlM,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAmG,kBAAA,EACApG,EAAA;AACA,MAAA8P,EAAA;AAcA7P,EAAAmG,aATA,SAAA2J,EAAAC,EAAA1T,GAEA,GADA0T,IAAA1I,eACA,IAAAwI,EAAAhG,QAAAkG,IAAA,IAAAA,EAAAlG,QAAA,OAGA,UAAAnC,MAFA,GAGA,CACAoI,EAAA3J,aAAA4J,EAAA1T,EACA,CAIA,EACA,MAAAoH,EAAAzD;;;;;AAKA7D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAgQ,6BAAA,EA8CAhQ,EAAAgQ,wBAdA,SAAAC,GAGA,uBAAAC,aAAAD,aAAAC,YACA,OAAA/Q,IAAA8J,gBAAAgH;AAEA,MAAAnH,EAAAmH;AACA,IA1BA,SAAAE,GACA,MAAAC,EAAAD,EAAAC,MAAA;AACA,YAAAA,aAAA,EAAAA,EAAAjJ,UAEA,SAAAgJ,GACA,sEAAA1I,KAAA0I,EACA,CAJAE,CAAAD,EAAA,KAKA,SAAAD,GACA,sEAAA1I,KAAA0I,EACA,CAPAG,CAAAF,EAAA,KAQA,SAAAD,GACA,wGAAA1I,KAAA0I,EACA,CAVAI,CAAAH,EAAA,IACA,CAuBAI,CAAA1H,EAAAE,MAAA,CAGA,UAAAtB,MAFA,GAGA,CACA,OAAAvI,IAAA8J,gBAAAH,EACA,CAIA,EACA,MAAArF,EAAAzD;;;;;AAKA7D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAyQ,mCAAA,EAMAzQ,EAAAyQ,8BAAA,sGAGA,EACA,cAAAhN,EAAAzD,EAAAD;;;;;AAKA,IAAA2Q,EAAAjT,WAAAiT,WAAA,SAAAC,EAAAC,EAAAC,EAAAC,GAMA,WAAAD,MAAAE,WAAA,SAAAC,EAAAC,GACA,SAAAC,EAAA7U,GACA,IACA8U,EAAAL,EAAAM,KAAA/U,GACA,OAAAkN,GACA0H,EAAA1H,EACA,CACA,CACA,SAAA8H,EAAAhV,GACA,IACA8U,EAAAL,EAAA,MAAAzU,GACA,OAAAkN,GACA0H,EAAA1H,EACA,CACA,CACA,SAAA4H,EAAA7B,GApBA,IAAAjT;AAqBAiT,EAAAgC,KAAAN,EAAA1B,EAAAjT,QArBAA,EAqBAiT,EAAAjT,MApBAA,aAAAwU,EAAAxU,EAAA,IAAAwU,GAAA,SAAAG,GACAA,EAAA3U,EACA,KAkBAgG,KAAA6O,EAAAG,EACA,CACAF,GAAAL,IAAAS,MAAAZ,EAAAC,GAAA,KAAAQ,OACA,GACA;AACAjV,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAmP,iBAAAnP,EAAAwR,+BAAA;AAMA,MAAA7N,EAAA5D,EAAA,MACAwE,EAAAxE,EAAA,MACA0F,EAAA1F,EAAA,MACA0R,EAAA1R,EAAA;AAMA,MAAAyR,UAAA9J,MACA,WAAA6C,CAAArG,EAAAwN,EAAAC,GACAC,MAAA,GAAA1N,wBAAAwN,sCAAAC,kDACAlU,KAAAyG,MACAzG,KAAAiU,WACAjU,KAAAkU,aACA,EAEA3R,EAAAwR,4BAwDAxR,EAAAmP,iBAzCA,SAAA0C,EAAAC,GACA,IAAA1Q,EAAAC,EAAAC;AACA,OAAAoP,EAAAjT,UAAA,sBACA,MAAAsU,QAAAC,OAAA,EAAAzN,EAAAG,mBAAAmN,GAAA9U,WAAA+U,GAIA3B,EAAA,QAAA7O,EAAA,QAAAD,EAAA,QAAAD,EAAA2Q,EAAAE,QAAA5R,IAAA,2BAAAe,OAAA,EAAAA,EAAAwB,MAAA,kBAAAvB,OAAA,EAAAA,EAAA,cAAAC,OAAA,EAAAA,EAAA+F;AACA,OACA,IAAAxD,GACA,OAAA6M,EAAAjT,UAAA,sBACA,iBAAA0S,EACA,UAAAqB,EAAAO,EAAA7N,IAAA;AAEA,MAAAgO,QAAAH,EAAAG;AACA,OAtBArO,EAsBAqO,GArBA,EAAAvO,EAAA2B,oBAAAzB;AADA,IAAAA,CAuBA,GACA,EACA,MAAA8B,GACA,OAAA+K,EAAAjT,UAAA,sBAGA,uBAAA0S,GAAA,2BAAAA,EACA,UAAAqB,EAAAO,EAAA7N,IAAA;AAEA,MAAAgO,QAAAH,EAAAG;AACA,SAAAzM,EAAA0M,sBAAAD,EACA,GACA,EACA,UAAAE,GACA,OAAA1B,EAAAjT,UAAA,sBACA,gBAAA0S,EACA,UAAAqB,EAAAO,EAAA7N,IAAA;AAEA,MAAAgO,QAAAH,EAAAG;AACA,SAAAT,EAAAY,0BAAAH,EACA,GACA,EAEA,GACA,CAIA,EACA,MAAAzO,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAsS,mBAAA;AACA,MAAAtO,EAAAjE,EAAA;AAUAC,EAAAsS,cANA,SAAAC,EAAArO,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACAoO,EAAAC,WAAArO,EAEA,CAIA,EACA,MAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAyS,mBAAAzS,EAAA0S,cAAA1S,EAAA2S,cAAA3S,EAAA4I,gBAAA,EACA7I,EAAA;AACA,MAAA0F,EAAA1F,EAAA;AACAA,EAAA;AA2BA,SAAA2S,EAAArW,GACA,SAAAoJ,EAAA0M,sBAAAS,KAAAC,UAAAxW,GAAAyW,QAAA,gBACA,CAdA9S,EAAA4I,WAJA,SAAA3B,GAEA,SAAAxB,EAAA0M,sBAAAlL,EAAA,GACA,EAMAjH,EAAA2S,cAHA,SAAAI,GACA,SAAAtN,EAAA0M,sBAAAY,EAAA/Q,IAAAyD,EAAAa,cAAArD,KAAA,IACA,EAWAjD,EAAA0S,gBAkCA1S,EAAAyS,mBAVA,SAAAxL,GAEA,kBACA,QAAA+L,EAAA9L,UAAAC,OAAA8L,EAAA,IAAAnL,MAAAkL,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IACAD,EAAAC,GAAAhM,UAAAgM;AAEA,MAAArL,EAAAoL,EAAAjR,KAAAoE,GAAAsM,EAAAtM,GAAArJ;AACA,SAAA0I,EAAA0M,sBAAA,IAAAlL,EAAAhE,KAAA,QAAA4E,EAAA5E,KAAA,QACA,CACA,CAIA,EACA,cAAAQ,EAAAzD,EAAAD,GACA,IAAA2Q,EAAAjT,WAAAiT,WAAA,SAAAC,EAAAC,EAAAC,EAAAC,GAMA,WAAAD,MAAAE,WAAA,SAAAC,EAAAC,GACA,SAAAC,EAAA7U,GACA,IACA8U,EAAAL,EAAAM,KAAA/U,GACA,OAAAkN,GACA0H,EAAA1H,EACA,CACA,CACA,SAAA8H,EAAAhV,GACA,IACA8U,EAAAL,EAAA,MAAAzU,GACA,OAAAkN,GACA0H,EAAA1H,EACA,CACA,CACA,SAAA4H,EAAA7B,GApBA,IAAAjT;AAqBAiT,EAAAgC,KAAAN,EAAA1B,EAAAjT,QArBAA,EAqBAiT,EAAAjT,MApBAA,aAAAwU,EAAAxU,EAAA,IAAAwU,GAAA,SAAAG,GACAA,EAAA3U,EACA,KAkBAgG,KAAA6O,EAAAG,EACA,CACAF,GAAAL,IAAAS,MAAAZ,EAAAC,GAAA,KAAAQ,OACA,GACA,EACA+B,EAAA1V,WAAA0V,aAAA,SAAAxC,EAAAvL,GACA,IASAgO,EACAtS,EACAoB,EACA1E,EAZA6V,EAAA,CACAC,MAAA,EACAC,KAAA,WACA,KAAArR,EAAA,SAAAA,EAAA;AACA,OAAAA,EAAA,EACA,EACAsR,KAAA,GACAC,IAAA;AAMA,OAAAjW,EAAA,CACA4T,KAAAsC,EAAA,GACAC,MAAAD,EAAA,GACAE,OAAAF,EAAA,IACA,mBAAAG,SAAArW,EAAAqW,OAAAC,UAAA,WACA,OAAArW,IACA,GAAAD;AACA,SAAAkW,EAAAhU,GACA,gBAAA0G,GACA,OAGA,SAAA2N,GACA,GAAAX,EAAA,UAAAY,UAAA;AACA,KAAAxW,MAAA,EAAAuW,EAAA,KAAAV,EAAA,IAAAA,OACA,GAAAD,EAAA,EAAAtS,IAAAoB,EAAA,EAAA6R,EAAA,GAAAjT,EAAA,OAAAiT,EAAA,GAAAjT,EAAA,SAAAoB,EAAApB,EAAA,SAAAoB,EAAAzB,KAAAK,GAAA,GAAAA,EAAAsQ,SAAAlP,IAAAzB,KAAAK,EAAAiT,EAAA,KAAAzC,KAAA,OAAApP;AAEA,OADApB,EAAA,EAAAoB,IAAA6R,EAAA,GAAAA,EAAA,GAAA7R,EAAA7F,QACA0X,EAAA,IACA,OACA,OACA7R,EAAA6R;AACA;AACA,OAEA,OADAV,EAAAC,QACA,CACAjX,MAAA0X,EAAA,GACAzC,MAAA;AAEA,OACA+B,EAAAC,QACAxS,EAAAiT,EAAA,GACAA,EAAA;AACA;AACA,OACAA,EAAAV,EAAAI,IAAAQ,MACAZ,EAAAG,KAAAS;AACA;AACA,QACA,KAAA/R,EAAAmR,EAAAG,MAAAtR,IAAAiF,OAAA,GAAAjF,IAAAiF,OAAA,SAAA4M,EAAA,QAAAA,EAAA,KACAV,EAAA;AACA,QACA,CACA,OAAAU,EAAA,MAAA7R,GAAA6R,EAAA,GAAA7R,EAAA,IAAA6R,EAAA,GAAA7R,EAAA,KACAmR,EAAAC,MAAAS,EAAA;AACA,KACA,CACA,OAAAA,EAAA,IAAAV,EAAAC,MAAApR,EAAA,IACAmR,EAAAC,MAAApR,EAAA,GACAA,EAAA6R;AACA,KACA,CACA,GAAA7R,GAAAmR,EAAAC,MAAApR,EAAA,IACAmR,EAAAC,MAAApR,EAAA,GACAmR,EAAAI,IAAAtF,KAAA4F;AACA,KACA,CACA7R,EAAA,IAAAmR,EAAAI,IAAAQ,MACAZ,EAAAG,KAAAS;AACA,SAEAF,EAAA3O,EAAA3E,KAAAkQ,EAAA0C,EACA,OAAA9J,GACAwK,EAAA,GAAAxK,GACAzI,EAAA,CACA,SACAsS,EAAAlR,EAAA,CACA,CACA,KAAA6R,EAAA,SAAAA,EAAA;AACA,OACA1X,MAAA0X,EAAA,GAAAA,EAAA,UACAzC,MAAA,EAEA,CA/DAH,CAAA,CAAAzR,EAAA0G,GACA,CACA,CA8DA;AACApG,EAAAyG,YAAA,EACAzG,EAAAkU,UAAAlU,EAAAmU,aAAAnU,EAAAoU,gBAAA;AACA,IAIAC,EAMAD,EAMAD,EAhBAG,EAAAvU,EAAA,MACAwU,EAAAxU,EAAA,MACAyU,EAAAzU,EAAA,MACA0U,EAAA1U,EAAA,OAEA,SAAAsU,GACAA,EAAA,0BACAA,EAAA,gCACAA,EAAA,0BACA,EAJA,CAIAA,MAAA,KAEA,SAAAD,GACAA,EAAA,wCACAA,EAAA,eACAA,EAAA,UACA,CAJA,CAIAA,EAAApU,EAAAoU,aAAApU,EAAAoU,WAAA,KAEA,SAAAD,GACAA,EAAA,yBACAA,EAAA,gCACAA,EAAA,mBACAA,EAAA,qBACAA,EAAA,yBACAA,EAAA,wCACA,CAPA,CAOAA,EAAAnU,EAAAmU,eAAAnU,EAAAmU,aAAA;AACA,IAGAO,EAAA,iBACAC,EAAA,GAAAC,OAAAF,EAAA,cACAG,EAAA,GAAAD,OAAAF,EAAA,WACAI,EAAA,GAAAF,OAAAF,EAAA,4BAMAK,EAAA,cACAC,EAAA,CACAC,GALA,iBAMAC,GAJA,iBAKAC,IANA,kBAOAC,IAAAL,GAEAb,EAAA,WACA,SAAAA,EAAAmB,GACA,IACAjU,EAAAC,EAAAC,EADAgU,EAAA7X;AAEAA,KAAA8X,SAAA,GACA9X,KAAA+X,UAAA,SAAAC,EAAA1Q,GACA,OAAA2L,EAAA4E,OAAA,qBACA,IAAAlU,EAAAsU,EACArU,EAAAC;AACA,OAAA6R,EAAA1V,MAAA,SAAAkY,GACA,OAAAA,EAAArC,OACA,OAKA,OAJA7V,KAAAmY,WACAnY,KAAAoY,cAEAzU,EAAA3D,KACA,GAAAA,KAAAqY,wBAAA/Q,GAAAvF,OAAAuF,UAAAK;AACA,OAMA,OALAhE,EAAAwU,UAAAD,EAAApC,OACA9V,KAAAsY,aAAAtY,KAAAmY,UAAAI,kBAAA,QAAA3U,EAAA5D,KAAAmY,UAAAK,qBAAA,IAAA5U,OAAA,EAAAA,EAAA0D,UACA2Q,EAAAjY,KAAAyY,eAAAT,GACAhY,KAAA0Y,iBAAAT,GACA,QAAApU,EAAA7D,KAAAsY,oBAAA,IAAAzU,KAAA8U,iBAAA,UAAA3Y,KAAA4Y,iBACA,IAEA,GACA,GACA,EACA5Y,KAAAoY,YAAA,WACA,IAAAzU,EAAAC;AACAiU,EAAAM,YAGA,QAAAxU,EAAAkU,EAAAS,oBAAA,IAAA3U,KAAAkV,oBAAA,UAAAhB,EAAAe,iBACA,QAAAhV,EAAAiU,EAAAM,UAAApJ,kBAAA,IAAAnL,KAAAkV,YAAAjB,EAAAM,WACAN,EAAAM,eAAAvR,EACA,EACA5G,KAAA4Y,gBAAA,SAAA9M,GACA,KAAAA,EAAAiN,SACAlB,EAAAO,aAEA,EACApY,KAAA0Y,iBAAA,SAAAT,GACA,IAAAtU;AAEA,IADAsU,EAAAO,cAEA,UAAAvO,MAAA;AAGA4N,EAAAmB,gBAAAtC,EAAAuC,YAAApB,EAAAqB,UACArB,EAAAmB,gBAAAtC,EAAAyC,gBAAAtB,EAAAuB,eACAvB,EAAAmB,gBAAAtC,EAAA2C,SAAAxB,EAAAyB,SACAzB,EAAAmB,gBAAAtC,EAAA6C,UAAA1B,EAAA2B,UACA3B,EAAAmB,gBAAAtC,EAAA+C,YAAA5B,EAAA6B,YACA7B,EAAAmB,gBAAAtC,EAAAiD,kBAAA9B,EAAA+B,sBACA,QAAAjW,EAAAkU,EAAAM,UAAAK,qBAAA,IAAA7U,KAAAgV,iBAAA,oBAAAkB,GACAhC,EAAAiC,eAAAD,EAAA3K,KAAA6K,IAAAF,EAAA3K,KAAA8K,KAAAH,EAAAI,MAAA,GACA,MACA,EAEAja,KAAA4Z,qBAAA,SAAAM,GACA,IAAAvW,EACAwW,EAAA,QAAAxW,EAAAkU,EAAAS,oBAAA,IAAA3U,OAAA,EAAAA,EAAA0E,cAAA,IAAA8O,OAAAE;AACA,IAAA8C,EACA,UAAAlQ,MAAA;AAEA8M,EAAAqD,YAAAC,aAAAF,GAAA,EAAAnD,EAAAzK,cAAA2N,IACAC,EAAAG,MAAAC,QAAA,IACAC,YAAA,WACA,OAAAL,EAAAG,MAAAC,QAAA,GACA,QACA,EAEAva,KAAAqY,uBAAA,SAAAoC,GACA,WAAAnH,SAAA,SAAAC,GAEA,IAAAmH,EAAAD,EAAAjS,cAAA+E,cAAA;AACAmN,EAAA1b,GAAA,GAAAmY,OAAAF,EAAA,qBACAyD,EAAAJ,MAAAK,YAAA,uBAAA9C,EAAA+C,QACAF,EAAAJ,MAAAK,YAAA,oCAAA9C,EAAAgD;AAEA,IAAAC,EAAAL,EAAAjS,cAAA+E,cAAA;AACAkN,EAAAjS,cAAAuS,KAAAvN,YAAAsN,GACAA,EAAAvP,KAAA,WACAuP,EAAA9b,GAAA,GAAAmY,OAAAF,EAAA,oBACA6D,EAAAtN,YAAAiN,EAAAjS,cAAAyG,eAAA4H,EAAA3N,yBACAwR,EAAAM,OAAA,WACAzH,EAAAmH,EACA,EACAD,EAAAjN,YAAAkN,EACA,GACA,EAEA1a,KAAAyY,eAAA,SAAAT,GACA,IAAAH,EAAAS,aACA,UAAArO,MAAA;AAGA,IAAA6Q,EAAAjD,EAAAS,aAAA/K,cAAA;AACAsK,EAAAS,aAAAyC,KAAAvN,YAAAsN,GACAA,EAAAvP,KAAA,WACAuP,EAAAtN,YAAAqK,EAAAS,aAAArJ,eAAA4H,EAAA5N;AAEA,IAAAgS,EAAApD,EAAAS,aAAA/K,cAAA;AACA0N,EAAAjc,GAAA,GAAAmY,OAAAF,EAAA,eACAY,EAAAS,aAAA3Q,KAAA6F,YAAAyN;AAEA,IAAAC,EAAArD,EAAAS,aAAA/K,cAAA;AACA2N,EAAAlc,GAAAkY,EACAgE,EAAAC,UAAAC,OAAA,2DAAAvD,EAAAwD,4BACAJ,EAAAzN,YAAA0N;AAEA,IAAAI,EAAAzD,EAAAS,aAAA/K,cAAA;AACA+N,EAAAtc,GAAAoY,EACAkE,EAAAvS,IAAA8O,EAAA0D,QAAAvD,GAAAwD,KACAN,EAAA1N,YAAA8N;AAEA,IAAAG,EAAA5D,EAAAS,aAAA/K,cAAA;AAGA,OAFAkO,EAAAzc,GAAAqY,EACAQ,EAAAS,aAAA3Q,KAAA6F,YAAAiO,GACAH,CACA,EACAtb,KAAA4a,OAAA,QAAAjX,EAAAiU,EAAAgD,cAAA,IAAAjX,IAAA,GACA3D,KAAA6a,kBAAA,QAAAjX,EAAAgU,EAAAiD,yBAAA,IAAAjX,IAAA,GACA5D,KAAAqb,2BAAA,QAAAxX,EAAA+T,EAAAyD,kCAAA,IAAAxX,KACA7D,KAAA0b,eAAA9D,EAAA8D,eACA1b,KAAA2b,eAAA/D,EAAA+D,eACA3b,KAAA4b,cAAAhE,EAAAgE,cACA5b,KAAA6b,IAAAjE,EAAAiE,IACA7b,KAAA8b,WAAAlE,EAAAkE,UACA,CAiHA,OAhHArF,EAAAxW,UAAA+Y,gBAAA,SAAAe,EAAAgC,GACA/b,KAAA8X,SAAAiC,GAAAgC,EAAAC,KAAAhc,KACA,EACAyW,EAAAxW,UAAA6Z,eAAA,SAAAC,EAAAC,EAAAiC,GACA,IAAAtY;AAIA,QAHA,IAAAqW,IACAA,EAAA,KAEAD,IAAA/Z,KAAA8X,SAAAiC,GAKA,OAJAmC,QAAAC,MAAA,WAAAhF,OAAA4C,EAAA,oBACAkC,WAAAG,YAAA,CACAD,MAAA,IAAAlS,MAAA,GAAAkN,OAAA4C,EAAA;AAIA,IACA,IAAAlI,GAAAlO,EAAA3D,KAAA8X,UAAAiC,GAAAjG,MAAAnQ,EAAAqW;AACAnI,aAAAyB,QACAzB,EAAAjN,MAAA,SAAAyX,GACA,OAAAJ,aAAA,EAAAA,EAAAG,YAAA,CACAvK,OAAAwK,GAEA,oBAAAvQ,GACAmQ,WAAAG,YAAA,CACAD,MAAArQ,IAEAoQ,QAAAC,MAAA,qBAAAhF,OAAA4C,GAAAjO,EACA,IAEAmQ,WAAAG,YAAA,CACAvK,UAGA,OAAA/F,GACAoQ,QAAAC,MAAA,qBAAAhF,OAAA4C,GAAAjO,GACAmQ,WAAAG,YAAA,CACAD,MAAArQ,GAEA,CACA,EACA2K,EAAAxW,UAAAmZ,cAAA,WACA,GAAApZ,KAAA8b,YAAA9b,KAAA8b,WAAAnQ,QAAA3L,KAAA8b,WAAA9O,MACA,OAAAhN,KAAA8b;AAEA,IAAAQ,GAAA,EAAAxF,EAAAyF,OAAAxa,OAAAuF,SAAAkV;AACA,OAAAF,EAAA1F,EAAA6F,YACA,CACA9Q,OAAAgL,EAAA+F,SACA1P,MAAAsP,EAAA1F,EAAA6F,aAGAH,EAAA1F,EAAA+F,aACA,CACAhR,OAAAgL,EAAAiG,IACA5P,MAAAsP,EAAA1F,EAAA+F,cAGA,IACA,EACAlG,EAAAxW,UAAAiZ,SAAA,SAAArH,GACA,GAAA7R,KAAA2b,eACA,IACA3b,KAAA2b,eAAA9J,EACA,OAAA/F,GACAoQ,QAAAC,MAAA,oCAAAtK,EAAA/F,EACA,CAEA,EACA2K,EAAAxW,UAAAqZ,QAAA,SAAAU,GACA,GAAAha,KAAA4b,cACA,IACA5b,KAAA4b,cAAA5B,EACA,OAAAlO,GACAoQ,QAAAC,MAAA,mCAAAnC,EAAAlO,EACA,CAEA9L,KAAAoY,aACA,EACA3B,EAAAxW,UAAAuZ,SAAA,WACA,GAAAxZ,KAAA0b,eACA,IACA1b,KAAA0b,gBACA,OAAA5P,GACAoQ,QAAAC,MAAA,oCAAArQ,EACA,CAEA9L,KAAAoY,aACA,EAEA3B,EAAAxW,UAAAyZ,WAAA,SAAAmD,EAAAC,GACA,IAAAnZ;AACA,IAAA3D,KAAAmY,UACA,UAAAlO,MAAA;AAEA,IAAA8S,EAAA,QAAApZ,EAAA3D,KAAAsY,oBAAA,IAAA3U,OAAA,EAAAA,EAAA0E,cAAA,IAAA8O,OAAAD;AACA6F,EAAAzC,MAAAuC,OAAA,GAAA1F,OAAA0F,EAAA,MACAE,EAAAzC,MAAAwC,MAAA,GAAA3F,OAAA2F,EAAA,KACA,EACArG,EAAAxW,UAAAsb,QAAA,SAAAvD,GACA,IAAAgF,EAAAhd,KAAA6b,KAAA,QAAA7b,KAAA6b,IAjPA,8BADA,uBAmPAoB,EAAAjd,KAAA6b,IAAAtE,EAAAvX,KAAA6b,KAAAvE,EACA4F,EAAA,QAAA/F,OAAAa,EAAAmF,QA3PA,KA2PA,KAAAhG,OAAAa,EAAAhZ,IA1PA,WA2PAyH,EAAA,IAAA/E,IAAA,GAAAyV,OAAA6F,EAAA,KAAA7F,OAAA8F,EAAA,KAAA9F,OAAA+F;AAGA,QAAAE,KAFA3W,EAAA9E,aAAAC,OAAA,oBACA6E,EAAA9E,aAAAC,OAAA,UAAAoW,EAAAqF,SA5PA,WA6PArF,EAAAsF,iBACA5e,OAAAuB,UAAA8C,eAAAC,KAAAgV,EAAAsF,iBAAAF,IACA3W,EAAA9E,aAAAC,OAAAwb,EAAApF,EAAAsF,iBAAAF;AAGA,OAAA3W,CACA,EACAgQ,CACA,CApPA;AAqPAlU,EAAAkU,WAGA,EACA,MAAAzQ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAgb,gBAAAhb,EAAAib,SAAAjb,EAAAkb,eAAA,EACAnb,EAAA;AACA,MAAA4D,EAAA5D,EAAA;AA4BA,SAAAib,EAAAG,EAAAC,EAAAzJ,GACA,OAAAwJ,EAAAH,iBAAA,EAAArX,EAAAG,YAAAsX,GAAAzJ,EACA,CAzBA3R,EAAAkb,UAHA,SAAAC,EAAAtX,GACA,OAAAmX,EAAAG,EAAAtX,EAAA,YACA,EAsBA7D,EAAAib,SAfA,SAAAE,EAAAE,GACA,MAAAvW,EAAAkW,EAAAG,GAAA,EAAAxX,EAAA2B,oBAAA+V,GAAA,YACAvH,EAAA/O,SAAAuW,mBAAAxW,EAAAyW,WAAAC,SAAA,MAEA;AACA,IAAA5P;AACA,KAAAA,EAAAkI,EAAAjI,YACA,GAAAD,aAAA6P,aAAA7P,aAAA8P,WAAA,CAGA,UAAAhU,MAFA,aAGA,CAEA,OAAA5C,CACA,EAMA9E,EAAAgb,iBAGA,EACA,MAAAvX,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAsS,mBAAA;AACA,MAAAtO,EAAAjE,EAAA;AAUAC,EAAAsS,cANA,SAAAqJ,EAAAzX,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACAwX,EAAAnJ,WAAArO,EAEA,CAIA,EACA,MAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4b,iBAAA5b,EAAA6b,aAAA7b,EAAAqS,yBAAArS,EAAA8b,oBAAA,EACA/b,EAAA;AACA,MAAAmK,EAAAnK,EAAA;AAKA,MAAA+b,GACA9b,EAAA8b;AAEA,MAAAC,UAAAD,EACA,WAAAvR,CAAA6H,EAAA3H,GACAmH,SACA,EAAA1H,EAAAS,oBAAAF,GACAhN,KAAAue,0CAAA5J,CACA,CACA,QAAArV,GACA,OAAAU,KAAAue,yCACA,EAUAhc,EAAAqS,yBAHA,SAAAD,GACA,WAAA2J,EAAA3J,EAAAlI,EAAA0E,YACA,EAQA5O,EAAA6b,aAHA,SAAAxf,GACA,OAAAA,aAAA0f,CACA,EAeA/b,EAAA4b,iBATA,SAAAvf,GACA,GAAAA,aAAA0f,EACA,OAAA1f,EAAA2f;AAIA,UAAAtU,MAFA,GAIA,CAIA,EACA,MAAAjE,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4b,iBAAA5b,EAAA8b,eAAA9b,EAAA6b,aAAA7b,EAAAsG,aAAAtG,EAAAic,WAAAjc,EAAAkc,SAAAlc,EAAAmc,aAAAnc,EAAA0E,kBAAA1E,EAAAoc,mBAAApc,EAAAqc,cAAArc,EAAA8D,WAAA9D,EAAAsc,SAAAtc,EAAAuc,OAAAvc,EAAAwc,WAAAxc,EAAAyc,sBAAAzc,EAAA0c,oBAAA1c,EAAA2c,eAAA3c,EAAA4c,kBAAA5c,EAAA0S,cAAA1S,EAAAyS,mBAAAzS,EAAA4I,WAAA5I,EAAA2S,cAAA3S,EAAAgH,mBAAAhH,EAAA8G,gBAAA9G,EAAA4G,oBAAA5G,EAAA6G,kBAAA7G,EAAA+G,aAAA/G,EAAA6c,qBAAA7c,EAAA8J,uBAAA9J,EAAA+J,4BAAA/J,EAAAgK,aAAAhK,EAAA8c,gBAAA9c,EAAA+c,aAAA/c,EAAAgd,UAAAhd,EAAAid,WAAAjd,EAAAkd,YAAAld,EAAA6O,oBAAA;AAEA,IAAAsO,EAAApd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,kBACAI,YAAA,EACAC,IAAA,WACA,OAAA8c,EAAAtO,cACA;AAEA,IAAAuO,EAAArd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,eACAI,YAAA,EACAC,IAAA,WACA,OAAA+c,EAAAF,WACA,IAEA/gB,OAAAC,eAAA4D,EAAA,cACAI,YAAA,EACAC,IAAA,WACA,OAAA+c,EAAAH,UACA,IAEA9gB,OAAAC,eAAA4D,EAAA,aACAI,YAAA,EACAC,IAAA,WACA,OAAA+c,EAAAJ,SACA,IAEA7gB,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAA+c,EAAAL,YACA,IAEA5gB,OAAAC,eAAA4D,EAAA,mBACAI,YAAA,EACAC,IAAA,WACA,OAAA+c,EAAAN,eACA;AAEA,IAAAO,EAAAtd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAAgd,EAAArT,YACA,IAEA7N,OAAAC,eAAA4D,EAAA,+BACAI,YAAA,EACAC,IAAA,WACA,OAAAgd,EAAAtT,2BACA,IAEA5N,OAAAC,eAAA4D,EAAA,0BACAI,YAAA,EACAC,IAAA,WACA,OAAAgd,EAAAvT,sBACA;AAEA,IAAAwT,EAAAvd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,wBACAI,YAAA,EACAC,IAAA,WACA,OAAAid,EAAAT,oBACA;AAEA,IAAAU,EAAAxd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAAkd,EAAAxW,YACA,IAEA5K,OAAAC,eAAA4D,EAAA,qBACAI,YAAA,EACAC,IAAA,WACA,OAAAkd,EAAA1W,iBACA,IAEA1K,OAAAC,eAAA4D,EAAA,uBACAI,YAAA,EACAC,IAAA,WACA,OAAAkd,EAAA3W,mBACA,IAEAzK,OAAAC,eAAA4D,EAAA,mBACAI,YAAA,EACAC,IAAA,WACA,OAAAkd,EAAAzW,eACA,IAEA3K,OAAAC,eAAA4D,EAAA,sBACAI,YAAA,EACAC,IAAA,WACA,OAAAkd,EAAAvW,kBACA;AAEA,IAAAwW,EAAAzd,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,iBACAI,YAAA,EACAC,IAAA,WACA,OAAAmd,EAAA7K,aACA,IAEAxW,OAAAC,eAAA4D,EAAA,cACAI,YAAA,EACAC,IAAA,WACA,OAAAmd,EAAA5U,UACA,IAEAzM,OAAAC,eAAA4D,EAAA,sBACAI,YAAA,EACAC,IAAA,WACA,OAAAmd,EAAA/K,kBACA,IAEAtW,OAAAC,eAAA4D,EAAA,iBACAI,YAAA,EACAC,IAAA,WACA,OAAAmd,EAAA9K,aACA;AAEA,IAAA+K,EAAA1d,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,qBACAI,YAAA,EACAC,IAAA,WACA,OAAAod,EAAAb,iBACA,IAEAzgB,OAAAC,eAAA4D,EAAA,kBACAI,YAAA,EACAC,IAAA,WACA,OAAAod,EAAAd,cACA;AAGA,IAAA7N,EAAA/O,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,uBACAI,YAAA,EACAC,IAAA,WACA,OAAAyO,EAAA4N,mBACA,IAEAvgB,OAAAC,eAAA4D,EAAA,yBACAI,YAAA,EACAC,IAAA,WACA,OAAAyO,EAAA2N,qBACA;AAEA,IAAA9Y,EAAA5D,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,cACAI,YAAA,EACAC,IAAA,WACA,OAAAsD,EAAA6Y,UACA,IAEArgB,OAAAC,eAAA4D,EAAA,UACAI,YAAA,EACAC,IAAA,WACA,OAAAsD,EAAA4Y,MACA,IAEApgB,OAAAC,eAAA4D,EAAA,YACAI,YAAA,EACAC,IAAA,WACA,OAAAsD,EAAA2Y,QACA,IAEAngB,OAAAC,eAAA4D,EAAA,cACAI,YAAA,EACAC,IAAA,WACA,OAAAsD,EAAAG,UACA;AAEA,IAAAS,EAAAxE,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,iBACAI,YAAA,EACAC,IAAA,WACA,OAAAkE,EAAA8X,aACA,IAEAlgB,OAAAC,eAAA4D,EAAA,sBACAI,YAAA,EACAC,IAAA,WACA,OAAAkE,EAAA6X,kBACA,IAEAjgB,OAAAC,eAAA4D,EAAA,qBACAI,YAAA,EACAC,IAAA,WACA,OAAAkE,EAAAG,iBACA;AAEA,IAAAe,EAAA1F,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAAoF,EAAA0W,YACA,IAEAhgB,OAAAC,eAAA4D,EAAA,YACAI,YAAA,EACAC,IAAA,WACA,OAAAoF,EAAAyW,QACA,IAEA/f,OAAAC,eAAA4D,EAAA,cACAI,YAAA,EACAC,IAAA,WACA,OAAAoF,EAAAwW,UACA,IAEA9f,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAAoF,EAAAa,YACA;AAEA,IAAAmL,EAAA1R,EAAA;AACA5D,OAAAC,eAAA4D,EAAA,gBACAI,YAAA,EACAC,IAAA,WACA,OAAAoR,EAAAoK,YACA,IAEA1f,OAAAC,eAAA4D,EAAA,kBACAI,YAAA,EACAC,IAAA,WACA,OAAAoR,EAAAqK,cACA,IAEA3f,OAAAC,eAAA4D,EAAA,oBACAI,YAAA,EACAC,IAAA,WACA,OAAAoR,EAAAmK,gBACA,GAIA,EACA,KAAAnY,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAP,UAAA;AACA,MAAAuE,EAAAjE,EAAA;AAYAC,EAAAP,KAPA,SAAAoG,EAAA3B,EAAAwZ,EAAAC,GACA,MAAAxZ,GAAA,EAAAH,EAAAI,qBAAAF;AACA,YAAAG,IAAAF,EACA0B,EAAApG,KAAA0E,EAAAuZ,EAAAC,GAEA,IACA,CAIA,EACA,MAAAla,EAAAzD;;;;;AAKA7D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4d,UAAA5d,EAAA6d,sBAAA7d,EAAA8d,qBAAA;AAMA,IAsBAC,EAtBAC,EAAA;AAYA,SAAAF,IACA,IAAA1c;AACA,WAAA4c,GAAA,QAAA5c,EAZA,WACA,uBAAA5B,OACA,OAAAA,OAAAye,YAGA,CAOAA,UAAA,IAAA7c,IAAA,IACA,CACApB,EAAA8d,kBAgCA9d,EAAA6d,sBApBA,WACA,IAAAzc,EAAAC;AACA,QAAAgD,IAAA0Z,EACA,IACAA,EAIA,QAJA1c,EAAA,QAAAD,EAAA0c,WAAA,IAAA1c,OAAA,EAAAA,EAAA8c,aAAAF,EAAA,CACAG,WAAAC,KACAC,aAAAD,KACAE,gBAAAF,cACA,IAAA/c,IAAA,IACA,OAAAC,GAMAyc,EAAA,IACA,CAEA,OAAAA,CACA,EAGA/d,EAAA4d,UAAA,CACA,aAAAW,GACAR,OAAA1Z,EACA2Z,EAAA,aACA,EACA,yBAAAQ,CAAAvc,GACA+b,EAAA/b,CACA,EAIA,EACA,MAAAwB,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAwF,oBAAA;AACA,MAAAiM,EAAA1R,EAAA;AAKAC,EAAAwF,eAHA,SAAAiZ,EAAA9B,GACA8B,EAAApY,aAAA,EAAAoL,EAAAmK,kBAAAe,EACA,CAIA,EACA,MAAAlZ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA0e,cAAA1e,EAAA2e,aAAA3e,EAAA4e,YAAA;AACA,MAAAra,EAAAxE,EAAA;AAcAC,EAAA4e,OAHA,SAAA1a,EAAApC,GACA,WAAA+c,QAAA,EAAAta,EAAAG,mBAAAR,GAAApC,EACA,EAMA9B,EAAA2e,aAHA,SAAAza,EAAApC,GACA,WAAAgd,cAAA,EAAAva,EAAAG,mBAAAR,GAAApC,EACA,EASA9B,EAAA0e,cANA,SAAAK,GACA,QAAAC,EAAA9X,UAAAC,OAAA8X,EAAA,IAAAnX,MAAAkX,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IACAD,EAAAC,EAAA,GAAAhY,UAAAgY;AAEAH,EAAAL,iBAAAO,EAAAjd,KAAAkC,IAAA,EAAAK,EAAAG,mBAAAR,KACA,CAIA,EACA,UAqBA,EACA,MAAAT,EAAAzD,KAsCA,SAAAmf,EAAAlY,GACA,OAAA9K,OAAAijB,SAAAnY,IAAA9K,OAAAijB,SAAAnY,EAAAoY,IACA,CAIA,SAAAC,EAAA9F,GACA,WAAAA,EAAAzc,WAAA8M,QAAA,IACA;;;;;AAzCA1N,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAuf,4BAAA,EA4BAvf,EAAAuf,uBAnBA,SAAAtY,EAAAuY,GACA,IAyCA,SAAAvY,GAkBA,IAAAa,MAAA2X,QAAAxY,KAAAa,MAAA2X,QAAAxY,EAAAoY,KACA;AAEA,GAAApY,EAAAE,SAAAF,EAAAoY,IAAAlY,OACA;AAEA,IAAAuY,GAAAzY,MAAAoY,IAIA;AAEA,KAAAK,GAAAC,KAAAR,EAAAlY,GAIA;AAEA,QACA,CA9EA2Y,CAAA3Y,IAAAuY,EAAA,IAAAvY,EAAAE,OACA,UAAA6M,UAAA,6nBAgBA;AAiBA,MAAA0L,EAAAJ,GAAAO,IAAA,MAAAP,GAAAO,IAAA,QAAAP,GAAAO,IAAA,QAAAP,GAAAO,IAAA,WAKAF,EAAAR,CAAA,IAAAA,CAAA,MAAAA,CAAA,MAAAA,CAAA,QA0CA,EACA,MAAA1b,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA8D,WAAA9D,EAAAuc,OAAAvc,EAAAwc,WAAAxc,EAAAsF,mBAAAtF,EAAAsc,cAAA,EACAvc,EAAA;AACA,MAAAmK,EAAAnK,EAAA,MACA+f,EAAA/f,EAAA;AAIA,MAAAggB,EACA,WAAAxV,CAAA1G,EAAA4G,IACA,EAAAP,EAAAS,oBAAAF,GACAhN,KAAAuiB,oCAAAnc,CACA,CACA,QAAA9G,GACA,OAAAU,KAAAuiB,oCAAAjjB,UACA,EAEA,SAAAkjB,EAAApc,EAAAqc,GACA,OAAAA,UAAA,IAAAH,EAAAlc,EAAAqG,EAAA0E,YACA,CACA,MAAAuR,EAAA,oBAAA3gB,cAAA4gB,iBAAA/b;AAIArE,EAAAsc,SAAA6D,UAAAJ,EAaA/f,EAAAsF,mBANA,SAAAzB,GACA,IAAAzC;AAEA,MAAAif,EAAAxc;AACA,OAAAoc,EAAAI,EAAA,QAAAjf,GAAA,EAAA0e,EAAAjC,gCAAA,IAAAzc,OAAA,EAAAA,EAAA+c,WAAAkC,GACA,EAMArgB,EAAAwc,WAAA,MACA,IAAApb;AACA,OAAA6e,EAAA,WAAA7e,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAAkf,UACA,EAHA,GAWAtgB,EAAAuc,OAJA,SAAAlgB,GACA,IAAA+E;AACA,eAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAAmf,OAAAlkB,kBAAA0jB,CACA,EAoBA/f,EAAA8D,WAZA,SAAAzH,GACA,IAAA+E;AACA,WAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAAmf,OAAAlkB,GACA,OAAAA;AACA,GAAAA,aAAA0jB,EACA,OAAA1jB,EAAA2jB;AAIA,UAAAtY,MAFA,GAIA,CAIA,EACA,MAAAjE,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAyc,sBAAAzc,EAAAiP,8BAAAjP,EAAA0c,yBAAA,EACA3c,EAAA;AACA,MAAAmK,EAAAnK,EAAA;AAEA,MAAA2c,GACA1c,EAAA0c;AAEA,MAAA8D,UAAA9D,EACA,WAAAnS,CAAAyE,EAAAvE,GACAmH,SACA,EAAA1H,EAAAS,oBAAAF,GACAhN,KAAAgjB,0CAAAzR,CACA,CACA,QAAAjS,GACA,OAAAU,KAAAgjB,yCACA,EAUAzgB,EAAAiP,8BAHA,SAAAD,GACA,WAAAwR,EAAAxR,EAAA9E,EAAA0E,YACA,EAeA5O,EAAAyc,sBATA,SAAApgB,GACA,GAAAA,aAAAmkB,EACA,OAAAnkB,EAAAokB;AAIA,UAAA/Y,MAFA,GAIA,CAIA,EACA,MAAAjE,EAAAzD;;;;;;;AAaAA,EAAAga,MAiCA,SAAA0G,EAAA5e,GACA,oBAAA4e,EACA,UAAA1M,UAAA;AAMA,IAJA,IAAA1T,EAAA,GACAqgB,EAAA7e,GAAA,GACA8e,EAAAF,EAAA9d,MAAA,KACAie,EAAAF,EAAAG,UACAjjB,EAAA,EAAAA,EAAA+iB,EAAAzZ,OAAAtJ,IAAA,CACA,IAAAkjB,EAAAH,EAAA/iB,GACAmjB,EAAAD,EAAAlX,QAAA;AAGA,KAAAmX,EAAA,IAGA,IAAA9gB,EAAA6gB,EAAAE,UAAA,EAAAD,GAAAE;AAGA,GAAA7c,MAAA/D,EAAAJ,GAAA,CACA,IAAAihB,EAAAJ,EAAAE,UAAAD,EAAA,EAAAD,EAAA5Z,QAAA+Z;AAGA,MAAAC,EAAA,KACAA,IAAA7V,MAAA,OAEAhL,EAAAJ,GAAAkhB,EAAAD,EAAAN,EACA,CAZA,CAaA,CACA,OAAAvgB,CACA,EA9DAN,EAAAqhB,UAgFA,SAAApf,EAAAkf,EAAArf,GACA,IAAA6e,EAAA7e,GAAA,GACAwf,EAAAX,EAAAY;AACA,sBAAAD,EACA,UAAAtN,UAAA;AAEA,IAAAwN,EAAA/Z,KAAAxF,GACA,UAAA+R,UAAA;AAEA,IAAA3X,EAAAilB,EAAAH;AACA,GAAA9kB,IAAAmlB,EAAA/Z,KAAApL,GACA,UAAA2X,UAAA;AAEA,IAAA0M,EAAAze,EAAA,IAAA5F;AACA,SAAAskB,EAAAc,OAAA,CACA,IAAAA,EAAAd,EAAAc,OAAA;AACA,GAAAC,MAAAD,KAAAE,SAAAF,GACA,UAAAzN,UAAA;AAEA0M,GAAA,aAAAkB,KAAAC,MAAAJ,EACA,CACA,GAAAd,EAAAmB,OAAA,CACA,IAAAN,EAAA/Z,KAAAkZ,EAAAmB,QACA,UAAA9N,UAAA;AAEA0M,GAAA,YAAAC,EAAAmB,MACA,CACA,GAAAnB,EAAAhG,KAAA,CACA,IAAA6G,EAAA/Z,KAAAkZ,EAAAhG,MACA,UAAA3G,UAAA;AAEA0M,GAAA,UAAAC,EAAAhG,IACA,CACA,GAAAgG,EAAAoB,QAAA,CACA,sBAAApB,EAAAoB,QAAAC,YACA,UAAAhO,UAAA;AAEA0M,GAAA,aAAAC,EAAAoB,QAAAC,aACA,CACArB,EAAAsB,WACAvB,GAAA;AAEAC,EAAAuB,SACAxB,GAAA;AAEA,GAAAC,EAAAwB,SAAA,CAEA,OADA,iBAAAxB,EAAAwB,SAAAxB,EAAAwB,SAAA9a,cAAAsZ,EAAAwB,UAEA,OACAzB,GAAA;AACA;AACA,UACAA,GAAA;AACA;AACA,aACAA,GAAA;AACA;AACA,WACAA,GAAA;AACA;AACA,QACA,UAAA1M,UAAA,8BAEA,CACA,OAAA0M,CACA;AA1IA,IAAAI,EAAAsB,mBACAb,EAAAja,mBAUAka,EAAA;AAyIA,SAAAJ,EAAAV,EAAAI,GACA,IACA,OAAAA,EAAAJ,EACA,OAAAnX,GACA,OAAAmX,CACA,CACA,CAGA,EACA,MAAAjd,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAqiB,UAAAriB,EAAAuF,YAAA;AAIA,MAAA5B,EAAA5D,EAAA,MACAwE,EAAAxE,EAAA;AAKAC,EAAAuF,OAHA,SAAA+c,EAAAlc,GACAkc,EAAA9b,KAAA,EAAAjC,EAAAG,mBAAA0B,GAAArJ,UACA,EAMAiD,EAAAqiB,UAHA,SAAAC,EAAAlc,GACAkc,EAAAC,QAAA,EAAA5e,EAAAG,YAAAsC,EACA,CAIA,EACA,MAAA3C,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAwiB,mBAAA;AACA,MAAAxe,EAAAjE,EAAA,MACAwE,EAAAxE,EAAA,MACA0iB,EAAA;AAgBAziB,EAAAwiB,cAfA,SAAAE,EAAAxe,EAAAye,GACA,MAAApe,EAAA8X,eAAAnY,GACAwe,EAAAzJ,MAAA,EAAA1U,EAAAG,mBAAAR,GAAAnH;IACA,CACA,QAAA0lB,EAAA5Y,QAAA8Y,GACA,UAAAjb,MAAA,wDAAAib;AAEA,MAAAxe,GAAA,EAAAH,EAAAI,qBAAAF;AACA,QAAAG,IAAAF,EACA;AAEAue,EAAAzJ,KAAA9U,CACA,CACAue,EAAAC,KACA,CAIA,EACA,MAAAlf,EAAAzD;;;;;AAKA7D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAoM,UAAApM,EAAAkM,OAAAlM,EAAA8M,iBAAA,EAWA9M,EAAA8M,YALA,SAAAiB,GACA,MAAAC,EAAAD,EAAAC;AAEA,uBAAAA,IAAA,MACA,EAOAhO,EAAAkM,OAJA,SAAA6B,GAEA,WAAAA,EAAA6U,QACA,EASA5iB,EAAAoM,UANA,SAAA2B,GACA,MAAA6U,EAAA7U,EAAA6U;AAGA,WAAAA,GAAA,iBAAAA,CACA,CAIA,EACA,MAAAnf,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAsG,aAAAtG,EAAAkc,SAAAlc,EAAAmc,aAAAnc,EAAAmS,qBAAAnS,EAAAic,gBAAA,EACAlc,EAAA;AACA,MAAAmK,EAAAnK,EAAA,MACA+f,EAAA/f,EAAA;AAKA,MAAA8iB,EACA,WAAAtY,CAAA5E,EAAA8E,IACA,EAAAP,EAAAS,oBAAAF,GACAhN,KAAAqlB,sCAAAnd,CACA,CACA,QAAA5I,GACA,OAAAU,KAAAqlB,sCAAA/lB,UACA,EAEA,SAAAgmB,EAAApd,EAAAua,GACA,OAAAA,UAAA,IAAA2C,EAAAld,EAAAuE,EAAA0E,YACA,CACA,MAAAoU,EAAA,oBAAAxjB,cAAAyjB,mBAAA5e;AAIArE,EAAAic,WAAA+G,UAAAH,EAaA7iB,EAAAmS,qBANA,SAAAxM,GACA,IAAAvE;AAEA,MAAA8hB,EAAAvd;AACA,OAAAod,EAAAG,EAAA,QAAA9hB,GAAA,EAAA0e,EAAAjC,gCAAA,IAAAzc,OAAA,EAAAA,EAAAid,aAAA6E,GACA,EAMAljB,EAAAmc,aAAA,MACA,IAAA/a;AACA,OAAA2hB,EAAA,WAAA3hB,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAA+hB,YACA,EAHA,GAWAnjB,EAAAkc,SAJA,SAAA7f,GACA,IAAA+E;AACA,eAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAA8a,SAAA7f,kBAAAwmB,CACA,EAoBA7iB,EAAAsG,aAZA,SAAAjK,GACA,IAAA+E;AACA,WAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAA8a,SAAA7f,GACA,OAAAA;AACA,GAAAA,aAAAwmB,EACA,OAAAxmB,EAAAymB;AAIA,UAAApb,MAFA,GAIA,CAIA,EACA,MAAAjE,EAAAzD;;;;;AAKA7D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAojB,gBAAApjB,EAAAuN,sBAAAvN,EAAA4P,oBAAA;AAgDA,IAAArC;AALAvN,EAAA4P,eAzCA,MACA,WAAArF,CAAA8Y,EAAAC,EAAAC,EAAAC,EAAAC,GACAhmB,KAAA4lB,kBACA5lB,KAAA6lB,kBACA7lB,KAAA8lB,0BACA9lB,KAAA+lB,0BACA/lB,KAAAgmB,kCACA,CACA,gBAAAxV,CAAApB,GAOA,eAAAA,IAAApP,KAAA4lB,gBAAA7U,IAAA3B,IAAApP,KAAA6lB,gBAAA9U,IAAA3B,GACA,CACA,kBAAAM,CAAAuW,EAAA7W,GACA,MAAA8W,EAAAlmB,KAAA6lB,gBAAAjjB,IAAAwM;AACA,GAAA8W,aAAA,EAAAA,EAAAnV,IAAAkV,GACA,OAAAC,EAAAtjB,IAAAqjB;AAEA,GAAAjmB,KAAA8lB,wBAAA/U,IAAAkV,GACA,OACApW,aAAAC,EAAAC;AAGA,MAAAoW,EAAAnmB,KAAA+lB,wBAAAnjB,IAAAqjB;AACA,OAAAE,IAGAnmB,KAAAgmB,kCAAA,IAAAhmB,KAAAgmB,kCAAAI,MAAAnJ,GAAA,IAAAgJ,EAAA7Z,QAAA6Q,KACA,CACApN,aAAAC,EAAAC,MAGA,CACAF,aAAAC,EAAAO,MAEA,GAQA,SAAAP,GACAA,IAAA,eACAA,IAAA,eACAA,IAAA,iDACAA,IAAA,2CACAA,IAAA,oDACA,CANA,CAMAA,EAAAvN,EAAAuN,wBAAAvN,EAAAuN,sBAAA;AAGA,MAAAuW,EAAA,IAAApU,IAAA;AAOA1P,EAAAojB,gBAHA,SAAAvD,GACA,OAAAiE,EAAAtV,IAAAqR,EAAAkE,gBAAA,oCAAAtc,KAAAoY,EACA,CAIA,EACA,MAAApc,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAgkB,sBAAAhkB,EAAAikB,YAAAjkB,EAAAkkB,WAAA;AACA,MAAAvgB,EAAA5D,EAAA;AAQAC,EAAAkkB,MAHA,SAAApf,EAAAoN,GACApN,EAAAof,OAAA,EAAAvgB,EAAAG,YAAAoO,GACA,EAcAlS,EAAAikB,YARA,SAAAnf,EAAAqf,EAAA9nB,GACA,MAAA+nB,EAAArc,OAAAoc;AACA,IAAAE,EAAAhoB;AAIA,MAHA,eAAA+nB,EAAA/c,gBACAgd,GAAA,EAAA1gB,EAAAG,YAAAzH,IAEAyI,EAAAmf,YAAAG,GAAA,EAAAC,EACA,EASArkB,EAAAgkB,sBAHA,SAAAlf,EAAAjB,GACA,OAAAiB,EAAAmf,YAAA,mBAAAtgB,EAAAG,YAAAD,GACA,CAIA,EACA,MAAAJ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAkJ,aAAA;AACA,MAAAlF,EAAAjE,EAAA;AAUAC,EAAAkJ,QANA,SAAAob,EAAApgB,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACAmgB,EAAArL,KAAA9U,EAEA,CAIA,EACA,MAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA6c,0BAAA;AACA,MAAA3S,EAAAnK,EAAA,MACAsd,EAAAtd,EAAA,MACAsK,EAAAtK,EAAA,MACAuK,EAAAvK,EAAA;AAgKAC,EAAA6c,qBA9JA,MACA,WAAAtS,GAGA9M,KAAA8mB,aAAA,EACA9mB,KAAA+M,eAAAH,EAAAsE,qBACA,CAEA,iBAAA6V,CAAAC,GACA,MAAApB,EAAA,IAAA3T,IACAgV,EAAA,IAAAjV;AACA,QAAAkV,KAAAF,EAAA,CAEA,GADAE,IAAAZ,eACAtmB,KAAA+M,eAAAyD,iBAAA0W,GACA,UAAAjd,MAAA,YAAAid;AAEA,MAAAhB,EAAAlmB,KAAA+M,eAAA8Y,gBAAAjjB,IAAAskB;KACAtgB,IAAAsf,EACAe,EAAAviB,IAAAwiB,EAAAhB,GAEAN,EAAAuB,IAAAD,EAEA,CAEA,OADAlnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAyT,EAAAqB,EAAAjnB,KAAA+M,eAAA+Y,wBAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CAMA,kBAAAonB,CAAAF,EAAAG,GACA,MAAAzB,EAAA,IAAA3T,IAAAjS,KAAA+M,eAAA6Y,iBACAqB,EAAA,IAAAjV,IAAAhS,KAAA+M,eAAA8Y;AAEA,GADAqB,IAAAZ,gBACA,EAAAzZ,EAAA8Y,iBAAAuB,GACA,UAAAjd,MAAA,YAAAid;AAEA,GAAAG,EAAA,CACA,MAAAnB,EAAA,IAAAlU;AACA,UAAAsV,KAAAD,EACAnB,EAAAxhB,IAAA4iB,EAAA,CACAzX,aAAAhD,EAAAiD,sBAAAC;AAGAkX,EAAAviB,IAAAwiB,EAAAhB,EACA,MACAN,EAAAuB,IAAAD;AAGA,OADAlnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAyT,EAAAqB,EAAAjnB,KAAA+M,eAAA+Y,wBAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CAMA,mBAAAunB,CAAAC,GACA,MAAA1B,EAAA,IAAA7T,IACA8T,EAAA,IAAA/T,IACA6T,EAAA,IAAA7T;AACA,UAAAsV,KAAAE,EACAxnB,KAAA+M,eAAA+Y,wBAAA/U,IAAAuW,IACAxB,EAAAqB,IAAAG,GAEAtnB,KAAA+M,eAAAgZ,wBAAAhV,IAAAuW,IACAvB,EAAArhB,IAAA4iB,EAAAtnB,KAAA+M,eAAAgZ,wBAAAnjB,IAAA0kB;AAGA,UAAAlY,EAAAqY,KAAAznB,KAAA+M,eAAA8Y,gBAAA6B,UAAA,CACA,MAAAC,EAAA,IAAA3V;AACA,UAAAsV,EAAAM,KAAAH,EAAAC,UACAF,EAAAzW,IAAAuW,IACAK,EAAAjjB,IAAA4iB,EAAAM;AAGA/B,EAAAnhB,IAAA0K,EAAAuY,EACA,CAEA,OADA3nB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAAC,EAAAC,EAAAC,GACA/lB,IACA,CASA,mBAAA6nB,CAAArY,GACA,MAAAsW,EAAA,IAAA7T,IAAAjS,KAAA+M,eAAA+Y;AACA,UAAAwB,KAAA9X,EAAA,CACA,OAAA8X,EAAAlb,QAAA,SACA,UAAAnC,MAAA,mBAAAqd;AAEAxB,EAAAqB,IAAAG,EACA,CAEA,OADAtnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAA5lB,KAAA+M,eAAA8Y,gBAAAC,EAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CAQA,oBAAA8nB,GACA,MAAA/B,EAAA,IAAA/T,IAAAhS,KAAA+M,eAAAgZ;AAKA,OAJAA,EAAArhB,IAAA,SACAmL,aAAAhD,EAAAiD,sBAAAM,0BAEApQ,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAA5lB,KAAA+M,eAAA8Y,gBAAA7lB,KAAA+M,eAAA+Y,wBAAAC,GACA/lB,IACA,CAMA,oBAAA+nB,GACA,MAAAjC,EAAA,IAAA7T,IAAAjS,KAAA+M,eAAA+Y;AAGA,OAFAA,EAAAqB,IAAA,SACAnnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAA5lB,KAAA+M,eAAA8Y,gBAAAC,EAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CAKA,iBAAAgoB,GACA,MAAAlC,EAAA,IAAA7T,IAAAjS,KAAA+M,eAAA+Y;AAGA,OAFAA,EAAAqB,IAAA,MACAnnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAA5lB,KAAA+M,eAAA8Y,gBAAAC,EAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CAQA,0BAAAioB,GACA,MAAAnC,EAAA,IAAA7T,IAAAjS,KAAA+M,eAAA+Y;AAIA,OAFAA,EAAAqB,IAAA,yBAAAA,IAAA,iBAAAA,IAAA,mBAAAA,IAAA,aAAAA,IAAA,OAAAA,IAAA,QACAnnB,KAAA+M,eAAA,IAAAF,EAAAsF,eAAAnS,KAAA+M,eAAA6Y,gBAAA5lB,KAAA+M,eAAA8Y,gBAAAC,EAAA9lB,KAAA+M,eAAAgZ,yBACA/lB,IACA,CACA,KAAAkoB,GACA,GAAAloB,KAAA8mB,YACA,UAAA7c,MAAA;AAGA,OADAjK,KAAA8mB,aAAA,EACA,IAAAlH,EAAApT,kBAAAxM,KAAA+M,eAAAN,EAAA0E,YACA,EAKA,EACA,MAAAnL,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4lB,qBAAA5lB,EAAA6lB,6BAAA7lB,EAAA8lB,mBAAA9lB,EAAA+lB,aAAA/lB,EAAA8X,kBAAA,EAMA/X,EAAA;AACA,MAAA+O,EAAA/O,EAAA,MACA4D,EAAA5D,EAAA;AA6DA,SAAA6lB,EAAAI,EAAAzc,EAAAwG,EAAA1T,GACA,OAAA2pB,EAAA7e,OAAA,CAGA,UAAAO,MAFA,GAGA,CACA,MAAAue,EAAAD,EAAAhkB,KAAAoc,IAAA,EAAAtP,EAAA2N,uBAAA2B,KACA8H,EAAAnW,EAAA1I;AACA,GAAA4e,EAAAE,OAAAC,GAAA,IAAAF,EAAArc,QAAAuc,KACA,UAAA1e,MAAA,cAAAqI;AAEAxG,EAAApD,aAAA4J,EAAA1T,EACA,CAEA,SAAAgqB,EAAA1B,GAEA,MAAA2B,EAAA3B,EAAA2B;AACA,cAAAA,GAAA,UAAAA,EAEA,UAAA5e,MAJA,GAMA,CAvEA1H,EAAA8X,aANA,SAAAyO,EAAAngB,IA8EA,SAAAmgB,GACA,WAAAA,EAAA3D,QACA,EA/EAxW,CAAAma,IACAF,EAAAE,GAEAA,EAAAC,WAAA,EAAA7iB,EAAAG,YAAAsC,EACA,EAYApG,EAAA+lB,aAPA,SAAAxc,EAAAnD,GACA,MAAAqgB,EAAAld,EAAAmd;AACA,OAAAD,GACAJ,EAAAI,GAEAld,EAAAod,WAAA,EAAAhjB,EAAAG,YAAAsC,EACA,EAYApG,EAAA8lB,mBAPA,SAAAnB,EAAAiC,EAAAxgB,GACA,MAAAygB,EAAA,gBAAAD,GAAA,aAAAA,EAAAjC,EAAA+B,cAAA/B;AACA,OAAAkC,GACAR,EAAAQ,GAEAlC,EAAAmC,mBAAAF,GAAA,EAAAjjB,EAAAG,YAAAsC,GACA,EAsBApG,EAAA6lB,6BATA,SAAAnL,GACA,QAAAqM,EAAA7f,UAAAC,OAAA6f,EAAA,IAAAlf,MAAAif,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IACAD,EAAAC,EAAA,GAAA/f,UAAA+f;AAEA,MAAAhB,EAAA,CAAAvL,KAAAsM;AACA,OAAAzd,EAAAwG,EAAA1T,KACAupB,EAAAK,EAAA1c,EAAAwG,EAAA1T,EAAA,CAEA,EAqBA2D,EAAA4lB,sBAcA,EACA,MAAAniB,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4c,kBAAA5c,EAAA2c,oBAAA,EACA5c,EAAA;AACAA,EAAA;AAAA,MACA0R,EAAA1R,EAAA;AAqBAC,EAAA2c,eANA,SAAA1V,GAEA,MAAAmL,EAAAnL,EAAA;AAEA,SAAAwK,EAAAY,0BAAAD,EACA,EASApS,EAAA4c,kBAHA,SAAAsK,GACA,SAAAzV,EAAAY,0BAAA6U,EAAAllB,IAAAyP,EAAAmK,kBAAA3Y,KAAA,IACA,CAIA,EACA,MAAAQ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAkJ,aAAA;AACA,MAAAlF,EAAAjE,EAAA;AAUAC,EAAAkJ,QANA,SAAAie,EAAAjjB,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACAgjB,EAAAlO,KAAA9U,EAEA,CAIA,EACA,MAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA0E,kBAAA1E,EAAAqc,cAAArc,EAAAoH,0BAAApH,EAAAoc,wBAAA,EACArc,EAAA;AACA,MAAAmK,EAAAnK,EAAA,MACA+f,EAAA/f,EAAA;AAKA,MAAAqnB,EACA,WAAA7c,CAAArG,EAAAuG,IACA,EAAAP,EAAAS,oBAAAF,GACAhN,KAAA4pB,2CAAAnjB,CACA,CACA,QAAAnH,GACA,OAAAU,KAAA4pB,2CAAAtqB,UACA,EAEA,MAAAuqB,EAAA,oBAAA9nB,cAAA+nB,sBAAAljB;AAIArE,EAAAoc,mBAAAkL,UAAAF,EAcApnB,EAAAoH,0BAPA,SAAAlD,GACA,IAAA9C;AAEA,MAAAomB,EAAAtjB,EACAujB,EAAA,QAAArmB,GAAA,EAAA0e,EAAAjC,gCAAA,IAAAzc,OAAA,EAAAA,EAAAkd,gBAAAkJ;AACA,OAAAC,UAAA,IAAAL,EAAAI,EAAAtd,EAAA0E,YACA,EASA5O,EAAAqc,cAJA,SAAAhgB,GACA,IAAA+E;AACA,eAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAAsmB,YAAArrB,kBAAA+qB,CACA,EAqBApnB,EAAA0E,kBAZA,SAAArI,GACA,IAAA+E;AACA,WAAAA,GAAA,EAAA0e,EAAAhC,0BAAA,IAAA1c,OAAA,EAAAA,EAAAsmB,YAAArrB,GACA,OAAAA;AACA,GAAAA,aAAA+qB,EACA,OAAA/qB,EAAAgrB;AAIA,UAAA3f,MAFA,GAIA,CAIA,EACA,MAAAjE,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAkJ,aAAA;AACA,MAAA3E,EAAAxE,EAAA;AAOAC,EAAAkJ,QAHA,SAAAye,EAAAzjB,GACAyjB,EAAA1O,MAAA,EAAA1U,EAAAG,mBAAAR,EACA,CAIA,EACA,cAAAT,EAAAzD,EAAAD;;;;;AAKA,IAAA6nB,EAAAnqB,WAAAmqB,kBAAAzrB,OAAAyiB,OAAA,SAAAze,EAAA0nB,EAAAC,EAAAC,QACA1jB,IAAA0jB,MAAAD;AACA,IAAAE,EAAA7rB,OAAA8rB,yBAAAJ,EAAAC;AACAE,KAAA,QAAAA,GAAAH,EAAAphB,WAAAuhB,EAAAE,UAAAF,EAAAG,gBACAH,EAAA,CACA5nB,YAAA,EACAC,IAAA,WACA,OAAAwnB,EAAAC,EACA,IAGA3rB,OAAAC,eAAA+D,EAAA4nB,EAAAC,EACA,WAAA7nB,EAAA0nB,EAAAC,EAAAC,QACA1jB,IAAA0jB,MAAAD,GACA3nB,EAAA4nB,GAAAF,EAAAC,EACA,GACAM,EAAA3qB,WAAA2qB,qBAAAjsB,OAAAyiB,OAAA,SAAAze,EAAAiG,GACAjK,OAAAC,eAAA+D,EAAA,WACAC,YAAA,EACA/D,MAAA+J,GAEA,WAAAjG,EAAAiG,GACAjG,EAAA,QAAAiG,CACA,GACAiiB,EAAA5qB,WAAA4qB,cAAA,SAAAC,GACA,GAAAA,KAAA7hB,WAAA,OAAA6hB;AACA,IAAAhZ,EAAA;AACA,SAAAgZ,EAAA,QAAAR,KAAAQ,EAAA,YAAAR,GAAA3rB,OAAAuB,UAAA8C,eAAAC,KAAA6nB,EAAAR,IAAAF,EAAAtY,EAAAgZ,EAAAR;AAEA,OADAM,EAAA9Y,EAAAgZ,GACAhZ,CACA;AACAnT,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAuoB,WAAAvoB,EAAAwoB,WAAAxoB,EAAAyoB,QAAAzoB,EAAA0oB,2BAAA1oB,EAAA2oB,UAAA3oB,EAAA4oB,aAAA5oB,EAAA6oB,WAAA7oB,EAAA8oB,cAAA9oB,EAAA+oB,aAAA/oB,EAAAgpB,aAAAhpB,EAAAipB,UAAAjpB,EAAAkpB,YAAAlpB,EAAAmpB,aAAAnpB,EAAAopB,aAAAppB,EAAAqpB,WAAArpB,EAAAspB,YAAAtpB,EAAAupB,aAAAvpB,EAAAwpB,WAAAxpB,EAAAypB,YAAAzpB,EAAA6X,YAAA7X,EAAA0pB,aAAA1pB,EAAA2pB,WAAA3pB,EAAA4pB,WAAA5pB,EAAA6pB,kBAAA,EAKA7pB,EAAA6pB,aAAAxB,EAAAtoB,EAAA,OACAC,EAAA4pB,WAAAvB,EAAAtoB,EAAA,OACAC,EAAA2pB,WAAAtB,EAAAtoB,EAAA,OACAC,EAAA0pB,aAAArB,EAAAtoB,EAAA,OACAC,EAAA6X,YAAAwQ,EAAAtoB,EAAA,OACAC,EAAAypB,YAAApB,EAAAtoB,EAAA,OACAC,EAAAwpB,WAAAnB,EAAAtoB,EAAA,MACAC,EAAAupB,aAAAlB,EAAAtoB,EAAA,OACAC,EAAAspB,YAAAjB,EAAAtoB,EAAA,OACAC,EAAAqpB,WAAAhB,EAAAtoB,EAAA,OACAC,EAAAopB,aAAAf,EAAAtoB,EAAA,OACAC,EAAAmpB,aAAAd,EAAAtoB,EAAA,MACAC,EAAAkpB,YAAAb,EAAAtoB,EAAA,OACAC,EAAAipB,UAAAZ,EAAAtoB,EAAA,OACAC,EAAAgpB,aAAAX,EAAAtoB,EAAA,OACAC,EAAA+oB,aAAAV,EAAAtoB,EAAA,OACAC,EAAA8oB,cAAAT,EAAAtoB,EAAA,OACAC,EAAA6oB,WAAAR,EAAAtoB,EAAA,OACAC,EAAA4oB,aAAAP,EAAAtoB,EAAA,OACAC,EAAA2oB,UAAAN,EAAAtoB,EAAA,MACAC,EAAA0oB,2BAAAL,EAAAtoB,EAAA,MACAC,EAAAyoB,QAAAJ,EAAAtoB,EAAA,OACAC,EAAAwoB,WAAAH,EAAAtoB,EAAA,MACAC,EAAAuoB,WAAAF,EAAAtoB,EAAA,MAGA,EACA,cAAA0D,EAAAzD,EAAAD,GACA,IAAA6nB,EAAAnqB,WAAAmqB,kBAAAzrB,OAAAyiB,OAAA,SAAAze,EAAA0nB,EAAAC,EAAAC,QACA1jB,IAAA0jB,MAAAD;AACA,IAAAE,EAAA7rB,OAAA8rB,yBAAAJ,EAAAC;AACAE,KAAA,QAAAA,GAAAH,EAAAphB,WAAAuhB,EAAAE,UAAAF,EAAAG,gBACAH,EAAA,CACA5nB,YAAA,EACAC,IAAA,WACA,OAAAwnB,EAAAC,EACA,IAGA3rB,OAAAC,eAAA+D,EAAA4nB,EAAAC,EACA,WAAA7nB,EAAA0nB,EAAAC,EAAAC,QACA1jB,IAAA0jB,MAAAD,GACA3nB,EAAA4nB,GAAAF,EAAAC,EACA;AACA9nB,EAAAyG,YAAA,EACAzG,EAAAoU,WAAApU,EAAAkU,eAAA;AACA,IAAA4V,EAAA/pB,EAAA;AACA6nB,EAAA5nB,EAAA8pB,EAAA,aACAlC,EAAA5nB,EAAA8pB,EAAA,aAGA,EACA,MAAArmB,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAgD,OAAAhD,EAAA8S,QAAA9S,EAAAkJ,aAAA;AACA,MAAAlF,EAAAjE,EAAA;AAWAC,EAAAkJ,QANA,SAAA6gB,EAAA7lB,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,IACA4lB,EAAA9Q,KAAA9U,EAEA,EAYAnE,EAAA8S,QANA,SAAAiX,EAAA7lB,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,GACA4lB,EAAAjX,QAAA3O,EAEA,EAYAnE,EAAAgD,OANA,SAAA+mB,EAAA7lB,GACA,MAAAC,GAAA,EAAAH,EAAAI,qBAAAF;KACAG,IAAAF,GACA4lB,EAAA/mB,OAAAmB,EAEA,CAIA,EACA,MAAAV,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAuF,YAAA;AACA,MAAAhB,EAAAxE,EAAA;AAOAC,EAAAuF,OAHA,SAAAykB,EAAA9lB,GACA8lB,EAAAxjB,KAAA,EAAAjC,EAAAG,mBAAAR,EACA,CAIA,EACA,MAAAT,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAAgd,UAAAhd,EAAAkd,YAAAld,EAAA8c,gBAAA9c,EAAA+c,aAAA/c,EAAAid,gBAAA;AACA,MAAAtZ,EAAA5D,EAAA,MACAwE,EAAAxE,EAAA,MACA0F,EAAA1F,EAAA;AAWA,SAAAkd,EAAA5gB,GACA,IAAAyF,EAAAoF,UAAAC,OAAA,QAAA9C,IAAA6C,UAAA,GAAAA,UAAA;AACA,MAAAvD,EAAA4Y,QAAAlgB,GACA,OAAAA;AAEA,IAAA4tB,EAAAC,EAAAniB,OAAA1L;AAWA,OAVAyF,EAAAqoB,iBAEAF,IAAAnX,QAAA,+BAEAhR,EAAAsoB,mBACAH,IAAAnX,QAAA,yBAEAhR,EAAAuoB,eACAJ,IAAAnX,QAAA,sDAEA,EAAAnP,EAAA2B,oBAAA2kB,EACA,CA8CA,SAAAC,EAAAhY,GAEA,OADAA,EAAAY,QAAA,cAAAA,QAAA,aAAAA,QAAA,aAAAA,QAAA,eAAAA,QAAA,cAEA,CAUA,SAAAkK,EAAArV,EAAA2iB,GACA,MAAAC,EAAAtN,EAAAtV;AACA,SAAAhE,EAAA2B,oBAAAglB,EAAAtoB,KAAA3F,IAAA,EAAAsH,EAAAG,YAAAmZ,EAAA5gB,MAAA4G,MAAA,EAAAU,EAAAG,YAAAymB,GAAAxtB,YACA,CA7DAiD,EAAAid,aAuBAjd,EAAA+c,aAnBA,SAAApX,GACA,IAAA7D,EAAAoF,UAAAC,OAAA,QAAA9C,IAAA6C,UAAA,GAAAA,UAAA;AACA,MAAAsjB,GAAA,EAAA/kB,EAAAa,cAAAX,GAAA5I;AACA,IAAA0tB,EAAA;AAcA,OAbA3oB,EAAArF,KACAguB,GAAA,QAAAP,EAAApoB,EAAArF,QAEAqF,EAAA8D,QACA6kB,GAAA,WAAAP,EAAApoB,EAAA8D,WAEA9D,EAAAkH,OACAyhB,GAAA,UAAAP,EAAApoB,EAAAkH,UAEAlH,EAAA4oB,QACAD,GAAA,UAEAA,GAAA,IAAAD,eACA,EAAA7mB,EAAA2B,oBAAAmlB,EACA,EAmBAzqB,EAAA8c,gBAbA,SAAAtW,GACA,IAAA1E,EAAAoF,UAAAC,OAAA,QAAA9C,IAAA6C,UAAA,GAAAA,UAAA,MAEAujB,EAAA,gBAAAP,GADA,EAAA3lB,EAAAG,mBAAA8B,GAAAzJ;AASA,OAPA+E,EAAA6oB,QACAF,GAAA,UAEA3oB,EAAA8D,QACA6kB,GAAA,WAAAP,EAAApoB,EAAA8D,WAEA6kB,GAAA,eACA,EAAA9mB,EAAA2B,oBAAAmlB,EACA,EAaAzqB,EAAAkd,YAHA,SAAAoN,GACA,OAAAtN,EAAA,GAAAsN,EACA,EAUAtqB,EAAAgd,WAGA,EACA,MAAAvZ,EAAAzD,EAAAD;;;;;AAKA5D,OAAAC,eAAA4D,EAAA,cACA3D,OAAA,IAEA2D,EAAA4qB,aAAA;AACA,MAAArmB,EAAAxE,EAAA;AAKAC,EAAA4qB,QAHA,SAAAtqB,EAAA8F,GACA9F,EAAAqM,MAAA,EAAApI,EAAAG,mBAAA0B,EACA,CAIA,GAOAykB,EAAA;AAIA,SAAA9qB,EAAA+qB,GAEA,IAAAC,EAAAF,EAAAC;AAEA,QAAAzmB,IAAA0mB,EACA,OAAAA,EAAA/qB;AAKA,IAAAgrB,EAAAH,EAAAC,GAAA,CAGA9qB,QAAA;AAUA,OAJAwD,EAAAsnB,GAAArqB,KAAAuqB,EAAAhrB,QAAAgrB,IAAAhrB,QAAAD,GAIAirB,EAAAhrB,OAEA,CAOAD,EAAAY,EAAA,CAAAX,EAAAC,KACA,QAAAC,KAAAD,EACAF,EAAAI,EAAAF,EAAAC,KAAAH,EAAAI,EAAAH,EAAAE,IACA/D,OAAAC,eAAA4D,EAAAE,EAAA,CACAE,YAAA,EACAC,IAAAJ,EAAAC,IAKA,EASAH,EAAAI,EAAA,CAAAG,EAAAC,IAAApE,OAAAuB,UAAA8C,eAAAC,KAAAH,EAAAC;AAKA,IAAAG,EAAA;AAGAX,EAAAY,EAAAD,EAAA,CACAE,EAAA;AASA,MAAAqqB,EANAnqB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAA,CAAA,CACAmqB,SAAA,IAAAhoB,EAAAgoB;AASA,MAAAC,EANArqB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAqqB,CAAA,CACA9uB,QAAA,IAAA6G,EAAA;AAGA,IAAAqD,EAAAzG,EAAA;AAQA,MAAAiB,EANAF,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAE,CAAA,CACA3E,QAAA,IAAAwD,EAAA;AASA,MAAAurB,EANAvqB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAuqB,CAAA,CACAhvB,QAAA,IAAA8G,EAAA;AASA,MAAAmoB,EANAzqB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGAyqB,CAAA,CACAC,cAAA,IAAApoB,EAAAooB;AASA,MAAAC,EANA5qB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGA4qB,CAAA,CACAC,yBAAA,IAAAtoB,EAAAsoB;AASA,MAAAC,EANA/qB,KACA,IAAAC,EAAA;AAEA,OADAhB,EAAAY,EAAAI,EAAAD,GACAC,CAAA,EAGA+qB,CAAA,CACAxvB,QAAA,IAAAiH,EAAA,UAiBAwoB,EACA,kCADAA,EAEA,kDAFAA,EAGA,mCAHAA,EAIA,wCAEAC,EAAA,IAAAxlB,EAAA0N,UAAA,CACAmE,OAAA,QAGAC,kBAAA,MACAQ,4BAAA,EACAQ,IAAA9Z,OAAAysB,SAAAC,KAAAC,SAAA,kBAAA9nB,EAAA,MACA+U,eAAAgT,IACAjB,EAAA,QAAAkB,QAAA,MAAAD,KACAJ,EAAAnW,aAAA,EAEAsD,eAAA,OAGAE,cAAA;AAIA,SAAAiT,EAAAC,EAAA9pB,GACA,IAAArB;AACA,SAAAmrB,EACA;AAEA,MAAAC,EAAAD,EAAAjqB,OAAAN,KAAAO,KAAAN,OACAwqB,EAAA,QAAArrB,EAAAqB,EAAAC,qBAAA,IAAAtB,OAAA,EAAAA,EAAAuB;AACA,QAAA8pB,GACAA,EAAA7pB,MAAA,KAAA8pB,QAAAnqB,GAAAiqB,EAAAG,SAAApqB,KAAA4E,OAAA,CAGA,CACA,SAAAtK,EAAAC,GACA,OAAAA,EAAAC,WAAAF,SAAA,MACA,CACA,SAAAG,EAAAC,GACA,SAAAA,EAAAC,iBAAAL,EAAAI,EAAAE,WAAA,MAAAN,EAAAI,EAAAG,YACA,CAaA,SAAAwvB,EAAAC,GACAA,EAAAC,mBAAA,gCACA,MAAA7uB,EAAA4uB,EAAAroB,UAAAuoB,OAAA,yBAAA7uB,2BACAC,EAAA0uB,EAAAroB,UAAAuoB,OAAA,oBAAA3uB,MAAAC,WAAAC,MAAAC,MAAAC,KAAAC,YACAC,EAhBA,SAAAC,EAAAC,EAAAC,GACA,MAAAC,EAAA,IAAAC,KAAAF,GACAG,EAAA,IAAAD,KAAAD;AACAE,EAAAC,QAAAH,EAAA1B,UAAA;AACA,MAAA8B,EAAA,IAAAH,KAAAD;AACAI,EAAAD,QAAAH,EAAA1B,UAAA;AACA,MAAAsB,EAAA,IAAAS,IAAAR;AAIA,OAHAD,EAAAU,aAAAC,OAAA,QAAArC,EAAAgC,IACAN,EAAAU,aAAAC,OAAA,MAAArC,EAAAkC,IACAR,EAAAU,aAAAC,OAAA,WAAAT,GACAF,CACA,CAKAY,CAAArB,EAAAE,EAAAS,SAAAT,EAAAoB;AACAC,OAAAC,KAAAf,EAAA,IAEAmuB,EAAAG,kBAAA,aAAAxuB,IACA,MAAAiE,EAAAoqB,EAAAroB,UAAAuoB,OAAA,oBAAA3uB,MAAAqE;AACA,GAAAA,GAAA6pB,EAAAO,EAAAI,iBAAAxqB,MAAApC,IAAA0rB,IAAAvtB,EAAAC,UACA,OACAkB,OAAA,cACAuH,UAAA,CACAtI,SAAAJ,EAAAI,SACAW,WAAAf,EAAAe,YAEA2tB,KAAA,QACAC,MAAA,6CACAvG,SAAA,QAEA,GAEA,CAmBA,MAAAwG,EAAA,CACAnrB,KAAA,aACA,UAAAorB,CAAAC,EAAAC,IACA,EAAAhC,EAAAE,eAAA,SAAAoB,KArBA,SAAAA,GACA,MAaAW,EAbAX,EAAAY,yBAAA,qBAAAC,IACA,IACArxB,MAAAsxB,EAAAC,QACAA,GACAF;AACA,MAAAlvB,EAAAovB,EAAApvB,KACAiE,EAAAjE,EAAAT,MAAA0E;AACAA,GAAA6pB,EAAAO,EAAAI,iBAAAxqB,MAAApC,IAAA0rB,IAAAvtB,EAAAC,WACAkvB,EAAA/I,IAAA,wBAAAyG,EAAA,SACAwC,OAAAD,EAAAE,gBAEA,KAEA,wCACA,EAAApC,EAAAE,0BAAA4B,GAAA,IAAAZ,EAAAC,IACA,EAMAkB,CAAAlB,GACAA,EAAAmB,YAAA,8BACAC,SAAA,aAGA7S,SAAA,EAAA6P,EAAAC,UAAA,8GACA,IAAA9pB,EAAAC;AACA,MAAA6sB,EAAAzwB,KAAA0wB;AAEA,eAAA9sB,EAAA,QAAAD,EAAA3D,KAAA2wB,kBAAA,IAAAhtB,OAAA,EAAAA,EAAAitB,kBAAA,IAAAhtB,OAAA,EAAAA,EAAAsrB,SAAA,aACAuB,EAAAxB,QAAAjqB,MAAApC,IAAA0rB,KAEAmC,CACA,MAEArC,EAAA,QAAAyC,OAAA,CACA,UAAAC,GACA,MAAA9rB,EAAAhF,KAAAgF;AACA,IAAA+rB,EAAA/wB,KAAAgxB;AAKA,OAJAhsB,KAAApC,IAAA0rB,IAAAtpB,EAAApC,IAAA0rB,KACAyC,EAAA,oCAAA/rB,EAAApC,IAAA0rB,MAEAhnB,SAAA2pB,gBAAA3W,MAAAK,YAAA,kCAAApX,EAAA,QAAAkB,EAAAssB,OACA/wB,KAAA0wB,UAAAjnB,UACA,EAEA,0BAAAynB,GACA,IAAAC,EAAAnxB;AACA,kBACAmxB,EAAAnsB,UAAAmsB,EAAAnsB,SAAApC,IAAA0rB,GACAC,EAAAxW,UAAA,CACA/Y,GAAAmyB,EAAAnsB,SAAApC,IAAA0rB,GACAnR,OAAA5Z,EAAA,QAAA4Z,OACAE,QAAA,MACAC,iBAAA,CACA8T,sBAAAD,EAAAnsB,SAAAqsB,KACAC,KAAA,SAAAhqB,SAAA2pB,gBAAA3oB,aAzIA,YAyIA,WAEAipB,MAAArV,QAAAC,OAEAgV,EAAA/rB,QAAA8rB,uBAAAlV,KAAAmV,MAAA1nB,UAEA,CACA,GACA,GAEA;AAEAtL,EAAAU,QAAAoE,EAAAE,C,ICv1HAjF,OAAA,2JAAAC,EAAAM,GACA;AAEAC,OAAAC,eAAAR,EAAA,cACAS,OAAA,IAEAT,EAAAU,aAAA;AACAV,EAAAU,SAAA,EAAAJ,EAAAM,uBA+DA,CACAC,GAAA,WACAC,MAAA,0hFACAC,WAAA,+GACAC,cAAA,G","ignoreList":[]}