Mini Kabibi Habibi
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(self,(()=>(()=>{var __webpack_modules__={1680:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.CaiPlugin = void 0;\n\nvar _common = __webpack_require__(9172);\n\nvar _localization = __webpack_require__(60);\n\n__webpack_require__(1307);\n\nvar _lit = __webpack_require__(2853);\n\nvar _decorators = __webpack_require__(9487);\n\n__webpack_require__(4840);\n\nvar _DocumentManager = __webpack_require__(7401);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _PSConfig = __webpack_require__(7940);\n\nvar _PSUser = __webpack_require__(8937);\n\nvar _class;\n\nvar __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar __metadata = void 0 && (void 0).__metadata || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};\n\n// @ts-ignore\nconst {\n licensing,\n shell\n} = __webpack_require__(6876);\n\nconst openConnectedAccounts = async () => {\n const host = _PSConfig.PSConfig.get(\'social_site.host\', false);\n\n const jumpClientId = _PSConfig.PSConfig.get(\'social_site.client_id\', false);\n\n let accessToken = null;\n\n try {\n accessToken = _PSUser.PSUser.getToken();\n } catch (e) {\n console.error(e);\n }\n\n if (!accessToken) {\n console.warn(\'Unable to get access token to open Connected Accounts\');\n return;\n }\n\n const url = await licensing.getContinueToken({\n accessToken,\n jumpClientId,\n urlObject: new URL(`https://${host}/`),\n clientScope: \'openid,AdobeID\'\n });\n shell.openExternal(url);\n};\n\nlet CaiPlugin = (_class = class CaiPlugin extends _lit.LitElement {\n constructor() {\n super();\n this.hasFatallyErrored = false;\n this.dialogOpen = false;\n this.dialogWidth = 286;\n this.dialogHeight = 650;\n this._boundSetCurrentData = this._setCurrentData.bind(this);\n this._boundSetFatallyErrored = this._setFatallyErrored.bind(this);\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n _common.ErrorHandler.hasFatallyErrored$.subscribe(this._boundSetFatallyErrored);\n\n const uiSubject = this.CAI.getUISubject();\n uiSubject.subscribe(this._boundSetCurrentData);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n _common.ErrorHandler.hasFatallyErrored$.unsubscribe(this._boundSetFatallyErrored);\n\n const uiSubject = this.CAI.getUISubject();\n uiSubject.unsubscribe(this._boundSetCurrentData);\n }\n\n async update(changedProperties) {\n var _this$data, _this$shadowRoot;\n\n if (!((_this$data = this.data) !== null && _this$data !== void 0 && _this$data.workingDocumentId) && this.dialogOpen) {\n this.dialogOpen = false;\n } // if `isUsingGenTech` was not set from the outside, set it using `getGenTechInfo`\n\n\n if (this.data && this.data.workingDocumentId) {\n var _this$_genTechInfo, _this$_genTechInfo2;\n\n this._genTechInfo = await (0, _batchPlayActions.getGenTechInfo)(this.data.workingDocumentId);\n this.isUsingGenTech = ((_this$_genTechInfo = this._genTechInfo) === null || _this$_genTechInfo === void 0 ? void 0 : _this$_genTechInfo.isUsingFirefly) || ((_this$_genTechInfo2 = this._genTechInfo) === null || _this$_genTechInfo2 === void 0 ? void 0 : _this$_genTechInfo2.isUsingExternalModel);\n }\n\n this._template = (_this$shadowRoot = this.shadowRoot) === null || _this$shadowRoot === void 0 ? void 0 : _this$shadowRoot.querySelector(\'#preview-template\');\n super.update(changedProperties);\n }\n\n render() {\n var _this$data2;\n\n if (this.hasFatallyErrored) {\n return (0, _lit.html)`<div>ErrorView</div>`;\n }\n\n const workingStore = (_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.workingStore;\n\n if ((workingStore === null || workingStore === void 0 ? void 0 : workingStore.supported) === false) {\n return this._unsupportedView();\n }\n\n if ((workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState) === \'disabled\') {\n return this._disabledView();\n }\n\n if (!this.data || !this.data.workingDocumentId || !this.data.workingStore) {\n const msg = _localization.Localization.formatMessage({\n id: \'info.openFile\',\n defaultMessage: \'Open a file to use Content Credentials (Beta).\'\n });\n\n return this._emptyState(msg);\n }\n\n return this._controls();\n }\n\n _emptyState(msg) {\n return (0, _lit.html)`<div>\n <div style="padding: 16px">${msg}</div>\n </div>`;\n }\n\n _setCurrentData(data) {\n this.data = data;\n }\n\n _setFatallyErrored(fatal) {\n this.hasFatallyErrored = fatal;\n }\n\n _unsupportedView() {\n var _this$data3, _this$data3$workingSt;\n\n const fileTypeMsg = _localization.Localization.formatMessage({\n id: \'errorView.unsupported\',\n defaultMessage: // eslint-disable-next-line max-len\n "Content Credentials (Beta) doesn\'t support documents using Bitmap or Multichannel image mode. <a>Learn more</a>"\n }, {\n a: chunks => (0, _lit.html)`<a\n style="text-decoration: underline"\n href=${_localization.Localization.getLocalizedURLWithSuffix(\'https://www.adobe.com/go/CAI-HelpX-HowTo\')}\n >\n ${chunks}\n </a>`\n });\n\n const noPersistanceMsg = _localization.Localization.formatMessage({\n id: \'errorView.unsupportedPersistance\',\n defaultMessage: // eslint-disable-next-line max-len\n "Content Credentials (Beta) couldn\'t be enabled, possibly due to insufficient file or folder permissions. <a>Learn more</a>"\n }, {\n a: chunks => (0, _lit.html)`<a\n style="text-decoration: underline"\n href="${_localization.Localization.getLocalizedURLWithSuffix(\'https://www.adobe.com/go/CAI-HelpX-HowTo\')}"\n >\n ${chunks}\n </a>`\n }); // Before unsupportedReason existed, all unsupported reasons were fileType\n\n\n const msg = ((_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : (_this$data3$workingSt = _this$data3.workingStore) === null || _this$data3$workingSt === void 0 ? void 0 : _this$data3$workingSt.unsupportedReason) === \'unable-to-persist\' ? noPersistanceMsg : fileTypeMsg;\n return (0, _lit.html)`<div>\n <cai-error-screen .hideRetry=${true} msg=${msg}></cai-error-screen>\n </div>`;\n }\n\n _disabledView() {\n var _this$data4, _this$data5;\n\n const workingStore = (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.workingStore;\n const panel = (_this$data5 = this.data) === null || _this$data5 === void 0 ? void 0 : _this$data5.panel;\n const buttonDisabled = !!(workingStore !== null && workingStore !== void 0 && workingStore.owningDocumentId) || (panel === null || panel === void 0 ? void 0 : panel.toolModal);\n\n const enableCAI = async () => {\n const data = await _DocumentManager.DocumentManager.getDocumentData(null);\n const {\n activeDocument\n } = data;\n\n if (!activeDocument) {\n throw new _common.AppError(\'Enabling without an active document\', {\n data\n });\n }\n\n (0, _batchPlayActions.enable)(activeDocument);\n };\n\n return (0, _lit.html)`<cai-disabled-state\n .buttonDisabled=${buttonDisabled}\n .enableCAI=${enableCAI}\n ></cai-disabled-state>`;\n }\n\n _toggleTab(tabType) {\n var _this$shadowRoot2, _this$shadowRoot2$que;\n\n const tabContainer = (_this$shadowRoot2 = this.shadowRoot) === null || _this$shadowRoot2 === void 0 ? void 0 : (_this$shadowRoot2$que = _this$shadowRoot2.querySelector(`#tab-${tabType}`)) === null || _this$shadowRoot2$que === void 0 ? void 0 : _this$shadowRoot2$que.parentNode;\n\n if (!tabContainer) {\n console.warn(\'Unable to find container for tabs\');\n return;\n }\n\n for (let tabNode of tabContainer.children) {\n var _this$shadowRoot3;\n\n const currentTabType = tabNode.id.replace(\'tab-\', \'\');\n const classes = [\'tab\'];\n const isSelectedTab = currentTabType == tabType;\n\n if (isSelectedTab) {\n classes.push(\'selected\');\n }\n\n tabNode.className = classes.join(\' \');\n const panel = (_this$shadowRoot3 = this.shadowRoot) === null || _this$shadowRoot3 === void 0 ? void 0 : _this$shadowRoot3.querySelector(`#panel-${currentTabType}`);\n\n if (!panel) {\n console.warn(\'Unable to find panel for tab\');\n return;\n }\n\n panel.style.display = isSelectedTab ? \'block\' : \'none\';\n }\n }\n\n _onPreviewClick() {\n this._toggleTab(\'preview\');\n\n this.CAI.setPreviewVisible(true);\n }\n\n _onSettingsClick() {\n this._toggleTab(\'settings\');\n\n this.CAI.setPreviewVisible(false);\n }\n\n _controls() {\n const uiSubject = this.CAI.getUISubject();\n const currentData = uiSubject.getValue();\n const {\n alertMessage\n } = currentData;\n\n const previewMsg = _localization.Localization.formatMessage({\n id: \'controls.previewCredentials\',\n defaultMessage: \'Preview\'\n });\n\n const settingsMsg = _localization.Localization.formatMessage({\n id: \'controls.settingsTab\',\n defaultMessage: \'Settings\'\n });\n\n return (0, _lit.html)`<div>\n <div class="tabs-container">\n <div\n class="tab selected"\n id="tab-settings"\n @click=${this._onSettingsClick.bind(this)}\n >\n ${settingsMsg}\n </div>\n <div\n class="tab"\n id="tab-preview"\n @click=${this._onPreviewClick.bind(this)}\n >\n ${previewMsg}\n </div>\n </div>\n <div id="panel-settings">\n <cai-controls\n .data=${this.data}\n .CAI=${this.CAI}\n .isOnline=${navigator.onLine}\n .openConnectedAccounts=${openConnectedAccounts}\n .alertMessage=${alertMessage}\n />\n </div>\n <div id="panel-preview" style="display: none">\n <cai-preview-dialog\n .isUsingGenTech=${this.isUsingGenTech}\n .genTechInfo=${this._genTechInfo}\n .previewData=${this.CAI.getPreviewPaneData()}\n />\n </div>\n </div>`;\n }\n\n}, _class.styles = (0, _lit.css)`\n .tabs-container {\n display: flex;\n border-bottom: solid 1px var(--photoshop-gutter);\n height: 38px;\n }\n .tab {\n padding: 10px;\n cursor: pointer;\n margin-bottom: -1px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .tab:hover {\n background-color: var(--photoshop-gutter);\n }\n\n .tab.selected {\n color: var(--photoshop-tab-selected);\n border-bottom: solid 1px var(--photoshop-tab-selected);\n }\n `, _class);\nexports.CaiPlugin = CaiPlugin;\n\n__decorate([(0, _decorators.property)({\n type: Object\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "CAI", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Object\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "data", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Boolean\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "hasFatallyErrored", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Boolean\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "dialogOpen", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Number\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "dialogWidth", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Number\n}), __metadata("design:type", Object)], CaiPlugin.prototype, "dialogHeight", void 0);\n\nexports.CaiPlugin = CaiPlugin = __decorate([(0, _decorators.customElement)(\'cai-plugin\'), __metadata("design:paramtypes", [])], CaiPlugin);\n\n//# sourceURL=webpack://@cai/panel/./src/components/Plugin.ts?')},9516:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.CaiTheme = void 0;\n\n__webpack_require__(1307);\n\nvar _lit = __webpack_require__(2853);\n\nvar _decorators = __webpack_require__(9487);\n\nvar _class;\n\nvar __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar __metadata = void 0 && (void 0).__metadata || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};\n\nconst uxp = __webpack_require__(6876);\n\nlet CaiTheme = (_class = class CaiTheme extends _lit.LitElement {\n constructor() {\n super();\n this.theme = \'dark\';\n this._setCurrentThemeBound = this._setCurrentTheme.bind(this);\n }\n\n connectedCallback() {\n super.connectedCallback();\n uxp.host.addEventListener(\'themechanged\', this._setCurrentThemeBound);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n uxp.host.removeEventListener(\'themechanged\', this._setCurrentThemeBound);\n }\n\n render() {\n let newBG;\n\n switch (this.theme) {\n case \'light\':\n newBG = \'#b8b8b8\';\n break;\n\n case \'lightest\':\n newBG = \'#f0f0f0\';\n break;\n\n case \'dark\':\n newBG = \'#535353\';\n break;\n\n default:\n case \'darkest\':\n newBG = \'#323232\';\n break;\n }\n\n return (0, _lit.html)`<sp-theme\n theme="spectrum"\n color="${this.theme}"\n scale="medium"\n dir="ltr"\n ><div\n style="line-height: \'100%\'; background-color: ${newBG};"\n class="cai-theme-${this.theme}"\n >\n <slot></slot>\n </div>\n </sp-theme>`;\n }\n\n async _setCurrentTheme() {\n if (!this.colorThemeGetter) {\n return;\n }\n\n const theme = await this.colorThemeGetter();\n this.theme = theme;\n }\n\n}, _class.styles = (0, _lit.css)`\n :host {\n --spectrum-checkbox-m-text-size: 12px;\n color: var(\n --spectrum-checkbox-m-text-color,\n var(--spectrum-alias-component-text-color-default)\n );\n\n --spectrum-tooltip-info-background-color: var(\n --spectrum-global-color-gray-500\n );\n }\n\n .cai-theme-lightest {\n --photoshop-bkg: #f0f0f0;\n --photoshop-items: #fafafa;\n --photoshop-tab-selected: #000;\n --photoshop-gutter: #e3e3e3;\n --photoshop-border: #dedede;\n --photoshop-item-border: #dedede;\n --photoshop-divider: #dbdbdb;\n }\n\n .cai-theme-light {\n --photoshop-bkg: #b8b8b8;\n --photoshop-items: #c7c7c7;\n --photoshop-tab-selected: #000;\n --photoshop-gutter: #ababab;\n --photoshop-border: #adadad;\n --photoshop-item-border: #adadad;\n --photoshop-divider: #9e9e9e;\n }\n\n .cai-theme-dark {\n --photoshop-bkg: #535353;\n --photoshop-items: #474747;\n --photoshop-tab-selected: #fff;\n --photoshop-gutter: #4a4a4a;\n --photoshop-border: #474747;\n --photoshop-item-border: #535353;\n --photoshop-divider: #636363;\n }\n\n .cai-theme-darkest {\n --photoshop-bkg: #323232;\n --photoshop-items: #2b2b2b;\n --photoshop-tab-selected: #fff;\n --photoshop-gutter: #292929;\n --photoshop-border: #2b2b2b;\n --photoshop-item-border: #323232;\n --photoshop-divider: #474747;\n }\n `, _class);\nexports.CaiTheme = CaiTheme;\n\n__decorate([(0, _decorators.property)(), __metadata("design:type", String)], CaiTheme.prototype, "theme", void 0);\n\n__decorate([(0, _decorators.property)({\n type: Function\n}), __metadata("design:type", Function)], CaiTheme.prototype, "colorThemeGetter", void 0);\n\nexports.CaiTheme = CaiTheme = __decorate([(0, _decorators.customElement)(\'cai-theme\'), __metadata("design:paramtypes", [])], CaiTheme);\n\n//# sourceURL=webpack://@cai/panel/./src/components/Theme.ts?')},2085:(__unused_webpack_module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar _html = __webpack_require__(5976);\n\n__webpack_require__(8182);\n\n__webpack_require__(3675);\n\n__webpack_require__(1766);\n\n__webpack_require__(2463);\n\n__webpack_require__(1680);\n\n__webpack_require__(9516);\n\nvar _adaptersUxp = __webpack_require__(5237);\n\nvar _localization = __webpack_require__(60);\n\nvar _RPCServer = __webpack_require__(1855);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _media = __webpack_require__(4058);\n\nvar _PSConfig = __webpack_require__(7940);\n\nvar _PSMain = __webpack_require__(3121);\n\nvar _PSUser = __webpack_require__(8937);\n\nvar _common = __webpack_require__(9172);\n\nvar _EventManager = __webpack_require__(1698);\n\nvar _PSPersistence = __webpack_require__(5775);\n\n__webpack_require__(1307);\n\n// ADOBE CONFIDENTIAL\n// Copyright 2020 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\nconst uxp = __webpack_require__(6876);\n\nconst ps = __webpack_require__(3192);\n\nconst userLocale = uxp.host.locale; // @todo: where to extend uxp definitions\n// @ts-ignore\n\nconst {\n entrypoints,\n shell,\n licensing\n} = uxp;\nlet online = navigator.onLine;\n/**\n * Updates menu according to flag.\n * modalStateChanged is implemented as a work around, and is therefore separate\n * @see https://jira.corp.adobe.com/browse/PS-97022\n * States:\n * * Content credentials disabled: set 'menuIds', false\n * * Content credentials enabled: all, true\n * * Tool Modal activated: all, false\n * * Tool Modal disactivated: all, true\n * * Modal activated: all, false\n * * Modal disactivated: all, true\n * @param enabled {true, false}\n * @param options <enableFlag> { all, baseSet, internet }\n */\n\nfunction updateMenu(enabled, options) {\n var _entrypoints$getPanel;\n\n let menu = (_entrypoints$getPanel = entrypoints.getPanel('panel')) === null || _entrypoints$getPanel === void 0 ? void 0 : _entrypoints$getPanel.menuItems; // only enabled when panel is enabled/Ps isn't modal\n\n let menuIds = ['enable-divider', 'disable-content-creds', 'identity-manage', 'identity-refresh', 'identity-divider']; // base set -- enabled even when content credentials are disabled, but disabled when modal\n\n let expandedIds = ['show-enable', 'preferences', 'panel-divider', 'learn-more', 'go-verify', 'provide-feedback', 'feedback-divider']; // internet -- disabled when there is no internet connectivity.\n\n let internetIds = ['panel-divider', 'identity-manage', 'identity-refresh', 'identity-divider', 'learn-more', 'go-verify', 'provide-feedback', 'feedback-divider'];\n let idsThatVaryOnlyWithContentCredentialsOn = ['disable-content-creds', 'identity-manage', 'identity-refresh'];\n\n if ((options === null || options === void 0 ? void 0 : options.enableFlag) === 'all') {\n menuIds = menuIds.concat(expandedIds);\n }\n\n if ((options === null || options === void 0 ? void 0 : options.enableFlag) === 'baseSet') {\n menuIds = expandedIds;\n }\n\n if ((options === null || options === void 0 ? void 0 : options.enableFlag) === 'internet') {\n menuIds = internetIds;\n }\n\n if (!menu) {\n return;\n }\n\n menuIds.forEach(id => {\n const item = menu.getItem(id);\n\n if (item) {\n if (idsThatVaryOnlyWithContentCredentialsOn.includes(id) && enabled === true) {\n var _options$workingStore, _options$workingStore2;\n\n const isContentCredsEnabled = (options === null || options === void 0 ? void 0 : (_options$workingStore = options.workingStore) === null || _options$workingStore === void 0 ? void 0 : _options$workingStore.preferenceState) === 'enabled' || (options === null || options === void 0 ? void 0 : (_options$workingStore2 = options.workingStore) === null || _options$workingStore2 === void 0 ? void 0 : _options$workingStore2.preferenceState) === 'enabling';\n\n if (isContentCredsEnabled) {\n item.enabled = enabled;\n }\n /*\n else {\n can't enabling the disabling of content credentials because there is nothing to disable\n }\n */\n\n } else {\n item.enabled = enabled;\n }\n }\n }); // Nothing special if internet is working\n\n if (navigator.onLine) {\n return;\n }\n\n internetIds.forEach(id => {\n const item = menu.getItem(id); // Disable internet-required menu item that is on when internet is off\n\n if (item && item.enabled) {\n item.enabled = false;\n }\n });\n}\n\nfunction showEnable() {\n var _entrypoints$getPanel2;\n\n ps.cai.showPanelOnEnable = !ps.cai.showPanelOnEnable;\n let menu = (_entrypoints$getPanel2 = entrypoints.getPanel('panel')) === null || _entrypoints$getPanel2 === void 0 ? void 0 : _entrypoints$getPanel2.menuItems;\n let item = menu === null || menu === void 0 ? void 0 : menu.getItem('show-enable');\n\n if (item) {\n item.checked = ps.cai.showPanelOnEnable;\n }\n}\n/**\n * Disable Content Credentials\n * @param CAI CAI API\n * @returns A promise containint the result of `ps.cai.setContentsCredentialsEnabled`\n */\n\n\nasync function disableContentCredentials(CAI) {\n if (!CAI) {\n return;\n }\n\n const workingDocumentId = CAI.getState().workingDocumentId;\n\n if (!workingDocumentId) {\n return;\n }\n\n updateMenu(false);\n return ps.cai.setContentsCredentialsEnabled({\n documentID: workingDocumentId,\n enabled: false,\n mayShowUI: true\n });\n}\n\nfunction refreshConnectedAccounts(CAI) {\n if (!CAI) {\n return;\n }\n\n CAI.refreshConnectedAccounts();\n}\n\nasync function openConnectedAccountsPage(accessToken) {\n if (!accessToken) {\n console.error('Access token not set yet to jump');\n return;\n }\n\n const host = _PSConfig.PSConfig.get('social_site.host', false);\n\n const jumpClientId = _PSConfig.PSConfig.get('social_site.client_id', false);\n\n if (!host || !jumpClientId) {\n console.error('Config not available to jump');\n return;\n }\n\n const url = await licensing.getContinueToken({\n jumpClientId,\n urlObject: new URL(`https://${host}/`),\n clientScope: 'openid,AdobeID',\n accessToken\n }); // @ts-ignore\n\n shell.openExternal(url);\n} // right now, only updateMenu is called, but this function can be expanded\n\n\nfunction enableDisableListener(status, options) {\n // update menu based on enabled status of panel\n updateMenu(status, options);\n}\n\nfunction pollInternet() {\n setInterval(() => {\n if (online !== navigator.onLine) {\n updateMenu(navigator.onLine, {\n enableFlag: 'internet'\n });\n online = navigator.onLine;\n }\n }, 1000);\n}\n\nfunction renderErrorState(theme, hideRetry = false) {\n (0, _html.render)((0, _html.html)`<cai-theme\n .colorThemeGetter=${_adaptersUxp.CAIAdapters.UI.getColorTheme}\n theme=\"${theme}\"\n >\n <cai-error-screen .hideRetry=${hideRetry}></cai-error-screen>\n </cai-theme>`, document.body);\n}\n\nasync function logErrorSafely(e) {\n try {\n await _common.ErrorHandler.log(e);\n } catch (errorHandlerError) {\n console.error(e);\n console.warn('ErrorHandler failed to log');\n console.error(errorHandlerError);\n }\n}\n\nfunction initEntryPoints() {\n let CAI;\n let accessToken;\n\n const intl = _localization.Localization.init(userLocale);\n\n const getCAI = () => CAI;\n\n const rpcCommand = _RPCServer.RpcServer.getInstance(getCAI).getCommand();\n\n entrypoints.setup({\n commands: {\n [_RPCServer.RpcServer.rpcCommandName]: {\n run: rpcCommand\n }\n },\n panels: {\n // \"panel\" maps to the id in manifest.json\n // @todo: why does app break if id is changed to something less generic\n panel: {\n // Error within show did not bubble to top level try-catch\n async show() {\n let theme = 'dark';\n\n try {\n var _uxp$versions;\n\n _common.ErrorHandler.updateAppContext({\n cai: {\n plugin_version: (_uxp$versions = uxp.versions) === null || _uxp$versions === void 0 ? void 0 : _uxp$versions.plugin\n }\n });\n\n await _PSMain.PSMain.initialize({\n System: _adaptersUxp.CAIAdapters.System,\n App: _adaptersUxp.CAIAdapters.App,\n Config: _PSConfig.PSConfig,\n User: _PSUser.PSUser,\n FS: _adaptersUxp.CAIAdapters.FS,\n UI: _adaptersUxp.CAIAdapters.UI,\n ManifestService: _adaptersUxp.CAIAdapters.ManifestService\n });\n CAI = _PSMain.PSMain.getStateAPI();\n\n const eventManager = _EventManager.EventManager.initialize({\n CAI,\n disableMenuItemCallback: enableDisableListener\n });\n\n (0, _media.setMediaCAI)(CAI); // noop required for integration testing since this is specially made for us. see above for more details\n\n window.docBeginSaveHandler = () => {};\n\n pollInternet();\n theme = await _adaptersUxp.CAIAdapters.UI.getColorTheme();\n await CAI.setTheme(theme);\n (0, _html.render)((0, _html.html)`<cai-theme\n .colorThemeGetter=${_adaptersUxp.CAIAdapters.UI.getColorTheme}\n theme=\"${theme}\"\n >\n <cai-plugin .CAI=${CAI}></cai-plugin>\n </cai-theme>`, document.body); // if token is already set\n\n accessToken = _PSUser.PSUser.getToken(); // if token updates later\n\n _PSUser.PSUser.getTokenSubject().subscribe(token => {\n accessToken = token;\n });\n\n const persistence = new _PSPersistence.PSPersistence({\n CAI,\n App: _adaptersUxp.CAIAdapters.App,\n System: _adaptersUxp.CAIAdapters.System\n }); // Sidecar files\n\n window.docDidSaveHandler = persistence.save.bind(persistence, true);\n window.docDidSignHandler = persistence.saveNewHash.bind(persistence); // PSD/B/C files\n\n window.docPrepareSaveHandler = persistence.save.bind(persistence, false);\n window.getDocInfoHandler = persistence.getDocInfoHandler.bind(persistence);\n await eventManager.populateOpenedDocuments();\n } catch (e) {\n logErrorSafely(e);\n renderErrorState(theme);\n }\n },\n\n menuItems: [{\n id: 'show-enable',\n label: intl.formatMessage({\n id: 'menu.showOnEnable',\n defaultMessage: 'Show on enable'\n }),\n checked: ps.cai.showPanelOnEnable\n }, {\n id: 'enable-divider',\n label: '-'\n }, {\n id: 'disable-content-creds',\n label: intl.formatMessage({\n id: 'menu.disableContentCreds',\n defaultMessage: 'Disable Content Credentials'\n })\n }, {\n id: 'preferences',\n label: intl.formatMessage({\n id: 'menu.openPreferences',\n defaultMessage: 'Preferences'\n })\n }, {\n id: 'panel-divider',\n label: '-'\n }, {\n id: 'identity-manage',\n label: intl.formatMessage({\n id: 'menu.manageConnectedAccounts',\n defaultMessage: 'Manage connected accounts'\n })\n }, {\n id: 'identity-refresh',\n label: intl.formatMessage({\n id: 'menu.refreshConnectedAccounts',\n defaultMessage: 'Refresh connected accounts'\n })\n }, {\n id: 'identity-divider',\n label: '-'\n }, {\n id: 'learn-more',\n label: intl.formatMessage({\n id: 'menu.learnMore',\n defaultMessage: 'Learn More'\n })\n }, {\n id: 'go-verify',\n label: intl.formatMessage({\n id: 'menu.goToVerify',\n defaultMessage: 'Go to Verify'\n })\n }, {\n id: 'provide-feedback',\n label: intl.formatMessage({\n id: 'menu.provideFeedback',\n defaultMessage: 'Provide Feedback'\n })\n }, {\n id: 'feedback-divider',\n label: '-'\n }],\n\n invokeMenu(id) {\n if (id === 'show-enable') {\n showEnable();\n }\n\n if (id === 'disable-content-creds') {\n disableContentCredentials(CAI);\n\n _common.Analytics.logInteractionEvent('context-disable-content-creds');\n\n return;\n }\n\n if (id === 'preferences') {\n ps.core.executeAsModal(_batchPlayActions.openPreferences, {});\n\n _common.Analytics.logInteractionEvent('context-open-prefs');\n\n return;\n }\n\n if (id === 'identity-manage') {\n openConnectedAccountsPage(accessToken);\n\n _common.Analytics.logInteractionEvent('context-manage-accounts');\n\n return;\n }\n\n if (id === 'identity-refresh') {\n refreshConnectedAccounts(CAI);\n\n _common.Analytics.logInteractionEvent('context-refresh-accounts');\n\n return;\n }\n\n if (id === 'learn-more') {\n shell.openExternal(_localization.Localization.getLocalizedURLWithSuffix('https://www.adobe.com/go/CAI-HelpX-HowTo'));\n\n _common.Analytics.logInteractionEvent('context-learn-more');\n\n return;\n }\n\n if (id === 'go-verify') {\n shell.openExternal(_localization.Localization.getLocalizedURLWithSuffix('https://www.adobe.com/go/verify-inspect'));\n\n _common.Analytics.logInteractionEvent('context-go-verify');\n\n return;\n }\n\n if (id === 'provide-feedback') {\n shell.openExternal(_localization.Localization.getLocalizedURLWithSuffix('https://www.adobe.com/go/CAI-feedback'));\n\n _common.Analytics.logInteractionEvent('context-provide-feedback');\n\n return;\n }\n\n console.error(`${id} not handled yet`);\n }\n\n }\n }\n });\n}\n\ntry {\n _common.ErrorHandler.initialize({\n System: _adaptersUxp.CAIAdapters.System,\n App: _adaptersUxp.CAIAdapters.App,\n User: _PSUser.PSUser\n }); // This can NOT fire after any async things / awaits for flyout menu to work\n\n\n initEntryPoints();\n} catch (err) {\n logErrorSafely(err);\n entrypoints.setup({\n panels: {\n // \"panel\" maps to the id in manifest.json\n // @todo: why does app break if id is changed to something less generic\n panel: {\n // Error within show did not bubble to top level try-catch\n async show() {\n renderErrorState('dark', true);\n }\n\n }\n }\n });\n}\n\n//# sourceURL=webpack://@cai/panel/./src/index.tsx?")},7401:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.DocumentManager = void 0;\n\n__webpack_require__(1307);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nclass DocumentManager {\n static async getDocumentData(evt) {\n const documentsGetter = DocumentManager.documents ? Promise.resolve(DocumentManager.documents) : (0, _batchPlayActions.getDocuments)();\n const initialDataPromises = [documentsGetter, (0, _batchPlayActions.getActiveDocID)(evt)];\n const [documents, workingDocumentId] = await Promise.all(initialDataPromises);\n DocumentManager.documents = documents;\n const activeDocument = workingDocumentId ? documents.find(d => d._id === workingDocumentId) : null;\n return {\n documents,\n activeDocument,\n workingDocumentId\n };\n }\n\n}\n\nexports.DocumentManager = DocumentManager;\nDocumentManager.documents = null;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/DocumentManager.ts?')},1698:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.EventManager = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\nvar _common = __webpack_require__(9172);\n\nvar _types = __webpack_require__(1307);\n\nvar _fastDeepEqual = _interopRequireDefault(__webpack_require__(9378));\n\nvar _cloneDeep = _interopRequireDefault(__webpack_require__(9850));\n\nvar _handleNewDocument = __webpack_require__(7841);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _benignActions = __webpack_require__(9113);\n\nvar _eventContext = __webpack_require__(9762);\n\nvar _actionMap = _interopRequireDefault(__webpack_require__(1724));\n\nvar _HistoryManager = __webpack_require__(7096);\n\nvar _getAssetData = __webpack_require__(3981);\n\nvar _getSmartObjectReview = __webpack_require__(9551);\n\nvar _PSMain = __webpack_require__(3121);\n\nvar _addReview = __webpack_require__(1898);\n\nvar _actions = __webpack_require__(9482);\n\nvar _DocumentManager = __webpack_require__(7401);\n\nvar _FileAdapter = __webpack_require__(4471);\n\nvar _errors = __webpack_require__(5073);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst ps = __webpack_require__(3192);\n\nconst fs = __webpack_require__(2048);\n\nconst uxp = __webpack_require__(6876);\n\nclass EventManager {\n constructor(props) {\n this.eventBuffer = {};\n /**\n * Track what document IDs are enabling. If multiple events fire too fast,\n * there is no way for us to update state in time for it to know it would be double-enabling.\n * This could happen because `newDocument` fires for any reason a new document/tab might appear in PS.\n * Sometimes this is followed by `open` and sometimes it's not. ie if you open an actual file vs duplicate a layer to a new document.\n * These events fire and don't care that we do things that take time before we can process the next. So we might get 2-3 events in a row,\n * see that the plugin is disabled, and then go to enable for the document because all 3 came in virtually in parallel.\n */\n\n this.enabling = {};\n /**\n * Flag to ensure code doesn't try to listen to things that are being listened to\n * This would cause an error from PS. We use null to indicate it has not been initiallized one way or another\n */\n\n this.listeningToEnabledState = null;\n this.CAI = props.CAI; // Ensure that handleEvent always has right context when going through PS event callbacks\n\n const boundHandler = this.handleEvent.bind(this); // This is a method that is called via event listener so we must be sure to manually try catch here vs global handler\n\n this.eventHandler = async (name, data) => {\n try {\n await boundHandler({\n name,\n data\n });\n } catch (e) {\n _common.ErrorHandler.log(e);\n }\n }; // calls enableDisableListener from index.tsx by going through disableMenuItemCallbackGuard\n\n\n this.disableMenuItemCallback = this.disableMenuItemCallbackGuard(props.disableMenuItemCallback);\n }\n\n static initialize(props) {\n const mgr = new this(props);\n mgr.listenToEvents();\n return mgr;\n }\n /**\n * Guard to ensure that even if a doc is enabled, menu item stays disabled for embedded documents\n */\n\n\n disableMenuItemCallbackGuard(callback) {\n return (enableMenu, docId, enableFlag) => {\n const currentState = this.CAI.getState();\n const currentStore = currentState.workingStores[docId];\n\n if (currentStore !== null && currentStore !== void 0 && currentStore.owningDocumentId) {\n enableMenu = false;\n }\n\n callback(enableMenu, {\n enableFlag: enableFlag,\n workingStore: currentStore\n });\n };\n }\n\n resetDocumentsCache() {\n _DocumentManager.DocumentManager.documents = null;\n }\n\n async setCurrentTheme() {\n const theme = await _PSMain.PSMain.getColorTheme();\n this.CAI.setTheme(theme);\n }\n\n listenToEnabledState() {\n if (this.listeningToEnabledState === true) {\n return;\n }\n\n (0, _batchPlayActions.listenToEnabledState)(this.eventHandler);\n this.listeningToEnabledState = true;\n }\n\n listenToDisabledState() {\n if (this.listeningToEnabledState === false) {\n return;\n }\n\n (0, _batchPlayActions.listenToDisabledState)(this.eventHandler);\n this.listeningToEnabledState = false;\n } // @todo: this should just take one argument cause it no longer is an extension of state\n\n\n async enable(props, overloads = {\n markAsDirty: true\n }) {\n const {\n documentID\n } = props; // Can happen if user hits blue button to enable, we fire PS API, and then PS fires the enabled event\n\n if (this.enabling[documentID]) {\n return;\n }\n /**\n * No awaits can happen before this line or timing guards will break\n * @see https://jira.corp.adobe.com/browse/CAI-2202\n */\n\n\n this.enabling[documentID] = true;\n const {\n markAsDirty,\n owningStore,\n fromNewDoc\n } = overloads;\n const activeDocument = await (0, _batchPlayActions.getDocumentByID)(documentID);\n\n if (!activeDocument) {\n console.warn('Document was closed before enablement', documentID);\n return;\n } // Reset all caches to ensure nothing stale loads\n\n\n this.resetDocumentsCache(); // Enables CAI via PS API specifically\n\n await (0, _batchPlayActions.enable)(activeDocument, markAsDirty);\n this.listenToEnabledState();\n /**\n * Folder for self as opposed to an owning document's folder\n * This won't work unless CAI is enabled from PS at least one time, so never put it before enablement\n */\n\n const selfFolder = await (0, _batchPlayActions.getTempFolder)(activeDocument);\n const tempFolder = owningStore ? owningStore.tempFolder : selfFolder;\n await this.CAI.enable({\n documentID,\n tempFolder,\n fromNewDoc\n });\n const documentPath = await (0, _batchPlayActions.getDocumentPathByID)(activeDocument._id);\n\n if (documentPath) {\n const zipPath = await _FileAdapter.FileAdapter.getZipPath(documentPath);\n const sidecarExists = await _FileAdapter.FileAdapter.doesFileExist(zipPath);\n\n if (sidecarExists) {\n await (0, _batchPlayActions.setHasSidecarData)(documentID, true);\n }\n }\n\n await this.updateIngredientsToLatestFolder(documentID, selfFolder, tempFolder);\n delete this.enabling[documentID];\n\n try {\n await this.syncEmbeddedDocEnablement(documentID, 'enabled');\n } catch (e) {\n _common.ErrorHandler.log(e);\n }\n\n this.disableMenuItemCallback(true, documentID);\n return true;\n }\n /**\n * When enabling/disabling a document, check for any child embeds that are open and sync them\n * This keeps us from checking as users toggle documents and mashing a select event with on-the-fly enable/disable\n */\n\n\n async syncEmbeddedDocEnablement(workingDocumentId, desiredPreferenceState) {\n const currentStore = this.CAI.getState();\n const {\n workingStores\n } = currentStore;\n const promises = Object.keys(workingStores).filter(id => {\n const workingStore = workingStores[id];\n\n if (!workingStore.owningDocumentId) {\n return false;\n }\n\n if (workingStore.owningDocumentId !== workingDocumentId) {\n return false;\n }\n\n return workingStore.preferenceState !== desiredPreferenceState;\n }).map(id => {\n // Make sure PS APIs are happy\n const numericId = +id;\n return desiredPreferenceState === 'disabled' ? this.disable(numericId) : this.enable({\n documentID: numericId\n });\n });\n\n if (!promises.length) {\n return;\n }\n\n await Promise.all(promises);\n }\n /**\n * After enabling CAI, it will update ingredients that were persisted to the current temp folders\n * It will also move files, if needed when we embed a document that had CAI data\n */\n\n\n async updateIngredientsToLatestFolder(workingDocumentId, selfFolder, tempFolder) {\n const currentState = this.CAI.getState();\n const currentStore = currentState.workingStores[workingDocumentId];\n const loadedIngredients = (0, _cloneDeep.default)(currentStore.ingredients.filter(_common.isIngredientLoaded));\n\n if (!loadedIngredients.length) {\n return;\n }\n\n const payload = {\n workingDocumentId,\n loadedIngredients,\n selfFolder,\n tempFolder,\n copyFile: _PSMain.PSMain.getFS().copyFile\n };\n this.CAI.updateIngredients(payload);\n }\n\n setSourceFileAndClearBuffer(documentID) {\n if (!this.eventBuffer[documentID]) {\n return;\n }\n\n const openBuffer = this.eventBuffer[documentID].find(buffer => {\n var _buffer$evt$data, _buffer$evt$data$null;\n\n return (_buffer$evt$data = buffer.evt.data) === null || _buffer$evt$data === void 0 ? void 0 : (_buffer$evt$data$null = _buffer$evt$data.null) === null || _buffer$evt$data$null === void 0 ? void 0 : _buffer$evt$data$null._path;\n });\n /**\n * The event buffer is cleared when a Working Store is ready.\n * We can only dispatch events for the store after that.\n * Meanwhile there is no case we would have an Open event fire before the working store is ready.\n * Therefore we take this instant to update data as we want it.\n */\n\n if (openBuffer) {\n var _openBuffer$evt$data, _openBuffer$evt$data$;\n\n this.CAI.setSourceFile(documentID, (_openBuffer$evt$data = openBuffer.evt.data) === null || _openBuffer$evt$data === void 0 ? void 0 : (_openBuffer$evt$data$ = _openBuffer$evt$data.null) === null || _openBuffer$evt$data$ === void 0 ? void 0 : _openBuffer$evt$data$._path);\n }\n\n delete this.eventBuffer[documentID];\n }\n\n async disable(docId, fromNewDoc = false) {\n // Reset all caches to not hold things in memory\n this.resetDocumentsCache();\n const activeDocument = await (0, _batchPlayActions.getDocumentByID)(docId);\n\n if (!activeDocument) {\n return;\n }\n /**\n * It's okay for the tempFolder to be empty on start, as we don't have one from PS until CAI is enabled.\n * It's NOT okay for sidecar folders because it would break saving enablement\n */\n\n\n let tempFolder = '';\n\n if (!(0, _batchPlayActions.isPhotoshopFile)(activeDocument.isCloudDoc, activeDocument.path)) {\n tempFolder = await (0, _batchPlayActions.getTempFolder)(activeDocument);\n }\n\n await this.CAI.disable(docId, fromNewDoc, tempFolder);\n _HistoryManager.HistoryManager.lastEvt = null;\n _HistoryManager.HistoryManager.reverseHistoryMap = {}; // Remove stale data - most notably corrects for duplicating to layer to new document\n\n this.setSourceFileAndClearBuffer(docId);\n await (0, _batchPlayActions.disable)(activeDocument);\n this.listenToDisabledState();\n await this.syncEmbeddedDocEnablement(docId, 'disabled');\n this.disableMenuItemCallback(false, docId);\n }\n /**\n * Used to figure out what documents may have already been opened when CAI was enabled / restarted\n */\n\n\n async populateOpenedDocuments() {\n const documentData = await _DocumentManager.DocumentManager.getDocumentData(null);\n const {\n documents,\n workingDocumentId\n } = documentData;\n\n if (!documents.length) {\n this.disableMenuItemCallback(false);\n return;\n }\n\n const promises = documents.map(doc => this.populateOpenedDocument(doc._id));\n await Promise.all(promises);\n /**\n * If multiple documents are open, the last simulated event may have been the wrong document ID\n * This forces redux to know which document we are on for sure\n */\n\n this.handleEvent({\n name: _batchPlayActions.EventType.Select,\n data: {\n documentID: workingDocumentId\n }\n });\n }\n /**\n * Populates a document after enabling a specific doc\n */\n\n\n async populateOpenedDocument(documentID, fromEnable = false) {\n const documentData = await _DocumentManager.DocumentManager.getDocumentData(null);\n const {\n documents\n } = documentData;\n const doc = documents.find(d => d._id === documentID);\n\n if (!doc) {\n return;\n }\n\n let state = this.CAI.getState();\n let {\n workingStores\n } = state;\n let workingStore = workingStores[doc._id];\n const promises = []; // Fake actual events we'd care about\n\n const docID = doc._id;\n /**\n * If this was from a plugin load, we need to simulate this\n * Otherwise, we handle new documents whether plugin is enabled or not (and set preference state accordingly)\n */\n\n if (!fromEnable) {\n promises.push(this.handleEvent({\n name: _batchPlayActions.EventType.NewDocument,\n data: {\n documentID: docID\n }\n }));\n }\n\n const firstHistory = (0, _batchPlayActions.getFirstHistorySource)(doc);\n const isNewDocument = firstHistory === 'New';\n const newHistory = {\n name: _batchPlayActions.EventType.HistoryStateChanged,\n data: {\n documentID: docID,\n name: _batchPlayActions.EventDataType.New\n }\n };\n const openHistory = {\n name: _batchPlayActions.EventType.HistoryStateChanged,\n data: {\n documentID: docID,\n name: _batchPlayActions.EventDataType.Open\n }\n };\n /**\n * Simulating an open on an unsaved document breaks creating a thumbnail\n * for saved PSDs with no CAI data\n */\n\n if (isNewDocument) {\n promises.push(this.handleEvent(newHistory));\n } else {\n var _workingStore;\n\n promises.push(this.handleEvent(openHistory));\n let kind = doc.isCloudDoc ? 'cloud' : 'local';\n const path = ((_workingStore = workingStore) === null || _workingStore === void 0 ? void 0 : _workingStore.sourceFile) || doc.path;\n /**\n * If someone does Open as Smart object on PSDC, the source file is PSDC\n * However when someone enables CAI for that, doc.isCloudDoc is false.\n * We can determine it's actually a cloud file if we can parse the path because\n * PSDC \"path\" is a JSON object whereas local files are string paths which will throw exception\n * @see https://jira.corp.adobe.com/browse/CAI-3112\n */\n\n try {\n if (path) {\n JSON.parse(path);\n kind = 'cloud';\n }\n } catch (e) {// noop on purpose\n }\n\n promises.push(this.handleEvent({\n name: _batchPlayActions.EventType.Open,\n data: {\n documentID: docID,\n null: {\n _path: path,\n _kind: kind\n }\n }\n }));\n }\n\n await Promise.all(promises); // Track documents that will need review\n\n let markDocument = false; // Track documents that will need thumbnail\n\n let thumbnailDocument = false;\n const workingStoreId = +doc._id;\n state = this.CAI.getState();\n ({\n workingStores\n } = state);\n workingStore = workingStores[workingStoreId]; // Happens if loading plugin when disabled\n\n if (!workingStore) {\n return;\n } // No need to mark review or add thumbnail if disabled doc\n\n\n const isEnabled = workingStore.preferenceState !== 'disabled'; // Not enabled and we aren't trying to enable it right now\n\n if (!isEnabled && !fromEnable) {\n return;\n }\n\n const isUntouched = await (0, _batchPlayActions.isUntouchedSinceNewDoc)(doc);\n\n if (!isUntouched) {\n markDocument = true;\n thumbnailDocument = true;\n const {\n genTechModelsUsed\n } = await (0, _batchPlayActions.getGenTechInfo)(docID); // Add modelsUsed to workingStore\n\n this.CAI.updateModelsUsed(docID, genTechModelsUsed);\n }\n\n if (thumbnailDocument) {\n const tempFolder = workingStore.tempFolder;\n\n if (!tempFolder) {\n console.warn('No folder found for', doc._id);\n return;\n }\n\n const assetConstructor = {\n path: null,\n pathKind: 'local',\n isSmartObject: false,\n outputPath: tempFolder\n };\n const assetEvt = isNewDocument ? newHistory : openHistory;\n this.addAsset({\n imageOption: {\n doc,\n layer: null\n },\n assetConstructor,\n guid: (0, _common.generateGUID)(),\n workingDocumentId: docID,\n tempFolder\n }, assetEvt);\n }\n\n if (markDocument) {\n let explanation = 'The program crashed or was loaded after the document opened';\n let internalCode = 'com.adobe.changesBeforeLoad';\n\n if (fromEnable) {\n explanation = 'CAI was enabled while editing';\n internalCode = 'com.adobe.enabledCAI';\n }\n\n await this.addReview({\n review: {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation\n },\n internalCode,\n workingDocumentId: doc._id\n });\n }\n }\n\n clearCacheByType(evt, history) {\n /**\n * Documents are only changing on open or close. However document data also dictates what the active layers are\n * We must clear the cache whenever we are going to extract an asset to ensure proper layers are known for SPL\n * The asset validation is using a special method that doesn't care about active document ID vs the method that\n * is actually used which will ensure a document is there before continuing on\n */\n if (evt.name === _batchPlayActions.EventType.Close || evt.name === _batchPlayActions.EventType.NewDocument || (0, _HistoryManager.shouldAttemptAssetExtractionFromEvent)(evt, history)) {\n this.resetDocumentsCache();\n }\n }\n /**\n * Handles events for state of panel overall. Nothing that would impact what goes into a working store\n *\n * @returns Whether a special event was handled\n */\n\n\n async handleAppStateEvents(evt, documentData, workingStore) {\n const {\n workingDocumentId,\n activeDocument\n } = documentData;\n\n if (evt.name === _batchPlayActions.EventType.UserIdle) {\n const idle = evt.data.idleEnd !== true;\n this.CAI.updateIdleState(idle);\n return true;\n }\n /**\n * Two events are fired AFTER the modal is closed.\n * This event is used to update the context menu if disable is canceled from modal popup\n * @see https://jira.corp.adobe.com/browse/PS-97022\n */\n\n\n if (evt.name === _batchPlayActions.EventType.ModalStateChanged) {\n var _this$CAI$getState, _this$CAI$getState$pa;\n\n // Level is 0 or 1\n const modal = !!evt.data.level; // Check to see if state is unchanged\n\n const checkModal = (_this$CAI$getState = this.CAI.getState()) === null || _this$CAI$getState === void 0 ? void 0 : (_this$CAI$getState$pa = _this$CAI$getState.panel) === null || _this$CAI$getState$pa === void 0 ? void 0 : _this$CAI$getState$pa.modal;\n\n if (modal !== checkModal) {\n this.CAI.toggleContextMenuInteractivity(modal);\n const shouldEnable = !modal;\n /**\n * We should not disable all the things if there is no active document\n * This happens when looking at preferences and closing when on Home screen, for example\n */\n\n if (activeDocument) {\n const eventSource = evt.data.title; // There is a GARBAGE event passing around, not from local debug...\n\n const ignoreEvent = eventSource === 'GARBAGE';\n\n if (ignoreEvent) {\n // There are literally \"GARBAGE\" events that throw us off,\n // so ignoring those\n this.disableMenuItemCallback(shouldEnable, workingDocumentId, 'baseSet');\n } else if (eventSource !== 'Preferences') {\n // When coming back looking at preferences and closing when on Home screen,\n // We should not do changes and ignore the event\n // For other cases, we reenable everything\n this.disableMenuItemCallback(shouldEnable, workingDocumentId, 'all');\n }\n } else {\n this.disableMenuItemCallback(shouldEnable, workingDocumentId, 'baseSet');\n }\n }\n\n return true;\n }\n /**\n * This fires three times on tool launch\n * enabled - disabled - enabled\n */\n\n\n if (evt.name === _batchPlayActions.EventType.ToolModalStateChanged) {\n var _this$CAI$getState2, _this$CAI$getState2$p;\n\n // Level is 0 or 1\n const toolModal = !!evt.data.level;\n const disabled = (workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState) === 'disabled'; // Check to see if state is unchanged\n\n const checkToolModal = (_this$CAI$getState2 = this.CAI.getState()) === null || _this$CAI$getState2 === void 0 ? void 0 : (_this$CAI$getState2$p = _this$CAI$getState2.panel) === null || _this$CAI$getState2$p === void 0 ? void 0 : _this$CAI$getState2$p.toolModal;\n\n if (toolModal !== checkToolModal) {\n this.CAI.togglePanelInteractivity(toolModal);\n /**\n * Tool Modal has four cases:\n * CAI enabled, tool modal activated -> 'all', disabled\n * CAI enabled, tool modal deactivated -> 'all', enabled\n * CAI disabled, tool modal activated -> 'all', disabled\n * CAI disabled, tool modal deactivated -> 'baseSet', enabled\n */\n\n let enableFlag = disabled && !toolModal ? 'baseSet' : 'all';\n this.disableMenuItemCallback(!toolModal, workingDocumentId, enableFlag);\n }\n\n return true;\n }\n /**\n * We have special save callbacks for handling saving the data\n * This event is to detect when saves happen for embedded object special cases\n * @see https://jira.corp.adobe.com/browse/CAI-2522\n */\n\n\n if (evt.name === _batchPlayActions.EventType.Save) {\n await this.handleSaveSpecial(evt);\n return true;\n }\n\n if (evt.name === _batchPlayActions.EventType.ContentCredentialsChanged) {\n /**\n * This happens when a new document is opened\n * The per-document-setting event immediately fires but we don't care about it upon open\n * We look at the default settings instead for handleNewDocument\n * ALWAYS use evt.data.documentID to determine what to enable/disable\n * Users can impact settings by clicking on tabs that are not active\n * There are also chain events that may fire for embeds that are not the active doc\n */\n if (!workingStore || !workingDocumentId || !evt.data.documentID) {\n return true;\n }\n\n const {\n contentCredentialsEnabled\n } = evt.data;\n const currentPref = workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState;\n\n if (contentCredentialsEnabled && currentPref === 'disabled') {\n await this.enable({\n documentID: evt.data.documentID\n });\n await this.populateOpenedDocument(evt.data.documentID, true);\n }\n\n if (!contentCredentialsEnabled && currentPref === 'enabled') {\n await this.disable(evt.data.documentID);\n }\n\n return true;\n }\n /**\n * This event is not attached to a specific document. This means we won't fire it as a \"generic event\"\n * However if homescreen is visible, there is no active document. When home screen closes, it goes back to a proper active document.\n */\n\n\n if (evt.name === _batchPlayActions.EventType.HomeScreenVisibilityChanged) {\n var _evt$data;\n\n let docId = (_evt$data = evt.data) !== null && _evt$data !== void 0 && _evt$data.visible ? null : workingDocumentId;\n\n try {\n this.updateWorkingDocumentId(docId);\n } catch (e) {\n console.warn('Failed homescreen');\n console.error(e);\n }\n\n return true;\n }\n /**\n * Close is a special case similar to newDocument\n * Do not expect other things like genericEventHandler to handle close\n */\n\n\n if (evt.name === _batchPlayActions.EventType.Close) {\n var _evt$data2, _evt$data2$saving;\n\n /**\n * This scenario will fire a second save event\n * @see https://jira.corp.adobe.com/browse/PS-80718\n */\n if (((_evt$data2 = evt.data) === null || _evt$data2 === void 0 ? void 0 : (_evt$data2$saving = _evt$data2.saving) === null || _evt$data2$saving === void 0 ? void 0 : _evt$data2$saving._value) === 'yes') {\n return true;\n }\n\n const closeWorkingId = evt.data.documentID;\n this.CAI.closeWorkingStore(closeWorkingId, workingDocumentId);\n delete _HistoryManager.HistoryManager.lastHistoryStateChanges[closeWorkingId];\n const fullyEnabled = this.isFullyEnabled(workingStore);\n\n if (!activeDocument || !fullyEnabled) {\n this.CAI.setPreviewVisible(false);\n this.disableMenuItemCallback(false);\n }\n\n return true;\n }\n\n return false;\n }\n\n async handleSaveSpecial(evt) {\n /**\n * as - data about where file is being saved via Save As. This happens for all new documents.\n * Existing documents would be specifically via \"Save As\" in menu.\n *\n * copy - if user was using Save a Copy to save\n *\n * in - where the file is being saved to\n */\n const {\n as: saveAs,\n copy: saveCopy,\n documentID,\n in: saveTo,\n saveStage\n } = evt.data;\n\n if ((saveStage === null || saveStage === void 0 ? void 0 : saveStage._value) !== 'saveBegin') {\n return;\n } // \"Saving As\" - NOT \"Save a Copy\", which also triggers \"as\" property\n\n\n if (saveAs && !saveCopy) {\n this.CAI.disownEmbed(documentID);\n }\n\n const savePath = saveTo === null || saveTo === void 0 ? void 0 : saveTo._path;\n const workingStore = this.CAI.getWorkingStore(documentID);\n\n if (!workingStore) {\n return;\n }\n\n const {\n sourceFile\n } = workingStore;\n const currentPath = await (0, _batchPlayActions.getDocumentPathByID)(documentID); // If the source is different, and you aren't doing Save a Copy, you have updated the current document\n\n const shouldUpdateSourceFile = saveAs && !saveCopy && sourceFile != savePath;\n /**\n * Source File is used in a few places:\n * 1. Opening file to set it\n * 2. Analytics when saving\n * 3. Ensuring working stores are handled properly\n *\n * Therefore we know the 'source' is meant to be whatever the document actually is\n */\n\n if (shouldUpdateSourceFile) {\n await this.CAI.setSourceFile(documentID, savePath);\n }\n\n if (!savePath || (saveTo === null || saveTo === void 0 ? void 0 : saveTo._kind) !== 'local' || (0, _batchPlayActions.isPhotoshopFile)(false, savePath)) {\n return;\n }\n\n await this.maybeSwapWorkingStores({\n savePath,\n sourceFile,\n currentPath,\n preferenceState: workingStore.preferenceState\n });\n }\n /**\n * @param savePath Where a file is being saved to\n * @param sourceFile Where that file was previously existing\n */\n\n\n async maybeSwapWorkingStores(props) {\n const {\n savePath,\n currentPath,\n sourceFile,\n preferenceState\n } = props;\n /**\n * If current document is path A, but we had opened as path B, we are possibly overwriting another file\n */\n\n const changingToDifferentDocument = currentPath != sourceFile;\n /**\n * If user is saving to path A, but PS is on doc B, we are saving an un-open document\n * We don't use the \"copy\" argument here, because PS will set \"copy\" to true even if you save back to same file\n */\n\n const copyToOtherDocument = savePath != currentPath; // If it is enabled, working stores are properly overwritten without need for this logic\n\n if (preferenceState !== 'disabled') {\n return;\n }\n\n if (!copyToOtherDocument && !changingToDifferentDocument) {\n return;\n }\n\n const pathSeparation = _FileAdapter.FileAdapter.getPathSeparation();\n\n const {\n zipName: saveToZipName,\n zipFolder: saveToZipFolder\n } = await _FileAdapter.FileAdapter.getZipLocation(savePath);\n const saveToZipPath = `${saveToZipFolder}${pathSeparation}${saveToZipName}`;\n const saveToZipPathExists = await _FileAdapter.FileAdapter.doesFileExist(saveToZipPath);\n /**\n * An unsaved document is possibly overwriting an existing one in a disabled state\n * If the file didn't exist, it can't have a working store. Therefore it should remove any existing working store\n */\n\n if (!sourceFile) {\n if (saveToZipPathExists) {\n fs.unlink(`file:${saveToZipPath}`);\n }\n\n return;\n }\n\n const {\n zipName: existingZipName,\n zipFolder: existingZipFolder\n } = await _FileAdapter.FileAdapter.getZipLocation(sourceFile);\n const existingZipPath = `${existingZipFolder}${pathSeparation}${existingZipName}`;\n const existingZipPathExists = await _FileAdapter.FileAdapter.doesFileExist(existingZipPath);\n\n try {\n if (!existingZipPathExists) {\n // Only need to unlink if we have no working store and are overwriting another file with one\n if (saveToZipPathExists) {\n await fs.unlink(`file:${saveToZipPath}`);\n }\n\n return;\n }\n\n await fs.copyFile(`file:${existingZipPath}`, `file:${saveToZipPath}`);\n } catch (e) {\n console.warn(`Unable to copy ${existingZipPath} to ${saveToZipPath}`);\n throw e;\n }\n }\n\n async handleAppSupport(evt) {\n const supportHistoryChanges = [_batchPlayActions.EventDataType.Bitmap, _batchPlayActions.EventDataType.Grayscale, _batchPlayActions.EventDataType.Duotone, _batchPlayActions.EventDataType.IndexedColor, _batchPlayActions.EventDataType.RGBColor, _batchPlayActions.EventDataType.CMYKColor, _batchPlayActions.EventDataType.LabColor, _batchPlayActions.EventDataType.Multichannel];\n const isHistorySupportChange = evt.name === _batchPlayActions.EventType.HistoryStateChanged && supportHistoryChanges.includes(evt.data.name);\n\n if (!isHistorySupportChange) {\n return;\n }\n\n const documentData = await _DocumentManager.DocumentManager.getDocumentData(evt);\n\n if (!documentData.activeDocument) {\n return;\n }\n\n if (!documentData.workingDocumentId) {\n return;\n }\n\n const currentState = this.CAI.getState();\n const currentStore = currentState.workingStores[documentData.workingDocumentId];\n\n if (!currentStore) {\n return;\n }\n\n const isSupported = await (0, _batchPlayActions.isDocumentSupported)(documentData.activeDocument);\n this.CAI.setWorkingStoreSupported(documentData.workingDocumentId, isSupported);\n }\n\n async handleEvent(evt) {\n const currentState = this.CAI.getState();\n\n const history = _HistoryManager.HistoryManager.getAll();\n\n const isDocumentChange = _batchPlayActions.EventsForDocumentChanges.includes(evt.name);\n /**\n * It's possible events fire too quickly to update listening state after doing all the sanity checks further in the chain\n * This is because all the actual checks rely on async events we wait for. This is especially notable when dragging\n * a layer from a disabled doc into an enabled doc. This line should properly set the listening state and it would\n * be corrected, if needed, within updateWorkingDocumentId\n */\n\n\n if (isDocumentChange && evt.data.documentID) {\n let id = evt.data.documentID;\n /**\n * Close gives the id of what was closed - not what doc you went to\n * Therefore we need to actually wait in this case. This means there *may* be bugs if a script\n * closes a doc that is disabled and immediatley does work to the open doc. Nothing issues known currently though.\n */\n\n if (evt.name === _batchPlayActions.EventType.Close) {\n const doc = await (0, _batchPlayActions.getActiveDocument)();\n id = (doc === null || doc === void 0 ? void 0 : doc._id) || null;\n }\n\n const changeStore = this.CAI.getWorkingStore(id);\n\n if (changeStore) {\n this.updateListeningState(changeStore);\n }\n }\n\n this.clearCacheByType(evt, history);\n const documentData = await _DocumentManager.DocumentManager.getDocumentData(evt);\n const {\n workingDocumentId,\n activeDocument\n } = documentData;\n let workingStore = null;\n\n if (activeDocument) {\n const {\n workingStores\n } = currentState;\n workingStore = workingStores[activeDocument._id];\n }\n\n const stateEventHandled = await this.handleAppStateEvents(evt, documentData, workingStore);\n\n if (stateEventHandled) {\n return;\n }\n /**\n * Do not allow the fact that we listen for document changes to make thumbnails, populate stores, etc\n * We compare to \"disabled\" because if things are enabling it will go into event buffer vs ignoring\n */\n\n\n let fullyEnabled = this.isFullyEnabled(workingStore);\n\n if (isDocumentChange && workingStore && workingDocumentId) {\n this.disableMenuItemCallback(fullyEnabled, workingDocumentId);\n }\n\n if (!workingDocumentId) {\n return;\n } // This should always come first to ensure we start fetching data\n // before we look at any other kind of event for a doc\n\n\n if (evt.name === _batchPlayActions.EventType.NewDocument) {\n try {\n await this.handleNewDocument(documentData);\n } catch (e) {\n /**\n * This message comes specifically from PS in the case we try to enable something that no longer exists\n * @see https://jira.corp.adobe.com/browse/CAI-2379\n */\n if (e.message !== 'Unknown document') {\n _common.ErrorHandler.log(e);\n } else {\n console.warn(`Document ${workingDocumentId} no longer exists while handling new document`);\n }\n }\n\n return;\n }\n\n if (!fullyEnabled) {\n let isDuplicatingToAnotherDoc = false; // This check is actually purposefully different than isDuplicatedLayerToAnotherDoc in event-context\n\n if (evt.data.name === _batchPlayActions.EventDataType.DuplicateLayer) {\n const actualActiveDocument = await (0, _batchPlayActions.getActiveDocument)();\n isDuplicatingToAnotherDoc = !!(actualActiveDocument && actualActiveDocument._id !== evt.data.documentID);\n }\n\n const isHistoryStateUpdateSmartObject = evt.name === _batchPlayActions.EventType.HistoryStateChanged && evt.data.name === _batchPlayActions.EventDataType.UpdateSmartObjects;\n /**\n * These events fire from an active document about other documents\n * Do not dispatch for this special case\n */\n\n if (evt.name !== _batchPlayActions.EventType.UpdateLinkedSmartObject && !isHistoryStateUpdateSmartObject && !isDuplicatingToAnotherDoc) {\n this.updateWorkingDocumentId(workingDocumentId, true);\n }\n /**\n * A number of events impact the document that isn't open\n * Therefore we possibly need to act upon them even if host doc is off\n */\n\n\n if (!_batchPlayActions.EventsForCrossDocChanges.includes(evt.name)) {\n this.pushToEventBuffer(workingDocumentId, evt, documentData);\n return;\n }\n } // Do we have a properly populated store in state\n\n\n if (currentState.workingStores[workingDocumentId] && currentState.workingStores[workingDocumentId].preferenceState !== 'enabling') {\n await this.dispatchEventsForDoc(evt, documentData);\n return;\n }\n\n this.pushToEventBuffer(workingDocumentId, evt, documentData);\n }\n\n isFullyEnabled(workingStore) {\n return (workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState) && (workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState) !== 'disabled';\n }\n\n pushToEventBuffer(workingDocumentId, evt, documentData) {\n if (!this.eventBuffer[workingDocumentId]) {\n this.eventBuffer[workingDocumentId] = [];\n } // Ensure no modifications of params can be modified from outside buffer\n\n\n this.eventBuffer[workingDocumentId].push({\n evt: (0, _cloneDeep.default)(evt),\n documentData: (0, _cloneDeep.default)(documentData)\n });\n }\n\n async handleNewDocument(documentData) {\n var _currentState, _persisted2, _currentState$user;\n\n /**\n * We do not just pass currentState in from handleEvent call because several events can fire at once\n * Then the async awaiting of each individual event means history state could be stale by the time this runs\n */\n let currentState = this.CAI.getState(); // Cache history as-is for similar reason to currentState above\n\n const history = _HistoryManager.HistoryManager.getAll();\n\n const lastActiveDocumentId = (_currentState = currentState) === null || _currentState === void 0 ? void 0 : _currentState.workingDocumentId;\n const lastActiveWorkingStore = lastActiveDocumentId ? currentState.workingStores[lastActiveDocumentId] : null;\n const {\n workingDocumentId,\n activeDocument\n } = documentData;\n\n if (!workingDocumentId || !activeDocument) {\n return;\n }\n\n const workingStore = currentState.workingStores[workingDocumentId];\n let docSettingEnabled = false;\n let isSupported = await (0, _batchPlayActions.isDocumentSupported)(activeDocument);\n let unsupportedReason = undefined;\n\n if (!isSupported) {\n unsupportedReason = 'document-type';\n }\n\n const owningDocumentId = await (0, _handleNewDocument.getOwningDocumentId)(history, workingStore);\n const metadata = await (0, _handleNewDocument.getXMPMetadata)(documentData);\n\n if (!metadata) {\n return;\n }\n\n let persisted = null;\n let reviews = [];\n let ingredients = [];\n const isPSFile = (0, _batchPlayActions.isPhotoshopFile)(activeDocument.isCloudDoc, activeDocument.path);\n\n try {\n // We can't load for embedded files that aren't PSD/C/B because we don't know embed source\n if (isSupported && (!owningDocumentId || isPSFile)) {\n var _persisted;\n\n /**\n * Whether CAI is on or off, we must always see if we have old sidecar data to turn on\n * This can't get removed until we stop supporting sidecar files entirely\n * No date is set for that at all\n */\n const formatted = await (0, _handleNewDocument.formatStoreFromPeristedData)(_FileAdapter.FileAdapter, metadata, activeDocument);\n ({\n persisted\n } = (0, _handleNewDocument.checkOldPersisted)(formatted.persisted));\n ingredients = ((_persisted = persisted) === null || _persisted === void 0 ? void 0 : _persisted.workingStore.ingredients.filter(_common.isIngredientLoaded)) || [];\n const hasSidecarData = Boolean(!isPSFile && persisted);\n reviews = await (0, _handleNewDocument.getInitialReviews)(activeDocument, formatted);\n docSettingEnabled = formatted.enabled;\n ({\n unsupportedReason\n } = formatted);\n\n if (unsupportedReason) {\n isSupported = false;\n }\n\n if (hasSidecarData && docSettingEnabled) {\n await (0, _batchPlayActions.setHasSidecarData)(activeDocument._id, hasSidecarData);\n }\n }\n } catch (e) {\n const isDirectoryError = e instanceof _errors.StorageDirectoryResolutionError;\n\n if (!isDirectoryError) {\n _common.ErrorHandler.log(e);\n } else {\n console.warn(e);\n }\n\n isSupported = false;\n unsupportedReason = 'unable-to-persist';\n }\n\n const assertionData = (0, _handleNewDocument.getActionsAssertion)(persisted, reviews);\n const source = (0, _batchPlayActions.getFirstHistorySource)(activeDocument);\n const xmpDocumentId = (metadata === null || metadata === void 0 ? void 0 : metadata.documentID) || '';\n let owningStore = null; // Override since you are an embedded document\n\n if (owningDocumentId) {\n owningStore = currentState.workingStores[owningDocumentId];\n docSettingEnabled = owningStore.preferenceState !== 'disabled';\n }\n\n const {\n genTechModelsUsed,\n genTechInfoVal\n } = await (0, _batchPlayActions.getGenTechInfo)(workingDocumentId);\n const newDocWorkingStore = {\n xmpDocumentId,\n assertionData,\n ingredients,\n loadedWithCAIData: !!persisted,\n owningDocumentId,\n tempFolder: '',\n preferenceState: docSettingEnabled ? 'enabling' : 'disabled',\n source,\n supported: isSupported,\n unsupportedReason,\n genAIModelsUsed: genTechModelsUsed\n };\n const settings = (0, _handleNewDocument.determineSettings)({\n persistedSettings: (_persisted2 = persisted) === null || _persisted2 === void 0 ? void 0 : _persisted2.settings,\n lastSettings: lastActiveWorkingStore === null || lastActiveWorkingStore === void 0 ? void 0 : lastActiveWorkingStore.settings,\n connectedAccounts: (_currentState$user = currentState.user) === null || _currentState$user === void 0 ? void 0 : _currentState$user.connectedAccounts\n });\n\n if (settings) {\n newDocWorkingStore.settings = settings;\n }\n\n let sourceTool = undefined;\n /**\n * Source tool only matters for new untouched doc.\n * If someone has a new doc with CAI disabled, and then enables, we don't want to consider it original.\n */\n\n if ((0, _batchPlayActions.isUntouchedSinceNewDoc)(activeDocument)) {\n sourceTool = (0, _batchPlayActions.getFirstHistory)(activeDocument);\n }\n\n await this.CAI.addNewWorkingStore({\n sourceTool,\n store: newDocWorkingStore,\n workingDocumentId,\n enabled: docSettingEnabled,\n // @todo: Is this still too specific? do we need to make this more generic??\n // this might just need to get the enable/disable callbacks passed??\n additionalProcessing: async () => {\n // PS will throw error if you try to use CAI API (disable or otherwise) if it's not supported\n if (!isSupported) {\n return;\n }\n\n try {\n if (docSettingEnabled) {\n await this.enable({\n documentID: workingDocumentId\n }, {\n markAsDirty: false,\n owningDocumentId: owningDocumentId,\n owningStore,\n fromNewDoc: true\n });\n } else {\n await this.disable(workingDocumentId, true);\n }\n } catch (e) {\n /**\n * This message comes specifically from PS in the case we try to enable something that no longer exists\n * @see https://jira.corp.adobe.com/browse/CAI-2379\n */\n if (e.message !== 'Unknown document') {\n throw e;\n }\n }\n }\n });\n await this.updateWorkingDocumentId(workingDocumentId);\n\n if (!docSettingEnabled) {\n delete this.eventBuffer[workingDocumentId];\n return;\n }\n\n currentState = this.CAI.getState();\n const currentSettings = currentState.workingStores[workingDocumentId].settings;\n\n const analyticsSettings = _common.Analytics.getFormattedSettings(currentSettings);\n\n _common.Analytics.logStatisticsEvent('open-settings', {\n 'event.value': analyticsSettings\n });\n\n const hcSetting = persisted ? 'true' : 'false';\n const assetsCount = persisted ? persisted.workingStore.ingredients.length : 0;\n const analyticsData = [`hc:${hcSetting}`, `gti:${genTechInfoVal}`];\n\n _common.Analytics.logStatisticsEvent('open-data', {\n 'event.value': analyticsData.join('|'),\n 'trn.number': (0, _common.generateGUID)(),\n 'trn.product': 'assets',\n 'trn.quantity': assetsCount\n });\n\n const storeEventBuffer = this.eventBuffer[workingDocumentId];\n\n if (!storeEventBuffer) {\n return;\n }\n\n for (let i = 0; i < storeEventBuffer.length; ++i) {\n const bufferedData = storeEventBuffer[i]; // Await in loop because these must dispatch serially\n // eslint-disable-next-line no-await-in-loop\n\n await this.dispatchEventsForDoc(bufferedData.evt, bufferedData.documentData);\n }\n\n this.setSourceFileAndClearBuffer(workingDocumentId);\n }\n\n async dispatchByEventType(evt, documentData) {\n const currentState = this.CAI.getState();\n let {\n workingDocumentId\n } = documentData;\n\n if (evt.name === _batchPlayActions.EventType.HistoryStateChanged) {\n this.addActionFromEvent(evt, documentData);\n return;\n }\n\n if (evt.name === _batchPlayActions.EventType.PluginRun) {\n await this.handlePluginEvent(workingDocumentId, evt);\n return;\n }\n\n if (evt.name === _batchPlayActions.EventType.UpdateLinkedSmartObject) {\n /**\n * The documentID from event is targeting every document that has a linked object that was modified\n * Given two documents with a linked object, when you save a change to linked object, it will fire two events.\n * One UpdateLinkedSmartObject for each of those documents. Not the doc that is currently being looked at.\n */\n workingDocumentId = await (0, _batchPlayActions.getActiveDocID)(null);\n let smartObjectReview = false; // Theoretically this is only ever one layer but the return type is an array\n\n const {\n layerIDs,\n documentID\n } = evt.data;\n const layersInfo = await (0, _batchPlayActions.getLayersInfo)(documentID, layerIDs);\n layersInfo.every(layer => {\n var _layer$smartObject;\n\n if (!((_layer$smartObject = layer.smartObject) !== null && _layer$smartObject !== void 0 && _layer$smartObject.linked)) {\n return true;\n }\n\n if (workingDocumentId === documentID) {\n smartObjectReview = true;\n return false;\n }\n /**\n * Set store to current working store and say it's owned by the doc from event\n * This is dynamic since a linked smart object can be in multiple open docs at once\n */\n\n\n const savedStore = _objectSpread(_objectSpread({}, currentState.workingStores[workingDocumentId]), {}, {\n owningDocumentId: documentID\n });\n\n if (savedStore.preferenceState === 'disabled') {\n smartObjectReview = true;\n return false;\n }\n\n const targetStore = currentState.workingStores[documentID];\n const loadedIngredients = savedStore.ingredients.filter(_common.isIngredientLoaded);\n\n const copyFile = _PSMain.PSMain.getFS().copyFile;\n\n this.CAI.mergeWorkingStores(savedStore, targetStore, copyFile, loadedIngredients);\n return true;\n });\n\n if (smartObjectReview) {\n await this.addReview({\n review: (0, _getSmartObjectReview.getSmartObjectReview)(),\n workingDocumentId: documentID,\n internalCode: 'com.adobe.smartObject'\n });\n }\n\n return;\n }\n\n if (evt.name === _batchPlayActions.EventType.Select) {\n this.updateWorkingDocumentId(workingDocumentId);\n }\n\n _HistoryManager.HistoryManager.handleEvent({\n evt,\n documentData\n });\n }\n /**\n * pluginRun will fire for all C++ / CPP plugins\n * This includes things JSX Scripts (under Scripts, Automate) and built-ins like Filter -> Stylize -> Solarize\n * This does NOT include UXP plugins which are found under the Plugins tab / CCD marketplace\n */\n\n\n async handlePluginEvent(workingDocumentId, evt) {\n const {\n lastEvt\n } = _HistoryManager.HistoryManager.getAll();\n\n if (!workingDocumentId) {\n return;\n }\n\n if (evt.data.$Ijsx !== false) {\n return;\n }\n\n if (lastEvt && this.isGenAiEvent(lastEvt)) {\n return;\n }\n /**\n * Third party JSX scripts can run before or after a doc even exists since they can create new docs\n * This special first party flag is run after each JSX script and\n * *seems* to be safe to use to detect any other runs\n * Note that ScriptingSupport event fires as ScriptingSupport.[OS-specific-suffix]. Stripping out suffix was recommened solution\n * @see https://jira.corp.adobe.com/browse/CAI-1126\n */\n\n\n if (evt.data.name.replace(/\\.[^.]+$/, '') === _batchPlayActions.EventDataType.ScriptingSupportPlugin) {\n await this.addReview({\n review: _addReview.REVIEW_JSX,\n workingDocumentId,\n internalCode: 'com.adobe.jsxScript'\n });\n return;\n } // First party C++\n\n\n if (evt.data.isFirstParty) {\n return;\n } // Third party C++\n\n\n await this.addReview({\n review: _addReview.REVIEW_CPP,\n workingDocumentId,\n internalCode: 'com.adobe.cppScript'\n });\n }\n\n async dispatchEventsForDoc(evt, documentData) {\n const currentState = this.CAI.getState();\n\n const history = _HistoryManager.HistoryManager.getAll(); // This method can and will modify objects by reference\n\n\n const continueProcessing = await this.preprocessEvt(evt, documentData);\n let {\n workingDocumentId\n } = documentData;\n\n if (!continueProcessing) {\n const isDocumentChange = _batchPlayActions.EventsForDocumentChanges.includes(evt.name);\n /**\n * Since we don't track things while disabled, it's possible to click from an Enabled doc to a Disabled doc\n * When you do this repeatedly, only the Enabled doc updates the last event tracked in History state\n * It can then think the same select action happened twice in a row, and then throw it out.\n * Disabled state only listens to EventsForDocumentChanges, so we only care to send this out here\n */\n\n\n if (isDocumentChange) {\n await this.updateWorkingDocumentId(workingDocumentId);\n }\n\n return;\n }\n\n await this.dispatchByEventType(evt, documentData);\n let {\n activeDocument\n } = documentData;\n\n if (!(0, _HistoryManager.shouldAttemptAssetExtraction)(evt, documentData, history)) {\n return;\n }\n\n if (!workingDocumentId || !activeDocument) {\n return;\n }\n\n if ((0, _eventContext.isDuplicatedLayerToAnotherDoc)(evt, workingDocumentId)) {\n activeDocument = await (0, _batchPlayActions.getDocumentByID)(evt.data.destinationDocumentID);\n\n if (!activeDocument) {\n console.error('Unable to get active document for binary media');\n return;\n }\n\n workingDocumentId = activeDocument._id;\n const duplicateStore = currentState.workingStores[workingDocumentId];\n\n if (duplicateStore.preferenceState === 'disabled') {\n return;\n }\n\n await this.handleEvent({\n name: _batchPlayActions.EventType.HistoryStateChanged,\n data: {\n documentID: workingDocumentId,\n name: _batchPlayActions.EventDataType.DuplicateLayer,\n _validated: true\n }\n });\n }\n\n const workingStore = currentState.workingStores[workingDocumentId];\n\n if (!workingStore) {\n return;\n }\n /**\n * Technically speaking, tempFolder may be empty. However getAssetInstructions\n * will now throw if there is a required thumbnail and the folder is missing.\n * This is notable for a duplicate action which bypasses enabled checks.\n * @see https://jira.corp.adobe.com/browse/CAI-2655\n */\n\n\n const {\n tempFolder\n } = workingStore;\n let assetExtractionData;\n\n try {\n assetExtractionData = await (0, _eventContext.getAssetInstructions)(evt, activeDocument, history, tempFolder);\n } catch (e) {\n await this.addReview({\n review: {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation: 'Unable to determine thumbnail'\n },\n internalCode: 'com.adobe.failedThumbnail',\n workingDocumentId: workingDocumentId\n });\n }\n\n if (!assetExtractionData || !assetExtractionData.length) {\n return;\n }\n\n const lastHistoryEvt = history.lastHistoryStateChanges[workingDocumentId];\n let secondaryEvt = undefined;\n\n if (lastHistoryEvt) {\n secondaryEvt = evt;\n }\n\n const assetEvt = lastHistoryEvt || evt;\n assetExtractionData.forEach(assetExtraction => {\n const {\n imageOption,\n assetConstructor,\n cloneDoc,\n guid\n } = assetExtraction; // No image option implies we want CAI SDK to give us the thumbnail\n\n if (!imageOption) {\n this.addAsset({\n cloneDoc,\n guid,\n assetConstructor,\n workingDocumentId: workingDocumentId,\n tempFolder\n }, assetEvt, secondaryEvt);\n return;\n }\n\n this.addAsset({\n guid,\n imageOption,\n assetConstructor,\n workingDocumentId: workingDocumentId,\n tempFolder\n }, assetEvt, secondaryEvt);\n });\n }\n\n updateListeningState(store) {\n if (!store) {\n return;\n }\n\n if (store.preferenceState === 'enabled') {\n this.listenToEnabledState();\n }\n\n if (store.preferenceState === 'disabled') {\n this.listenToDisabledState();\n }\n }\n\n async updateWorkingDocumentId(workingDocumentId, disabled) {\n // what PS is focused on vs what the events told us to look at\n const actualActiveDocument = await (0, _batchPlayActions.getActiveDocument)();\n /**\n * Ensure that the document change is completed and still on the expected document.\n * If opening multiple documents, enablement / disablement can fire in random orders from timing.\n * The last document is always the active one.\n *\n * When there is no document Id, the empty state will be shown.\n *\n * @see https://jira.corp.adobe.com/browse/CAI-2237\n * @see https://jira.corp.adobe.com/browse/CAI-2444\n * @see https://jira.corp.adobe.com/browse/CAI-3345\n */\n\n if (!workingDocumentId || workingDocumentId === (actualActiveDocument === null || actualActiveDocument === void 0 ? void 0 : actualActiveDocument._id)) {\n this.CAI.selectWorkingStore(workingDocumentId);\n const currentStore = this.CAI.getActiveWorkingStore();\n this.updateListeningState(currentStore);\n /**\n * Switching from one document to another that is already disabled\n * @see https://jira.corp.adobe.com/browse/CAI-2541\n */\n\n if (disabled === true) {\n _HistoryManager.HistoryManager.lastEvt = null;\n _HistoryManager.HistoryManager.reverseHistoryMap = {};\n }\n }\n }\n /**\n * Helper to know when to skip over reviews because certain gen ai behaves as unsupported JSX\n */\n\n\n isGenAiEvent(evt) {\n const events = [_batchPlayActions.EventDataType.ContentAwareCrop, _batchPlayActions.EventDataType.GenerativeExpand];\n return events.includes(evt.data.name);\n }\n\n async preprocessEvt(evt, documentData) {\n var _evt$data3, _evt$data5;\n\n const {\n workingDocumentId\n } = documentData;\n const currentState = this.CAI.getState();\n\n const {\n lastHistoryStateChanges,\n lastEvt,\n reverseHistoryMap\n } = _HistoryManager.HistoryManager.getAll();\n /**\n * A third party plugin is doing something and we don't know what!\n */\n\n\n if ((lastEvt === null || lastEvt === void 0 ? void 0 : lastEvt.name) === _batchPlayActions.EventType.ExternalHistoryStateChanged && workingDocumentId && lastEvt.data.documentID === workingDocumentId && !this.isGenAiEvent(evt)) {\n await this.addReview({\n review: _addReview.REVIEW_THIRD_PARTY,\n workingDocumentId,\n internalCode: 'com.adobe.thirdPartyScript'\n });\n\n _HistoryManager.HistoryManager.handleEvent({\n evt: {\n name: _batchPlayActions.EventType.CAIClear,\n data: {}\n },\n documentData\n });\n\n return false;\n }\n\n const lastHistoryStateByDoc = workingDocumentId ? lastHistoryStateChanges[workingDocumentId] : null;\n\n if (evt.name === _batchPlayActions.EventType.Open) {\n var _lastHistoryStateByDo;\n\n const {\n loadedWithCAIData\n } = currentState.workingStores[workingDocumentId];\n\n if (loadedWithCAIData) {\n return false;\n }\n /**\n * The working store reducer will drop all Open history state changes without _validated added\n * This is because it can't know if it's a valid Open for CAI until the second event. For example:\n * If we open a file with CAI data, we don't want that to trigger an Open in the actions metadata\n * If we open a file from Lightroom photos, we do want to trigger an Open\n * There is also special logic in history reducer for the opposite to prevent\n * throwing Open into history twice over\n */\n\n\n if ((lastHistoryStateByDoc === null || lastHistoryStateByDoc === void 0 ? void 0 : (_lastHistoryStateByDo = lastHistoryStateByDoc.data) === null || _lastHistoryStateByDo === void 0 ? void 0 : _lastHistoryStateByDo.name) === 'Open') {\n _HistoryManager.HistoryManager.handleEvent({\n evt: _objectSpread(_objectSpread({}, lastHistoryStateByDoc), {}, {\n data: _objectSpread(_objectSpread({}, lastHistoryStateByDoc.data), {}, {\n _validated: true\n })\n }),\n documentData\n });\n }\n } // We use this for nothing and for some reason opening any file\n // will send two `open` events in a row where this param changes from false to true\n\n\n if ((_evt$data3 = evt.data) !== null && _evt$data3 !== void 0 && _evt$data3._isCommand) {\n var _evt$data4;\n\n (_evt$data4 = evt.data) === null || _evt$data4 === void 0 ? true : delete _evt$data4._isCommand;\n } // A dupe event is not a new event\n\n\n if ((0, _fastDeepEqual.default)(evt, lastEvt)) {\n return false;\n }\n\n if (_benignActions.benignActions.has((_evt$data5 = evt.data) === null || _evt$data5 === void 0 ? void 0 : _evt$data5.name)) {\n return false;\n }\n /**\n * Duplicate layer has 3 very different meanings. Two of them require validation against a duplicate event\n * Duplicating to a new doc does not make a duplicate event\n * Add special key so the logic that looks to validate based on \"Duplicate Layer\" is ignored\n */\n\n\n if ((0, _eventContext.isDuplicatedLayerToNewDoc)(evt, reverseHistoryMap)) {\n evt.data._force_validated_data_type = true;\n }\n\n return true;\n }\n /*\n * @returns {boolean} - true if a Gen AI Model should be added when adding an asset\n * If the event is a gen AI event, return true\n * Fallback case for if PS tells us there was gen AI used and there is no Gen AI action recorded yet\n * This can be the case when embedding a .psd or duplicating a layer from a doc with gen AI to a doc without\n */\n\n\n shouldAddGenAIAction(evt, workingDocumentId, isUsingGenTech) {\n const genFillActions = ['generative_fill', 'select_variation', 'generative_expand', 'syntheticfill', 'generate_image', 'generate_background'];\n let tool = evt.data.name || evt.name;\n const formattedToolName = (0, _common.formatWorkingStoreActionName)(tool);\n\n if (genFillActions.includes(formattedToolName)) {\n return true;\n }\n\n const currentState = this.CAI.getState();\n const currentStore = currentState.workingStores[workingDocumentId];\n const hasGenAIEvent = currentStore.assertionData.actions.some(action => {\n return action.digitalSourceType === _types.DigitalSourceType.compositeWithTrainedAlgorithmicMedia;\n });\n\n if (!hasGenAIEvent) {\n return isUsingGenTech;\n }\n\n return false;\n }\n\n async addAsset(props, evt, secondaryEvt) {\n var _assetConstructor$ini, _assetConstructor$ini2, _secondaryEvt$data, _secondaryEvt$data$nu;\n\n const {\n assetConstructor\n } = props;\n const isParent = (_assetConstructor$ini = (_assetConstructor$ini2 = assetConstructor.initialInfo) === null || _assetConstructor$ini2 === void 0 ? void 0 : _assetConstructor$ini2.is_parent) !== null && _assetConstructor$ini !== void 0 ? _assetConstructor$ini : false;\n const ingredient = await this.CAI.addAsset({\n data: (0, _getAssetData.getAssetData)(props),\n guid: props.guid,\n isParent,\n documentID: props.workingDocumentId\n });\n const currentState = this.CAI.getState();\n const currentStore = currentState.workingStores[props.workingDocumentId]; // If the thumbnail is a self#jumbf that means the SDK wrote the thumbnail out to a different file location\n // We need to update the filePath to the new location\n // see https://jira.corp.adobe.com/browse/CAI-5417\n\n if (ingredient.thumbnail.identifier.includes('self#jumbf=/c2pa/')) {\n const sep = _FileAdapter.FileAdapter.getPathSeparation();\n\n const splitPath = ingredient.thumbnail.identifier.split('self#jumbf=/c2pa/');\n splitPath[1] = splitPath[1].replaceAll(':', '_');\n const currentAssetPath = `${currentStore.tempFolder}${splitPath.join('')}`;\n\n try {\n await _PSMain.PSMain.getFS().copyFile(currentAssetPath, `${currentStore.tempFolder}${sep}${ingredient.thumbnail.fileName}`);\n fs.unlink(`file:${currentAssetPath}`);\n } catch (e) {\n console.error('Error copying thumbnail file', e);\n throw e;\n }\n }\n\n const foundIngredient = currentStore.ingredients.find(i => i.guid === ingredient.guid); // Dupe was found so it wasn't placed\n\n if (!foundIngredient) {\n const {\n path: filePath\n } = ingredient.thumbnail;\n\n if (filePath) {\n fs.unlink(`file:${filePath}`);\n }\n\n return;\n }\n /**\n * Adding an asset is not tied to a specific action in our tool mapping\n * The right action is dynamically figured out below\n */\n\n\n let tool = evt.data.name || evt.name;\n const secondaryTool = (secondaryEvt === null || secondaryEvt === void 0 ? void 0 : secondaryEvt.data.name) || (secondaryEvt === null || secondaryEvt === void 0 ? void 0 : secondaryEvt.name);\n const formattedToolName = (0, _common.formatWorkingStoreActionName)(tool);\n let actionType = ingredient.is_parent ? 'c2pa.opened' : 'c2pa.placed'; // TODO: see https://jira.corp.adobe.com/browse/CAI-4193\n // Currently only firefly based gen AI will use digitalSourceType\n\n let digitalSourceType;\n let softwareAgent;\n\n if (formattedToolName === 'sky_replacement') {\n actionType = 'com.adobe.combined_assets';\n }\n\n const genTechModelInfo = await (0, _batchPlayActions.getGenTechInfo)(props.workingDocumentId);\n const {\n isUsingFirefly,\n genTechModelsUsed,\n isUsingExternalModel\n } = genTechModelInfo;\n\n if (genTechModelsUsed && genTechModelsUsed.length > 0) {\n this.CAI.updateModelsUsed(props.workingDocumentId, genTechModelsUsed);\n }\n\n const isUsingGenTech = isUsingFirefly || isUsingExternalModel;\n\n if (this.shouldAddGenAIAction(evt, props.workingDocumentId, isUsingGenTech)) {\n digitalSourceType = _types.DigitalSourceType.compositeWithTrainedAlgorithmicMedia; // TODO: Add softwareAgent here once PS starts passing model info with genTech events.\n } else if (secondaryEvt && this.shouldAddGenAIAction(secondaryEvt, props.workingDocumentId, isUsingGenTech)) {\n digitalSourceType = _types.DigitalSourceType.compositeWithTrainedAlgorithmicMedia;\n tool = secondaryTool; // TODO: Add softwareAgent here once PS starts passing model info with genTech events.\n }\n\n if ((secondaryEvt === null || secondaryEvt === void 0 ? void 0 : secondaryEvt.name) === _batchPlayActions.EventType.NeuralFilters) {\n actionType = 'c2pa.edited';\n softwareAgent = 'Photoshop Neural Filters';\n }\n\n const newAction = (0, _common.buildWorkingStoreAction)({\n action: actionType,\n tool,\n instanceId: ingredient.instance_id,\n softwareAgent\n });\n const secondaryPath = secondaryEvt === null || secondaryEvt === void 0 ? void 0 : (_secondaryEvt$data = secondaryEvt.data) === null || _secondaryEvt$data === void 0 ? void 0 : (_secondaryEvt$data$nu = _secondaryEvt$data.null) === null || _secondaryEvt$data$nu === void 0 ? void 0 : _secondaryEvt$data$nu._path;\n /**\n * Plugin hack where we had stable diffusion devs drop into a concrete folder like this\n * Technically only stable diffusion is doing this, but we kept if vague to repurpose\n * if we need to with other folks. Also fun, handling different folder directory slashes\n */\n\n const hasSpecialPath = secondaryPath === null || secondaryPath === void 0 ? void 0 : secondaryPath.match(new RegExp('[\\\\\\\\/]CAI_GENERATIVE_ART[\\\\\\\\/]'));\n\n if (hasSpecialPath) {\n softwareAgent = 'Photoshop Stable Diffusion Plugin';\n }\n\n if (digitalSourceType) {\n newAction.digitalSourceType = digitalSourceType;\n }\n\n this.CAI.addNewAction(props.workingDocumentId, newAction);\n }\n\n addActionFromEvent(evt, documentData) {\n var _evt$data6;\n\n let {\n workingDocumentId\n } = documentData;\n /**\n * We cache active working document ID which is generally great\n * However there are quirks where the active document we care about is not what the event is for\n * Always respect event over all else. This is most notable for temporary documents.\n * @see https://jira.corp.adobe.com/browse/CAI-1584\n */\n\n if (evt.data.documentID) {\n workingDocumentId = evt.data.documentID;\n }\n /**\n * Technically New is a benign action, but we need to track it in history\n * because if a user does undo the very first action in PS, the event given is this one\n * If we ignore New entirely, things like canvas thumbnail won't trigger\n * If we ignore it after canvas update, history state won't update. We need history to know aobut New\n * so if user does undo to New and then does redo, it won't think that action is a duplicate and ignore\n * @see https://jira.corp.adobe.com/browse/CAI-739\n */\n\n\n if (((_evt$data6 = evt.data) === null || _evt$data6 === void 0 ? void 0 : _evt$data6.name) === _batchPlayActions.EventDataType.New) {\n _HistoryManager.HistoryManager.handleEvent({\n evt,\n documentData\n });\n\n return;\n }\n\n if (!workingDocumentId) {\n return;\n } // History for an event matters, even if the tool is not added as an action\n // A great example of this is Sky Replacement tool\n\n\n _HistoryManager.HistoryManager.handleEvent({\n evt,\n documentData\n });\n\n const tool = (0, _common.formatWorkingStoreActionName)(evt.data.name);\n\n if ((0, _types.objectHasKey)(_actionMap.default, tool) && _actionMap.default[tool] === null) {\n return;\n }\n\n const action = (0, _actions.getActionAssertionByTool)(tool);\n this.CAI.addNewAction(workingDocumentId, action);\n }\n\n addReview(props) {\n return (0, _addReview.addReview)(this.CAI, props);\n }\n\n listenToEvents() {\n // This is separate of enabled/disabled state as it is supposed to run all the time\n ps.action.addNotificationListener([{\n event: _batchPlayActions.EventType.ContentCredentialsChanged,\n universal: true\n }], this.eventHandler);\n /**\n * Special case for document support regardless of enablement state\n * \"fullyEnabled\" within handleEvent accounts for no store, enabling, disabled, etc\n */\n\n ps.action.addNotificationListener([{\n event: _batchPlayActions.EventType.HistoryStateChanged,\n universal: true\n }], async (name, data) => {\n await this.handleAppSupport({\n name,\n data\n });\n });\n uxp.host.addEventListener('themechanged', this.setCurrentTheme.bind(this));\n (0, _batchPlayActions.listenToDisabledState)(this.eventHandler);\n }\n\n}\n\nexports.EventManager = EventManager;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/EventManager.ts?")},4471:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var Buffer = __webpack_require__(8834)[\"lW\"];\n\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SIDECAR_EXTENSION = exports.PERSISTED_FOLDER = exports.FileAdapter = void 0;\n\nvar _common = __webpack_require__(9172);\n\n__webpack_require__(1307);\n\nvar _filenamify = _interopRequireDefault(__webpack_require__(1730));\n\nvar _jszip = _interopRequireDefault(__webpack_require__(1297));\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _errors = __webpack_require__(5073);\n\nvar _PSMain = __webpack_require__(3121);\n\n// ADOBE CONFIDENTIAL\n// Copyright 2021 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\nconst os = __webpack_require__(9801);\n\nconst fs = __webpack_require__(2048);\n\nconst uxp = __webpack_require__(6876);\n\nconst DATA_FILENAME = 'data.json';\nconst PERSISTED_FOLDER = 'PersistedData';\nexports.PERSISTED_FOLDER = PERSISTED_FOLDER;\nconst SIDECAR_EXTENSION = 'c2paws';\nexports.SIDECAR_EXTENSION = SIDECAR_EXTENSION;\nconst PLATFORMS = ['darwin', 'win32'];\n\nfunction isValidPlatform(platform) {\n return PLATFORMS.includes(platform);\n}\n\nclass FileAdapter {\n static getPathSeparation() {\n const platform = os.platform(); // Sanity default primarily for CI test environment\n\n if (!isValidPlatform(platform)) {\n return '/';\n }\n\n return this.PATH_SEP_MAPPING[platform];\n }\n\n static async doesFileExist(path) {\n try {\n await fs.lstat(`file:${path}`);\n return true;\n } catch (e) {\n // no existing zip\n return false;\n }\n }\n\n static getZipContentsByType(zip, type) {\n var _zip$folder;\n\n const promises = [];\n (_zip$folder = zip.folder(type)) === null || _zip$folder === void 0 ? void 0 : _zip$folder.forEach(function (relativePath, file) {\n const newPromise = new Promise(resolve => {\n file.async('nodebuffer').then(data => {\n resolve({\n relativePath,\n type,\n data\n });\n });\n });\n promises.push(newPromise);\n });\n return promises;\n }\n\n static async updateHash(documentPath, newHash) {\n // Where sidecar zip would live\n const {\n zipName,\n zipFolder\n } = await this.getZipLocation(documentPath);\n const pathSeparation = this.getPathSeparation();\n const zipPath = `${zipFolder}${pathSeparation}${zipName}`;\n const zipExists = await this.doesFileExist(zipPath);\n\n if (!zipExists) {\n return;\n }\n\n const zipContents = await fs.readFile(`file:${zipPath}`); // Load up zip object with the right data from prior saves\n\n const zip = new _jszip.default();\n await zip.loadAsync(zipContents);\n const fileContents = await this.getZipDataContents(zip);\n\n if (!fileContents) {\n return;\n } // Only take out the JSON data and update the hash\n\n\n const savedJson = JSON.parse(fileContents.data);\n savedJson.hash = newHash; // Update zip file's JSON data only - shouldn't modify any ingredients or other data\n\n const encodedContent = JSON.stringify(savedJson);\n zip.file(DATA_FILENAME, encodedContent);\n const content = await zip.generateAsync({\n type: 'nodebuffer'\n });\n await _PSMain.PSMain.getFS().writeFile(zipPath, content);\n } // Where sidecar zip would live\n\n\n static async getZipPath(documentPath) {\n const {\n zipName,\n zipFolder\n } = await this.getZipLocation(documentPath);\n const pathSeparation = this.getPathSeparation();\n return `${zipFolder}${pathSeparation}${zipName}`;\n }\n\n static async getZipContents(documentPath) {\n let zipContents;\n const zipPath = await this.getZipPath(documentPath);\n\n try {\n zipContents = await fs.readFile(`file:${zipPath}`);\n } catch (e) {\n const notFoundCode = os.platform() === 'darwin' ? -2 : -4058;\n\n if ((e === null || e === void 0 ? void 0 : e.code) === notFoundCode) {\n console.info(`Zip not found at ${zipPath}`);\n } else {\n throw new _errors.StorageDirectoryResolutionError(e);\n }\n } // Sidecar always overrides the deprecated hidden folder\n\n\n if (!zipContents) {\n return null;\n }\n\n const zip = new _jszip.default();\n await zip.loadAsync(zipContents);\n const fileContentsPromise = this.getZipDataContents(zip);\n\n if (fileContentsPromise === null) {\n console.warn('Found a zip file, but unable to find persisted data');\n return null;\n }\n\n const filePromises = [...this.getZipContentsByType(zip, 'ingredient'), ...this.getZipContentsByType(zip, 'manifest'), fileContentsPromise];\n const files = await Promise.all(filePromises);\n const store = files.filter(this.isZipDataFile)[0];\n return {\n ingredients: files.filter(this.isZipIngredientFile),\n manifests: files.filter(this.isZipManifestFile),\n store\n };\n }\n\n static getZipDataContents(zip) {\n const dataFile = zip.file(DATA_FILENAME);\n\n if (!dataFile) {\n return null;\n }\n\n const fileContentsPromise = new Promise(resolve => {\n dataFile.async('string').then(data => resolve({\n relativePath: DATA_FILENAME,\n type: 'data',\n data\n }));\n });\n return fileContentsPromise;\n }\n\n static isZipManifestFile(file) {\n return file.type === 'manifest';\n }\n\n static isZipIngredientFile(file) {\n return file.type === 'ingredient';\n }\n\n static isZipDataFile(file) {\n return file.type === 'data';\n }\n\n static async getTemporaryFolder(documentID) {\n const folder = await uxp.storage.localFileSystem.getTemporaryFolder();\n const sep = this.getPathSeparation(); // native path includes separator\n\n return `${folder.nativePath}${documentID}${sep}`;\n }\n\n static async copyFromZipToTemp(persistedZip, documentID) {\n const tempFolder = await this.getTemporaryFolder(documentID);\n const copies = [...persistedZip.ingredients, ...persistedZip.manifests].map(file => {\n const fileName = (0, _common.basename)(file.relativePath);\n return _PSMain.PSMain.getFS().writeFile(`${tempFolder}${fileName}`, file.data);\n });\n await Promise.all(copies);\n }\n\n static async load(xmpDocumentId, documentID) {\n const documentPath = await this.getDocumentPath(documentID); // Only saved documents would have a sidecar\n\n if (documentPath) {\n const persistedZip = await this.getZipContents(documentPath);\n\n if (persistedZip) {\n await this.copyFromZipToTemp(persistedZip, documentID);\n\n try {\n return JSON.parse(persistedZip.store.data);\n } catch (e) {\n console.warn('Unable to parse saved zip file', persistedZip);\n console.error(e);\n }\n }\n }\n\n if (!xmpDocumentId) {\n // File does not have an XMP document ID, cannot load persisted data\n // This will happen with files that don't have existing CAI sessions or ones without proper XMP metadata\n return null;\n }\n\n const hiddenData = await this.loadHiddenSidecar(xmpDocumentId);\n\n if (!hiddenData) {\n return hiddenData;\n } // If there is hidden data, go to generate the true sidecar before returning as normal\n\n\n const latestData = Array.isArray(hiddenData) ? hiddenData[hiddenData.length - 1] : hiddenData; // This flow should only happen once per existing document from before true sidecars\n\n if (documentPath) {\n const tempFolder = await this.getPersistedDir();\n latestData.workingStore.ingredients = latestData.workingStore.ingredients.filter(_common.isIngredientLoaded).map(ingredient => {\n var _ingredient$thumbnail;\n\n if ((_ingredient$thumbnail = ingredient.thumbnail) !== null && _ingredient$thumbnail !== void 0 && _ingredient$thumbnail.path) {\n ingredient.thumbnail.identifier = (0, _common.basename)(ingredient.thumbnail.path);\n }\n\n if (ingredient.manifest_path) {\n ingredient.manifest_data = {\n identifier: (0, _common.basename)(ingredient.manifest_path),\n format: 'c2pa'\n };\n }\n\n return ingredient;\n });\n await this.zipWorkingStore(documentPath, latestData, tempFolder);\n const persistedZip = await this.getZipContents(documentPath);\n\n if (!persistedZip) {\n throw new Error('Zip from old sidecar was not generated properly');\n }\n\n await this.copyFromZipToTemp(persistedZip, documentID);\n }\n\n return latestData;\n }\n\n static async loadHiddenSidecar(xmpDocumentId) {\n try {\n const filePath = await this.getDataFilePath(xmpDocumentId);\n const contents = await fs.readFile(`file:${filePath}`);\n const decoded = Buffer.from(contents).toString('utf-8');\n const parsed = JSON.parse(decoded);\n return parsed;\n } catch (err) {\n // hidden sidecars are deprecated so if there's any issue finding one, ignore at this point\n return null;\n }\n }\n /**\n * Automatic retry just in case there is some lock timing issue on a directory\n */\n\n\n static retryReadFile(path, type) {\n return (0, _common.retry)(() => {\n let contents;\n\n try {\n contents = fs.readFileSync(`file:${path}`);\n } catch (e) {\n console.warn('Unable to load', path);\n throw e;\n }\n\n const data = {\n path,\n contents,\n type\n };\n return data;\n }, {\n retryWait: 250,\n numRetries: 4\n });\n }\n\n static async save(data, documentPath, tempFolder) {\n try {\n await this.zipWorkingStore(documentPath, data, tempFolder);\n } catch (err) {\n const fileError = new _errors.FileSaveError(err);\n throw fileError;\n }\n }\n\n static getDocumentPath(documentID) {\n if (!Number.isInteger(documentID)) {\n throw new _common.AppError('Improper document ID given', {\n documentID\n });\n }\n\n return (0, _batchPlayActions.getDocumentPathByID)(documentID);\n }\n\n static getZipLocation(filePath) {\n const dotsToUnderscores = (0, _common.basename)(filePath).replace(/[. ]/g, '_');\n return {\n zipFolder: (0, _common.basefolder)(filePath),\n zipName: `${dotsToUnderscores}.${SIDECAR_EXTENSION}`\n };\n }\n\n static async zipWorkingStore(documentPath, data, tempFolder) {\n // TS says it's required but we get it from PS so not true guarantee\n if (!documentPath) {\n throw new Error('No documentPath given');\n }\n\n const zipPath = await this.getZipPath(documentPath);\n const encodedContent = JSON.stringify(data);\n const zip = new _jszip.default();\n const pathSeparation = this.getPathSeparation(); // Loop through ingredients to get the contents of both images and manifests\n\n const readPromises = data.workingStore.ingredients.filter(_common.isIngredientLoaded).reduce((prev, ingredient) => {\n const currentReads = [];\n\n if (ingredient.thumbnail) {\n const fullAssetPath = `${tempFolder}${pathSeparation}${ingredient.thumbnail.fileName}`;\n currentReads.push(this.retryReadFile(fullAssetPath, 'ingredient'));\n }\n\n if (ingredient.manifest_data) {\n const manifestPath = `${tempFolder}${pathSeparation}${ingredient.manifest_data.identifier}`;\n currentReads.push(this.retryReadFile(manifestPath, 'manifest'));\n }\n\n return [...prev, ...currentReads];\n }, []);\n const reads = await Promise.all(readPromises); // Write ingredients and manifests into their corresponding folders\n\n reads.forEach(read => zip.file(`${read.type}/${(0, _common.basename)(read.path)}`, read.contents)); // Actual working store JSON\n\n zip.file(DATA_FILENAME, encodedContent);\n const content = await zip.generateAsync({\n type: 'nodebuffer'\n });\n await _PSMain.PSMain.getFS().writeFile(zipPath, content);\n }\n\n static async delete(xmpDocumentId) {\n throw new _errors.FileDeleteError(xmpDocumentId, new Error('Not implemented'));\n }\n\n static async getStorageDir() {\n const STORAGE_DIR_MAPPING = {\n darwin: `${os.homedir()}/Library/Application Support/Adobe`,\n win32: `${os.homedir()}\\\\AppData\\\\Local\\\\Adobe`\n };\n\n try {\n const platform = os.platform();\n const platformDir = STORAGE_DIR_MAPPING[platform];\n\n if (!platformDir) {\n throw new _errors.UnsupportedFilePlatform(platform);\n }\n\n const contents = await fs.readdir(`file:${platformDir}`);\n const CAI_FOLDER = 'CAI';\n const caiDir = [platformDir, CAI_FOLDER].join(this.getPathSeparation());\n\n if (!contents.includes(CAI_FOLDER)) {\n console.debug('Creating directory', caiDir);\n await _PSMain.PSMain.getFS().mkdir(caiDir);\n }\n\n return caiDir;\n } catch (err) {\n throw new _errors.StorageDirectoryResolutionError(err);\n }\n }\n\n static async getPersistedDir() {\n try {\n const platformDir = await this.getStorageDir();\n const contents = await fs.readdir(`file:${platformDir}`);\n const persistedDir = [platformDir, PERSISTED_FOLDER].join(this.getPathSeparation());\n\n if (!contents.includes(PERSISTED_FOLDER)) {\n console.debug('Creating directory', persistedDir);\n await _PSMain.PSMain.getFS().mkdir(persistedDir);\n }\n\n return persistedDir;\n } catch (err) {\n throw new _errors.StorageDirectoryResolutionError(err);\n }\n }\n\n static async getDataFilePath(xmpDocumentId) {\n const storageDir = await this.getPersistedDir();\n const filename = `${this.sanitizeFilename(xmpDocumentId)}.json`;\n return [storageDir, filename].join(this.getPathSeparation());\n }\n\n static sanitizeFilename(filename) {\n return (0, _filenamify.default)(filename, {\n replacement: '_'\n });\n }\n\n}\n\nexports.FileAdapter = FileAdapter;\nFileAdapter.PATH_SEP_MAPPING = {\n darwin: '/',\n win32: '\\\\'\n};\n\n//# sourceURL=webpack://@cai/panel/./src/lib/FileAdapter.ts?")},7096:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.HistoryManager = void 0;\nexports.shouldAttemptAssetExtraction = shouldAttemptAssetExtraction;\nexports.shouldAttemptAssetExtractionFromEvent = shouldAttemptAssetExtractionFromEvent;\n\n__webpack_require__(1307);\n\nvar _cloneDeep = _interopRequireDefault(__webpack_require__(9850));\n\n__webpack_require__(7401);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nconst isReverseAction = evt => {\n var _evt$data, _evt$data$using;\n\n const isLayerNewDoc = evt.name === _batchPlayActions.EventType.Make && ((_evt$data = evt.data) === null || _evt$data === void 0 ? void 0 : (_evt$data$using = _evt$data.using) === null || _evt$data$using === void 0 ? void 0 : _evt$data$using._ref) === 'layer';\n const isVideoImport = evt.name === _batchPlayActions.EventType.ImportVideoToLayers;\n return !!(isLayerNewDoc || isVideoImport);\n};\n\nconst HISTORY_STATE_CHANGES_TO_GET_ASSET = [_batchPlayActions.EventDataType.ImportLayer, _batchPlayActions.EventDataType.ImportLayers, _batchPlayActions.EventDataType.DragGroup, _batchPlayActions.EventDataType.DragGroups, _batchPlayActions.EventDataType.DragLayer, _batchPlayActions.EventDataType.DragLayers, _batchPlayActions.EventDataType.GenerativeExpand, _batchPlayActions.EventDataType.GenerativeFill, _batchPlayActions.EventDataType.GenerateImage, _batchPlayActions.EventDataType.GenerateBackground];\n/**\n * Helper method to determine if an event would need an asset extraction, regardless of state\n */\n\nfunction shouldAttemptAssetExtractionFromEvent(evt, history) {\n if (evt.name === _batchPlayActions.EventType.HistoryStateChanged) {\n return HISTORY_STATE_CHANGES_TO_GET_ASSET.includes(evt.data.name) || Object.keys(history.reverseHistoryMap).length > 0;\n }\n\n return _batchPlayActions.EventsToCheckAssets.includes(evt.name);\n}\n/**\n * Helper method to determine if an asset should actually be extracted, based partially on state\n * @todo: Should this live here? Should it be a util file?\n */\n\n\nfunction shouldAttemptAssetExtraction(evt, documentData, history) {\n if (!documentData.workingDocumentId) {\n return false;\n }\n\n return shouldAttemptAssetExtractionFromEvent(evt, history);\n}\n\nfunction isHistoryStateChanged(evt) {\n if (evt.name === _batchPlayActions.EventType.HistoryStateChanged) {\n return true;\n }\n\n return false;\n}\n/**\n * Class to manage the quirks of PS events relating to each other and sometimes being out of order\n */\n\n\nclass HistoryManager {\n // QE only\n static reset() {\n this.lastEvt = null;\n this.reverseHistoryMap = {};\n this.lastHistoryStateChange = null;\n this.lastHistoryStateChanges = {};\n }\n\n static handleEvent(payload) {\n const {\n evt,\n documentData\n } = payload;\n this.lastEvt = evt;\n\n if (evt.name === _batchPlayActions.EventType.Close) {\n return;\n } // Do not use a validated Open event for changing history as it means it was counted before validation\n\n\n if (evt.name === _batchPlayActions.EventType.HistoryStateChanged && _batchPlayActions.ignoreValidatedDataTypes.includes(evt.data.name) && evt.data._validated && !evt.data._force_validated_data_type) {\n return;\n }\n\n if (!documentData.workingDocumentId) {\n console.error('Unable to find working document id');\n return;\n }\n\n if (isHistoryStateChanged(evt)) {\n this.lastHistoryStateChange = evt;\n this.lastHistoryStateChanges[documentData.workingDocumentId] = evt;\n }\n\n const history = this.getAll();\n\n if (isReverseAction(evt)) {\n // Note that evt.name is a bit brittle but suits our purposes for now\n this.reverseHistoryMap[evt.name] = evt;\n } // We only remove history after an action that inspects it for creating asset\n else if (shouldAttemptAssetExtraction(evt, documentData, history)) {\n this.reverseHistoryMap = {};\n }\n }\n\n static getAll() {\n return (0, _cloneDeep.default)({\n lastEvt: this.lastEvt,\n reverseHistoryMap: this.reverseHistoryMap,\n lastHistoryStateChange: this.lastHistoryStateChange,\n lastHistoryStateChanges: this.lastHistoryStateChanges\n });\n }\n\n}\n\nexports.HistoryManager = HistoryManager;\nHistoryManager.lastEvt = null;\nHistoryManager.reverseHistoryMap = {};\nHistoryManager.lastHistoryStateChange = null;\nHistoryManager.lastHistoryStateChanges = {};\n\n//# sourceURL=webpack://@cai/panel/./src/lib/HistoryManager.ts?")},7940:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PSConfig = void 0;\n\nvar _adaptersUxp = __webpack_require__(5237);\n\nclass PSConfig extends _adaptersUxp.CAIAdapters.Config {}\n\nexports.PSConfig = PSConfig;\nPSConfig.apiKey = 'cai-ps-plugin';\n\n//# sourceURL=webpack://@cai/panel/./src/lib/PSConfig.ts?")},3121:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.PSMain = void 0;\n\nvar _state = __webpack_require__(1375);\n\nvar _adaptersUxp = __webpack_require__(5237);\n\nvar _FileAdapter = __webpack_require__(4471);\n\nclass PSMain extends _state.CAIMain {\n static async initialize(props) {\n const pathSeparation = await _FileAdapter.FileAdapter.getPathSeparation();\n await _adaptersUxp.CAIAdapters.ManifestService.initialize({\n pathSeparation\n });\n return super.initialize(props);\n }\n\n}\n\nexports.PSMain = PSMain;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/PSMain.ts?')},5775:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PSPersistence = void 0;\n\nvar _common = __webpack_require__(9172);\n\nvar _localization = __webpack_require__(60);\n\n__webpack_require__(1307);\n\nvar _cloneDeep = _interopRequireDefault(__webpack_require__(9850));\n\nvar _addReview = __webpack_require__(1898);\n\nvar _getSmartObjectReview = __webpack_require__(9551);\n\nvar _DocumentManager = __webpack_require__(7401);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _PSMain = __webpack_require__(3121);\n\nvar _FileAdapter = __webpack_require__(4471);\n\nvar _errors = __webpack_require__(5073);\n\nclass PSPersistence {\n constructor(props) {\n const {\n CAI,\n App,\n System\n } = props;\n this.CAI = CAI;\n this.App = App;\n this.System = System;\n }\n\n async saveNewHash(executionContext, psContextData) {\n const c2pa = await __webpack_require__(4178);\n const {\n pathName\n } = psContextData;\n const hashString = await c2pa.hash_from_file(pathName);\n const {\n ok: hash\n } = JSON.parse(hashString);\n await _FileAdapter.FileAdapter.updateHash(pathName, hash);\n }\n\n async save(sidecar, executionContext, psContextData) {\n const currentState = this.CAI.getState();\n const saveMethod = sidecar ? 'saveToSidecar' : 'saveToDocument';\n\n try {\n const saveReturn = await this[saveMethod](currentState, executionContext, psContextData); // Save As can use same document ID but change file type\n\n _DocumentManager.DocumentManager.documents = null;\n return saveReturn;\n } catch (e) {\n _common.ErrorHandler.log(e);\n\n throw e;\n }\n }\n /**\n * Prepares the data from state to be perssited into PSD upon save\n * @see https://adobe-my.sharepoint.com/:w:/p/jsbache/ETaFsTWk61VDl48zisAN8pcBRngOpxGtpx_HBFVXgNseZQ?e=hbBiA1\n */\n\n\n async saveToDocument(currentState, executionContext, psContextData) {\n /**\n * Passing the whole object, separate of descriptor for a few reasons\n * - We must pass the object as reference because statusCode will update from PS\n * - If we pass just the number, it's not a reference, and won't update properly\n * - Don't want to conflate the data we use for saving with the data for save state\n * - Keeping the interface IPSSaveStatus for ONLY the things regarding status updates\n */\n const psSaveStatus = executionContext;\n const {\n documentID\n } = psContextData;\n const savedStore = currentState.workingStores[documentID];\n\n if (!savedStore) {\n console.warn(`Save called on ${documentID}, which is not populated`);\n return null;\n }\n\n if (savedStore.preferenceState !== 'enabled') {\n return null;\n } // Saving an embedded smart object\n\n\n if (savedStore.owningDocumentId) {\n await this.handleEmbeddedObjectSave(currentState, documentID, savedStore);\n return null;\n }\n\n try {\n const ret = await this.CAI.saveWorkingStore(documentID, currentState, this.handleSaveToDocument(currentState, psContextData, psSaveStatus), _PSMain.PSMain.getFS().copyFile);\n return ret.context;\n } catch (e) {\n _common.ErrorHandler.log(e);\n }\n\n return null;\n }\n /**\n * Only for sidecar files\n */\n\n\n async saveToSidecar(currentState, executionContext, psContextData) {\n /**\n * Passing the whole object, separate of descriptor for a few reasons\n * - We must pass the object as reference because statusCode will update from PS\n * - If we pass just the number, it's not a reference, and won't update properly\n * - Don't want to conflate the data we use for saving with the data for save state\n * - Keeping the interface IPSSaveStatus for ONLY the things regarding status updates\n */\n const psSaveStatus = executionContext;\n const {\n isCloudDoc,\n pathName,\n documentID\n } = psContextData;\n /**\n * background autosave always fires off of a PSB in a special directory\n * if we were to save a working store in this scenario, it saves in a hidden place, never to be accessed again\n * @see https://jira.corp.adobe.com/browse/CAI-4244\n */\n\n if ((0, _batchPlayActions.isPhotoshopFile)(isCloudDoc, pathName)) {\n return;\n }\n\n const savedStore = currentState.workingStores[documentID];\n const persistedStore = currentState.persistedWorkingStores[documentID]; // No store to actually save. This may happen via scripts\n\n if (!savedStore) {\n console.warn('No store found for save', psContextData);\n return;\n } // The path of actual open document, regardless of where save went\n\n\n const currentPath = await (0, _batchPlayActions.getDocumentPathByID)(documentID);\n const {\n sourceFile\n } = savedStore;\n /**\n * Handles the case where a new document is made and user saves as JPG (which is basically going from PSD to JPG upon creation)\n * If there is no currentPath, this is still an unsaved document, meaning Save a Copy triggered and the current unsaved doc has\n * no sidecar data. If there is a currentPath, it means the document was saved and has it for sure.\n * @see https://jira.corp.adobe.com/browse/CAI-4286\n */\n\n if (currentPath) {\n await (0, _batchPlayActions.setHasSidecarData)(documentID, true);\n }\n /**\n * If user is saving to path A, but PS is on doc B, we are saving an un-open document\n */\n\n\n const copyToOtherDocument = pathName != currentPath;\n /**\n * If current document is path A, but we had opened as path B, we are possibly overwriting another file\n */\n\n const changingToDifferentDocument = currentPath != sourceFile;\n /**\n * If we are changing enablement of currently opened file only, we want to make sure we save over working store.\n * We only do this if we are saving the currently opened, existing file. Otherwise there is special logic to handle\n * saving to different files while CAI is off.\n */\n\n const isChangingEnablement = (persistedStore === null || persistedStore === void 0 ? void 0 : persistedStore.preferenceState) !== savedStore.preferenceState && !copyToOtherDocument && !changingToDifferentDocument; // Don't save anything with sidecar for disabled state unless we now must update that pref\n\n if (savedStore.preferenceState !== 'enabled' && !isChangingEnablement) {\n return;\n } // Saving an embedded smart object\n\n\n if (savedStore.owningDocumentId) {\n await this.handleEmbeddedObjectSave(currentState, documentID, savedStore);\n return;\n }\n\n try {\n await this.CAI.saveWorkingStore(psContextData.documentID, currentState, this.handleSaveToSidecar(currentState, psContextData, psSaveStatus), _PSMain.PSMain.getFS().copyFile);\n } catch (e) {\n _common.ErrorHandler.log(e);\n }\n\n return {\n name: 'docDidSaveHandler'\n };\n }\n /**\n * At one point saved data and plugin state data was 1:1 model\n * This method ensures that we can change what's internally happening\n * without impacting any exported data to analytics, exported files, etc\n */\n\n\n static formatSettings(settings) {\n const assertions = [];\n if (settings.edits) assertions.push('Edits');\n if (settings.identity) assertions.push('Identity');\n const accounts = {};\n Object.entries(settings.accounts).forEach(([id, account]) => {\n accounts[account.type] = {\n shouldInclude: account.included,\n accountType: account.type,\n url: account.url,\n displayName: (0, _common.isSocial)(account) ? account.label : undefined,\n address: (0, _common.isCrypto)(account) ? account.label : undefined,\n id\n };\n });\n return {\n enabled: true,\n include_assertions: assertions,\n connectedAccounts: accounts,\n export: settings.export\n };\n }\n\n prepareDataForSave(documentID, currentState) {\n const buildParams = {\n documentID,\n currentState,\n forSave: true,\n App: this.App,\n System: this.System\n };\n const savedStore = currentState.workingStores[documentID];\n\n const newPersistedData = _common.CAIClaim.build(buildParams);\n\n const settings = PSPersistence.formatSettings(savedStore.settings);\n const {\n connectedAccounts\n } = settings;\n /**\n * Rip PII out of data, leaving the minimum to rehydrate based on what user has\n */\n\n Object.entries(connectedAccounts).forEach(([key, value]) => {\n settings.connectedAccounts[key] = {\n shouldInclude: value.shouldInclude,\n accountType: value.accountType\n };\n });\n return {\n newPersistedData,\n settings\n };\n }\n /**\n * Thunk save callback for writing directly to PSD/C/B\n */\n\n\n async handleSaveToDocument(currentState, psContextData, psSaveStatus) {\n const {\n documentID\n } = psContextData;\n const filesList = await this.getFilesList(documentID, psSaveStatus);\n const {\n settings,\n newPersistedData\n } = this.prepareDataForSave(documentID, currentState);\n const data = {\n workingStore: newPersistedData,\n settings,\n version: '1.0'\n }; // We know the temp folder is the PS one given the callback we are in\n\n const tempFolder = await (0, _batchPlayActions.getPhotoshopFolder)(documentID);\n const context = {\n filesList,\n data: JSON.stringify(data)\n };\n return {\n workingDocumentId: documentID,\n tempFolder,\n context\n };\n }\n /**\n * Thun ksave callback for writing to legacy sidecar folders\n */\n\n\n async handleSaveToSidecar(currentState, psContextData, psSaveStatus) {\n const {\n documentID,\n pathName\n } = psContextData;\n\n try {\n await this.CAI.checkIngredientsLoaded(documentID, () => psSaveStatus.isCancelled);\n } catch (e) {\n const message = _localization.Localization.formatMessage({\n id: 'error.ingredientLoadingSaveError',\n // formatjs extraction will not process this string if it's split to multiple lines\n\n /* prettier-ignore */\n // eslint-disable-next-line max-len\n defaultMessage: \"Your document and its Content Credentials couldn't be saved because changes to the document were still processing. Please try saving again with Save As once changes have finished processing.\"\n });\n\n (0, _batchPlayActions.showDismissableAlert)(documentID, message);\n console.error(e);\n throw e;\n }\n\n const {\n settings,\n newPersistedData\n } = this.prepareDataForSave(documentID, currentState);\n const workingStore = await this.CAI.getWorkingStore(documentID);\n\n if (!workingStore) {\n throw new _common.AppError('No working store during save', {\n documentID\n });\n }\n /**\n * Default to a string since existing code assumes missing hash means new file\n * This may be fixable in the future. For now, putting a dummy value to always fail the check\n * @see https://jira.corp.adobe.com/browse/CAI-4387\n */\n\n\n let hash = '_';\n const c2pa = await __webpack_require__(4178);\n const savedStore = currentState.workingStores[documentID]; // Don't update hash if CAI is turned off\n\n if (savedStore.preferenceState === 'enabled') {\n const hashString = await c2pa.hash_from_file(pathName);\n ({\n ok: hash\n } = JSON.parse(hashString));\n }\n\n const persistedData = {\n hash,\n settings,\n workingStore: (0, _cloneDeep.default)(newPersistedData),\n version: '2.0',\n enabled: workingStore.preferenceState !== 'disabled'\n };\n\n if (!workingStore.tempFolder) {\n throw new _common.AppError('Folder not set before save');\n }\n\n try {\n /**\n * It's very important that the path is passed in from the PS context\n * rather than wht the current document's path is. If a user does \"Save a Copy\"\n * the save is on a file that is not opened. Hence no document ID is passed here.\n * @see https://jira.corp.adobe.com/browse/CAI-3808\n */\n await _FileAdapter.FileAdapter.save(persistedData, pathName, workingStore.tempFolder);\n } catch (e) {\n const isFileError = e instanceof _errors.FileSaveError;\n\n if (!isFileError) {\n throw e;\n }\n\n const message = _localization.Localization.formatMessage({\n id: 'error.permissionSaveError',\n // formatjs extraction will not process this string if it's split to multiple lines\n\n /* prettier-ignore */\n // eslint-disable-next-line max-len\n defaultMessage: \"Content Credentials couldn't be saved, possibly due to insufficient file or folder permissions.\"\n });\n\n (0, _batchPlayActions.showDismissableAlert)(documentID, message);\n } // We know the temp folder is the sidecar one given the callback we are in\n\n\n const tempFolder = await _FileAdapter.FileAdapter.getTemporaryFolder(documentID);\n return {\n workingDocumentId: documentID,\n tempFolder\n };\n }\n\n async handleEmbeddedObjectSave(currentState, documentID, savedStore) {\n const targetStore = currentState.workingStores[savedStore.owningDocumentId];\n /**\n * Only attempt to merge if host document still exists\n * @see https://jira.corp.adobe.com/browse/CAI-2321\n */\n\n if (targetStore) {\n this.CAI.mergeWorkingStores(savedStore, targetStore, _PSMain.PSMain.getFS().copyFile);\n this.CAI.setPersistedWorkingStore(documentID, savedStore);\n return;\n }\n\n const doc = await (0, _batchPlayActions.getDocumentByID)(documentID);\n\n if (!doc) {\n throw new _common.AppError('Can not find document for orphaned embed ', {\n documentID\n });\n }\n\n await (0, _addReview.addReview)(this.CAI, {\n review: (0, _getSmartObjectReview.getSmartObjectReview)(),\n workingDocumentId: documentID,\n internalCode: 'com.adobe.smartObject'\n });\n this.CAI.disownEmbed(documentID);\n }\n\n async getFilesList(documentID, psSaveStatus) {\n if (psSaveStatus) {\n try {\n await this.CAI.checkIngredientsLoaded(documentID, () => psSaveStatus.isCancelled);\n } catch (e) {\n const message = _localization.Localization.formatMessage({\n id: 'error.ingredientLoadingSaveError',\n // formatjs extraction will not process this string if it's split to multiple lines\n\n /* prettier-ignore */\n // eslint-disable-next-line max-len\n defaultMessage: \"Your document and its Content Credentials couldn't be saved because changes to the document were still processing. Please try saving again with Save As once changes have finished processing.\"\n });\n\n (0, _batchPlayActions.showDismissableAlert)(documentID, message);\n console.error(e);\n throw e;\n }\n } // need to get working store after check so its not passed as stale\n\n\n const state = this.CAI.getState();\n const workingStore = state.workingStores[documentID];\n const ingredients = workingStore.ingredients.filter(_common.isIngredientLoaded);\n const ingredientThumbnails = ingredients.map(ingredient => {\n var _ingredient$thumbnail;\n\n return (_ingredient$thumbnail = ingredient.thumbnail) === null || _ingredient$thumbnail === void 0 ? void 0 : _ingredient$thumbnail.fileName;\n }).filter(identifier => !!identifier);\n const ingredientManifests = ingredients.map(ingredient => {\n var _ingredient$manifest_;\n\n return (_ingredient$manifest_ = ingredient.manifest_data) === null || _ingredient$manifest_ === void 0 ? void 0 : _ingredient$manifest_.identifier;\n }).filter(identifier => !!identifier);\n return [...ingredientThumbnails, ...ingredientManifests];\n }\n /**\n * A function given for PS debugging\n * @see https://adobe-my.sharepoint.com/:w:/p/jsbache/ETaFsTWk61VDl48zisAN8pcBRngOpxGtpx_HBFVXgNseZQ?e=hbBiA1\n */\n\n\n async getDocInfoHandler({\n documentID\n }) {\n if (!documentID) {\n throw new _common.AppError('Did not receive document ID');\n }\n\n const state = this.CAI.getState();\n const workingStore = state.workingStores[documentID];\n const filesList = await this.getFilesList(documentID);\n return {\n filesList: filesList,\n data: workingStore\n };\n }\n\n}\n\nexports.PSPersistence = PSPersistence;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/PSPersistence.ts?")},8937:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.PSUser = void 0;\n\nvar _adaptersUxp = __webpack_require__(5237);\n\nclass PSUser extends _adaptersUxp.CAIAdapters.User {}\n\nexports.PSUser = PSUser;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/PSUser.ts?')},1855:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RpcServer = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\nvar _rpc = __webpack_require__(2098);\n\nvar _common = __webpack_require__(9172);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst ps = __webpack_require__(3192);\n\nclass RpcMethodNotFoundError extends _common.AppError {\n constructor(rpcMethod) {\n super(`RPC method handler not found`, {\n rpcMethod\n });\n this.name = 'RpcMethodNotFoundError';\n }\n\n}\n/**\n * RpcServer that listens and replies to plugin commands using JSON RPC.\n *\n * This should only be used by the main CAI plugin (@cai/panel).\n */\n\n\nclass RpcServer extends _rpc.RpcBase {\n constructor(getState, options) {\n super();\n this.targetPlugins = {};\n this.handlers = {};\n this.options = options;\n this.initStreamHandlers(getState);\n }\n /**\n * Singleton provider\n * @returns RpcServer\n */\n\n\n static getInstance(getState, options) {\n if (!RpcServer.instance) {\n RpcServer.instance = new RpcServer(getState, options);\n }\n\n return RpcServer.instance;\n }\n /**\n * Pushes commands sent to this plugin via `invokeCommand` to the internal stream\n * so they can be processed.\n * @param command\n */\n\n\n async handleCommand(rpcCmd) {\n const handler = this.handlers[rpcCmd.method];\n\n if (!handler) {\n _common.ErrorHandler.log(new RpcMethodNotFoundError(rpcCmd.method));\n\n return this.reply(rpcCmd, null, _rpc.ErrorCode.MethodNotFound);\n }\n\n const reply = await handler(rpcCmd);\n this.reply(rpcCmd, reply);\n }\n /**\n * Takes actions and sends messages back based on the RPC method.\n */\n\n\n initStreamHandlers(getCAI) {\n var _this$options$handler, _this$options;\n\n this.handlers = _objectSpread({\n getPreviewData: () => {\n const CAI = getCAI();\n const previewData = CAI.getPreviewPaneData();\n\n if (!previewData) {\n return null;\n }\n\n return previewData;\n },\n callCAIAPI: async rpcCmd => {\n const CAI = getCAI();\n const workingStore = CAI.getActiveWorkingStore();\n const CAIEnabled = (workingStore === null || workingStore === void 0 ? void 0 : workingStore.preferenceState) === 'enabled';\n const {\n method,\n args\n } = rpcCmd.params;\n\n try {\n // Need to break up the return so catch actually works here\n // @ts-ignore\n const result = await CAI[method](...args);\n return result;\n } catch (e) {\n var _e$context;\n\n // ensure that in worst case scenario a message is available, localized or not\n let message = e === null || e === void 0 ? void 0 : e.message;\n\n if (e !== null && e !== void 0 && (_e$context = e.context) !== null && _e$context !== void 0 && _e$context.localizedMessage) {\n message = e.context.localizedMessage;\n }\n\n if (message && CAIEnabled) {\n ps.core.showAlert(message);\n }\n\n console.error(e);\n throw e;\n }\n },\n isCAIAvailable: () => {\n return !_common.ErrorHandler.hasFatallyErrored$.getValue();\n },\n getGenTechInfo: async rpcCmd => {\n const {\n documentID\n } = rpcCmd.params;\n return (0, _batchPlayActions.getGenTechInfo)(documentID);\n },\n areAssetsLoading: rpcCmd => {\n const CAI = getCAI(); // Backcompat\n\n if (!CAI) {\n return false;\n }\n\n const {\n documentID\n } = rpcCmd.params;\n const currentState = CAI.getState();\n const currentStore = currentState.workingStores[documentID];\n\n if (!currentStore) {\n return false;\n }\n\n const loadingIngredients = currentStore.ingredients.filter(i => i.state === 'loading').length > 0;\n return loadingIngredients;\n },\n setExportSetting: async rpcCmd => {\n const CAI = getCAI();\n\n if (!rpcCmd.params) {\n throw new _common.AppError('Unable to find params in command', rpcCmd);\n }\n\n const {\n documentID,\n exportSetting\n } = rpcCmd.params;\n await CAI.setWorkingStoreExportDefault(documentID, exportSetting);\n },\n getExportSetting: rpcCmd => {\n const CAI = getCAI();\n\n if (!rpcCmd.params) {\n throw new _common.AppError('Unable to find params in command', rpcCmd);\n }\n\n const {\n documentID\n } = rpcCmd.params;\n const currentState = CAI.getState();\n const workingStore = currentState.workingStores[documentID];\n\n if (!workingStore) {\n console.warn(`Unable to find store ${documentID} to get export setting`);\n return null;\n }\n\n return workingStore.settings.export || null;\n }\n }, (_this$options$handler = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.handlers) !== null && _this$options$handler !== void 0 ? _this$options$handler : {});\n }\n /**\n * Send a reply notification to the plugin that sent the original JSON RPC command/request\n * @param originalCommand The original JSON RPC request that triggered this reply\n * @param params Data to send back to the consuming plugin's RpcClient\n */\n\n\n reply(originalCommand, params, error) {\n const {\n origin\n } = originalCommand.params;\n\n if (!this.targetPlugins[origin]) {\n this.targetPlugins[origin] = _rpc.RpcBase.getPlugin(origin);\n }\n\n const plugin = this.targetPlugins[origin];\n\n if (plugin) {\n let command;\n\n if (error) {\n command = {\n id: originalCommand.id,\n jsonrpc: '2.0',\n error: {\n code: error,\n message: 'Invalid Request'\n }\n };\n } else {\n command = {\n id: originalCommand.id,\n jsonrpc: '2.0',\n params\n };\n }\n\n plugin.invokeCommand(_rpc.RpcBase.rpcCommandName, command);\n }\n }\n\n}\n\nexports.RpcServer = RpcServer;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/RPCServer.ts?")},5073:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.UnsupportedFilePlatform = exports.StorageDirectoryResolutionError = exports.InvalidFileSpecifierError = exports.FileSaveError = exports.FileLoadError = exports.FileDeleteError = exports.ActiveDocumentNotFoundError = void 0;\n\nvar _common = __webpack_require__(9172);\n\n// ADOBE CONFIDENTIAL\n// Copyright 2022 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\n\n/* eslint-disable max-classes-per-file */\nclass ActiveDocumentNotFoundError extends _common.AppError {\n constructor() {\n super('Active document could not be found');\n this.name = 'ActiveDocumentNotFoundError';\n }\n\n}\n\nexports.ActiveDocumentNotFoundError = ActiveDocumentNotFoundError;\n\nclass UnsupportedFilePlatform extends _common.AppError {\n constructor(platform) {\n super(`Platform not supported for file operations`, {\n platform\n });\n this.name = 'UnsupportedFilePlatform';\n }\n\n}\n\nexports.UnsupportedFilePlatform = UnsupportedFilePlatform;\n\nclass FileLoadError extends _common.AppError {\n constructor(xmpDocumentId, originalError) {\n super(`Error attempting to load file for doc ID`, {\n xmpDocumentId,\n originalError: (0, _common.serializeError)(originalError)\n });\n this.name = 'FileLoadError';\n this.stack = originalError.stack;\n }\n\n}\n\nexports.FileLoadError = FileLoadError;\n\nclass FileSaveError extends _common.AppError {\n constructor(originalError) {\n super(`Error attempting to save file for doc ID`, {\n originalError: (0, _common.serializeError)(originalError)\n });\n this.name = 'FileSaveError';\n this.stack = originalError.stack;\n }\n\n}\n\nexports.FileSaveError = FileSaveError;\n\nclass FileDeleteError extends _common.AppError {\n constructor(xmpDocumentId, originalError) {\n super(`Error attempting to delete file for doc ID`, {\n xmpDocumentId,\n originalError: (0, _common.serializeError)(originalError)\n });\n this.name = 'FileDeleteError';\n this.stack = originalError.stack;\n }\n\n}\n\nexports.FileDeleteError = FileDeleteError;\n\nclass InvalidFileSpecifierError extends _common.AppError {\n constructor() {\n super('XMP document ID not passed for file operation');\n this.name = 'InvalidFileSpecifierError';\n }\n\n}\n\nexports.InvalidFileSpecifierError = InvalidFileSpecifierError;\n\nclass StorageDirectoryResolutionError extends _common.AppError {\n constructor(originalError) {\n super(`Storage directory resolution failed`, {\n originalError: (0, _common.serializeError)(originalError)\n });\n this.name = 'StorageDirectoryResolutionError';\n this.stack = originalError.stack;\n }\n\n}\n\nexports.StorageDirectoryResolutionError = StorageDirectoryResolutionError;\n\n//# sourceURL=webpack://@cai/panel/./src/lib/errors.ts?")},7874:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.actionUpconvert = actionUpconvert;\n\nvar _common = __webpack_require__(9172);\n\nvar _localization = __webpack_require__(60);\n\nvar _types = __webpack_require__(1307);\n\nvar _actionMap = _interopRequireDefault(__webpack_require__(1724));\n\nvar _actions = __webpack_require__(9482);\n\nvar _PSMain = __webpack_require__(3121);\n\nfunction actionUpconvert(actions, ingredients) {\n _common.SplunkLogger.log({\n level: 'info',\n message: 'Converting categories to C2PA actions',\n channel: 'analytics',\n context: {}\n });\n\n const convertedActions = actions.filter(actionData => {\n // Already upconverted\n if (actionData.parameters['com.adobe.tool']) {\n return true;\n }\n\n if (actionData.action === 'c2pa.unknown') {\n return true;\n }\n\n return (0, _types.objectHasKey)(_actionMap.default, actionData.parameters.name);\n }).map(actionData => {\n // Already upconverted\n if (actionData.parameters['com.adobe.tool']) {\n return actionData;\n }\n\n if (actionData.action === 'c2pa.unknown') {\n const icons = _PSMain.PSMain.getStateAPI().getIcons();\n\n const description = _localization.Localization.getDefaultC2PAActionDescription(actionData.action);\n\n return {\n action: 'c2pa.unknown',\n parameters: {\n 'com.adobe.tool': '',\n 'com.adobe.icon': icons['c2pa.unknown'],\n description\n }\n };\n }\n\n return (0, _actions.getActionAssertionByTool)(actionData.parameters.name);\n });\n ingredients.forEach(ingredient => {\n const action = ingredient.is_parent ? 'c2pa.opened' : 'c2pa.placed';\n\n const description = _localization.Localization.getDefaultC2PAActionDescription(action);\n\n convertedActions.push({\n action,\n parameters: {\n 'com.adobe.tool': '',\n description,\n instanceId: ingredient.instance_id\n }\n });\n });\n return convertedActions;\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/action-upconvert.ts?")},9482:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getActionAssertionByTool = getActionAssertionByTool;\n\nvar _localization = __webpack_require__(60);\n\nvar _types = __webpack_require__(1307);\n\nvar _PSMain = __webpack_require__(3121);\n\nvar _actionMap = _interopRequireDefault(__webpack_require__(1724));\n\nfunction getActionAssertionByTool(tool) {\n let action = 'c2pa.edited';\n let digitalSourceType;\n\n const icons = _PSMain.PSMain.getStateAPI().getIcons();\n\n const parameters = {\n 'com.adobe.tool': tool\n };\n\n if ((0, _types.objectHasKey)(_actionMap.default, tool) && _actionMap.default[tool]) {\n if (typeof _actionMap.default[tool] === 'string') {\n action = _actionMap.default[tool];\n } else {\n ({\n action,\n digital_source_type: digitalSourceType\n } = _actionMap.default[tool]);\n }\n }\n\n parameters['com.adobe.icon'] = icons[action] || icons['c2pa.edited']; // Default for spec, altho localizations attribute in claim will be able to localize off action\n\n parameters.description = _localization.Localization.getDefaultC2PAActionDescription(action);\n const actionData = {\n action,\n parameters\n };\n\n if (digitalSourceType) {\n actionData.digitalSourceType = digitalSourceType;\n }\n\n return actionData;\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/actions.ts?")},1898:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.REVIEW_THIRD_PARTY = exports.REVIEW_OUTSIDE_PROGRAM = exports.REVIEW_JSX = exports.REVIEW_CPP = void 0;\nexports.addReview = addReview;\n\n__webpack_require__(1307);\n\nconst REVIEW_OUTSIDE_PROGRAM = {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation: 'A program outside of Photoshop for Desktop made outside changes'\n};\nexports.REVIEW_OUTSIDE_PROGRAM = REVIEW_OUTSIDE_PROGRAM;\nconst REVIEW_JSX = {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation: 'A JSX script ran that may have made outside changes'\n};\nexports.REVIEW_JSX = REVIEW_JSX;\nconst REVIEW_CPP = {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation: 'A C++ script ran that may have made outside changes'\n};\nexports.REVIEW_CPP = REVIEW_CPP;\nconst REVIEW_THIRD_PARTY = {\n code: 'actions.unknownActionsPerformed',\n value: 4,\n explanation: 'A third party script ran that may have made outside changes'\n};\nexports.REVIEW_THIRD_PARTY = REVIEW_THIRD_PARTY;\n\nasync function addReview(CAI, props) {\n const INTERNAL_CODES = ['com.adobe.programCrash', 'com.adobe.enabledCAI', 'com.adobe.smartObject', 'com.adobe.jsxScript', 'com.adobe.cppScript', 'com.adobe.thirdPartyScript', 'com.adobe.duplicatePossibleSmartObject', 'com.adobe.outsideProgram', 'com.adobe.changesBeforeLoad'];\n const {\n review,\n internalCode,\n workingDocumentId\n } = props;\n\n if (INTERNAL_CODES.includes(internalCode)) {\n const internalReview = {\n code: internalCode,\n explanation: 'Photoshop specific review',\n value: 5\n };\n await CAI.addReview(workingDocumentId, internalReview);\n }\n\n await CAI.addReview(workingDocumentId, review);\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/add-review.ts?")},4188:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(8834)["lW"];\n\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.batchPlay = exports.EventsToCheckAssets = exports.EventsForModalChanges = exports.EventsForDocumentChanges = exports.EventsForCrossDocChanges = exports.EventType = exports.EventDataType = exports.CAI_FEATURE_FLAG = void 0;\nexports.disable = disable;\nexports.doesSupportHiddenLayers = doesSupportHiddenLayers;\nexports.enable = enable;\nexports.getActiveDocID = getActiveDocID;\nexports.getActiveDocument = getActiveDocument;\nexports.getAllLayerInfo = getAllLayerInfo;\nexports.getBoundsForDoc = getBoundsForDoc;\nexports.getDocumentByID = getDocumentByID;\nexports.getDocumentPathByID = getDocumentPathByID;\nexports.getDocuments = getDocuments;\nexports.getEnabledSetting = getEnabledSetting;\nexports.getFirstHistory = getFirstHistory;\nexports.getFirstHistorySource = getFirstHistorySource;\nexports.getGenTechInfo = getGenTechInfo;\nexports.getLayerBounds = getLayerBounds;\nexports.getLayersInfo = getLayersInfo;\nexports.getPersistedData = getPersistedData;\nexports.getPhotoshopFolder = getPhotoshopFolder;\nexports.getSidecarEnablement = getSidecarEnablement;\nexports.getSidecarFolder = getSidecarFolder;\nexports.getTempFolder = getTempFolder;\nexports.getXMPData = getXMPData;\nexports.hasHiddenLayers = hasHiddenLayers;\nexports.hideNonActiveLayers = hideNonActiveLayers;\nexports.ignoreValidatedDataTypes = void 0;\nexports.isDocumentSupported = isDocumentSupported;\nexports.isExistingDocumentDefaultOn = isExistingDocumentDefaultOn;\nexports.isLayerWithSmartObject = isLayerWithSmartObject;\nexports.isNewDocumentDefaultOn = isNewDocumentDefaultOn;\nexports.isPhotoshopFile = isPhotoshopFile;\nexports.isSavedDocument = isSavedDocument;\nexports.isSmartObjectLinked = isSmartObjectLinked;\nexports.isUntouchedSinceNewDoc = isUntouchedSinceNewDoc;\nexports.listenToDisabledState = listenToDisabledState;\nexports.listenToEnabledState = listenToEnabledState;\nexports.openPreferences = openPreferences;\nexports.setHasSidecarData = setHasSidecarData;\nexports.showDismissableAlert = showDismissableAlert;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\nvar _fastXmlParser = _interopRequireDefault(__webpack_require__(5739));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(2579));\n\nvar _find = _interopRequireDefault(__webpack_require__(5281));\n\nvar _parseISO = _interopRequireDefault(__webpack_require__(5463));\n\n__webpack_require__(1375);\n\n__webpack_require__(1307);\n\nvar descriptors = _interopRequireWildcard(__webpack_require__(7548));\n\nvar _common = __webpack_require__(9172);\n\nvar _FileAdapter = __webpack_require__(4471);\n\n__webpack_require__(1307);\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst fs = __webpack_require__(2048);\n\nconst ps = __webpack_require__(3192);\n\nconst {\n batchPlay\n} = ps.action;\nexports.batchPlay = batchPlay;\nconst CAI_FEATURE_FLAG = \'ContentCredentials\';\n/**\n * batchPlay exceptions are frequently string messages with no context\n */\n\nexports.CAI_FEATURE_FLAG = CAI_FEATURE_FLAG;\n\nasync function batchPlayGuard(command, options) {\n try {\n const ret = await ps.action.batchPlay(command, options);\n return ret;\n } catch (e) {\n const message = (e === null || e === void 0 ? void 0 : e.message) || \'batchPlay Failure\';\n throw new _common.AppError(message, {\n original_error: (0, _common.serializeError)(e),\n batch_message: e === null || e === void 0 ? void 0 : e.message,\n command,\n options\n });\n }\n}\n\nvar EventType;\nexports.EventType = EventType;\n\n(function (EventType) {\n EventType["UserIdle"] = "userIdle";\n EventType["ExternalHistoryStateChanged"] = "ExternalHistoryStateChanged";\n EventType["AdobeScriptAutomation"] = "AdobeScriptAutomation Scripts";\n EventType["ModalStateChanged"] = "modalStateChanged";\n EventType["ToolModalStateChanged"] = "toolModalStateChanged";\n /**\n * The document is new in PS as in it was just made via open / import.\n * This does not inherently mean it is a new file / unsaved document.\n */\n\n EventType["NewDocument"] = "newDocument";\n EventType["Close"] = "close";\n EventType["Fill"] = "fill";\n EventType["HistoryStateChanged"] = "historyStateChanged";\n EventType["HomeScreenVisibilityChanged"] = "homeScreenVisibilityChanged";\n EventType["UserPreference"] = "userPreference";\n EventType["ImportVideoToLayers"] = "importVideoToLayers";\n EventType["Make"] = "make";\n EventType["Open"] = "open";\n EventType["Duplicate"] = "duplicate";\n EventType["Paste"] = "paste";\n EventType["PlaceEvent"] = "placeEvent";\n EventType["PlacedLayerEditContents"] = "placedLayerEditContents";\n EventType["PluginRun"] = "pluginRun";\n EventType["Select"] = "select";\n EventType["Set"] = "set";\n EventType["SkyReplacement"] = "skyReplacement";\n EventType["PlacedLayerReplaceContents"] = "placedLayerReplaceContents";\n EventType["PlacedLayerRelinkToLibraries"] = "placedLayerRelinkToLibraries";\n EventType["PlacedLayerRelinkToFile"] = "placedLayerRelinkToFile";\n EventType["PlacedLayerUpdateModified"] = "placedLayerUpdateModified";\n EventType["PlacedLayerUpdateAllModified"] = "placedLayerUpdateAllModified";\n EventType["UpdateLinkedSmartObject"] = "updateLinkedSmartObject";\n EventType["ContentCredentialsChanged"] = "contentCredentialsChanged";\n EventType["Save"] = "save";\n EventType["NeuralFilters"] = "neuralGalleryFilters";\n EventType["SelectSyntheticFillVariation"] = "selectGeneratedVariation";\n EventType["SyntheticFill"] = "syntheticFill";\n EventType["DeleteGeneratedVariation"] = "deleteGeneratedVariation";\n /**\n * It\'s possible that the events fire like this\n * ExternalHistoryStateChanged\n * historyStateChanged (custom event)\n * historyStateChanged (desired event)\n * In this case we would ignore the desired event and all others until a user does something\n * that triggers a non-history-state change like a newDocument\n * To get around this, after we verify an event is supposed to be ignored, we fire a dummy event\n * This ensures that lastEvt will not eternally stick to ExternalHistoryStateChanged\n */\n\n EventType["CAIClear"] = "cai.clear";\n})(EventType || (exports.EventType = EventType = {}));\n\nvar EventDataType;\nexports.EventDataType = EventDataType;\n\n(function (EventDataType) {\n EventDataType["Bitmap"] = "Bitmap";\n EventDataType["CMYKColor"] = "CMYK Color";\n EventDataType["Duotone"] = "Duotone";\n EventDataType["DuplicateLayer"] = "Duplicate Layer";\n EventDataType["DuplicateImage"] = "Duplicate Image";\n EventDataType["Grayscale"] = "Grayscale";\n EventDataType["Open"] = "Open";\n EventDataType["ScriptingSupportPlugin"] = "ScriptingSupport";\n EventDataType["ImportLayer"] = "Import Layer";\n EventDataType["ImportLayers"] = "Import Layers";\n EventDataType["IndexedColor"] = "Indexed Color";\n EventDataType["LabColor"] = "Lab Color";\n EventDataType["Multichannel"] = "Multichannel";\n EventDataType["ReplaceContents"] = "Replace Contents";\n EventDataType["RelinkToLibraryGraphic"] = "Relink to Library Graphic";\n EventDataType["RelinkToFile"] = "Relink to File";\n EventDataType["New"] = "New";\n EventDataType["DragLayer"] = "Drag Layer";\n EventDataType["DragLayers"] = "Drag Layers";\n EventDataType["DragGroup"] = "Drag Group";\n EventDataType["DragGroups"] = "Drag Groups";\n EventDataType["RGBColor"] = "RGB Color";\n EventDataType["UpdateModifiedSmartObject"] = "Update Modified Smart Object";\n EventDataType["UpdatedAllModifiedSmartObjects"] = "Update All Modified Smart Objects";\n EventDataType["UpdateSmartObjects"] = "Update Smart Objects";\n EventDataType["PlaceEmbeddedSmartObject"] = "Place Embedded Smart Object";\n EventDataType["PlacedLinkedSmartObject"] = "Place Linked Smart Object";\n EventDataType["Fill"] = "Fill";\n EventDataType["GenerativeExpand"] = "Generative Expand";\n EventDataType["GenerativeFill"] = "Generative Fill";\n EventDataType["ContentAwareCrop"] = "Content-Aware Crop";\n EventDataType["GenerateImage"] = "Generate Image";\n EventDataType["GenerateBackground"] = "Generate Background";\n})(EventDataType || (exports.EventDataType = EventDataType = {}));\n\nconst ignoreValidatedDataTypes = [EventDataType.Open, EventDataType.DuplicateLayer];\nexports.ignoreValidatedDataTypes = ignoreValidatedDataTypes;\nconst EventsToCheckAssets = [EventType.Fill, EventType.ImportVideoToLayers, EventType.Make, EventType.Open, EventType.Duplicate, EventType.Paste, EventType.PlaceEvent, EventType.Set, EventType.SkyReplacement, EventType.PlacedLayerRelinkToFile, EventType.PlacedLayerRelinkToLibraries, EventType.PlacedLayerReplaceContents, EventType.NeuralFilters, EventType.SyntheticFill, EventType.SelectSyntheticFillVariation, EventType.DeleteGeneratedVariation];\nexports.EventsToCheckAssets = EventsToCheckAssets;\nconst eventNamesForListener = [EventType.PlacedLayerEditContents, EventType.ExternalHistoryStateChanged, EventType.AdobeScriptAutomation, EventType.NewDocument, EventType.Close, EventType.HistoryStateChanged, EventType.ImportVideoToLayers, EventType.Make, EventType.Open, EventType.Duplicate, EventType.Paste, EventType.PlaceEvent, EventType.PluginRun, EventType.Select, EventType.Set, EventType.SkyReplacement, EventType.Fill, EventType.PlacedLayerRelinkToFile, EventType.PlacedLayerRelinkToLibraries, EventType.PlacedLayerReplaceContents, EventType.PlacedLayerUpdateAllModified, EventType.PlacedLayerUpdateModified, EventType.UpdateLinkedSmartObject, EventType.UserPreference, EventType.HomeScreenVisibilityChanged, EventType.ModalStateChanged, EventType.ToolModalStateChanged, EventType.Save, EventType.NeuralFilters, EventType.SyntheticFill, EventType.SelectSyntheticFillVariation, EventType.DeleteGeneratedVariation];\nconst EventsForDocumentChanges = [EventType.Close, EventType.NewDocument, EventType.Select, EventType.Open, EventType.HomeScreenVisibilityChanged];\nexports.EventsForDocumentChanges = EventsForDocumentChanges;\nconst EventsForCrossDocChanges = [EventType.PlacedLayerEditContents, EventType.UpdateLinkedSmartObject, EventType.Duplicate];\nexports.EventsForCrossDocChanges = EventsForCrossDocChanges;\nconst EventsForModalChanges = [EventType.ModalStateChanged, EventType.ToolModalStateChanged];\n/**\n * Flag to prevent us from removing event listeners that don\'t exist\n * removeNotificationListener throws if you try to do that\n */\n\nexports.EventsForModalChanges = EventsForModalChanges;\nlet listening = false;\nlet idleListening = false;\nconst Z_STRING_NEW = \'$$$/History/States/New=New\';\nconst Z_STRING_OPEN = \'$$$/History/States/Open=Open\';\nconst Z_STRING_OPEN_AS_SMART_OBJECT = \'$$$/History/Operations/OpenAsSmartObject=Open As Smart Object\';\nconst Z_STRING_DUPLICATE_LAYER = \'$$$/History/Operations/DuplicateLayer=Duplicate Layer\';\nconst Z_STRING_DUPLICATE_IMAGE = \'$$$/History/Operations/DuplicateImage=Duplicate Image\';\n\nfunction clearAllEvents(handler) {\n if (!listening) {\n return;\n }\n\n ps.action.removeNotificationListener( // [{ event: \'$All\', universal: true }], // instead for debugging all events\n eventNamesForListener.map(name => ({\n event: name,\n universal: true\n })), handler);\n}\n\nfunction listenToEnabledState(handler) {\n // Stop listening to document events specifically\n clearAllEvents(handler); // Listen to all events for plugin to behave\n\n ps.action.addNotificationListener( // [{ event: \'$All\', universal: true }], // instead for debugging all events\n eventNamesForListener.map(name => ({\n event: name,\n universal: true\n })), handler);\n listening = true;\n ps.core.setUserIdleTime(1);\n ps.core.addNotificationListener(\'UI\', [EventType.UserIdle], handler);\n idleListening = true;\n}\n\nfunction listenToDisabledState(handler) {\n // Remove all events\n clearAllEvents(handler); // Listen specifically to document events\n\n ps.action.addNotificationListener( // [{ event: \'$All\', universal: true }], // instead for debugging all events\n [...EventsForDocumentChanges, ...EventsForCrossDocChanges, ...EventsForModalChanges, EventType.Save].map(name => ({\n event: name,\n universal: true\n })), handler);\n listening = true;\n\n if (idleListening) {\n ps.core.removeNotificationListener(\'UI\', [\'userIdle\'], handler);\n idleListening = false;\n }\n}\n\nfunction showDismissableAlert(documentID, uiMessage) {\n (__webpack_require__(3192).core.sendMessage)(undefined, \'cai\', \'error\', {\n documentID,\n uiMessage\n });\n}\n\nfunction isSavedDocument(doc) {\n // A PSD/PSB must be saved if it has a path\n if (doc.path) {\n return true;\n }\n /**\n * A cloud doc can\'t exist unless it was saved\n * Historically there would be no path on a PSDC but that seems to be a new feature\n */\n\n\n if (doc.isCloudDoc) {\n return true;\n }\n\n return false;\n}\n\nfunction getPathFromFileReference(fileReference) {\n if (!fileReference) {\n return \'\';\n }\n\n if (fileReference._kind === \'local\') {\n return fileReference._path;\n }\n\n if (fileReference._kind === \'cloud\') {\n const cloudRef = JSON.parse(fileReference._path);\n\n if (cloudRef.path) {\n return cloudRef.path;\n }\n }\n\n return \'\';\n}\n\nfunction getActiveLayersFromTargetLayers(documentID, targetLayersIDs) {\n if (!targetLayersIDs) {\n return [];\n }\n\n return targetLayersIDs.map(layer => ({\n _id: layer._id,\n _docId: documentID\n }));\n}\n\nfunction convertRawDocument(rawDocument) {\n const {\n documentID,\n fileReference,\n targetLayersIDs,\n title,\n isCloudDoc,\n hasBackgroundLayer,\n modifiedSinceOpen\n } = rawDocument;\n\n if (!documentID) {\n return null;\n }\n\n return {\n _id: documentID,\n title,\n path: getPathFromFileReference(fileReference),\n activeLayers: getActiveLayersFromTargetLayers(documentID, targetLayersIDs),\n isCloudDoc,\n hasBackgroundLayer,\n modifiedSinceOpen\n };\n}\n\nfunction getHistoryStates(workingDocId) {\n /**\n * It\'s possible that PS does something between us caching a document (IDocument) and then looking\n * directly at the PS API to get history states\n * @see https://jira.corp.adobe.com/browse/CAI-3478\n */\n try {\n // Not IDocument as this comes fresh from the 2.0 API\n const doc = ps.app.documents.find(x => x._id === workingDocId);\n\n if (!doc) {\n console.warn(\'Unable to find document\', workingDocId);\n return [];\n }\n\n return doc.historyStates;\n } catch (e) {\n return [];\n }\n}\n/**\n * Let\'s PS know that it should still call the save callback, even if CAI is disabled\n */\n\n\nfunction setHasSidecarData(documentID, hasData) {\n return ps.cai.setHasExternalContentsCredentialsData({\n documentID\n }, hasData);\n}\n\nfunction isDocumentSupported(doc) {\n return ps.cai.getContentsCredentialsSupported({\n documentID: doc._id\n });\n}\n\nfunction isUntouchedSinceNewDoc(doc) {\n var _historyStates;\n\n const historyStates = getHistoryStates(doc._id);\n\n if (!historyStates.length) {\n return false;\n } // There is an issue where sometimes the last state is some kind of undefined exception reported by PS instead of an action\n\n\n const name = (_historyStates = historyStates[historyStates.length - 1]) === null || _historyStates === void 0 ? void 0 : _historyStates.name;\n /**\n * Both New and Open mean the doc has not been touched. Even if user draws and then does Undo to start,\n * the state received would be the last tool used.\n */\n\n const translatedNew = ps.core.translateUIString(Z_STRING_NEW);\n const translatedOpen = ps.core.translateUIString(Z_STRING_OPEN);\n const openAsSmartObject = ps.core.translateUIString(Z_STRING_OPEN_AS_SMART_OBJECT);\n return name === translatedNew || name === translatedOpen || name === openAsSmartObject;\n}\n\nasync function getActiveDocument() {\n const raw = await batchPlayGuard([descriptors.activeDocument], {});\n const [rawDocument] = raw;\n return convertRawDocument(rawDocument);\n}\n\nasync function getActiveDocID(evt) {\n var _evt$data, _activeDocument2;\n\n /**\n * We want to reduce the amount of batchPlay calls, where possible\n * Caching the active document ID overall started to require too many "random" clears\n * So now we don\'t cache, but only set this as needed.\n */\n let activeDocument;\n\n if ((evt === null || evt === void 0 ? void 0 : evt.name) === EventType.Close) {\n var _activeDocument;\n\n activeDocument = await getActiveDocument();\n return ((_activeDocument = activeDocument) === null || _activeDocument === void 0 ? void 0 : _activeDocument._id) || null;\n }\n\n if (evt !== null && evt !== void 0 && (_evt$data = evt.data) !== null && _evt$data !== void 0 && _evt$data.documentID) {\n var _evt$data2;\n\n return evt === null || evt === void 0 ? void 0 : (_evt$data2 = evt.data) === null || _evt$data2 === void 0 ? void 0 : _evt$data2.documentID;\n }\n\n activeDocument = await getActiveDocument();\n return ((_activeDocument2 = activeDocument) === null || _activeDocument2 === void 0 ? void 0 : _activeDocument2._id) || null;\n}\n\nasync function getDocuments() {\n const raw = await batchPlayGuard([descriptors.allDocuments], {});\n const [{\n list\n }] = raw;\n return list.map(convertRawDocument);\n}\n\nfunction isSmartObjectLinked(smartObject) {\n return (smartObject === null || smartObject === void 0 ? void 0 : smartObject.linked) === true;\n}\n\nfunction isLayerWithSmartObject(layer) {\n return !!layer.smartObject;\n}\n\nfunction formatLayer(rawLayer) {\n const isGroup = rawLayer.layerKind === 7;\n const formattedLayer = {\n id: rawLayer.layerID,\n isGroup,\n parentLayerID: rawLayer.parentLayerID,\n name: rawLayer.name\n };\n\n if (rawLayer.smartObject) {\n const {\n smartObject: rawSmartObject\n } = rawLayer;\n let formattedSmartObject = {\n linked: rawSmartObject.linked,\n xmpDocumentID: rawSmartObject.documentID,\n filename: rawSmartObject.fileReference\n };\n\n if (rawSmartObject.linked === true) {\n formattedSmartObject = _objectSpread(_objectSpread({}, formattedSmartObject), {}, {\n linkChanged: rawSmartObject.linkChanged,\n linkMissing: rawSmartObject.linkMissing\n });\n\n if (rawSmartObject.link) {\n formattedSmartObject.link = rawSmartObject.link._kind === \'local\' ? {\n kind: \'local\',\n path: rawSmartObject.link._path\n } : {\n kind: \'cloud\',\n path: rawSmartObject.link.elementReference\n };\n }\n }\n\n formattedLayer.smartObject = formattedSmartObject;\n }\n\n return formattedLayer;\n} // Enum given from Jesper, only change to this copy paste are arrows pointing to Group (7)\n// enum SheetKind\n// {\n// kAnySheet = 0,\n// kPixelSheet,\n// kAdjustmentSheet,\n// kTextSheet, // "Text" is less ambiguous than "type"\n// kVectorSheet, // Shape layer -- non-adjustor content generator with vector mask\n// kSmartObjectSheet,\n// kVideoSheet,\n// kLayerGroupSheet, <--- look this is number 7\n// k3DSheet,\n// kGradientSheet,\n// kPatternSheet,\n// kSolidColorSheet,\n// kBackgroundSheet,\n// kHiddenSectionBounder, // <--- this is 13, aka a </LayerGroup> invisible thing\n// kMaxSheetKind\n// };\n\n\nasync function getAllLayerInfo(doc) {\n const raw = await batchPlayGuard([descriptors.getAllLayerInfo(doc)], {});\n const [{\n list\n }] = raw;\n\n if (!list) {\n console.warn(`No layers found for`, doc._id, raw);\n return [];\n }\n\n return list.filter(layer => layer.layerKind !== 13).map(formatLayer);\n}\n\nasync function getDocumentPathByID(docID) {\n const documents = await getDocuments();\n const document = (0, _find.default)(documents, x => x._id === docID);\n\n if (document) {\n return document.path || null;\n }\n\n return null;\n}\n\nasync function getDocumentByID(docID) {\n const raw = await batchPlayGuard([descriptors.getDocument(docID)], {});\n const [doc] = raw;\n return convertRawDocument(doc);\n}\n\nasync function getLayersInfo(docID, layerIDs) {\n const raw = await batchPlayGuard(descriptors.getLayersInfo(docID, layerIDs), {});\n return raw.map(formatLayer);\n}\n/**\n * Uses batchPlay to get the XMP data for this image, and returns only\n * the information we use.\n *\n * // TODO: See if we can get this in a less expensive way\n */\n\n\nasync function getXMPData(docID) {\n var _get, _data$xmpMMDocumentI, _data$xmpMMInstanceI;\n\n const {\n XMP_METADATA_KEY,\n getXmpMetadata\n } = descriptors;\n const [info] = await batchPlayGuard([getXmpMetadata(+docID)], {});\n const documents = await getDocuments();\n\n if (!info || !info[XMP_METADATA_KEY]) {\n const docIDs = documents.map(d => d._id); // This can happen when opening a PDF (for interstitial), when creating a temporary document, etc\n\n if (docIDs.includes(docID)) {\n console.warn(`No info found for ${docID}, but it exists in app.documents`);\n return null;\n }\n\n return {\n createDate: new Date(),\n modifyDate: new Date(),\n documentID: null,\n instanceID: null,\n history: []\n };\n }\n\n const parsed = _fastXmlParser.default.parse(info[XMP_METADATA_KEY]);\n\n const data = (0, _get2.default)(parsed, [\'x:xmpmeta\', \'rdf:RDF\', \'rdf:Description\']);\n let origHistory = (_get = (0, _get2.default)(parsed, [\'x:xmpmeta\', \'rdf:RDF\', \'rdf:Description\', \'xmpMM:History\', \'rdf:Seq\', \'rdf:li\'])) !== null && _get !== void 0 ? _get : [];\n /**\n * On first save, there is one element so parser returns as an object\n * Once there are more saves, it will always return an array of objects\n */\n\n if (!Array.isArray(origHistory)) {\n origHistory = [origHistory];\n }\n\n const history = origHistory.map(h => ({\n action: h.action,\n instanceID: h.instanceID,\n softwareAgent: h.softwareAgent,\n when: (0, _parseISO.default)(h.when)\n }));\n const metadata = {\n createDate: (0, _parseISO.default)(data[\'xmp:CreateDate\']),\n modifyDate: (0, _parseISO.default)(data[\'xmp:ModifyDate\']),\n documentID: ((_data$xmpMMDocumentI = data[\'xmpMM:DocumentID\']) === null || _data$xmpMMDocumentI === void 0 ? void 0 : _data$xmpMMDocumentI.toString()) || null,\n instanceID: ((_data$xmpMMInstanceI = data[\'xmpMM:InstanceID\']) === null || _data$xmpMMInstanceI === void 0 ? void 0 : _data$xmpMMInstanceI.toString()) || null,\n history\n };\n return metadata;\n}\n\nasync function getBoundsForDoc(doc) {\n const raw = await batchPlayGuard([descriptors.getBoundsForDoc(doc)], {});\n const [{\n list\n }] = raw;\n return list;\n}\n\nfunction isPhotoshopFile(isCloudDoc, path) {\n if (isCloudDoc) {\n return true;\n } // Unsaved document so count as PS\n\n\n if (!path) {\n return true;\n }\n\n if (path !== null && path !== void 0 && path.toLowerCase().match(/\\.ps(b|d)$/)) {\n return true;\n }\n\n return false;\n}\n\nfunction doesSupportHiddenLayers(path) {\n return path !== null && path !== void 0 && path.toLowerCase().match(/\\.ti(ff?)$|\\.ps(b|dc?)$/) ? true : false;\n}\n\nfunction getXMPSidecarFilename(xmpDocumentId) {\n const sanitizedName = _FileAdapter.FileAdapter.sanitizeFilename(xmpDocumentId);\n\n return `${sanitizedName}-enabled.json`;\n}\n\nfunction getTempSidecarFilename(docId) {\n return `doc-${docId}-enabled.json`;\n}\n\nasync function getSidecarEnablementFilePath(workingDocumentId) {\n const path = await _FileAdapter.FileAdapter.getPersistedDir();\n const metadata = await getXMPData(workingDocumentId);\n /**\n * Some files can be opened without an XMP DocumentID.\n * They will always get one when PS saves a document.\n * Therefore we can base this setting on the temporary ID given to the document in session.\n */\n\n const fileName = metadata !== null && metadata !== void 0 && metadata.documentID ? getXMPSidecarFilename(metadata.documentID) : getTempSidecarFilename(workingDocumentId);\n return [path, fileName].join(_FileAdapter.FileAdapter.getPathSeparation());\n}\n\nasync function getSidecarEnablement(docID) {\n const filePath = await getSidecarEnablementFilePath(docID);\n const contents = await fs.readFile(`file:${filePath}`);\n const decoded = Buffer.from(contents).toString(\'utf-8\');\n return JSON.parse(decoded);\n}\n\nasync function enable(doc, markAsDirty = true) {\n try {\n await ps.cai.setContentsCredentialsEnabled({\n documentID: doc._id,\n enabled: true,\n markAsDirty\n });\n } catch (e) {\n console.warn(\'Unable to enable\', doc._id, e.message);\n throw e;\n }\n}\n\nasync function disable(doc) {\n /**\n * A document can be disabled upon image mode change\n * At this point, we go to disable the UI\n * but no PS CAI calls will work so bail early\n */\n const isSupported = await isDocumentSupported(doc);\n\n if (!isSupported) {\n return;\n }\n\n try {\n await ps.cai.setContentsCredentialsEnabled({\n documentID: doc._id,\n enabled: false\n });\n } catch (e) {\n console.warn(\'Unable to disable\', doc._id);\n throw e;\n }\n}\n\nasync function getDefaultDocSetting() {\n const [raw] = await batchPlayGuard([descriptors.caiPreferences], {});\n return raw.historyLogPreferences.contentCredentialsDocumentOptions._value;\n}\n\nasync function openPreferences() {\n await batchPlayGuard([descriptors.openPreferences], {});\n}\n\nasync function isNewDocumentDefaultOn() {\n const setting = await getDefaultDocSetting();\n return setting === \'all\';\n}\n\nasync function isExistingDocumentDefaultOn() {\n const setting = await getDefaultDocSetting();\n return setting === \'all\' || setting === \'saved\';\n}\n/**\n * Get whether or not this is enabled in persisted setting\n */\n\n\nasync function getEnabledSetting(doc) {\n try {\n return ps.cai.getContentsCredentialsEnabled({\n documentID: doc._id\n });\n } catch (e) {\n _common.ErrorHandler.log(e);\n\n return false;\n }\n}\n\nasync function getPersistedData(documentID) {\n const data = await ps.cai.getContentsCredentialsData({\n documentID\n });\n\n if (!data) {\n return null;\n }\n\n try {\n return JSON.parse(data);\n } catch (e) {\n _common.ErrorHandler.log(e);\n\n return null;\n }\n}\n\nasync function getSidecarFolder() {\n const persistedDir = await _FileAdapter.FileAdapter.getPersistedDir();\n return persistedDir + _FileAdapter.FileAdapter.getPathSeparation();\n}\n\nasync function getPhotoshopFolder(documentID) {\n /**\n * Might ask to change this API to say getWorkingStore folder and then send back a folder as key\n * We don\'t get a "file" location - just the folder location where assets are dropped while working on a doc\n * Nothing to change before MAX\n */\n const {\n file: tempFolder\n } = await ps.cai.getWorkingStore({\n documentID\n });\n return tempFolder;\n}\n\nasync function getTempFolder(activeDocument) {\n try {\n if (!isPhotoshopFile(activeDocument.isCloudDoc, activeDocument.path)) {\n const sideFolder = await _FileAdapter.FileAdapter.getTemporaryFolder(activeDocument._id);\n return sideFolder;\n }\n\n const psFolder = await getPhotoshopFolder(activeDocument._id);\n return psFolder;\n } catch (e) {\n console.warn(\'Failed to get folder for\', activeDocument._id);\n\n _common.ErrorHandler.log(e);\n }\n\n return \'\';\n}\n\nasync function hideNonActiveLayers(doc) {\n const layersWithBounds = await getBoundsForDoc(doc);\n const layersToCalculate = [];\n const layersToHide = [];\n const selectedLayers = doc.activeLayers.map(l => l._id);\n layersWithBounds.forEach(layer => {\n const docLayer = {\n _docId: doc._id,\n _id: layer.layerID\n };\n\n if (selectedLayers.includes(layer.layerID)) {\n layersToCalculate.push(layer);\n } else {\n layersToHide.push(descriptors.getHideLayer(doc, docLayer));\n }\n }); // @ts-ignore\n\n return batchPlayGuard(layersToHide, {});\n}\n\nasync function hasHiddenLayers(doc) {\n const layersWithBounds = await getBoundsForDoc(doc);\n const selectedLayers = doc.activeLayers.map(l => l._id);\n return (layersWithBounds === null || layersWithBounds === void 0 ? void 0 : layersWithBounds.length) !== (selectedLayers === null || selectedLayers === void 0 ? void 0 : selectedLayers.length);\n}\n\nfunction getFirstHistory(doc) {\n const historyStates = getHistoryStates(doc._id);\n const firstHistory = historyStates.find(state => {\n /**\n * It\'s possible that PS does something between getting state and reading this line\n * even though it looks syncrhonous in our code. It can throw an exception if one of the history states\n * disappeared (and turned to null) so clearly it wouldn\'t be a state we care about\n * @see https://jira.corp.adobe.com/browse/CAI-3478\n */\n try {\n return state.snapshot === false;\n } catch (e) {\n return false;\n }\n });\n\n if (!firstHistory) {\n console.warn(\'Unable to get first history\', doc._id);\n return \'Open\';\n }\n\n const {\n name\n } = firstHistory;\n return name;\n}\n/**\n * Use first history to determine if it doc is new or from an open\n */\n\n\nfunction getFirstHistorySource(doc) {\n const name = getFirstHistory(doc);\n const translatedNew = ps.core.translateUIString(Z_STRING_NEW);\n const translatedOpen = ps.core.translateUIString(Z_STRING_OPEN);\n const openAsSmartObject = ps.core.translateUIString(Z_STRING_OPEN_AS_SMART_OBJECT);\n const duplicateLayer = ps.core.translateUIString(Z_STRING_DUPLICATE_LAYER);\n const duplicateImage = ps.core.translateUIString(Z_STRING_DUPLICATE_IMAGE); // duplicateLayer is only the first history if it is from Duplicate Layer -> New Doc\n // duplicate image always creates a new file\n\n if (name === translatedNew || name === duplicateLayer || name === duplicateImage) {\n return \'New\';\n }\n\n if (name === translatedOpen || name === openAsSmartObject) {\n return \'Open\';\n }\n /**\n * In the extreme case where someone deletes the New/Open history and refreshes plugin\n * Pretend this isn\'t a new document (even if it is), to ensure an asset is added\n */\n\n\n return \'Open\';\n}\n\nasync function getLayerBounds(docId, layerId) {\n const command = [{\n _obj: \'get\',\n _target: [{\n _property: \'bounds\'\n }, {\n _ref: \'layer\',\n _id: layerId\n }, {\n _ref: \'document\',\n _id: docId\n }]\n }];\n const [data] = await batchPlayGuard(command, {});\n return data;\n}\n\nasync function getGenTechInfo(docId) {\n return ps.cai.getGenTechInfo({\n documentID: docId\n });\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/batch-play-actions.ts?')},9113:(__unused_webpack_module,exports)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.benignActions = void 0;\n// ADOBE CONFIDENTIAL\n// Copyright 2022 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\n// @todo: Make this come from... somewhere else?\nconst benignActions = new Set(['Patch Tool', 'Stamp Visible', 'New Work Path', 'Delete Color Sampler', 'Delete Anchor Point', 'Delete Selection', 'Rotate View Tool', 'Path Selection Tool', 'New Artboard From Layers', 'New Anchor Point', '32-bit Preview Options', 'Nudge Outline', 'Delete Artboard', 'Smooth', 'New Artboard', 'Gray Point Tool', 'Rasterize Layer Style', 'Rasterize Type', 'New Color Sampler', 'Add Count Group', 'Add Count Object', 'Align Slices', 'Apply Layer Comp', 'AutoUserUsage: levels', 'Black Point Tool', 'Bring Slice Forward', 'Bring Slice to Front', 'Bring Slices to Front', 'CAFWorkspace Hand Tool', 'CAFWorkspace Zoom In Tool', 'CAFWorkspace Zoom Out Tool', 'Clear All Guides', 'Clear All Layer Comp Warnings', 'Clear Canvas Guides', 'Clear Count', 'Clear Effects', 'Clear Layer Comp Warning', 'Clear Selected Artboard Guides', 'Clear Slices', 'Collapse All Groups', 'Combine Slices', 'Contract', 'Convert Smart Object to Linked', 'Copy Link', 'Copy Slice', 'Copy Slices', 'Create Group from Layers', 'Create Group from Linked', 'Custom Measurement Scale', 'Delete all Notes', 'Delete Count Group', 'Delete Count Object', 'Delete Filter Mask', 'Delete Guide', 'Delete Hidden Layers', 'Delete Note', 'Delete Slice', 'Delete Slices', 'Deselect', 'Direct Selection Tool', 'Disable Layer Link', 'Disable Layer Mask', 'Disable Vector Mask', 'Displayed Document Type categories', 'Divide Slices', 'Drag Color Sampler', 'Drag Control Point', 'Drag Count Object', 'Drag Guide', 'Drag Selection', 'Drag Slice', 'Drag Slices', 'Duplicate Layer Comp', 'Duplicate State', 'Duplicate', 'Edit Comment', 'Edit Note', 'Elliptical Marquee', 'Embed All Linked Smart Objects', 'Embed Linked Smart Object', 'Enable Layer Link', 'Enter Quick Mask', 'Exit Quick Mask', 'Expand', 'Eyedropper Tool', 'Feather', 'File Info', 'Flatten Image', 'Focus Area', 'Group Layers', 'Hand Tool', 'Lasso', 'Layer Comp Options', 'Layer Mask Feather Change', 'Layer Via Copy', 'Link Layers', 'Link Mask', 'Link Vector Mask', 'Load Selection', 'Lock All Layers in Artboard', 'Lock All Layers in Group', 'Lock Layer', 'Lock Layers', 'Magic Wand', 'Magnetic Lasso', 'Magnetic Pen', 'Make Layer', 'Merge Down', 'Merge Group', 'Merge Layers', 'Merge Spot Channel', 'Merge Visible', 'Move Note', 'Move Selection', 'Name Change', 'New Group', 'New Guide Layout', 'New Guide', 'New Layer', 'New Note', 'New Slice', 'New Slice From Layer', 'New Slices From Layers', 'Note Author', 'Note Color', 'Note Paper', 'Object Selection', 'Open via OLE', 'Paste Outside', 'Polygonal Lasso', 'Promote to User Slice', 'Quick Selection', 'Rasterize All Layers', 'Rasterize Layer', 'Rasterize Linked Layers', 'Rasterize Smart Object', 'Rectangular Marquee', 'Redo', 'Reselect', 'Resize Slices', 'Restore Last Document State', 'Revert', 'Ruler Tool', 'Save Selection', 'Select Canvas', 'Select Inverse', 'Select Linked Layers', 'Select Subject', 'Selection Change', 'Send Slice Backward', 'Send Slice to Back', 'Send Slices to Back', 'Set Count Draw Color', 'Set Count Font Size', 'Set Count Group Name', 'Set Count Group Visibility', 'Set Count Group', 'Set Count Marker Size', 'Set Default Measurement Scale', 'Set Operation', 'Set Smart Object Layer Comp', 'Set Work Area End', 'Similar', 'Single Column Marquee', 'Single Row Marquee', 'System Metrics', 'temp', 'Trap', 'Unchanged', 'Undo', 'Ungroup Artboards', 'Ungroup Layers', 'Unlink Layers', 'Unlink Mask', 'Unlink Vector Mask', 'Unlock Group', 'Unlock Layer', 'Unlock Layers', 'Update From File', 'Vertical Orientation', 'Zoom In Tool', 'Zoom Out Tool', 'Zoom Tool']);\nexports.benignActions = benignActions;\n\n//# sourceURL=webpack://@cai/panel/./src/utils/benign-actions.ts?")},7548:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.uxpExtensions = exports.openPreferences = exports.getXmpMetadata = exports.getLayersInfo = exports.getHideLayer = exports.getDocument = exports.getBoundsForDoc = exports.getAllLayerInfo = exports.enablePreference = exports.cepExtensions = exports.caiPreferences = exports.allDocuments = exports.activeHistoryState = exports.activeDocument = exports.XMP_METADATA_KEY = void 0;\n\n__webpack_require__(1307);\n\n// ADOBE CONFIDENTIAL\n// Copyright 2022 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\nconst XMP_METADATA_KEY = 'XMPMetadataAsUTF8';\nexports.XMP_METADATA_KEY = XMP_METADATA_KEY;\nconst DOCUMENT_PROPERTIES = ['documentID', 'title', 'fileReference', 'targetLayersIDs', 'isCloudDoc', 'hasBackgroundLayer', 'modifiedSinceOpen'];\nconst LAYER_PROPERTIES = ['name', 'layerKind', 'layerID', 'parentLayerID', 'smartObject'];\nconst caiPreferences = {\n _obj: 'get',\n _target: [{\n _property: 'historyLogPreferences',\n _ref: 'property'\n }, {\n _enum: 'ordinal',\n _ref: 'application',\n _value: 'targetEnum'\n }]\n};\nexports.caiPreferences = caiPreferences;\nconst openPreferences = {\n _obj: 'set',\n _options: {\n dialogOptions: 'display'\n },\n _target: [{\n _ref: 'property',\n _property: 'historyLogPreferences'\n }, {\n _ref: 'application'\n }],\n to: {}\n};\nexports.openPreferences = openPreferences;\nconst enablePreference = {\n _obj: 'set',\n _target: {\n _ref: [{\n _ref: 'property',\n _property: 'historyLogPreferences'\n }, {\n _ref: 'application',\n _enum: 'ordinal',\n _value: 'targetEnum'\n }]\n },\n to: {\n contentCredentialsEnabled: true\n }\n};\nexports.enablePreference = enablePreference;\nconst allDocuments = {\n _obj: 'multiGet',\n _target: {\n _ref: 'application'\n },\n extendedReference: [DOCUMENT_PROPERTIES, {\n _obj: 'document',\n index: 1,\n count: -1\n }]\n};\nexports.allDocuments = allDocuments;\nconst activeDocument = {\n _obj: 'multiGet',\n _target: {\n _ref: 'document',\n _enum: 'ordinal',\n _value: 'targetEnum'\n },\n extendedReference: [DOCUMENT_PROPERTIES]\n};\nexports.activeDocument = activeDocument;\nconst cepExtensions = {\n _obj: 'get',\n _target: {\n _ref: [{\n _property: 'cepExtensions',\n _ref: 'property'\n }, {\n _ref: 'application',\n _enum: 'ordinal',\n _value: 'targetEnum'\n }]\n }\n};\nexports.cepExtensions = cepExtensions;\n\nconst getBoundsForDoc = doc => ({\n name: 'get',\n descriptor: {\n options: {\n failOnMissingElement: false\n },\n _multiGetRef: [{\n _propertyList: ['layerID', 'bounds']\n }, {\n _range: 'layer',\n _index: 0,\n _count: -1\n }, {\n _ref: 'document',\n _id: doc._id\n }]\n },\n options: {\n useMultiGet: true\n }\n});\n\nexports.getBoundsForDoc = getBoundsForDoc;\n\nconst getDocument = id => ({\n _obj: 'multiGet',\n _target: {\n _ref: 'document',\n _id: id\n },\n extendedReference: [DOCUMENT_PROPERTIES]\n});\n\nexports.getDocument = getDocument;\n\nconst getHideLayer = (doc, layer) => ({\n _obj: 'hide',\n _target: {\n _ref: [{\n _ref: 'layer',\n _id: layer._id\n }, {\n _ref: 'document',\n _id: doc._id\n }]\n }\n});\n\nexports.getHideLayer = getHideLayer;\n\nconst getAllLayerInfo = doc => {\n const index = doc.hasBackgroundLayer ? 0 : 1;\n return {\n _obj: 'multiGet',\n _target: {\n _ref: [{\n _ref: 'document',\n _id: doc._id\n }]\n },\n extendedReference: [LAYER_PROPERTIES, {\n _obj: 'layer',\n index,\n count: -1\n }]\n };\n};\n\nexports.getAllLayerInfo = getAllLayerInfo;\nconst uxpExtensions = {\n _obj: 'get',\n _target: {\n _ref: [{\n _property: 'uxpExtensions',\n _ref: 'property'\n }, {\n _ref: 'application',\n _enum: 'ordinal',\n _value: 'targetEnum'\n }]\n }\n};\nexports.uxpExtensions = uxpExtensions;\n\nconst getLayersInfo = (docID, layerIDs) => layerIDs.map(id => ({\n _obj: 'multiGet',\n _target: [{\n _ref: 'layer',\n _id: id\n }, {\n _ref: 'document',\n _id: docID\n }],\n extendedReference: [LAYER_PROPERTIES]\n}));\n\nexports.getLayersInfo = getLayersInfo;\nconst activeHistoryState = {\n _obj: 'get',\n _target: {\n _ref: [{\n _ref: 'historyState',\n _enum: 'ordinal',\n _value: 'targetEnum'\n }]\n }\n};\nexports.activeHistoryState = activeHistoryState;\n\nconst getXmpMetadata = docID => ({\n _obj: 'get',\n _target: {\n _ref: [{\n _property: XMP_METADATA_KEY\n }, {\n _ref: 'document',\n _id: docID\n }]\n }\n});\n\nexports.getXmpMetadata = getXmpMetadata;\n\n//# sourceURL=webpack://@cai/panel/./src/utils/descriptors.ts?")},9762:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getAssetInstructions = getAssetInstructions;\nexports.isDuplicatedLayerToAnotherDoc = isDuplicatedLayerToAnotherDoc;\nexports.isDuplicatedLayerToNewDoc = isDuplicatedLayerToNewDoc;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\nvar _fp = __webpack_require__(193);\n\nvar _fastDeepEqual = _interopRequireDefault(__webpack_require__(9378));\n\nvar _types = __webpack_require__(1307);\n\nvar _common = __webpack_require__(9172);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\n__webpack_require__(7096);\n\nvar _media = __webpack_require__(4058);\n\nvar _localization = __webpack_require__(60);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst deepUniq = (0, _fp.uniqWith)(_fastDeepEqual.default);\n\nconst ps = __webpack_require__(3192);\n\nfunction isVideoImport(evt, reverseHistoryMap) {\n var _evt$data;\n\n return !!(evt.name === _batchPlayActions.EventType.HistoryStateChanged && ((_evt$data = evt.data) === null || _evt$data === void 0 ? void 0 : _evt$data.name) === 'Open' && reverseHistoryMap.importVideoToLayers);\n}\n\nfunction isPopulatedSpl(splBounds) {\n return splBounds.top !== null;\n}\n\nfunction isDraggedLayers(evt) {\n return [_batchPlayActions.EventDataType.DragLayer, _batchPlayActions.EventDataType.DragLayers, _batchPlayActions.EventDataType.DragGroup, _batchPlayActions.EventDataType.DragGroups].includes(evt === null || evt === void 0 ? void 0 : evt.data.name);\n}\n\nfunction isASmartObject(evt, relatedActionName) {\n const smartObjectActionsByRelatedName = [_batchPlayActions.EventDataType.PlaceEmbeddedSmartObject, _batchPlayActions.EventDataType.PlacedLinkedSmartObject];\n const smartObjectActions = [_batchPlayActions.EventType.PlacedLayerReplaceContents, _batchPlayActions.EventType.PlacedLayerRelinkToLibraries, _batchPlayActions.EventType.PlacedLayerRelinkToFile];\n\n if (smartObjectActions.includes(evt.name)) {\n return true;\n }\n\n const isPlaceEvent = evt.name === _batchPlayActions.EventType.PlaceEvent;\n const isSmartObject = isPlaceEvent && relatedActionName ? smartObjectActionsByRelatedName.includes(relatedActionName) : false;\n return isSmartObject;\n}\n\nasync function calculateImportLayerImageOptions(doc) {\n const cloneDoc = await (0, _media.copyDocumentHideInactiveLayers)(doc);\n const layersWithBounds = await (0, _batchPlayActions.getBoundsForDoc)(doc);\n let splBounds = {\n left: null,\n top: null,\n width: null,\n height: null\n };\n let firstCalc = true;\n cloneDoc.activeLayers.forEach(activeLayer => {\n const currentBounds = layersWithBounds.find(layerWithBounds => layerWithBounds.layerID === activeLayer._id);\n\n if (!currentBounds) {\n return;\n }\n\n const {\n left,\n top,\n width,\n height\n } = (0, _media.splParamsFromBounds)(currentBounds.bounds);\n /**\n * Use this to ensure first setting is used\n * Otherwise a default of 0 would always hit, even if true left minimum is something like 100\n * Essentially make sure to only set 0 if one of the bounds is truly 0\n */\n\n if (firstCalc) {\n firstCalc = false;\n splBounds = {\n left,\n top,\n width,\n height\n };\n }\n\n if (!isPopulatedSpl(splBounds)) {\n return;\n }\n\n splBounds.left = Math.min(splBounds.left, left);\n splBounds.top = Math.min(splBounds.top, top);\n splBounds.width = Math.max(splBounds.width, width);\n splBounds.height = Math.max(splBounds.height, height);\n });\n const option = {\n doc: cloneDoc,\n layer: null\n };\n\n if (isPopulatedSpl(splBounds)) {\n option.splBounds = splBounds;\n }\n\n return {\n imageOptions: [option],\n cloneDoc\n };\n}\n\nfunction isPattern(evt, relatedActionName) {\n var _evt$data$using, _evt$data$using$type, _evt$data$using2, _evt$data$to, _evt$data$using3, _evt$data$using3$type, _evt$data$using4, _evt$data$using5, _evt$data$using5$stro, _evt$data$to2, _evt$data$to2$fillCon;\n\n const isNewPattern = evt.name === _batchPlayActions.EventType.Make && typeof ((_evt$data$using = evt.data.using) === null || _evt$data$using === void 0 ? void 0 : (_evt$data$using$type = _evt$data$using.type) === null || _evt$data$using$type === void 0 ? void 0 : _evt$data$using$type.pattern) === 'object' && // using a pattern can be part of shape creation so don't conflate the two\n typeof ((_evt$data$using2 = evt.data.using) === null || _evt$data$using2 === void 0 ? void 0 : _evt$data$using2.shape) === 'undefined';\n const isModifiedPatternFill = evt.name === _batchPlayActions.EventType.Set && typeof ((_evt$data$to = evt.data.to) === null || _evt$data$to === void 0 ? void 0 : _evt$data$to.pattern) === 'object';\n const isPatternFromFillMenu = relatedActionName === _batchPlayActions.EventDataType.Fill && evt.name === _batchPlayActions.EventType.Fill && evt.data.pattern;\n const isPatternFill = evt.name === _batchPlayActions.EventType.Make && typeof ((_evt$data$using3 = evt.data.using) === null || _evt$data$using3 === void 0 ? void 0 : (_evt$data$using3$type = _evt$data$using3.type) === null || _evt$data$using3$type === void 0 ? void 0 : _evt$data$using3$type.pattern) === 'object' && typeof ((_evt$data$using4 = evt.data.using) === null || _evt$data$using4 === void 0 ? void 0 : _evt$data$using4.shape) === 'object' && // pattern object is given regardless of using pattern. strokestyle tells you real answer\n ((_evt$data$using5 = evt.data.using) === null || _evt$data$using5 === void 0 ? void 0 : (_evt$data$using5$stro = _evt$data$using5.strokeStyle) === null || _evt$data$using5$stro === void 0 ? void 0 : _evt$data$using5$stro.fillEnabled) === true;\n const isSetPatternFill = evt.name === _batchPlayActions.EventType.Set && ((_evt$data$to2 = evt.data.to) === null || _evt$data$to2 === void 0 ? void 0 : (_evt$data$to2$fillCon = _evt$data$to2.fillContents) === null || _evt$data$to2$fillCon === void 0 ? void 0 : _evt$data$to2$fillCon._obj) === 'patternLayer';\n return isNewPattern || isModifiedPatternFill || isPatternFromFillMenu || isPatternFill || isSetPatternFill;\n}\n\nfunction parseGroup(groupLayer, allLayers) {\n const layersBelongingToGroup = allLayers.filter(l => l.parentLayerID === groupLayer.id);\n let newAllLayers = [];\n layersBelongingToGroup.forEach(layer => {\n const gid = layer.id;\n\n if (layer.isGroup) {\n newAllLayers = newAllLayers.concat(parseGroup(layer, allLayers));\n } else {\n newAllLayers.push(gid);\n }\n });\n return newAllLayers;\n}\n\nasync function getActiveLayers(activeDocument) {\n const allLayers = await (0, _batchPlayActions.getAllLayerInfo)(activeDocument);\n /**\n * The only time we are aware of when one wants to capture a Layer Group is when\n * the user drags a group from one document to another. When this happens, the\n * document that received the group will automatically select all layers within that group\n * IF multiple are selected. If one drag happens, it does not autoselect. Therefore to handle all cases,\n * we just calculate all the layers in any selected groups.\n */\n\n const activeLayers = activeDocument.activeLayers.reduce((prev, current) => {\n const layer = allLayers.find(l => l.id === current._id);\n\n if (!layer) {\n return prev;\n }\n\n if (!layer.isGroup) {\n return [...prev, current];\n }\n\n const groupIDs = parseGroup(layer, allLayers);\n const ret = groupIDs.map(id => ({\n _docId: activeDocument._id,\n _id: id\n }));\n return [...prev, ...ret];\n }, []); // Guard against case a group is selected along with its layer\n\n return deepUniq(activeLayers);\n}\n\nasync function getFileImageOption(activeDocument, isOpen, targetLayerId) {\n if (!activeDocument) {\n return null;\n }\n\n let splBounds;\n let layer;\n [layer] = activeDocument.activeLayers; // If opening a file, look at all layers instead of selected one\n\n if (isOpen) {\n layer = null;\n } else if (targetLayerId) {\n layer = {\n _id: targetLayerId,\n _docId: activeDocument._id\n };\n }\n\n if (layer) {\n splBounds = await (0, _media.getSplBounds)(activeDocument._id, layer._id);\n }\n\n const imageOption = {\n doc: activeDocument,\n layer,\n splBounds: undefined\n };\n\n if (splBounds) {\n imageOption.splBounds = splBounds;\n }\n\n return imageOption;\n}\n\nfunction isDuplicatedLayerToNewDoc(evt, reverseHistoryMap) {\n var _evt$data2;\n\n return !!(evt.name === _batchPlayActions.EventType.HistoryStateChanged && ((_evt$data2 = evt.data) === null || _evt$data2 === void 0 ? void 0 : _evt$data2.name) === _batchPlayActions.EventDataType.DuplicateLayer && reverseHistoryMap.make);\n}\n\nfunction isDuplicatedLayerToAnotherDoc(evt, workingDocumentId) {\n if (evt.name !== _batchPlayActions.EventType.Duplicate) {\n return false;\n }\n\n return !!(evt.data.destinationDocumentID && workingDocumentId !== evt.data.destinationDocumentID);\n}\n\nfunction getTitleFromPath(evt, isCloudDoc, options) {\n var _evt$data$null;\n\n let isVidImport, reverseHistoryMap;\n\n if (options) {\n ({\n isVidImport,\n reverseHistoryMap\n } = options);\n }\n\n if (isCloudDoc) {\n try {\n const cloudPath = JSON.parse(evt.data.null._path);\n\n if (cloudPath.display_name) {\n return cloudPath.display_name;\n }\n } catch (e) {\n console.warn('No title found for cloud doc', e.message);\n }\n }\n\n if (isVidImport && reverseHistoryMap) {\n return (0, _common.basename)(reverseHistoryMap.importVideoToLayers.data.using._path);\n }\n\n if ((_evt$data$null = evt.data.null) !== null && _evt$data$null !== void 0 && _evt$data$null._path) {\n var _evt$data$null2;\n\n return (0, _common.basename)((_evt$data$null2 = evt.data.null) === null || _evt$data$null2 === void 0 ? void 0 : _evt$data$null2._path);\n }\n\n return undefined;\n}\n\nfunction getAssetChecks(evt, activeDocument, history) {\n var _lastHistoryStateChan, _evt$data$null3, _evt$data$null4, _evt$data3, _evt$data4, _evt$data5, _evt$data5$null, _evt$data6, _evt$data7, _evt$data8, _evt$data9, _evt$data10;\n\n const {\n reverseHistoryMap,\n lastHistoryStateChanges\n } = history;\n const lastHistoryStateChange = activeDocument ? lastHistoryStateChanges[activeDocument === null || activeDocument === void 0 ? void 0 : activeDocument._id] : null;\n const relatedActionName = lastHistoryStateChange === null || lastHistoryStateChange === void 0 ? void 0 : (_lastHistoryStateChan = lastHistoryStateChange.data) === null || _lastHistoryStateChan === void 0 ? void 0 : _lastHistoryStateChan.name;\n const hasFilePointer = ((_evt$data$null3 = evt.data.null) === null || _evt$data$null3 === void 0 ? void 0 : _evt$data$null3._path) && ((_evt$data$null4 = evt.data.null) === null || _evt$data$null4 === void 0 ? void 0 : _evt$data$null4._kind);\n const extension = hasFilePointer ? evt.data.null._path.replace(/.+\\.([a-z]+)$/i, '$1').toLowerCase() : '';\n const isSmartObject = isASmartObject(evt, relatedActionName);\n const checks = {\n isCloudEmbed: isSmartObject && hasFilePointer && evt.data.null._kind === 'cloud',\n isPattern: isPattern(evt, relatedActionName),\n // callers update active document to match id so pass null a second arg here\n isLayerDuplicationToAnotherDoc: isDuplicatedLayerToAnotherDoc(evt, null),\n isPaste: evt.name === _batchPlayActions.EventType.Paste,\n isOpenedTemplate: evt.name === _batchPlayActions.EventType.Open && evt.data.template === true,\n isLayerDuplicationToNewDoc: isDuplicatedLayerToNewDoc(evt, reverseHistoryMap),\n isDraggedLayers: isDraggedLayers(evt),\n isDuplicateImage: evt.name === _batchPlayActions.EventType.Duplicate && relatedActionName === _batchPlayActions.EventDataType.DuplicateImage,\n isVidImport: isVideoImport(evt, reverseHistoryMap),\n isImportLayer: (evt === null || evt === void 0 ? void 0 : (_evt$data3 = evt.data) === null || _evt$data3 === void 0 ? void 0 : _evt$data3.name) === _batchPlayActions.EventDataType.ImportLayer,\n isImportLayers: (evt === null || evt === void 0 ? void 0 : (_evt$data4 = evt.data) === null || _evt$data4 === void 0 ? void 0 : _evt$data4.name) === _batchPlayActions.EventDataType.ImportLayers,\n isDCM: hasFilePointer && extension === 'dcm',\n isPathlessOpen: evt.name === _batchPlayActions.EventType.Open && (evt === null || evt === void 0 ? void 0 : (_evt$data5 = evt.data) === null || _evt$data5 === void 0 ? void 0 : (_evt$data5$null = _evt$data5.null) === null || _evt$data5$null === void 0 ? void 0 : _evt$data5$null._path) === '',\n isNeuralFilter: evt.name === _batchPlayActions.EventType.NeuralFilters,\n isSelectSyntheticFillVariation: evt.name === _batchPlayActions.EventType.SelectSyntheticFillVariation,\n isGenerativeExpand: (evt === null || evt === void 0 ? void 0 : (_evt$data6 = evt.data) === null || _evt$data6 === void 0 ? void 0 : _evt$data6.name) === _batchPlayActions.EventDataType.GenerativeExpand,\n isGenerativeFill: (evt === null || evt === void 0 ? void 0 : (_evt$data7 = evt.data) === null || _evt$data7 === void 0 ? void 0 : _evt$data7.name) === _batchPlayActions.EventDataType.GenerativeFill,\n isGenerateImage: (evt === null || evt === void 0 ? void 0 : (_evt$data8 = evt.data) === null || _evt$data8 === void 0 ? void 0 : _evt$data8.name) === _batchPlayActions.EventDataType.GenerateImage,\n isGenerateBackground: (evt === null || evt === void 0 ? void 0 : (_evt$data9 = evt.data) === null || _evt$data9 === void 0 ? void 0 : _evt$data9.name) === _batchPlayActions.EventDataType.GenerateBackground,\n isDeleteGeneratedVariation: evt.name === _batchPlayActions.EventType.DeleteGeneratedVariation && ((_evt$data10 = evt.data) === null || _evt$data10 === void 0 ? void 0 : _evt$data10.remainingVariationsCount) !== 0\n };\n return checks;\n}\n/**\n * @returns Instructions for extracting assets via screenshot depending on event context\n * a) Imported layers\n * b) Active layers if duplicating layers\n * c) Entire canvas\n */\n\n\nasync function getSSOnlyAssetInstructions(checks, evt, activeDocument, history, tempFolder) {\n var _lastHistoryStateChan2;\n\n const assetExtractionData = [];\n const activeLayers = await getActiveLayers(activeDocument);\n const {\n reverseHistoryMap,\n lastHistoryStateChanges\n } = history;\n const lastHistoryStateChange = activeDocument ? lastHistoryStateChanges[activeDocument === null || activeDocument === void 0 ? void 0 : activeDocument._id] : null;\n const relatedActionName = lastHistoryStateChange === null || lastHistoryStateChange === void 0 ? void 0 : (_lastHistoryStateChan2 = lastHistoryStateChange.data) === null || _lastHistoryStateChan2 === void 0 ? void 0 : _lastHistoryStateChan2.name;\n const isSmartObject = isASmartObject(evt, relatedActionName);\n let imageOptions = []; // When needing to make a temporary doc and work off of that\n\n let cloneDoc = null;\n const getWholeCanvas = checks.isOpenedTemplate || checks.isDuplicateImage || checks.isPathlessOpen;\n\n if (checks.isImportLayers) {\n try {\n ({\n imageOptions,\n cloneDoc\n } = await calculateImportLayerImageOptions(activeDocument));\n } catch (e) {\n console.error(e);\n }\n } else if (getWholeCanvas) {\n imageOptions.push({\n doc: activeDocument,\n layer: null\n });\n } else {\n activeLayers.forEach(layer => {\n // This is an array if we wanted to take multiple shots from same action\n imageOptions.push({\n doc: activeDocument,\n layer\n });\n });\n }\n\n const initialInfo = {};\n\n try {\n initialInfo.title = getTitleFromPath(evt, checks.isCloudEmbed, {\n isVidImport: checks.isVidImport,\n reverseHistoryMap\n });\n } catch (e) {// will just default to untitled image when not set\n }\n\n imageOptions.forEach(imageOption => {\n const guid = (0, _common.generateGUID)();\n const filePath = `${tempFolder}${guid}.jpg`;\n const assetConstructor = {\n path: filePath,\n pathKind: 'local',\n isSmartObject,\n initialInfo,\n outputPath: tempFolder\n };\n assetExtractionData.push({\n imageOption,\n assetConstructor,\n cloneDoc,\n guid\n });\n });\n return assetExtractionData;\n}\n\nconst getFilePointerAssetInstructions = async (evt, activeDocument, history, tempFolder) => {\n var _lastHistoryStateChan3, _evt$data$replaceLaye;\n\n const extractionData = [];\n const {\n lastHistoryStateChanges\n } = history;\n const lastHistoryStateChange = activeDocument ? lastHistoryStateChanges[activeDocument === null || activeDocument === void 0 ? void 0 : activeDocument._id] : null;\n const relatedActionName = lastHistoryStateChange === null || lastHistoryStateChange === void 0 ? void 0 : (_lastHistoryStateChan3 = lastHistoryStateChange.data) === null || _lastHistoryStateChan3 === void 0 ? void 0 : _lastHistoryStateChan3.name;\n\n const extension = evt.data.null._path.replace(/.+\\.([a-z]+)$/i, '$1').toLowerCase();\n\n const isSmartObject = isASmartObject(evt, relatedActionName);\n let targetLayerId = null;\n\n if (!activeDocument) {\n console.error('Unable to get active document for binary media from file');\n return null;\n }\n /**\n * Anytime a file is opened it is a new document/tab in PS and is then he parent\n * Other methods that create new documents like \"Open As Smart Object\" modify parent file\n * (ie opening as smart object squashes all layers into one smart object layer)\n * so new document is not the parent in those cases.\n * @see https://wiki.corp.adobe.com/display/CAI/PS+Import+Methods\n */\n\n\n const isOpen = (lastHistoryStateChange === null || lastHistoryStateChange === void 0 ? void 0 : lastHistoryStateChange.data.name) === _batchPlayActions.EventDataType.Open && evt.name === _batchPlayActions.EventType.Open;\n const targetLayerObj = (_evt$data$replaceLaye = evt.data.replaceLayer) === null || _evt$data$replaceLaye === void 0 ? void 0 : _evt$data$replaceLaye.to; // placeEvent gives us specific layer IDs so we can use that in case there are rapid place events\n\n if ((targetLayerObj === null || targetLayerObj === void 0 ? void 0 : targetLayerObj._ref) === 'layer') {\n targetLayerId = targetLayerObj._id;\n }\n\n const filePath = evt.data.null._path;\n const isCloud = evt.data.null._kind === 'cloud';\n const initialInfo = {\n is_parent: isOpen,\n title: getTitleFromPath(evt, isCloud)\n };\n const assetConstructor = {\n path: filePath,\n pathKind: evt.data.null._kind,\n outputPath: tempFolder,\n isSmartObject,\n initialInfo,\n thumbnailFallback: async e => {\n let msg;\n\n if (e instanceof _common.HttpError && e.context.response.status === 403) {\n const {\n code\n } = e.context.response.body;\n\n if (code === _types.HelperErrorCode.NotFound) {\n msg = _localization.Localization.formatMessage({\n id: 'fileError.asset.notFound',\n\n /* eslint-disable-next-line max-len */\n defaultMessage: `Content Credentials (Beta) can’t find your file. It may have been deleted, moved, or renamed. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.`\n });\n }\n\n if (code === _types.HelperErrorCode.Permission) {\n msg = _localization.Localization.formatMessage({\n id: 'fileError.asset.permission',\n\n /* eslint-disable-next-line max-len */\n defaultMessage: `Content Credentials (Beta) can't read or update this file, possibly due to insufficient permissions. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.`\n });\n }\n }\n\n if (msg) {\n ps.core.showAlert(msg);\n }\n\n if (!activeDocument) {\n return null;\n }\n\n const imageOption = await getFileImageOption(activeDocument, isOpen, targetLayerId);\n\n if (!imageOption) {\n return null;\n }\n\n if (!tempFolder) {\n throw new _common.AppError('Unable to make thumbnail fallback. Missing temp folder.', {\n activeDocument,\n evt\n });\n }\n\n return (0, _media.getThumbnailData)(_objectSpread(_objectSpread({}, imageOption), {}, {\n tempFolder\n }), (0, _common.generateGUID)());\n }\n };\n const ret = {\n assetConstructor,\n guid: (0, _common.generateGUID)()\n };\n const manifestExtensions = ['jpg', 'png', 'jpeg', 'tiff', 'arw', 'tif']; // @see https://jira.corp.adobe.com/browse/CAI-1774 for this special case carve-out\n // @todo this will all go away with https://jira.corp.adobe.com/browse/CAI-1537 when we use binaries from PS API\n\n if (!manifestExtensions.includes(extension)) {\n const imageOption = await getFileImageOption(activeDocument, isOpen, targetLayerId);\n\n if (imageOption) {\n ret.imageOption = imageOption;\n }\n }\n\n extractionData.push(ret);\n return extractionData;\n};\n\nasync function getAssetInstructions(evt, activeDocument, history, tempFolder) {\n var _evt$data$null5, _evt$data$null6;\n\n const checks = getAssetChecks(evt, activeDocument, history);\n const hasFilePointer = ((_evt$data$null5 = evt.data.null) === null || _evt$data$null5 === void 0 ? void 0 : _evt$data$null5._path) && ((_evt$data$null6 = evt.data.null) === null || _evt$data$null6 === void 0 ? void 0 : _evt$data$null6._kind);\n /**\n * If we need thumbnail, but don't have path to send CAI Helper\n * @todo: when SPL accepts binaries hasFilepointer would be moved into same checks\n * @see: https://jira.corp.adobe.com/browse/CAI-1537\n */\n\n const grabScreenshotOnly = Object.keys(checks).some(key => {\n const check = !!checks[key];\n return check === true;\n });\n\n if (grabScreenshotOnly && !tempFolder) {\n throw new _common.AppError('Unable to make thumbnail. Missing tempFolder', {\n activeDocument,\n evt\n });\n }\n\n if (grabScreenshotOnly) {\n const data = await getSSOnlyAssetInstructions(checks, evt, activeDocument, history, tempFolder);\n return data;\n }\n /**\n * @todo we need to remove this only when we get binaries\n * @see https://jira.corp.adobe.com/browse/CAI-1537\n * We can't use SPL for this since the active layer does NOT change to the new layers\n * This is unlike every other layer modification action in PS unfortunately\n * Sky replacements are JPGs so we are abusing the manifest safeguard from CAI-1774\n */\n\n\n if (evt.name === _batchPlayActions.EventType.SkyReplacement) {\n return [{\n assetConstructor: {\n path: evt.data.file._path,\n pathKind: evt.data.file._kind,\n outputPath: tempFolder\n },\n guid: (0, _common.generateGUID)()\n }];\n }\n\n if (hasFilePointer) {\n const data = await getFilePointerAssetInstructions(evt, activeDocument, history, tempFolder);\n return data;\n }\n\n return null;\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/event-context.ts?")},3981:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.getAssetData = getAssetData;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\n__webpack_require__(1307);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _media = __webpack_require__(4058);\n\nvar _PSMain = __webpack_require__(3121);\n\nvar _state = __webpack_require__(1375);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst ps = __webpack_require__(3192);\n\nasync function getAssetData(payload) {\n const {\n imageOption,\n assetConstructor,\n guid,\n cloneDoc,\n tempFolder\n } = payload;\n\n if (imageOption) {\n if (!assetConstructor.initialInfo) {\n assetConstructor.initialInfo = {};\n }\n\n try {\n assetConstructor.initialInfo.thumbnail = await (0, _media.getThumbnailData)(_objectSpread(_objectSpread({}, imageOption), {}, {\n tempFolder\n }), guid);\n } catch (e) {\n const checkDocument = await (0, _batchPlayActions.getDocumentByID)(imageOption.doc._id);\n\n if (!checkDocument) {\n console.warn(`Document ${imageOption.doc._id} no longer exists for thumbnail.`);\n return null;\n } else {\n console.error(`Unable to get image binary for ${imageOption.doc._id}`, e, e.context);\n }\n } finally {\n if (cloneDoc) {\n await ps.core.deleteTemporaryDocument({\n documentID: cloneDoc._id,\n eventLevel: 1,\n timeOut: -1\n });\n }\n }\n }\n\n assetConstructor.guid = guid;\n\n if ((0, _batchPlayActions.doesSupportHiddenLayers)(assetConstructor === null || assetConstructor === void 0 ? void 0 : assetConstructor.path)) {\n assetConstructor.hidden = true;\n }\n\n const ManifestService = _PSMain.PSMain.getManifestService();\n\n assetConstructor.assetRequest = ManifestService.createWorkingAsset(assetConstructor);\n const asset = new _state.WorkingAsset(assetConstructor);\n return asset.data();\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/get-asset-data.ts?')},9551:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getSmartObjectReview = getSmartObjectReview;\n\n__webpack_require__(1307);\n\nfunction getSmartObjectReview() {\n return {\n explanation: 'This document may have had a linked smart object updated outside of CAI',\n code: 'ingredient.possiblyModified',\n value: 1\n };\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/get-smart-object-review.ts?")},7841:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nvar _interopRequireDefault = __webpack_require__(1600);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.checkOldPersisted = checkOldPersisted;\nexports.determineSettings = determineSettings;\nexports.formatStoreFromPeristedData = formatStoreFromPeristedData;\nexports.getActionsAssertion = getActionsAssertion;\nexports.getActionsAssertionData = getActionsAssertionData;\nexports.getInitialReviews = getInitialReviews;\nexports.getOwningDocumentId = getOwningDocumentId;\nexports.getXMPMetadata = getXMPMetadata;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(6290));\n\nvar _fp = __webpack_require__(193);\n\nvar _fastDeepEqual = _interopRequireDefault(__webpack_require__(9378));\n\nvar _uniqBy = _interopRequireDefault(__webpack_require__(617));\n\n__webpack_require__(1307);\n\nvar _common = __webpack_require__(9172);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _localization = __webpack_require__(60);\n\nvar _actionUpconvert = __webpack_require__(7874);\n\nvar _getSmartObjectReview = __webpack_require__(9551);\n\nvar _PSMain = __webpack_require__(3121);\n\n__webpack_require__(7096);\n\nvar _addReview = __webpack_require__(1898);\n\nvar _actions = __webpack_require__(9482);\n\nvar _actionMap = _interopRequireDefault(__webpack_require__(1724));\n\n__webpack_require__(7401);\n\nvar _lodash = __webpack_require__(6635);\n\n__webpack_require__(4471);\n\nvar _errors = __webpack_require__(5073);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nconst ps = __webpack_require__(3192);\n\nconst deepUniq = (0, _fp.uniqWith)(_fastDeepEqual.default);\n/**\n * De-duplicates actions written to an assertion\n */\n\nconst dedupeActions = (0, _uniqBy.default)(data => [data.action, JSON.stringify(data.parameters)].join('|'));\n\nfunction getActionsAssertionData(actions, reviews, initialActions = []) {\n const currentActions = actions.map(action => (0, _common.formatWorkingStoreActionName)(action.data.name)).filter(tool => _actionMap.default[tool] !== null).map(_actions.getActionAssertionByTool); // Tracks if a review was added that would require us to add a `c2pa.unknown` action\n\n const unknownActions = reviews.some(review => review.code === 'actions.unknownActionsPerformed');\n\n if (unknownActions) {\n const icons = _PSMain.PSMain.getStateAPI().getIcons();\n\n const description = _localization.Localization.getDefaultC2PAActionDescription('c2pa.unknown');\n\n currentActions.push({\n action: 'c2pa.unknown',\n parameters: {\n 'com.adobe.tool': '',\n 'com.adobe.icon': icons['c2pa.unknown'],\n description\n }\n });\n }\n\n const reconciledActions = [...initialActions, ...currentActions];\n const uniqueActions = dedupeActions(reconciledActions);\n return uniqueActions;\n}\n\nasync function getXMPMetadata(documentData) {\n const {\n workingDocumentId,\n activeDocument\n } = documentData;\n\n if (!activeDocument) {\n // This can happen for random newDocument fires, such as Open as Smart Object\n // where it fires before doc we care about\n console.warn('New document without known document data', documentData);\n return null;\n }\n\n if (!workingDocumentId) {\n console.error('Active document without working document ID', documentData);\n return null;\n }\n\n const metadata = await (0, _batchPlayActions.getXMPData)(workingDocumentId); // Don't update datastore to a document that has no metadata - wouldn't be able to save it anyway\n\n if (!metadata) {\n return null;\n }\n\n return metadata;\n}\n\nasync function getOwningDocumentId(history, currentStore) {\n var _history$lastEvt;\n\n let owningDocumentId = null;\n let owningLayer = null;\n /**\n * The only case a new document would have a working store already is if it were disabled/enabled\n * The check below this, is based on history's last event, which no longer applies in the enable/disable scenario\n * So we can take for granted that if the state thinks its owned, it certainly is\n */\n\n if (currentStore !== null && currentStore !== void 0 && currentStore.owningDocumentId) {\n return currentStore.owningDocumentId;\n }\n\n if ((history === null || history === void 0 ? void 0 : (_history$lastEvt = history.lastEvt) === null || _history$lastEvt === void 0 ? void 0 : _history$lastEvt.name) === _batchPlayActions.EventType.PlacedLayerEditContents) {\n ({\n documentID: owningDocumentId,\n layerID: owningLayer\n } = history.lastEvt.data);\n /**\n * This would happen when coming back from a Camera Raw File\n * @see https://jira.corp.adobe.com/browse/CAI-3033\n */\n\n if (!owningLayer) {\n return null;\n }\n\n const [layerInfo] = await (0, _batchPlayActions.getLayersInfo)(owningDocumentId, [owningLayer]);\n /**\n * We can't count a linked smart object as having an owner ID\n * Multiple documents can have the same linked smart object because it's based on path\n * We only want this for embedded smart objects\n */\n\n if ((0, _batchPlayActions.isSmartObjectLinked)(layerInfo.smartObject)) {\n return null;\n }\n }\n\n return owningDocumentId;\n}\n/**\n * Helper to take old store data and transform for new needs:\n *\n * 1. nuke old persisted values that can't be parsed anymore\n * 2. only track filename of assets as opposed to full paths\n */\n\n\nfunction checkOldPersisted(persisted) {\n let oldVersion = false;\n\n if (persisted && !persisted.version) {\n oldVersion = true;\n persisted = null;\n }\n\n return {\n persisted,\n oldVersion\n };\n}\n\nasync function getInitialReviews(activeDocument, formatted) {\n const {\n review: cloudUpdateReview\n } = formatted;\n const reviews = [];\n const {\n oldVersion,\n persisted\n } = checkOldPersisted(formatted.persisted);\n\n if (cloudUpdateReview) {\n reviews.push(cloudUpdateReview);\n reviews.push({\n code: 'com.adobe.outsideProgram',\n value: 5,\n explanation: 'Photoshop specific review'\n });\n }\n\n if (!persisted && oldVersion) {\n const explanation = 'Data was lost due to a spec upgrade';\n const internalCode = 'com.adobe.upgradedSpec';\n reviews.push({\n code: 'actions.possiblyMissing',\n value: 4,\n explanation\n });\n reviews.push({\n code: internalCode,\n value: 4,\n explanation: 'Photoshop specific review'\n });\n }\n\n const allLayers = await (0, _batchPlayActions.getAllLayerInfo)(activeDocument);\n const unknownLinkedObject = allLayers.some(layer => {\n if (!layer.smartObject) {\n return false;\n }\n\n const isSmartObjectLayer = (0, _batchPlayActions.isLayerWithSmartObject)(layer);\n\n if (!isSmartObjectLayer || layer.smartObject.linked === false) {\n return false;\n }\n\n return layer.smartObject.linkChanged;\n });\n\n if (unknownLinkedObject) {\n reviews.push((0, _getSmartObjectReview.getSmartObjectReview)());\n reviews.push({\n code: 'com.adobe.smartObject',\n value: 4,\n explanation: 'Photoshop specific review'\n });\n }\n\n return reviews;\n}\n/**\n * Our format in persisted data never changes, but our redux store does\n */\n\n\nfunction mapSettingsToReduxSettings(settings, accounts) {\n const newAccounts = {};\n accounts === null || accounts === void 0 ? void 0 : accounts.forEach(account => {\n const connectedAccount = settings.connectedAccounts[account.account_type];\n /**\n * Explicit setting vs not existing. This is primarliy a sanity check as this is called\n * right after getDefaultSettings which should default things to true if they are missing\n */\n\n const included = typeof (connectedAccount === null || connectedAccount === void 0 ? void 0 : connectedAccount.shouldInclude) !== 'undefined' ? connectedAccount.shouldInclude : false;\n newAccounts[account.id] = {\n type: account.account_type,\n label: account.address || account.username,\n url: account.url,\n included\n };\n });\n return {\n accounts: newAccounts,\n accountsLoading: false,\n edits: settings.include_assertions.includes('Edits'),\n identity: settings.include_assertions.includes('Identity'),\n export: settings.export\n };\n}\n\nfunction determineSettings(props) {\n const {\n persistedSettings,\n lastSettings,\n connectedAccounts\n } = props;\n\n if (persistedSettings) {\n return mapSettingsToReduxSettings(persistedSettings, connectedAccounts);\n }\n\n if (lastSettings) {\n const settings = (0, _lodash.cloneDeep)(lastSettings);\n settings === null || settings === void 0 ? true : delete settings.export;\n return settings;\n }\n\n return null;\n}\n\nasync function getFormattedDataFromPSFile(document) {\n const persisted = await (0, _batchPlayActions.getPersistedData)(document._id);\n let review = null;\n\n if (!persisted) {\n return null;\n }\n\n try {\n const wasModifiedExternally = await ps.cai.getDocumentModifiedWithoutTracking({\n documentID: document._id\n });\n\n if (wasModifiedExternally) {\n review = _objectSpread({}, _addReview.REVIEW_OUTSIDE_PROGRAM);\n }\n } catch (e) {\n _common.ErrorHandler.log(e);\n }\n\n return {\n persisted,\n review\n };\n}\n\nfunction upconvertIngredients(ingredients) {\n return ingredients.filter(_common.isIngredientLoaded).map(ingredient => {\n var _ingredient$thumbnail;\n\n if (!ingredient.guid) {\n ingredient.guid = (0, _common.generateGUID)();\n }\n\n if ((_ingredient$thumbnail = ingredient.thumbnail) !== null && _ingredient$thumbnail !== void 0 && _ingredient$thumbnail.path) {\n // the identifier and filename are 1:1\n const identifier = (0, _common.basename)(ingredient.thumbnail.path);\n ingredient.thumbnail = {\n identifier,\n format: 'image/jpeg'\n };\n }\n\n if (ingredient.thumbnail && !ingredient.thumbnail.fileName) {\n var _ingredient$thumbnail2;\n\n ingredient.thumbnail.fileName = (_ingredient$thumbnail2 = ingredient.thumbnail) === null || _ingredient$thumbnail2 === void 0 ? void 0 : _ingredient$thumbnail2.identifier;\n }\n\n if (ingredient.manifest_path) {\n ingredient.manifest_data = {\n format: 'c2pa',\n identifier: (0, _common.basename)(ingredient.manifest_path)\n };\n delete ingredient.manifest_path;\n }\n\n if (typeof ingredient.is_parent !== 'undefined' && !ingredient.relationship) {\n ingredient.relationship = ingredient.is_parent ? 'parentOf' : 'componentOf';\n }\n\n return ingredient;\n });\n}\n\nasync function formatStoreFromPeristedData(storageAdapter, metadata, document) {\n var _persisted;\n\n let persisted = null;\n let review = null;\n const isPSFile = (0, _batchPlayActions.isPhotoshopFile)(document.isCloudDoc, document.path);\n\n if (isPSFile) {\n const enabled = await (0, _batchPlayActions.getEnabledSetting)(document);\n const formattedFromPS = await getFormattedDataFromPSFile(document);\n\n if (formattedFromPS) {\n var _formattedFromPS$pers;\n\n if ((_formattedFromPS$pers = formattedFromPS.persisted) !== null && _formattedFromPS$pers !== void 0 && _formattedFromPS$pers.workingStore.ingredients) {\n var _formattedFromPS$pers2;\n\n formattedFromPS.persisted.workingStore.ingredients = upconvertIngredients((_formattedFromPS$pers2 = formattedFromPS.persisted) === null || _formattedFromPS$pers2 === void 0 ? void 0 : _formattedFromPS$pers2.workingStore.ingredients);\n }\n\n return _objectSpread(_objectSpread({}, formattedFromPS), {}, {\n enabled\n });\n }\n /**\n * Don't bother looking for sidecar data of a PSD from old Beta period\n */\n\n\n return {\n persisted: null,\n review: null,\n enabled\n };\n }\n\n const isExisting = (0, _batchPlayActions.isSavedDocument)(document);\n\n if (!persisted) {\n try {\n persisted = await storageAdapter.load(metadata.documentID, document._id);\n } catch (e) {\n const isDirectoryError = e instanceof _errors.StorageDirectoryResolutionError;\n\n if (!isDirectoryError) {\n _common.ErrorHandler.log(e);\n } else {\n console.warn(e);\n }\n\n return {\n enabled: false,\n unsupportedReason: 'unable-to-persist',\n persisted: null,\n review: null\n };\n }\n }\n\n if (!persisted) {\n const newDocDefaultOn = await (0, _batchPlayActions.isNewDocumentDefaultOn)();\n return {\n persisted: null,\n review: null,\n\n /**\n * either it's existing doc and doesn't have CAI data so it would be off\n * or it's a new doc which can go by the default preference\n */\n enabled: isExisting ? false : newDocDefaultOn\n };\n }\n\n let sidecarEnabled = persisted.enabled;\n let normalizedCurrentHashValue = '';\n let normalizedHash = ((_persisted = persisted) === null || _persisted === void 0 ? void 0 : _persisted.hash) || '';\n let existingDocDefaultOn = await (0, _batchPlayActions.isExistingDocumentDefaultOn)();\n\n if (document.path) {\n const c2pa = await __webpack_require__(4178);\n const hashString = await c2pa.hash_from_file(document.path);\n ({\n ok: normalizedCurrentHashValue\n } = JSON.parse(hashString));\n }\n\n if (typeof sidecarEnabled === 'undefined') {\n var _persisted2, _persisted3;\n\n console.warn('Using old style enablement');\n\n try {\n const parsed = await (0, _batchPlayActions.getSidecarEnablement)(document._id);\n sidecarEnabled = parsed.enabled;\n } catch (e) {\n /**\n * If we can't find the file, which is guaranteed on files from PS <= 23.5,\n * we will default to \"on\" if there is CAI data.\n * @see https://jira.corp.adobe.com/browse/CAI-2561\n */\n sidecarEnabled = true;\n existingDocDefaultOn = true;\n }\n\n normalizedCurrentHashValue = metadata.modifyDate.toISOString();\n normalizedHash = (_persisted2 = persisted) !== null && _persisted2 !== void 0 && _persisted2.hash ? new Date((_persisted3 = persisted) === null || _persisted3 === void 0 ? void 0 : _persisted3.hash).toISOString() : '';\n } // From when we used filesize to ensure files were not different\n\n\n if (persisted.version === '1.0' || !persisted.version) {\n delete persisted.mapId;\n }\n\n if (persisted.hash && normalizedHash !== normalizedCurrentHashValue) {\n review = _objectSpread({}, _addReview.REVIEW_OUTSIDE_PROGRAM);\n } // ensure old assets in persisted data without a guid will always have one\n\n\n persisted.workingStore.ingredients = upconvertIngredients(persisted.workingStore.ingredients);\n const enabled = existingDocDefaultOn ? sidecarEnabled : false;\n\n if (enabled) {\n await (0, _batchPlayActions.enable)(document, false);\n }\n\n return {\n persisted,\n review,\n enabled\n };\n}\n\nfunction getActionsAssertion(persisted, reviews) {\n let actions = [];\n let metadata = {\n dateTime: new Date().toISOString(),\n reviewRatings: []\n };\n\n if (persisted) {\n const {\n workingStore\n } = persisted;\n const actionsAssertion = workingStore.assertions.find(a => a.label === 'c2pa.actions');\n\n if (actionsAssertion) {\n ({\n actions,\n metadata\n } = actionsAssertion.data);\n /**\n * Ensure if persisted data is missing reviewRatings, it throws it back in\n * This is possible from older versions of CAI running and creating working stores\n * @see https://jira.corp.adobe.com/browse/CAI-870\n */\n\n if (!metadata.reviewRatings) {\n metadata.reviewRatings = [];\n }\n /**\n * Localizations was added as part of C2PA actions\n * If it's not there, assume it was old custom actionss\n */\n\n\n if (!metadata.localizations) {\n actions = (0, _actionUpconvert.actionUpconvert)(actions, workingStore.ingredients.filter(_common.isIngredientLoaded));\n }\n\n const icons = _PSMain.PSMain.getStateAPI().getIcons(); // Make sure icons are up to date in working store\n\n\n actions.forEach(action => {\n action.parameters['com.adobe.icon'] = icons[action.action] || icons['c2pa.edited'];\n }); // Update localizations in working store to latest localizations\n\n metadata.localizations = _localization.Localization.buildC2PALocalizationsFromActions(actions.map(action => action.action));\n }\n } // Merge saved reviews with new ones from startup\n\n\n if (reviews.length) {\n metadata.reviewRatings = deepUniq([...metadata.reviewRatings, ...reviews]);\n }\n /**\n * The original comment says this:\n * \"Make sure to update actions in case we need to add c2pa.uknown due to review\"\n * This seems like a safeguard for backcompat in case we need to add reviews based on actions we didn't originally add reviews for\n */\n\n\n actions = getActionsAssertionData([], reviews, actions);\n return {\n actions,\n metadata\n };\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/handle-new-document.ts?")},4058:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.copyDocumentHideInactiveLayers = copyDocumentHideInactiveLayers;\nexports.getJPGBinary = getJPGBinary;\nexports.getSplBounds = getSplBounds;\nexports.getThumbnailData = getThumbnailData;\nexports.setMediaCAI = setMediaCAI;\nexports.splParamsFromBounds = splParamsFromBounds;\n\nvar _common = __webpack_require__(9172);\n\n__webpack_require__(1307);\n\nvar _adaptersUxp = __webpack_require__(5237);\n\nvar _batchPlayActions = __webpack_require__(4188);\n\nvar _spl = __webpack_require__(7990);\n\n// ADOBE CONFIDENTIAL\n// Copyright 2022 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\nconst {\n imaging\n} = __webpack_require__(6876);\n\nconst ps = __webpack_require__(3192);\n/**\n * Not using import\n * @see https://stackoverflow.com/questions/59906323/typescript-skiplibcheck-still-checking-node-modules-libs\n */\n// const { SPLConsts, SPLImage } = require('@cai/spl');\n\n\nlet CAI;\n\nfunction setMediaCAI(c) {\n CAI = c;\n}\n/**\n * @see https://git.corp.adobe.com/photoshop/photoshop/blob/43240345031995b6067a808a4df22685dd0e2f75/photoshop/interfaces/JPEGStream.h#L88\n * enum JPEGQuality\n * {\n * veryPoor = -4,\n * poor = -2,\n * fair = -1,\n * good = 1,\n * veryGood = 4,\n * excellent = 6,\n * great = 8\n * };\n * Yes we really meant it to be this \"bad\" as it wasn't noticeably different to our eyes\n * @see https://jira.corp.adobe.com/browse/CAI-654\n */\n\n\nconst DEFAULT_THUMBNAIL_JPEG_QUALITY = -4;\nconst MAX_WIDTH_REQUIREMENT = 1024; // The CAI plugin doesn't need more than 250, but verify site needs 1024\n\nasync function copyDocumentHideInactiveLayers(activeDoc) {\n const clonedDoc = await ps.core.createTemporaryDocument({\n documentID: activeDoc._id\n });\n const activeCloneDocument = await (0, _batchPlayActions.getDocumentByID)(clonedDoc.documentID);\n\n if (!activeCloneDocument) {\n console.error('Failed to get document for clone', clonedDoc.documentID);\n return activeDoc;\n }\n\n try {\n const hidden = await (0, _batchPlayActions.hideNonActiveLayers)(activeCloneDocument);\n hidden.forEach(l => {\n if (l.message) {\n console.error('Unable to hide layers:', l.message);\n }\n });\n } catch (e) {\n console.error('Unable to hide layers:');\n console.error(e);\n }\n\n return activeCloneDocument;\n}\n\nfunction splParamsFromBounds(bounds) {\n var _bounds$width, _bounds$height;\n\n const top = bounds.top._value;\n const left = bounds.left._value;\n let width;\n let height;\n\n if ((_bounds$width = bounds.width) !== null && _bounds$width !== void 0 && _bounds$width._value && (_bounds$height = bounds.height) !== null && _bounds$height !== void 0 && _bounds$height._value) {\n width = bounds.width._value;\n height = bounds.height._value;\n } else {\n width = bounds.right._value - bounds.left._value;\n height = bounds.bottom._value - bounds.top._value;\n }\n\n return {\n top,\n left,\n width,\n height\n };\n}\n\nasync function getSplBounds(docId, layerId) {\n /**\n * @todo go back to catching this exception\n * @see https://jira.corp.adobe.com/browse/CAI-1513\n */\n // try {\n const data = await (0, _batchPlayActions.getLayerBounds)(docId, layerId);\n const {\n bounds\n } = data;\n\n if (bounds) {\n return splParamsFromBounds(bounds);\n } // change this back to console.error (or better yet, splunk log)\n\n\n throw new _common.AppError('Unable to get bounds from data', {\n data,\n layerId,\n docId\n }); // } catch (e) {\n // // Better to capture whole canvas than nothing if bounds completely fail\n // console.error(e);\n // }\n}\n\nasync function getJPGBinary({\n doc,\n layer,\n splBounds\n}) {\n var _layer$_id;\n\n const docId = doc._id;\n const layerId = (_layer$_id = layer === null || layer === void 0 ? void 0 : layer._id) !== null && _layer$_id !== void 0 ? _layer$_id : -1; // -1 means capture whole canvas instead of specific layer\n\n let top = 0;\n let left = 0;\n let width = 0;\n let height = 0; // easy to test this by doing copy paste onto document, if you were wondering\n\n if (layerId !== -1 && !splBounds) {\n ({\n top,\n left,\n width,\n height\n } = await getSplBounds(docId, layerId));\n }\n\n if (splBounds) {\n ({\n top,\n left,\n width,\n height\n } = splBounds);\n }\n /**\n * @see {https://git.corp.adobe.com/torq/appsdk/blob/main/src/hosts/photoshop/index.ts#L38}\n */\n\n\n const im = await imaging.getPixels(docId, layerId, {\n x: left,\n y: top,\n width,\n height\n }, {\n scaledWidth: MAX_WIDTH_REQUIREMENT\n }, 0, // colorSpaceCode\n true, // skipModalCheck\n _spl.SPLConsts.layerAlphaModeType.eAlphaApply);\n const img = new _spl.SPLImage(im);\n const jpgImg = await img.encode('jpg', DEFAULT_THUMBNAIL_JPEG_QUALITY);\n return jpgImg.getData();\n}\n\nasync function getThumbnailData({\n doc,\n layer,\n splBounds,\n tempFolder\n}, guid) {\n if (!CAI) {\n throw new _common.AppError('No state set to make thumbnail');\n }\n\n let currentData = CAI.getState();\n\n if (!tempFolder) {\n throw new _common.AppError('No temp folder passed', {\n currentData\n });\n }\n\n let {\n appIdle,\n appSaving\n } = currentData.panel;\n await new Promise(resolve => {\n /**\n * Make thumbnail if the app is idle or if it's saving\n */\n if (appIdle || appSaving) {\n return resolve(null);\n }\n\n const int = setInterval(() => {\n currentData = CAI.getState();\n ({\n appIdle,\n appSaving\n } = currentData.panel); // Dont resolve if its not idle and not saving\n\n if (!appIdle && !appSaving) {\n return null;\n }\n\n clearInterval(int);\n return resolve(null);\n }, 200);\n return null;\n });\n const image = await getJPGBinary({\n doc,\n layer,\n splBounds\n });\n const identifier = `${guid}.jpg`;\n const filepath = `${tempFolder}${identifier}`;\n await _adaptersUxp.CAIAdapters.FS.writeFile(filepath, image);\n return {\n format: 'image/jpeg',\n identifier,\n fileName: identifier\n };\n}\n\n//# sourceURL=webpack://@cai/panel/./src/utils/media.ts?")},5766:(__unused_webpack_module,exports)=>{"use strict";eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/base64-js/index.js?")},8834:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("var __webpack_unused_export__;\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(5766)\nconst ieee754 = __webpack_require__(2333)\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.lW = Buffer\n__webpack_unused_export__ = SlowBuffer\nexports.h2 = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\n__webpack_unused_export__ = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.h2\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/buffer/index.js?")},5463:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ fp_parseISO)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/constants/index.js\n/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nvar daysInWeek = 7;\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\n\nvar daysInYear = 365.2425;\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\n\nvar maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nvar millisecondsInMinute = 60000;\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nvar millisecondsInHour = 3600000;\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\n\nvar millisecondsInSecond = 1000;\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\n\nvar minTime = -maxTime;\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\n\nvar minutesInHour = 60;\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nvar monthsInQuarter = 3;\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nvar monthsInYear = 12;\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\n\nvar quartersInYear = 4;\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInHour = 3600;\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInMinute = 60;\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInDay = secondsInHour * 24;\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInWeek = secondsInDay * 7;\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInYear = secondsInDay * daysInYear;\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInMonth = secondsInYear / 12;\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nvar secondsInQuarter = secondsInMonth * 3;\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/_lib/requiredArgs/index.js\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/_lib/toInteger/index.js\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/parseISO/index.js\n\n\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nfunction parseISO(argument, options) {\n var _options$additionalDi;\n\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null; // either year or century is null, not both\n\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/fp/_lib/convertToFP/index.js\nfunction convertToFP(fn, arity) {\n var a = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (a.length >= arity) {\n return fn.apply(null, a.slice(0, arity).reverse());\n }\n\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return convertToFP(fn, arity, a.concat(args));\n };\n}\n;// CONCATENATED MODULE: ../../node_modules/date-fns/esm/fp/parseISO/index.js\n// This file is generated automatically by `scripts/build/fp.ts`. Please, don't change it.\n\n\n/* harmony default export */ const fp_parseISO = (convertToFP(parseISO, 1));\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/date-fns/esm/fp/parseISO/index.js_+_5_modules?")},8102:module=>{"use strict";eval("\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/escape-string-regexp/index.js?")},9378:module=>{"use strict";eval("\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-deep-equal/index.js?")},8130:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n//parse Empty Node as self closing node\nconst buildOptions = (__webpack_require__(4056).buildOptions);\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n const keys = Object.keys(jObj);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n const key = keys[i];\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n const result = this.j2x(item, level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n const result = this.j2x(jObj[key], level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata + ']]' + this.tagEndChar;\n } else {\n return str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata + ']]' + this.tagEndChar);\n }\n}\n\nfunction replaceCDATAarr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata.join(']]><![CDATA[') + ']]' + this.tagEndChar;\n } else {\n for (let v in cdata) {\n str = str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata[v] + ']]>');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && !val.includes('<')) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '</' +\n key +\n this.tagEndChar\n );\n } else {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n this.tagEndChar +\n val +\n //+ this.newLine\n this.indentate(level) +\n '</' +\n key +\n this.tagEndChar\n );\n }\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n //+ this.newLine\n }\n}\n\nfunction buildTextValNode(val, key, attrStr, level) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n this.options.tagValueProcessor(val) +\n '</' +\n key +\n this.tagEndChar\n );\n}\n\nfunction buildEmptyTextNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildTextValNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n }\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nfunction isCDATA(name) {\n return name === this.options.cdataTagName;\n}\n\n//formatting\n//indentation\n//\\n after each closing or self closing tag\n\nmodule.exports = Parser;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/json2xml.js?")},3387:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\nconst char = function(a) {\n return String.fromCharCode(a);\n};\n\nconst chars = {\n nilChar: char(176),\n missingChar: char(201),\n nilPremitive: char(175),\n missingPremitive: char(200),\n\n emptyChar: char(178),\n emptyValue: char(177), //empty Premitive\n\n boundryChar: char(179),\n\n objStart: char(198),\n arrStart: char(204),\n arrayEnd: char(185),\n};\n\nconst charsArr = [\n chars.nilChar,\n chars.nilPremitive,\n chars.missingChar,\n chars.missingPremitive,\n chars.boundryChar,\n chars.emptyChar,\n chars.emptyValue,\n chars.arrayEnd,\n chars.objStart,\n chars.arrStart,\n];\n\nconst _e = function(node, e_schema, options) {\n if (typeof e_schema === 'string') {\n //premitive\n if (node && node[0] && node[0].val !== undefined) {\n return getValue(node[0].val, e_schema);\n } else {\n return getValue(node, e_schema);\n }\n } else {\n const hasValidData = hasData(node);\n if (hasValidData === true) {\n let str = '';\n if (Array.isArray(e_schema)) {\n //attributes can't be repeated. hence check in children tags only\n str += chars.arrStart;\n const itemSchema = e_schema[0];\n //var itemSchemaType = itemSchema;\n const arr_len = node.length;\n\n if (typeof itemSchema === 'string') {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = getValue(node[arr_i].val, itemSchema);\n str = processValue(str, r);\n }\n } else {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = _e(node[arr_i], itemSchema, options);\n str = processValue(str, r);\n }\n }\n str += chars.arrayEnd; //indicates that next item is not array item\n } else {\n //object\n str += chars.objStart;\n const keys = Object.keys(e_schema);\n if (Array.isArray(node)) {\n node = node[0];\n }\n for (let i in keys) {\n const key = keys[i];\n //a property defined in schema can be present either in attrsMap or children tags\n //options.textNodeName will not present in both maps, take it's value from val\n //options.attrNodeName will be present in attrsMap\n let r;\n if (!options.ignoreAttributes && node.attrsMap && node.attrsMap[key]) {\n r = _e(node.attrsMap[key], e_schema[key], options);\n } else if (key === options.textNodeName) {\n r = _e(node.val, e_schema[key], options);\n } else {\n r = _e(node.child[key], e_schema[key], options);\n }\n str = processValue(str, r);\n }\n }\n return str;\n } else {\n return hasValidData;\n }\n }\n};\n\nconst getValue = function(a /*, type*/) {\n switch (a) {\n case undefined:\n return chars.missingPremitive;\n case null:\n return chars.nilPremitive;\n case '':\n return chars.emptyValue;\n default:\n return a;\n }\n};\n\nconst processValue = function(str, r) {\n if (!isAppChar(r[0]) && !isAppChar(str[str.length - 1])) {\n str += chars.boundryChar;\n }\n return str + r;\n};\n\nconst isAppChar = function(ch) {\n return charsArr.indexOf(ch) !== -1;\n};\n\nfunction hasData(jObj) {\n if (jObj === undefined) {\n return chars.missingChar;\n } else if (jObj === null) {\n return chars.nilChar;\n } else if (\n jObj.child &&\n Object.keys(jObj.child).length === 0 &&\n (!jObj.attrsMap || Object.keys(jObj.attrsMap).length === 0)\n ) {\n return chars.emptyChar;\n } else {\n return true;\n }\n}\n\nconst x2j = __webpack_require__(7763);\nconst buildOptions = (__webpack_require__(4056).buildOptions);\n\nconst convert2nimn = function(node, e_schema, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n return _e(node, e_schema, options);\n};\n\nexports.convert2nimn = convert2nimn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/nimndata.js?")},8646:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(4056);\n\nconst convertToJson = function(node, options) {\n const jObj = {};\n\n //when no child node or attr is present\n if ((!node.child || util.isEmptyObject(node.child)) && (!node.attrsMap || util.isEmptyObject(node.attrsMap))) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n //otherwise create a textnode if node has some text\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n if(options.arrayMode === \"strict\"){\n jObj[options.textNodeName] = [ node.val ];\n }else{\n jObj[options.textNodeName] = node.val;\n }\n }\n }\n }\n\n util.merge(jObj, node.attrsMap, options.arrayMode);\n\n const keys = Object.keys(node.child);\n for (let index = 0; index < keys.length; index++) {\n var tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj[tagname] = [];\n for (var tag in node.child[tagname]) {\n jObj[tagname].push(convertToJson(node.child[tagname][tag], options));\n }\n } else {\n if(options.arrayMode === true){\n const result = convertToJson(node.child[tagname][0], options)\n if(typeof result === 'object')\n jObj[tagname] = [ result ];\n else\n jObj[tagname] = result;\n }else if(options.arrayMode === \"strict\"){\n jObj[tagname] = [convertToJson(node.child[tagname][0], options) ];\n }else{\n jObj[tagname] = convertToJson(node.child[tagname][0], options);\n }\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/node2json.js?")},3255:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(4056);\nconst buildOptions = (__webpack_require__(4056).buildOptions);\nconst x2j = __webpack_require__(7763);\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n var tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (var tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/node2json_str.js?")},5739:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nconst nodeToJson = __webpack_require__(8646);\nconst xmlToNodeobj = __webpack_require__(7763);\nconst x2xmlnode = __webpack_require__(7763);\nconst buildOptions = (__webpack_require__(4056).buildOptions);\nconst validator = __webpack_require__(3325);\n\nexports.parse = function(xmlData, options, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n options = buildOptions(options, x2xmlnode.defaultOptions, x2xmlnode.props);\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, " ");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = __webpack_require__(3387).convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = __webpack_require__(3255).convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = __webpack_require__(8130);\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + "{")\n console.log(indentation + " \\"tagName\\": \\"" + xmlNode.tagname + "\\", ");\n if(xmlNode.parent){\n console.log(indentation + " \\"parent\\": \\"" + xmlNode.parent.tagname + "\\", ");\n }\n console.log(indentation + " \\"val\\": \\"" + xmlNode.val + "\\", ");\n console.log(indentation + " \\"attrs\\": " + JSON.stringify(xmlNode.attrsMap,null,4) + ", ");\n\n if(xmlNode.child){\n console.log(indentation + "\\"child\\": {")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + "\\""+key+"\\" :[")\n node.forEach( function(item,index) {\n //console.log(indentation + " \\""+index+"\\" : [")\n print(item, indentation2);\n })\n console.log(indentation + "],") \n }else{\n console.log(indentation + " \\""+key+"\\" : {")\n print(node, indentation2);\n console.log(indentation + "},") \n }\n });\n console.log(indentation + "},")\n }\n console.log(indentation + "},")\n }\n}\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/parser.js?')},4056:(__unused_webpack_module,exports)=>{"use strict";eval("\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if(arrayMode === 'strict'){\n target[keys[i]] = [ a[keys[i]] ];\n }else{\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n var newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/util.js?")},3325:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(4056);\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n\n i++;\n if (xmlData[i] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) {\n return i;\n }\n } else if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"There is an unnecessary space between tag name and backward slash '</ ..'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, i));\n } else {\n const otg = tags.pop();\n if (tagName !== otg) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+otg+\"' is expected inplace of '\"+tagName+\"'.\", getLineNumberForPosition(xmlData, i));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push(tagName);\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n } else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+JSON.stringify(tags, null, 4).replace(/\\r?\\n/g, '')+\"' found.\", 1);\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n var start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n var tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nvar doubleQuote = '\"';\nvar singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n continue;\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(attrStr, matches[i][0]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n var lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return lines.length;\n}\n\n//this function returns the position of the last character of match within attrStr\nfunction getPositionFromMatch(attrStr, match) {\n return attrStr.indexOf(match) + match.length;\n}\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/validator.js?")},719:module=>{"use strict";eval("\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/xmlNode.js?")},7763:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(4056);\nconst buildOptions = (__webpack_require__(4056).buildOptions);\nconst xmlNode = __webpack_require__(719);\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: []\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'stopNodes'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.parseTrueNumberOnly);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, parseTrueNumberOnly) {\n if (shouldParse && typeof val === 'string') {\n let parsed;\n if (val.trim() === '' || isNaN(val)) {\n parsed = val === 'true' ? true : val === 'false' ? false : val;\n } else {\n if (val.indexOf('0x') !== -1) {\n //support hexa decimal\n parsed = Number.parseInt(val, 16);\n } else if (val.indexOf('.') !== -1) {\n parsed = Number.parseFloat(val);\n val = val.replace(/\\.?0+$/, \"\");\n } else {\n parsed = Number.parseInt(val, 10);\n }\n if (parseTrueNumberOnly) {\n parsed = String(parsed) === val ? parsed : val;\n }\n }\n return parsed;\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.parseTrueNumberOnly\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/(\\r\\n)|\\n/, \" \");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"--\x3e\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).trimRight();\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/fast-xml-parser/src/xmlstr2xmlnode.js?")},8014:module=>{"use strict";eval('\n/* eslint-disable no-control-regex */\n// TODO: remove parens when Node.js 6 is targeted. Node.js 4 barfs at it.\nmodule.exports = () => (/[<>:"\\/\\\\|?*\\x00-\\x1F]/g);\nmodule.exports.windowsNames = () => (/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i);\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/filename-reserved-regex/index.js?')},45:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nconst path = __webpack_require__(5315);\nconst filenamify = __webpack_require__(8958);\n\nconst filenamifyPath = (filePath, options) => {\n\tfilePath = path.resolve(filePath);\n\treturn path.join(path.dirname(filePath), filenamify(path.basename(filePath), options));\n};\n\nmodule.exports = filenamifyPath;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/filenamify/filenamify-path.js?")},8958:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nconst trimRepeated = __webpack_require__(8440);\nconst filenameReservedRegex = __webpack_require__(8014);\nconst stripOuter = __webpack_require__(8057);\n\n// Doesn't make sense to have longer filenames\nconst MAX_FILENAME_LENGTH = 100;\n\nconst reControlChars = /[\\u0000-\\u001f\\u0080-\\u009f]/g; // eslint-disable-line no-control-regex\nconst reRelativePath = /^\\.+/;\nconst reTrailingPeriods = /\\.+$/;\n\nconst filenamify = (string, options = {}) => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tconst replacement = options.replacement === undefined ? '!' : options.replacement;\n\n\tif (filenameReservedRegex().test(replacement) && reControlChars.test(replacement)) {\n\t\tthrow new Error('Replacement string cannot contain reserved filename characters');\n\t}\n\n\tstring = string.replace(filenameReservedRegex(), replacement);\n\tstring = string.replace(reControlChars, replacement);\n\tstring = string.replace(reRelativePath, replacement);\n\tstring = string.replace(reTrailingPeriods, '');\n\n\tif (replacement.length > 0) {\n\t\tstring = trimRepeated(string, replacement);\n\t\tstring = string.length > 1 ? stripOuter(string, replacement) : string;\n\t}\n\n\tstring = filenameReservedRegex.windowsNames().test(string) ? string + replacement : string;\n\tstring = string.slice(0, typeof options.maxLength === 'number' ? options.maxLength : MAX_FILENAME_LENGTH);\n\n\treturn string;\n};\n\nmodule.exports = filenamify;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/filenamify/filenamify.js?")},1730:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nconst filenamify = __webpack_require__(8958);\nconst filenamifyPath = __webpack_require__(45);\n\nconst filenamifyCombined = filenamify;\nfilenamifyCombined.path = filenamifyPath;\n\nmodule.exports = filenamify;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/filenamify/index.js?")},2333:(__unused_webpack_module,exports)=>{eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/ieee754/index.js?")},1297:(module,__unused_webpack_exports,__webpack_require__)=>{eval('/* provided dependency */ var Buffer = __webpack_require__(8834)["lW"];\n/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module \'"+r+"\'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=undefined,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\\0\\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\\b\\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\\n\\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\\0\\0\\0\\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\\0\\0\\0\\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can\'t accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error(\'The "data" argument must not be a number\');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream \'"+this+"\' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream \'"+this+"\' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type \'"+e+"\'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can\'t construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can\'t read the data of \'"+r+"\'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can\'t find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can\'t find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can\'t find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can\'t find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn\'t get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/jszip/dist/jszip.min.js?')},9515:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761),\n root = __webpack_require__(7772);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_DataView.js?")},9612:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var hashClear = __webpack_require__(2118),\n hashDelete = __webpack_require__(6909),\n hashGet = __webpack_require__(8138),\n hashHas = __webpack_require__(4174),\n hashSet = __webpack_require__(7942);\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Hash.js?")},6504:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseCreate = __webpack_require__(9413),\n baseLodash = __webpack_require__(3620);\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = baseCreate(baseLodash.prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\nmodule.exports = LazyWrapper;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_LazyWrapper.js?")},235:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var listCacheClear = __webpack_require__(3945),\n listCacheDelete = __webpack_require__(1846),\n listCacheGet = __webpack_require__(8028),\n listCacheHas = __webpack_require__(2344),\n listCacheSet = __webpack_require__(4769);\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_ListCache.js?")},5859:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseCreate = __webpack_require__(9413),\n baseLodash = __webpack_require__(3620);\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nmodule.exports = LodashWrapper;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_LodashWrapper.js?")},326:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761),\n root = __webpack_require__(7772);\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Map.js?")},6738:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var mapCacheClear = __webpack_require__(2411),\n mapCacheDelete = __webpack_require__(6417),\n mapCacheGet = __webpack_require__(6928),\n mapCacheHas = __webpack_require__(9493),\n mapCacheSet = __webpack_require__(4150);\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_MapCache.js?")},2760:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761),\n root = __webpack_require__(7772);\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Promise.js?")},2143:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761),\n root = __webpack_require__(7772);\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Set.js?")},5386:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var MapCache = __webpack_require__(6738),\n setCacheAdd = __webpack_require__(2842),\n setCacheHas = __webpack_require__(2482);\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_SetCache.js?")},6571:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var ListCache = __webpack_require__(235),\n stackClear = __webpack_require__(5243),\n stackDelete = __webpack_require__(2858),\n stackGet = __webpack_require__(4417),\n stackHas = __webpack_require__(8605),\n stackSet = __webpack_require__(1418);\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Stack.js?")},857:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var root = __webpack_require__(7772);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Symbol.js?")},9162:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var root = __webpack_require__(7772);\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_Uint8Array.js?")},3215:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761),\n root = __webpack_require__(7772);\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_WeakMap.js?")},9432:module=>{eval("/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_apply.js?")},2517:module=>{eval("/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayEach.js?")},7552:module=>{eval("/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayFilter.js?")},8333:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIndexOf = __webpack_require__(7832);\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayIncludes.js?")},4893:module=>{eval("/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayIncludesWith.js?")},1634:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseTimes = __webpack_require__(6473),\n isArguments = __webpack_require__(9631),\n isArray = __webpack_require__(6152),\n isBuffer = __webpack_require__(3226),\n isIndex = __webpack_require__(9045),\n isTypedArray = __webpack_require__(7598);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayLikeKeys.js?")},343:module=>{eval("/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayMap.js?")},5067:module=>{eval("/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arrayPush.js?")},7064:module=>{eval("/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_arraySome.js?")},91:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseAssignValue = __webpack_require__(3940),\n eq = __webpack_require__(1225);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_assignValue.js?")},2218:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var eq = __webpack_require__(1225);\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_assocIndexOf.js?")},7993:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var copyObject = __webpack_require__(752),\n keys = __webpack_require__(249);\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseAssign.js?")},5906:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var copyObject = __webpack_require__(752),\n keysIn = __webpack_require__(8582);\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseAssignIn.js?")},3940:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var defineProperty = __webpack_require__(3043);\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseAssignValue.js?")},8874:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Stack = __webpack_require__(6571),\n arrayEach = __webpack_require__(2517),\n assignValue = __webpack_require__(91),\n baseAssign = __webpack_require__(7993),\n baseAssignIn = __webpack_require__(5906),\n cloneBuffer = __webpack_require__(2175),\n copyArray = __webpack_require__(1522),\n copySymbols = __webpack_require__(7680),\n copySymbolsIn = __webpack_require__(9987),\n getAllKeys = __webpack_require__(3483),\n getAllKeysIn = __webpack_require__(6939),\n getTag = __webpack_require__(940),\n initCloneArray = __webpack_require__(9917),\n initCloneByTag = __webpack_require__(8222),\n initCloneObject = __webpack_require__(8725),\n isArray = __webpack_require__(6152),\n isBuffer = __webpack_require__(3226),\n isMap = __webpack_require__(4714),\n isObject = __webpack_require__(9259),\n isSet = __webpack_require__(3679),\n keys = __webpack_require__(249),\n keysIn = __webpack_require__(8582);\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseClone.js?")},9413:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isObject = __webpack_require__(9259);\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseCreate.js?")},1359:module=>{eval("/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseFindIndex.js?")},2034:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayPush = __webpack_require__(5067),\n isFlattenable = __webpack_require__(5882);\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseFlatten.js?")},3324:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var castPath = __webpack_require__(7297),\n toKey = __webpack_require__(3812);\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseGet.js?")},1897:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayPush = __webpack_require__(5067),\n isArray = __webpack_require__(6152);\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseGetAllKeys.js?")},3366:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857),\n getRawTag = __webpack_require__(2107),\n objectToString = __webpack_require__(7157);\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseGetTag.js?")},187:module=>{eval("/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseHasIn.js?")},7832:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseFindIndex = __webpack_require__(1359),\n baseIsNaN = __webpack_require__(2195),\n strictIndexOf = __webpack_require__(6024);\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIndexOf.js?")},5183:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsArguments.js?")},8746:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsEqualDeep = __webpack_require__(1952),\n isObjectLike = __webpack_require__(5125);\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsEqual.js?")},1952:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Stack = __webpack_require__(6571),\n equalArrays = __webpack_require__(4871),\n equalByTag = __webpack_require__(1491),\n equalObjects = __webpack_require__(7416),\n getTag = __webpack_require__(940),\n isArray = __webpack_require__(6152),\n isBuffer = __webpack_require__(3226),\n isTypedArray = __webpack_require__(7598);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsEqualDeep.js?")},4511:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getTag = __webpack_require__(940),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsMap.js?")},7036:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Stack = __webpack_require__(6571),\n baseIsEqual = __webpack_require__(8746);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsMatch.js?")},2195:module=>{eval("/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsNaN.js?")},6840:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isFunction = __webpack_require__(1049),\n isMasked = __webpack_require__(7394),\n isObject = __webpack_require__(9259),\n toSource = __webpack_require__(7035);\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsNative.js?")},8436:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getTag = __webpack_require__(940),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsSet.js?")},5522:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n isLength = __webpack_require__(1158),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIsTypedArray.js?")},8286:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseMatches = __webpack_require__(6423),\n baseMatchesProperty = __webpack_require__(4716),\n identity = __webpack_require__(3059),\n isArray = __webpack_require__(6152),\n property = __webpack_require__(5798);\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseIteratee.js?")},6411:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isPrototype = __webpack_require__(6001),\n nativeKeys = __webpack_require__(4248);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseKeys.js?")},8390:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isObject = __webpack_require__(9259),\n isPrototype = __webpack_require__(6001),\n nativeKeysIn = __webpack_require__(2966);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseKeysIn.js?")},3620:module=>{eval("/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nmodule.exports = baseLodash;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseLodash.js?")},6423:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsMatch = __webpack_require__(7036),\n getMatchData = __webpack_require__(9882),\n matchesStrictComparable = __webpack_require__(3477);\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseMatches.js?")},4716:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsEqual = __webpack_require__(8746),\n get = __webpack_require__(2579),\n hasIn = __webpack_require__(5041),\n isKey = __webpack_require__(1401),\n isStrictComparable = __webpack_require__(8792),\n matchesStrictComparable = __webpack_require__(3477),\n toKey = __webpack_require__(3812);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseMatchesProperty.js?")},256:module=>{eval("/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseProperty.js?")},2952:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGet = __webpack_require__(3324);\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_basePropertyDeep.js?")},4817:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var identity = __webpack_require__(3059),\n metaMap = __webpack_require__(529);\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n};\n\nmodule.exports = baseSetData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseSetData.js?")},6532:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var constant = __webpack_require__(6874),\n defineProperty = __webpack_require__(3043),\n identity = __webpack_require__(3059);\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseSetToString.js?")},6473:module=>{eval("/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseTimes.js?")},1054:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857),\n arrayMap = __webpack_require__(343),\n isArray = __webpack_require__(6152),\n isSymbol = __webpack_require__(4795);\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseToString.js?")},1704:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var trimmedEndIndex = __webpack_require__(2153);\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseTrim.js?")},7826:module=>{eval("/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseUnary.js?")},7326:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var SetCache = __webpack_require__(5386),\n arrayIncludes = __webpack_require__(8333),\n arrayIncludesWith = __webpack_require__(4893),\n cacheHas = __webpack_require__(9950),\n createSet = __webpack_require__(8803),\n setToArray = __webpack_require__(4207);\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_baseUniq.js?")},9950:module=>{eval("/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cacheHas.js?")},7297:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isArray = __webpack_require__(6152),\n isKey = __webpack_require__(1401),\n stringToPath = __webpack_require__(4452),\n toString = __webpack_require__(6188);\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_castPath.js?")},897:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Uint8Array = __webpack_require__(9162);\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneArrayBuffer.js?")},2175:(module,exports,__webpack_require__)=>{eval("/* module decorator */ module = __webpack_require__.nmd(module);\nvar root = __webpack_require__(7772);\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneBuffer.js?")},4727:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var cloneArrayBuffer = __webpack_require__(897);\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneDataView.js?")},6058:module=>{eval("/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneRegExp.js?")},169:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneSymbol.js?")},6190:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var cloneArrayBuffer = __webpack_require__(897);\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_cloneTypedArray.js?")},1495:module=>{eval("/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\nmodule.exports = composeArgs;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_composeArgs.js?")},152:module=>{eval("/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nmodule.exports = composeArgsRight;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_composeArgsRight.js?")},1522:module=>{eval("/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_copyArray.js?")},752:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var assignValue = __webpack_require__(91),\n baseAssignValue = __webpack_require__(3940);\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_copyObject.js?")},7680:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var copyObject = __webpack_require__(752),\n getSymbols = __webpack_require__(633);\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_copySymbols.js?")},9987:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var copyObject = __webpack_require__(752),\n getSymbolsIn = __webpack_require__(2680);\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_copySymbolsIn.js?")},4019:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var root = __webpack_require__(7772);\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_coreJsData.js?")},1176:module=>{eval("/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\nmodule.exports = countHolders;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_countHolders.js?")},3485:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var createCtor = __webpack_require__(2248),\n root = __webpack_require__(7772);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\nmodule.exports = createBind;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createBind.js?")},2248:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseCreate = __webpack_require__(9413),\n isObject = __webpack_require__(9259);\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nmodule.exports = createCtor;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createCtor.js?")},8462:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var apply = __webpack_require__(9432),\n createCtor = __webpack_require__(2248),\n createHybrid = __webpack_require__(764),\n createRecurry = __webpack_require__(7891),\n getHolder = __webpack_require__(3789),\n replaceHolders = __webpack_require__(527),\n root = __webpack_require__(7772);\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createCurry;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createCurry.js?")},8776:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIteratee = __webpack_require__(8286),\n isArrayLike = __webpack_require__(7878),\n keys = __webpack_require__(249);\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createFind.js?")},764:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var composeArgs = __webpack_require__(1495),\n composeArgsRight = __webpack_require__(152),\n countHolders = __webpack_require__(1176),\n createCtor = __webpack_require__(2248),\n createRecurry = __webpack_require__(7891),\n getHolder = __webpack_require__(3789),\n reorder = __webpack_require__(3418),\n replaceHolders = __webpack_require__(527),\n root = __webpack_require__(7772);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\nmodule.exports = createHybrid;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createHybrid.js?")},5468:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var apply = __webpack_require__(9432),\n createCtor = __webpack_require__(2248),\n root = __webpack_require__(7772);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createPartial;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createPartial.js?")},7891:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isLaziable = __webpack_require__(3735),\n setData = __webpack_require__(9890),\n setWrapToString = __webpack_require__(5877);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nmodule.exports = createRecurry;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createRecurry.js?")},8803:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Set = __webpack_require__(2143),\n noop = __webpack_require__(4291),\n setToArray = __webpack_require__(4207);\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createSet.js?")},7902:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseSetData = __webpack_require__(4817),\n createBind = __webpack_require__(3485),\n createCurry = __webpack_require__(8462),\n createHybrid = __webpack_require__(764),\n createPartial = __webpack_require__(5468),\n getData = __webpack_require__(4741),\n mergeData = __webpack_require__(9000),\n setData = __webpack_require__(9890),\n setWrapToString = __webpack_require__(5877),\n toInteger = __webpack_require__(8101);\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nmodule.exports = createWrap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_createWrap.js?")},3043:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761);\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_defineProperty.js?")},4871:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var SetCache = __webpack_require__(5386),\n arraySome = __webpack_require__(7064),\n cacheHas = __webpack_require__(9950);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_equalArrays.js?")},1491:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857),\n Uint8Array = __webpack_require__(9162),\n eq = __webpack_require__(1225),\n equalArrays = __webpack_require__(4871),\n mapToArray = __webpack_require__(5179),\n setToArray = __webpack_require__(4207);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_equalByTag.js?")},7416:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getAllKeys = __webpack_require__(3483);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_equalObjects.js?")},9097:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var flatten = __webpack_require__(5676),\n overRest = __webpack_require__(3114),\n setToString = __webpack_require__(5251);\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_flatRest.js?")},1242:(module,__unused_webpack_exports,__webpack_require__)=>{eval("/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\nmodule.exports = freeGlobal;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_freeGlobal.js?")},3483:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetAllKeys = __webpack_require__(1897),\n getSymbols = __webpack_require__(633),\n keys = __webpack_require__(249);\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getAllKeys.js?")},6939:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetAllKeys = __webpack_require__(1897),\n getSymbolsIn = __webpack_require__(2680),\n keysIn = __webpack_require__(8582);\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getAllKeysIn.js?")},4741:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var metaMap = __webpack_require__(529),\n noop = __webpack_require__(4291);\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nmodule.exports = getData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getData.js?")},9350:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var realNames = __webpack_require__(9212);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nmodule.exports = getFuncName;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getFuncName.js?")},3789:module=>{eval("/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\nmodule.exports = getHolder;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getHolder.js?")},7937:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isKeyable = __webpack_require__(8304);\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getMapData.js?")},9882:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isStrictComparable = __webpack_require__(8792),\n keys = __webpack_require__(249);\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getMatchData.js?")},8761:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsNative = __webpack_require__(6840),\n getValue = __webpack_require__(8109);\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getNative.js?")},7353:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var overArg = __webpack_require__(241);\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getPrototype.js?")},2107:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getRawTag.js?")},633:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayFilter = __webpack_require__(7552),\n stubArray = __webpack_require__(981);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getSymbols.js?")},2680:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayPush = __webpack_require__(5067),\n getPrototype = __webpack_require__(7353),\n getSymbols = __webpack_require__(633),\n stubArray = __webpack_require__(981);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getSymbolsIn.js?")},940:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var DataView = __webpack_require__(9515),\n Map = __webpack_require__(326),\n Promise = __webpack_require__(2760),\n Set = __webpack_require__(2143),\n WeakMap = __webpack_require__(3215),\n baseGetTag = __webpack_require__(3366),\n toSource = __webpack_require__(7035);\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getTag.js?")},8109:module=>{eval("/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getValue.js?")},4842:module=>{eval("/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\nmodule.exports = getWrapDetails;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_getWrapDetails.js?")},1369:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var castPath = __webpack_require__(7297),\n isArguments = __webpack_require__(9631),\n isArray = __webpack_require__(6152),\n isIndex = __webpack_require__(9045),\n isLength = __webpack_require__(1158),\n toKey = __webpack_require__(3812);\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hasPath.js?")},2118:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var nativeCreate = __webpack_require__(9191);\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hashClear.js?")},6909:module=>{eval("/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hashDelete.js?")},8138:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var nativeCreate = __webpack_require__(9191);\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hashGet.js?")},4174:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var nativeCreate = __webpack_require__(9191);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hashHas.js?")},7942:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var nativeCreate = __webpack_require__(9191);\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_hashSet.js?")},9917:module=>{eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_initCloneArray.js?")},8222:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var cloneArrayBuffer = __webpack_require__(897),\n cloneDataView = __webpack_require__(4727),\n cloneRegExp = __webpack_require__(6058),\n cloneSymbol = __webpack_require__(169),\n cloneTypedArray = __webpack_require__(6190);\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_initCloneByTag.js?")},8725:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseCreate = __webpack_require__(9413),\n getPrototype = __webpack_require__(7353),\n isPrototype = __webpack_require__(6001);\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_initCloneObject.js?")},8442:module=>{eval("/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\nmodule.exports = insertWrapDetails;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_insertWrapDetails.js?")},5882:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Symbol = __webpack_require__(857),\n isArguments = __webpack_require__(9631),\n isArray = __webpack_require__(6152);\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isFlattenable.js?")},9045:module=>{eval("/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isIndex.js?")},1401:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isArray = __webpack_require__(6152),\n isSymbol = __webpack_require__(4795);\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isKey.js?")},8304:module=>{eval("/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isKeyable.js?")},3735:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var LazyWrapper = __webpack_require__(6504),\n getData = __webpack_require__(4741),\n getFuncName = __webpack_require__(9350),\n lodash = __webpack_require__(8674);\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nmodule.exports = isLaziable;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isLaziable.js?")},7394:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var coreJsData = __webpack_require__(4019);\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isMasked.js?")},6001:module=>{eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isPrototype.js?")},8792:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isObject = __webpack_require__(9259);\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_isStrictComparable.js?")},3945:module=>{eval("/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_listCacheClear.js?")},1846:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var assocIndexOf = __webpack_require__(2218);\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_listCacheDelete.js?")},8028:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var assocIndexOf = __webpack_require__(2218);\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_listCacheGet.js?")},2344:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var assocIndexOf = __webpack_require__(2218);\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_listCacheHas.js?")},4769:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var assocIndexOf = __webpack_require__(2218);\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_listCacheSet.js?")},2411:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Hash = __webpack_require__(9612),\n ListCache = __webpack_require__(235),\n Map = __webpack_require__(326);\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapCacheClear.js?")},6417:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getMapData = __webpack_require__(7937);\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapCacheDelete.js?")},6928:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getMapData = __webpack_require__(7937);\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapCacheGet.js?")},9493:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getMapData = __webpack_require__(7937);\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapCacheHas.js?")},4150:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getMapData = __webpack_require__(7937);\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapCacheSet.js?")},5179:module=>{eval("/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mapToArray.js?")},3477:module=>{eval("/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_matchesStrictComparable.js?")},7777:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var memoize = __webpack_require__(733);\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_memoizeCapped.js?")},9e3:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var composeArgs = __webpack_require__(1495),\n composeArgsRight = __webpack_require__(152),\n replaceHolders = __webpack_require__(527);\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\nmodule.exports = mergeData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_mergeData.js?")},529:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var WeakMap = __webpack_require__(3215);\n\n/** Used to store function metadata. */\nvar metaMap = WeakMap && new WeakMap;\n\nmodule.exports = metaMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_metaMap.js?")},9191:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getNative = __webpack_require__(8761);\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_nativeCreate.js?")},4248:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var overArg = __webpack_require__(241);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_nativeKeys.js?")},2966:module=>{eval("/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_nativeKeysIn.js?")},4146:(module,exports,__webpack_require__)=>{eval("/* module decorator */ module = __webpack_require__.nmd(module);\nvar freeGlobal = __webpack_require__(1242);\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_nodeUtil.js?")},7157:module=>{eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_objectToString.js?")},241:module=>{eval("/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_overArg.js?")},3114:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var apply = __webpack_require__(9432);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_overRest.js?")},9212:module=>{eval("/** Used to lookup unminified function names. */\nvar realNames = {};\n\nmodule.exports = realNames;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_realNames.js?")},3418:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var copyArray = __webpack_require__(1522),\n isIndex = __webpack_require__(9045);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\nmodule.exports = reorder;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_reorder.js?")},527:module=>{eval("/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\nmodule.exports = replaceHolders;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_replaceHolders.js?")},7772:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var freeGlobal = __webpack_require__(1242);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_root.js?")},2842:module=>{eval("/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setCacheAdd.js?")},2482:module=>{eval("/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setCacheHas.js?")},9890:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseSetData = __webpack_require__(4817),\n shortOut = __webpack_require__(7787);\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nmodule.exports = setData;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setData.js?")},4207:module=>{eval("/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setToArray.js?")},5251:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseSetToString = __webpack_require__(6532),\n shortOut = __webpack_require__(7787);\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setToString.js?")},5877:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getWrapDetails = __webpack_require__(4842),\n insertWrapDetails = __webpack_require__(8442),\n setToString = __webpack_require__(5251),\n updateWrapDetails = __webpack_require__(6985);\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nmodule.exports = setWrapToString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_setWrapToString.js?")},7787:module=>{eval("/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_shortOut.js?")},5243:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var ListCache = __webpack_require__(235);\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stackClear.js?")},2858:module=>{eval("/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stackDelete.js?")},4417:module=>{eval("/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stackGet.js?")},8605:module=>{eval("/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stackHas.js?")},1418:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var ListCache = __webpack_require__(235),\n Map = __webpack_require__(326),\n MapCache = __webpack_require__(6738);\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stackSet.js?")},6024:module=>{eval("/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_strictIndexOf.js?")},4452:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var memoizeCapped = __webpack_require__(7777);\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_stringToPath.js?")},3812:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isSymbol = __webpack_require__(4795);\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_toKey.js?")},7035:module=>{eval("/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_toSource.js?")},2153:module=>{eval("/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_trimmedEndIndex.js?")},6985:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayEach = __webpack_require__(2517),\n arrayIncludes = __webpack_require__(8333);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\nmodule.exports = updateWrapDetails;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_updateWrapDetails.js?")},7366:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var LazyWrapper = __webpack_require__(6504),\n LodashWrapper = __webpack_require__(5859),\n copyArray = __webpack_require__(1522);\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\nmodule.exports = wrapperClone;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/_wrapperClone.js?")},9534:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var createWrap = __webpack_require__(7902);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_ARY_FLAG = 128;\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\nfunction ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n}\n\nmodule.exports = ary;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/ary.js?")},4004:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseClone = __webpack_require__(8874);\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/clone.js?")},9850:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseClone = __webpack_require__(8874);\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/cloneDeep.js?")},6874:module=>{eval("/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/constant.js?")},2957:(module,__unused_webpack_exports,__webpack_require__)=>{eval('var createWrap = __webpack_require__(7902);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn\'t set the "length" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nmodule.exports = curry;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/curry.js?')},1225:module=>{eval("/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/eq.js?")},5281:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var createFind = __webpack_require__(8776),\n findIndex = __webpack_require__(2982);\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/find.js?")},2982:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseFindIndex = __webpack_require__(1359),\n baseIteratee = __webpack_require__(8286),\n toInteger = __webpack_require__(8101);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/findIndex.js?")},5676:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseFlatten = __webpack_require__(2034);\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/flatten.js?")},193:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var _ = (__webpack_require__(8203).runInContext)();\nmodule.exports = __webpack_require__(8620)(_, _);\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp.js?")},8620:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var mapping = __webpack_require__(973),\n fallbackHolder = __webpack_require__(4652);\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n return n == 2\n ? function(a, b) { return func.apply(undefined, arguments); }\n : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n return n == 2\n ? function(a, b) { return func(a, b); }\n : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n var length = array ? array.length : 0,\n result = Array(length);\n\n while (length--) {\n result[length] = array[length];\n }\n return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n return function(object) {\n return func({}, object);\n };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n return function() {\n var length = arguments.length,\n lastIndex = length - 1,\n args = Array(length);\n\n while (length--) {\n args[length] = arguments[length];\n }\n var array = args[start],\n otherArgs = args.slice(0, start);\n\n if (array) {\n push.apply(otherArgs, array);\n }\n if (start != lastIndex) {\n push.apply(otherArgs, args.slice(start + 1));\n }\n return func.apply(this, otherArgs);\n };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return;\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var result = args[0] = cloner.apply(undefined, args);\n func.apply(undefined, args);\n return result;\n };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n var isLib = typeof name == 'function',\n isObj = name === Object(name);\n\n if (isObj) {\n options = func;\n func = name;\n name = undefined;\n }\n if (func == null) {\n throw new TypeError;\n }\n options || (options = {});\n\n var config = {\n 'cap': 'cap' in options ? options.cap : true,\n 'curry': 'curry' in options ? options.curry : true,\n 'fixed': 'fixed' in options ? options.fixed : true,\n 'immutable': 'immutable' in options ? options.immutable : true,\n 'rearg': 'rearg' in options ? options.rearg : true\n };\n\n var defaultHolder = isLib ? func : fallbackHolder,\n forceCurry = ('curry' in options) && options.curry,\n forceFixed = ('fixed' in options) && options.fixed,\n forceRearg = ('rearg' in options) && options.rearg,\n pristine = isLib ? func.runInContext() : undefined;\n\n var helpers = isLib ? func : {\n 'ary': util.ary,\n 'assign': util.assign,\n 'clone': util.clone,\n 'curry': util.curry,\n 'forEach': util.forEach,\n 'isArray': util.isArray,\n 'isError': util.isError,\n 'isFunction': util.isFunction,\n 'isWeakMap': util.isWeakMap,\n 'iteratee': util.iteratee,\n 'keys': util.keys,\n 'rearg': util.rearg,\n 'toInteger': util.toInteger,\n 'toPath': util.toPath\n };\n\n var ary = helpers.ary,\n assign = helpers.assign,\n clone = helpers.clone,\n curry = helpers.curry,\n each = helpers.forEach,\n isArray = helpers.isArray,\n isError = helpers.isError,\n isFunction = helpers.isFunction,\n isWeakMap = helpers.isWeakMap,\n keys = helpers.keys,\n rearg = helpers.rearg,\n toInteger = helpers.toInteger,\n toPath = helpers.toPath;\n\n var aryMethodKeys = keys(mapping.aryMethod);\n\n var wrappers = {\n 'castArray': function(castArray) {\n return function() {\n var value = arguments[0];\n return isArray(value)\n ? castArray(cloneArray(value))\n : castArray.apply(undefined, arguments);\n };\n },\n 'iteratee': function(iteratee) {\n return function() {\n var func = arguments[0],\n arity = arguments[1],\n result = iteratee(func, arity),\n length = result.length;\n\n if (config.cap && typeof arity == 'number') {\n arity = arity > 2 ? (arity - 2) : 1;\n return (length && length <= arity) ? result : baseAry(result, arity);\n }\n return result;\n };\n },\n 'mixin': function(mixin) {\n return function(source) {\n var func = this;\n if (!isFunction(func)) {\n return mixin(func, Object(source));\n }\n var pairs = [];\n each(keys(source), function(key) {\n if (isFunction(source[key])) {\n pairs.push([key, func.prototype[key]]);\n }\n });\n\n mixin(func, Object(source));\n\n each(pairs, function(pair) {\n var value = pair[1];\n if (isFunction(value)) {\n func.prototype[pair[0]] = value;\n } else {\n delete func.prototype[pair[0]];\n }\n });\n return func;\n };\n },\n 'nthArg': function(nthArg) {\n return function(n) {\n var arity = n < 0 ? 1 : (toInteger(n) + 1);\n return curry(nthArg(n), arity);\n };\n },\n 'rearg': function(rearg) {\n return function(func, indexes) {\n var arity = indexes ? indexes.length : 0;\n return curry(rearg(func, indexes), arity);\n };\n },\n 'runInContext': function(runInContext) {\n return function(context) {\n return baseConvert(util, runInContext(context), options);\n };\n }\n };\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Casts `func` to a function with an arity capped iteratee if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @returns {Function} Returns the cast function.\n */\n function castCap(name, func) {\n if (config.cap) {\n var indexes = mapping.iterateeRearg[name];\n if (indexes) {\n return iterateeRearg(func, indexes);\n }\n var n = !isLib && mapping.iterateeAry[name];\n if (n) {\n return iterateeAry(func, n);\n }\n }\n return func;\n }\n\n /**\n * Casts `func` to a curried function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castCurry(name, func, n) {\n return (forceCurry || (config.curry && n > 1))\n ? curry(func, n)\n : func;\n }\n\n /**\n * Casts `func` to a fixed arity function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the cast function.\n */\n function castFixed(name, func, n) {\n if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n var data = mapping.methodSpread[name],\n start = data && data.start;\n\n return start === undefined ? ary(func, n) : flatSpread(func, start);\n }\n return func;\n }\n\n /**\n * Casts `func` to an rearged function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castRearg(name, func, n) {\n return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n : func;\n }\n\n /**\n * Creates a clone of `object` by `path`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {Array|string} path The path to clone by.\n * @returns {Object} Returns the cloned object.\n */\n function cloneByPath(object, path) {\n path = toPath(path);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n result = clone(Object(object)),\n nested = result;\n\n while (nested != null && ++index < length) {\n var key = path[index],\n value = nested[key];\n\n if (value != null &&\n !(isFunction(value) || isError(value) || isWeakMap(value))) {\n nested[key] = clone(index == lastIndex ? value : Object(value));\n }\n nested = nested[key];\n }\n return result;\n }\n\n /**\n * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied.\n *\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function} Returns the converted `lodash`.\n */\n function convertLib(options) {\n return _.runInContext.convert(options)(undefined);\n }\n\n /**\n * Create a converter function for `func` of `name`.\n *\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @returns {Function} Returns the new converter function.\n */\n function createConverter(name, func) {\n var realName = mapping.aliasToReal[name] || name,\n methodName = mapping.remap[realName] || realName,\n oldOptions = options;\n\n return function(options) {\n var newUtil = isLib ? pristine : helpers,\n newFunc = isLib ? pristine[methodName] : func,\n newOptions = assign(assign({}, oldOptions), options);\n\n return baseConvert(newUtil, realName, newFunc, newOptions);\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n * arguments, ignoring any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap iteratee arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\n function iterateeAry(func, n) {\n return overArg(func, function(func) {\n return typeof func == 'function' ? baseAry(func, n) : func;\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee with arguments\n * arranged according to the specified `indexes` where the argument value at\n * the first index is provided as the first argument, the argument value at\n * the second index is provided as the second argument, and so on.\n *\n * @private\n * @param {Function} func The function to rearrange iteratee arguments for.\n * @param {number[]} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n */\n function iterateeRearg(func, indexes) {\n return overArg(func, function(func) {\n var n = indexes.length;\n return baseArity(rearg(baseAry(func, n), indexes), n);\n });\n }\n\n /**\n * Creates a function that invokes `func` with its first argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return func();\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var index = config.rearg ? 0 : (length - 1);\n args[index] = transform(args[index]);\n return func.apply(undefined, args);\n };\n }\n\n /**\n * Creates a function that wraps `func` and applys the conversions\n * rules by `name`.\n *\n * @private\n * @param {string} name The name of the function to wrap.\n * @param {Function} func The function to wrap.\n * @returns {Function} Returns the converted function.\n */\n function wrap(name, func, placeholder) {\n var result,\n realName = mapping.aliasToReal[name] || name,\n wrapped = func,\n wrapper = wrappers[realName];\n\n if (wrapper) {\n wrapped = wrapper(func);\n }\n else if (config.immutable) {\n if (mapping.mutate.array[realName]) {\n wrapped = wrapImmutable(func, cloneArray);\n }\n else if (mapping.mutate.object[realName]) {\n wrapped = wrapImmutable(func, createCloner(func));\n }\n else if (mapping.mutate.set[realName]) {\n wrapped = wrapImmutable(func, cloneByPath);\n }\n }\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(otherName) {\n if (realName == otherName) {\n var data = mapping.methodSpread[realName],\n afterRearg = data && data.afterRearg;\n\n result = afterRearg\n ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n result = castCap(realName, result);\n result = castCurry(realName, result, aryKey);\n return false;\n }\n });\n return !result;\n });\n\n result || (result = wrapped);\n if (result == func) {\n result = forceCurry ? curry(result, 1) : function() {\n return func.apply(this, arguments);\n };\n }\n result.convert = createConverter(realName, func);\n result.placeholder = func.placeholder = placeholder;\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n if (!isObj) {\n return wrap(name, func, defaultHolder);\n }\n var _ = func;\n\n // Convert methods by ary cap.\n var pairs = [];\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(key) {\n var func = _[mapping.remap[key] || key];\n if (func) {\n pairs.push([key, wrap(key, func, _)]);\n }\n });\n });\n\n // Convert remaining methods.\n each(keys(_), function(key) {\n var func = _[key];\n if (typeof func == 'function') {\n var length = pairs.length;\n while (length--) {\n if (pairs[length][0] == key) {\n return;\n }\n }\n func.convert = createConverter(key, func);\n pairs.push([key, func]);\n }\n });\n\n // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n each(pairs, function(pair) {\n _[pair[0]] = pair[1];\n });\n\n _.convert = convertLib;\n _.placeholder = _;\n\n // Assign aliases.\n each(keys(_), function(key) {\n each(mapping.realToAlias[key] || [], function(alias) {\n _[alias] = _[key];\n });\n });\n\n return _;\n}\n\nmodule.exports = baseConvert;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/_baseConvert.js?")},973:(__unused_webpack_module,exports)=>{eval("/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n // Lodash aliases.\n 'each': 'forEach',\n 'eachRight': 'forEachRight',\n 'entries': 'toPairs',\n 'entriesIn': 'toPairsIn',\n 'extend': 'assignIn',\n 'extendAll': 'assignInAll',\n 'extendAllWith': 'assignInAllWith',\n 'extendWith': 'assignInWith',\n 'first': 'head',\n\n // Methods that are curried variants of others.\n 'conforms': 'conformsTo',\n 'matches': 'isMatch',\n 'property': 'get',\n\n // Ramda aliases.\n '__': 'placeholder',\n 'F': 'stubFalse',\n 'T': 'stubTrue',\n 'all': 'every',\n 'allPass': 'overEvery',\n 'always': 'constant',\n 'any': 'some',\n 'anyPass': 'overSome',\n 'apply': 'spread',\n 'assoc': 'set',\n 'assocPath': 'set',\n 'complement': 'negate',\n 'compose': 'flowRight',\n 'contains': 'includes',\n 'dissoc': 'unset',\n 'dissocPath': 'unset',\n 'dropLast': 'dropRight',\n 'dropLastWhile': 'dropRightWhile',\n 'equals': 'isEqual',\n 'identical': 'eq',\n 'indexBy': 'keyBy',\n 'init': 'initial',\n 'invertObj': 'invert',\n 'juxt': 'over',\n 'omitAll': 'omit',\n 'nAry': 'ary',\n 'path': 'get',\n 'pathEq': 'matchesProperty',\n 'pathOr': 'getOr',\n 'paths': 'at',\n 'pickAll': 'pick',\n 'pipe': 'flow',\n 'pluck': 'map',\n 'prop': 'get',\n 'propEq': 'matchesProperty',\n 'propOr': 'getOr',\n 'props': 'at',\n 'symmetricDifference': 'xor',\n 'symmetricDifferenceBy': 'xorBy',\n 'symmetricDifferenceWith': 'xorWith',\n 'takeLast': 'takeRight',\n 'takeLastWhile': 'takeRightWhile',\n 'unapply': 'rest',\n 'unnest': 'flatten',\n 'useWith': 'overArgs',\n 'where': 'conformsTo',\n 'whereEq': 'isMatch',\n 'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n '1': [\n 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n 'uniqueId', 'words', 'zipAll'\n ],\n '2': [\n 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n 'zipObjectDeep'\n ],\n '3': [\n 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n 'xorWith', 'zipWith'\n ],\n '4': [\n 'fill', 'setWith', 'updateWith'\n ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n '2': [1, 0],\n '3': [2, 0, 1],\n '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n 'dropRightWhile': 1,\n 'dropWhile': 1,\n 'every': 1,\n 'filter': 1,\n 'find': 1,\n 'findFrom': 1,\n 'findIndex': 1,\n 'findIndexFrom': 1,\n 'findKey': 1,\n 'findLast': 1,\n 'findLastFrom': 1,\n 'findLastIndex': 1,\n 'findLastIndexFrom': 1,\n 'findLastKey': 1,\n 'flatMap': 1,\n 'flatMapDeep': 1,\n 'flatMapDepth': 1,\n 'forEach': 1,\n 'forEachRight': 1,\n 'forIn': 1,\n 'forInRight': 1,\n 'forOwn': 1,\n 'forOwnRight': 1,\n 'map': 1,\n 'mapKeys': 1,\n 'mapValues': 1,\n 'partition': 1,\n 'reduce': 2,\n 'reduceRight': 2,\n 'reject': 1,\n 'remove': 1,\n 'some': 1,\n 'takeRightWhile': 1,\n 'takeWhile': 1,\n 'times': 1,\n 'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n 'mapKeys': [1],\n 'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n 'assignInAllWith': [1, 0],\n 'assignInWith': [1, 2, 0],\n 'assignAllWith': [1, 0],\n 'assignWith': [1, 2, 0],\n 'differenceBy': [1, 2, 0],\n 'differenceWith': [1, 2, 0],\n 'getOr': [2, 1, 0],\n 'intersectionBy': [1, 2, 0],\n 'intersectionWith': [1, 2, 0],\n 'isEqualWith': [1, 2, 0],\n 'isMatchWith': [2, 1, 0],\n 'mergeAllWith': [1, 0],\n 'mergeWith': [1, 2, 0],\n 'padChars': [2, 1, 0],\n 'padCharsEnd': [2, 1, 0],\n 'padCharsStart': [2, 1, 0],\n 'pullAllBy': [2, 1, 0],\n 'pullAllWith': [2, 1, 0],\n 'rangeStep': [1, 2, 0],\n 'rangeStepRight': [1, 2, 0],\n 'setWith': [3, 1, 2, 0],\n 'sortedIndexBy': [2, 1, 0],\n 'sortedLastIndexBy': [2, 1, 0],\n 'unionBy': [1, 2, 0],\n 'unionWith': [1, 2, 0],\n 'updateWith': [3, 1, 2, 0],\n 'xorBy': [1, 2, 0],\n 'xorWith': [1, 2, 0],\n 'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n 'assignAll': { 'start': 0 },\n 'assignAllWith': { 'start': 0 },\n 'assignInAll': { 'start': 0 },\n 'assignInAllWith': { 'start': 0 },\n 'defaultsAll': { 'start': 0 },\n 'defaultsDeepAll': { 'start': 0 },\n 'invokeArgs': { 'start': 2 },\n 'invokeArgsMap': { 'start': 2 },\n 'mergeAll': { 'start': 0 },\n 'mergeAllWith': { 'start': 0 },\n 'partial': { 'start': 1 },\n 'partialRight': { 'start': 1 },\n 'without': { 'start': 1 },\n 'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n 'array': {\n 'fill': true,\n 'pull': true,\n 'pullAll': true,\n 'pullAllBy': true,\n 'pullAllWith': true,\n 'pullAt': true,\n 'remove': true,\n 'reverse': true\n },\n 'object': {\n 'assign': true,\n 'assignAll': true,\n 'assignAllWith': true,\n 'assignIn': true,\n 'assignInAll': true,\n 'assignInAllWith': true,\n 'assignInWith': true,\n 'assignWith': true,\n 'defaults': true,\n 'defaultsAll': true,\n 'defaultsDeep': true,\n 'defaultsDeepAll': true,\n 'merge': true,\n 'mergeAll': true,\n 'mergeAllWith': true,\n 'mergeWith': true,\n },\n 'set': {\n 'set': true,\n 'setWith': true,\n 'unset': true,\n 'update': true,\n 'updateWith': true\n }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n object = exports.aliasToReal,\n result = {};\n\n for (var key in object) {\n var value = object[key];\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }\n return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n 'assignAll': 'assign',\n 'assignAllWith': 'assignWith',\n 'assignInAll': 'assignIn',\n 'assignInAllWith': 'assignInWith',\n 'curryN': 'curry',\n 'curryRightN': 'curryRight',\n 'defaultsAll': 'defaults',\n 'defaultsDeepAll': 'defaultsDeep',\n 'findFrom': 'find',\n 'findIndexFrom': 'findIndex',\n 'findLastFrom': 'findLast',\n 'findLastIndexFrom': 'findLastIndex',\n 'getOr': 'get',\n 'includesFrom': 'includes',\n 'indexOfFrom': 'indexOf',\n 'invokeArgs': 'invoke',\n 'invokeArgsMap': 'invokeMap',\n 'lastIndexOfFrom': 'lastIndexOf',\n 'mergeAll': 'merge',\n 'mergeAllWith': 'mergeWith',\n 'padChars': 'pad',\n 'padCharsEnd': 'padEnd',\n 'padCharsStart': 'padStart',\n 'propertyOf': 'get',\n 'rangeStep': 'range',\n 'rangeStepRight': 'rangeRight',\n 'restFrom': 'rest',\n 'spreadFrom': 'spread',\n 'trimChars': 'trim',\n 'trimCharsEnd': 'trimEnd',\n 'trimCharsStart': 'trimStart',\n 'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n 'castArray': true,\n 'flow': true,\n 'flowRight': true,\n 'iteratee': true,\n 'mixin': true,\n 'rearg': true,\n 'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n 'add': true,\n 'assign': true,\n 'assignIn': true,\n 'bind': true,\n 'bindKey': true,\n 'concat': true,\n 'difference': true,\n 'divide': true,\n 'eq': true,\n 'gt': true,\n 'gte': true,\n 'isEqual': true,\n 'lt': true,\n 'lte': true,\n 'matchesProperty': true,\n 'merge': true,\n 'multiply': true,\n 'overArgs': true,\n 'partial': true,\n 'partialRight': true,\n 'propertyOf': true,\n 'random': true,\n 'range': true,\n 'rangeRight': true,\n 'subtract': true,\n 'zip': true,\n 'zipObject': true,\n 'zipObjectDeep': true\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/_mapping.js?")},481:(module,__unused_webpack_exports,__webpack_require__)=>{eval("module.exports = {\n 'ary': __webpack_require__(9534),\n 'assign': __webpack_require__(7993),\n 'clone': __webpack_require__(4004),\n 'curry': __webpack_require__(2957),\n 'forEach': __webpack_require__(2517),\n 'isArray': __webpack_require__(6152),\n 'isError': __webpack_require__(5121),\n 'isFunction': __webpack_require__(1049),\n 'isWeakMap': __webpack_require__(8266),\n 'iteratee': __webpack_require__(5923),\n 'keys': __webpack_require__(6411),\n 'rearg': __webpack_require__(577),\n 'toInteger': __webpack_require__(8101),\n 'toPath': __webpack_require__(5497)\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/_util.js?")},2003:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseConvert = __webpack_require__(8620),\n util = __webpack_require__(481);\n\n/**\n * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied. If `name` is an object its methods\n * will be converted.\n *\n * @param {string} name The name of the function to wrap.\n * @param {Function} [func] The function to wrap.\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction convert(name, func, options) {\n return baseConvert(util, name, func, options);\n}\n\nmodule.exports = convert;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/convert.js?")},4652:module=>{eval("/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/placeholder.js?")},617:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var convert = __webpack_require__(2003),\n func = convert('uniqBy', __webpack_require__(4636));\n\nfunc.placeholder = __webpack_require__(4652);\nmodule.exports = func;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/fp/uniqBy.js?")},2579:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGet = __webpack_require__(3324);\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/get.js?")},5041:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseHasIn = __webpack_require__(187),\n hasPath = __webpack_require__(1369);\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/hasIn.js?")},3059:module=>{eval("/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/identity.js?")},9631:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsArguments = __webpack_require__(5183),\n isObjectLike = __webpack_require__(5125);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isArguments.js?")},6152:module=>{eval("/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isArray.js?")},7878:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var isFunction = __webpack_require__(1049),\n isLength = __webpack_require__(1158);\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isArrayLike.js?")},3226:(module,exports,__webpack_require__)=>{eval("/* module decorator */ module = __webpack_require__.nmd(module);\nvar root = __webpack_require__(7772),\n stubFalse = __webpack_require__(6330);\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isBuffer.js?")},5121:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n isObjectLike = __webpack_require__(5125),\n isPlainObject = __webpack_require__(7030);\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n}\n\nmodule.exports = isError;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isError.js?")},1049:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n isObject = __webpack_require__(9259);\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isFunction.js?")},1158:module=>{eval("/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isLength.js?")},4714:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsMap = __webpack_require__(4511),\n baseUnary = __webpack_require__(7826),\n nodeUtil = __webpack_require__(4146);\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isMap.js?")},9259:module=>{eval("/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isObject.js?")},5125:module=>{eval("/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isObjectLike.js?")},7030:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n getPrototype = __webpack_require__(7353),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isPlainObject.js?")},3679:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsSet = __webpack_require__(8436),\n baseUnary = __webpack_require__(7826),\n nodeUtil = __webpack_require__(4146);\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isSet.js?")},4795:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseGetTag = __webpack_require__(3366),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isSymbol.js?")},7598:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIsTypedArray = __webpack_require__(5522),\n baseUnary = __webpack_require__(7826),\n nodeUtil = __webpack_require__(4146);\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isTypedArray.js?")},8266:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var getTag = __webpack_require__(940),\n isObjectLike = __webpack_require__(5125);\n\n/** `Object#toString` result references. */\nvar weakMapTag = '[object WeakMap]';\n\n/**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\nfunction isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n}\n\nmodule.exports = isWeakMap;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/isWeakMap.js?")},5923:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseClone = __webpack_require__(8874),\n baseIteratee = __webpack_require__(8286);\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = iteratee;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/iteratee.js?")},249:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayLikeKeys = __webpack_require__(1634),\n baseKeys = __webpack_require__(6411),\n isArrayLike = __webpack_require__(7878);\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/keys.js?")},8582:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayLikeKeys = __webpack_require__(1634),\n baseKeysIn = __webpack_require__(8390),\n isArrayLike = __webpack_require__(7878);\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/keysIn.js?")},6635:function(module,exports,__webpack_require__){eval("/* module decorator */ module = __webpack_require__.nmd(module);\nvar __WEBPACK_AMD_DEFINE_RESULT__;/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = true && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '<p>' + func(text) + '</p>';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '<p>fred, barney, & pebbles</p>'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('<body>');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<b><%- value %></b>');\n * compiled({ 'value': '<script>' });\n * // => '<b><script></b>'\n *\n * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the internal `print` function in \"evaluate\" delimiters.\n * var compiled = _.template('<% print(\"hello \" + user); %>!');\n * compiled({ 'user': 'barney' });\n * // => 'hello barney!'\n *\n * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n * // Disable support by replacing the \"interpolate\" delimiter.\n * var compiled = _.template('hello ${ user }!');\n * compiled({ 'user': 'pebbles' });\n * // => 'hello pebbles!'\n *\n * // Use backslashes to treat delimiters as plain text.\n * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n * compiled({ 'value': 'ignored' });\n * // => '<%- value %>'\n *\n * // Use the `imports` option to import `jQuery` as `jq`.\n * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n * compiled(data);\n * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n *\n * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n * compiled.source;\n * // => function(data) {\n * // var __t, __p = '';\n * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n * // return __p;\n * // }\n *\n * // Use custom template delimiters.\n * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n * var compiled = _.template('hello {{ user }}!');\n * compiled({ 'user': 'mustache' });\n * // => 'hello mustache!'\n *\n * // Use the `source` property to inline compiled templates for meaningful\n * // line numbers in error messages and stack traces.\n * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n * var JST = {\\\n * \"main\": ' + _.template(mainText).source + '\\\n * };\\\n * ');\n */\n function template(string, options, guard) {\n // Based on John Resig's `tmpl` implementation\n // (http://ejohn.org/blog/javascript-micro-templating/)\n // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n var settings = lodash.templateSettings;\n\n if (guard && isIterateeCall(string, options, guard)) {\n options = undefined;\n }\n string = toString(string);\n options = assignInWith({}, options, settings, customDefaultsAssignIn);\n\n var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n importsKeys = keys(imports),\n importsValues = baseValues(imports, importsKeys);\n\n var isEscaping,\n isEvaluating,\n index = 0,\n interpolate = options.interpolate || reNoMatch,\n source = \"__p += '\";\n\n // Compile the regexp to match each delimiter.\n var reDelimiters = RegExp(\n (options.escape || reNoMatch).source + '|' +\n interpolate.source + '|' +\n (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n (options.evaluate || reNoMatch).source + '|$'\n , 'g');\n\n // Use a sourceURL for easier debugging.\n // The sourceURL gets injected into the source that's eval-ed, so be careful\n // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in\n // and escape the comment, thus injecting code that gets evaled.\n var sourceURL = '//# sourceURL=' +\n (hasOwnProperty.call(options, 'sourceURL')\n ? (options.sourceURL + '').replace(/\\s/g, ' ')\n : ('lodash.templateSources[' + (++templateCounter) + ']')\n ) + '\\n';\n\n string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n interpolateValue || (interpolateValue = esTemplateValue);\n\n // Escape characters that can't be included in string literals.\n source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n\n // Replace delimiters with snippets.\n if (escapeValue) {\n isEscaping = true;\n source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n }\n if (evaluateValue) {\n isEvaluating = true;\n source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n }\n if (interpolateValue) {\n source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n }\n index = offset + match.length;\n\n // The JS engine embedded in Adobe products needs `match` returned in\n // order to produce the correct `offset` value.\n return match;\n });\n\n source += \"';\\n\";\n\n // If `variable` is not specified wrap a with-statement around the generated\n // code to add the data object to the top of the scope chain.\n var variable = hasOwnProperty.call(options, 'variable') && options.variable;\n if (!variable) {\n source = 'with (obj) {\\n' + source + '\\n}\\n';\n }\n // Throw an error if a forbidden character was found in `variable`, to prevent\n // potential command injection attacks.\n else if (reForbiddenIdentifierChars.test(variable)) {\n throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);\n }\n\n // Cleanup code by stripping empty strings.\n source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n .replace(reEmptyStringMiddle, '$1')\n .replace(reEmptyStringTrailing, '$1;');\n\n // Frame code as the function body.\n source = 'function(' + (variable || 'obj') + ') {\\n' +\n (variable\n ? ''\n : 'obj || (obj = {});\\n'\n ) +\n \"var __t, __p = ''\" +\n (isEscaping\n ? ', __e = _.escape'\n : ''\n ) +\n (isEvaluating\n ? ', __j = Array.prototype.join;\\n' +\n \"function print() { __p += __j.call(arguments, '') }\\n\"\n : ';\\n'\n ) +\n source +\n 'return __p\\n}';\n\n var result = attempt(function() {\n return Function(importsKeys, sourceURL + 'return ' + source)\n .apply(undefined, importsValues);\n });\n\n // Provide the compiled function's source by its `toString` method or\n // the `source` property as a convenience for inlining compiled templates.\n result.source = source;\n if (isError(result)) {\n throw result;\n }\n return result;\n }\n\n /**\n * Converts `string`, as a whole, to lower case just like\n * [String#toLowerCase](https://mdn.io/toLowerCase).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.toLower('--Foo-Bar--');\n * // => '--foo-bar--'\n *\n * _.toLower('fooBar');\n * // => 'foobar'\n *\n * _.toLower('__FOO_BAR__');\n * // => '__foo_bar__'\n */\n function toLower(value) {\n return toString(value).toLowerCase();\n }\n\n /**\n * Converts `string`, as a whole, to upper case just like\n * [String#toUpperCase](https://mdn.io/toUpperCase).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.toUpper('--foo-bar--');\n * // => '--FOO-BAR--'\n *\n * _.toUpper('fooBar');\n * // => 'FOOBAR'\n *\n * _.toUpper('__foo_bar__');\n * // => '__FOO_BAR__'\n */\n function toUpper(value) {\n return toString(value).toUpperCase();\n }\n\n /**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\n function trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return baseTrim(string);\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n }\n\n /**\n * Removes trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimEnd(' abc ');\n * // => ' abc'\n *\n * _.trimEnd('-_-abc-_-', '_-');\n * // => '-_-abc'\n */\n function trimEnd(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.slice(0, trimmedEndIndex(string) + 1);\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n\n return castSlice(strSymbols, 0, end).join('');\n }\n\n /**\n * Removes leading whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimStart(' abc ');\n * // => 'abc '\n *\n * _.trimStart('-_-abc-_-', '_-');\n * // => 'abc-_-'\n */\n function trimStart(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimStart, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n start = charsStartIndex(strSymbols, stringToArray(chars));\n\n return castSlice(strSymbols, start).join('');\n }\n\n /**\n * Truncates `string` if it's longer than the given maximum string length.\n * The last characters of the truncated string are replaced with the omission\n * string which defaults to \"...\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to truncate.\n * @param {Object} [options={}] The options object.\n * @param {number} [options.length=30] The maximum string length.\n * @param {string} [options.omission='...'] The string to indicate text is omitted.\n * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n * @returns {string} Returns the truncated string.\n * @example\n *\n * _.truncate('hi-diddly-ho there, neighborino');\n * // => 'hi-diddly-ho there, neighbo...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': ' '\n * });\n * // => 'hi-diddly-ho there,...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': /,? +/\n * });\n * // => 'hi-diddly-ho there...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'omission': ' [...]'\n * });\n * // => 'hi-diddly-ho there, neig [...]'\n */\n function truncate(string, options) {\n var length = DEFAULT_TRUNC_LENGTH,\n omission = DEFAULT_TRUNC_OMISSION;\n\n if (isObject(options)) {\n var separator = 'separator' in options ? options.separator : separator;\n length = 'length' in options ? toInteger(options.length) : length;\n omission = 'omission' in options ? baseToString(options.omission) : omission;\n }\n string = toString(string);\n\n var strLength = string.length;\n if (hasUnicode(string)) {\n var strSymbols = stringToArray(string);\n strLength = strSymbols.length;\n }\n if (length >= strLength) {\n return string;\n }\n var end = length - stringSize(omission);\n if (end < 1) {\n return omission;\n }\n var result = strSymbols\n ? castSlice(strSymbols, 0, end).join('')\n : string.slice(0, end);\n\n if (separator === undefined) {\n return result + omission;\n }\n if (strSymbols) {\n end += (result.length - end);\n }\n if (isRegExp(separator)) {\n if (string.slice(end).search(separator)) {\n var match,\n substring = result;\n\n if (!separator.global) {\n separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n }\n separator.lastIndex = 0;\n while ((match = separator.exec(substring))) {\n var newEnd = match.index;\n }\n result = result.slice(0, newEnd === undefined ? end : newEnd);\n }\n } else if (string.indexOf(baseToString(separator), end) != end) {\n var index = result.lastIndexOf(separator);\n if (index > -1) {\n result = result.slice(0, index);\n }\n }\n return result + omission;\n }\n\n /**\n * The inverse of `_.escape`; this method converts the HTML entities\n * `&`, `<`, `>`, `"`, and `'` in `string` to\n * their corresponding characters.\n *\n * **Note:** No other HTML entities are unescaped. To unescape additional\n * HTML entities use a third-party library like [_he_](https://mths.be/he).\n *\n * @static\n * @memberOf _\n * @since 0.6.0\n * @category String\n * @param {string} [string=''] The string to unescape.\n * @returns {string} Returns the unescaped string.\n * @example\n *\n * _.unescape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function unescape(string) {\n string = toString(string);\n return (string && reHasEscapedHtml.test(string))\n ? string.replace(reEscapedHtml, unescapeHtmlChar)\n : string;\n }\n\n /**\n * Converts `string`, as space separated words, to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the upper cased string.\n * @example\n *\n * _.upperCase('--foo-bar');\n * // => 'FOO BAR'\n *\n * _.upperCase('fooBar');\n * // => 'FOO BAR'\n *\n * _.upperCase('__foo_bar__');\n * // => 'FOO BAR'\n */\n var upperCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toUpperCase();\n });\n\n /**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\n var upperFirst = createCaseFirst('toUpperCase');\n\n /**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\n function words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Attempts to invoke `func`, returning either the result or the caught error\n * object. Any additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Function} func The function to attempt.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {*} Returns the `func` result or error object.\n * @example\n *\n * // Avoid throwing errors for invalid selectors.\n * var elements = _.attempt(function(selector) {\n * return document.querySelectorAll(selector);\n * }, '>_>');\n *\n * if (_.isError(elements)) {\n * elements = [];\n * }\n */\n var attempt = baseRest(function(func, args) {\n try {\n return apply(func, undefined, args);\n } catch (e) {\n return isError(e) ? e : new Error(e);\n }\n });\n\n /**\n * Binds methods of an object to the object itself, overwriting the existing\n * method.\n *\n * **Note:** This method doesn't set the \"length\" property of bound functions.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Object} object The object to bind and assign the bound methods to.\n * @param {...(string|string[])} methodNames The object method names to bind.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var view = {\n * 'label': 'docs',\n * 'click': function() {\n * console.log('clicked ' + this.label);\n * }\n * };\n *\n * _.bindAll(view, ['click']);\n * jQuery(element).on('click', view.click);\n * // => Logs 'clicked docs' when clicked.\n */\n var bindAll = flatRest(function(object, methodNames) {\n arrayEach(methodNames, function(key) {\n key = toKey(key);\n baseAssignValue(object, key, bind(object[key], object));\n });\n return object;\n });\n\n /**\n * Creates a function that iterates over `pairs` and invokes the corresponding\n * function of the first predicate to return truthy. The predicate-function\n * pairs are invoked with the `this` binding and arguments of the created\n * function.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Array} pairs The predicate-function pairs.\n * @returns {Function} Returns the new composite function.\n * @example\n *\n * var func = _.cond([\n * [_.matches({ 'a': 1 }), _.constant('matches A')],\n * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n * [_.stubTrue, _.constant('no match')]\n * ]);\n *\n * func({ 'a': 1, 'b': 2 });\n * // => 'matches A'\n *\n * func({ 'a': 0, 'b': 1 });\n * // => 'matches B'\n *\n * func({ 'a': '1', 'b': '2' });\n * // => 'no match'\n */\n function cond(pairs) {\n var length = pairs == null ? 0 : pairs.length,\n toIteratee = getIteratee();\n\n pairs = !length ? [] : arrayMap(pairs, function(pair) {\n if (typeof pair[1] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return [toIteratee(pair[0]), pair[1]];\n });\n\n return baseRest(function(args) {\n var index = -1;\n while (++index < length) {\n var pair = pairs[index];\n if (apply(pair[0], this, args)) {\n return apply(pair[1], this, args);\n }\n }\n });\n }\n\n /**\n * Creates a function that invokes the predicate properties of `source` with\n * the corresponding property values of a given object, returning `true` if\n * all predicates return truthy, else `false`.\n *\n * **Note:** The created function is equivalent to `_.conformsTo` with\n * `source` partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 2, 'b': 1 },\n * { 'a': 1, 'b': 2 }\n * ];\n *\n * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n * // => [{ 'a': 1, 'b': 2 }]\n */\n function conforms(source) {\n return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\n function constant(value) {\n return function() {\n return value;\n };\n }\n\n /**\n * Checks `value` to determine whether a default value should be returned in\n * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n * or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Util\n * @param {*} value The value to check.\n * @param {*} defaultValue The default value.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * _.defaultTo(1, 10);\n * // => 1\n *\n * _.defaultTo(undefined, 10);\n * // => 10\n */\n function defaultTo(value, defaultValue) {\n return (value == null || value !== value) ? defaultValue : value;\n }\n\n /**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\n var flow = createFlow();\n\n /**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\n var flowRight = createFlow(true);\n\n /**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\n function identity(value) {\n return value;\n }\n\n /**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\n function iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\n function matches(source) {\n return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\n function matchesProperty(path, srcValue) {\n return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n }\n\n /**\n * Creates a function that invokes the method at `path` of a given object.\n * Any additional arguments are provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': _.constant(2) } },\n * { 'a': { 'b': _.constant(1) } }\n * ];\n *\n * _.map(objects, _.method('a.b'));\n * // => [2, 1]\n *\n * _.map(objects, _.method(['a', 'b']));\n * // => [2, 1]\n */\n var method = baseRest(function(path, args) {\n return function(object) {\n return baseInvoke(object, path, args);\n };\n });\n\n /**\n * The opposite of `_.method`; this method creates a function that invokes\n * the method at a given path of `object`. Any additional arguments are\n * provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Object} object The object to query.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var array = _.times(3, _.constant),\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n * // => [2, 0]\n */\n var methodOf = baseRest(function(object, args) {\n return function(path) {\n return baseInvoke(object, path, args);\n };\n });\n\n /**\n * Adds all own enumerable string keyed function properties of a source\n * object to the destination object. If `object` is a function, then methods\n * are added to its prototype as well.\n *\n * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n * avoid conflicts caused by modifying the original.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Function|Object} [object=lodash] The destination object.\n * @param {Object} source The object of functions to add.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n * @returns {Function|Object} Returns `object`.\n * @example\n *\n * function vowels(string) {\n * return _.filter(string, function(v) {\n * return /[aeiou]/i.test(v);\n * });\n * }\n *\n * _.mixin({ 'vowels': vowels });\n * _.vowels('fred');\n * // => ['e']\n *\n * _('fred').vowels().value();\n * // => ['e']\n *\n * _.mixin({ 'vowels': vowels }, { 'chain': false });\n * _('fred').vowels();\n * // => ['e']\n */\n function mixin(object, source, options) {\n var props = keys(source),\n methodNames = baseFunctions(source, props);\n\n if (options == null &&\n !(isObject(source) && (methodNames.length || !props.length))) {\n options = source;\n source = object;\n object = this;\n methodNames = baseFunctions(source, keys(source));\n }\n var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n isFunc = isFunction(object);\n\n arrayEach(methodNames, function(methodName) {\n var func = source[methodName];\n object[methodName] = func;\n if (isFunc) {\n object.prototype[methodName] = function() {\n var chainAll = this.__chain__;\n if (chain || chainAll) {\n var result = object(this.__wrapped__),\n actions = result.__actions__ = copyArray(this.__actions__);\n\n actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n result.__chain__ = chainAll;\n return result;\n }\n return func.apply(object, arrayPush([this.value()], arguments));\n };\n }\n });\n\n return object;\n }\n\n /**\n * Reverts the `_` variable to its previous value and returns a reference to\n * the `lodash` function.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @returns {Function} Returns the `lodash` function.\n * @example\n *\n * var lodash = _.noConflict();\n */\n function noConflict() {\n if (root._ === this) {\n root._ = oldDash;\n }\n return this;\n }\n\n /**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\n function noop() {\n // No operation performed.\n }\n\n /**\n * Creates a function that gets the argument at index `n`. If `n` is negative,\n * the nth argument from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [n=0] The index of the argument to return.\n * @returns {Function} Returns the new pass-thru function.\n * @example\n *\n * var func = _.nthArg(1);\n * func('a', 'b', 'c', 'd');\n * // => 'b'\n *\n * var func = _.nthArg(-2);\n * func('a', 'b', 'c', 'd');\n * // => 'c'\n */\n function nthArg(n) {\n n = toInteger(n);\n return baseRest(function(args) {\n return baseNth(args, n);\n });\n }\n\n /**\n * Creates a function that invokes `iteratees` with the arguments it receives\n * and returns their results.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to invoke.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.over([Math.max, Math.min]);\n *\n * func(1, 2, 3, 4);\n * // => [4, 1]\n */\n var over = createOver(arrayMap);\n\n /**\n * Creates a function that checks if **all** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overEvery([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => false\n *\n * func(NaN);\n * // => false\n */\n var overEvery = createOver(arrayEvery);\n\n /**\n * Creates a function that checks if **any** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overSome([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => true\n *\n * func(NaN);\n * // => false\n *\n * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])\n * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])\n */\n var overSome = createOver(arraySome);\n\n /**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\n function property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n }\n\n /**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\n function propertyOf(object) {\n return function(path) {\n return object == null ? undefined : baseGet(object, path);\n };\n }\n\n /**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\n var range = createRange();\n\n /**\n * This method is like `_.range` except that it populates values in\n * descending order.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.range\n * @example\n *\n * _.rangeRight(4);\n * // => [3, 2, 1, 0]\n *\n * _.rangeRight(-4);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 5);\n * // => [4, 3, 2, 1]\n *\n * _.rangeRight(0, 20, 5);\n * // => [15, 10, 5, 0]\n *\n * _.rangeRight(0, -4, -1);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.rangeRight(0);\n * // => []\n */\n var rangeRight = createRange(true);\n\n /**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\n function stubArray() {\n return [];\n }\n\n /**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\n function stubFalse() {\n return false;\n }\n\n /**\n * This method returns a new empty object.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Object} Returns the new empty object.\n * @example\n *\n * var objects = _.times(2, _.stubObject);\n *\n * console.log(objects);\n * // => [{}, {}]\n *\n * console.log(objects[0] === objects[1]);\n * // => false\n */\n function stubObject() {\n return {};\n }\n\n /**\n * This method returns an empty string.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {string} Returns the empty string.\n * @example\n *\n * _.times(2, _.stubString);\n * // => ['', '']\n */\n function stubString() {\n return '';\n }\n\n /**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\n function stubTrue() {\n return true;\n }\n\n /**\n * Invokes the iteratee `n` times, returning an array of the results of\n * each invocation. The iteratee is invoked with one argument; (index).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.times(3, String);\n * // => ['0', '1', '2']\n *\n * _.times(4, _.constant(0));\n * // => [0, 0, 0, 0]\n */\n function times(n, iteratee) {\n n = toInteger(n);\n if (n < 1 || n > MAX_SAFE_INTEGER) {\n return [];\n }\n var index = MAX_ARRAY_LENGTH,\n length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n iteratee = getIteratee(iteratee);\n n -= MAX_ARRAY_LENGTH;\n\n var result = baseTimes(length, iteratee);\n while (++index < n) {\n iteratee(index);\n }\n return result;\n }\n\n /**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\n function toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n }\n\n /**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\n function uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\n var add = createMathOperation(function(augend, addend) {\n return augend + addend;\n }, 0);\n\n /**\n * Computes `number` rounded up to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round up.\n * @param {number} [precision=0] The precision to round up to.\n * @returns {number} Returns the rounded up number.\n * @example\n *\n * _.ceil(4.006);\n * // => 5\n *\n * _.ceil(6.004, 2);\n * // => 6.01\n *\n * _.ceil(6040, -2);\n * // => 6100\n */\n var ceil = createRound('ceil');\n\n /**\n * Divide two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} dividend The first number in a division.\n * @param {number} divisor The second number in a division.\n * @returns {number} Returns the quotient.\n * @example\n *\n * _.divide(6, 4);\n * // => 1.5\n */\n var divide = createMathOperation(function(dividend, divisor) {\n return dividend / divisor;\n }, 1);\n\n /**\n * Computes `number` rounded down to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round down.\n * @param {number} [precision=0] The precision to round down to.\n * @returns {number} Returns the rounded down number.\n * @example\n *\n * _.floor(4.006);\n * // => 4\n *\n * _.floor(0.046, 2);\n * // => 0.04\n *\n * _.floor(4060, -2);\n * // => 4000\n */\n var floor = createRound('floor');\n\n /**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\n function max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n }\n\n /**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\n function maxBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\n : undefined;\n }\n\n /**\n * Computes the mean of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the mean.\n * @example\n *\n * _.mean([4, 2, 8, 6]);\n * // => 5\n */\n function mean(array) {\n return baseMean(array, identity);\n }\n\n /**\n * This method is like `_.mean` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be averaged.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the mean.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.meanBy(objects, function(o) { return o.n; });\n * // => 5\n *\n * // The `_.property` iteratee shorthand.\n * _.meanBy(objects, 'n');\n * // => 5\n */\n function meanBy(array, iteratee) {\n return baseMean(array, getIteratee(iteratee, 2));\n }\n\n /**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\n function min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n }\n\n /**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\n function minBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\n : undefined;\n }\n\n /**\n * Multiply two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} multiplier The first number in a multiplication.\n * @param {number} multiplicand The second number in a multiplication.\n * @returns {number} Returns the product.\n * @example\n *\n * _.multiply(6, 4);\n * // => 24\n */\n var multiply = createMathOperation(function(multiplier, multiplicand) {\n return multiplier * multiplicand;\n }, 1);\n\n /**\n * Computes `number` rounded to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round.\n * @param {number} [precision=0] The precision to round to.\n * @returns {number} Returns the rounded number.\n * @example\n *\n * _.round(4.006);\n * // => 4\n *\n * _.round(4.006, 2);\n * // => 4.01\n *\n * _.round(4060, -2);\n * // => 4100\n */\n var round = createRound('round');\n\n /**\n * Subtract two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {number} minuend The first number in a subtraction.\n * @param {number} subtrahend The second number in a subtraction.\n * @returns {number} Returns the difference.\n * @example\n *\n * _.subtract(6, 4);\n * // => 2\n */\n var subtract = createMathOperation(function(minuend, subtrahend) {\n return minuend - subtrahend;\n }, 0);\n\n /**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\n function sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n }\n\n /**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\n function sumBy(array, iteratee) {\n return (array && array.length)\n ? baseSum(array, getIteratee(iteratee, 2))\n : 0;\n }\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return wrapped values in chain sequences.\n lodash.after = after;\n lodash.ary = ary;\n lodash.assign = assign;\n lodash.assignIn = assignIn;\n lodash.assignInWith = assignInWith;\n lodash.assignWith = assignWith;\n lodash.at = at;\n lodash.before = before;\n lodash.bind = bind;\n lodash.bindAll = bindAll;\n lodash.bindKey = bindKey;\n lodash.castArray = castArray;\n lodash.chain = chain;\n lodash.chunk = chunk;\n lodash.compact = compact;\n lodash.concat = concat;\n lodash.cond = cond;\n lodash.conforms = conforms;\n lodash.constant = constant;\n lodash.countBy = countBy;\n lodash.create = create;\n lodash.curry = curry;\n lodash.curryRight = curryRight;\n lodash.debounce = debounce;\n lodash.defaults = defaults;\n lodash.defaultsDeep = defaultsDeep;\n lodash.defer = defer;\n lodash.delay = delay;\n lodash.difference = difference;\n lodash.differenceBy = differenceBy;\n lodash.differenceWith = differenceWith;\n lodash.drop = drop;\n lodash.dropRight = dropRight;\n lodash.dropRightWhile = dropRightWhile;\n lodash.dropWhile = dropWhile;\n lodash.fill = fill;\n lodash.filter = filter;\n lodash.flatMap = flatMap;\n lodash.flatMapDeep = flatMapDeep;\n lodash.flatMapDepth = flatMapDepth;\n lodash.flatten = flatten;\n lodash.flattenDeep = flattenDeep;\n lodash.flattenDepth = flattenDepth;\n lodash.flip = flip;\n lodash.flow = flow;\n lodash.flowRight = flowRight;\n lodash.fromPairs = fromPairs;\n lodash.functions = functions;\n lodash.functionsIn = functionsIn;\n lodash.groupBy = groupBy;\n lodash.initial = initial;\n lodash.intersection = intersection;\n lodash.intersectionBy = intersectionBy;\n lodash.intersectionWith = intersectionWith;\n lodash.invert = invert;\n lodash.invertBy = invertBy;\n lodash.invokeMap = invokeMap;\n lodash.iteratee = iteratee;\n lodash.keyBy = keyBy;\n lodash.keys = keys;\n lodash.keysIn = keysIn;\n lodash.map = map;\n lodash.mapKeys = mapKeys;\n lodash.mapValues = mapValues;\n lodash.matches = matches;\n lodash.matchesProperty = matchesProperty;\n lodash.memoize = memoize;\n lodash.merge = merge;\n lodash.mergeWith = mergeWith;\n lodash.method = method;\n lodash.methodOf = methodOf;\n lodash.mixin = mixin;\n lodash.negate = negate;\n lodash.nthArg = nthArg;\n lodash.omit = omit;\n lodash.omitBy = omitBy;\n lodash.once = once;\n lodash.orderBy = orderBy;\n lodash.over = over;\n lodash.overArgs = overArgs;\n lodash.overEvery = overEvery;\n lodash.overSome = overSome;\n lodash.partial = partial;\n lodash.partialRight = partialRight;\n lodash.partition = partition;\n lodash.pick = pick;\n lodash.pickBy = pickBy;\n lodash.property = property;\n lodash.propertyOf = propertyOf;\n lodash.pull = pull;\n lodash.pullAll = pullAll;\n lodash.pullAllBy = pullAllBy;\n lodash.pullAllWith = pullAllWith;\n lodash.pullAt = pullAt;\n lodash.range = range;\n lodash.rangeRight = rangeRight;\n lodash.rearg = rearg;\n lodash.reject = reject;\n lodash.remove = remove;\n lodash.rest = rest;\n lodash.reverse = reverse;\n lodash.sampleSize = sampleSize;\n lodash.set = set;\n lodash.setWith = setWith;\n lodash.shuffle = shuffle;\n lodash.slice = slice;\n lodash.sortBy = sortBy;\n lodash.sortedUniq = sortedUniq;\n lodash.sortedUniqBy = sortedUniqBy;\n lodash.split = split;\n lodash.spread = spread;\n lodash.tail = tail;\n lodash.take = take;\n lodash.takeRight = takeRight;\n lodash.takeRightWhile = takeRightWhile;\n lodash.takeWhile = takeWhile;\n lodash.tap = tap;\n lodash.throttle = throttle;\n lodash.thru = thru;\n lodash.toArray = toArray;\n lodash.toPairs = toPairs;\n lodash.toPairsIn = toPairsIn;\n lodash.toPath = toPath;\n lodash.toPlainObject = toPlainObject;\n lodash.transform = transform;\n lodash.unary = unary;\n lodash.union = union;\n lodash.unionBy = unionBy;\n lodash.unionWith = unionWith;\n lodash.uniq = uniq;\n lodash.uniqBy = uniqBy;\n lodash.uniqWith = uniqWith;\n lodash.unset = unset;\n lodash.unzip = unzip;\n lodash.unzipWith = unzipWith;\n lodash.update = update;\n lodash.updateWith = updateWith;\n lodash.values = values;\n lodash.valuesIn = valuesIn;\n lodash.without = without;\n lodash.words = words;\n lodash.wrap = wrap;\n lodash.xor = xor;\n lodash.xorBy = xorBy;\n lodash.xorWith = xorWith;\n lodash.zip = zip;\n lodash.zipObject = zipObject;\n lodash.zipObjectDeep = zipObjectDeep;\n lodash.zipWith = zipWith;\n\n // Add aliases.\n lodash.entries = toPairs;\n lodash.entriesIn = toPairsIn;\n lodash.extend = assignIn;\n lodash.extendWith = assignInWith;\n\n // Add methods to `lodash.prototype`.\n mixin(lodash, lodash);\n\n /*------------------------------------------------------------------------*/\n\n // Add methods that return unwrapped values in chain sequences.\n lodash.add = add;\n lodash.attempt = attempt;\n lodash.camelCase = camelCase;\n lodash.capitalize = capitalize;\n lodash.ceil = ceil;\n lodash.clamp = clamp;\n lodash.clone = clone;\n lodash.cloneDeep = cloneDeep;\n lodash.cloneDeepWith = cloneDeepWith;\n lodash.cloneWith = cloneWith;\n lodash.conformsTo = conformsTo;\n lodash.deburr = deburr;\n lodash.defaultTo = defaultTo;\n lodash.divide = divide;\n lodash.endsWith = endsWith;\n lodash.eq = eq;\n lodash.escape = escape;\n lodash.escapeRegExp = escapeRegExp;\n lodash.every = every;\n lodash.find = find;\n lodash.findIndex = findIndex;\n lodash.findKey = findKey;\n lodash.findLast = findLast;\n lodash.findLastIndex = findLastIndex;\n lodash.findLastKey = findLastKey;\n lodash.floor = floor;\n lodash.forEach = forEach;\n lodash.forEachRight = forEachRight;\n lodash.forIn = forIn;\n lodash.forInRight = forInRight;\n lodash.forOwn = forOwn;\n lodash.forOwnRight = forOwnRight;\n lodash.get = get;\n lodash.gt = gt;\n lodash.gte = gte;\n lodash.has = has;\n lodash.hasIn = hasIn;\n lodash.head = head;\n lodash.identity = identity;\n lodash.includes = includes;\n lodash.indexOf = indexOf;\n lodash.inRange = inRange;\n lodash.invoke = invoke;\n lodash.isArguments = isArguments;\n lodash.isArray = isArray;\n lodash.isArrayBuffer = isArrayBuffer;\n lodash.isArrayLike = isArrayLike;\n lodash.isArrayLikeObject = isArrayLikeObject;\n lodash.isBoolean = isBoolean;\n lodash.isBuffer = isBuffer;\n lodash.isDate = isDate;\n lodash.isElement = isElement;\n lodash.isEmpty = isEmpty;\n lodash.isEqual = isEqual;\n lodash.isEqualWith = isEqualWith;\n lodash.isError = isError;\n lodash.isFinite = isFinite;\n lodash.isFunction = isFunction;\n lodash.isInteger = isInteger;\n lodash.isLength = isLength;\n lodash.isMap = isMap;\n lodash.isMatch = isMatch;\n lodash.isMatchWith = isMatchWith;\n lodash.isNaN = isNaN;\n lodash.isNative = isNative;\n lodash.isNil = isNil;\n lodash.isNull = isNull;\n lodash.isNumber = isNumber;\n lodash.isObject = isObject;\n lodash.isObjectLike = isObjectLike;\n lodash.isPlainObject = isPlainObject;\n lodash.isRegExp = isRegExp;\n lodash.isSafeInteger = isSafeInteger;\n lodash.isSet = isSet;\n lodash.isString = isString;\n lodash.isSymbol = isSymbol;\n lodash.isTypedArray = isTypedArray;\n lodash.isUndefined = isUndefined;\n lodash.isWeakMap = isWeakMap;\n lodash.isWeakSet = isWeakSet;\n lodash.join = join;\n lodash.kebabCase = kebabCase;\n lodash.last = last;\n lodash.lastIndexOf = lastIndexOf;\n lodash.lowerCase = lowerCase;\n lodash.lowerFirst = lowerFirst;\n lodash.lt = lt;\n lodash.lte = lte;\n lodash.max = max;\n lodash.maxBy = maxBy;\n lodash.mean = mean;\n lodash.meanBy = meanBy;\n lodash.min = min;\n lodash.minBy = minBy;\n lodash.stubArray = stubArray;\n lodash.stubFalse = stubFalse;\n lodash.stubObject = stubObject;\n lodash.stubString = stubString;\n lodash.stubTrue = stubTrue;\n lodash.multiply = multiply;\n lodash.nth = nth;\n lodash.noConflict = noConflict;\n lodash.noop = noop;\n lodash.now = now;\n lodash.pad = pad;\n lodash.padEnd = padEnd;\n lodash.padStart = padStart;\n lodash.parseInt = parseInt;\n lodash.random = random;\n lodash.reduce = reduce;\n lodash.reduceRight = reduceRight;\n lodash.repeat = repeat;\n lodash.replace = replace;\n lodash.result = result;\n lodash.round = round;\n lodash.runInContext = runInContext;\n lodash.sample = sample;\n lodash.size = size;\n lodash.snakeCase = snakeCase;\n lodash.some = some;\n lodash.sortedIndex = sortedIndex;\n lodash.sortedIndexBy = sortedIndexBy;\n lodash.sortedIndexOf = sortedIndexOf;\n lodash.sortedLastIndex = sortedLastIndex;\n lodash.sortedLastIndexBy = sortedLastIndexBy;\n lodash.sortedLastIndexOf = sortedLastIndexOf;\n lodash.startCase = startCase;\n lodash.startsWith = startsWith;\n lodash.subtract = subtract;\n lodash.sum = sum;\n lodash.sumBy = sumBy;\n lodash.template = template;\n lodash.times = times;\n lodash.toFinite = toFinite;\n lodash.toInteger = toInteger;\n lodash.toLength = toLength;\n lodash.toLower = toLower;\n lodash.toNumber = toNumber;\n lodash.toSafeInteger = toSafeInteger;\n lodash.toString = toString;\n lodash.toUpper = toUpper;\n lodash.trim = trim;\n lodash.trimEnd = trimEnd;\n lodash.trimStart = trimStart;\n lodash.truncate = truncate;\n lodash.unescape = unescape;\n lodash.uniqueId = uniqueId;\n lodash.upperCase = upperCase;\n lodash.upperFirst = upperFirst;\n\n // Add aliases.\n lodash.each = forEach;\n lodash.eachRight = forEachRight;\n lodash.first = head;\n\n mixin(lodash, (function() {\n var source = {};\n baseForOwn(lodash, function(func, methodName) {\n if (!hasOwnProperty.call(lodash.prototype, methodName)) {\n source[methodName] = func;\n }\n });\n return source;\n }()), { 'chain': false });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The semantic version number.\n *\n * @static\n * @memberOf _\n * @type {string}\n */\n lodash.VERSION = VERSION;\n\n // Assign default placeholders.\n arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n lodash[methodName].placeholder = lodash;\n });\n\n // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\n arrayEach(['drop', 'take'], function(methodName, index) {\n LazyWrapper.prototype[methodName] = function(n) {\n n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\n\n var result = (this.__filtered__ && !index)\n ? new LazyWrapper(this)\n : this.clone();\n\n if (result.__filtered__) {\n result.__takeCount__ = nativeMin(n, result.__takeCount__);\n } else {\n result.__views__.push({\n 'size': nativeMin(n, MAX_ARRAY_LENGTH),\n 'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n });\n }\n return result;\n };\n\n LazyWrapper.prototype[methodName + 'Right'] = function(n) {\n return this.reverse()[methodName](n).reverse();\n };\n });\n\n // Add `LazyWrapper` methods that accept an `iteratee` value.\n arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\n var type = index + 1,\n isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n LazyWrapper.prototype[methodName] = function(iteratee) {\n var result = this.clone();\n result.__iteratees__.push({\n 'iteratee': getIteratee(iteratee, 3),\n 'type': type\n });\n result.__filtered__ = result.__filtered__ || isFilter;\n return result;\n };\n });\n\n // Add `LazyWrapper` methods for `_.head` and `_.last`.\n arrayEach(['head', 'last'], function(methodName, index) {\n var takeName = 'take' + (index ? 'Right' : '');\n\n LazyWrapper.prototype[methodName] = function() {\n return this[takeName](1).value()[0];\n };\n });\n\n // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\n arrayEach(['initial', 'tail'], function(methodName, index) {\n var dropName = 'drop' + (index ? '' : 'Right');\n\n LazyWrapper.prototype[methodName] = function() {\n return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\n };\n });\n\n LazyWrapper.prototype.compact = function() {\n return this.filter(identity);\n };\n\n LazyWrapper.prototype.find = function(predicate) {\n return this.filter(predicate).head();\n };\n\n LazyWrapper.prototype.findLast = function(predicate) {\n return this.reverse().find(predicate);\n };\n\n LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\n if (typeof path == 'function') {\n return new LazyWrapper(this);\n }\n return this.map(function(value) {\n return baseInvoke(value, path, args);\n });\n });\n\n LazyWrapper.prototype.reject = function(predicate) {\n return this.filter(negate(getIteratee(predicate)));\n };\n\n LazyWrapper.prototype.slice = function(start, end) {\n start = toInteger(start);\n\n var result = this;\n if (result.__filtered__ && (start > 0 || end < 0)) {\n return new LazyWrapper(result);\n }\n if (start < 0) {\n result = result.takeRight(-start);\n } else if (start) {\n result = result.drop(start);\n }\n if (end !== undefined) {\n end = toInteger(end);\n result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n }\n return result;\n };\n\n LazyWrapper.prototype.takeRightWhile = function(predicate) {\n return this.reverse().takeWhile(predicate).reverse();\n };\n\n LazyWrapper.prototype.toArray = function() {\n return this.take(MAX_ARRAY_LENGTH);\n };\n\n // Add `LazyWrapper` methods to `lodash.prototype`.\n baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n isTaker = /^(?:head|last)$/.test(methodName),\n lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n retUnwrapped = isTaker || /^find/.test(methodName);\n\n if (!lodashFunc) {\n return;\n }\n lodash.prototype[methodName] = function() {\n var value = this.__wrapped__,\n args = isTaker ? [1] : arguments,\n isLazy = value instanceof LazyWrapper,\n iteratee = args[0],\n useLazy = isLazy || isArray(value);\n\n var interceptor = function(value) {\n var result = lodashFunc.apply(lodash, arrayPush([value], args));\n return (isTaker && chainAll) ? result[0] : result;\n };\n\n if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n isLazy = useLazy = false;\n }\n var chainAll = this.__chain__,\n isHybrid = !!this.__actions__.length,\n isUnwrapped = retUnwrapped && !chainAll,\n onlyLazy = isLazy && !isHybrid;\n\n if (!retUnwrapped && useLazy) {\n value = onlyLazy ? value : new LazyWrapper(this);\n var result = func.apply(value, args);\n result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\n return new LodashWrapper(result, chainAll);\n }\n if (isUnwrapped && onlyLazy) {\n return func.apply(this, args);\n }\n result = this.thru(interceptor);\n return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n };\n });\n\n // Add `Array` methods to `lodash.prototype`.\n arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n var func = arrayProto[methodName],\n chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n lodash.prototype[methodName] = function() {\n var args = arguments;\n if (retUnwrapped && !this.__chain__) {\n var value = this.value();\n return func.apply(isArray(value) ? value : [], args);\n }\n return this[chainName](function(value) {\n return func.apply(isArray(value) ? value : [], args);\n });\n };\n });\n\n // Map minified method names to their real names.\n baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n var lodashFunc = lodash[methodName];\n if (lodashFunc) {\n var key = lodashFunc.name + '';\n if (!hasOwnProperty.call(realNames, key)) {\n realNames[key] = [];\n }\n realNames[key].push({ 'name': methodName, 'func': lodashFunc });\n }\n });\n\n realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n 'name': 'wrapper',\n 'func': undefined\n }];\n\n // Add methods to `LazyWrapper`.\n LazyWrapper.prototype.clone = lazyClone;\n LazyWrapper.prototype.reverse = lazyReverse;\n LazyWrapper.prototype.value = lazyValue;\n\n // Add chain sequence methods to the `lodash` wrapper.\n lodash.prototype.at = wrapperAt;\n lodash.prototype.chain = wrapperChain;\n lodash.prototype.commit = wrapperCommit;\n lodash.prototype.next = wrapperNext;\n lodash.prototype.plant = wrapperPlant;\n lodash.prototype.reverse = wrapperReverse;\n lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\n\n // Add lazy aliases.\n lodash.prototype.first = lodash.prototype.head;\n\n if (symIterator) {\n lodash.prototype[symIterator] = wrapperToIterator;\n }\n return lodash;\n });\n\n /*--------------------------------------------------------------------------*/\n\n // Export lodash.\n var _ = runInContext();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like:\n if (true) {\n // Expose Lodash on the global object to prevent errors when Lodash is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n // Use `_.noConflict` to remove Lodash from the global object.\n root._ = _;\n\n // Define as an anonymous module so, through path mapping, it can be\n // referenced as the \"underscore\" module.\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n // Check for `exports` after `define` in case a build optimizer adds it.\n else {}\n}.call(this));\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/lodash.js?")},8203:function(module,exports,__webpack_require__){eval('/* module decorator */ module = __webpack_require__.nmd(module);\nvar __WEBPACK_AMD_DEFINE_RESULT__;/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&t(n[r],r,n)!==!1;);return n}function e(n,t){for(var r=null==n?0:n.length;r--&&t(n[r],r,n)!==!1;);return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;\nreturn!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!!(null==n?0:n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);\nreturn r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function p(n){return n.split("")}function _(n){return n.match($t)||[]}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t===t?Z(n,t,r):g(n,b,r)}function d(n,t,r,e){\nfor(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!==n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Cn}function m(n){return function(t){return null==t?X:t[n]}}function x(n){return function(t){return null==n?X:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==X&&(r=r===X?i:r+i);\n}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return c(t,function(t){return[t,n[t]]})}function R(n){return n?n.slice(0,H(n)+1).replace(Lt,""):n}function z(n){return function(t){return n(t)}}function E(n,t){return c(t,function(t){return n[t]})}function S(n,t){return n.has(t)}function W(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function C(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;\nreturn e}function U(n){return"\\\\"+Yr[n]}function B(n,t){return null==n?X:n[t]}function T(n){return Nr.test(n)}function $(n){return Pr.test(n)}function D(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function N(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==cn||(n[r]=cn,i[u++]=r)}return i}function P(n){var t=-1,r=Array(n.size);\nreturn n.forEach(function(n){r[++t]=n}),r}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Z(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}function K(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function V(n){return T(n)?J(n):_e(n)}function G(n){return T(n)?Y(n):p(n)}function H(n){for(var t=n.length;t--&&Ct.test(n.charAt(t)););return t}function J(n){for(var t=Mr.lastIndex=0;Mr.test(n);)++t;return t}function Y(n){return n.match(Mr)||[];\n}function Q(n){return n.match(Fr)||[]}var X,nn="4.17.21",tn=200,rn="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",en="Expected a function",un="Invalid `variable` option passed into `_.template`",on="__lodash_hash_undefined__",fn=500,cn="__lodash_placeholder__",an=1,ln=2,sn=4,hn=1,pn=2,_n=1,vn=2,gn=4,yn=8,dn=16,bn=32,wn=64,mn=128,xn=256,jn=512,An=30,kn="...",On=800,In=16,Rn=1,zn=2,En=3,Sn=1/0,Wn=9007199254740991,Ln=1.7976931348623157e308,Cn=NaN,Un=4294967295,Bn=Un-1,Tn=Un>>>1,$n=[["ary",mn],["bind",_n],["bindKey",vn],["curry",yn],["curryRight",dn],["flip",jn],["partial",bn],["partialRight",wn],["rearg",xn]],Dn="[object Arguments]",Mn="[object Array]",Fn="[object AsyncFunction]",Nn="[object Boolean]",Pn="[object Date]",qn="[object DOMException]",Zn="[object Error]",Kn="[object Function]",Vn="[object GeneratorFunction]",Gn="[object Map]",Hn="[object Number]",Jn="[object Null]",Yn="[object Object]",Qn="[object Promise]",Xn="[object Proxy]",nt="[object RegExp]",tt="[object Set]",rt="[object String]",et="[object Symbol]",ut="[object Undefined]",it="[object WeakMap]",ot="[object WeakSet]",ft="[object ArrayBuffer]",ct="[object DataView]",at="[object Float32Array]",lt="[object Float64Array]",st="[object Int8Array]",ht="[object Int16Array]",pt="[object Int32Array]",_t="[object Uint8Array]",vt="[object Uint8ClampedArray]",gt="[object Uint16Array]",yt="[object Uint32Array]",dt=/\\b__p \\+= \'\';/g,bt=/\\b(__p \\+=) \'\' \\+/g,wt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n\'\';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"\']/g,jt=RegExp(mt.source),At=RegExp(xt.source),kt=/<%-([\\s\\S]+?)%>/g,Ot=/<%([\\s\\S]+?)%>/g,It=/<%=([\\s\\S]+?)%>/g,Rt=/\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,zt=/^\\w*$/,Et=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,St=/[\\\\^$.*+?()[\\]{}|]/g,Wt=RegExp(St.source),Lt=/^\\s+/,Ct=/\\s/,Ut=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Tt=/,? & /,$t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Dt=/[()=,{}\\[\\]\\/\\s]/,Mt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Nt=/\\w*$/,Pt=/^[-+]0x[0-9a-f]+$/i,qt=/^0b[01]+$/i,Zt=/^\\[object .+?Constructor\\]$/,Kt=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\\d*)$/,Gt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ht=/($^)/,Jt=/[\'\\n\\r\\u2028\\u2029\\\\]/g,Yt="\\\\ud800-\\\\udfff",Qt="\\\\u0300-\\\\u036f",Xt="\\\\ufe20-\\\\ufe2f",nr="\\\\u20d0-\\\\u20ff",tr=Qt+Xt+nr,rr="\\\\u2700-\\\\u27bf",er="a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff",ur="\\\\xac\\\\xb1\\\\xd7\\\\xf7",ir="\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf",or="\\\\u2000-\\\\u206f",fr=" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000",cr="A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde",ar="\\\\ufe0e\\\\ufe0f",lr=ur+ir+or+fr,sr="[\'\\u2019]",hr="["+Yt+"]",pr="["+lr+"]",_r="["+tr+"]",vr="\\\\d+",gr="["+rr+"]",yr="["+er+"]",dr="[^"+Yt+lr+vr+rr+er+cr+"]",br="\\\\ud83c[\\\\udffb-\\\\udfff]",wr="(?:"+_r+"|"+br+")",mr="[^"+Yt+"]",xr="(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}",jr="[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]",Ar="["+cr+"]",kr="\\\\u200d",Or="(?:"+yr+"|"+dr+")",Ir="(?:"+Ar+"|"+dr+")",Rr="(?:"+sr+"(?:d|ll|m|re|s|t|ve))?",zr="(?:"+sr+"(?:D|LL|M|RE|S|T|VE))?",Er=wr+"?",Sr="["+ar+"]?",Wr="(?:"+kr+"(?:"+[mr,xr,jr].join("|")+")"+Sr+Er+")*",Lr="\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])",Cr="\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])",Ur=Sr+Er+Wr,Br="(?:"+[gr,xr,jr].join("|")+")"+Ur,Tr="(?:"+[mr+_r+"?",_r,xr,jr,hr].join("|")+")",$r=RegExp(sr,"g"),Dr=RegExp(_r,"g"),Mr=RegExp(br+"(?="+br+")|"+Tr+Ur,"g"),Fr=RegExp([Ar+"?"+yr+"+"+Rr+"(?="+[pr,Ar,"$"].join("|")+")",Ir+"+"+zr+"(?="+[pr,Ar+Or,"$"].join("|")+")",Ar+"?"+Or+"+"+Rr,Ar+"+"+zr,Cr,Lr,vr,Br].join("|"),"g"),Nr=RegExp("["+kr+Yt+tr+ar+"]"),Pr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Zr=-1,Kr={};\nKr[at]=Kr[lt]=Kr[st]=Kr[ht]=Kr[pt]=Kr[_t]=Kr[vt]=Kr[gt]=Kr[yt]=!0,Kr[Dn]=Kr[Mn]=Kr[ft]=Kr[Nn]=Kr[ct]=Kr[Pn]=Kr[Zn]=Kr[Kn]=Kr[Gn]=Kr[Hn]=Kr[Yn]=Kr[nt]=Kr[tt]=Kr[rt]=Kr[it]=!1;var Vr={};Vr[Dn]=Vr[Mn]=Vr[ft]=Vr[ct]=Vr[Nn]=Vr[Pn]=Vr[at]=Vr[lt]=Vr[st]=Vr[ht]=Vr[pt]=Vr[Gn]=Vr[Hn]=Vr[Yn]=Vr[nt]=Vr[tt]=Vr[rt]=Vr[et]=Vr[_t]=Vr[vt]=Vr[gt]=Vr[yt]=!0,Vr[Zn]=Vr[Kn]=Vr[it]=!1;var Gr={"\\xc0":"A","\\xc1":"A","\\xc2":"A","\\xc3":"A","\\xc4":"A","\\xc5":"A","\\xe0":"a","\\xe1":"a","\\xe2":"a","\\xe3":"a","\\xe4":"a","\\xe5":"a",\n"\\xc7":"C","\\xe7":"c","\\xd0":"D","\\xf0":"d","\\xc8":"E","\\xc9":"E","\\xca":"E","\\xcb":"E","\\xe8":"e","\\xe9":"e","\\xea":"e","\\xeb":"e","\\xcc":"I","\\xcd":"I","\\xce":"I","\\xcf":"I","\\xec":"i","\\xed":"i","\\xee":"i","\\xef":"i","\\xd1":"N","\\xf1":"n","\\xd2":"O","\\xd3":"O","\\xd4":"O","\\xd5":"O","\\xd6":"O","\\xd8":"O","\\xf2":"o","\\xf3":"o","\\xf4":"o","\\xf5":"o","\\xf6":"o","\\xf8":"o","\\xd9":"U","\\xda":"U","\\xdb":"U","\\xdc":"U","\\xf9":"u","\\xfa":"u","\\xfb":"u","\\xfc":"u","\\xdd":"Y","\\xfd":"y","\\xff":"y","\\xc6":"Ae",\n"\\xe6":"ae","\\xde":"Th","\\xfe":"th","\\xdf":"ss","\\u0100":"A","\\u0102":"A","\\u0104":"A","\\u0101":"a","\\u0103":"a","\\u0105":"a","\\u0106":"C","\\u0108":"C","\\u010a":"C","\\u010c":"C","\\u0107":"c","\\u0109":"c","\\u010b":"c","\\u010d":"c","\\u010e":"D","\\u0110":"D","\\u010f":"d","\\u0111":"d","\\u0112":"E","\\u0114":"E","\\u0116":"E","\\u0118":"E","\\u011a":"E","\\u0113":"e","\\u0115":"e","\\u0117":"e","\\u0119":"e","\\u011b":"e","\\u011c":"G","\\u011e":"G","\\u0120":"G","\\u0122":"G","\\u011d":"g","\\u011f":"g","\\u0121":"g",\n"\\u0123":"g","\\u0124":"H","\\u0126":"H","\\u0125":"h","\\u0127":"h","\\u0128":"I","\\u012a":"I","\\u012c":"I","\\u012e":"I","\\u0130":"I","\\u0129":"i","\\u012b":"i","\\u012d":"i","\\u012f":"i","\\u0131":"i","\\u0134":"J","\\u0135":"j","\\u0136":"K","\\u0137":"k","\\u0138":"k","\\u0139":"L","\\u013b":"L","\\u013d":"L","\\u013f":"L","\\u0141":"L","\\u013a":"l","\\u013c":"l","\\u013e":"l","\\u0140":"l","\\u0142":"l","\\u0143":"N","\\u0145":"N","\\u0147":"N","\\u014a":"N","\\u0144":"n","\\u0146":"n","\\u0148":"n","\\u014b":"n","\\u014c":"O",\n"\\u014e":"O","\\u0150":"O","\\u014d":"o","\\u014f":"o","\\u0151":"o","\\u0154":"R","\\u0156":"R","\\u0158":"R","\\u0155":"r","\\u0157":"r","\\u0159":"r","\\u015a":"S","\\u015c":"S","\\u015e":"S","\\u0160":"S","\\u015b":"s","\\u015d":"s","\\u015f":"s","\\u0161":"s","\\u0162":"T","\\u0164":"T","\\u0166":"T","\\u0163":"t","\\u0165":"t","\\u0167":"t","\\u0168":"U","\\u016a":"U","\\u016c":"U","\\u016e":"U","\\u0170":"U","\\u0172":"U","\\u0169":"u","\\u016b":"u","\\u016d":"u","\\u016f":"u","\\u0171":"u","\\u0173":"u","\\u0174":"W","\\u0175":"w",\n"\\u0176":"Y","\\u0177":"y","\\u0178":"Y","\\u0179":"Z","\\u017b":"Z","\\u017d":"Z","\\u017a":"z","\\u017c":"z","\\u017e":"z","\\u0132":"IJ","\\u0133":"ij","\\u0152":"Oe","\\u0153":"oe","\\u0149":"\'n","\\u017f":"s"},Hr={"&":"&","<":"<",">":">",\'"\':""","\'":"'"},Jr={"&":"&","<":"<",">":">",""":\'"\',"'":"\'"},Yr={"\\\\":"\\\\","\'":"\'","\\n":"n","\\r":"r","\\u2028":"u2028","\\u2029":"u2029"},Qr=parseFloat,Xr=parseInt,ne="object"==typeof __webpack_require__.g&&__webpack_require__.g&&__webpack_require__.g.Object===Object&&__webpack_require__.g,te="object"==typeof self&&self&&self.Object===Object&&self,re=ne||te||Function("return this")(),ee= true&&exports&&!exports.nodeType&&exports,ue=ee&&"object"=="object"&&module&&!module.nodeType&&module,ie=ue&&ue.exports===ee,oe=ie&&ne.process,fe=function(){\ntry{var n=ue&&ue.require&&ue.require("util").types;return n?n:oe&&oe.binding&&oe.binding("util")}catch(n){}}(),ce=fe&&fe.isArrayBuffer,ae=fe&&fe.isDate,le=fe&&fe.isMap,se=fe&&fe.isRegExp,he=fe&&fe.isSet,pe=fe&&fe.isTypedArray,_e=m("length"),ve=x(Gr),ge=x(Hr),ye=x(Jr),de=function p(x){function Z(n){if(cc(n)&&!bh(n)&&!(n instanceof Ct)){if(n instanceof Y)return n;if(bl.call(n,"__wrapped__"))return eo(n)}return new Y(n)}function J(){}function Y(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,\nthis.__index__=0,this.__values__=X}function Ct(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Un,this.__views__=[]}function $t(){var n=new Ct(this.__wrapped__);return n.__actions__=Tu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tu(this.__views__),n}function Yt(){if(this.__filtered__){var n=new Ct(this);n.__dir__=-1,\nn.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Qt(){var n=this.__wrapped__.value(),t=this.__dir__,r=bh(n),e=t<0,u=r?n.length:0,i=Oi(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return wu(n,this.__actions__);var _=[];n:for(;c--&&h<p;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(b==zn)g=w;else if(!w){if(b==Rn)continue n;break n}}_[h++]=g}return _}function Xt(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function nr(){this.__data__=is?is(null):{},this.size=0}function tr(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function rr(n){var t=this.__data__;if(is){var r=t[n];return r===on?X:r}return bl.call(t,n)?t[n]:X}function er(n){var t=this.__data__;return is?t[n]!==X:bl.call(t,n)}function ur(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=is&&t===X?on:t,this}function ir(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function or(){this.__data__=[],this.size=0}function fr(n){var t=this.__data__,r=Wr(t,n);return!(r<0)&&(r==t.length-1?t.pop():Ll.call(t,r,1),--this.size,!0)}function cr(n){var t=this.__data__,r=Wr(t,n);return r<0?X:t[r][1]}function ar(n){return Wr(this.__data__,n)>-1}function lr(n,t){var r=this.__data__,e=Wr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function sr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){\nvar e=n[t];this.set(e[0],e[1])}}function hr(){this.size=0,this.__data__={hash:new Xt,map:new(ts||ir),string:new Xt}}function pr(n){var t=xi(this,n).delete(n);return this.size-=t?1:0,t}function _r(n){return xi(this,n).get(n)}function vr(n){return xi(this,n).has(n)}function gr(n,t){var r=xi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function yr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new sr;++t<r;)this.add(n[t])}function dr(n){return this.__data__.set(n,on),this}function br(n){\nreturn this.__data__.has(n)}function wr(n){this.size=(this.__data__=new ir(n)).size}function mr(){this.__data__=new ir,this.size=0}function xr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Ar(n){return this.__data__.has(n)}function kr(n,t){var r=this.__data__;if(r instanceof ir){var e=r.__data__;if(!ts||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new sr(e)}return r.set(n,t),this.size=r.size,this}function Or(n,t){\nvar r=bh(n),e=!r&&dh(n),u=!r&&!e&&mh(n),i=!r&&!e&&!u&&Oh(n),o=r||e||u||i,f=o?O(n.length,hl):[],c=f.length;for(var a in n)!t&&!bl.call(n,a)||o&&("length"==a||u&&("offset"==a||"parent"==a)||i&&("buffer"==a||"byteLength"==a||"byteOffset"==a)||Ci(a,c))||f.push(a);return f}function Ir(n){var t=n.length;return t?n[tu(0,t-1)]:X}function Rr(n,t){return Xi(Tu(n),Mr(t,0,n.length))}function zr(n){return Xi(Tu(n))}function Er(n,t,r){(r===X||Gf(n[t],r))&&(r!==X||t in n)||Br(n,t,r)}function Sr(n,t,r){var e=n[t];\nbl.call(n,t)&&Gf(e,r)&&(r!==X||t in n)||Br(n,t,r)}function Wr(n,t){for(var r=n.length;r--;)if(Gf(n[r][0],t))return r;return-1}function Lr(n,t,r,e){return ys(n,function(n,u,i){t(e,n,r(n),i)}),e}function Cr(n,t){return n&&$u(t,Pc(t),n)}function Ur(n,t){return n&&$u(t,qc(t),n)}function Br(n,t,r){"__proto__"==t&&Tl?Tl(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=il(e),i=null==n;++r<e;)u[r]=i?X:Mc(n,t[r]);return u}function Mr(n,t,r){return n===n&&(r!==X&&(n=n<=r?n:r),\nt!==X&&(n=n>=t?n:t)),n}function Fr(n,t,e,u,i,o){var f,c=t&an,a=t&ln,l=t&sn;if(e&&(f=i?e(n,u,i,o):e(n)),f!==X)return f;if(!fc(n))return n;var s=bh(n);if(s){if(f=zi(n),!c)return Tu(n,f)}else{var h=zs(n),p=h==Kn||h==Vn;if(mh(n))return Iu(n,c);if(h==Yn||h==Dn||p&&!i){if(f=a||p?{}:Ei(n),!c)return a?Mu(n,Ur(f,n)):Du(n,Cr(f,n))}else{if(!Vr[h])return i?n:{};f=Si(n,h,c)}}o||(o=new wr);var _=o.get(n);if(_)return _;o.set(n,f),kh(n)?n.forEach(function(r){f.add(Fr(r,t,e,r,n,o))}):jh(n)&&n.forEach(function(r,u){\nf.set(u,Fr(r,t,e,u,n,o))});var v=l?a?di:yi:a?qc:Pc,g=s?X:v(n);return r(g||n,function(r,u){g&&(u=r,r=n[u]),Sr(f,u,Fr(r,t,e,u,n,o))}),f}function Nr(n){var t=Pc(n);return function(r){return Pr(r,n,t)}}function Pr(n,t,r){var e=r.length;if(null==n)return!e;for(n=ll(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===X&&!(u in n)||!i(o))return!1}return!0}function Gr(n,t,r){if("function"!=typeof n)throw new pl(en);return Ws(function(){n.apply(X,r)},t)}function Hr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;\nif(!l)return s;r&&(t=c(t,z(r))),e?(i=f,a=!1):t.length>=tn&&(i=S,a=!1,t=new yr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Jr(n,t){var r=!0;return ys(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===X?o===o&&!bc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t,r,e){var u=n.length;for(r=kc(r),r<0&&(r=-r>u?0:u+r),\ne=e===X||e>u?u:kc(e),e<0&&(e+=u),e=r>e?0:Oc(e);r<e;)n[r++]=t;return n}function te(n,t){var r=[];return ys(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ee(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Li),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?ee(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ue(n,t){return n&&bs(n,t,Pc)}function oe(n,t){return n&&ws(n,t,Pc)}function fe(n,t){return i(t,function(t){return uc(n[t])})}function _e(n,t){t=ku(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[no(t[r++])];\nreturn r&&r==e?n:X}function de(n,t,r){var e=t(n);return bh(n)?e:a(e,r(n))}function we(n){return null==n?n===X?ut:Jn:Bl&&Bl in ll(n)?ki(n):Ki(n)}function me(n,t){return n>t}function xe(n,t){return null!=n&&bl.call(n,t)}function je(n,t){return null!=n&&t in ll(n)}function Ae(n,t,r){return n>=Hl(t,r)&&n<Gl(t,r)}function ke(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=il(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,z(t))),s=Hl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new yr(a&&p):X}p=n[0];\nvar _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?S(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?S(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Oe(n,t,r,e){return ue(n,function(n,u,i){t(e,r(n),u,i)}),e}function Ie(t,r,e){r=ku(r,t),t=Gi(t,r);var u=null==t?t:t[no(jo(r))];return null==u?X:n(u,t,e)}function Re(n){return cc(n)&&we(n)==Dn}function ze(n){return cc(n)&&we(n)==ft}function Ee(n){return cc(n)&&we(n)==Pn}function Se(n,t,r,e,u){\nreturn n===t||(null==n||null==t||!cc(n)&&!cc(t)?n!==n&&t!==t:We(n,t,r,e,Se,u))}function We(n,t,r,e,u,i){var o=bh(n),f=bh(t),c=o?Mn:zs(n),a=f?Mn:zs(t);c=c==Dn?Yn:c,a=a==Dn?Yn:a;var l=c==Yn,s=a==Yn,h=c==a;if(h&&mh(n)){if(!mh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new wr),o||Oh(n)?pi(n,t,r,e,u,i):_i(n,t,c,r,e,u,i);if(!(r&hn)){var p=l&&bl.call(n,"__wrapped__"),_=s&&bl.call(t,"__wrapped__");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new wr),u(v,g,r,e,i)}}return!!h&&(i||(i=new wr),vi(n,t,r,e,u,i));\n}function Le(n){return cc(n)&&zs(n)==Gn}function Ce(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ll(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===X&&!(c in n))return!1}else{var s=new wr;if(e)var h=e(a,l,c,n,t,s);if(!(h===X?Se(l,a,hn|pn,e,s):h))return!1}}return!0}function Ue(n){return!(!fc(n)||Di(n))&&(uc(n)?kl:Zt).test(to(n))}function Be(n){return cc(n)&&we(n)==nt}function Te(n){return cc(n)&&zs(n)==tt;\n}function $e(n){return cc(n)&&oc(n.length)&&!!Kr[we(n)]}function De(n){return"function"==typeof n?n:null==n?La:"object"==typeof n?bh(n)?Ze(n[0],n[1]):qe(n):Fa(n)}function Me(n){if(!Mi(n))return Vl(n);var t=[];for(var r in ll(n))bl.call(n,r)&&"constructor"!=r&&t.push(r);return t}function Fe(n){if(!fc(n))return Zi(n);var t=Mi(n),r=[];for(var e in n)("constructor"!=e||!t&&bl.call(n,e))&&r.push(e);return r}function Ne(n,t){return n<t}function Pe(n,t){var r=-1,e=Hf(n)?il(n.length):[];return ys(n,function(n,u,i){\ne[++r]=t(n,u,i)}),e}function qe(n){var t=ji(n);return 1==t.length&&t[0][2]?Ni(t[0][0],t[0][1]):function(r){return r===n||Ce(r,n,t)}}function Ze(n,t){return Bi(n)&&Fi(t)?Ni(no(n),t):function(r){var e=Mc(r,n);return e===X&&e===t?Nc(r,n):Se(t,e,hn|pn)}}function Ke(n,t,r,e,u){n!==t&&bs(t,function(i,o){if(u||(u=new wr),fc(i))Ve(n,t,o,r,Ke,e,u);else{var f=e?e(Ji(n,o),i,o+"",n,t,u):X;f===X&&(f=i),Er(n,o,f)}},qc)}function Ve(n,t,r,e,u,i,o){var f=Ji(n,r),c=Ji(t,r),a=o.get(c);if(a)return Er(n,r,a),X;var l=i?i(f,c,r+"",n,t,o):X,s=l===X;\nif(s){var h=bh(c),p=!h&&mh(c),_=!h&&!p&&Oh(c);l=c,h||p||_?bh(f)?l=f:Jf(f)?l=Tu(f):p?(s=!1,l=Iu(c,!0)):_?(s=!1,l=Wu(c,!0)):l=[]:gc(c)||dh(c)?(l=f,dh(f)?l=Rc(f):fc(f)&&!uc(f)||(l=Ei(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Er(n,r,l)}function Ge(n,t){var r=n.length;if(r)return t+=t<0?r:0,Ci(t,r)?n[t]:X}function He(n,t,r){t=t.length?c(t,function(n){return bh(n)?function(t){return _e(t,1===n.length?n[0]:n)}:n}):[La];var e=-1;return t=c(t,z(mi())),A(Pe(n,function(n,r,u){return{criteria:c(t,function(t){\nreturn t(n)}),index:++e,value:n}}),function(n,t){return Cu(n,t,r)})}function Je(n,t){return Ye(n,t,function(t,r){return Nc(n,r)})}function Ye(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=_e(n,o);r(f,o)&&fu(i,ku(o,n),f)}return i}function Qe(n){return function(t){return _e(t,n)}}function Xe(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Tu(t)),r&&(f=c(n,z(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Ll.call(f,a,1),Ll.call(n,a,1);return n}function nu(n,t){for(var r=n?t.length:0,e=r-1;r--;){\nvar u=t[r];if(r==e||u!==i){var i=u;Ci(u)?Ll.call(n,u,1):yu(n,u)}}return n}function tu(n,t){return n+Nl(Ql()*(t-n+1))}function ru(n,t,r,e){for(var u=-1,i=Gl(Fl((t-n)/(r||1)),0),o=il(i);i--;)o[e?i:++u]=n,n+=r;return o}function eu(n,t){var r="";if(!n||t<1||t>Wn)return r;do t%2&&(r+=n),t=Nl(t/2),t&&(n+=n);while(t);return r}function uu(n,t){return Ls(Vi(n,t,La),n+"")}function iu(n){return Ir(ra(n))}function ou(n,t){var r=ra(n);return Xi(r,Mr(t,0,r.length))}function fu(n,t,r,e){if(!fc(n))return n;t=ku(t,n);\nfor(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=no(t[u]),a=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return n;if(u!=o){var l=f[c];a=e?e(l,c,f):X,a===X&&(a=fc(l)?l:Ci(t[u+1])?[]:{})}Sr(f,c,a),f=f[c]}return n}function cu(n){return Xi(ra(n))}function au(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=il(u);++e<u;)i[e]=n[e+t];return i}function lu(n,t){var r;return ys(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function su(n,t,r){\nvar e=0,u=null==n?e:n.length;if("number"==typeof t&&t===t&&u<=Tn){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!bc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return hu(n,t,La,r)}function hu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;t=r(t);for(var o=t!==t,f=null===t,c=bc(t),a=t===X;u<i;){var l=Nl((u+i)/2),s=r(n[l]),h=s!==X,p=null===s,_=s===s,v=bc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Hl(i,Bn)}function pu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){\nvar o=n[r],f=t?t(o):o;if(!r||!Gf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function _u(n){return"number"==typeof n?n:bc(n)?Cn:+n}function vu(n){if("string"==typeof n)return n;if(bh(n))return c(n,vu)+"";if(bc(n))return vs?vs.call(n):"";var t=n+"";return"0"==t&&1/n==-Sn?"-0":t}function gu(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=tn){var s=t?null:ks(n);if(s)return P(s);c=!1,u=S,l=new yr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p===p){for(var _=l.length;_--;)if(l[_]===p)continue n;\nt&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function yu(n,t){return t=ku(t,n),n=Gi(n,t),null==n||delete n[no(jo(t))]}function du(n,t,r,e){return fu(n,t,r(_e(n,t)),e)}function bu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?au(n,e?0:i,e?i+1:u):au(n,e?i+1:0,e?u:i)}function wu(n,t){var r=n;return r instanceof Ct&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mu(n,t,r){var e=n.length;if(e<2)return e?gu(n[0]):[];\nfor(var u=-1,i=il(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Hr(i[u]||o,n[f],t,r));return gu(ee(i,1),t,r)}function xu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;){r(o,n[e],e<i?t[e]:X)}return o}function ju(n){return Jf(n)?n:[]}function Au(n){return"function"==typeof n?n:La}function ku(n,t){return bh(n)?n:Bi(n,t)?[n]:Cs(Ec(n))}function Ou(n,t,r){var e=n.length;return r=r===X?e:r,!t&&r>=e?n:au(n,t,r)}function Iu(n,t){if(t)return n.slice();var r=n.length,e=zl?zl(r):new n.constructor(r);\nreturn n.copy(e),e}function Ru(n){var t=new n.constructor(n.byteLength);return new Rl(t).set(new Rl(n)),t}function zu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.byteLength)}function Eu(n){var t=new n.constructor(n.source,Nt.exec(n));return t.lastIndex=n.lastIndex,t}function Su(n){return _s?ll(_s.call(n)):{}}function Wu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.length)}function Lu(n,t){if(n!==t){var r=n!==X,e=null===n,u=n===n,i=bc(n),o=t!==X,f=null===t,c=t===t,a=bc(t);\nif(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cu(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Lu(u[e],i[e]);if(c){if(e>=f)return c;return c*("desc"==r[e]?-1:1)}}return n.index-t.index}function Uu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Gl(i-o,0),l=il(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l;\n}function Bu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Gl(i-f,0),s=il(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Tu(n,t){var r=-1,e=n.length;for(t||(t=il(e));++r<e;)t[r]=n[r];return t}function $u(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):X;c===X&&(c=n[f]),u?Br(r,f,c):Sr(r,f,c)}return r}function Du(n,t){return $u(n,Is(n),t)}function Mu(n,t){return $u(n,Rs(n),t);\n}function Fu(n,r){return function(e,u){var i=bh(e)?t:Lr,o=r?r():{};return i(e,n,mi(u,2),o)}}function Nu(n){return uu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:X,o=u>2?r[2]:X;for(i=n.length>3&&"function"==typeof i?(u--,i):X,o&&Ui(r[0],r[1],o)&&(i=u<3?X:i,u=1),t=ll(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Pu(n,t){return function(r,e){if(null==r)return r;if(!Hf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ll(r);(t?i--:++i<u)&&e(o[i],i,o)!==!1;);return r}}function qu(n){return function(t,r,e){\nfor(var u=-1,i=ll(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===!1)break}return t}}function Zu(n,t,r){function e(){return(this&&this!==re&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=t&_n,i=Gu(n);return e}function Ku(n){return function(t){t=Ec(t);var r=T(t)?G(t):X,e=r?r[0]:t.charAt(0),u=r?Ou(r,1).join(""):t.slice(1);return e[n]()+u}}function Vu(n){return function(t){return l(Ra(ca(t).replace($r,"")),n,"")}}function Gu(n){return function(){var t=arguments;switch(t.length){\ncase 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=gs(n.prototype),e=n.apply(r,t);return fc(e)?e:r}}function Hu(t,r,e){function u(){for(var o=arguments.length,f=il(o),c=o,a=wi(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:N(f,a);\nreturn o-=l.length,o<e?oi(t,r,Qu,u.placeholder,X,f,l,X,X,e-o):n(this&&this!==re&&this instanceof u?i:t,this,f)}var i=Gu(t);return u}function Ju(n){return function(t,r,e){var u=ll(t);if(!Hf(t)){var i=mi(r,3);t=Pc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:X}}function Yu(n){return gi(function(t){var r=t.length,e=r,u=Y.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if("function"!=typeof i)throw new pl(en);if(u&&!o&&"wrapper"==bi(i))var o=new Y([],!0)}for(e=o?e:r;++e<r;){\ni=t[e];var f=bi(i),c="wrapper"==f?Os(i):X;o=c&&$i(c[0])&&c[1]==(mn|yn|bn|xn)&&!c[4].length&&1==c[9]?o[bi(c[0])].apply(o,c[3]):1==i.length&&$i(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&bh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function Qu(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=il(y),b=y;b--;)d[b]=arguments[b];if(_)var w=wi(l),m=C(d,w);if(e&&(d=Uu(d,e,u,_)),i&&(d=Bu(d,i,o,_)),\ny-=m,_&&y<a){return oi(n,t,Qu,l.placeholder,r,d,N(d,w),f,c,a-y)}var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Hi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==re&&this instanceof l&&(j=g||Gu(j)),j.apply(x,d)}var s=t&mn,h=t&_n,p=t&vn,_=t&(yn|dn),v=t&jn,g=p?X:Gu(n);return l}function Xu(n,t){return function(r,e){return Oe(r,n,t(e),{})}}function ni(n,t){return function(r,e){var u;if(r===X&&e===X)return t;if(r!==X&&(u=r),e!==X){if(u===X)return e;"string"==typeof r||"string"==typeof e?(r=vu(r),\ne=vu(e)):(r=_u(r),e=_u(e)),u=n(r,e)}return u}}function ti(t){return gi(function(r){return r=c(r,z(mi())),uu(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ri(n,t){t=t===X?" ":vu(t);var r=t.length;if(r<2)return r?eu(t,n):t;var e=eu(t,Fl(n/V(t)));return T(t)?Ou(G(e),0,n).join(""):e.slice(0,n)}function ei(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=il(l+c),h=this&&this!==re&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];\nreturn n(h,o?e:this,s)}var o=r&_n,f=Gu(t);return i}function ui(n){return function(t,r,e){return e&&"number"!=typeof e&&Ui(t,r,e)&&(r=e=X),t=Ac(t),r===X?(r=t,t=0):r=Ac(r),e=e===X?t<r?1:-1:Ac(e),ru(t,r,e,n)}}function ii(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=Ic(t),r=Ic(r)),n(t,r)}}function oi(n,t,r,e,u,i,o,f,c,a){var l=t&yn,s=l?o:X,h=l?X:o,p=l?i:X,_=l?X:i;t|=l?bn:wn,t&=~(l?wn:bn),t&gn||(t&=~(_n|vn));var v=[n,t,u,p,s,_,h,f,c,a],g=r.apply(X,v);return $i(n)&&Ss(g,v),g.placeholder=e,\nYi(g,n,t)}function fi(n){var t=al[n];return function(n,r){if(n=Ic(n),r=null==r?0:Hl(kc(r),292),r&&Zl(n)){var e=(Ec(n)+"e").split("e");return e=(Ec(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"),+(e[0]+"e"+(+e[1]-r))}return t(n)}}function ci(n){return function(t){var r=zs(t);return r==Gn?M(t):r==tt?q(t):I(t,n(t))}}function ai(n,t,r,e,u,i,o,f){var c=t&vn;if(!c&&"function"!=typeof n)throw new pl(en);var a=e?e.length:0;if(a||(t&=~(bn|wn),e=u=X),o=o===X?o:Gl(kc(o),0),f=f===X?f:kc(f),a-=u?u.length:0,t&wn){var l=e,s=u;\ne=u=X}var h=c?X:Os(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&qi(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],f=p[9]=p[9]===X?c?0:n.length:Gl(p[9]-a,0),!f&&t&(yn|dn)&&(t&=~(yn|dn)),t&&t!=_n)_=t==yn||t==dn?Hu(n,t,f):t!=bn&&t!=(_n|bn)||u.length?Qu.apply(X,p):ei(n,t,r,e);else var _=Zu(n,t,r);return Yi((h?ms:Ss)(_,p),n,t)}function li(n,t,r,e){return n===X||Gf(n,gl[r])&&!bl.call(e,r)?t:n}function si(n,t,r,e,u,i){return fc(n)&&fc(t)&&(i.set(t,n),Ke(n,t,X,si,i),i.delete(t)),n}function hi(n){return gc(n)?X:n}function pi(n,t,r,e,u,i){\nvar o=r&hn,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=r&pn?new yr:X;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==X){if(y)continue;p=!1;break}if(_){if(!h(t,function(n,t){if(!S(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)})){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n,t,r,e,u,i,o){switch(r){case ct:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;\nn=n.buffer,t=t.buffer;case ft:return!(n.byteLength!=t.byteLength||!i(new Rl(n),new Rl(t)));case Nn:case Pn:case Hn:return Gf(+n,+t);case Zn:return n.name==t.name&&n.message==t.message;case nt:case rt:return n==t+"";case Gn:var f=M;case tt:var c=e&hn;if(f||(f=P),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=pn,o.set(n,t);var l=pi(f(n),f(t),e,u,i,o);return o.delete(n),l;case et:if(_s)return _s.call(n)==_s.call(t)}return!1}function vi(n,t,r,e,u,i){var o=r&hn,f=yi(n),c=f.length;if(c!=yi(t).length&&!o)return!1;\nfor(var a=c;a--;){var l=f[a];if(!(o?l in t:bl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){l=f[a];var v=n[l],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===X?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_="constructor"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&"constructor"in n&&"constructor"in t&&!("function"==typeof d&&d instanceof d&&"function"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),\ni.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+"")}function yi(n){return de(n,Pc,Is)}function di(n){return de(n,qc,Rs)}function bi(n){for(var t=n.name+"",r=fs[t],e=bl.call(fs,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function wi(n){return(bl.call(Z,"placeholder")?Z:n).placeholder}function mi(){var n=Z.iteratee||Ca;return n=n===Ca?De:n,arguments.length?n(arguments[0],arguments[1]):n}function xi(n,t){var r=n.__data__;return Ti(t)?r["string"==typeof t?"string":"hash"]:r.map;\n}function ji(n){for(var t=Pc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Fi(u)]}return t}function Ai(n,t){var r=B(n,t);return Ue(r)?r:X}function ki(n){var t=bl.call(n,Bl),r=n[Bl];try{n[Bl]=X;var e=!0}catch(n){}var u=xl.call(n);return e&&(t?n[Bl]=r:delete n[Bl]),u}function Oi(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=Hl(t,n+o);break;case"takeRight":n=Gl(n,t-o)}}return{start:n,end:t}}function Ii(n){var t=n.match(Bt);\nreturn t?t[1].split(Tt):[]}function Ri(n,t,r){t=ku(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=no(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&oc(u)&&Ci(o,u)&&(bh(n)||dh(n)))}function zi(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&bl.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Ei(n){return"function"!=typeof n.constructor||Mi(n)?{}:gs(El(n))}function Si(n,t,r){var e=n.constructor;switch(t){case ft:return Ru(n);\ncase Nn:case Pn:return new e(+n);case ct:return zu(n,r);case at:case lt:case st:case ht:case pt:case _t:case vt:case gt:case yt:return Wu(n,r);case Gn:return new e;case Hn:case rt:return new e(n);case nt:return Eu(n);case tt:return new e;case et:return Su(n)}}function Wi(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(Ut,"{\\n/* [wrapped with "+t+"] */\\n")}function Li(n){return bh(n)||dh(n)||!!(Cl&&n&&n[Cl])}function Ci(n,t){var r=typeof n;\nreturn t=null==t?Wn:t,!!t&&("number"==r||"symbol"!=r&&Vt.test(n))&&n>-1&&n%1==0&&n<t}function Ui(n,t,r){if(!fc(r))return!1;var e=typeof t;return!!("number"==e?Hf(r)&&Ci(t,r.length):"string"==e&&t in r)&&Gf(r[t],n)}function Bi(n,t){if(bh(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!bc(n))||(zt.test(n)||!Rt.test(n)||null!=t&&n in ll(t))}function Ti(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n}function $i(n){\nvar t=bi(n),r=Z[t];if("function"!=typeof r||!(t in Ct.prototype))return!1;if(n===r)return!0;var e=Os(r);return!!e&&n===e[0]}function Di(n){return!!ml&&ml in n}function Mi(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||gl)}function Fi(n){return n===n&&!fc(n)}function Ni(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==X||n in ll(r)))}}function Pi(n){var t=Cf(n,function(n){return r.size===fn&&r.clear(),n}),r=t.cache;return t}function qi(n,t){var r=n[1],e=t[1],u=r|e,i=u<(_n|vn|mn),o=e==mn&&r==yn||e==mn&&r==xn&&n[7].length<=t[8]||e==(mn|xn)&&t[7].length<=t[8]&&r==yn;\nif(!i&&!o)return n;e&_n&&(n[2]=t[2],u|=r&_n?0:gn);var f=t[3];if(f){var c=n[3];n[3]=c?Uu(c,f,t[4]):f,n[4]=c?N(n[3],cn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bu(c,f,t[6]):f,n[6]=c?N(n[5],cn):t[6]),f=t[7],f&&(n[7]=f),e&mn&&(n[8]=null==n[8]?t[8]:Hl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function Zi(n){var t=[];if(null!=n)for(var r in ll(n))t.push(r);return t}function Ki(n){return xl.call(n)}function Vi(t,r,e){return r=Gl(r===X?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Gl(u.length-r,0),f=il(o);++i<o;)f[i]=u[r+i];\ni=-1;for(var c=il(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Gi(n,t){return t.length<2?n:_e(n,au(t,0,-1))}function Hi(n,t){for(var r=n.length,e=Hl(t.length,r),u=Tu(n);e--;){var i=t[e];n[e]=Ci(i,r)?u[i]:X}return n}function Ji(n,t){if(("constructor"!==t||"function"!=typeof n[t])&&"__proto__"!=t)return n[t]}function Yi(n,t,r){var e=t+"";return Ls(n,Wi(e,ro(Ii(e),r)))}function Qi(n){var t=0,r=0;return function(){var e=Jl(),u=In-(e-r);if(r=e,u>0){if(++t>=On)return arguments[0]}else t=0;\nreturn n.apply(X,arguments)}}function Xi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===X?e:t;++r<t;){var i=tu(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function no(n){if("string"==typeof n||bc(n))return n;var t=n+"";return"0"==t&&1/n==-Sn?"-0":t}function to(n){if(null!=n){try{return dl.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function ro(n,t){return r($n,function(r){var e="_."+r[0];t&r[1]&&!o(n,e)&&n.push(e)}),n.sort()}function eo(n){if(n instanceof Ct)return n.clone();var t=new Y(n.__wrapped__,n.__chain__);\nreturn t.__actions__=Tu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function uo(n,t,r){t=(r?Ui(n,t,r):t===X)?1:Gl(kc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=il(Fl(e/t));u<e;)o[i++]=au(n,u,u+=t);return o}function io(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function oo(){var n=arguments.length;if(!n)return[];for(var t=il(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(bh(r)?Tu(r):[r],ee(t,1));\n}function fo(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),au(n,t<0?0:t,e)):[]}function co(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,0,t<0?0:t)):[]}function ao(n,t){return n&&n.length?bu(n,mi(t,3),!0,!0):[]}function lo(n,t){return n&&n.length?bu(n,mi(t,3),!0):[]}function so(n,t,r,e){var u=null==n?0:n.length;return u?(r&&"number"!=typeof r&&Ui(n,t,r)&&(r=0,e=u),ne(n,t,r,e)):[]}function ho(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);\nreturn u<0&&(u=Gl(e+u,0)),g(n,mi(t,3),u)}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==X&&(u=kc(r),u=r<0?Gl(e+u,0):Hl(u,e-1)),g(n,mi(t,3),u,!0)}function _o(n){return(null==n?0:n.length)?ee(n,1):[]}function vo(n){return(null==n?0:n.length)?ee(n,Sn):[]}function go(n,t){return(null==n?0:n.length)?(t=t===X?1:kc(t),ee(n,t)):[]}function yo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function bo(n){return n&&n.length?n[0]:X}function wo(n,t,r){\nvar e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);return u<0&&(u=Gl(e+u,0)),y(n,t,u)}function mo(n){return(null==n?0:n.length)?au(n,0,-1):[]}function xo(n,t){return null==n?"":Kl.call(n,t)}function jo(n){var t=null==n?0:n.length;return t?n[t-1]:X}function Ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==X&&(u=kc(r),u=u<0?Gl(e+u,0):Hl(u,e-1)),t===t?K(n,t,u):g(n,b,u,!0)}function ko(n,t){return n&&n.length?Ge(n,kc(t)):X}function Oo(n,t){return n&&n.length&&t&&t.length?Xe(n,t):n;\n}function Io(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,mi(r,2)):n}function Ro(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,X,r):n}function zo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=mi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return nu(n,u),r}function Eo(n){return null==n?n:Xl.call(n)}function So(n,t,r){var e=null==n?0:n.length;return e?(r&&"number"!=typeof r&&Ui(n,t,r)?(t=0,r=e):(t=null==t?0:kc(t),r=r===X?e:kc(r)),au(n,t,r)):[]}function Wo(n,t){\nreturn su(n,t)}function Lo(n,t,r){return hu(n,t,mi(r,2))}function Co(n,t){var r=null==n?0:n.length;if(r){var e=su(n,t);if(e<r&&Gf(n[e],t))return e}return-1}function Uo(n,t){return su(n,t,!0)}function Bo(n,t,r){return hu(n,t,mi(r,2),!0)}function To(n,t){if(null==n?0:n.length){var r=su(n,t,!0)-1;if(Gf(n[r],t))return r}return-1}function $o(n){return n&&n.length?pu(n):[]}function Do(n,t){return n&&n.length?pu(n,mi(t,2)):[]}function Mo(n){var t=null==n?0:n.length;return t?au(n,1,t):[]}function Fo(n,t,r){\nreturn n&&n.length?(t=r||t===X?1:kc(t),au(n,0,t<0?0:t)):[]}function No(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,t<0?0:t,e)):[]}function Po(n,t){return n&&n.length?bu(n,mi(t,3),!1,!0):[]}function qo(n,t){return n&&n.length?bu(n,mi(t,3)):[]}function Zo(n){return n&&n.length?gu(n):[]}function Ko(n,t){return n&&n.length?gu(n,mi(t,2)):[]}function Vo(n,t){return t="function"==typeof t?t:X,n&&n.length?gu(n,X,t):[]}function Go(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){\nif(Jf(n))return t=Gl(n.length,t),!0}),O(t,function(t){return c(n,m(t))})}function Ho(t,r){if(!t||!t.length)return[];var e=Go(t);return null==r?e:c(e,function(t){return n(r,X,t)})}function Jo(n,t){return xu(n||[],t||[],Sr)}function Yo(n,t){return xu(n||[],t||[],fu)}function Qo(n){var t=Z(n);return t.__chain__=!0,t}function Xo(n,t){return t(n),n}function nf(n,t){return t(n)}function tf(){return Qo(this)}function rf(){return new Y(this.value(),this.__chain__)}function ef(){this.__values__===X&&(this.__values__=jc(this.value()));\nvar n=this.__index__>=this.__values__.length;return{done:n,value:n?X:this.__values__[this.__index__++]}}function uf(){return this}function of(n){for(var t,r=this;r instanceof J;){var e=eo(r);e.__index__=0,e.__values__=X,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function ff(){var n=this.__wrapped__;if(n instanceof Ct){var t=n;return this.__actions__.length&&(t=new Ct(this)),t=t.reverse(),t.__actions__.push({func:nf,args:[Eo],thisArg:X}),new Y(t,this.__chain__)}return this.thru(Eo);\n}function cf(){return wu(this.__wrapped__,this.__actions__)}function af(n,t,r){var e=bh(n)?u:Jr;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function lf(n,t){return(bh(n)?i:te)(n,mi(t,3))}function sf(n,t){return ee(yf(n,t),1)}function hf(n,t){return ee(yf(n,t),Sn)}function pf(n,t,r){return r=r===X?1:kc(r),ee(yf(n,t),r)}function _f(n,t){return(bh(n)?r:ys)(n,mi(t,3))}function vf(n,t){return(bh(n)?e:ds)(n,mi(t,3))}function gf(n,t,r,e){n=Hf(n)?n:ra(n),r=r&&!e?kc(r):0;var u=n.length;return r<0&&(r=Gl(u+r,0)),\ndc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function yf(n,t){return(bh(n)?c:Pe)(n,mi(t,3))}function df(n,t,r,e){return null==n?[]:(bh(t)||(t=null==t?[]:[t]),r=e?X:r,bh(r)||(r=null==r?[]:[r]),He(n,t,r))}function bf(n,t,r){var e=bh(n)?l:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ys)}function wf(n,t,r){var e=bh(n)?s:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ds)}function mf(n,t){return(bh(n)?i:te)(n,Uf(mi(t,3)))}function xf(n){return(bh(n)?Ir:iu)(n)}function jf(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),\n(bh(n)?Rr:ou)(n,t)}function Af(n){return(bh(n)?zr:cu)(n)}function kf(n){if(null==n)return 0;if(Hf(n))return dc(n)?V(n):n.length;var t=zs(n);return t==Gn||t==tt?n.size:Me(n).length}function Of(n,t,r){var e=bh(n)?h:lu;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function If(n,t){if("function"!=typeof t)throw new pl(en);return n=kc(n),function(){if(--n<1)return t.apply(this,arguments)}}function Rf(n,t,r){return t=r?X:t,t=n&&null==t?n.length:t,ai(n,mn,X,X,X,X,t)}function zf(n,t){var r;if("function"!=typeof t)throw new pl(en);\nreturn n=kc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=X),r}}function Ef(n,t,r){t=r?X:t;var e=ai(n,yn,X,X,X,X,X,t);return e.placeholder=Ef.placeholder,e}function Sf(n,t,r){t=r?X:t;var e=ai(n,dn,X,X,X,X,X,t);return e.placeholder=Sf.placeholder,e}function Wf(n,t,r){function e(t){var r=h,e=p;return h=p=X,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Ws(f,t),b?e(n):v}function i(n){var r=n-y,e=n-d,u=t-r;return w?Hl(u,_-e):u}function o(n){var r=n-y,e=n-d;return y===X||r>=t||r<0||w&&e>=_;\n}function f(){var n=fh();return o(n)?c(n):(g=Ws(f,i(n)),X)}function c(n){return g=X,m&&h?e(n):(h=p=X,v)}function a(){g!==X&&As(g),d=0,h=y=p=g=X}function l(){return g===X?v:c(fh())}function s(){var n=fh(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===X)return u(y);if(w)return As(g),g=Ws(f,t),e(y)}return g===X&&(g=Ws(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if("function"!=typeof n)throw new pl(en);return t=Ic(t)||0,fc(r)&&(b=!!r.leading,w="maxWait"in r,_=w?Gl(Ic(r.maxWait)||0,t):_,m="trailing"in r?!!r.trailing:m),\ns.cancel=a,s.flush=l,s}function Lf(n){return ai(n,jn)}function Cf(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new pl(en);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Cf.Cache||sr),r}function Uf(n){if("function"!=typeof n)throw new pl(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:\nreturn!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Bf(n){return zf(2,n)}function Tf(n,t){if("function"!=typeof n)throw new pl(en);return t=t===X?t:kc(t),uu(n,t)}function $f(t,r){if("function"!=typeof t)throw new pl(en);return r=null==r?0:Gl(kc(r),0),uu(function(e){var u=e[r],i=Ou(e,0,r);return u&&a(i,u),n(t,this,i)})}function Df(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new pl(en);return fc(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),\nWf(n,t,{leading:e,maxWait:t,trailing:u})}function Mf(n){return Rf(n,1)}function Ff(n,t){return ph(Au(t),n)}function Nf(){if(!arguments.length)return[];var n=arguments[0];return bh(n)?n:[n]}function Pf(n){return Fr(n,sn)}function qf(n,t){return t="function"==typeof t?t:X,Fr(n,sn,t)}function Zf(n){return Fr(n,an|sn)}function Kf(n,t){return t="function"==typeof t?t:X,Fr(n,an|sn,t)}function Vf(n,t){return null==t||Pr(n,t,Pc(t))}function Gf(n,t){return n===t||n!==n&&t!==t}function Hf(n){return null!=n&&oc(n.length)&&!uc(n);\n}function Jf(n){return cc(n)&&Hf(n)}function Yf(n){return n===!0||n===!1||cc(n)&&we(n)==Nn}function Qf(n){return cc(n)&&1===n.nodeType&&!gc(n)}function Xf(n){if(null==n)return!0;if(Hf(n)&&(bh(n)||"string"==typeof n||"function"==typeof n.splice||mh(n)||Oh(n)||dh(n)))return!n.length;var t=zs(n);if(t==Gn||t==tt)return!n.size;if(Mi(n))return!Me(n).length;for(var r in n)if(bl.call(n,r))return!1;return!0}function nc(n,t){return Se(n,t)}function tc(n,t,r){r="function"==typeof r?r:X;var e=r?r(n,t):X;return e===X?Se(n,t,X,r):!!e;\n}function rc(n){if(!cc(n))return!1;var t=we(n);return t==Zn||t==qn||"string"==typeof n.message&&"string"==typeof n.name&&!gc(n)}function ec(n){return"number"==typeof n&&Zl(n)}function uc(n){if(!fc(n))return!1;var t=we(n);return t==Kn||t==Vn||t==Fn||t==Xn}function ic(n){return"number"==typeof n&&n==kc(n)}function oc(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=Wn}function fc(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function cc(n){return null!=n&&"object"==typeof n}function ac(n,t){\nreturn n===t||Ce(n,t,ji(t))}function lc(n,t,r){return r="function"==typeof r?r:X,Ce(n,t,ji(t),r)}function sc(n){return vc(n)&&n!=+n}function hc(n){if(Es(n))throw new fl(rn);return Ue(n)}function pc(n){return null===n}function _c(n){return null==n}function vc(n){return"number"==typeof n||cc(n)&&we(n)==Hn}function gc(n){if(!cc(n)||we(n)!=Yn)return!1;var t=El(n);if(null===t)return!0;var r=bl.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&dl.call(r)==jl}function yc(n){\nreturn ic(n)&&n>=-Wn&&n<=Wn}function dc(n){return"string"==typeof n||!bh(n)&&cc(n)&&we(n)==rt}function bc(n){return"symbol"==typeof n||cc(n)&&we(n)==et}function wc(n){return n===X}function mc(n){return cc(n)&&zs(n)==it}function xc(n){return cc(n)&&we(n)==ot}function jc(n){if(!n)return[];if(Hf(n))return dc(n)?G(n):Tu(n);if(Ul&&n[Ul])return D(n[Ul]());var t=zs(n);return(t==Gn?M:t==tt?P:ra)(n)}function Ac(n){if(!n)return 0===n?n:0;if(n=Ic(n),n===Sn||n===-Sn){return(n<0?-1:1)*Ln}return n===n?n:0}function kc(n){\nvar t=Ac(n),r=t%1;return t===t?r?t-r:t:0}function Oc(n){return n?Mr(kc(n),0,Un):0}function Ic(n){if("number"==typeof n)return n;if(bc(n))return Cn;if(fc(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=fc(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=R(n);var r=qt.test(n);return r||Kt.test(n)?Xr(n.slice(2),r?2:8):Pt.test(n)?Cn:+n}function Rc(n){return $u(n,qc(n))}function zc(n){return n?Mr(kc(n),-Wn,Wn):0===n?n:0}function Ec(n){return null==n?"":vu(n)}function Sc(n,t){var r=gs(n);return null==t?r:Cr(r,t);\n}function Wc(n,t){return v(n,mi(t,3),ue)}function Lc(n,t){return v(n,mi(t,3),oe)}function Cc(n,t){return null==n?n:bs(n,mi(t,3),qc)}function Uc(n,t){return null==n?n:ws(n,mi(t,3),qc)}function Bc(n,t){return n&&ue(n,mi(t,3))}function Tc(n,t){return n&&oe(n,mi(t,3))}function $c(n){return null==n?[]:fe(n,Pc(n))}function Dc(n){return null==n?[]:fe(n,qc(n))}function Mc(n,t,r){var e=null==n?X:_e(n,t);return e===X?r:e}function Fc(n,t){return null!=n&&Ri(n,t,xe)}function Nc(n,t){return null!=n&&Ri(n,t,je);\n}function Pc(n){return Hf(n)?Or(n):Me(n)}function qc(n){return Hf(n)?Or(n,!0):Fe(n)}function Zc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,t(n,e,u),n)}),r}function Kc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,e,t(n,e,u))}),r}function Vc(n,t){return Gc(n,Uf(mi(t)))}function Gc(n,t){if(null==n)return{};var r=c(di(n),function(n){return[n]});return t=mi(t),Ye(n,r,function(n,r){return t(n,r[0])})}function Hc(n,t,r){t=ku(t,n);var e=-1,u=t.length;for(u||(u=1,n=X);++e<u;){var i=null==n?X:n[no(t[e])];\ni===X&&(e=u,i=r),n=uc(i)?i.call(n):i}return n}function Jc(n,t,r){return null==n?n:fu(n,t,r)}function Yc(n,t,r,e){return e="function"==typeof e?e:X,null==n?n:fu(n,t,r,e)}function Qc(n,t,e){var u=bh(n),i=u||mh(n)||Oh(n);if(t=mi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:fc(n)&&uc(o)?gs(El(n)):{}}return(i?r:ue)(n,function(n,r,u){return t(e,n,r,u)}),e}function Xc(n,t){return null==n||yu(n,t)}function na(n,t,r){return null==n?n:du(n,t,Au(r))}function ta(n,t,r,e){return e="function"==typeof e?e:X,\nnull==n?n:du(n,t,Au(r),e)}function ra(n){return null==n?[]:E(n,Pc(n))}function ea(n){return null==n?[]:E(n,qc(n))}function ua(n,t,r){return r===X&&(r=t,t=X),r!==X&&(r=Ic(r),r=r===r?r:0),t!==X&&(t=Ic(t),t=t===t?t:0),Mr(Ic(n),t,r)}function ia(n,t,r){return t=Ac(t),r===X?(r=t,t=0):r=Ac(r),n=Ic(n),Ae(n,t,r)}function oa(n,t,r){if(r&&"boolean"!=typeof r&&Ui(n,t,r)&&(t=r=X),r===X&&("boolean"==typeof t?(r=t,t=X):"boolean"==typeof n&&(r=n,n=X)),n===X&&t===X?(n=0,t=1):(n=Ac(n),t===X?(t=n,n=0):t=Ac(t)),n>t){\nvar e=n;n=t,t=e}if(r||n%1||t%1){var u=Ql();return Hl(n+u*(t-n+Qr("1e-"+((u+"").length-1))),t)}return tu(n,t)}function fa(n){return Qh(Ec(n).toLowerCase())}function ca(n){return n=Ec(n),n&&n.replace(Gt,ve).replace(Dr,"")}function aa(n,t,r){n=Ec(n),t=vu(t);var e=n.length;r=r===X?e:Mr(kc(r),0,e);var u=r;return r-=t.length,r>=0&&n.slice(r,u)==t}function la(n){return n=Ec(n),n&&At.test(n)?n.replace(xt,ge):n}function sa(n){return n=Ec(n),n&&Wt.test(n)?n.replace(St,"\\\\$&"):n}function ha(n,t,r){n=Ec(n),t=kc(t);\nvar e=t?V(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ri(Nl(u),r)+n+ri(Fl(u),r)}function pa(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?n+ri(t-e,r):n}function _a(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?ri(t-e,r)+n:n}function va(n,t,r){return r||null==t?t=0:t&&(t=+t),Yl(Ec(n).replace(Lt,""),t||0)}function ga(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),eu(Ec(n),t)}function ya(){var n=arguments,t=Ec(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function da(n,t,r){return r&&"number"!=typeof r&&Ui(n,t,r)&&(t=r=X),\n(r=r===X?Un:r>>>0)?(n=Ec(n),n&&("string"==typeof t||null!=t&&!Ah(t))&&(t=vu(t),!t&&T(n))?Ou(G(n),0,r):n.split(t,r)):[]}function ba(n,t,r){return n=Ec(n),r=null==r?0:Mr(kc(r),0,n.length),t=vu(t),n.slice(r,r+t.length)==t}function wa(n,t,r){var e=Z.templateSettings;r&&Ui(n,t,r)&&(t=X),n=Ec(n),t=Sh({},t,e,li);var u,i,o=Sh({},t.imports,e.imports,li),f=Pc(o),c=E(o,f),a=0,l=t.interpolate||Ht,s="__p += \'",h=sl((t.escape||Ht).source+"|"+l.source+"|"+(l===It?Ft:Ht).source+"|"+(t.evaluate||Ht).source+"|$","g"),p="//# sourceURL="+(bl.call(t,"sourceURL")?(t.sourceURL+"").replace(/\\s/g," "):"lodash.templateSources["+ ++Zr+"]")+"\\n";\nn.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Jt,U),r&&(u=!0,s+="\' +\\n__e("+r+") +\\n\'"),f&&(i=!0,s+="\';\\n"+f+";\\n__p += \'"),e&&(s+="\' +\\n((__t = ("+e+")) == null ? \'\' : __t) +\\n\'"),a=c+t.length,t}),s+="\';\\n";var _=bl.call(t,"variable")&&t.variable;if(_){if(Dt.test(_))throw new fl(un)}else s="with (obj) {\\n"+s+"\\n}\\n";s=(i?s.replace(dt,""):s).replace(bt,"$1").replace(wt,"$1;"),s="function("+(_||"obj")+") {\\n"+(_?"":"obj || (obj = {});\\n")+"var __t, __p = \'\'"+(u?", __e = _.escape":"")+(i?", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, \'\') }\\n":";\\n")+s+"return __p\\n}";\nvar v=Xh(function(){return cl(f,p+"return "+s).apply(X,c)});if(v.source=s,rc(v))throw v;return v}function ma(n){return Ec(n).toLowerCase()}function xa(n){return Ec(n).toUpperCase()}function ja(n,t,r){if(n=Ec(n),n&&(r||t===X))return R(n);if(!n||!(t=vu(t)))return n;var e=G(n),u=G(t);return Ou(e,W(e,u),L(e,u)+1).join("")}function Aa(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.slice(0,H(n)+1);if(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,0,L(e,G(t))+1).join("")}function ka(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.replace(Lt,"");\nif(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,W(e,G(t))).join("")}function Oa(n,t){var r=An,e=kn;if(fc(t)){var u="separator"in t?t.separator:u;r="length"in t?kc(t.length):r,e="omission"in t?vu(t.omission):e}n=Ec(n);var i=n.length;if(T(n)){var o=G(n);i=o.length}if(r>=i)return n;var f=r-V(e);if(f<1)return e;var c=o?Ou(o,0,f).join(""):n.slice(0,f);if(u===X)return c+e;if(o&&(f+=c.length-f),Ah(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=sl(u.source,Ec(Nt.exec(u))+"g")),u.lastIndex=0;a=u.exec(l);)var s=a.index;\nc=c.slice(0,s===X?f:s)}}else if(n.indexOf(vu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e}function Ia(n){return n=Ec(n),n&&jt.test(n)?n.replace(mt,ye):n}function Ra(n,t,r){return n=Ec(n),t=r?X:t,t===X?$(n)?Q(n):_(n):n.match(t)||[]}function za(t){var r=null==t?0:t.length,e=mi();return t=r?c(t,function(n){if("function"!=typeof n[1])throw new pl(en);return[e(n[0]),n[1]]}):[],uu(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})}function Ea(n){\nreturn Nr(Fr(n,an))}function Sa(n){return function(){return n}}function Wa(n,t){return null==n||n!==n?t:n}function La(n){return n}function Ca(n){return De("function"==typeof n?n:Fr(n,an))}function Ua(n){return qe(Fr(n,an))}function Ba(n,t){return Ze(n,Fr(t,an))}function Ta(n,t,e){var u=Pc(t),i=fe(t,u);null!=e||fc(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=fe(t,Pc(t)));var o=!(fc(e)&&"chain"in e&&!e.chain),f=uc(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;\nif(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function $a(){return re._===this&&(re._=Al),this}function Da(){}function Ma(n){return n=kc(n),uu(function(t){return Ge(t,n)})}function Fa(n){return Bi(n)?m(no(n)):Qe(n)}function Na(n){return function(t){return null==n?X:_e(n,t)}}function Pa(){return[]}function qa(){return!1}function Za(){return{}}function Ka(){return"";\n}function Va(){return!0}function Ga(n,t){if(n=kc(n),n<1||n>Wn)return[];var r=Un,e=Hl(n,Un);t=mi(t),n-=Un;for(var u=O(e,t);++r<n;)t(r);return u}function Ha(n){return bh(n)?c(n,no):bc(n)?[n]:Tu(Cs(Ec(n)))}function Ja(n){var t=++wl;return Ec(n)+t}function Ya(n){return n&&n.length?Yr(n,La,me):X}function Qa(n,t){return n&&n.length?Yr(n,mi(t,2),me):X}function Xa(n){return w(n,La)}function nl(n,t){return w(n,mi(t,2))}function tl(n){return n&&n.length?Yr(n,La,Ne):X}function rl(n,t){return n&&n.length?Yr(n,mi(t,2),Ne):X;\n}function el(n){return n&&n.length?k(n,La):0}function ul(n,t){return n&&n.length?k(n,mi(t,2)):0}x=null==x?re:be.defaults(re.Object(),x,be.pick(re,qr));var il=x.Array,ol=x.Date,fl=x.Error,cl=x.Function,al=x.Math,ll=x.Object,sl=x.RegExp,hl=x.String,pl=x.TypeError,_l=il.prototype,vl=cl.prototype,gl=ll.prototype,yl=x["__core-js_shared__"],dl=vl.toString,bl=gl.hasOwnProperty,wl=0,ml=function(){var n=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),xl=gl.toString,jl=dl.call(ll),Al=re._,kl=sl("^"+dl.call(bl).replace(St,"\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,"$1.*?")+"$"),Ol=ie?x.Buffer:X,Il=x.Symbol,Rl=x.Uint8Array,zl=Ol?Ol.allocUnsafe:X,El=F(ll.getPrototypeOf,ll),Sl=ll.create,Wl=gl.propertyIsEnumerable,Ll=_l.splice,Cl=Il?Il.isConcatSpreadable:X,Ul=Il?Il.iterator:X,Bl=Il?Il.toStringTag:X,Tl=function(){\ntry{var n=Ai(ll,"defineProperty");return n({},"",{}),n}catch(n){}}(),$l=x.clearTimeout!==re.clearTimeout&&x.clearTimeout,Dl=ol&&ol.now!==re.Date.now&&ol.now,Ml=x.setTimeout!==re.setTimeout&&x.setTimeout,Fl=al.ceil,Nl=al.floor,Pl=ll.getOwnPropertySymbols,ql=Ol?Ol.isBuffer:X,Zl=x.isFinite,Kl=_l.join,Vl=F(ll.keys,ll),Gl=al.max,Hl=al.min,Jl=ol.now,Yl=x.parseInt,Ql=al.random,Xl=_l.reverse,ns=Ai(x,"DataView"),ts=Ai(x,"Map"),rs=Ai(x,"Promise"),es=Ai(x,"Set"),us=Ai(x,"WeakMap"),is=Ai(ll,"create"),os=us&&new us,fs={},cs=to(ns),as=to(ts),ls=to(rs),ss=to(es),hs=to(us),ps=Il?Il.prototype:X,_s=ps?ps.valueOf:X,vs=ps?ps.toString:X,gs=function(){\nfunction n(){}return function(t){if(!fc(t))return{};if(Sl)return Sl(t);n.prototype=t;var r=new n;return n.prototype=X,r}}();Z.templateSettings={escape:kt,evaluate:Ot,interpolate:It,variable:"",imports:{_:Z}},Z.prototype=J.prototype,Z.prototype.constructor=Z,Y.prototype=gs(J.prototype),Y.prototype.constructor=Y,Ct.prototype=gs(J.prototype),Ct.prototype.constructor=Ct,Xt.prototype.clear=nr,Xt.prototype.delete=tr,Xt.prototype.get=rr,Xt.prototype.has=er,Xt.prototype.set=ur,ir.prototype.clear=or,ir.prototype.delete=fr,\nir.prototype.get=cr,ir.prototype.has=ar,ir.prototype.set=lr,sr.prototype.clear=hr,sr.prototype.delete=pr,sr.prototype.get=_r,sr.prototype.has=vr,sr.prototype.set=gr,yr.prototype.add=yr.prototype.push=dr,yr.prototype.has=br,wr.prototype.clear=mr,wr.prototype.delete=xr,wr.prototype.get=jr,wr.prototype.has=Ar,wr.prototype.set=kr;var ys=Pu(ue),ds=Pu(oe,!0),bs=qu(),ws=qu(!0),ms=os?function(n,t){return os.set(n,t),n}:La,xs=Tl?function(n,t){return Tl(n,"toString",{configurable:!0,enumerable:!1,value:Sa(t),\nwritable:!0})}:La,js=uu,As=$l||function(n){return re.clearTimeout(n)},ks=es&&1/P(new es([,-0]))[1]==Sn?function(n){return new es(n)}:Da,Os=os?function(n){return os.get(n)}:Da,Is=Pl?function(n){return null==n?[]:(n=ll(n),i(Pl(n),function(t){return Wl.call(n,t)}))}:Pa,Rs=Pl?function(n){for(var t=[];n;)a(t,Is(n)),n=El(n);return t}:Pa,zs=we;(ns&&zs(new ns(new ArrayBuffer(1)))!=ct||ts&&zs(new ts)!=Gn||rs&&zs(rs.resolve())!=Qn||es&&zs(new es)!=tt||us&&zs(new us)!=it)&&(zs=function(n){var t=we(n),r=t==Yn?n.constructor:X,e=r?to(r):"";\nif(e)switch(e){case cs:return ct;case as:return Gn;case ls:return Qn;case ss:return tt;case hs:return it}return t});var Es=yl?uc:qa,Ss=Qi(ms),Ws=Ml||function(n,t){return re.setTimeout(n,t)},Ls=Qi(xs),Cs=Pi(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(Et,function(n,r,e,u){t.push(e?u.replace(Mt,"$1"):r||n)}),t}),Us=uu(function(n,t){return Jf(n)?Hr(n,ee(t,1,Jf,!0)):[]}),Bs=uu(function(n,t){var r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),mi(r,2)):[]}),Ts=uu(function(n,t){\nvar r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),X,r):[]}),$s=uu(function(n){var t=c(n,ju);return t.length&&t[0]===n[0]?ke(t):[]}),Ds=uu(function(n){var t=jo(n),r=c(n,ju);return t===jo(r)?t=X:r.pop(),r.length&&r[0]===n[0]?ke(r,mi(t,2)):[]}),Ms=uu(function(n){var t=jo(n),r=c(n,ju);return t="function"==typeof t?t:X,t&&r.pop(),r.length&&r[0]===n[0]?ke(r,X,t):[]}),Fs=uu(Oo),Ns=gi(function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return nu(n,c(t,function(n){return Ci(n,r)?+n:n}).sort(Lu)),e}),Ps=uu(function(n){\nreturn gu(ee(n,1,Jf,!0))}),qs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),gu(ee(n,1,Jf,!0),mi(t,2))}),Zs=uu(function(n){var t=jo(n);return t="function"==typeof t?t:X,gu(ee(n,1,Jf,!0),X,t)}),Ks=uu(function(n,t){return Jf(n)?Hr(n,t):[]}),Vs=uu(function(n){return mu(i(n,Jf))}),Gs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),mu(i(n,Jf),mi(t,2))}),Hs=uu(function(n){var t=jo(n);return t="function"==typeof t?t:X,mu(i(n,Jf),X,t)}),Js=uu(Go),Ys=uu(function(n){var t=n.length,r=t>1?n[t-1]:X;return r="function"==typeof r?(n.pop(),\nr):X,Ho(n,r)}),Qs=gi(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Ct&&Ci(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:nf,args:[u],thisArg:X}),new Y(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(X),n})):this.thru(u)}),Xs=Fu(function(n,t,r){bl.call(n,r)?++n[r]:Br(n,r,1)}),nh=Ju(ho),th=Ju(po),rh=Fu(function(n,t,r){bl.call(n,r)?n[r].push(t):Br(n,r,[t])}),eh=uu(function(t,r,e){var u=-1,i="function"==typeof r,o=Hf(t)?il(t.length):[];\nreturn ys(t,function(t){o[++u]=i?n(r,t,e):Ie(t,r,e)}),o}),uh=Fu(function(n,t,r){Br(n,r,t)}),ih=Fu(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),oh=uu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ui(n,t[0],t[1])?t=[]:r>2&&Ui(t[0],t[1],t[2])&&(t=[t[0]]),He(n,ee(t,1),[])}),fh=Dl||function(){return re.Date.now()},ch=uu(function(n,t,r){var e=_n;if(r.length){var u=N(r,wi(ch));e|=bn}return ai(n,e,t,r,u)}),ah=uu(function(n,t,r){var e=_n|vn;if(r.length){var u=N(r,wi(ah));e|=bn;\n}return ai(t,e,n,r,u)}),lh=uu(function(n,t){return Gr(n,1,t)}),sh=uu(function(n,t,r){return Gr(n,Ic(t)||0,r)});Cf.Cache=sr;var hh=js(function(t,r){r=1==r.length&&bh(r[0])?c(r[0],z(mi())):c(ee(r,1),z(mi()));var e=r.length;return uu(function(u){for(var i=-1,o=Hl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)})}),ph=uu(function(n,t){return ai(n,bn,X,t,N(t,wi(ph)))}),_h=uu(function(n,t){return ai(n,wn,X,t,N(t,wi(_h)))}),vh=gi(function(n,t){return ai(n,xn,X,X,X,t)}),gh=ii(me),yh=ii(function(n,t){\nreturn n>=t}),dh=Re(function(){return arguments}())?Re:function(n){return cc(n)&&bl.call(n,"callee")&&!Wl.call(n,"callee")},bh=il.isArray,wh=ce?z(ce):ze,mh=ql||qa,xh=ae?z(ae):Ee,jh=le?z(le):Le,Ah=se?z(se):Be,kh=he?z(he):Te,Oh=pe?z(pe):$e,Ih=ii(Ne),Rh=ii(function(n,t){return n<=t}),zh=Nu(function(n,t){if(Mi(t)||Hf(t))return $u(t,Pc(t),n),X;for(var r in t)bl.call(t,r)&&Sr(n,r,t[r])}),Eh=Nu(function(n,t){$u(t,qc(t),n)}),Sh=Nu(function(n,t,r,e){$u(t,qc(t),n,e)}),Wh=Nu(function(n,t,r,e){$u(t,Pc(t),n,e);\n}),Lh=gi(Tr),Ch=uu(function(n,t){n=ll(n);var r=-1,e=t.length,u=e>2?t[2]:X;for(u&&Ui(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=qc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===X||Gf(l,gl[a])&&!bl.call(n,a))&&(n[a]=i[a])}return n}),Uh=uu(function(t){return t.push(X,si),n(Mh,X,t)}),Bh=Xu(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=xl.call(t)),n[t]=r},Sa(La)),Th=Xu(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=xl.call(t)),bl.call(n,t)?n[t].push(r):n[t]=[r]},mi),$h=uu(Ie),Dh=Nu(function(n,t,r){\nKe(n,t,r)}),Mh=Nu(function(n,t,r,e){Ke(n,t,r,e)}),Fh=gi(function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,function(t){return t=ku(t,n),e||(e=t.length>1),t}),$u(n,di(n),r),e&&(r=Fr(r,an|ln|sn,hi));for(var u=t.length;u--;)yu(r,t[u]);return r}),Nh=gi(function(n,t){return null==n?{}:Je(n,t)}),Ph=ci(Pc),qh=ci(qc),Zh=Vu(function(n,t,r){return t=t.toLowerCase(),n+(r?fa(t):t)}),Kh=Vu(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Vh=Vu(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Gh=Ku("toLowerCase"),Hh=Vu(function(n,t,r){\nreturn n+(r?"_":"")+t.toLowerCase()}),Jh=Vu(function(n,t,r){return n+(r?" ":"")+Qh(t)}),Yh=Vu(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Qh=Ku("toUpperCase"),Xh=uu(function(t,r){try{return n(t,X,r)}catch(n){return rc(n)?n:new fl(n)}}),np=gi(function(n,t){return r(t,function(t){t=no(t),Br(n,t,ch(n[t],n))}),n}),tp=Yu(),rp=Yu(!0),ep=uu(function(n,t){return function(r){return Ie(r,n,t)}}),up=uu(function(n,t){return function(r){return Ie(n,r,t)}}),ip=ti(c),op=ti(u),fp=ti(h),cp=ui(),ap=ui(!0),lp=ni(function(n,t){\nreturn n+t},0),sp=fi("ceil"),hp=ni(function(n,t){return n/t},1),pp=fi("floor"),_p=ni(function(n,t){return n*t},1),vp=fi("round"),gp=ni(function(n,t){return n-t},0);return Z.after=If,Z.ary=Rf,Z.assign=zh,Z.assignIn=Eh,Z.assignInWith=Sh,Z.assignWith=Wh,Z.at=Lh,Z.before=zf,Z.bind=ch,Z.bindAll=np,Z.bindKey=ah,Z.castArray=Nf,Z.chain=Qo,Z.chunk=uo,Z.compact=io,Z.concat=oo,Z.cond=za,Z.conforms=Ea,Z.constant=Sa,Z.countBy=Xs,Z.create=Sc,Z.curry=Ef,Z.curryRight=Sf,Z.debounce=Wf,Z.defaults=Ch,Z.defaultsDeep=Uh,\nZ.defer=lh,Z.delay=sh,Z.difference=Us,Z.differenceBy=Bs,Z.differenceWith=Ts,Z.drop=fo,Z.dropRight=co,Z.dropRightWhile=ao,Z.dropWhile=lo,Z.fill=so,Z.filter=lf,Z.flatMap=sf,Z.flatMapDeep=hf,Z.flatMapDepth=pf,Z.flatten=_o,Z.flattenDeep=vo,Z.flattenDepth=go,Z.flip=Lf,Z.flow=tp,Z.flowRight=rp,Z.fromPairs=yo,Z.functions=$c,Z.functionsIn=Dc,Z.groupBy=rh,Z.initial=mo,Z.intersection=$s,Z.intersectionBy=Ds,Z.intersectionWith=Ms,Z.invert=Bh,Z.invertBy=Th,Z.invokeMap=eh,Z.iteratee=Ca,Z.keyBy=uh,Z.keys=Pc,Z.keysIn=qc,\nZ.map=yf,Z.mapKeys=Zc,Z.mapValues=Kc,Z.matches=Ua,Z.matchesProperty=Ba,Z.memoize=Cf,Z.merge=Dh,Z.mergeWith=Mh,Z.method=ep,Z.methodOf=up,Z.mixin=Ta,Z.negate=Uf,Z.nthArg=Ma,Z.omit=Fh,Z.omitBy=Vc,Z.once=Bf,Z.orderBy=df,Z.over=ip,Z.overArgs=hh,Z.overEvery=op,Z.overSome=fp,Z.partial=ph,Z.partialRight=_h,Z.partition=ih,Z.pick=Nh,Z.pickBy=Gc,Z.property=Fa,Z.propertyOf=Na,Z.pull=Fs,Z.pullAll=Oo,Z.pullAllBy=Io,Z.pullAllWith=Ro,Z.pullAt=Ns,Z.range=cp,Z.rangeRight=ap,Z.rearg=vh,Z.reject=mf,Z.remove=zo,Z.rest=Tf,\nZ.reverse=Eo,Z.sampleSize=jf,Z.set=Jc,Z.setWith=Yc,Z.shuffle=Af,Z.slice=So,Z.sortBy=oh,Z.sortedUniq=$o,Z.sortedUniqBy=Do,Z.split=da,Z.spread=$f,Z.tail=Mo,Z.take=Fo,Z.takeRight=No,Z.takeRightWhile=Po,Z.takeWhile=qo,Z.tap=Xo,Z.throttle=Df,Z.thru=nf,Z.toArray=jc,Z.toPairs=Ph,Z.toPairsIn=qh,Z.toPath=Ha,Z.toPlainObject=Rc,Z.transform=Qc,Z.unary=Mf,Z.union=Ps,Z.unionBy=qs,Z.unionWith=Zs,Z.uniq=Zo,Z.uniqBy=Ko,Z.uniqWith=Vo,Z.unset=Xc,Z.unzip=Go,Z.unzipWith=Ho,Z.update=na,Z.updateWith=ta,Z.values=ra,Z.valuesIn=ea,\nZ.without=Ks,Z.words=Ra,Z.wrap=Ff,Z.xor=Vs,Z.xorBy=Gs,Z.xorWith=Hs,Z.zip=Js,Z.zipObject=Jo,Z.zipObjectDeep=Yo,Z.zipWith=Ys,Z.entries=Ph,Z.entriesIn=qh,Z.extend=Eh,Z.extendWith=Sh,Ta(Z,Z),Z.add=lp,Z.attempt=Xh,Z.camelCase=Zh,Z.capitalize=fa,Z.ceil=sp,Z.clamp=ua,Z.clone=Pf,Z.cloneDeep=Zf,Z.cloneDeepWith=Kf,Z.cloneWith=qf,Z.conformsTo=Vf,Z.deburr=ca,Z.defaultTo=Wa,Z.divide=hp,Z.endsWith=aa,Z.eq=Gf,Z.escape=la,Z.escapeRegExp=sa,Z.every=af,Z.find=nh,Z.findIndex=ho,Z.findKey=Wc,Z.findLast=th,Z.findLastIndex=po,\nZ.findLastKey=Lc,Z.floor=pp,Z.forEach=_f,Z.forEachRight=vf,Z.forIn=Cc,Z.forInRight=Uc,Z.forOwn=Bc,Z.forOwnRight=Tc,Z.get=Mc,Z.gt=gh,Z.gte=yh,Z.has=Fc,Z.hasIn=Nc,Z.head=bo,Z.identity=La,Z.includes=gf,Z.indexOf=wo,Z.inRange=ia,Z.invoke=$h,Z.isArguments=dh,Z.isArray=bh,Z.isArrayBuffer=wh,Z.isArrayLike=Hf,Z.isArrayLikeObject=Jf,Z.isBoolean=Yf,Z.isBuffer=mh,Z.isDate=xh,Z.isElement=Qf,Z.isEmpty=Xf,Z.isEqual=nc,Z.isEqualWith=tc,Z.isError=rc,Z.isFinite=ec,Z.isFunction=uc,Z.isInteger=ic,Z.isLength=oc,Z.isMap=jh,\nZ.isMatch=ac,Z.isMatchWith=lc,Z.isNaN=sc,Z.isNative=hc,Z.isNil=_c,Z.isNull=pc,Z.isNumber=vc,Z.isObject=fc,Z.isObjectLike=cc,Z.isPlainObject=gc,Z.isRegExp=Ah,Z.isSafeInteger=yc,Z.isSet=kh,Z.isString=dc,Z.isSymbol=bc,Z.isTypedArray=Oh,Z.isUndefined=wc,Z.isWeakMap=mc,Z.isWeakSet=xc,Z.join=xo,Z.kebabCase=Kh,Z.last=jo,Z.lastIndexOf=Ao,Z.lowerCase=Vh,Z.lowerFirst=Gh,Z.lt=Ih,Z.lte=Rh,Z.max=Ya,Z.maxBy=Qa,Z.mean=Xa,Z.meanBy=nl,Z.min=tl,Z.minBy=rl,Z.stubArray=Pa,Z.stubFalse=qa,Z.stubObject=Za,Z.stubString=Ka,\nZ.stubTrue=Va,Z.multiply=_p,Z.nth=ko,Z.noConflict=$a,Z.noop=Da,Z.now=fh,Z.pad=ha,Z.padEnd=pa,Z.padStart=_a,Z.parseInt=va,Z.random=oa,Z.reduce=bf,Z.reduceRight=wf,Z.repeat=ga,Z.replace=ya,Z.result=Hc,Z.round=vp,Z.runInContext=p,Z.sample=xf,Z.size=kf,Z.snakeCase=Hh,Z.some=Of,Z.sortedIndex=Wo,Z.sortedIndexBy=Lo,Z.sortedIndexOf=Co,Z.sortedLastIndex=Uo,Z.sortedLastIndexBy=Bo,Z.sortedLastIndexOf=To,Z.startCase=Jh,Z.startsWith=ba,Z.subtract=gp,Z.sum=el,Z.sumBy=ul,Z.template=wa,Z.times=Ga,Z.toFinite=Ac,Z.toInteger=kc,\nZ.toLength=Oc,Z.toLower=ma,Z.toNumber=Ic,Z.toSafeInteger=zc,Z.toString=Ec,Z.toUpper=xa,Z.trim=ja,Z.trimEnd=Aa,Z.trimStart=ka,Z.truncate=Oa,Z.unescape=Ia,Z.uniqueId=Ja,Z.upperCase=Yh,Z.upperFirst=Qh,Z.each=_f,Z.eachRight=vf,Z.first=bo,Ta(Z,function(){var n={};return ue(Z,function(t,r){bl.call(Z.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),Z.VERSION=nn,r(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){Z[n].placeholder=Z}),r(["drop","take"],function(n,t){Ct.prototype[n]=function(r){\nr=r===X?1:Gl(kc(r),0);var e=this.__filtered__&&!t?new Ct(this):this.clone();return e.__filtered__?e.__takeCount__=Hl(r,e.__takeCount__):e.__views__.push({size:Hl(r,Un),type:n+(e.__dir__<0?"Right":"")}),e},Ct.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),r(["filter","map","takeWhile"],function(n,t){var r=t+1,e=r==Rn||r==En;Ct.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:mi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r(["head","last"],function(n,t){\nvar r="take"+(t?"Right":"");Ct.prototype[n]=function(){return this[r](1).value()[0]}}),r(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Ct.prototype[n]=function(){return this.__filtered__?new Ct(this):this[r](1)}}),Ct.prototype.compact=function(){return this.filter(La)},Ct.prototype.find=function(n){return this.filter(n).head()},Ct.prototype.findLast=function(n){return this.reverse().find(n)},Ct.prototype.invokeMap=uu(function(n,t){return"function"==typeof n?new Ct(this):this.map(function(r){\nreturn Ie(r,n,t)})}),Ct.prototype.reject=function(n){return this.filter(Uf(mi(n)))},Ct.prototype.slice=function(n,t){n=kc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Ct(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==X&&(t=kc(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},Ct.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ct.prototype.toArray=function(){return this.take(Un)},ue(Ct.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=Z[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);\nu&&(Z.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ct,c=o[0],l=f||bh(t),s=function(n){var t=u.apply(Z,a([n],o));return e&&h?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Ct(this);var g=n.apply(t,o);return g.__actions__.push({func:nf,args:[s],thisArg:X}),new Y(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})}),r(["pop","push","shift","sort","splice","unshift"],function(n){\nvar t=_l[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);Z.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(bh(u)?u:[],n)}return this[r](function(r){return t.apply(bh(r)?r:[],n)})}}),ue(Ct.prototype,function(n,t){var r=Z[t];if(r){var e=r.name+"";bl.call(fs,e)||(fs[e]=[]),fs[e].push({name:t,func:r})}}),fs[Qu(X,vn).name]=[{name:"wrapper",func:X}],Ct.prototype.clone=$t,Ct.prototype.reverse=Yt,Ct.prototype.value=Qt,Z.prototype.at=Qs,\nZ.prototype.chain=tf,Z.prototype.commit=rf,Z.prototype.next=ef,Z.prototype.plant=of,Z.prototype.reverse=ff,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=cf,Z.prototype.first=Z.prototype.head,Ul&&(Z.prototype[Ul]=uf),Z},be=de(); true?(re._=be,!(__WEBPACK_AMD_DEFINE_RESULT__ = (function(){return be}).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))):0}).call(this);\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/lodash.min.js?')},733:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var MapCache = __webpack_require__(6738);\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/memoize.js?")},4291:module=>{eval("/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/noop.js?")},5798:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseProperty = __webpack_require__(256),\n basePropertyDeep = __webpack_require__(2952),\n isKey = __webpack_require__(1401),\n toKey = __webpack_require__(3812);\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/property.js?")},577:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var createWrap = __webpack_require__(7902),\n flatRest = __webpack_require__(9097);\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\nvar rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n});\n\nmodule.exports = rearg;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/rearg.js?")},981:module=>{eval("/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/stubArray.js?")},6330:module=>{eval("/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/stubFalse.js?")},5707:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var toNumber = __webpack_require__(7642);\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/toFinite.js?")},8101:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var toFinite = __webpack_require__(5707);\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/toInteger.js?")},7642:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseTrim = __webpack_require__(1704),\n isObject = __webpack_require__(9259),\n isSymbol = __webpack_require__(4795);\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/toNumber.js?")},5497:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var arrayMap = __webpack_require__(343),\n copyArray = __webpack_require__(1522),\n isArray = __webpack_require__(6152),\n isSymbol = __webpack_require__(4795),\n stringToPath = __webpack_require__(4452),\n toKey = __webpack_require__(3812),\n toString = __webpack_require__(6188);\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nmodule.exports = toPath;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/toPath.js?")},6188:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseToString = __webpack_require__(1054);\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/toString.js?")},4636:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var baseIteratee = __webpack_require__(8286),\n baseUniq = __webpack_require__(7326);\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/uniqBy.js?")},8674:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var LazyWrapper = __webpack_require__(6504),\n LodashWrapper = __webpack_require__(5859),\n baseLodash = __webpack_require__(3620),\n isArray = __webpack_require__(6152),\n isObjectLike = __webpack_require__(5125),\n wrapperClone = __webpack_require__(7366);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nmodule.exports = lodash;\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lodash/wrapperLodash.js?")},8057:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nvar escapeStringRegexp = __webpack_require__(8102);\n\nmodule.exports = function (str, sub) {\n\tif (typeof str !== 'string' || typeof sub !== 'string') {\n\t\tthrow new TypeError();\n\t}\n\n\tsub = escapeStringRegexp(sub);\n\treturn str.replace(new RegExp('^' + sub + '|' + sub + '$', 'g'), '');\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/strip-outer/index.js?")},8440:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nvar escapeStringRegexp = __webpack_require__(8102);\n\nmodule.exports = function (str, target) {\n\tif (typeof str !== 'string' || typeof target !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(new RegExp('(?:' + escapeStringRegexp(target) + '){2,}', 'g'), target);\n};\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/trim-repeated/index.js?")},5237:(module,__unused_webpack_exports,__webpack_require__)=>{eval("!function(e,n){ true?module.exports=n(__webpack_require__(9172),__webpack_require__(6635),__webpack_require__(60)):0}(self,((__WEBPACK_EXTERNAL_MODULE__830__,__WEBPACK_EXTERNAL_MODULE__467__,__WEBPACK_EXTERNAL_MODULE__326__)=>(()=>{\"use strict\";var __webpack_modules__={904:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval(\"// ESM COMPAT FLAG\\n__webpack_require__.r(__webpack_exports__);\\n\\n// EXPORTS\\n__webpack_require__.d(__webpack_exports__, {\\n CAIAdapters: () => (/* binding */ CAIAdapters)\\n});\\n\\n// EXTERNAL MODULE: external \\\"@cai/common\\\"\\nvar common_ = __webpack_require__(830);\\n;// CONCATENATED MODULE: ./src/utils/uxp.ts\\nconst uxp = __webpack_require__(876);\\n\\n/* harmony default export */ const utils_uxp = (uxp);\\n;// CONCATENATED MODULE: ./src/lib/UXPUser.ts\\n\\n\\nclass UXPUser extends common_.CAIUser {\\n constructor(props) {\\n super(props);\\n this.userProfile = null;\\n utils_uxp.licensing.addEventListener('profilechanged', () => {\\n console.info('TOKEN: Profile change fired');\\n this.updateToken();\\n });\\n }\\n\\n async getUserProfile() {\\n if (this.userProfile) {\\n return this.userProfile;\\n }\\n\\n try {\\n const profile = JSON.parse(await utils_uxp.licensing.fetchProfile());\\n this.userProfile = profile.UserProfile;\\n } catch (err) {\\n console.error('Could not fetch/parse user profile from UXP', err);\\n }\\n\\n return this.userProfile;\\n }\\n\\n getAccessToken() {\\n return utils_uxp.licensing.getAccessToken(this.config());\\n }\\n\\n async getAccountType() {\\n const userProfile = await this.getUserProfile();\\n return (userProfile === null || userProfile === void 0 ? void 0 : userProfile.accountType) || null;\\n }\\n\\n async getCountryCode() {\\n const userProfile = await this.getUserProfile();\\n return (userProfile === null || userProfile === void 0 ? void 0 : userProfile.countryCode) || null;\\n }\\n\\n}\\n;// CONCATENATED MODULE: ../types/dist/src/WorkingStore.js\\n// ADOBE CONFIDENTIAL\\n// Copyright 2021 Adobe\\n// All Rights Reserved.\\n//\\n// NOTICE: All information contained herein is, and remains\\n// the property of Adobe and its suppliers, if any. The intellectual\\n// and technical concepts contained herein are proprietary to Adobe\\n// and its suppliers and are protected by all applicable intellectual\\n// property laws, including trade secret and copyright laws.\\n// Dissemination of this information or reproduction of this material\\n// is strictly forbidden unless prior written permission is obtained\\n// from Adobe.\\nvar DigitalSourceType;\\n(function (DigitalSourceType) {\\n DigitalSourceType[\\\"trainedAlgorithmicMedia\\\"] = \\\"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia\\\";\\n DigitalSourceType[\\\"algorithmicallyEnhanced\\\"] = \\\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced\\\";\\n DigitalSourceType[\\\"compositeSynthetic\\\"] = \\\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic\\\";\\n DigitalSourceType[\\\"digitalCapture\\\"] = \\\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture\\\";\\n // eslint-disable-next-line max-len\\n DigitalSourceType[\\\"compositeWithTrainedAlgorithmicMedia\\\"] = \\\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia\\\";\\n})(DigitalSourceType || (DigitalSourceType = {}));\\n//# sourceMappingURL=WorkingStore.js.map\\n;// CONCATENATED MODULE: ../types/dist/src/ManifestService.js\\nvar HelperErrorCode;\\n(function (HelperErrorCode) {\\n HelperErrorCode[\\\"NotFound\\\"] = \\\"NotFound\\\";\\n HelperErrorCode[\\\"Permission\\\"] = \\\"Permission\\\";\\n HelperErrorCode[\\\"Offline\\\"] = \\\"Offline\\\";\\n})(HelperErrorCode || (HelperErrorCode = {}));\\n//# sourceMappingURL=ManifestService.js.map\\n;// CONCATENATED MODULE: ../types/dist/src/utils.js\\n// ADOBE CONFIDENTIAL\\n// Copyright 2021 Adobe\\n// All Rights Reserved.\\n//\\n// NOTICE: All information contained herein is, and remains\\n// the property of Adobe and its suppliers, if any. The intellectual\\n// and technical concepts contained herein are proprietary to Adobe\\n// and its suppliers and are protected by all applicable intellectual\\n// property laws, including trade secret and copyright laws.\\n// Dissemination of this information or reproduction of this material\\n// is strictly forbidden unless prior written permission is obtained\\n// from Adobe.\\n/**\\n * This is a workaround for being able to define static classes in an interface, until the issues\\n * associated with this issue is resolved: https://github.com/microsoft/TypeScript/issues/14600\\n *\\n * Source: https://stackoverflow.com/a/43674389\\n */\\nfunction staticImplements() {\\n return (constructor) => {\\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\\n constructor;\\n };\\n}\\nfunction objectHasKey(obj, key) {\\n return Boolean(key in obj);\\n}\\n//# sourceMappingURL=utils.js.map\\n;// CONCATENATED MODULE: ../types/dist/src/index.js\\n// ADOBE CONFIDENTIAL\\n// Copyright 2020 Adobe\\n// All Rights Reserved.\\n//\\n// NOTICE: All information contained herein is, and remains\\n// the property of Adobe and its suppliers, if any. The intellectual\\n// and technical concepts contained herein are proprietary to Adobe\\n// and its suppliers and are protected by all applicable intellectual\\n// property laws, including trade secret and copyright laws.\\n// Dissemination of this information or reproduction of this material\\n// is strictly forbidden unless prior written permission is obtained\\n// from Adobe.\\n/**\\n * @todo: Audit me\\n * @see https://jira.corp.adobe.com/browse/CAI-569\\n */\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceMappingURL=index.js.map\\n;// CONCATENATED MODULE: ./src/lib/UXPSystem.ts\\nvar __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\\n var c = arguments.length,\\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\\n d;\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n};\\n\\n\\n\\n\\nconst os = __webpack_require__(801);\\n\\nlet UXPSystem = class UXPSystem {\\n static getOSPlatform() {\\n return os.platform() === 'darwin' ? 'mac' : 'win';\\n }\\n\\n static getOSVersion() {\\n return os.release();\\n }\\n\\n static getUserAgent() {\\n return navigator.userAgent;\\n }\\n\\n static getData() {\\n return (0,common_.getSystemData)(this);\\n }\\n\\n};\\nUXPSystem = __decorate([staticImplements()], UXPSystem);\\n\\n// EXTERNAL MODULE: external \\\"lodash\\\"\\nvar external_lodash_ = __webpack_require__(467);\\n;// CONCATENATED MODULE: ./src/lib/UXPApp.ts\\nvar UXPApp_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\\n var c = arguments.length,\\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\\n d;\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n};\\n\\n\\n\\n\\n\\nlet UXPApp = class UXPApp {\\n static getHostProfile() {\\n const host = utils_uxp.host;\\n /* @ts-ignore */\\n\\n return (0,external_lodash_.pick)(host, ['buildNumber', 'locale', 'name', 'version']);\\n }\\n\\n static getName() {\\n return this.getHostProfile().name;\\n }\\n\\n static getBuildNumber() {\\n return this.getHostProfile().buildNumber;\\n }\\n\\n static getVersion() {\\n return this.getHostProfile().version;\\n }\\n\\n static getLocale() {\\n return this.getHostProfile().locale;\\n }\\n\\n static isProductionEnv() {\\n return utils_uxp.licensing.isProductionEnv();\\n }\\n\\n static canLogAnalyticsData() {\\n return utils_uxp.host.canLogAnalyticsData;\\n }\\n\\n static getEnv() {\\n return (0,common_.getAppEnv)(this);\\n }\\n\\n static getData() {\\n return (0,common_.getAppData)(this);\\n }\\n\\n};\\nUXPApp = UXPApp_decorate([staticImplements()], UXPApp);\\n\\n;// CONCATENATED MODULE: ./src/lib/UXPConfig.ts\\n\\nclass UXPConfig extends common_.CAIConfig {\\n /**\\n * Web config would be passed in via env variables per env\\n * Desktop has one codebase for both\\n */\\n static setConfig() {\\n const prodConfig = {\\n id_proxy: {\\n host: 'cai-identity.adobe.io',\\n api_key: this.apiKey\\n },\\n splunk_proxy: {\\n host: 'cai-splunk-proxy.adobe.io',\\n api_key: this.apiKey\\n },\\n identity: {\\n label: 'Production',\\n clientId: 'cai.uxp-plugin',\\n clientSecret: 'p8e-tkmhT8WLyHYp6DgYbw4NVSnrtE7Obplf',\\n clientScope: 'openid,AdobeID,creative_cloud',\\n imsServer: 'ims-na1.adobelogin.com'\\n },\\n social_site: {\\n client_id: 'cai-social-site',\\n host: 'connected-accounts.adobe.com'\\n }\\n };\\n const stageConfig = {\\n splunk_proxy: {\\n host: 'cai-splunk-proxy-stage.adobe.io',\\n api_key: this.apiKey\\n },\\n identity: {\\n label: 'Stage',\\n clientId: 'cai.uxp-plugin',\\n clientSecret: 's8e-CqA8F2aa1boXo6eIQgZjB55_ei2aA6kB',\\n clientScope: 'openid,AdobeID,creative_cloud',\\n imsServer: 'ims-na1-stg1.adobelogin.com'\\n },\\n id_proxy: {\\n host: 'cai-identity-stage.adobe.io',\\n api_key: this.apiKey\\n },\\n social_site: {\\n client_id: 'cai-social-site',\\n host: 'connected-accounts-stage.adobe.com'\\n }\\n };\\n this.config = this.isProd ? prodConfig : stageConfig;\\n }\\n\\n}\\nUXPConfig.apiKey = '';\\n;// CONCATENATED MODULE: ./src/lib/UXPFs.ts\\nvar UXPFs_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\\n var c = arguments.length,\\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\\n d;\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n};\\n\\nvar UXPFs_1;\\n\\n\\n\\nconst fs = __webpack_require__(48);\\n\\nconst UXPFs_os = __webpack_require__(801);\\n\\nlet UXPFs = UXPFs_1 = class UXPFs {\\n /**\\n * ensure folder exists before copying over\\n * UXP has no \\\"does file or folder exist\\\" method from typical node so this is the way\\n * to avoid various mkdirs all over the codebase\\n */\\n static async ensureFolderExists(destination) {\\n await UXPFs_1.mkdir((0,common_.basefolder)(destination));\\n }\\n\\n static async copyFile(source, destination) {\\n await UXPFs_1.ensureFolderExists(destination);\\n\\n try {\\n const copied = await fs.copyFile(`file:${source}`, `file:${destination}`);\\n return copied;\\n } catch (e) {\\n console.warn(`Unable to copy ${source} to ${destination}`);\\n throw e;\\n }\\n }\\n\\n static async writeFile(destination, contents) {\\n await UXPFs_1.ensureFolderExists(destination);\\n\\n try {\\n await fs.writeFile(`file:${destination}`, contents, {\\n flag: 'w'\\n });\\n } catch (e) {\\n console.warn(`Unable to write to ${destination}`);\\n throw e;\\n }\\n }\\n /**\\n * Allow us to see about creating a folder, no worrying if it exists or not\\n */\\n\\n\\n static async mkdir(directory) {\\n try {\\n await fs.mkdir(`file:${directory}`);\\n } catch (e) {\\n // Code taken from splunk for \\\"file already exists\\\"\\n const existsCode = UXPFs_os.platform() === 'darwin' ? -17 : -4075;\\n\\n if (e.code !== existsCode) {\\n console.warn('Unable to create folder', directory);\\n throw e;\\n }\\n }\\n }\\n\\n};\\nUXPFs = UXPFs_1 = UXPFs_decorate([staticImplements()], UXPFs);\\n\\n;// CONCATENATED MODULE: ./src/lib/UXPUi.ts\\nvar UXPUi_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\\n var c = arguments.length,\\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\\n d;\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n};\\n\\n\\n\\nlet UXPUi = class UXPUi {\\n static async getColorTheme() {\\n const host = utils_uxp.host;\\n return host.getTheme();\\n }\\n\\n};\\nUXPUi = UXPUi_decorate([staticImplements()], UXPUi);\\n\\n// EXTERNAL MODULE: external \\\"@cai/localization\\\"\\nvar localization_ = __webpack_require__(326);\\n;// CONCATENATED MODULE: ./src/lib/UXPHelper.ts\\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\\n\\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\n// ADOBE CONFIDENTIAL\\n// Copyright 2021 Adobe\\n// All Rights Reserved.\\n//\\n// NOTICE: All information contained herein is, and remains\\n// the property of Adobe and its suppliers, if any. The intellectual\\n// and technical concepts contained herein are proprietary to Adobe\\n// and its suppliers and are protected by all applicable intellectual\\n// property laws, including trade secret and copyright laws.\\n// Dissemination of this information or reproduction of this material\\n// is strictly forbidden unless prior written permission is obtained\\n// from Adobe.\\nvar UXPHelper_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\\n var c = arguments.length,\\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\\n d;\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n};\\n\\n\\n\\n\\nclass CAISDKError extends common_.AppError {\\n constructor(message, context) {\\n super(message, context);\\n this.name = 'CAISDKError';\\n }\\n\\n}\\n\\nconst onError = err => {\\n let message = localization_.Localization.formatMessage({\\n id: 'error.embed.general',\\n // formatjs extraction will not process this string if it's split to multiple lines\\n\\n /* prettier-ignore */\\n // eslint-disable-next-line max-len\\n defaultMessage: `Your file was exported but its Content Credentials couldn't be published or attached due to an error. You can try exporting again.`\\n });\\n\\n if (!navigator.onLine) {\\n message = localization_.Localization.formatMessage({\\n id: 'error.offline',\\n // formatjs extraction will not process this string if it's split to multiple lines\\n\\n /* prettier-ignore */\\n // eslint-disable-next-line max-len\\n defaultMessage: `Your file was exported but its Content Credentials couldn't be published or attached. Please check your network connection and try again.`\\n });\\n } else if (err instanceof CAISDKError) {\\n const _err$context = err.context,\\n code = _err$context.code,\\n errMessage = _err$context.message;\\n\\n if (code === HelperErrorCode.NotFound) {\\n message = localization_.Localization.formatMessage({\\n id: 'fileError.embed.notFound',\\n\\n /* eslint-disable-next-line max-len */\\n defaultMessage: `Your file was exported but its Content Credentials couldn't be published or attached because the file could not be found. It may have been deleted, moved, or renamed. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.`\\n });\\n } else if (code === HelperErrorCode.Permission) {\\n message = localization_.Localization.formatMessage({\\n id: 'fileError.embed.permission',\\n\\n /* eslint-disable-next-line max-len */\\n defaultMessage: `Your file was exported but its Content Credentials couldn't be published or attached, possibly due to insufficient permissions. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.`\\n });\\n } else if (code === HelperErrorCode.Offline) {\\n message = localization_.Localization.formatMessage({\\n id: 'error.caiHelper',\\n // formatjs extraction will not process this string if it's split to multiple lines\\n\\n /* prettier-ignore */\\n // eslint-disable-next-line max-len\\n defaultMessage: `Your file was exported but its Content Credentials couldn’t be published or attached due to connection issues between Content Credentials (Beta) and another service. Please try again later.`\\n });\\n } else if (errMessage && errMessage.includes('too large')) {\\n message = localization_.Localization.formatMessage({\\n id: 'fileError.embed.tooLarge',\\n\\n /* eslint-disable-next-line max-len */\\n defaultMessage: `Your file was exported but its Content Credentials were too large to publish. You can attach them to your file instead by choosing \\\"Attach to file (JPG & PNG)\\\" and exporting again.`\\n });\\n }\\n }\\n\\n return message;\\n};\\n\\nlet UXPHelper = class UXPHelper {\\n static initialize(props) {\\n this.pathSeparation = props.pathSeparation;\\n }\\n\\n static async embed(payload) {\\n const claim = payload.claim,\\n path = payload.path,\\n userToken = payload.userToken,\\n destination = payload.destination,\\n dataDir = payload.dataDir;\\n const EMBED_FILE = 1;\\n const EMBED_CLOUD = 132;\\n const destinationParam = destination === 'cloud' ? EMBED_CLOUD : EMBED_FILE;\\n\\n try {\\n const c2pa = await __webpack_require__(178);\\n const resultString = await c2pa.add_manifest(path, // read from\\n path, // write to\\n dataDir, JSON.stringify(claim), `Bearer ${userToken}`, destinationParam);\\n const result = JSON.parse(resultString);\\n const error = result.error;\\n\\n if (error) {\\n throw new CAISDKError('Failed to embed', _objectSpread({}, error));\\n }\\n\\n return claim;\\n } catch (e) {\\n const localizedMessage = onError(e);\\n throw new common_.EmbedError('Failed to embed', {\\n localizedMessage,\\n originalError: (0,common_.serializeError)(e)\\n });\\n }\\n }\\n\\n static async createWorkingAsset(payload) {\\n const path = payload.path,\\n initialInfo = payload.initialInfo,\\n outputPath = payload.outputPath;\\n\\n if (!path) {\\n throw new common_.AppError('No need to create asset request for assets without a path');\\n }\\n\\n const JUST_HASH = 2;\\n const HASH_AND_THUMBNAIL = 3;\\n const thumbnailOption = initialInfo !== null && initialInfo !== void 0 && initialInfo.thumbnail ? JUST_HASH : HASH_AND_THUMBNAIL;\\n\\n try {\\n const c2pa = await __webpack_require__(178);\\n const resultString = await c2pa.ingredient_from_file(path, outputPath, thumbnailOption);\\n const result = JSON.parse(resultString);\\n const ok = result.ok,\\n error = result.error;\\n\\n if (error || !ok) {\\n throw new CAISDKError('Failed to get ingredient data', _objectSpread({}, result));\\n }\\n\\n const thumbnail = result.ok.thumbnail;\\n\\n if (thumbnailOption === HASH_AND_THUMBNAIL) {\\n thumbnail.fileName = thumbnail.identifier; // If the thumbnail is a self#jumbf that means the SDK wrote the thumbnail out to a different file location\\n // We need to update the fileName to the new location\\n // see https://jira.corp.adobe.com/browse/CAI-5417\\n\\n if (thumbnail.identifier.includes('self#jumbf=/c2pa/')) {\\n thumbnail.fileName = `${result.ok.active_manifest.replaceAll(':', '_')}.jpg`;\\n }\\n }\\n\\n const ingredient = _objectSpread(_objectSpread({}, result.ok), {}, {\\n // Handle differences in types from Hybrid vs Plugin\\n thumbnail,\\n manifest_data: result.ok.manifest_data,\\n metadata: {\\n dateTime: new Date().toISOString()\\n }\\n });\\n\\n return ingredient;\\n } catch (e) {\\n const isSDKError = e instanceof CAISDKError; // We want to log if there is an issue loading/using addon\\n // Errors around permssions and such will properly give message to user\\n\\n if (!isSDKError) {\\n common_.SplunkLogger.log({\\n level: 'info',\\n context: {\\n reason: 'Exception',\\n extension: path ? path.replace(/.+\\\\.([a-z]+)$/i, '$1').toLowerCase() : ''\\n },\\n message: 'Asset fallback',\\n channel: 'cai_uxp'\\n });\\n }\\n\\n throw e;\\n }\\n }\\n\\n};\\nUXPHelper = UXPHelper_decorate([staticImplements()], UXPHelper);\\n\\n;// CONCATENATED MODULE: ./src/index.ts\\n// ADOBE CONFIDENTIAL\\n// Copyright 2022 Adobe\\n// All Rights Reserved.\\n//\\n// NOTICE: All information contained herein is, and remains\\n// the property of Adobe and its suppliers, if any. The intellectual\\n// and technical concepts contained herein are proprietary to Adobe\\n// and its suppliers and are protected by all applicable intellectual\\n// property laws, including trade secret and copyright laws.\\n// Dissemination of this information or reproduction of this material\\n// is strictly forbidden unless prior written permission is obtained\\n// from Adobe.\\n\\n\\n\\n\\n\\n\\n\\nvar CAIAdapters;\\n\\n(function (CAIAdapters) {\\n class User extends UXPUser {}\\n\\n CAIAdapters.User = User;\\n\\n class System extends UXPSystem {}\\n\\n CAIAdapters.System = System;\\n\\n class App extends UXPApp {}\\n\\n CAIAdapters.App = App;\\n\\n class Config extends UXPConfig {}\\n\\n CAIAdapters.Config = Config;\\n\\n class FS extends UXPFs {}\\n\\n CAIAdapters.FS = FS;\\n\\n class ManifestService extends UXPHelper {}\\n\\n CAIAdapters.ManifestService = ManifestService;\\n\\n class UI extends UXPUi {}\\n\\n CAIAdapters.UI = UI;\\n})(CAIAdapters || (CAIAdapters = {}));\\n\\n//# sourceURL=webpack://@cai/adapters-uxp/./src/index.ts_+_12_modules?\")},178:e=>{e.exports=__webpack_require__(4178)},48:e=>{e.exports=__webpack_require__(2048)},801:e=>{e.exports=__webpack_require__(9801)},876:e=>{e.exports=__webpack_require__(6876)},830:e=>{e.exports=__WEBPACK_EXTERNAL_MODULE__830__},326:e=>{e.exports=__WEBPACK_EXTERNAL_MODULE__326__},467:e=>{e.exports=__WEBPACK_EXTERNAL_MODULE__467__}},__webpack_module_cache__={};function __nested_webpack_require_24243__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](t,t.exports,__nested_webpack_require_24243__),t.exports}__nested_webpack_require_24243__.d=(e,n)=>{for(var t in n)__nested_webpack_require_24243__.o(n,t)&&!__nested_webpack_require_24243__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__nested_webpack_require_24243__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__nested_webpack_require_24243__.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var __nested_webpack_exports__=__nested_webpack_require_24243__(904);return __nested_webpack_exports__})()));\n\n//# sourceURL=webpack://@cai/panel/../adapters-uxp/dist/cai-adapters-uxp.umd.js?")},4178:e=>{"use strict";e.exports=require("adobe_c2pa.uxpaddon")},2048:e=>{"use strict";e.exports=require("fs")},9801:e=>{"use strict";e.exports=require("os")},5315:e=>{"use strict";e.exports=require("path")},3192:e=>{"use strict";e.exports=require("photoshop")},6876:e=>{"use strict";e.exports=require("uxp")},6290:module=>{eval('function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@babel/runtime/helpers/defineProperty.js?')},1600:module=>{eval('function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n "default": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@babel/runtime/helpers/interopRequireDefault.js?')},2981:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ o: () => (/* binding */ SpectrumElement)\n/* harmony export */ });\n/* unused harmony export SpectrumMixin */\n/* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2853);\nconst i=new Set,l=()=>{const n=document.documentElement.dir==="rtl"?document.documentElement.dir:"ltr";i.forEach(s=>{s.setAttribute("dir",n)})},c=new MutationObserver(l);c.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]});const d=n=>typeof n.startManagingContentDirection!="undefined"||n.tagName==="SP-THEME";function SpectrumMixin(n){class s extends n{get isLTR(){return this.dir==="ltr"}hasVisibleFocusInTree(){const e=this.getRootNode().activeElement;if(!e)return!1;try{return e.matches(":focus-visible")||e.matches(".focus-visible")}catch(t){return e.matches(".focus-visible")}}connectedCallback(){if(!this.hasAttribute("dir")){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!d(e);)e=e.assignedSlot||e.parentNode||e.host;if(this.dir=e.dir==="rtl"?e.dir:this.dir||"ltr",e===document.documentElement)i.add(this);else{const{localName:t}=e;t.search("-")>-1&&!customElements.get(t)?customElements.whenDefined(t).then(()=>{e.startManagingContentDirection(this)}):e.startManagingContentDirection(this)}this._dirParent=e}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._dirParent&&(this._dirParent===document.documentElement?i.delete(this):this._dirParent.stopManagingContentDirection(this),this.removeAttribute("dir"))}}return s}class SpectrumElement extends SpectrumMixin(lit__WEBPACK_IMPORTED_MODULE_0__.LitElement){}\n//# sourceMappingURL=Base.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/base/src/Base.js?')},6348:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ I: () => (/* binding */ SizedMixin)\n/* harmony export */ });\n/* unused harmony export ElementSizes */\n/* harmony import */ var lit_decorators_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9487);\nvar a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=(n,i,s,t)=>{for(var e=t>1?void 0:t?u(i,s):i,l=n.length-1,o;l>=0;l--)(o=n[l])&&(e=(t?o(i,s,e):o(e))||e);return t&&e&&a(i,s,e),e};const ElementSizes={xxs:"xxs",xs:"xs",s:"s",m:"m",l:"l",xl:"xl",xxl:"xxl"};function SizedMixin(n,{validSizes:i=["s","m","l","xl"],noDefaultSize:s,defaultSize:t="m"}={}){class e extends n{constructor(){super(...arguments);this._size=t}get size(){return this._size||t}set size(r){const c=s?null:t,z=r&&r.toLocaleLowerCase(),x=i.includes(z)?z:c;if(x&&this.setAttribute("size",x),this._size===x)return;const p=this._size;this._size=x,this.requestUpdate("size",p)}update(r){!this.hasAttribute("size")&&!s&&this.setAttribute("size",this.size),super.update(r)}}return m([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_0__.property)({type:String,reflect:!0})],e.prototype,"size",1),e}\n//# sourceMappingURL=sizedMixin.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/base/src/sizedMixin.js?')},188:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n Y: () => (/* binding */ Focusable)\n});\n\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/base/src/Base.js\nvar Base = __webpack_require__(2981);\n// EXTERNAL MODULE: ../../node_modules/lit/decorators.js + 10 modules\nvar decorators = __webpack_require__(9487);\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/shared/src/focus-visible.js\nlet i=!0;try{document.body.querySelector(":focus-visible")}catch(a){i=!1,__webpack_require__.e(/* import() */ 534).then(__webpack_require__.t.bind(__webpack_require__, 6534, 19))}const FocusVisiblePolyfillMixin=a=>{var n;const s=l=>{if(l.shadowRoot==null||l.hasAttribute("data-js-focus-visible"))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(l.shadowRoot),l.manageAutoFocus&&l.manageAutoFocus();else{const e=()=>{self.applyFocusVisiblePolyfill&&l.shadowRoot&&self.applyFocusVisiblePolyfill(l.shadowRoot),l.manageAutoFocus&&l.manageAutoFocus()};return self.addEventListener("focus-visible-polyfill-ready",e,{once:!0}),()=>{self.removeEventListener("focus-visible-polyfill-ready",e)}}return()=>{}},o=Symbol("endPolyfillCoordination");class t extends a{constructor(){super(...arguments);this[n]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),i||requestAnimationFrame(()=>{this[o]==null&&(this[o]=s(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),i||requestAnimationFrame(()=>{this[o]!=null&&(this[o](),this[o]=null)})}}return n=o,t};\n//# sourceMappingURL=focus-visible.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/shared/src/focusable.js\nvar u=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var n=(s,a,e,t)=>{for(var i=t>1?void 0:t?b(a,e):a,o=s.length-1,r;o>=0;o--)(r=s[o])&&(i=(t?r(a,e,i):r(i))||i);return t&&i&&u(a,e,i),i};function d(){return new Promise(s=>requestAnimationFrame(()=>s()))}class Focusable extends FocusVisiblePolyfillMixin(Base/* SpectrumElement */.o){constructor(){super(...arguments);this.disabled=!1;this.autofocus=!1;this._tabIndex=-1;this.manipulatingTabindex=!1;this._recentlyConnected=!1}get tabIndex(){if(this.focusElement===this){const t=this.hasAttribute("tabindex")?Number(this.getAttribute("tabindex")):NaN;return isNaN(t)?-1:t}const e=parseFloat(this.hasAttribute("tabindex")&&this.getAttribute("tabindex")||"0");return this.disabled||e<0?-1:this.focusElement?this.focusElement.tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(e!==this._tabIndex){this._tabIndex=e;const t=this.disabled?"-1":""+e;this.manipulatingTabindex=!0,this.setAttribute("tabindex",t)}return}if(e===-1?this.addEventListener("pointerdown",this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener("pointerdown",this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){this.setAttribute("tabindex","-1"),this.removeAttribute("focusable"),e!==-1&&this.manageFocusElementTabindex(e);return}this.setAttribute("focusable",""),this.hasAttribute("tabindex")?this.removeAttribute("tabindex"):this.manipulatingTabindex=!1,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&(this.tabIndex=0,this.focus({preventScroll:!0}))}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute("tabindex"):this.focusElement.tabIndex=e}get focusElement(){throw new Error("Must implement focusElement getter!")}focus(e){this.disabled||!this.focusElement||(this.focusElement!==this?this.focusElement.focus(e):HTMLElement.prototype.focus.apply(this,[e]))}blur(){const e=this.focusElement||this;e!==this?e.blur():HTMLElement.prototype.blur.apply(this)}click(){if(this.disabled)return;const e=this.focusElement||this;e!==this?e.click():HTMLElement.prototype.click.apply(this)}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent("keydown",{code:"Tab"})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute("tabindex")||this.getAttribute("tabindex")!=="-1")&&this.setAttribute("focusable","")}update(e){e.has("disabled")&&this.handleDisabledChanged(this.disabled,e.get("disabled")),super.update(e)}updated(e){super.updated(e),e.has("disabled")&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){const i=()=>this.focusElement!==this&&typeof this.focusElement.disabled!="undefined";e?(this.manipulatingTabindex=!0,this.setAttribute("tabindex","-1"),await this.updateComplete,i()?this.focusElement.disabled=!0:this.setAttribute("aria-disabled","true")):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute("tabindex",""+this._tabIndex):this.removeAttribute("tabindex"),await this.updateComplete,i()?this.focusElement.disabled=!1:this.removeAttribute("aria-disabled"))}async getUpdateComplete(){const e=await super.getUpdateComplete();return this._recentlyConnected&&(this._recentlyConnected=!1,await d(),await d()),e}connectedCallback(){super.connectedCallback(),this._recentlyConnected=!0,this.updateComplete.then(()=>{this.manageAutoFocus()})}}n([(0,decorators.property)({type:Boolean,reflect:!0})],Focusable.prototype,"disabled",2),n([(0,decorators.property)({type:Boolean})],Focusable.prototype,"autofocus",2),n([(0,decorators.property)({type:Number})],Focusable.prototype,"tabIndex",1);\n//# sourceMappingURL=focusable.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/shared/src/focusable.js_+_1_modules?')},1766:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_Theme_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5621);\ncustomElements.define("sp-theme",_src_Theme_js__WEBPACK_IMPORTED_MODULE_0__/* .Theme */ .Q);\n//# sourceMappingURL=sp-theme.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/theme/sp-theme.js?')},5621:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Q: () => (/* binding */ Theme)\n/* harmony export */ });\n/* harmony import */ var _spectrum_web_components_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2853);\nconst d=["spectrum","express"],m=["medium","large","medium-express","large-express"],c=["light","lightest","dark","darkest","light-express","lightest-express","dark-express","darkest-express"],a=class a extends HTMLElement{constructor(){super();this._dir="";this._theme="spectrum";this._color="";this._scale="";this.trackedChildren=new Set;this._updateRequested=!1;this._contextConsumers=new Map;this.attachShadow({mode:"open"});const e=document.importNode(a.template.content,!0);this.shadowRoot.appendChild(e),this.shouldAdoptStyles(),this.addEventListener("sp-query-theme",this.onQueryTheme),this.addEventListener("sp-language-context",this._handleContextPresence),this.updateComplete=this.__createDeferredPromise()}static get observedAttributes(){return["color","scale","theme","lang","dir"]}set dir(e){if(e===this.dir)return;this.setAttribute("dir",e),this._dir=e;const t=e==="rtl"?e:"ltr";this.trackedChildren.forEach(s=>{s.setAttribute("dir",t)})}get dir(){return this._dir}attributeChangedCallback(e,t,s){t!==s&&(e==="color"?this.color=s:e==="scale"?this.scale=s:e==="lang"&&s?(this.lang=s,this._provideContext()):e==="theme"?this.theme=s:e==="dir"&&(this.dir=s))}requestUpdate(){window.ShadyCSS!==void 0&&!window.ShadyCSS.nativeShadow?window.ShadyCSS.styleElement(this):this.shouldAdoptStyles()}get theme(){const e=a.themeFragmentsByKind.get("theme"),{name:t}=e&&e.get("default")||{};return this._theme||t||""}set theme(e){if(e===this._theme)return;const t=e&&d.includes(e)?e:this.theme;t!==this._theme&&(this._theme=t,this.requestUpdate()),t?this.setAttribute("theme",t):this.removeAttribute("theme")}get color(){const e=a.themeFragmentsByKind.get("color"),{name:t}=e&&e.get("default")||{};return this._color||t||""}set color(e){if(e===this._color)return;const t=e&&c.includes(e)?e:this.color;t!==this._color&&(this._color=t,this.requestUpdate()),t?this.setAttribute("color",t):this.removeAttribute("color")}get scale(){const e=a.themeFragmentsByKind.get("scale"),{name:t}=e&&e.get("default")||{};return this._scale||t||""}set scale(e){if(e===this._scale)return;const t=e&&m.includes(e)?e:this.scale;t!==this._scale&&(this._scale=t,this.requestUpdate()),t?this.setAttribute("scale",t):this.removeAttribute("scale")}get styles(){const e=[...a.themeFragmentsByKind.keys()],t=(r,i,n)=>{const o=n&&n!=="theme"&&this.theme==="express"?r.get(`${i}-express`):r.get(i),l=i==="spectrum"||!n||this.hasAttribute(n);if(o&&l)return o.styles};return[...e.reduce((r,i)=>{const n=a.themeFragmentsByKind.get(i);let o;if(i==="app"||i==="core")o=t(n,i);else{const{[i]:l}=this;o=t(n,l,i)}return o&&r.push(o),r},[])]}static get template(){return this.templateElement||(this.templateElement=document.createElement("template"),this.templateElement.innerHTML="<slot></slot>"),this.templateElement}__createDeferredPromise(){return new Promise(e=>{this.__resolve=e})}onQueryTheme(e){if(e.defaultPrevented)return;e.preventDefault();const{detail:t}=e;t.color=this.color||void 0,t.scale=this.scale||void 0,t.lang=this.lang||document.documentElement.lang||navigator.language,t.theme=this.theme||void 0}connectedCallback(){if(this.shouldAdoptStyles(),window.ShadyCSS!==void 0&&window.ShadyCSS.styleElement(this),a.instances.add(this),!this.hasAttribute("dir")){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!(e instanceof a);)e=e.assignedSlot||e.parentNode||e.host;this.dir=e.dir==="rtl"?e.dir:"ltr"}}disconnectedCallback(){a.instances.delete(this)}startManagingContentDirection(e){this.trackedChildren.add(e)}stopManagingContentDirection(e){this.trackedChildren.delete(e)}async shouldAdoptStyles(){this._updateRequested||(this.updateComplete=this.__createDeferredPromise(),this._updateRequested=!0,this._updateRequested=await!1,this.adoptStyles(),this.__resolve(!0))}adoptStyles(){const e=this.styles;if(window.ShadyCSS!==void 0&&!window.ShadyCSS.nativeShadow&&window.ShadyCSS.ScopingShim){const t=[];for(const[s,r]of a.themeFragmentsByKind)for(const[i,{styles:n}]of r){if(i==="default")continue;let o=n.cssText;a.defaultFragments.has(i)||(o=o.replace(":host",`:host([${s}=\'${i}\'])`)),t.push(o)}window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t,this.localName),window.ShadyCSS.prepareTemplate(a.template,this.localName)}else if(_spectrum_web_components_base__WEBPACK_IMPORTED_MODULE_0__.supportsAdoptingStyleSheets){const t=[];for(const s of e)t.push(s.styleSheet);this.shadowRoot.adoptedStyleSheets=t}else this.shadowRoot.querySelectorAll("style").forEach(s=>s.remove()),e.forEach(s=>{const r=document.createElement("style");r.textContent=s.cssText,this.shadowRoot.appendChild(r)})}static registerThemeFragment(e,t,s){const r=a.themeFragmentsByKind.get(t)||new Map;r.size===0&&(a.themeFragmentsByKind.set(t,r),r.set("default",{name:e,styles:s}),a.defaultFragments.add(e)),r.set(e,{name:e,styles:s}),a.instances.forEach(i=>i.shouldAdoptStyles())}_provideContext(){this._contextConsumers.forEach(([e,t])=>e(this.lang,t))}_handleContextPresence(e){e.stopPropagation();const t=e.composedPath()[0];if(this._contextConsumers.has(t))return;this._contextConsumers.set(t,[e.detail.callback,()=>this._contextConsumers.delete(t)]);const[s,r]=this._contextConsumers.get(t)||[];s&&r&&s(this.lang||document.documentElement.lang||navigator.language,r)}};a.themeFragmentsByKind=new Map,a.defaultFragments=new Set(["spectrum"]),a.instances=new Set;let Theme=a;\n//# sourceMappingURL=Theme.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/theme/src/Theme.js?')},2463:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ../../node_modules/lit/index.js + 4 modules\nvar lit = __webpack_require__(2853);\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/theme-light.css.js\nconst e=(0,lit.css)`\n:host,:root{--spectrum-global-color-status:Verified;--spectrum-global-color-version:5.1.0;--spectrum-global-color-opacity-100:1;--spectrum-global-color-opacity-90:0.9;--spectrum-global-color-opacity-80:0.8;--spectrum-global-color-opacity-70:0.7;--spectrum-global-color-opacity-60:0.6;--spectrum-global-color-opacity-55:0.55;--spectrum-global-color-opacity-50:0.5;--spectrum-global-color-opacity-42:0.42;--spectrum-global-color-opacity-40:0.4;--spectrum-global-color-opacity-30:0.3;--spectrum-global-color-opacity-25:0.25;--spectrum-global-color-opacity-20:0.2;--spectrum-global-color-opacity-15:0.15;--spectrum-global-color-opacity-10:0.1;--spectrum-global-color-opacity-8:0.08;--spectrum-global-color-opacity-7:0.07;--spectrum-global-color-opacity-6:0.06;--spectrum-global-color-opacity-5:0.05;--spectrum-global-color-opacity-4:0.04;--spectrum-global-color-opacity-0:0;--spectrum-global-color-celery-400-rgb:39,187,54;--spectrum-global-color-celery-400:rgb(var(--spectrum-global-color-celery-400-rgb));--spectrum-global-color-celery-500-rgb:7,167,33;--spectrum-global-color-celery-500:rgb(var(--spectrum-global-color-celery-500-rgb));--spectrum-global-color-celery-600-rgb:0,145,18;--spectrum-global-color-celery-600:rgb(var(--spectrum-global-color-celery-600-rgb));--spectrum-global-color-celery-700-rgb:0,124,15;--spectrum-global-color-celery-700:rgb(var(--spectrum-global-color-celery-700-rgb));--spectrum-global-color-chartreuse-400-rgb:152,197,10;--spectrum-global-color-chartreuse-400:rgb(var(--spectrum-global-color-chartreuse-400-rgb));--spectrum-global-color-chartreuse-500-rgb:135,177,3;--spectrum-global-color-chartreuse-500:rgb(var(--spectrum-global-color-chartreuse-500-rgb));--spectrum-global-color-chartreuse-600-rgb:118,156,0;--spectrum-global-color-chartreuse-600:rgb(var(--spectrum-global-color-chartreuse-600-rgb));--spectrum-global-color-chartreuse-700-rgb:103,136,0;--spectrum-global-color-chartreuse-700:rgb(var(--spectrum-global-color-chartreuse-700-rgb));--spectrum-global-color-yellow-400-rgb:232,198,0;--spectrum-global-color-yellow-400:rgb(var(--spectrum-global-color-yellow-400-rgb));--spectrum-global-color-yellow-500-rgb:215,179,0;--spectrum-global-color-yellow-500:rgb(var(--spectrum-global-color-yellow-500-rgb));--spectrum-global-color-yellow-600-rgb:196,159,0;--spectrum-global-color-yellow-600:rgb(var(--spectrum-global-color-yellow-600-rgb));--spectrum-global-color-yellow-700-rgb:176,140,0;--spectrum-global-color-yellow-700:rgb(var(--spectrum-global-color-yellow-700-rgb));--spectrum-global-color-magenta-400-rgb:222,61,130;--spectrum-global-color-magenta-400:rgb(var(--spectrum-global-color-magenta-400-rgb));--spectrum-global-color-magenta-500-rgb:200,34,105;--spectrum-global-color-magenta-500:rgb(var(--spectrum-global-color-magenta-500-rgb));--spectrum-global-color-magenta-600-rgb:173,9,85;--spectrum-global-color-magenta-600:rgb(var(--spectrum-global-color-magenta-600-rgb));--spectrum-global-color-magenta-700-rgb:142,0,69;--spectrum-global-color-magenta-700:rgb(var(--spectrum-global-color-magenta-700-rgb));--spectrum-global-color-fuchsia-400-rgb:205,58,206;--spectrum-global-color-fuchsia-400:rgb(var(--spectrum-global-color-fuchsia-400-rgb));--spectrum-global-color-fuchsia-500-rgb:182,34,183;--spectrum-global-color-fuchsia-500:rgb(var(--spectrum-global-color-fuchsia-500-rgb));--spectrum-global-color-fuchsia-600-rgb:157,3,158;--spectrum-global-color-fuchsia-600:rgb(var(--spectrum-global-color-fuchsia-600-rgb));--spectrum-global-color-fuchsia-700-rgb:128,0,129;--spectrum-global-color-fuchsia-700:rgb(var(--spectrum-global-color-fuchsia-700-rgb));--spectrum-global-color-purple-400-rgb:157,87,244;--spectrum-global-color-purple-400:rgb(var(--spectrum-global-color-purple-400-rgb));--spectrum-global-color-purple-500-rgb:137,61,231;--spectrum-global-color-purple-500:rgb(var(--spectrum-global-color-purple-500-rgb));--spectrum-global-color-purple-600-rgb:115,38,211;--spectrum-global-color-purple-600:rgb(var(--spectrum-global-color-purple-600-rgb));--spectrum-global-color-purple-700-rgb:93,19,183;--spectrum-global-color-purple-700:rgb(var(--spectrum-global-color-purple-700-rgb));--spectrum-global-color-indigo-400-rgb:104,109,244;--spectrum-global-color-indigo-400:rgb(var(--spectrum-global-color-indigo-400-rgb));--spectrum-global-color-indigo-500-rgb:82,88,228;--spectrum-global-color-indigo-500:rgb(var(--spectrum-global-color-indigo-500-rgb));--spectrum-global-color-indigo-600-rgb:64,70,202;--spectrum-global-color-indigo-600:rgb(var(--spectrum-global-color-indigo-600-rgb));--spectrum-global-color-indigo-700-rgb:50,54,168;--spectrum-global-color-indigo-700:rgb(var(--spectrum-global-color-indigo-700-rgb));--spectrum-global-color-seafoam-400-rgb:0,161,154;--spectrum-global-color-seafoam-400:rgb(var(--spectrum-global-color-seafoam-400-rgb));--spectrum-global-color-seafoam-500-rgb:0,140,135;--spectrum-global-color-seafoam-500:rgb(var(--spectrum-global-color-seafoam-500-rgb));--spectrum-global-color-seafoam-600-rgb:0,119,114;--spectrum-global-color-seafoam-600:rgb(var(--spectrum-global-color-seafoam-600-rgb));--spectrum-global-color-seafoam-700-rgb:0,99,95;--spectrum-global-color-seafoam-700:rgb(var(--spectrum-global-color-seafoam-700-rgb));--spectrum-global-color-red-400-rgb:234,56,41;--spectrum-global-color-red-400:rgb(var(--spectrum-global-color-red-400-rgb));--spectrum-global-color-red-500-rgb:211,21,16;--spectrum-global-color-red-500:rgb(var(--spectrum-global-color-red-500-rgb));--spectrum-global-color-red-600-rgb:180,0,0;--spectrum-global-color-red-600:rgb(var(--spectrum-global-color-red-600-rgb));--spectrum-global-color-red-700-rgb:147,0,0;--spectrum-global-color-red-700:rgb(var(--spectrum-global-color-red-700-rgb));--spectrum-global-color-orange-400-rgb:246,133,17;--spectrum-global-color-orange-400:rgb(var(--spectrum-global-color-orange-400-rgb));--spectrum-global-color-orange-500-rgb:228,111,0;--spectrum-global-color-orange-500:rgb(var(--spectrum-global-color-orange-500-rgb));--spectrum-global-color-orange-600-rgb:203,93,0;--spectrum-global-color-orange-600:rgb(var(--spectrum-global-color-orange-600-rgb));--spectrum-global-color-orange-700-rgb:177,76,0;--spectrum-global-color-orange-700:rgb(var(--spectrum-global-color-orange-700-rgb));--spectrum-global-color-green-400-rgb:0,143,93;--spectrum-global-color-green-400:rgb(var(--spectrum-global-color-green-400-rgb));--spectrum-global-color-green-500-rgb:0,122,77;--spectrum-global-color-green-500:rgb(var(--spectrum-global-color-green-500-rgb));--spectrum-global-color-green-600-rgb:0,101,62;--spectrum-global-color-green-600:rgb(var(--spectrum-global-color-green-600-rgb));--spectrum-global-color-green-700-rgb:0,81,50;--spectrum-global-color-green-700:rgb(var(--spectrum-global-color-green-700-rgb));--spectrum-global-color-blue-400-rgb:20,122,243;--spectrum-global-color-blue-400:rgb(var(--spectrum-global-color-blue-400-rgb));--spectrum-global-color-blue-500-rgb:2,101,220;--spectrum-global-color-blue-500:rgb(var(--spectrum-global-color-blue-500-rgb));--spectrum-global-color-blue-600-rgb:0,84,182;--spectrum-global-color-blue-600:rgb(var(--spectrum-global-color-blue-600-rgb));--spectrum-global-color-blue-700-rgb:0,68,145;--spectrum-global-color-blue-700:rgb(var(--spectrum-global-color-blue-700-rgb));--spectrum-global-color-gray-50-rgb:255,255,255;--spectrum-global-color-gray-50:rgb(var(--spectrum-global-color-gray-50-rgb));--spectrum-global-color-gray-75-rgb:253,253,253;--spectrum-global-color-gray-75:rgb(var(--spectrum-global-color-gray-75-rgb));--spectrum-global-color-gray-100-rgb:248,248,248;--spectrum-global-color-gray-100:rgb(var(--spectrum-global-color-gray-100-rgb));--spectrum-global-color-gray-200-rgb:230,230,230;--spectrum-global-color-gray-200:rgb(var(--spectrum-global-color-gray-200-rgb));--spectrum-global-color-gray-300-rgb:213,213,213;--spectrum-global-color-gray-300:rgb(var(--spectrum-global-color-gray-300-rgb));--spectrum-global-color-gray-400-rgb:177,177,177;--spectrum-global-color-gray-400:rgb(var(--spectrum-global-color-gray-400-rgb));--spectrum-global-color-gray-500-rgb:144,144,144;--spectrum-global-color-gray-500:rgb(var(--spectrum-global-color-gray-500-rgb));--spectrum-global-color-gray-600-rgb:109,109,109;--spectrum-global-color-gray-600:rgb(var(--spectrum-global-color-gray-600-rgb));--spectrum-global-color-gray-700-rgb:70,70,70;--spectrum-global-color-gray-700:rgb(var(--spectrum-global-color-gray-700-rgb));--spectrum-global-color-gray-800-rgb:34,34,34;--spectrum-global-color-gray-800:rgb(var(--spectrum-global-color-gray-800-rgb));--spectrum-global-color-gray-900-rgb:0,0,0;--spectrum-global-color-gray-900:rgb(var(--spectrum-global-color-gray-900-rgb));--spectrum-alias-background-color-primary:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-background-color-secondary:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-background-color-tertiary:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-background-color-modal-overlay:rgba(0,0,0,.4);--spectrum-alias-dropshadow-color:rgba(0,0,0,.15);--spectrum-alias-background-color-hover-overlay:rgba(0,0,0,.04);--spectrum-alias-highlight-hover:rgba(0,0,0,.06);--spectrum-alias-highlight-down:rgba(0,0,0,.1);--spectrum-alias-highlight-selected:rgba(2,101,220,.1);--spectrum-alias-highlight-selected-hover:rgba(2,101,220,.2);--spectrum-alias-text-highlight-color:rgba(2,101,220,.2);--spectrum-alias-background-color-quickactions:hsla(0,0%,97%,.9);--spectrum-alias-border-color-selected:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-border-color-translucent:rgba(0,0,0,.1);--spectrum-alias-radial-reaction-color-default:rgba(34,34,34,.6);--spectrum-alias-pasteboard-background-color:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-appframe-border-color:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-appframe-separator-color:var(\n--spectrum-global-color-gray-300\n);--spectrum-scrollbar-mac-s-track-background-color:var(\n--spectrum-global-color-gray-75\n);--spectrum-scrollbar-mac-m-track-background-color:var(\n--spectrum-global-color-gray-75\n);--spectrum-scrollbar-mac-l-track-background-color:var(\n--spectrum-global-color-gray-75\n);--spectrum-well-background-color:rgba(34,34,34,.02)}:host,:root{color-scheme:light}:host,:root{--spectrum-overlay-opacity:0.4;--spectrum-drop-shadow-color-rgb:0,0,0;--spectrum-drop-shadow-color-opacity:0.15;--spectrum-drop-shadow-color:rgba(var(--spectrum-drop-shadow-color-rgb),var(--spectrum-drop-shadow-color-opacity));--spectrum-background-base-color:var(--spectrum-gray-200);--spectrum-background-layer-1-color:var(--spectrum-gray-100);--spectrum-background-layer-2-color:var(--spectrum-gray-50);--spectrum-neutral-background-color-default:var(--spectrum-gray-800);--spectrum-neutral-background-color-hover:var(--spectrum-gray-900);--spectrum-neutral-background-color-down:var(--spectrum-gray-900);--spectrum-neutral-background-color-key-focus:var(--spectrum-gray-900);--spectrum-neutral-subdued-background-color-default:var(\n--spectrum-gray-600\n);--spectrum-neutral-subdued-background-color-hover:var(--spectrum-gray-700);--spectrum-neutral-subdued-background-color-down:var(--spectrum-gray-800);--spectrum-neutral-subdued-background-color-key-focus:var(\n--spectrum-gray-700\n);--spectrum-accent-background-color-default:var(\n--spectrum-accent-color-900\n);--spectrum-accent-background-color-hover:var(--spectrum-accent-color-1000);--spectrum-accent-background-color-down:var(--spectrum-accent-color-1100);--spectrum-accent-background-color-key-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-informative-background-color-default:var(\n--spectrum-informative-color-900\n);--spectrum-informative-background-color-hover:var(\n--spectrum-informative-color-1000\n);--spectrum-informative-background-color-down:var(\n--spectrum-informative-color-1100\n);--spectrum-informative-background-color-key-focus:var(\n--spectrum-informative-color-1000\n);--spectrum-negative-background-color-default:var(\n--spectrum-negative-color-900\n);--spectrum-negative-background-color-hover:var(\n--spectrum-negative-color-1000\n);--spectrum-negative-background-color-down:var(\n--spectrum-negative-color-1100\n);--spectrum-negative-background-color-key-focus:var(\n--spectrum-negative-color-1000\n);--spectrum-positive-background-color-default:var(\n--spectrum-positive-color-900\n);--spectrum-positive-background-color-hover:var(\n--spectrum-positive-color-1000\n);--spectrum-positive-background-color-down:var(\n--spectrum-positive-color-1100\n);--spectrum-positive-background-color-key-focus:var(\n--spectrum-positive-color-1000\n);--spectrum-notice-background-color-default:var(\n--spectrum-notice-color-600\n);--spectrum-gray-background-color-default:var(--spectrum-gray-700);--spectrum-red-background-color-default:var(--spectrum-red-900);--spectrum-orange-background-color-default:var(--spectrum-orange-600);--spectrum-yellow-background-color-default:var(--spectrum-yellow-400);--spectrum-chartreuse-background-color-default:var(\n--spectrum-chartreuse-500\n);--spectrum-celery-background-color-default:var(--spectrum-celery-600);--spectrum-green-background-color-default:var(--spectrum-green-900);--spectrum-seafoam-background-color-default:var(--spectrum-seafoam-900);--spectrum-cyan-background-color-default:var(--spectrum-cyan-900);--spectrum-blue-background-color-default:var(--spectrum-blue-900);--spectrum-indigo-background-color-default:var(--spectrum-indigo-900);--spectrum-purple-background-color-default:var(--spectrum-purple-900);--spectrum-fuchsia-background-color-default:var(--spectrum-fuchsia-900);--spectrum-magenta-background-color-default:var(--spectrum-magenta-900);--spectrum-neutral-visual-color:var(--spectrum-gray-500);--spectrum-accent-visual-color:var(--spectrum-accent-color-800);--spectrum-informative-visual-color:var(--spectrum-informative-color-800);--spectrum-negative-visual-color:var(--spectrum-negative-color-800);--spectrum-notice-visual-color:var(--spectrum-notice-color-700);--spectrum-positive-visual-color:var(--spectrum-positive-color-700);--spectrum-gray-visual-color:var(--spectrum-gray-500);--spectrum-red-visual-color:var(--spectrum-red-800);--spectrum-orange-visual-color:var(--spectrum-orange-700);--spectrum-yellow-visual-color:var(--spectrum-yellow-600);--spectrum-chartreuse-visual-color:var(--spectrum-chartreuse-600);--spectrum-celery-visual-color:var(--spectrum-celery-700);--spectrum-green-visual-color:var(--spectrum-green-700);--spectrum-seafoam-visual-color:var(--spectrum-seafoam-700);--spectrum-cyan-visual-color:var(--spectrum-cyan-600);--spectrum-blue-visual-color:var(--spectrum-blue-800);--spectrum-indigo-visual-color:var(--spectrum-indigo-800);--spectrum-purple-visual-color:var(--spectrum-purple-800);--spectrum-fuchsia-visual-color:var(--spectrum-fuchsia-800);--spectrum-magenta-visual-color:var(--spectrum-magenta-800);--spectrum-opacity-checkerboard-square-dark:var(--spectrum-gray-200);--spectrum-gray-50-rgb:255,255,255;--spectrum-gray-50:rgba(var(--spectrum-gray-50-rgb));--spectrum-gray-75-rgb:253,253,253;--spectrum-gray-75:rgba(var(--spectrum-gray-75-rgb));--spectrum-gray-100-rgb:248,248,248;--spectrum-gray-100:rgba(var(--spectrum-gray-100-rgb));--spectrum-gray-200-rgb:230,230,230;--spectrum-gray-200:rgba(var(--spectrum-gray-200-rgb));--spectrum-gray-300-rgb:213,213,213;--spectrum-gray-300:rgba(var(--spectrum-gray-300-rgb));--spectrum-gray-400-rgb:177,177,177;--spectrum-gray-400:rgba(var(--spectrum-gray-400-rgb));--spectrum-gray-500-rgb:144,144,144;--spectrum-gray-500:rgba(var(--spectrum-gray-500-rgb));--spectrum-gray-600-rgb:109,109,109;--spectrum-gray-600:rgba(var(--spectrum-gray-600-rgb));--spectrum-gray-700-rgb:70,70,70;--spectrum-gray-700:rgba(var(--spectrum-gray-700-rgb));--spectrum-gray-800-rgb:34,34,34;--spectrum-gray-800:rgba(var(--spectrum-gray-800-rgb));--spectrum-gray-900-rgb:0,0,0;--spectrum-gray-900:rgba(var(--spectrum-gray-900-rgb));--spectrum-blue-100-rgb:224,242,255;--spectrum-blue-100:rgba(var(--spectrum-blue-100-rgb));--spectrum-blue-200-rgb:202,232,255;--spectrum-blue-200:rgba(var(--spectrum-blue-200-rgb));--spectrum-blue-300-rgb:181,222,255;--spectrum-blue-300:rgba(var(--spectrum-blue-300-rgb));--spectrum-blue-400-rgb:150,206,253;--spectrum-blue-400:rgba(var(--spectrum-blue-400-rgb));--spectrum-blue-500-rgb:120,187,250;--spectrum-blue-500:rgba(var(--spectrum-blue-500-rgb));--spectrum-blue-600-rgb:89,167,246;--spectrum-blue-600:rgba(var(--spectrum-blue-600-rgb));--spectrum-blue-700-rgb:56,146,243;--spectrum-blue-700:rgba(var(--spectrum-blue-700-rgb));--spectrum-blue-800-rgb:20,122,243;--spectrum-blue-800:rgba(var(--spectrum-blue-800-rgb));--spectrum-blue-900-rgb:2,101,220;--spectrum-blue-900:rgba(var(--spectrum-blue-900-rgb));--spectrum-blue-1000-rgb:0,84,182;--spectrum-blue-1000:rgba(var(--spectrum-blue-1000-rgb));--spectrum-blue-1100-rgb:0,68,145;--spectrum-blue-1100:rgba(var(--spectrum-blue-1100-rgb));--spectrum-blue-1200-rgb:0,53,113;--spectrum-blue-1200:rgba(var(--spectrum-blue-1200-rgb));--spectrum-blue-1300-rgb:0,39,84;--spectrum-blue-1300:rgba(var(--spectrum-blue-1300-rgb));--spectrum-blue-1400-rgb:0,28,60;--spectrum-blue-1400:rgba(var(--spectrum-blue-1400-rgb));--spectrum-red-100-rgb:255,235,231;--spectrum-red-100:rgba(var(--spectrum-red-100-rgb));--spectrum-red-200-rgb:255,221,214;--spectrum-red-200:rgba(var(--spectrum-red-200-rgb));--spectrum-red-300-rgb:255,205,195;--spectrum-red-300:rgba(var(--spectrum-red-300-rgb));--spectrum-red-400-rgb:255,183,169;--spectrum-red-400:rgba(var(--spectrum-red-400-rgb));--spectrum-red-500-rgb:255,155,136;--spectrum-red-500:rgba(var(--spectrum-red-500-rgb));--spectrum-red-600-rgb:255,124,101;--spectrum-red-600:rgba(var(--spectrum-red-600-rgb));--spectrum-red-700-rgb:247,92,70;--spectrum-red-700:rgba(var(--spectrum-red-700-rgb));--spectrum-red-800-rgb:234,56,41;--spectrum-red-800:rgba(var(--spectrum-red-800-rgb));--spectrum-red-900-rgb:211,21,16;--spectrum-red-900:rgba(var(--spectrum-red-900-rgb));--spectrum-red-1000-rgb:180,0,0;--spectrum-red-1000:rgba(var(--spectrum-red-1000-rgb));--spectrum-red-1100-rgb:147,0,0;--spectrum-red-1100:rgba(var(--spectrum-red-1100-rgb));--spectrum-red-1200-rgb:116,0,0;--spectrum-red-1200:rgba(var(--spectrum-red-1200-rgb));--spectrum-red-1300-rgb:89,0,0;--spectrum-red-1300:rgba(var(--spectrum-red-1300-rgb));--spectrum-red-1400-rgb:67,0,0;--spectrum-red-1400:rgba(var(--spectrum-red-1400-rgb));--spectrum-orange-100-rgb:255,236,204;--spectrum-orange-100:rgba(var(--spectrum-orange-100-rgb));--spectrum-orange-200-rgb:255,223,173;--spectrum-orange-200:rgba(var(--spectrum-orange-200-rgb));--spectrum-orange-300-rgb:253,210,145;--spectrum-orange-300:rgba(var(--spectrum-orange-300-rgb));--spectrum-orange-400-rgb:255,187,99;--spectrum-orange-400:rgba(var(--spectrum-orange-400-rgb));--spectrum-orange-500-rgb:255,160,55;--spectrum-orange-500:rgba(var(--spectrum-orange-500-rgb));--spectrum-orange-600-rgb:246,133,17;--spectrum-orange-600:rgba(var(--spectrum-orange-600-rgb));--spectrum-orange-700-rgb:228,111,0;--spectrum-orange-700:rgba(var(--spectrum-orange-700-rgb));--spectrum-orange-800-rgb:203,93,0;--spectrum-orange-800:rgba(var(--spectrum-orange-800-rgb));--spectrum-orange-900-rgb:177,76,0;--spectrum-orange-900:rgba(var(--spectrum-orange-900-rgb));--spectrum-orange-1000-rgb:149,61,0;--spectrum-orange-1000:rgba(var(--spectrum-orange-1000-rgb));--spectrum-orange-1100-rgb:122,47,0;--spectrum-orange-1100:rgba(var(--spectrum-orange-1100-rgb));--spectrum-orange-1200-rgb:97,35,0;--spectrum-orange-1200:rgba(var(--spectrum-orange-1200-rgb));--spectrum-orange-1300-rgb:73,25,1;--spectrum-orange-1300:rgba(var(--spectrum-orange-1300-rgb));--spectrum-orange-1400-rgb:53,18,1;--spectrum-orange-1400:rgba(var(--spectrum-orange-1400-rgb));--spectrum-yellow-100-rgb:251,241,152;--spectrum-yellow-100:rgba(var(--spectrum-yellow-100-rgb));--spectrum-yellow-200-rgb:248,231,80;--spectrum-yellow-200:rgba(var(--spectrum-yellow-200-rgb));--spectrum-yellow-300-rgb:248,217,4;--spectrum-yellow-300:rgba(var(--spectrum-yellow-300-rgb));--spectrum-yellow-400-rgb:232,198,0;--spectrum-yellow-400:rgba(var(--spectrum-yellow-400-rgb));--spectrum-yellow-500-rgb:215,179,0;--spectrum-yellow-500:rgba(var(--spectrum-yellow-500-rgb));--spectrum-yellow-600-rgb:196,159,0;--spectrum-yellow-600:rgba(var(--spectrum-yellow-600-rgb));--spectrum-yellow-700-rgb:176,140,0;--spectrum-yellow-700:rgba(var(--spectrum-yellow-700-rgb));--spectrum-yellow-800-rgb:155,120,0;--spectrum-yellow-800:rgba(var(--spectrum-yellow-800-rgb));--spectrum-yellow-900-rgb:133,102,0;--spectrum-yellow-900:rgba(var(--spectrum-yellow-900-rgb));--spectrum-yellow-1000-rgb:112,83,0;--spectrum-yellow-1000:rgba(var(--spectrum-yellow-1000-rgb));--spectrum-yellow-1100-rgb:91,67,0;--spectrum-yellow-1100:rgba(var(--spectrum-yellow-1100-rgb));--spectrum-yellow-1200-rgb:72,51,0;--spectrum-yellow-1200:rgba(var(--spectrum-yellow-1200-rgb));--spectrum-yellow-1300-rgb:54,37,0;--spectrum-yellow-1300:rgba(var(--spectrum-yellow-1300-rgb));--spectrum-yellow-1400-rgb:40,26,0;--spectrum-yellow-1400:rgba(var(--spectrum-yellow-1400-rgb));--spectrum-chartreuse-100-rgb:219,252,110;--spectrum-chartreuse-100:rgba(var(--spectrum-chartreuse-100-rgb));--spectrum-chartreuse-200-rgb:203,244,67;--spectrum-chartreuse-200:rgba(var(--spectrum-chartreuse-200-rgb));--spectrum-chartreuse-300-rgb:188,233,42;--spectrum-chartreuse-300:rgba(var(--spectrum-chartreuse-300-rgb));--spectrum-chartreuse-400-rgb:170,216,22;--spectrum-chartreuse-400:rgba(var(--spectrum-chartreuse-400-rgb));--spectrum-chartreuse-500-rgb:152,197,10;--spectrum-chartreuse-500:rgba(var(--spectrum-chartreuse-500-rgb));--spectrum-chartreuse-600-rgb:135,177,3;--spectrum-chartreuse-600:rgba(var(--spectrum-chartreuse-600-rgb));--spectrum-chartreuse-700-rgb:118,156,0;--spectrum-chartreuse-700:rgba(var(--spectrum-chartreuse-700-rgb));--spectrum-chartreuse-800-rgb:103,136,0;--spectrum-chartreuse-800:rgba(var(--spectrum-chartreuse-800-rgb));--spectrum-chartreuse-900-rgb:87,116,0;--spectrum-chartreuse-900:rgba(var(--spectrum-chartreuse-900-rgb));--spectrum-chartreuse-1000-rgb:72,96,0;--spectrum-chartreuse-1000:rgba(var(--spectrum-chartreuse-1000-rgb));--spectrum-chartreuse-1100-rgb:58,77,0;--spectrum-chartreuse-1100:rgba(var(--spectrum-chartreuse-1100-rgb));--spectrum-chartreuse-1200-rgb:44,59,0;--spectrum-chartreuse-1200:rgba(var(--spectrum-chartreuse-1200-rgb));--spectrum-chartreuse-1300-rgb:33,44,0;--spectrum-chartreuse-1300:rgba(var(--spectrum-chartreuse-1300-rgb));--spectrum-chartreuse-1400-rgb:24,31,0;--spectrum-chartreuse-1400:rgba(var(--spectrum-chartreuse-1400-rgb));--spectrum-celery-100-rgb:205,252,191;--spectrum-celery-100:rgba(var(--spectrum-celery-100-rgb));--spectrum-celery-200-rgb:174,246,157;--spectrum-celery-200:rgba(var(--spectrum-celery-200-rgb));--spectrum-celery-300-rgb:150,238,133;--spectrum-celery-300:rgba(var(--spectrum-celery-300-rgb));--spectrum-celery-400-rgb:114,224,106;--spectrum-celery-400:rgba(var(--spectrum-celery-400-rgb));--spectrum-celery-500-rgb:78,207,80;--spectrum-celery-500:rgba(var(--spectrum-celery-500-rgb));--spectrum-celery-600-rgb:39,187,54;--spectrum-celery-600:rgba(var(--spectrum-celery-600-rgb));--spectrum-celery-700-rgb:7,167,33;--spectrum-celery-700:rgba(var(--spectrum-celery-700-rgb));--spectrum-celery-800-rgb:0,145,18;--spectrum-celery-800:rgba(var(--spectrum-celery-800-rgb));--spectrum-celery-900-rgb:0,124,15;--spectrum-celery-900:rgba(var(--spectrum-celery-900-rgb));--spectrum-celery-1000-rgb:0,103,15;--spectrum-celery-1000:rgba(var(--spectrum-celery-1000-rgb));--spectrum-celery-1100-rgb:0,83,13;--spectrum-celery-1100:rgba(var(--spectrum-celery-1100-rgb));--spectrum-celery-1200-rgb:0,64,10;--spectrum-celery-1200:rgba(var(--spectrum-celery-1200-rgb));--spectrum-celery-1300-rgb:0,48,7;--spectrum-celery-1300:rgba(var(--spectrum-celery-1300-rgb));--spectrum-celery-1400-rgb:0,34,5;--spectrum-celery-1400:rgba(var(--spectrum-celery-1400-rgb));--spectrum-green-100-rgb:206,248,224;--spectrum-green-100:rgba(var(--spectrum-green-100-rgb));--spectrum-green-200-rgb:173,244,206;--spectrum-green-200:rgba(var(--spectrum-green-200-rgb));--spectrum-green-300-rgb:137,236,188;--spectrum-green-300:rgba(var(--spectrum-green-300-rgb));--spectrum-green-400-rgb:103,222,168;--spectrum-green-400:rgba(var(--spectrum-green-400-rgb));--spectrum-green-500-rgb:73,204,147;--spectrum-green-500:rgba(var(--spectrum-green-500-rgb));--spectrum-green-600-rgb:47,184,128;--spectrum-green-600:rgba(var(--spectrum-green-600-rgb));--spectrum-green-700-rgb:21,164,110;--spectrum-green-700:rgba(var(--spectrum-green-700-rgb));--spectrum-green-800-rgb:0,143,93;--spectrum-green-800:rgba(var(--spectrum-green-800-rgb));--spectrum-green-900-rgb:0,122,77;--spectrum-green-900:rgba(var(--spectrum-green-900-rgb));--spectrum-green-1000-rgb:0,101,62;--spectrum-green-1000:rgba(var(--spectrum-green-1000-rgb));--spectrum-green-1100-rgb:0,81,50;--spectrum-green-1100:rgba(var(--spectrum-green-1100-rgb));--spectrum-green-1200-rgb:5,63,39;--spectrum-green-1200:rgba(var(--spectrum-green-1200-rgb));--spectrum-green-1300-rgb:10,46,29;--spectrum-green-1300:rgba(var(--spectrum-green-1300-rgb));--spectrum-green-1400-rgb:10,32,21;--spectrum-green-1400:rgba(var(--spectrum-green-1400-rgb));--spectrum-seafoam-100-rgb:206,247,243;--spectrum-seafoam-100:rgba(var(--spectrum-seafoam-100-rgb));--spectrum-seafoam-200-rgb:170,241,234;--spectrum-seafoam-200:rgba(var(--spectrum-seafoam-200-rgb));--spectrum-seafoam-300-rgb:140,233,226;--spectrum-seafoam-300:rgba(var(--spectrum-seafoam-300-rgb));--spectrum-seafoam-400-rgb:101,218,210;--spectrum-seafoam-400:rgba(var(--spectrum-seafoam-400-rgb));--spectrum-seafoam-500-rgb:63,201,193;--spectrum-seafoam-500:rgba(var(--spectrum-seafoam-500-rgb));--spectrum-seafoam-600-rgb:15,181,174;--spectrum-seafoam-600:rgba(var(--spectrum-seafoam-600-rgb));--spectrum-seafoam-700-rgb:0,161,154;--spectrum-seafoam-700:rgba(var(--spectrum-seafoam-700-rgb));--spectrum-seafoam-800-rgb:0,140,135;--spectrum-seafoam-800:rgba(var(--spectrum-seafoam-800-rgb));--spectrum-seafoam-900-rgb:0,119,114;--spectrum-seafoam-900:rgba(var(--spectrum-seafoam-900-rgb));--spectrum-seafoam-1000-rgb:0,99,95;--spectrum-seafoam-1000:rgba(var(--spectrum-seafoam-1000-rgb));--spectrum-seafoam-1100-rgb:12,79,76;--spectrum-seafoam-1100:rgba(var(--spectrum-seafoam-1100-rgb));--spectrum-seafoam-1200-rgb:18,60,58;--spectrum-seafoam-1200:rgba(var(--spectrum-seafoam-1200-rgb));--spectrum-seafoam-1300-rgb:18,44,43;--spectrum-seafoam-1300:rgba(var(--spectrum-seafoam-1300-rgb));--spectrum-seafoam-1400-rgb:15,31,30;--spectrum-seafoam-1400:rgba(var(--spectrum-seafoam-1400-rgb));--spectrum-cyan-100-rgb:197,248,255;--spectrum-cyan-100:rgba(var(--spectrum-cyan-100-rgb));--spectrum-cyan-200-rgb:164,240,255;--spectrum-cyan-200:rgba(var(--spectrum-cyan-200-rgb));--spectrum-cyan-300-rgb:136,231,250;--spectrum-cyan-300:rgba(var(--spectrum-cyan-300-rgb));--spectrum-cyan-400-rgb:96,216,243;--spectrum-cyan-400:rgba(var(--spectrum-cyan-400-rgb));--spectrum-cyan-500-rgb:51,197,232;--spectrum-cyan-500:rgba(var(--spectrum-cyan-500-rgb));--spectrum-cyan-600-rgb:18,176,218;--spectrum-cyan-600:rgba(var(--spectrum-cyan-600-rgb));--spectrum-cyan-700-rgb:1,156,200;--spectrum-cyan-700:rgba(var(--spectrum-cyan-700-rgb));--spectrum-cyan-800-rgb:0,134,180;--spectrum-cyan-800:rgba(var(--spectrum-cyan-800-rgb));--spectrum-cyan-900-rgb:0,113,159;--spectrum-cyan-900:rgba(var(--spectrum-cyan-900-rgb));--spectrum-cyan-1000-rgb:0,93,137;--spectrum-cyan-1000:rgba(var(--spectrum-cyan-1000-rgb));--spectrum-cyan-1100-rgb:0,74,115;--spectrum-cyan-1100:rgba(var(--spectrum-cyan-1100-rgb));--spectrum-cyan-1200-rgb:0,57,93;--spectrum-cyan-1200:rgba(var(--spectrum-cyan-1200-rgb));--spectrum-cyan-1300-rgb:0,42,70;--spectrum-cyan-1300:rgba(var(--spectrum-cyan-1300-rgb));--spectrum-cyan-1400-rgb:0,30,51;--spectrum-cyan-1400:rgba(var(--spectrum-cyan-1400-rgb));--spectrum-indigo-100-rgb:237,238,255;--spectrum-indigo-100:rgba(var(--spectrum-indigo-100-rgb));--spectrum-indigo-200-rgb:224,226,255;--spectrum-indigo-200:rgba(var(--spectrum-indigo-200-rgb));--spectrum-indigo-300-rgb:211,213,255;--spectrum-indigo-300:rgba(var(--spectrum-indigo-300-rgb));--spectrum-indigo-400-rgb:193,196,255;--spectrum-indigo-400:rgba(var(--spectrum-indigo-400-rgb));--spectrum-indigo-500-rgb:172,175,255;--spectrum-indigo-500:rgba(var(--spectrum-indigo-500-rgb));--spectrum-indigo-600-rgb:149,153,255;--spectrum-indigo-600:rgba(var(--spectrum-indigo-600-rgb));--spectrum-indigo-700-rgb:126,132,252;--spectrum-indigo-700:rgba(var(--spectrum-indigo-700-rgb));--spectrum-indigo-800-rgb:104,109,244;--spectrum-indigo-800:rgba(var(--spectrum-indigo-800-rgb));--spectrum-indigo-900-rgb:82,88,228;--spectrum-indigo-900:rgba(var(--spectrum-indigo-900-rgb));--spectrum-indigo-1000-rgb:64,70,202;--spectrum-indigo-1000:rgba(var(--spectrum-indigo-1000-rgb));--spectrum-indigo-1100-rgb:50,54,168;--spectrum-indigo-1100:rgba(var(--spectrum-indigo-1100-rgb));--spectrum-indigo-1200-rgb:38,41,134;--spectrum-indigo-1200:rgba(var(--spectrum-indigo-1200-rgb));--spectrum-indigo-1300-rgb:27,30,100;--spectrum-indigo-1300:rgba(var(--spectrum-indigo-1300-rgb));--spectrum-indigo-1400-rgb:20,22,72;--spectrum-indigo-1400:rgba(var(--spectrum-indigo-1400-rgb));--spectrum-purple-100-rgb:246,235,255;--spectrum-purple-100:rgba(var(--spectrum-purple-100-rgb));--spectrum-purple-200-rgb:238,221,255;--spectrum-purple-200:rgba(var(--spectrum-purple-200-rgb));--spectrum-purple-300-rgb:230,208,255;--spectrum-purple-300:rgba(var(--spectrum-purple-300-rgb));--spectrum-purple-400-rgb:219,187,254;--spectrum-purple-400:rgba(var(--spectrum-purple-400-rgb));--spectrum-purple-500-rgb:204,164,253;--spectrum-purple-500:rgba(var(--spectrum-purple-500-rgb));--spectrum-purple-600-rgb:189,139,252;--spectrum-purple-600:rgba(var(--spectrum-purple-600-rgb));--spectrum-purple-700-rgb:174,114,249;--spectrum-purple-700:rgba(var(--spectrum-purple-700-rgb));--spectrum-purple-800-rgb:157,87,244;--spectrum-purple-800:rgba(var(--spectrum-purple-800-rgb));--spectrum-purple-900-rgb:137,61,231;--spectrum-purple-900:rgba(var(--spectrum-purple-900-rgb));--spectrum-purple-1000-rgb:115,38,211;--spectrum-purple-1000:rgba(var(--spectrum-purple-1000-rgb));--spectrum-purple-1100-rgb:93,19,183;--spectrum-purple-1100:rgba(var(--spectrum-purple-1100-rgb));--spectrum-purple-1200-rgb:71,12,148;--spectrum-purple-1200:rgba(var(--spectrum-purple-1200-rgb));--spectrum-purple-1300-rgb:51,16,106;--spectrum-purple-1300:rgba(var(--spectrum-purple-1300-rgb));--spectrum-purple-1400-rgb:35,15,73;--spectrum-purple-1400:rgba(var(--spectrum-purple-1400-rgb));--spectrum-fuchsia-100-rgb:255,233,252;--spectrum-fuchsia-100:rgba(var(--spectrum-fuchsia-100-rgb));--spectrum-fuchsia-200-rgb:255,218,250;--spectrum-fuchsia-200:rgba(var(--spectrum-fuchsia-200-rgb));--spectrum-fuchsia-300-rgb:254,199,248;--spectrum-fuchsia-300:rgba(var(--spectrum-fuchsia-300-rgb));--spectrum-fuchsia-400-rgb:251,174,246;--spectrum-fuchsia-400:rgba(var(--spectrum-fuchsia-400-rgb));--spectrum-fuchsia-500-rgb:245,146,243;--spectrum-fuchsia-500:rgba(var(--spectrum-fuchsia-500-rgb));--spectrum-fuchsia-600-rgb:237,116,237;--spectrum-fuchsia-600:rgba(var(--spectrum-fuchsia-600-rgb));--spectrum-fuchsia-700-rgb:224,85,226;--spectrum-fuchsia-700:rgba(var(--spectrum-fuchsia-700-rgb));--spectrum-fuchsia-800-rgb:205,58,206;--spectrum-fuchsia-800:rgba(var(--spectrum-fuchsia-800-rgb));--spectrum-fuchsia-900-rgb:182,34,183;--spectrum-fuchsia-900:rgba(var(--spectrum-fuchsia-900-rgb));--spectrum-fuchsia-1000-rgb:157,3,158;--spectrum-fuchsia-1000:rgba(var(--spectrum-fuchsia-1000-rgb));--spectrum-fuchsia-1100-rgb:128,0,129;--spectrum-fuchsia-1100:rgba(var(--spectrum-fuchsia-1100-rgb));--spectrum-fuchsia-1200-rgb:100,6,100;--spectrum-fuchsia-1200:rgba(var(--spectrum-fuchsia-1200-rgb));--spectrum-fuchsia-1300-rgb:71,14,70;--spectrum-fuchsia-1300:rgba(var(--spectrum-fuchsia-1300-rgb));--spectrum-fuchsia-1400-rgb:50,13,49;--spectrum-fuchsia-1400:rgba(var(--spectrum-fuchsia-1400-rgb));--spectrum-magenta-100-rgb:255,234,241;--spectrum-magenta-100:rgba(var(--spectrum-magenta-100-rgb));--spectrum-magenta-200-rgb:255,220,232;--spectrum-magenta-200:rgba(var(--spectrum-magenta-200-rgb));--spectrum-magenta-300-rgb:255,202,221;--spectrum-magenta-300:rgba(var(--spectrum-magenta-300-rgb));--spectrum-magenta-400-rgb:255,178,206;--spectrum-magenta-400:rgba(var(--spectrum-magenta-400-rgb));--spectrum-magenta-500-rgb:255,149,189;--spectrum-magenta-500:rgba(var(--spectrum-magenta-500-rgb));--spectrum-magenta-600-rgb:250,119,170;--spectrum-magenta-600:rgba(var(--spectrum-magenta-600-rgb));--spectrum-magenta-700-rgb:239,90,152;--spectrum-magenta-700:rgba(var(--spectrum-magenta-700-rgb));--spectrum-magenta-800-rgb:222,61,130;--spectrum-magenta-800:rgba(var(--spectrum-magenta-800-rgb));--spectrum-magenta-900-rgb:200,34,105;--spectrum-magenta-900:rgba(var(--spectrum-magenta-900-rgb));--spectrum-magenta-1000-rgb:173,9,85;--spectrum-magenta-1000:rgba(var(--spectrum-magenta-1000-rgb));--spectrum-magenta-1100-rgb:142,0,69;--spectrum-magenta-1100:rgba(var(--spectrum-magenta-1100-rgb));--spectrum-magenta-1200-rgb:112,0,55;--spectrum-magenta-1200:rgba(var(--spectrum-magenta-1200-rgb));--spectrum-magenta-1300-rgb:84,3,42;--spectrum-magenta-1300:rgba(var(--spectrum-magenta-1300-rgb));--spectrum-magenta-1400-rgb:60,6,29;--spectrum-magenta-1400:rgba(var(--spectrum-magenta-1400-rgb))}:host,:root{--spectrum-menu-item-background-color-default-rgb:0,0,0;--spectrum-menu-item-background-color-default-opacity:0;--spectrum-menu-item-background-color-default:rgba(var(--spectrum-menu-item-background-color-default-rgb),var(--spectrum-menu-item-background-color-default-opacity));--spectrum-menu-item-background-color-hover:var(\n--spectrum-transparent-black-200\n);--spectrum-menu-item-background-color-down:var(\n--spectrum-transparent-black-200\n);--spectrum-menu-item-background-color-key-focus:var(\n--spectrum-transparent-black-200\n);--spectrum-drop-zone-background-color-rgb:var(\n--spectrum-blue-800-rgb\n);--spectrum-calendar-day-background-color-selected:rgba(var(--spectrum-blue-900-rgb),0.1);--spectrum-calendar-day-background-color-hover:rgba(var(--spectrum-black-rgb),0.06);--spectrum-calendar-day-today-background-color-selected-hover:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-selected-hover:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-down:var(\n--spectrum-transparent-black-200\n);--spectrum-calendar-day-background-color-cap-selected:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-key-focus:rgba(var(--spectrum-black-rgb),0.06);--spectrum-calendar-day-border-color-key-focus:var(--spectrum-blue-800);--spectrum-badge-label-icon-color-primary:var(--spectrum-white)}\n`;/* harmony default export */ const theme_light_css = (e);\n//# sourceMappingURL=theme-light.css.js.map\n\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/theme/src/Theme.js\nvar Theme = __webpack_require__(5621);\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/theme.css.js\nconst theme_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-animation-linear:cubic-bezier(0,0,1,1);--spectrum-global-animation-duration-0:0ms;--spectrum-global-animation-duration-100:130ms;--spectrum-global-animation-duration-200:160ms;--spectrum-global-animation-duration-300:190ms;--spectrum-global-animation-duration-400:220ms;--spectrum-global-animation-duration-500:250ms;--spectrum-global-animation-duration-600:300ms;--spectrum-global-animation-duration-700:350ms;--spectrum-global-animation-duration-800:400ms;--spectrum-global-animation-duration-900:450ms;--spectrum-global-animation-duration-1000:500ms;--spectrum-global-animation-duration-2000:1000ms;--spectrum-global-animation-duration-4000:2000ms;--spectrum-global-animation-ease-in-out:cubic-bezier(0.45,0,0.4,1);--spectrum-global-animation-ease-in:cubic-bezier(0.5,0,1,1);--spectrum-global-animation-ease-out:cubic-bezier(0,0,0.4,1);--spectrum-global-animation-ease-linear:cubic-bezier(0,0,1,1);--spectrum-global-color-status:Verified;--spectrum-global-color-version:5.1.0;--spectrum-global-color-static-black-rgb:0,0,0;--spectrum-global-color-static-black:rgb(var(--spectrum-global-color-static-black-rgb));--spectrum-global-color-static-white-rgb:255,255,255;--spectrum-global-color-static-white:rgb(var(--spectrum-global-color-static-white-rgb));--spectrum-global-color-static-blue-rgb:0,87,191;--spectrum-global-color-static-blue:rgb(var(--spectrum-global-color-static-blue-rgb));--spectrum-global-color-static-gray-50-rgb:255,255,255;--spectrum-global-color-static-gray-50:rgb(var(--spectrum-global-color-static-gray-50-rgb));--spectrum-global-color-static-gray-75-rgb:255,255,255;--spectrum-global-color-static-gray-75:rgb(var(--spectrum-global-color-static-gray-75-rgb));--spectrum-global-color-static-gray-100-rgb:255,255,255;--spectrum-global-color-static-gray-100:rgb(var(--spectrum-global-color-static-gray-100-rgb));--spectrum-global-color-static-gray-200-rgb:235,235,235;--spectrum-global-color-static-gray-200:rgb(var(--spectrum-global-color-static-gray-200-rgb));--spectrum-global-color-static-gray-300-rgb:217,217,217;--spectrum-global-color-static-gray-300:rgb(var(--spectrum-global-color-static-gray-300-rgb));--spectrum-global-color-static-gray-400-rgb:179,179,179;--spectrum-global-color-static-gray-400:rgb(var(--spectrum-global-color-static-gray-400-rgb));--spectrum-global-color-static-gray-500-rgb:146,146,146;--spectrum-global-color-static-gray-500:rgb(var(--spectrum-global-color-static-gray-500-rgb));--spectrum-global-color-static-gray-600-rgb:110,110,110;--spectrum-global-color-static-gray-600:rgb(var(--spectrum-global-color-static-gray-600-rgb));--spectrum-global-color-static-gray-700-rgb:71,71,71;--spectrum-global-color-static-gray-700:rgb(var(--spectrum-global-color-static-gray-700-rgb));--spectrum-global-color-static-gray-800-rgb:34,34,34;--spectrum-global-color-static-gray-800:rgb(var(--spectrum-global-color-static-gray-800-rgb));--spectrum-global-color-static-gray-900-rgb:0,0,0;--spectrum-global-color-static-gray-900:rgb(var(--spectrum-global-color-static-gray-900-rgb));--spectrum-global-color-static-red-400-rgb:237,64,48;--spectrum-global-color-static-red-400:rgb(var(--spectrum-global-color-static-red-400-rgb));--spectrum-global-color-static-red-500-rgb:217,28,21;--spectrum-global-color-static-red-500:rgb(var(--spectrum-global-color-static-red-500-rgb));--spectrum-global-color-static-red-600-rgb:187,2,2;--spectrum-global-color-static-red-600:rgb(var(--spectrum-global-color-static-red-600-rgb));--spectrum-global-color-static-red-700-rgb:154,0,0;--spectrum-global-color-static-red-700:rgb(var(--spectrum-global-color-static-red-700-rgb));--spectrum-global-color-static-red-800-rgb:124,0,0;--spectrum-global-color-static-red-800:rgb(var(--spectrum-global-color-static-red-800-rgb));--spectrum-global-color-static-orange-400-rgb:250,139,26;--spectrum-global-color-static-orange-400:rgb(var(--spectrum-global-color-static-orange-400-rgb));--spectrum-global-color-static-orange-500-rgb:233,117,0;--spectrum-global-color-static-orange-500:rgb(var(--spectrum-global-color-static-orange-500-rgb));--spectrum-global-color-static-orange-600-rgb:209,97,0;--spectrum-global-color-static-orange-600:rgb(var(--spectrum-global-color-static-orange-600-rgb));--spectrum-global-color-static-orange-700-rgb:182,80,0;--spectrum-global-color-static-orange-700:rgb(var(--spectrum-global-color-static-orange-700-rgb));--spectrum-global-color-static-orange-800-rgb:155,64,0;--spectrum-global-color-static-orange-800:rgb(var(--spectrum-global-color-static-orange-800-rgb));--spectrum-global-color-static-yellow-200-rgb:250,237,123;--spectrum-global-color-static-yellow-200:rgb(var(--spectrum-global-color-static-yellow-200-rgb));--spectrum-global-color-static-yellow-300-rgb:250,224,23;--spectrum-global-color-static-yellow-300:rgb(var(--spectrum-global-color-static-yellow-300-rgb));--spectrum-global-color-static-yellow-400-rgb:238,205,0;--spectrum-global-color-static-yellow-400:rgb(var(--spectrum-global-color-static-yellow-400-rgb));--spectrum-global-color-static-yellow-500-rgb:221,185,0;--spectrum-global-color-static-yellow-500:rgb(var(--spectrum-global-color-static-yellow-500-rgb));--spectrum-global-color-static-yellow-600-rgb:201,164,0;--spectrum-global-color-static-yellow-600:rgb(var(--spectrum-global-color-static-yellow-600-rgb));--spectrum-global-color-static-yellow-700-rgb:181,144,0;--spectrum-global-color-static-yellow-700:rgb(var(--spectrum-global-color-static-yellow-700-rgb));--spectrum-global-color-static-yellow-800-rgb:160,125,0;--spectrum-global-color-static-yellow-800:rgb(var(--spectrum-global-color-static-yellow-800-rgb));--spectrum-global-color-static-chartreuse-300-rgb:176,222,27;--spectrum-global-color-static-chartreuse-300:rgb(var(--spectrum-global-color-static-chartreuse-300-rgb));--spectrum-global-color-static-chartreuse-400-rgb:157,203,13;--spectrum-global-color-static-chartreuse-400:rgb(var(--spectrum-global-color-static-chartreuse-400-rgb));--spectrum-global-color-static-chartreuse-500-rgb:139,182,4;--spectrum-global-color-static-chartreuse-500:rgb(var(--spectrum-global-color-static-chartreuse-500-rgb));--spectrum-global-color-static-chartreuse-600-rgb:122,162,0;--spectrum-global-color-static-chartreuse-600:rgb(var(--spectrum-global-color-static-chartreuse-600-rgb));--spectrum-global-color-static-chartreuse-700-rgb:106,141,0;--spectrum-global-color-static-chartreuse-700:rgb(var(--spectrum-global-color-static-chartreuse-700-rgb));--spectrum-global-color-static-chartreuse-800-rgb:90,120,0;--spectrum-global-color-static-chartreuse-800:rgb(var(--spectrum-global-color-static-chartreuse-800-rgb));--spectrum-global-color-static-celery-200-rgb:126,229,114;--spectrum-global-color-static-celery-200:rgb(var(--spectrum-global-color-static-celery-200-rgb));--spectrum-global-color-static-celery-300-rgb:87,212,86;--spectrum-global-color-static-celery-300:rgb(var(--spectrum-global-color-static-celery-300-rgb));--spectrum-global-color-static-celery-400-rgb:48,193,61;--spectrum-global-color-static-celery-400:rgb(var(--spectrum-global-color-static-celery-400-rgb));--spectrum-global-color-static-celery-500-rgb:15,172,38;--spectrum-global-color-static-celery-500:rgb(var(--spectrum-global-color-static-celery-500-rgb));--spectrum-global-color-static-celery-600-rgb:0,150,20;--spectrum-global-color-static-celery-600:rgb(var(--spectrum-global-color-static-celery-600-rgb));--spectrum-global-color-static-celery-700-rgb:0,128,15;--spectrum-global-color-static-celery-700:rgb(var(--spectrum-global-color-static-celery-700-rgb));--spectrum-global-color-static-celery-800-rgb:0,107,15;--spectrum-global-color-static-celery-800:rgb(var(--spectrum-global-color-static-celery-800-rgb));--spectrum-global-color-static-green-400-rgb:29,169,115;--spectrum-global-color-static-green-400:rgb(var(--spectrum-global-color-static-green-400-rgb));--spectrum-global-color-static-green-500-rgb:0,148,97;--spectrum-global-color-static-green-500:rgb(var(--spectrum-global-color-static-green-500-rgb));--spectrum-global-color-static-green-600-rgb:0,126,80;--spectrum-global-color-static-green-600:rgb(var(--spectrum-global-color-static-green-600-rgb));--spectrum-global-color-static-green-700-rgb:0,105,65;--spectrum-global-color-static-green-700:rgb(var(--spectrum-global-color-static-green-700-rgb));--spectrum-global-color-static-green-800-rgb:0,86,53;--spectrum-global-color-static-green-800:rgb(var(--spectrum-global-color-static-green-800-rgb));--spectrum-global-color-static-seafoam-200-rgb:75,206,199;--spectrum-global-color-static-seafoam-200:rgb(var(--spectrum-global-color-static-seafoam-200-rgb));--spectrum-global-color-static-seafoam-300-rgb:32,187,180;--spectrum-global-color-static-seafoam-300:rgb(var(--spectrum-global-color-static-seafoam-300-rgb));--spectrum-global-color-static-seafoam-400-rgb:0,166,160;--spectrum-global-color-static-seafoam-400:rgb(var(--spectrum-global-color-static-seafoam-400-rgb));--spectrum-global-color-static-seafoam-500-rgb:0,145,139;--spectrum-global-color-static-seafoam-500:rgb(var(--spectrum-global-color-static-seafoam-500-rgb));--spectrum-global-color-static-seafoam-600-rgb:0,124,118;--spectrum-global-color-static-seafoam-600:rgb(var(--spectrum-global-color-static-seafoam-600-rgb));--spectrum-global-color-static-seafoam-700-rgb:0,103,99;--spectrum-global-color-static-seafoam-700:rgb(var(--spectrum-global-color-static-seafoam-700-rgb));--spectrum-global-color-static-seafoam-800-rgb:10,83,80;--spectrum-global-color-static-seafoam-800:rgb(var(--spectrum-global-color-static-seafoam-800-rgb));--spectrum-global-color-static-blue-200-rgb:130,193,251;--spectrum-global-color-static-blue-200:rgb(var(--spectrum-global-color-static-blue-200-rgb));--spectrum-global-color-static-blue-300-rgb:98,173,247;--spectrum-global-color-static-blue-300:rgb(var(--spectrum-global-color-static-blue-300-rgb));--spectrum-global-color-static-blue-400-rgb:66,151,244;--spectrum-global-color-static-blue-400:rgb(var(--spectrum-global-color-static-blue-400-rgb));--spectrum-global-color-static-blue-500-rgb:27,127,245;--spectrum-global-color-static-blue-500:rgb(var(--spectrum-global-color-static-blue-500-rgb));--spectrum-global-color-static-blue-600-rgb:4,105,227;--spectrum-global-color-static-blue-600:rgb(var(--spectrum-global-color-static-blue-600-rgb));--spectrum-global-color-static-blue-700-rgb:0,87,190;--spectrum-global-color-static-blue-700:rgb(var(--spectrum-global-color-static-blue-700-rgb));--spectrum-global-color-static-blue-800-rgb:0,72,153;--spectrum-global-color-static-blue-800:rgb(var(--spectrum-global-color-static-blue-800-rgb));--spectrum-global-color-static-indigo-200-rgb:178,181,255;--spectrum-global-color-static-indigo-200:rgb(var(--spectrum-global-color-static-indigo-200-rgb));--spectrum-global-color-static-indigo-300-rgb:155,159,255;--spectrum-global-color-static-indigo-300:rgb(var(--spectrum-global-color-static-indigo-300-rgb));--spectrum-global-color-static-indigo-400-rgb:132,137,253;--spectrum-global-color-static-indigo-400:rgb(var(--spectrum-global-color-static-indigo-400-rgb));--spectrum-global-color-static-indigo-500-rgb:109,115,246;--spectrum-global-color-static-indigo-500:rgb(var(--spectrum-global-color-static-indigo-500-rgb));--spectrum-global-color-static-indigo-600-rgb:87,93,232;--spectrum-global-color-static-indigo-600:rgb(var(--spectrum-global-color-static-indigo-600-rgb));--spectrum-global-color-static-indigo-700-rgb:68,74,208;--spectrum-global-color-static-indigo-700:rgb(var(--spectrum-global-color-static-indigo-700-rgb));--spectrum-global-color-static-indigo-800-rgb:68,74,208;--spectrum-global-color-static-indigo-800:rgb(var(--spectrum-global-color-static-indigo-800-rgb));--spectrum-global-color-static-purple-400-rgb:178,121,250;--spectrum-global-color-static-purple-400:rgb(var(--spectrum-global-color-static-purple-400-rgb));--spectrum-global-color-static-purple-500-rgb:161,93,246;--spectrum-global-color-static-purple-500:rgb(var(--spectrum-global-color-static-purple-500-rgb));--spectrum-global-color-static-purple-600-rgb:142,67,234;--spectrum-global-color-static-purple-600:rgb(var(--spectrum-global-color-static-purple-600-rgb));--spectrum-global-color-static-purple-700-rgb:120,43,216;--spectrum-global-color-static-purple-700:rgb(var(--spectrum-global-color-static-purple-700-rgb));--spectrum-global-color-static-purple-800-rgb:98,23,190;--spectrum-global-color-static-purple-800:rgb(var(--spectrum-global-color-static-purple-800-rgb));--spectrum-global-color-static-fuchsia-400-rgb:228,93,230;--spectrum-global-color-static-fuchsia-400:rgb(var(--spectrum-global-color-static-fuchsia-400-rgb));--spectrum-global-color-static-fuchsia-500-rgb:211,63,212;--spectrum-global-color-static-fuchsia-500:rgb(var(--spectrum-global-color-static-fuchsia-500-rgb));--spectrum-global-color-static-fuchsia-600-rgb:188,39,187;--spectrum-global-color-static-fuchsia-600:rgb(var(--spectrum-global-color-static-fuchsia-600-rgb));--spectrum-global-color-static-fuchsia-700-rgb:163,10,163;--spectrum-global-color-static-fuchsia-700:rgb(var(--spectrum-global-color-static-fuchsia-700-rgb));--spectrum-global-color-static-fuchsia-800-rgb:135,0,136;--spectrum-global-color-static-fuchsia-800:rgb(var(--spectrum-global-color-static-fuchsia-800-rgb));--spectrum-global-color-static-magenta-200-rgb:253,127,175;--spectrum-global-color-static-magenta-200:rgb(var(--spectrum-global-color-static-magenta-200-rgb));--spectrum-global-color-static-magenta-300-rgb:242,98,157;--spectrum-global-color-static-magenta-300:rgb(var(--spectrum-global-color-static-magenta-300-rgb));--spectrum-global-color-static-magenta-400-rgb:226,68,135;--spectrum-global-color-static-magenta-400:rgb(var(--spectrum-global-color-static-magenta-400-rgb));--spectrum-global-color-static-magenta-500-rgb:205,40,111;--spectrum-global-color-static-magenta-500:rgb(var(--spectrum-global-color-static-magenta-500-rgb));--spectrum-global-color-static-magenta-600-rgb:179,15,89;--spectrum-global-color-static-magenta-600:rgb(var(--spectrum-global-color-static-magenta-600-rgb));--spectrum-global-color-static-magenta-700-rgb:149,0,72;--spectrum-global-color-static-magenta-700:rgb(var(--spectrum-global-color-static-magenta-700-rgb));--spectrum-global-color-static-magenta-800-rgb:119,0,58;--spectrum-global-color-static-magenta-800:rgb(var(--spectrum-global-color-static-magenta-800-rgb));--spectrum-global-color-static-transparent-white-200:hsla(0,0%,100%,.1);--spectrum-global-color-static-transparent-white-300:hsla(0,0%,100%,.25);--spectrum-global-color-static-transparent-white-400:hsla(0,0%,100%,.4);--spectrum-global-color-static-transparent-white-500:hsla(0,0%,100%,.55);--spectrum-global-color-static-transparent-white-600:hsla(0,0%,100%,.7);--spectrum-global-color-static-transparent-white-700:hsla(0,0%,100%,.8);--spectrum-global-color-static-transparent-white-800:hsla(0,0%,100%,.9);--spectrum-global-color-static-transparent-white-900-rgb:255,255,255;--spectrum-global-color-static-transparent-white-900:rgb(var(--spectrum-global-color-static-transparent-white-900-rgb));--spectrum-global-color-static-transparent-black-200:rgba(0,0,0,.1);--spectrum-global-color-static-transparent-black-300:rgba(0,0,0,.25);--spectrum-global-color-static-transparent-black-400:rgba(0,0,0,.4);--spectrum-global-color-static-transparent-black-500:rgba(0,0,0,.55);--spectrum-global-color-static-transparent-black-600:rgba(0,0,0,.7);--spectrum-global-color-static-transparent-black-700:rgba(0,0,0,.8);--spectrum-global-color-static-transparent-black-800:rgba(0,0,0,.9);--spectrum-global-color-static-transparent-black-900-rgb:0,0,0;--spectrum-global-color-static-transparent-black-900:rgb(var(--spectrum-global-color-static-transparent-black-900-rgb));--spectrum-global-color-sequential-cerulean:#e9fff1,#c8f1e4,#a5e3d7,#82d5ca,#68c5c1,#54b4ba,#3fa2b2,#2991ac,#2280a2,#1f6d98,#1d5c8d,#1a4b83,#1a3979,#1a266f,#191264,#180057;--spectrum-global-color-sequential-forest:#ffffdf,#e2f6ba,#c4eb95,#a4e16d,#8dd366,#77c460,#5fb65a,#48a754,#36984f,#2c894d,#237a4a,#196b47,#105c45,#094d41,#033f3e,#00313a;--spectrum-global-color-sequential-rose:#fff4dd,#ffddd7,#ffc5d2,#feaecb,#fa96c4,#f57ebd,#ef64b5,#e846ad,#d238a1,#bb2e96,#a3248c,#8a1b83,#71167c,#560f74,#370b6e,#000968;--spectrum-global-color-diverging-orange-yellow-seafoam:#580000,#79260b,#9c4511,#bd651a,#dd8629,#f5ad52,#fed693,#ffffe0,#bbe4d1,#76c7be,#3ea8a6,#208288,#076769,#00494b,#002c2d;--spectrum-global-color-diverging-red-yellow-blue:#4a001e,#751232,#a52747,#c65154,#e47961,#f0a882,#fad4ac,#ffffe0,#bce2cf,#89c0c4,#579eb9,#397aa8,#1c5796,#163771,#10194d;--spectrum-global-color-diverging-red-blue:#4a001e,#731331,#9f2945,#cc415a,#e06e85,#ed9ab0,#f8c3d9,#faf0ff,#c6d0f2,#92b2de,#5d94cb,#2f74b3,#265191,#163670,#0b194c;--spectrum-semantic-negative-background-color:var(\n--spectrum-global-color-static-red-600\n);--spectrum-semantic-negative-color-default:var(\n--spectrum-global-color-red-500\n);--spectrum-semantic-negative-color-hover:var(\n--spectrum-global-color-red-600\n);--spectrum-semantic-negative-color-dark:var(\n--spectrum-global-color-red-600\n);--spectrum-semantic-negative-border-color:var(\n--spectrum-global-color-red-400\n);--spectrum-semantic-negative-icon-color:var(\n--spectrum-global-color-red-600\n);--spectrum-semantic-negative-status-color:var(\n--spectrum-global-color-red-400\n);--spectrum-semantic-negative-text-color-large:var(\n--spectrum-global-color-red-500\n);--spectrum-semantic-negative-text-color-small:var(\n--spectrum-global-color-red-600\n);--spectrum-semantic-negative-text-color-small-hover:var(\n--spectrum-global-color-red-700\n);--spectrum-semantic-negative-text-color-small-down:var(\n--spectrum-global-color-red-700\n);--spectrum-semantic-negative-text-color-small-key-focus:var(\n--spectrum-global-color-red-600\n);--spectrum-semantic-negative-color-down:var(\n--spectrum-global-color-red-700\n);--spectrum-semantic-negative-color-key-focus:var(\n--spectrum-global-color-red-400\n);--spectrum-semantic-negative-background-color-default:var(\n--spectrum-global-color-static-red-600\n);--spectrum-semantic-negative-background-color-hover:var(\n--spectrum-global-color-static-red-700\n);--spectrum-semantic-negative-background-color-down:var(\n--spectrum-global-color-static-red-800\n);--spectrum-semantic-negative-background-color-key-focus:var(\n--spectrum-global-color-static-red-700\n);--spectrum-semantic-notice-background-color:var(\n--spectrum-global-color-static-orange-600\n);--spectrum-semantic-notice-color-default:var(\n--spectrum-global-color-orange-500\n);--spectrum-semantic-notice-color-dark:var(\n--spectrum-global-color-orange-600\n);--spectrum-semantic-notice-border-color:var(\n--spectrum-global-color-orange-400\n);--spectrum-semantic-notice-icon-color:var(\n--spectrum-global-color-orange-600\n);--spectrum-semantic-notice-status-color:var(\n--spectrum-global-color-orange-400\n);--spectrum-semantic-notice-text-color-large:var(\n--spectrum-global-color-orange-500\n);--spectrum-semantic-notice-text-color-small:var(\n--spectrum-global-color-orange-600\n);--spectrum-semantic-notice-color-down:var(\n--spectrum-global-color-orange-700\n);--spectrum-semantic-notice-color-key-focus:var(\n--spectrum-global-color-orange-400\n);--spectrum-semantic-notice-background-color-default:var(\n--spectrum-global-color-static-orange-600\n);--spectrum-semantic-notice-background-color-hover:var(\n--spectrum-global-color-static-orange-700\n);--spectrum-semantic-notice-background-color-down:var(\n--spectrum-global-color-static-orange-800\n);--spectrum-semantic-notice-background-color-key-focus:var(\n--spectrum-global-color-static-orange-700\n);--spectrum-semantic-positive-background-color:var(\n--spectrum-global-color-static-green-600\n);--spectrum-semantic-positive-color-default:var(\n--spectrum-global-color-green-500\n);--spectrum-semantic-positive-color-dark:var(\n--spectrum-global-color-green-600\n);--spectrum-semantic-positive-border-color:var(\n--spectrum-global-color-green-400\n);--spectrum-semantic-positive-icon-color:var(\n--spectrum-global-color-green-600\n);--spectrum-semantic-positive-status-color:var(\n--spectrum-global-color-green-400\n);--spectrum-semantic-positive-text-color-large:var(\n--spectrum-global-color-green-500\n);--spectrum-semantic-positive-text-color-small:var(\n--spectrum-global-color-green-600\n);--spectrum-semantic-positive-color-down:var(\n--spectrum-global-color-green-700\n);--spectrum-semantic-positive-color-key-focus:var(\n--spectrum-global-color-green-400\n);--spectrum-semantic-positive-background-color-default:var(\n--spectrum-global-color-static-green-600\n);--spectrum-semantic-positive-background-color-hover:var(\n--spectrum-global-color-static-green-700\n);--spectrum-semantic-positive-background-color-down:var(\n--spectrum-global-color-static-green-800\n);--spectrum-semantic-positive-background-color-key-focus:var(\n--spectrum-global-color-static-green-700\n);--spectrum-semantic-informative-background-color:var(\n--spectrum-global-color-static-blue-600\n);--spectrum-semantic-informative-color-default:var(\n--spectrum-global-color-blue-500\n);--spectrum-semantic-informative-color-dark:var(\n--spectrum-global-color-blue-600\n);--spectrum-semantic-informative-border-color:var(\n--spectrum-global-color-blue-400\n);--spectrum-semantic-informative-icon-color:var(\n--spectrum-global-color-blue-600\n);--spectrum-semantic-informative-status-color:var(\n--spectrum-global-color-blue-400\n);--spectrum-semantic-informative-text-color-large:var(\n--spectrum-global-color-blue-500\n);--spectrum-semantic-informative-text-color-small:var(\n--spectrum-global-color-blue-600\n);--spectrum-semantic-informative-color-down:var(\n--spectrum-global-color-blue-700\n);--spectrum-semantic-informative-color-key-focus:var(\n--spectrum-global-color-blue-400\n);--spectrum-semantic-informative-background-color-default:var(\n--spectrum-global-color-static-blue-600\n);--spectrum-semantic-informative-background-color-hover:var(\n--spectrum-global-color-static-blue-700\n);--spectrum-semantic-informative-background-color-down:var(\n--spectrum-global-color-static-blue-800\n);--spectrum-semantic-informative-background-color-key-focus:var(\n--spectrum-global-color-static-blue-700\n);--spectrum-semantic-cta-background-color-default:var(\n--spectrum-global-color-static-blue-600\n);--spectrum-semantic-cta-background-color-hover:var(\n--spectrum-global-color-static-blue-700\n);--spectrum-semantic-cta-background-color-down:var(\n--spectrum-global-color-static-blue-800\n);--spectrum-semantic-cta-background-color-key-focus:var(\n--spectrum-global-color-static-blue-700\n);--spectrum-semantic-emphasized-border-color-default:var(\n--spectrum-global-color-blue-500\n);--spectrum-semantic-emphasized-border-color-hover:var(\n--spectrum-global-color-blue-600\n);--spectrum-semantic-emphasized-border-color-down:var(\n--spectrum-global-color-blue-700\n);--spectrum-semantic-emphasized-border-color-key-focus:var(\n--spectrum-global-color-blue-600\n);--spectrum-semantic-neutral-background-color-default:var(\n--spectrum-global-color-static-gray-700\n);--spectrum-semantic-neutral-background-color-hover:var(\n--spectrum-global-color-static-gray-800\n);--spectrum-semantic-neutral-background-color-down:var(\n--spectrum-global-color-static-gray-900\n);--spectrum-semantic-neutral-background-color-key-focus:var(\n--spectrum-global-color-static-gray-800\n);--spectrum-semantic-presence-color-1:var(\n--spectrum-global-color-static-red-500\n);--spectrum-semantic-presence-color-2:var(\n--spectrum-global-color-static-orange-400\n);--spectrum-semantic-presence-color-3:var(\n--spectrum-global-color-static-yellow-400\n);--spectrum-semantic-presence-color-4-rgb:75,204,162;--spectrum-semantic-presence-color-4:rgb(var(--spectrum-semantic-presence-color-4-rgb));--spectrum-semantic-presence-color-5-rgb:0,199,255;--spectrum-semantic-presence-color-5:rgb(var(--spectrum-semantic-presence-color-5-rgb));--spectrum-semantic-presence-color-6-rgb:0,140,184;--spectrum-semantic-presence-color-6:rgb(var(--spectrum-semantic-presence-color-6-rgb));--spectrum-semantic-presence-color-7-rgb:126,75,243;--spectrum-semantic-presence-color-7:rgb(var(--spectrum-semantic-presence-color-7-rgb));--spectrum-semantic-presence-color-8:var(\n--spectrum-global-color-static-fuchsia-600\n);--spectrum-global-dimension-static-percent-50:50%;--spectrum-global-dimension-static-percent-70:70%;--spectrum-global-dimension-static-percent-100:100%;--spectrum-global-dimension-static-breakpoint-xsmall:304px;--spectrum-global-dimension-static-breakpoint-small:768px;--spectrum-global-dimension-static-breakpoint-medium:1280px;--spectrum-global-dimension-static-breakpoint-large:1768px;--spectrum-global-dimension-static-breakpoint-xlarge:2160px;--spectrum-global-dimension-static-grid-columns:12;--spectrum-global-dimension-static-grid-fluid-width:100%;--spectrum-global-dimension-static-grid-fixed-max-width:1280px;--spectrum-global-dimension-static-size-0:0px;--spectrum-global-dimension-static-size-10:1px;--spectrum-global-dimension-static-size-25:2px;--spectrum-global-dimension-static-size-40:3px;--spectrum-global-dimension-static-size-50:4px;--spectrum-global-dimension-static-size-65:5px;--spectrum-global-dimension-static-size-75:6px;--spectrum-global-dimension-static-size-85:7px;--spectrum-global-dimension-static-size-100:8px;--spectrum-global-dimension-static-size-115:9px;--spectrum-global-dimension-static-size-125:10px;--spectrum-global-dimension-static-size-130:11px;--spectrum-global-dimension-static-size-150:12px;--spectrum-global-dimension-static-size-160:13px;--spectrum-global-dimension-static-size-175:14px;--spectrum-global-dimension-static-size-185:15px;--spectrum-global-dimension-static-size-200:16px;--spectrum-global-dimension-static-size-225:18px;--spectrum-global-dimension-static-size-250:20px;--spectrum-global-dimension-static-size-275:22px;--spectrum-global-dimension-static-size-300:24px;--spectrum-global-dimension-static-size-325:26px;--spectrum-global-dimension-static-size-350:28px;--spectrum-global-dimension-static-size-400:32px;--spectrum-global-dimension-static-size-450:36px;--spectrum-global-dimension-static-size-500:40px;--spectrum-global-dimension-static-size-550:44px;--spectrum-global-dimension-static-size-600:48px;--spectrum-global-dimension-static-size-700:56px;--spectrum-global-dimension-static-size-800:64px;--spectrum-global-dimension-static-size-900:72px;--spectrum-global-dimension-static-size-1000:80px;--spectrum-global-dimension-static-size-1200:96px;--spectrum-global-dimension-static-size-1700:136px;--spectrum-global-dimension-static-size-2400:192px;--spectrum-global-dimension-static-size-2500:200px;--spectrum-global-dimension-static-size-2600:208px;--spectrum-global-dimension-static-size-2800:224px;--spectrum-global-dimension-static-size-3200:256px;--spectrum-global-dimension-static-size-3400:272px;--spectrum-global-dimension-static-size-3500:280px;--spectrum-global-dimension-static-size-3600:288px;--spectrum-global-dimension-static-size-3800:304px;--spectrum-global-dimension-static-size-4600:368px;--spectrum-global-dimension-static-size-5000:400px;--spectrum-global-dimension-static-size-6000:480px;--spectrum-global-dimension-static-size-16000:1280px;--spectrum-global-dimension-static-font-size-50:11px;--spectrum-global-dimension-static-font-size-75:12px;--spectrum-global-dimension-static-font-size-100:14px;--spectrum-global-dimension-static-font-size-150:15px;--spectrum-global-dimension-static-font-size-200:16px;--spectrum-global-dimension-static-font-size-300:18px;--spectrum-global-dimension-static-font-size-400:20px;--spectrum-global-dimension-static-font-size-500:22px;--spectrum-global-dimension-static-font-size-600:25px;--spectrum-global-dimension-static-font-size-700:28px;--spectrum-global-dimension-static-font-size-800:32px;--spectrum-global-dimension-static-font-size-900:36px;--spectrum-global-dimension-static-font-size-1000:40px;--spectrum-global-font-family-base:adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-global-font-family-serif:adobe-clean-serif,"Source Serif Pro",Georgia,serif;--spectrum-global-font-family-code:"Source Code Pro",Monaco,monospace;--spectrum-global-font-weight-thin:100;--spectrum-global-font-weight-ultra-light:200;--spectrum-global-font-weight-light:300;--spectrum-global-font-weight-regular:400;--spectrum-global-font-weight-medium:500;--spectrum-global-font-weight-semi-bold:600;--spectrum-global-font-weight-bold:700;--spectrum-global-font-weight-extra-bold:800;--spectrum-global-font-weight-black:900;--spectrum-global-font-style-regular:normal;--spectrum-global-font-style-italic:italic;--spectrum-global-font-letter-spacing-none:0;--spectrum-global-font-letter-spacing-small:0.0125em;--spectrum-global-font-letter-spacing-han:0.05em;--spectrum-global-font-letter-spacing-medium:0.06em;--spectrum-global-font-line-height-large:1.7;--spectrum-global-font-line-height-medium:1.5;--spectrum-global-font-line-height-small:1.3;--spectrum-global-font-multiplier-0:0em;--spectrum-global-font-multiplier-25:0.25em;--spectrum-global-font-multiplier-75:0.75em;--spectrum-global-font-font-family-ar:myriad-arabic,adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-global-font-font-family-he:myriad-hebrew,adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-global-font-font-family-zh:adobe-clean-han-traditional,source-han-traditional,"MingLiu","Heiti TC Light","sans-serif";--spectrum-global-font-font-family-zhhans:adobe-clean-han-simplified-c,source-han-simplified-c,"SimSun","Heiti SC Light","sans-serif";--spectrum-global-font-font-family-ko:adobe-clean-han-korean,source-han-korean,"Malgun Gothic","Apple Gothic","sans-serif";--spectrum-global-font-font-family-ja:adobe-clean-han-japanese,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Osaka",YuGothic,"Yu Gothic","メイリオ",Meiryo,"MS Pゴシック","MS PGothic","sans-serif";--spectrum-global-font-font-family-condensed:adobe-clean-han-traditional,source-han-traditional,"MingLiu","Heiti TC Light",adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-alias-loupe-entry-animation-duration:var(\n--spectrum-global-animation-duration-300\n);--spectrum-alias-loupe-exit-animation-duration:var(\n--spectrum-global-animation-duration-300\n);--spectrum-alias-heading-text-line-height:var(\n--spectrum-global-font-line-height-small\n);--spectrum-alias-heading-text-font-weight-regular:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-heading-text-font-weight-regular-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-heading-text-font-weight-light:var(\n--spectrum-global-font-weight-light\n);--spectrum-alias-heading-text-font-weight-light-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-heading-text-font-weight-heavy:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-heading-text-font-weight-heavy-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-heading-text-font-weight-quiet:var(\n--spectrum-global-font-weight-light\n);--spectrum-alias-heading-text-font-weight-quiet-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-heading-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-heading-text-font-weight-strong-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-heading-margin-bottom:var(\n--spectrum-global-font-multiplier-25\n);--spectrum-alias-subheading-text-font-weight:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-subheading-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-body-text-font-family:var(\n--spectrum-global-font-family-base\n);--spectrum-alias-body-text-line-height:var(\n--spectrum-global-font-line-height-medium\n);--spectrum-alias-body-text-font-weight:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-body-text-font-weight-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-body-margin-bottom:var(\n--spectrum-global-font-multiplier-75\n);--spectrum-alias-detail-text-font-weight:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-detail-text-font-weight-regular:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-detail-text-font-weight-light:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-detail-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-article-heading-text-font-weight:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-article-heading-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-article-heading-text-font-weight-quiet:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-article-heading-text-font-weight-quiet-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-article-body-text-font-weight:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-article-body-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-article-subheading-text-font-weight:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-article-subheading-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-article-detail-text-font-weight:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-article-detail-text-font-weight-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-code-text-font-family:var(\n--spectrum-global-font-family-code\n);--spectrum-alias-code-text-font-weight-regular:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-code-text-font-weight-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-code-text-line-height:var(\n--spectrum-global-font-line-height-medium\n);--spectrum-alias-code-margin-bottom:var(\n--spectrum-global-font-multiplier-0\n);--spectrum-alias-font-family-ar:var(--spectrum-global-font-font-family-ar);--spectrum-alias-font-family-he:var(--spectrum-global-font-font-family-he);--spectrum-alias-font-family-zh:var(--spectrum-global-font-font-family-zh);--spectrum-alias-font-family-zhhans:var(\n--spectrum-global-font-font-family-zhhans\n);--spectrum-alias-font-family-ko:var(--spectrum-global-font-font-family-ko);--spectrum-alias-font-family-ja:var(--spectrum-global-font-font-family-ja);--spectrum-alias-font-family-condensed:var(\n--spectrum-global-font-font-family-condensed\n);--spectrum-alias-component-text-line-height:var(\n--spectrum-global-font-line-height-small\n);--spectrum-alias-han-component-text-line-height:var(\n--spectrum-global-font-line-height-medium\n);--spectrum-alias-serif-text-font-family:var(\n--spectrum-global-font-family-serif\n);--spectrum-alias-han-heading-text-line-height:var(\n--spectrum-global-font-line-height-medium\n);--spectrum-alias-han-heading-text-font-weight-regular:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-heading-text-font-weight-regular-emphasis:var(\n--spectrum-global-font-weight-extra-bold\n);--spectrum-alias-han-heading-text-font-weight-regular-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-heading-text-font-weight-quiet-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-heading-text-font-weight-light:var(\n--spectrum-global-font-weight-light\n);--spectrum-alias-han-heading-text-font-weight-light-emphasis:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-han-heading-text-font-weight-light-strong:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-heading-text-font-weight-heavy:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-heading-text-font-weight-heavy-emphasis:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-heading-text-font-weight-heavy-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-body-text-line-height:var(\n--spectrum-global-font-line-height-large\n);--spectrum-alias-han-body-text-font-weight-regular:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-han-body-text-font-weight-emphasis:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-body-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-subheading-text-font-weight-regular:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-subheading-text-font-weight-emphasis:var(\n--spectrum-global-font-weight-extra-bold\n);--spectrum-alias-han-subheading-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n);--spectrum-alias-han-detail-text-font-weight:var(\n--spectrum-global-font-weight-regular\n);--spectrum-alias-han-detail-text-font-weight-emphasis:var(\n--spectrum-global-font-weight-bold\n);--spectrum-alias-han-detail-text-font-weight-strong:var(\n--spectrum-global-font-weight-black\n)}:host,:root{--spectrum-alias-item-height-s:var(--spectrum-global-dimension-size-300);--spectrum-alias-item-height-m:var(--spectrum-global-dimension-size-400);--spectrum-alias-item-height-l:var(--spectrum-global-dimension-size-500);--spectrum-alias-item-height-xl:var(--spectrum-global-dimension-size-600);--spectrum-alias-item-rounded-border-radius-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-rounded-border-radius-m:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-item-rounded-border-radius-l:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-item-rounded-border-radius-xl:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-item-text-size-s:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-alias-item-text-size-m:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-item-text-size-l:var(\n--spectrum-global-dimension-font-size-200\n);--spectrum-alias-item-text-size-xl:var(\n--spectrum-global-dimension-font-size-300\n);--spectrum-alias-item-text-padding-top-s:var(\n--spectrum-global-dimension-static-size-50\n);--spectrum-alias-item-text-padding-top-m:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-item-text-padding-top-xl:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-text-padding-bottom-m:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-text-padding-bottom-l:var(\n--spectrum-global-dimension-size-130\n);--spectrum-alias-item-text-padding-bottom-xl:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-item-icon-padding-top-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-item-icon-padding-top-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-icon-padding-top-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-icon-padding-top-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-icon-padding-bottom-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-item-icon-padding-bottom-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-icon-padding-bottom-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-icon-padding-bottom-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-padding-s:var(--spectrum-global-dimension-size-115);--spectrum-alias-item-padding-m:var(--spectrum-global-dimension-size-150);--spectrum-alias-item-padding-l:var(--spectrum-global-dimension-size-185);--spectrum-alias-item-padding-xl:var(--spectrum-global-dimension-size-225);--spectrum-alias-item-rounded-padding-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-rounded-padding-m:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-item-rounded-padding-l:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-item-rounded-padding-xl:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-item-icononly-padding-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-item-icononly-padding-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-icononly-padding-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-icononly-padding-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-control-gap-s:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-control-gap-m:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-control-gap-l:var(\n--spectrum-global-dimension-size-130\n);--spectrum-alias-item-control-gap-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-workflow-icon-gap-s:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-workflow-icon-gap-m:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-item-workflow-icon-gap-l:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-workflow-icon-gap-xl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-mark-gap-s:var(--spectrum-global-dimension-size-85);--spectrum-alias-item-mark-gap-m:var(--spectrum-global-dimension-size-100);--spectrum-alias-item-mark-gap-l:var(--spectrum-global-dimension-size-115);--spectrum-alias-item-mark-gap-xl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-ui-icon-gap-s:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-ui-icon-gap-m:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-item-ui-icon-gap-l:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-ui-icon-gap-xl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-clearbutton-gap-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-item-clearbutton-gap-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-clearbutton-gap-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-clearbutton-gap-xl:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-workflow-padding-left-s:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-workflow-padding-left-l:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-workflow-padding-left-xl:var(\n--spectrum-global-dimension-size-185\n);--spectrum-alias-item-rounded-workflow-padding-left-s:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-rounded-workflow-padding-left-l:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-item-mark-padding-top-s:var(\n--spectrum-global-dimension-size-40\n);--spectrum-alias-item-mark-padding-top-l:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-mark-padding-top-xl:var(\n--spectrum-global-dimension-size-130\n);--spectrum-alias-item-mark-padding-bottom-s:var(\n--spectrum-global-dimension-size-40\n);--spectrum-alias-item-mark-padding-bottom-l:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-mark-padding-bottom-xl:var(\n--spectrum-global-dimension-size-130\n);--spectrum-alias-item-mark-padding-left-s:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-mark-padding-left-l:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-mark-padding-left-xl:var(\n--spectrum-global-dimension-size-185\n);--spectrum-alias-item-control-1-size-s:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-item-control-1-size-m:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-item-control-2-size-m:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-item-control-2-size-l:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-item-control-2-size-xl:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-item-control-2-size-xxl:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-item-control-2-border-radius-s:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-item-control-2-border-radius-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-control-2-border-radius-l:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-item-control-2-border-radius-xl:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-control-2-border-radius-xxl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-control-2-padding-s:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-item-control-2-padding-m:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-control-2-padding-l:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-control-2-padding-xl:var(\n--spectrum-global-dimension-size-185\n);--spectrum-alias-item-control-3-height-m:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-item-control-3-height-l:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-item-control-3-height-xl:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-item-control-3-border-radius-s:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-item-control-3-border-radius-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-item-control-3-border-radius-l:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-item-control-3-border-radius-xl:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-control-3-padding-s:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-item-control-3-padding-m:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-control-3-padding-l:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-control-3-padding-xl:var(\n--spectrum-global-dimension-size-185\n);--spectrum-alias-item-mark-size-s:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-item-mark-size-l:var(\n--spectrum-global-dimension-size-275\n);--spectrum-alias-item-mark-size-xl:var(\n--spectrum-global-dimension-size-325\n);--spectrum-alias-heading-xxxl-text-size:var(\n--spectrum-global-dimension-font-size-1300\n);--spectrum-alias-heading-xxl-text-size:var(\n--spectrum-global-dimension-font-size-1100\n);--spectrum-alias-heading-xl-text-size:var(\n--spectrum-global-dimension-font-size-900\n);--spectrum-alias-heading-l-text-size:var(\n--spectrum-global-dimension-font-size-700\n);--spectrum-alias-heading-m-text-size:var(\n--spectrum-global-dimension-font-size-500\n);--spectrum-alias-heading-s-text-size:var(\n--spectrum-global-dimension-font-size-300\n);--spectrum-alias-heading-xs-text-size:var(\n--spectrum-global-dimension-font-size-200\n);--spectrum-alias-heading-xxs-text-size:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-heading-xxxl-margin-top:var(\n--spectrum-global-dimension-font-size-1200\n);--spectrum-alias-heading-xxl-margin-top:var(\n--spectrum-global-dimension-font-size-900\n);--spectrum-alias-heading-xl-margin-top:var(\n--spectrum-global-dimension-font-size-800\n);--spectrum-alias-heading-l-margin-top:var(\n--spectrum-global-dimension-font-size-600\n);--spectrum-alias-heading-m-margin-top:var(\n--spectrum-global-dimension-font-size-400\n);--spectrum-alias-heading-s-margin-top:var(\n--spectrum-global-dimension-font-size-200\n);--spectrum-alias-heading-xs-margin-top:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-heading-xxs-margin-top:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-alias-heading-han-xxxl-text-size:var(\n--spectrum-global-dimension-font-size-1300\n);--spectrum-alias-heading-han-xxl-text-size:var(\n--spectrum-global-dimension-font-size-900\n);--spectrum-alias-heading-han-xl-text-size:var(\n--spectrum-global-dimension-font-size-800\n);--spectrum-alias-heading-han-l-text-size:var(\n--spectrum-global-dimension-font-size-600\n);--spectrum-alias-heading-han-m-text-size:var(\n--spectrum-global-dimension-font-size-400\n);--spectrum-alias-heading-han-s-text-size:var(\n--spectrum-global-dimension-font-size-300\n);--spectrum-alias-heading-han-xs-text-size:var(\n--spectrum-global-dimension-font-size-200\n);--spectrum-alias-heading-han-xxs-text-size:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-heading-han-xxxl-margin-top:var(\n--spectrum-global-dimension-font-size-1200\n);--spectrum-alias-heading-han-xxl-margin-top:var(\n--spectrum-global-dimension-font-size-800\n);--spectrum-alias-heading-han-xl-margin-top:var(\n--spectrum-global-dimension-font-size-700\n);--spectrum-alias-heading-han-l-margin-top:var(\n--spectrum-global-dimension-font-size-500\n);--spectrum-alias-heading-han-m-margin-top:var(\n--spectrum-global-dimension-font-size-300\n);--spectrum-alias-heading-han-s-margin-top:var(\n--spectrum-global-dimension-font-size-200\n);--spectrum-alias-heading-han-xs-margin-top:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-heading-han-xxs-margin-top:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-alias-component-border-radius:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-component-border-radius-quiet:var(\n--spectrum-global-dimension-static-size-0\n);--spectrum-alias-component-focusring-gap:var(\n--spectrum-global-dimension-static-size-0\n);--spectrum-alias-component-focusring-gap-emphasized:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-component-focusring-size:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-component-focusring-size-emphasized:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-input-border-size:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-input-focusring-gap:var(\n--spectrum-global-dimension-static-size-0\n);--spectrum-alias-input-quiet-focusline-gap:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-control-two-size-m:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-control-two-size-l:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-control-two-size-xl:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-control-two-size-xxl:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-control-two-border-radius-s:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-control-two-border-radius-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-control-two-border-radius-l:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-control-two-border-radius-xl:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-control-two-border-radius-xxl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-control-two-focus-ring-border-radius-s:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-control-two-focus-ring-border-radius-m:var(\n--spectrum-global-dimension-size-130\n);--spectrum-alias-control-two-focus-ring-border-radius-l:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-control-two-focus-ring-border-radius-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-control-two-focus-ring-border-radius-xxl:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-control-three-height-m:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-control-three-height-l:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-control-three-height-xl:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-infieldbutton-icon-margin-y-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-infieldbutton-icon-margin-y-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-infieldbutton-icon-margin-y-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-infieldbutton-icon-margin-y-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-infieldbutton-border-radius:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-infieldbutton-border-radius-sided:0;--spectrum-alias-infieldbutton-border-size:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-infieldbutton-fill-padding-s:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-infieldbutton-fill-padding-m:var(\n--spectrum-global-dimension-size-85\n);--spectrum-alias-infieldbutton-fill-padding-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-infieldbutton-fill-padding-xl:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-infieldbutton-padding-s:0;--spectrum-alias-infieldbutton-padding-m:0;--spectrum-alias-infieldbutton-padding-l:0;--spectrum-alias-infieldbutton-padding-xl:0;--spectrum-alias-infieldbutton-full-height-s:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-infieldbutton-full-height-m:var(\n--spectrum-global-dimension-size-400\n);--spectrum-alias-infieldbutton-full-height-l:var(\n--spectrum-global-dimension-size-500\n);--spectrum-alias-infieldbutton-full-height-xl:var(\n--spectrum-global-dimension-size-600\n);--spectrum-alias-infieldbutton-half-height-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-infieldbutton-half-height-m:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-infieldbutton-half-height-l:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-infieldbutton-half-height-xl:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-clearbutton-icon-margin-s:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-clearbutton-icon-margin-m:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-clearbutton-icon-margin-l:var(\n--spectrum-global-dimension-size-185\n);--spectrum-alias-clearbutton-icon-margin-xl:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-clearbutton-border-radius:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-combobox-quiet-button-offset-x:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-percent-50:50%;--spectrum-alias-percent-70:70%;--spectrum-alias-percent-100:100%;--spectrum-alias-breakpoint-xsmall:304px;--spectrum-alias-breakpoint-small:768px;--spectrum-alias-breakpoint-medium:1280px;--spectrum-alias-breakpoint-large:1768px;--spectrum-alias-breakpoint-xlarge:2160px;--spectrum-alias-grid-columns:12;--spectrum-alias-grid-fluid-width:100%;--spectrum-alias-grid-fixed-max-width:1280px;--spectrum-alias-border-size-thin:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-border-size-thick:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-border-size-thicker:var(\n--spectrum-global-dimension-static-size-50\n);--spectrum-alias-border-size-thickest:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-border-offset-thin:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-border-offset-thick:var(\n--spectrum-global-dimension-static-size-50\n);--spectrum-alias-border-offset-thicker:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-border-offset-thickest:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-grid-baseline:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-grid-gutter-xsmall:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-grid-gutter-small:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-grid-gutter-medium:var(\n--spectrum-global-dimension-static-size-400\n);--spectrum-alias-grid-gutter-large:var(\n--spectrum-global-dimension-static-size-500\n);--spectrum-alias-grid-gutter-xlarge:var(\n--spectrum-global-dimension-static-size-600\n);--spectrum-alias-grid-margin-xsmall:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-grid-margin-small:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-grid-margin-medium:var(\n--spectrum-global-dimension-static-size-400\n);--spectrum-alias-grid-margin-large:var(\n--spectrum-global-dimension-static-size-500\n);--spectrum-alias-grid-margin-xlarge:var(\n--spectrum-global-dimension-static-size-600\n);--spectrum-alias-grid-layout-region-margin-bottom-xsmall:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-grid-layout-region-margin-bottom-small:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-grid-layout-region-margin-bottom-medium:var(\n--spectrum-global-dimension-static-size-400\n);--spectrum-alias-grid-layout-region-margin-bottom-large:var(\n--spectrum-global-dimension-static-size-500\n);--spectrum-alias-grid-layout-region-margin-bottom-xlarge:var(\n--spectrum-global-dimension-static-size-600\n);--spectrum-alias-radial-reaction-size-default:var(\n--spectrum-global-dimension-static-size-550\n);--spectrum-alias-focus-ring-gap:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-focus-ring-size:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-focus-ring-gap-small:var(\n--spectrum-global-dimension-static-size-0\n);--spectrum-alias-focus-ring-size-small:var(\n--spectrum-global-dimension-static-size-10\n);--spectrum-alias-dropshadow-blur:var(--spectrum-global-dimension-size-50);--spectrum-alias-dropshadow-offset-y:var(\n--spectrum-global-dimension-size-10\n);--spectrum-alias-font-size-default:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-layout-label-gap-size:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-pill-button-text-size:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-alias-pill-button-text-baseline:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-border-radius-xsmall:var(\n--spectrum-global-dimension-size-10\n);--spectrum-alias-border-radius-small:var(\n--spectrum-global-dimension-size-25\n);--spectrum-alias-border-radius-regular:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-border-radius-medium:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-border-radius-large:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-border-radius-xlarge:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-focus-ring-border-radius-xsmall:var(\n--spectrum-global-dimension-size-50\n);--spectrum-alias-focus-ring-border-radius-small:var(\n--spectrum-global-dimension-static-size-65\n);--spectrum-alias-focus-ring-border-radius-medium:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-focus-ring-border-radius-large:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-focus-ring-border-radius-xlarge:var(\n--spectrum-global-dimension-size-350\n);--spectrum-alias-single-line-height:var(\n--spectrum-global-dimension-size-400\n);--spectrum-alias-single-line-width:var(\n--spectrum-global-dimension-size-2400\n);--spectrum-alias-workflow-icon-size-s:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-workflow-icon-size-m:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-workflow-icon-size-xl:var(\n--spectrum-global-dimension-size-275\n);--spectrum-alias-ui-icon-alert-size-75:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-ui-icon-alert-size-100:var(\n--spectrum-global-dimension-size-225\n);--spectrum-alias-ui-icon-alert-size-200:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-ui-icon-alert-size-300:var(\n--spectrum-global-dimension-size-275\n);--spectrum-alias-ui-icon-triplegripper-size-100-height:var(\n--spectrum-global-dimension-size-100\n);--spectrum-alias-ui-icon-doublegripper-size-100-width:var(\n--spectrum-global-dimension-size-200\n);--spectrum-alias-ui-icon-singlegripper-size-100-width:var(\n--spectrum-global-dimension-size-300\n);--spectrum-alias-ui-icon-cornertriangle-size-75:var(\n--spectrum-global-dimension-size-65\n);--spectrum-alias-ui-icon-cornertriangle-size-200:var(\n--spectrum-global-dimension-size-75\n);--spectrum-alias-ui-icon-asterisk-size-75:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-asterisk-size-100:var(\n--spectrum-global-dimension-size-100\n)}:host,:root{--spectrum-alias-transparent-blue-background-color-hover:rgba(0,87,190,.15);--spectrum-alias-transparent-blue-background-color-down:rgba(0,72,153,.3);--spectrum-alias-transparent-blue-background-color-key-focus:var(\n--spectrum-alias-transparent-blue-background-color-hover\n);--spectrum-alias-transparent-blue-background-color-mouse-focus:var(\n--spectrum-alias-transparent-blue-background-color-hover\n);--spectrum-alias-transparent-blue-background-color:var(\n--spectrum-alias-component-text-color-default\n);--spectrum-alias-transparent-red-background-color-hover:rgba(154,0,0,.15);--spectrum-alias-transparent-red-background-color-down:rgba(124,0,0,.3);--spectrum-alias-transparent-red-background-color-key-focus:var(\n--spectrum-alias-transparent-red-background-color-hover\n);--spectrum-alias-transparent-red-background-color-mouse-focus:var(\n--spectrum-alias-transparent-red-background-color-hover\n);--spectrum-alias-transparent-red-background-color:var(\n--spectrum-alias-component-text-color-default\n);--spectrum-alias-component-text-color-disabled:var(\n--spectrum-global-color-gray-500\n);--spectrum-alias-component-text-color-default:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-component-text-color-hover:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-component-text-color-down:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-component-text-color-key-focus:var(\n--spectrum-alias-component-text-color-hover\n);--spectrum-alias-component-text-color-mouse-focus:var(\n--spectrum-alias-component-text-color-hover\n);--spectrum-alias-component-text-color:var(\n--spectrum-alias-component-text-color-default\n);--spectrum-alias-component-text-color-selected-default:var(\n--spectrum-alias-component-text-color-default\n);--spectrum-alias-component-text-color-selected-hover:var(\n--spectrum-alias-component-text-color-hover\n);--spectrum-alias-component-text-color-selected-down:var(\n--spectrum-alias-component-text-color-down\n);--spectrum-alias-component-text-color-selected-key-focus:var(\n--spectrum-alias-component-text-color-key-focus\n);--spectrum-alias-component-text-color-selected-mouse-focus:var(\n--spectrum-alias-component-text-color-mouse-focus\n);--spectrum-alias-component-text-color-selected:var(\n--spectrum-alias-component-text-color-selected-default\n);--spectrum-alias-component-text-color-emphasized-selected-default:var(\n--spectrum-global-color-static-white\n);--spectrum-alias-component-text-color-emphasized-selected-hover:var(\n--spectrum-alias-component-text-color-emphasized-selected-default\n);--spectrum-alias-component-text-color-emphasized-selected-down:var(\n--spectrum-alias-component-text-color-emphasized-selected-default\n);--spectrum-alias-component-text-color-emphasized-selected-key-focus:var(\n--spectrum-alias-component-text-color-emphasized-selected-default\n);--spectrum-alias-component-text-color-emphasized-selected-mouse-focus:var(\n--spectrum-alias-component-text-color-emphasized-selected-default\n);--spectrum-alias-component-text-color-emphasized-selected:var(\n--spectrum-alias-component-text-color-emphasized-selected-default\n);--spectrum-alias-component-text-color-error-default:var(\n--spectrum-semantic-negative-text-color-small\n);--spectrum-alias-component-text-color-error-hover:var(\n--spectrum-semantic-negative-text-color-small-hover\n);--spectrum-alias-component-text-color-error-down:var(\n--spectrum-semantic-negative-text-color-small-down\n);--spectrum-alias-component-text-color-error-key-focus:var(\n--spectrum-semantic-negative-text-color-small-key-focus\n);--spectrum-alias-component-text-color-error-mouse-focus:var(\n--spectrum-semantic-negative-text-color-small-key-focus\n);--spectrum-alias-component-text-color-error:var(\n--spectrum-alias-component-text-color-error-default\n);--spectrum-alias-component-icon-color-disabled:var(\n--spectrum-alias-icon-color-disabled\n);--spectrum-alias-component-icon-color-default:var(\n--spectrum-alias-icon-color\n);--spectrum-alias-component-icon-color-hover:var(\n--spectrum-alias-icon-color-hover\n);--spectrum-alias-component-icon-color-down:var(\n--spectrum-alias-icon-color-down\n);--spectrum-alias-component-icon-color-key-focus:var(\n--spectrum-alias-icon-color-hover\n);--spectrum-alias-component-icon-color-mouse-focus:var(\n--spectrum-alias-icon-color-down\n);--spectrum-alias-component-icon-color:var(\n--spectrum-alias-component-icon-color-default\n);--spectrum-alias-component-icon-color-selected:var(\n--spectrum-alias-icon-color-selected-neutral-subdued\n);--spectrum-alias-component-icon-color-emphasized-selected-default:var(\n--spectrum-global-color-static-white\n);--spectrum-alias-component-icon-color-emphasized-selected-hover:var(\n--spectrum-alias-component-icon-color-emphasized-selected-default\n);--spectrum-alias-component-icon-color-emphasized-selected-down:var(\n--spectrum-alias-component-icon-color-emphasized-selected-default\n);--spectrum-alias-component-icon-color-emphasized-selected-key-focus:var(\n--spectrum-alias-component-icon-color-emphasized-selected-default\n);--spectrum-alias-component-icon-color-emphasized-selected:var(\n--spectrum-alias-component-icon-color-emphasized-selected-default\n);--spectrum-alias-component-background-color-disabled:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-quiet-disabled:var(\n--spectrum-alias-background-color-transparent\n);--spectrum-alias-component-background-color-quiet-selected-disabled:var(\n--spectrum-alias-component-background-color-disabled\n);--spectrum-alias-component-background-color-default:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-component-background-color-hover:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-component-background-color-down:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-key-focus:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-component-background-color:var(\n--spectrum-alias-component-background-color-default\n);--spectrum-alias-component-background-color-selected-default:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-selected-hover:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-selected-down:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-selected-key-focus:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-background-color-selected:var(\n--spectrum-alias-component-background-color-selected-default\n);--spectrum-alias-component-background-color-quiet-default:var(\n--spectrum-alias-background-color-transparent\n);--spectrum-alias-component-background-color-quiet-hover:var(\n--spectrum-alias-background-color-transparent\n);--spectrum-alias-component-background-color-quiet-down:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-component-background-color-quiet-key-focus:var(\n--spectrum-alias-background-color-transparent\n);--spectrum-alias-component-background-color-quiet:var(\n--spectrum-alias-component-background-color-quiet-default\n);--spectrum-alias-component-background-color-quiet-selected-default:var(\n--spectrum-alias-component-background-color-selected-default\n);--spectrum-alias-component-background-color-quiet-selected-hover:var(\n--spectrum-alias-component-background-color-selected-hover\n);--spectrum-alias-component-background-color-quiet-selected-down:var(\n--spectrum-alias-component-background-color-selected-down\n);--spectrum-alias-component-background-color-quiet-selected-key-focus:var(\n--spectrum-alias-component-background-color-selected-key-focus\n);--spectrum-alias-component-background-color-quiet-selected:var(\n--spectrum-alias-component-background-color-selected-default\n);--spectrum-alias-component-background-color-emphasized-selected-default:var(\n--spectrum-semantic-cta-background-color-default\n);--spectrum-alias-component-background-color-emphasized-selected-hover:var(\n--spectrum-semantic-cta-background-color-hover\n);--spectrum-alias-component-background-color-emphasized-selected-down:var(\n--spectrum-semantic-cta-background-color-down\n);--spectrum-alias-component-background-color-emphasized-selected-key-focus:var(\n--spectrum-semantic-cta-background-color-key-focus\n);--spectrum-alias-component-background-color-emphasized-selected:var(\n--spectrum-alias-component-background-color-emphasized-selected-default\n);--spectrum-alias-component-border-color-disabled:var(\n--spectrum-alias-border-color-disabled\n);--spectrum-alias-component-border-color-quiet-disabled:var(\n--spectrum-alias-border-color-transparent\n);--spectrum-alias-component-border-color-default:var(\n--spectrum-alias-border-color\n);--spectrum-alias-component-border-color-hover:var(\n--spectrum-alias-border-color-hover\n);--spectrum-alias-component-border-color-down:var(\n--spectrum-alias-border-color-down\n);--spectrum-alias-component-border-color-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-component-border-color:var(\n--spectrum-alias-component-border-color-default\n);--spectrum-alias-component-border-color-selected-default:var(\n--spectrum-alias-border-color\n);--spectrum-alias-component-border-color-selected-hover:var(\n--spectrum-alias-border-color-hover\n);--spectrum-alias-component-border-color-selected-down:var(\n--spectrum-alias-border-color-down\n);--spectrum-alias-component-border-color-selected-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-component-border-color-selected:var(\n--spectrum-alias-component-border-color-selected-default\n);--spectrum-alias-component-border-color-quiet-default:var(\n--spectrum-alias-border-color-transparent\n);--spectrum-alias-component-border-color-quiet-hover:var(\n--spectrum-alias-border-color-transparent\n);--spectrum-alias-component-border-color-quiet-down:var(\n--spectrum-alias-border-color-transparent\n);--spectrum-alias-component-border-color-quiet-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-component-border-color-quiet:var(\n--spectrum-alias-component-border-color-quiet-default\n);--spectrum-alias-component-border-color-quiet-selected-default:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-border-color-quiet-selected-hover:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-border-color-quiet-selected-down:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-component-border-color-quiet-selected-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-component-border-color-quiet-selected:var(\n--spectrum-alias-component-border-color-quiet-selected-default\n);--spectrum-alias-component-border-color-emphasized-selected-default:var(\n--spectrum-semantic-cta-background-color-default\n);--spectrum-alias-component-border-color-emphasized-selected-hover:var(\n--spectrum-semantic-cta-background-color-hover\n);--spectrum-alias-component-border-color-emphasized-selected-down:var(\n--spectrum-semantic-cta-background-color-down\n);--spectrum-alias-component-border-color-emphasized-selected-key-focus:var(\n--spectrum-semantic-cta-background-color-key-focus\n);--spectrum-alias-component-border-color-emphasized-selected:var(\n--spectrum-alias-component-border-color-emphasized-selected-default\n);--spectrum-alias-toggle-background-color-default:var(\n--spectrum-global-color-gray-700\n);--spectrum-alias-toggle-background-color-hover:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-toggle-background-color-down:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-toggle-background-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-toggle-background-color:var(\n--spectrum-alias-toggle-background-color-default\n);--spectrum-alias-toggle-background-color-emphasized-selected-default:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-toggle-background-color-emphasized-selected-hover:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-toggle-background-color-emphasized-selected-down:var(\n--spectrum-global-color-blue-700\n);--spectrum-alias-toggle-background-color-emphasized-selected-key-focus:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-toggle-background-color-emphasized-selected:var(\n--spectrum-alias-toggle-background-color-emphasized-selected-default\n);--spectrum-alias-toggle-border-color-default:var(\n--spectrum-global-color-gray-700\n);--spectrum-alias-toggle-border-color-hover:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-toggle-border-color-down:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-toggle-border-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-toggle-border-color:var(\n--spectrum-alias-toggle-border-color-default\n);--spectrum-alias-toggle-icon-color-selected:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-toggle-icon-color-emphasized-selected:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-input-border-color-disabled:var(\n--spectrum-alias-border-color-transparent\n);--spectrum-alias-input-border-color-quiet-disabled:var(\n--spectrum-alias-border-color-mid\n);--spectrum-alias-input-border-color-default:var(\n--spectrum-alias-border-color\n);--spectrum-alias-input-border-color-hover:var(\n--spectrum-alias-border-color-hover\n);--spectrum-alias-input-border-color-down:var(\n--spectrum-alias-border-color-mouse-focus\n);--spectrum-alias-input-border-color-mouse-focus:var(\n--spectrum-alias-border-color-mouse-focus\n);--spectrum-alias-input-border-color-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-input-border-color:var(\n--spectrum-alias-input-border-color-default\n);--spectrum-alias-input-border-color-invalid-default:var(\n--spectrum-semantic-negative-color-default\n);--spectrum-alias-input-border-color-invalid-hover:var(\n--spectrum-semantic-negative-color-hover\n);--spectrum-alias-input-border-color-invalid-down:var(\n--spectrum-semantic-negative-color-down\n);--spectrum-alias-input-border-color-invalid-mouse-focus:var(\n--spectrum-semantic-negative-color-hover\n);--spectrum-alias-input-border-color-invalid-key-focus:var(\n--spectrum-alias-border-color-key-focus\n);--spectrum-alias-input-border-color-invalid:var(\n--spectrum-alias-input-border-color-invalid-default\n);--spectrum-alias-background-color-yellow-default:var(\n--spectrum-global-color-static-yellow-300\n);--spectrum-alias-background-color-yellow-hover:var(\n--spectrum-global-color-static-yellow-400\n);--spectrum-alias-background-color-yellow-key-focus:var(\n--spectrum-global-color-static-yellow-400\n);--spectrum-alias-background-color-yellow-down:var(\n--spectrum-global-color-static-yellow-500\n);--spectrum-alias-background-color-yellow:var(\n--spectrum-alias-background-color-yellow-default\n);--spectrum-alias-infieldbutton-background-color:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-infieldbutton-fill-loudnessLow-border-color-disabled:transparent;--spectrum-alias-infieldbutton-fill-loudnessMedium-border-color-disabled:transparent;--spectrum-alias-infieldbutton-fill-loudnessHigh-border-color-disabled:var(\n--spectrum-alias-component-background-color-disabled\n);--spectrum-alias-infieldbutton-fill-border-color-default:var(\n--spectrum-alias-input-border-color-default\n);--spectrum-alias-infieldbutton-fill-border-color-hover:var(\n--spectrum-alias-input-border-color-hover\n);--spectrum-alias-infieldbutton-fill-border-color-down:var(\n--spectrum-alias-input-border-color-down\n);--spectrum-alias-infieldbutton-fill-border-color-mouse-focus:var(\n--spectrum-alias-input-border-color-mouse-focus\n);--spectrum-alias-infieldbutton-fill-border-color-key-focus:var(\n--spectrum-alias-input-border-color-key-focus\n);--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-default:transparent;--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-hover:transparent;--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-down:transparent;--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-key-focus:transparent;--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-disabled:transparent;--spectrum-alias-infieldbutton-fill-loudnessMedium-background-color-default:var(\n--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-default\n);--spectrum-alias-infieldbutton-fill-loudnessMedium-background-color-hover:var(\n--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-hover\n);--spectrum-alias-infieldbutton-fill-loudnessMedium-background-color-down:var(\n--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-down\n);--spectrum-alias-infieldbutton-fill-loudnessMedium-background-color-key-focus:var(\n--spectrum-alias-infieldbutton-fill-loudnessLow-background-color-key-focus\n);--spectrum-alias-infieldbutton-fill-loudnessMedium-background-color-disabled:transparent;--spectrum-alias-infieldbutton-fill-loudnessHigh-background-color-default:var(\n--spectrum-alias-component-background-color-default\n);--spectrum-alias-infieldbutton-fill-loudnessHigh-background-color-hover:var(\n--spectrum-alias-component-background-color-hover\n);--spectrum-alias-infieldbutton-fill-loudnessHigh-background-color-down:var(\n--spectrum-alias-component-background-color-down\n);--spectrum-alias-infieldbutton-fill-loudnessHigh-background-color-key-focus:var(\n--spectrum-alias-component-background-color-key-focus\n);--spectrum-alias-infieldbutton-fill-loudnessHigh-background-color-disabled:var(\n--spectrum-alias-component-background-color-disabled\n);--spectrum-alias-tabitem-text-color-default:var(\n--spectrum-alias-label-text-color\n);--spectrum-alias-tabitem-text-color-hover:var(\n--spectrum-alias-text-color-hover\n);--spectrum-alias-tabitem-text-color-down:var(\n--spectrum-alias-text-color-down\n);--spectrum-alias-tabitem-text-color-key-focus:var(\n--spectrum-alias-text-color-hover\n);--spectrum-alias-tabitem-text-color-mouse-focus:var(\n--spectrum-alias-text-color-hover\n);--spectrum-alias-tabitem-text-color:var(\n--spectrum-alias-tabitem-text-color-default\n);--spectrum-alias-tabitem-text-color-selected-default:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-tabitem-text-color-selected-hover:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-text-color-selected-down:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-text-color-selected-key-focus:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-text-color-selected-mouse-focus:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-text-color-selected:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-text-color-emphasized:var(\n--spectrum-alias-tabitem-text-color-default\n);--spectrum-alias-tabitem-text-color-emphasized-selected-default:var(\n--spectrum-global-color-static-blue-500\n);--spectrum-alias-tabitem-text-color-emphasized-selected-hover:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-text-color-emphasized-selected-down:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-text-color-emphasized-selected-key-focus:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-text-color-emphasized-selected-mouse-focus:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-text-color-emphasized-selected:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-selection-indicator-color-default:var(\n--spectrum-alias-tabitem-text-color-selected-default\n);--spectrum-alias-tabitem-selection-indicator-color-emphasized:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-tabitem-icon-color-disabled:var(\n--spectrum-alias-text-color-disabled\n);--spectrum-alias-tabitem-icon-color-default:var(\n--spectrum-alias-icon-color\n);--spectrum-alias-tabitem-icon-color-hover:var(\n--spectrum-alias-icon-color-hover\n);--spectrum-alias-tabitem-icon-color-down:var(\n--spectrum-alias-icon-color-down\n);--spectrum-alias-tabitem-icon-color-key-focus:var(\n--spectrum-alias-icon-color-hover\n);--spectrum-alias-tabitem-icon-color-mouse-focus:var(\n--spectrum-alias-icon-color-down\n);--spectrum-alias-tabitem-icon-color:var(\n--spectrum-alias-tabitem-icon-color-default\n);--spectrum-alias-tabitem-icon-color-selected:var(\n--spectrum-alias-icon-color-selected-neutral\n);--spectrum-alias-tabitem-icon-color-emphasized:var(\n--spectrum-alias-tabitem-text-color-default\n);--spectrum-alias-tabitem-icon-color-emphasized-selected:var(\n--spectrum-alias-tabitem-text-color-emphasized-selected-default\n);--spectrum-alias-assetcard-selectionindicator-background-color-ordered:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-assetcard-overlay-background-color:rgba(27,127,245,.1);--spectrum-alias-assetcard-border-color-selected:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-assetcard-border-color-selected-hover:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-assetcard-border-color-selected-down:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-background-color-default:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-background-color-disabled:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-background-color-transparent:transparent;--spectrum-alias-background-color-overbackground-down:hsla(0,0%,100%,.2);--spectrum-alias-background-color-quiet-overbackground-hover:hsla(0,0%,100%,.1);--spectrum-alias-background-color-quiet-overbackground-down:hsla(0,0%,100%,.2);--spectrum-alias-background-color-overbackground-disabled:hsla(0,0%,100%,.1);--spectrum-alias-background-color-quickactions-overlay:rgba(0,0,0,.2);--spectrum-alias-placeholder-text-color:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-placeholder-text-color-hover:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-placeholder-text-color-down:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-placeholder-text-color-selected:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-label-text-color:var(--spectrum-global-color-gray-700);--spectrum-alias-text-color:var(--spectrum-global-color-gray-800);--spectrum-alias-text-color-hover:var(--spectrum-global-color-gray-900);--spectrum-alias-text-color-down:var(--spectrum-global-color-gray-900);--spectrum-alias-text-color-key-focus:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-text-color-mouse-focus:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-text-color-disabled:var(--spectrum-global-color-gray-500);--spectrum-alias-text-color-invalid:var(--spectrum-global-color-red-500);--spectrum-alias-text-color-selected:var(--spectrum-global-color-blue-600);--spectrum-alias-text-color-selected-neutral:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-text-color-overbackground:var(\n--spectrum-global-color-static-white\n);--spectrum-alias-text-color-overbackground-disabled:hsla(0,0%,100%,.2);--spectrum-alias-text-color-quiet-overbackground-disabled:hsla(0,0%,100%,.2);--spectrum-alias-heading-text-color:var(--spectrum-global-color-gray-900);--spectrum-alias-border-color:var(--spectrum-global-color-gray-400);--spectrum-alias-border-color-hover:var(--spectrum-global-color-gray-500);--spectrum-alias-border-color-down:var(--spectrum-global-color-gray-500);--spectrum-alias-border-color-key-focus:var(\n--spectrum-global-color-blue-400\n);--spectrum-alias-border-color-mouse-focus:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-border-color-disabled:var(\n--spectrum-global-color-gray-200\n);--spectrum-alias-border-color-extralight:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-border-color-light:var(--spectrum-global-color-gray-200);--spectrum-alias-border-color-mid:var(--spectrum-global-color-gray-300);--spectrum-alias-border-color-dark:var(--spectrum-global-color-gray-400);--spectrum-alias-border-color-darker-default:var(\n--spectrum-global-color-gray-600\n);--spectrum-alias-border-color-darker-hover:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-border-color-darker-down:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-border-color-transparent:transparent;--spectrum-alias-border-color-translucent-dark:rgba(0,0,0,.05);--spectrum-alias-border-color-translucent-darker:rgba(0,0,0,.1);--spectrum-alias-focus-color:var(--spectrum-global-color-blue-400);--spectrum-alias-focus-ring-color:var(--spectrum-alias-focus-color);--spectrum-alias-track-color-default:var(--spectrum-global-color-gray-300);--spectrum-alias-track-fill-color-overbackground:var(\n--spectrum-global-color-static-white\n);--spectrum-alias-track-color-disabled:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-track-color-overbackground:hsla(0,0%,100%,.2);--spectrum-alias-icon-color:var(--spectrum-global-color-gray-700);--spectrum-alias-icon-color-overbackground:var(\n--spectrum-global-color-static-white\n);--spectrum-alias-icon-color-hover:var(--spectrum-global-color-gray-900);--spectrum-alias-icon-color-down:var(--spectrum-global-color-gray-900);--spectrum-alias-icon-color-key-focus:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-icon-color-disabled:var(--spectrum-global-color-gray-400);--spectrum-alias-icon-color-overbackground-disabled:hsla(0,0%,100%,.2);--spectrum-alias-icon-color-quiet-overbackground-disabled:hsla(0,0%,100%,.15);--spectrum-alias-icon-color-selected-neutral:var(\n--spectrum-global-color-gray-900\n);--spectrum-alias-icon-color-selected-neutral-subdued:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-icon-color-selected:var(--spectrum-global-color-blue-500);--spectrum-alias-icon-color-selected-hover:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-icon-color-selected-down:var(\n--spectrum-global-color-blue-700\n);--spectrum-alias-icon-color-selected-focus:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-image-opacity-disabled:var(\n--spectrum-global-color-opacity-30\n);--spectrum-alias-toolbar-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-code-highlight-color-default:var(\n--spectrum-global-color-gray-800\n);--spectrum-alias-code-highlight-background-color:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-code-highlight-color-keyword:var(\n--spectrum-global-color-fuchsia-600\n);--spectrum-alias-code-highlight-color-section:var(\n--spectrum-global-color-red-600\n);--spectrum-alias-code-highlight-color-literal:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-code-highlight-color-attribute:var(\n--spectrum-global-color-seafoam-600\n);--spectrum-alias-code-highlight-color-class:var(\n--spectrum-global-color-magenta-600\n);--spectrum-alias-code-highlight-color-variable:var(\n--spectrum-global-color-purple-600\n);--spectrum-alias-code-highlight-color-title:var(\n--spectrum-global-color-indigo-600\n);--spectrum-alias-code-highlight-color-string:var(\n--spectrum-global-color-fuchsia-600\n);--spectrum-alias-code-highlight-color-function:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-code-highlight-color-comment:var(\n--spectrum-global-color-gray-700\n);--spectrum-alias-categorical-color-1:var(\n--spectrum-global-color-static-seafoam-200\n);--spectrum-alias-categorical-color-2:var(\n--spectrum-global-color-static-indigo-700\n);--spectrum-alias-categorical-color-3:var(\n--spectrum-global-color-static-orange-500\n);--spectrum-alias-categorical-color-4:var(\n--spectrum-global-color-static-magenta-500\n);--spectrum-alias-categorical-color-5:var(\n--spectrum-global-color-static-indigo-200\n);--spectrum-alias-categorical-color-6:var(\n--spectrum-global-color-static-celery-200\n);--spectrum-alias-categorical-color-7:var(\n--spectrum-global-color-static-blue-500\n);--spectrum-alias-categorical-color-8:var(\n--spectrum-global-color-static-purple-800\n);--spectrum-alias-categorical-color-9:var(\n--spectrum-global-color-static-yellow-500\n);--spectrum-alias-categorical-color-10:var(\n--spectrum-global-color-static-orange-700\n);--spectrum-alias-categorical-color-11:var(\n--spectrum-global-color-static-green-600\n);--spectrum-alias-categorical-color-12:var(\n--spectrum-global-color-static-chartreuse-300\n);--spectrum-alias-categorical-color-13:var(\n--spectrum-global-color-static-blue-200\n);--spectrum-alias-categorical-color-14:var(\n--spectrum-global-color-static-fuchsia-500\n);--spectrum-alias-categorical-color-15:var(\n--spectrum-global-color-static-magenta-200\n);--spectrum-alias-categorical-color-16:var(\n--spectrum-global-color-static-yellow-200\n)}:host,:root{--spectrum-colorcontrol-checkerboard-light-color:var(\n--spectrum-global-color-static-white\n);--spectrum-colorcontrol-checkerboard-dark-color:var(\n--spectrum-global-color-static-gray-300\n)}:host,:root{-webkit-tap-highlight-color:rgb(0 0 0/0)}:host,:root{--spectrum-focus-indicator-color:var(--spectrum-blue-800);--spectrum-static-white-focus-indicator-color:var(--spectrum-white);--spectrum-static-black-focus-indicator-color:var(--spectrum-black);--spectrum-overlay-color:var(--spectrum-black);--spectrum-opacity-disabled:0.3;--spectrum-neutral-subdued-content-color-selected:var(\n--spectrum-neutral-subdued-content-color-down\n);--spectrum-accent-content-color-selected:var(\n--spectrum-accent-content-color-down\n);--spectrum-disabled-background-color:var(--spectrum-gray-200);--spectrum-disabled-static-white-background-color:var(\n--spectrum-transparent-white-200\n);--spectrum-disabled-static-black-background-color:var(\n--spectrum-transparent-black-200\n);--spectrum-background-opacity-default:0;--spectrum-background-opacity-hover:0.1;--spectrum-background-opacity-down:0.1;--spectrum-background-opacity-key-focus:0.1;--spectrum-neutral-content-color-default:var(--spectrum-gray-800);--spectrum-neutral-content-color-hover:var(--spectrum-gray-900);--spectrum-neutral-content-color-down:var(--spectrum-gray-900);--spectrum-neutral-content-color-focus-hover:var(\n--spectrum-neutral-content-color-down\n);--spectrum-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-down\n);--spectrum-neutral-content-color-key-focus:var(--spectrum-gray-900);--spectrum-neutral-subdued-content-color-default:var(--spectrum-gray-700);--spectrum-neutral-subdued-content-color-hover:var(--spectrum-gray-800);--spectrum-neutral-subdued-content-color-down:var(--spectrum-gray-900);--spectrum-neutral-subdued-content-color-key-focus:var(\n--spectrum-gray-800\n);--spectrum-accent-content-color-default:var(--spectrum-accent-color-900);--spectrum-accent-content-color-hover:var(--spectrum-accent-color-1000);--spectrum-accent-content-color-down:var(--spectrum-accent-color-1100);--spectrum-accent-content-color-key-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-negative-content-color-default:var(\n--spectrum-negative-color-900\n);--spectrum-negative-content-color-hover:var(\n--spectrum-negative-color-1000\n);--spectrum-negative-content-color-down:var(--spectrum-negative-color-1100);--spectrum-negative-content-color-key-focus:var(\n--spectrum-negative-color-1000\n);--spectrum-disabled-content-color:var(--spectrum-gray-400);--spectrum-disabled-static-white-content-color:var(\n--spectrum-transparent-white-500\n);--spectrum-disabled-static-black-content-color:var(\n--spectrum-transparent-black-500\n);--spectrum-disabled-border-color:var(--spectrum-gray-300);--spectrum-disabled-static-white-border-color:var(\n--spectrum-transparent-white-300\n);--spectrum-disabled-static-black-border-color:var(\n--spectrum-transparent-black-300\n);--spectrum-negative-border-color-default:var(\n--spectrum-negative-color-900\n);--spectrum-negative-border-color-hover:var(--spectrum-negative-color-1000);--spectrum-negative-border-color-down:var(--spectrum-negative-color-1100);--spectrum-negative-border-color-focus-hover:var(\n--spectrum-negative-border-color-down\n);--spectrum-negative-border-color-focus:var(--spectrum-negative-color-1000);--spectrum-negative-border-color-key-focus:var(\n--spectrum-negative-color-1000\n);--spectrum-swatch-border-color:var(--spectrum-gray-900);--spectrum-swatch-border-opacity:0.51;--spectrum-swatch-disabled-icon-border-color:var(--spectrum-black);--spectrum-swatch-disabled-icon-border-opacity:0.51;--spectrum-thumbnail-border-color:var(--spectrum-gray-800);--spectrum-thumbnail-border-opacity:0.1;--spectrum-thumbnail-opacity-disabled:var(--spectrum-opacity-disabled);--spectrum-opacity-checkerboard-square-light:var(--spectrum-white);--spectrum-avatar-opacity-disabled:var(--spectrum-opacity-disabled);--spectrum-color-area-border-color:var(--spectrum-gray-900);--spectrum-color-area-border-opacity:0.1;--spectrum-color-slider-border-color:var(--spectrum-gray-900);--spectrum-color-slider-border-opacity:0.1;--spectrum-color-loupe-drop-shadow-color:var(\n--spectrum-transparent-black-300\n);--spectrum-color-loupe-drop-shadow-y:2px;--spectrum-color-loupe-drop-shadow-blur:8px;--spectrum-color-loupe-inner-border:var(--spectrum-transparent-black-200);--spectrum-color-loupe-outer-border:var(--spectrum-white);--spectrum-card-selection-background-color:var(--spectrum-gray-100);--spectrum-card-selection-background-color-opacity:0.95;--spectrum-drop-zone-background-color:var(--spectrum-accent-visual-color);--spectrum-drop-zone-background-color-opacity:0.1;--spectrum-drop-zone-background-color-opacity-filled:0.3;--spectrum-coach-mark-pagination-color:var(--spectrum-gray-600);--spectrum-color-handle-inner-border-color:var(--spectrum-black);--spectrum-color-handle-inner-border-opacity:0.42;--spectrum-color-handle-outer-border-opacity:var(\n--spectrum-color-handle-inner-border-opacity\n);--spectrum-floating-action-button-drop-shadow-color:var(\n--spectrum-transparent-black-300\n);--spectrum-floating-action-button-shadow-color:var(\n--spectrum-floating-action-button-drop-shadow-color\n);--spectrum-table-row-hover-color:var(--spectrum-gray-900);--spectrum-table-row-hover-opacity:0.07;--spectrum-table-selected-row-background-color:var(\n--spectrum-informative-background-color-default\n);--spectrum-table-selected-row-background-opacity:0.1;--spectrum-table-selected-row-background-color-non-emphasized:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-table-selected-row-background-opacity-non-emphasized:0.1;--spectrum-table-row-down-opacity:0.1;--spectrum-table-selected-row-background-opacity-hover:0.15;--spectrum-table-selected-row-background-opacity-non-emphasized-hover:0.15;--spectrum-white-rgb:255,255,255;--spectrum-white:rgba(var(--spectrum-white-rgb));--spectrum-transparent-white-100-rgb:255,255,255;--spectrum-transparent-white-100-opacity:0;--spectrum-transparent-white-100:rgba(var(--spectrum-transparent-white-100-rgb),var(--spectrum-transparent-white-100-opacity));--spectrum-transparent-white-200-rgb:255,255,255;--spectrum-transparent-white-200-opacity:0.1;--spectrum-transparent-white-200:rgba(var(--spectrum-transparent-white-200-rgb),var(--spectrum-transparent-white-200-opacity));--spectrum-transparent-white-300-rgb:255,255,255;--spectrum-transparent-white-300-opacity:0.25;--spectrum-transparent-white-300:rgba(var(--spectrum-transparent-white-300-rgb),var(--spectrum-transparent-white-300-opacity));--spectrum-transparent-white-400-rgb:255,255,255;--spectrum-transparent-white-400-opacity:0.4;--spectrum-transparent-white-400:rgba(var(--spectrum-transparent-white-400-rgb),var(--spectrum-transparent-white-400-opacity));--spectrum-transparent-white-500-rgb:255,255,255;--spectrum-transparent-white-500-opacity:0.55;--spectrum-transparent-white-500:rgba(var(--spectrum-transparent-white-500-rgb),var(--spectrum-transparent-white-500-opacity));--spectrum-transparent-white-600-rgb:255,255,255;--spectrum-transparent-white-600-opacity:0.7;--spectrum-transparent-white-600:rgba(var(--spectrum-transparent-white-600-rgb),var(--spectrum-transparent-white-600-opacity));--spectrum-transparent-white-700-rgb:255,255,255;--spectrum-transparent-white-700-opacity:0.8;--spectrum-transparent-white-700:rgba(var(--spectrum-transparent-white-700-rgb),var(--spectrum-transparent-white-700-opacity));--spectrum-transparent-white-800-rgb:255,255,255;--spectrum-transparent-white-800-opacity:0.9;--spectrum-transparent-white-800:rgba(var(--spectrum-transparent-white-800-rgb),var(--spectrum-transparent-white-800-opacity));--spectrum-transparent-white-900-rgb:255,255,255;--spectrum-transparent-white-900:rgba(var(--spectrum-transparent-white-900-rgb));--spectrum-black-rgb:0,0,0;--spectrum-black:rgba(var(--spectrum-black-rgb));--spectrum-transparent-black-100-rgb:0,0,0;--spectrum-transparent-black-100-opacity:0;--spectrum-transparent-black-100:rgba(var(--spectrum-transparent-black-100-rgb),var(--spectrum-transparent-black-100-opacity));--spectrum-transparent-black-200-rgb:0,0,0;--spectrum-transparent-black-200-opacity:0.1;--spectrum-transparent-black-200:rgba(var(--spectrum-transparent-black-200-rgb),var(--spectrum-transparent-black-200-opacity));--spectrum-transparent-black-300-rgb:0,0,0;--spectrum-transparent-black-300-opacity:0.25;--spectrum-transparent-black-300:rgba(var(--spectrum-transparent-black-300-rgb),var(--spectrum-transparent-black-300-opacity));--spectrum-transparent-black-400-rgb:0,0,0;--spectrum-transparent-black-400-opacity:0.4;--spectrum-transparent-black-400:rgba(var(--spectrum-transparent-black-400-rgb),var(--spectrum-transparent-black-400-opacity));--spectrum-transparent-black-500-rgb:0,0,0;--spectrum-transparent-black-500-opacity:0.55;--spectrum-transparent-black-500:rgba(var(--spectrum-transparent-black-500-rgb),var(--spectrum-transparent-black-500-opacity));--spectrum-transparent-black-600-rgb:0,0,0;--spectrum-transparent-black-600-opacity:0.7;--spectrum-transparent-black-600:rgba(var(--spectrum-transparent-black-600-rgb),var(--spectrum-transparent-black-600-opacity));--spectrum-transparent-black-700-rgb:0,0,0;--spectrum-transparent-black-700-opacity:0.8;--spectrum-transparent-black-700:rgba(var(--spectrum-transparent-black-700-rgb),var(--spectrum-transparent-black-700-opacity));--spectrum-transparent-black-800-rgb:0,0,0;--spectrum-transparent-black-800-opacity:0.9;--spectrum-transparent-black-800:rgba(var(--spectrum-transparent-black-800-rgb),var(--spectrum-transparent-black-800-opacity));--spectrum-transparent-black-900-rgb:0,0,0;--spectrum-transparent-black-900:rgba(var(--spectrum-transparent-black-900-rgb));--spectrum-radio-button-selection-indicator:4px;--spectrum-field-label-to-component:0px;--spectrum-help-text-to-component:0px;--spectrum-button-minimum-width-multiplier:2.25;--spectrum-divider-thickness-small:1px;--spectrum-divider-thickness-medium:2px;--spectrum-divider-thickness-large:4px;--spectrum-swatch-rectangle-width-multiplier:2;--spectrum-swatch-slash-thickness-extra-small:2px;--spectrum-swatch-slash-thickness-small:3px;--spectrum-swatch-slash-thickness-medium:4px;--spectrum-swatch-slash-thickness-large:5px;--spectrum-progress-bar-minimum-width:48px;--spectrum-progress-bar-maximum-width:768px;--spectrum-meter-minimum-width:48px;--spectrum-meter-maximum-width:768px;--spectrum-in-line-alert-minimum-width:240px;--spectrum-popover-tip-width:16px;--spectrum-popover-tip-height:8px;--spectrum-menu-item-label-to-description:1px;--spectrum-menu-item-section-divider-height:8px;--spectrum-picker-minimum-width-multiplier:2;--spectrum-picker-end-edge-to-disclousure-icon-quiet:var(\n--spectrum-picker-end-edge-to-disclosure-icon-quiet\n);--spectrum-picker-end-edge-to-disclosure-icon-quiet:0px;--spectrum-text-field-minimum-width-multiplier:1.5;--spectrum-combo-box-minimum-width-multiplier:2.5;--spectrum-combo-box-quiet-minimum-width-multiplier:2;--spectrum-combo-box-visual-to-field-button-quiet:0px;--spectrum-alert-dialog-minimum-width:288px;--spectrum-alert-dialog-maximum-width:480px;--spectrum-contextual-help-minimum-width:268px;--spectrum-breadcrumbs-height:var(--spectrum-component-height-300);--spectrum-breadcrumbs-height-compact:var(--spectrum-component-height-200);--spectrum-breadcrumbs-end-edge-to-text:0px;--spectrum-breadcrumbs-truncated-menu-to-separator-icon:0px;--spectrum-breadcrumbs-start-edge-to-truncated-menu:0px;--spectrum-breadcrumbs-truncated-menu-to-bottom-text:0px;--spectrum-alert-banner-to-top-workflow-icon:var(\n--spectrum-alert-banner-top-to-workflow-icon\n);--spectrum-alert-banner-to-top-text:var(\n--spectrum-alert-banner-top-to-text\n);--spectrum-alert-banner-to-bottom-text:var(\n--spectrum-alert-banner-bottom-to-text\n);--spectrum-color-area-border-width:var(--spectrum-border-width-100);--spectrum-color-area-border-rounding:var(--spectrum-corner-radius-100);--spectrum-color-wheel-color-area-margin:12px;--spectrum-color-slider-border-width:1px;--spectrum-color-slider-border-rounding:4px;--spectrum-floating-action-button-drop-shadow-blur:12px;--spectrum-floating-action-button-drop-shadow-y:4px;--spectrum-illustrated-message-maximum-width:380px;--spectrum-search-field-minimum-width-multiplier:3;--spectrum-color-loupe-height:64px;--spectrum-color-loupe-width:48px;--spectrum-color-loupe-bottom-to-color-handle:12px;--spectrum-color-loupe-outer-border-width:var(--spectrum-border-width-200);--spectrum-color-loupe-inner-border-width:1px;--spectrum-card-minimum-width:100px;--spectrum-card-preview-minimum-height:130px;--spectrum-card-selection-background-size:40px;--spectrum-drop-zone-width:428px;--spectrum-drop-zone-content-maximum-width:var(\n--spectrum-illustrated-message-maximum-width\n);--spectrum-drop-zone-border-dash-length:8px;--spectrum-drop-zone-border-dash-gap:4px;--spectrum-drop-zone-title-size:var(\n--spectrum-illustrated-message-title-size\n);--spectrum-drop-zone-cjk-title-size:var(\n--spectrum-illustrated-message-cjk-title-size\n);--spectrum-drop-zone-body-size:var(\n--spectrum-illustrated-message-body-size\n);--spectrum-color-handle-border-width:var(--spectrum-border-width-200);--spectrum-color-handle-inner-border-width:1px;--spectrum-color-handle-outer-border-width:1px;--spectrum-color-handle-drop-shadow-x:0;--spectrum-color-handle-drop-shadow-y:0;--spectrum-color-handle-drop-shadow-blur:0;--spectrum-table-row-height-small-compact:var(\n--spectrum-component-height-75\n);--spectrum-table-row-height-medium-compact:var(\n--spectrum-component-height-100\n);--spectrum-table-row-height-large-compact:var(\n--spectrum-component-height-200\n);--spectrum-table-row-height-extra-large-compact:var(\n--spectrum-component-height-300\n);--spectrum-table-row-top-to-text-small-compact:var(\n--spectrum-component-top-to-text-75\n);--spectrum-table-row-top-to-text-medium-compact:var(\n--spectrum-component-top-to-text-100\n);--spectrum-table-row-top-to-text-large-compact:var(\n--spectrum-component-top-to-text-200\n);--spectrum-table-row-top-to-text-extra-large-compact:var(\n--spectrum-component-top-to-text-300\n);--spectrum-table-row-bottom-to-text-small-compact:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-table-row-bottom-to-text-medium-compact:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-table-row-bottom-to-text-large-compact:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-table-row-bottom-to-text-extra-large-compact:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-table-border-divider-width:1px;--spectrum-tab-item-height-small:var(--spectrum-component-height-200);--spectrum-tab-item-height-medium:var(--spectrum-component-height-300);--spectrum-tab-item-height-large:var(--spectrum-component-height-400);--spectrum-tab-item-height-extra-large:var(\n--spectrum-component-height-500\n);--spectrum-tab-item-compact-height-small:var(\n--spectrum-component-height-75\n);--spectrum-tab-item-compact-height-medium:var(\n--spectrum-component-height-100\n);--spectrum-tab-item-compact-height-large:var(\n--spectrum-component-height-200\n);--spectrum-tab-item-compact-height-extra-large:var(\n--spectrum-component-height-300\n);--spectrum-tab-item-start-to-edge-quiet:0px;--spectrum-in-field-button-width-stacked-small:20px;--spectrum-in-field-button-width-stacked-medium:28px;--spectrum-in-field-button-width-stacked-large:36px;--spectrum-in-field-button-width-stacked-extra-large:44px;--spectrum-in-field-button-edge-to-disclosure-icon-stacked-small:7px;--spectrum-in-field-button-edge-to-disclosure-icon-stacked-medium:9px;--spectrum-in-field-button-edge-to-disclosure-icon-stacked-large:13px;--spectrum-in-field-button-edge-to-disclosure-icon-stacked-extra-large:16px;--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-small:3px;--spectrum-android-elevation:2dp;--spectrum-spacing-50:2px;--spectrum-spacing-75:4px;--spectrum-spacing-100:8px;--spectrum-spacing-200:12px;--spectrum-spacing-300:16px;--spectrum-spacing-400:24px;--spectrum-spacing-500:32px;--spectrum-spacing-600:40px;--spectrum-spacing-700:48px;--spectrum-spacing-800:64px;--spectrum-spacing-900:80px;--spectrum-spacing-1000:96px;--spectrum-focus-indicator-thickness:2px;--spectrum-focus-indicator-gap:2px;--spectrum-border-width-200:2px;--spectrum-border-width-400:4px;--spectrum-field-edge-to-text-quiet:0px;--spectrum-field-edge-to-visual-quiet:0px;--spectrum-field-edge-to-border-quiet:0px;--spectrum-field-edge-to-alert-icon-quiet:0px;--spectrum-field-edge-to-validation-icon-quiet:0px;--spectrum-text-underline-thickness:1px;--spectrum-text-underline-gap:1px;--spectrum-informative-color-100:var(--spectrum-blue-100);--spectrum-informative-color-200:var(--spectrum-blue-200);--spectrum-informative-color-300:var(--spectrum-blue-300);--spectrum-informative-color-400:var(--spectrum-blue-400);--spectrum-informative-color-500:var(--spectrum-blue-500);--spectrum-informative-color-600:var(--spectrum-blue-600);--spectrum-informative-color-700:var(--spectrum-blue-700);--spectrum-informative-color-800:var(--spectrum-blue-800);--spectrum-informative-color-900:var(--spectrum-blue-900);--spectrum-informative-color-1000:var(--spectrum-blue-1000);--spectrum-informative-color-1100:var(--spectrum-blue-1100);--spectrum-informative-color-1200:var(--spectrum-blue-1200);--spectrum-informative-color-1300:var(--spectrum-blue-1300);--spectrum-informative-color-1400:var(--spectrum-blue-1400);--spectrum-negative-color-100:var(--spectrum-red-100);--spectrum-negative-color-200:var(--spectrum-red-200);--spectrum-negative-color-300:var(--spectrum-red-300);--spectrum-negative-color-400:var(--spectrum-red-400);--spectrum-negative-color-500:var(--spectrum-red-500);--spectrum-negative-color-600:var(--spectrum-red-600);--spectrum-negative-color-700:var(--spectrum-red-700);--spectrum-negative-color-800:var(--spectrum-red-800);--spectrum-negative-color-900:var(--spectrum-red-900);--spectrum-negative-color-1000:var(--spectrum-red-1000);--spectrum-negative-color-1100:var(--spectrum-red-1100);--spectrum-negative-color-1200:var(--spectrum-red-1200);--spectrum-negative-color-1300:var(--spectrum-red-1300);--spectrum-negative-color-1400:var(--spectrum-red-1400);--spectrum-notice-color-100:var(--spectrum-orange-100);--spectrum-notice-color-200:var(--spectrum-orange-200);--spectrum-notice-color-300:var(--spectrum-orange-300);--spectrum-notice-color-400:var(--spectrum-orange-400);--spectrum-notice-color-500:var(--spectrum-orange-500);--spectrum-notice-color-600:var(--spectrum-orange-600);--spectrum-notice-color-700:var(--spectrum-orange-700);--spectrum-notice-color-800:var(--spectrum-orange-800);--spectrum-notice-color-900:var(--spectrum-orange-900);--spectrum-notice-color-1000:var(--spectrum-orange-1000);--spectrum-notice-color-1100:var(--spectrum-orange-1100);--spectrum-notice-color-1200:var(--spectrum-orange-1200);--spectrum-notice-color-1300:var(--spectrum-orange-1300);--spectrum-notice-color-1400:var(--spectrum-orange-1400);--spectrum-positive-color-100:var(--spectrum-green-100);--spectrum-positive-color-200:var(--spectrum-green-200);--spectrum-positive-color-300:var(--spectrum-green-300);--spectrum-positive-color-400:var(--spectrum-green-400);--spectrum-positive-color-500:var(--spectrum-green-500);--spectrum-positive-color-600:var(--spectrum-green-600);--spectrum-positive-color-700:var(--spectrum-green-700);--spectrum-positive-color-800:var(--spectrum-green-800);--spectrum-positive-color-900:var(--spectrum-green-900);--spectrum-positive-color-1000:var(--spectrum-green-1000);--spectrum-positive-color-1100:var(--spectrum-green-1100);--spectrum-positive-color-1200:var(--spectrum-green-1200);--spectrum-positive-color-1300:var(--spectrum-green-1300);--spectrum-positive-color-1400:var(--spectrum-green-1400);--spectrum-default-font-family:var(--spectrum-sans-serif-font-family);--spectrum-sans-serif-font-family:Adobe Clean;--spectrum-serif-font-family:Adobe Clean Serif;--spectrum-cjk-font-family:Adobe Clean Han;--spectrum-light-font-weight:300;--spectrum-regular-font-weight:400;--spectrum-medium-font-weight:500;--spectrum-bold-font-weight:700;--spectrum-extra-bold-font-weight:800;--spectrum-black-font-weight:900;--spectrum-italic-font-style:italic;--spectrum-default-font-style:normal;--spectrum-line-height-100:1.3;--spectrum-line-height-200:1.5;--spectrum-cjk-line-height-100:1.5;--spectrum-cjk-line-height-200:1.7;--spectrum-cjk-letter-spacing:0.05em;--spectrum-heading-sans-serif-font-family:var(\n--spectrum-sans-serif-font-family\n);--spectrum-heading-serif-font-family:var(--spectrum-serif-font-family);--spectrum-heading-cjk-font-family:var(--spectrum-cjk-font-family);--spectrum-heading-sans-serif-light-font-weight:var(\n--spectrum-light-font-weight\n);--spectrum-heading-sans-serif-light-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-light-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-heading-serif-light-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-cjk-light-font-weight:var(--spectrum-light-font-weight);--spectrum-heading-cjk-light-font-style:var(--spectrum-default-font-style);--spectrum-heading-sans-serif-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-font-style:var(--spectrum-default-font-style);--spectrum-heading-cjk-font-style:var(--spectrum-default-font-style);--spectrum-heading-sans-serif-heavy-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-heavy-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-heavy-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-heavy-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-cjk-heavy-font-weight:var(--spectrum-black-font-weight);--spectrum-heading-cjk-heavy-font-style:var(--spectrum-default-font-style);--spectrum-heading-sans-serif-light-strong-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-heading-sans-serif-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-light-strong-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-heading-serif-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-cjk-light-strong-font-weight:var(\n--spectrum-extra-bold-font-weight\n);--spectrum-heading-cjk-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-cjk-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-heavy-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-heavy-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-serif-heavy-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-heavy-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-cjk-heavy-strong-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-heavy-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-light-emphasized-font-weight:var(\n--spectrum-light-font-weight\n);--spectrum-heading-sans-serif-light-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-light-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-heading-serif-light-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-light-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-heading-cjk-light-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-heavy-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-heavy-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-heavy-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-heavy-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-heavy-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-heavy-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-light-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-heading-sans-serif-light-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-light-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-heading-serif-light-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-light-strong-emphasized-font-weight:var(\n--spectrum-extra-bold-font-weight\n);--spectrum-heading-cjk-light-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-sans-serif-heavy-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-sans-serif-heavy-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-serif-heavy-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-serif-heavy-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-heading-cjk-heavy-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-heading-cjk-heavy-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-heading-size-xxxl:var(--spectrum-font-size-1300);--spectrum-heading-size-xxl:var(--spectrum-font-size-1100);--spectrum-heading-size-xl:var(--spectrum-font-size-900);--spectrum-heading-size-l:var(--spectrum-font-size-700);--spectrum-heading-size-m:var(--spectrum-font-size-500);--spectrum-heading-size-s:var(--spectrum-font-size-300);--spectrum-heading-size-xs:var(--spectrum-font-size-200);--spectrum-heading-size-xxs:var(--spectrum-font-size-100);--spectrum-heading-cjk-size-xxxl:var(--spectrum-font-size-1300);--spectrum-heading-cjk-size-xxl:var(--spectrum-font-size-900);--spectrum-heading-cjk-size-xl:var(--spectrum-font-size-800);--spectrum-heading-cjk-size-l:var(--spectrum-font-size-600);--spectrum-heading-cjk-size-m:var(--spectrum-font-size-400);--spectrum-heading-cjk-size-s:var(--spectrum-font-size-300);--spectrum-heading-cjk-size-xs:var(--spectrum-font-size-200);--spectrum-heading-cjk-size-xxs:var(--spectrum-font-size-100);--spectrum-heading-line-height:var(--spectrum-line-height-100);--spectrum-heading-cjk-line-height:var(--spectrum-cjk-line-height-100);--spectrum-heading-margin-top-multiplier:0.88888889;--spectrum-heading-margin-bottom-multiplier:0.25;--spectrum-heading-color:var(--spectrum-gray-900);--spectrum-body-sans-serif-font-family:var(\n--spectrum-sans-serif-font-family\n);--spectrum-body-serif-font-family:var(--spectrum-serif-font-family);--spectrum-body-cjk-font-family:var(--spectrum-cjk-font-family);--spectrum-body-sans-serif-font-weight:var(--spectrum-regular-font-weight);--spectrum-body-sans-serif-font-style:var(--spectrum-default-font-style);--spectrum-body-serif-font-weight:var(--spectrum-regular-font-weight);--spectrum-body-serif-font-style:var(--spectrum-default-font-style);--spectrum-body-cjk-font-weight:var(--spectrum-regular-font-weight);--spectrum-body-cjk-font-style:var(--spectrum-default-font-style);--spectrum-body-sans-serif-strong-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-body-sans-serif-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-body-serif-strong-font-weight:var(--spectrum-bold-font-weight);--spectrum-body-serif-strong-font-style:var(--spectrum-default-font-style);--spectrum-body-cjk-strong-font-weight:var(--spectrum-black-font-weight);--spectrum-body-cjk-strong-font-style:var(--spectrum-default-font-style);--spectrum-body-sans-serif-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-body-sans-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-body-serif-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-body-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-body-cjk-emphasized-font-weight:var(\n--spectrum-extra-bold-font-weight\n);--spectrum-body-cjk-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-body-sans-serif-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-body-sans-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-body-serif-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-body-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-body-cjk-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-body-cjk-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-body-size-xxxl:var(--spectrum-font-size-600);--spectrum-body-size-xxl:var(--spectrum-font-size-500);--spectrum-body-size-xl:var(--spectrum-font-size-400);--spectrum-body-size-l:var(--spectrum-font-size-300);--spectrum-body-size-m:var(--spectrum-font-size-200);--spectrum-body-size-s:var(--spectrum-font-size-100);--spectrum-body-size-xs:var(--spectrum-font-size-75);--spectrum-body-line-height:var(--spectrum-line-height-200);--spectrum-body-cjk-line-height:var(--spectrum-cjk-line-height-200);--spectrum-body-margin-multiplier:0.75;--spectrum-body-color:var(--spectrum-gray-800);--spectrum-detail-sans-serif-font-family:var(\n--spectrum-sans-serif-font-family\n);--spectrum-detail-serif-font-family:var(--spectrum-serif-font-family);--spectrum-detail-cjk-font-family:var(--spectrum-cjk-font-family);--spectrum-detail-sans-serif-font-weight:var(--spectrum-bold-font-weight);--spectrum-detail-sans-serif-font-style:var(--spectrum-default-font-style);--spectrum-detail-serif-font-weight:var(--spectrum-bold-font-weight);--spectrum-detail-serif-font-style:var(--spectrum-default-font-style);--spectrum-detail-cjk-font-weight:var(--spectrum-extra-bold-font-weight);--spectrum-detail-cjk-font-style:var(--spectrum-default-font-style);--spectrum-detail-sans-serif-light-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-sans-serif-light-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-serif-light-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-serif-light-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-cjk-light-font-weight:var(--spectrum-light-font-weight);--spectrum-detail-cjk-light-font-style:var(--spectrum-default-font-style);--spectrum-detail-sans-serif-strong-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-sans-serif-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-serif-strong-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-serif-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-cjk-strong-font-weight:var(--spectrum-black-font-weight);--spectrum-detail-cjk-strong-font-style:var(--spectrum-default-font-style);--spectrum-detail-sans-serif-light-strong-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-sans-serif-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-serif-light-strong-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-serif-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-cjk-light-strong-font-weight:var(\n--spectrum-extra-bold-font-weight\n);--spectrum-detail-cjk-light-strong-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-sans-serif-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-sans-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-serif-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-serif-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-cjk-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-detail-cjk-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-sans-serif-light-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-sans-serif-light-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-serif-light-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-serif-light-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-cjk-light-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-cjk-light-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-sans-serif-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-sans-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-serif-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-detail-serif-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-cjk-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-detail-cjk-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-sans-serif-light-strong-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-sans-serif-light-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-serif-light-strong-emphasized-font-weight:var(\n--spectrum-regular-font-weight\n);--spectrum-detail-serif-light-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-detail-cjk-light-strong-emphasized-font-weight:var(\n--spectrum-extra-bold-font-weight\n);--spectrum-detail-cjk-light-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-detail-size-xl:var(--spectrum-font-size-200);--spectrum-detail-size-l:var(--spectrum-font-size-100);--spectrum-detail-size-m:var(--spectrum-font-size-75);--spectrum-detail-size-s:var(--spectrum-font-size-50);--spectrum-detail-line-height:var(--spectrum-line-height-100);--spectrum-detail-cjk-line-height:var(--spectrum-cjk-line-height-100);--spectrum-detail-margin-top-multiplier:0.88888889;--spectrum-detail-margin-bottom-multiplier:0.25;--spectrum-detail-letter-spacing:0.06em;--spectrum-detail-sans-serif-text-transform:uppercase;--spectrum-detail-serif-text-transform:uppercase;--spectrum-detail-color:var(--spectrum-gray-900);--spectrum-code-font-family:Source Code Pro;--spectrum-code-cjk-font-family:var(--spectrum-code-font-family);--spectrum-code-font-weight:var(--spectrum-regular-font-weight);--spectrum-code-font-style:var(--spectrum-default-font-style);--spectrum-code-cjk-font-weight:var(--spectrum-regular-font-weight);--spectrum-code-cjk-font-style:var(--spectrum-default-font-style);--spectrum-code-strong-font-weight:var(--spectrum-bold-font-weight);--spectrum-code-strong-font-style:var(--spectrum-default-font-style);--spectrum-code-cjk-strong-font-weight:var(--spectrum-black-font-weight);--spectrum-code-cjk-strong-font-style:var(--spectrum-default-font-style);--spectrum-code-emphasized-font-weight:var(--spectrum-regular-font-weight);--spectrum-code-emphasized-font-style:var(--spectrum-italic-font-style);--spectrum-code-cjk-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-code-cjk-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-code-strong-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-code-strong-emphasized-font-style:var(\n--spectrum-italic-font-style\n);--spectrum-code-cjk-strong-emphasized-font-weight:var(\n--spectrum-black-font-weight\n);--spectrum-code-cjk-strong-emphasized-font-style:var(\n--spectrum-default-font-style\n);--spectrum-code-size-xl:var(--spectrum-font-size-400);--spectrum-code-size-l:var(--spectrum-font-size-300);--spectrum-code-size-m:var(--spectrum-font-size-200);--spectrum-code-size-s:var(--spectrum-font-size-100);--spectrum-code-size-xs:var(--spectrum-font-size-75);--spectrum-code-line-height:var(--spectrum-line-height-200);--spectrum-code-cjk-line-height:var(--spectrum-cjk-line-height-200);--spectrum-code-color:var(--spectrum-gray-800)}:host,:root{--spectrum-neutral-background-color-selected-default:var(\n--spectrum-gray-700\n);--spectrum-neutral-background-color-selected-hover:var(\n--spectrum-gray-800\n);--spectrum-neutral-background-color-selected-down:var(--spectrum-gray-900);--spectrum-neutral-background-color-selected-key-focus:var(\n--spectrum-gray-800\n);--spectrum-color-handle-outer-border-color:var(--spectrum-black);--spectrum-slider-track-thickness:2px;--spectrum-slider-handle-gap:4px;--spectrum-picker-border-width:var(--spectrum-border-width-100);--spectrum-in-field-button-fill-stacked-inner-border-rounding:0px;--spectrum-in-field-button-edge-to-fill:0px;--spectrum-in-field-button-stacked-inner-edge-to-fill:0px;--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-medium:3px;--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-large:4px;--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-extra-large:5px;--spectrum-in-field-button-inner-edge-to-disclosure-icon-stacked-small:var(\n--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-small\n);--spectrum-in-field-button-inner-edge-to-disclosure-icon-stacked-medium:var(\n--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-medium\n);--spectrum-in-field-button-inner-edge-to-disclosure-icon-stacked-large:var(\n--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-large\n);--spectrum-in-field-button-inner-edge-to-disclosure-icon-stacked-extra-large:var(\n--spectrum-in-field-button-outer-edge-to-disclosure-icon-stacked-extra-large\n);--spectrum-border-width-100:1px;--spectrum-accent-color-100:var(--spectrum-blue-100);--spectrum-accent-color-200:var(--spectrum-blue-200);--spectrum-accent-color-300:var(--spectrum-blue-300);--spectrum-accent-color-400:var(--spectrum-blue-400);--spectrum-accent-color-500:var(--spectrum-blue-500);--spectrum-accent-color-600:var(--spectrum-blue-600);--spectrum-accent-color-700:var(--spectrum-blue-700);--spectrum-accent-color-800:var(--spectrum-blue-800);--spectrum-accent-color-900:var(--spectrum-blue-900);--spectrum-accent-color-1000:var(--spectrum-blue-1000);--spectrum-accent-color-1100:var(--spectrum-blue-1100);--spectrum-accent-color-1200:var(--spectrum-blue-1200);--spectrum-accent-color-1300:var(--spectrum-blue-1300);--spectrum-accent-color-1400:var(--spectrum-blue-1400);--spectrum-heading-sans-serif-font-weight:var(--spectrum-bold-font-weight);--spectrum-heading-serif-font-weight:var(--spectrum-bold-font-weight);--spectrum-heading-cjk-font-weight:var(--spectrum-extra-bold-font-weight);--spectrum-heading-sans-serif-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n);--spectrum-heading-serif-emphasized-font-weight:var(\n--spectrum-bold-font-weight\n)}:host,:root{--system-spectrum-actionbutton-background-color-default:var(\n--spectrum-gray-75\n);--system-spectrum-actionbutton-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-actionbutton-background-color-down:var(\n--spectrum-gray-300\n);--system-spectrum-actionbutton-background-color-focus:var(\n--spectrum-gray-200\n);--system-spectrum-actionbutton-border-color-default:var(\n--spectrum-gray-400\n);--system-spectrum-actionbutton-border-color-hover:var(--spectrum-gray-500);--system-spectrum-actionbutton-border-color-down:var(--spectrum-gray-600);--system-spectrum-actionbutton-border-color-focus:var(--spectrum-gray-500);--system-spectrum-actionbutton-background-color-disabled:transparent;--system-spectrum-actionbutton-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-actionbutton-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-actionbutton-quiet-background-color-default:transparent;--system-spectrum-actionbutton-quiet-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-actionbutton-quiet-background-color-down:var(\n--spectrum-gray-300\n);--system-spectrum-actionbutton-quiet-background-color-focus:var(\n--spectrum-gray-200\n);--system-spectrum-actionbutton-quiet-border-color-default:transparent;--system-spectrum-actionbutton-quiet-border-color-hover:transparent;--system-spectrum-actionbutton-quiet-border-color-down:transparent;--system-spectrum-actionbutton-quiet-border-color-focus:transparent;--system-spectrum-actionbutton-quiet-background-color-disabled:transparent;--system-spectrum-actionbutton-quiet-border-color-disabled:transparent;--system-spectrum-actionbutton-selected-border-color-default:transparent;--system-spectrum-actionbutton-selected-border-color-hover:transparent;--system-spectrum-actionbutton-selected-border-color-down:transparent;--system-spectrum-actionbutton-selected-border-color-focus:transparent;--system-spectrum-actionbutton-selected-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-actionbutton-selected-border-color-disabled:transparent;--system-spectrum-actionbutton-staticblack-quiet-border-color-default:transparent;--system-spectrum-actionbutton-staticwhite-quiet-border-color-default:transparent;--system-spectrum-actionbutton-staticblack-quiet-border-color-hover:transparent;--system-spectrum-actionbutton-staticwhite-quiet-border-color-hover:transparent;--system-spectrum-actionbutton-staticblack-quiet-border-color-down:transparent;--system-spectrum-actionbutton-staticwhite-quiet-border-color-down:transparent;--system-spectrum-actionbutton-staticblack-quiet-border-color-focus:transparent;--system-spectrum-actionbutton-staticwhite-quiet-border-color-focus:transparent;--system-spectrum-actionbutton-staticblack-quiet-border-color-disabled:transparent;--system-spectrum-actionbutton-staticwhite-quiet-border-color-disabled:transparent;--system-spectrum-actionbutton-staticblack-background-color-default:transparent;--system-spectrum-actionbutton-staticblack-background-color-hover:var(\n--spectrum-transparent-black-300\n);--system-spectrum-actionbutton-staticblack-background-color-down:var(\n--spectrum-transparent-black-400\n);--system-spectrum-actionbutton-staticblack-background-color-focus:var(\n--spectrum-transparent-black-300\n);--system-spectrum-actionbutton-staticblack-border-color-default:var(\n--spectrum-transparent-black-400\n);--system-spectrum-actionbutton-staticblack-border-color-hover:var(\n--spectrum-transparent-black-500\n);--system-spectrum-actionbutton-staticblack-border-color-down:var(\n--spectrum-transparent-black-600\n);--system-spectrum-actionbutton-staticblack-border-color-focus:var(\n--spectrum-transparent-black-500\n);--system-spectrum-actionbutton-staticblack-content-color-default:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticblack-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticblack-content-color-down:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticblack-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticblack-focus-indicator-color:var(\n--spectrum-static-black-focus-indicator-color\n);--system-spectrum-actionbutton-staticblack-background-color-disabled:transparent;--system-spectrum-actionbutton-staticblack-border-color-disabled:var(\n--spectrum-disabled-static-black-border-color\n);--system-spectrum-actionbutton-staticblack-content-color-disabled:var(\n--spectrum-disabled-static-black-content-color\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-background-color-default:var(\n--spectrum-transparent-black-800\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-background-color-hover:var(\n--spectrum-transparent-black-900\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-background-color-down:var(\n--spectrum-transparent-black-900\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-background-color-focus:var(\n--spectrum-transparent-black-900\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-content-color-default:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-content-color-down:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-background-color-disabled:var(\n--spectrum-disabled-static-black-background-color\n);--system-spectrum-actionbutton-staticblack-selected-mod-actionbutton-border-color-disabled:transparent;--system-spectrum-actionbutton-staticwhite-background-color-default:transparent;--system-spectrum-actionbutton-staticwhite-background-color-hover:var(\n--spectrum-transparent-white-300\n);--system-spectrum-actionbutton-staticwhite-background-color-down:var(\n--spectrum-transparent-white-400\n);--system-spectrum-actionbutton-staticwhite-background-color-focus:var(\n--spectrum-transparent-white-300\n);--system-spectrum-actionbutton-staticwhite-border-color-default:var(\n--spectrum-transparent-white-400\n);--system-spectrum-actionbutton-staticwhite-border-color-hover:var(\n--spectrum-transparent-white-500\n);--system-spectrum-actionbutton-staticwhite-border-color-down:var(\n--spectrum-transparent-white-600\n);--system-spectrum-actionbutton-staticwhite-border-color-focus:var(\n--spectrum-transparent-white-500\n);--system-spectrum-actionbutton-staticwhite-content-color-default:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticwhite-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticwhite-content-color-down:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticwhite-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-actionbutton-staticwhite-focus-indicator-color:var(\n--spectrum-static-white-focus-indicator-color\n);--system-spectrum-actionbutton-staticwhite-background-color-disabled:transparent;--system-spectrum-actionbutton-staticwhite-border-color-disabled:var(\n--spectrum-disabled-static-white-border-color\n);--system-spectrum-actionbutton-staticwhite-content-color-disabled:var(\n--spectrum-disabled-static-white-content-color\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-background-color-default:var(\n--spectrum-transparent-white-800\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-background-color-hover:var(\n--spectrum-transparent-white-900\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-background-color-down:var(\n--spectrum-transparent-white-900\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-background-color-focus:var(\n--spectrum-transparent-white-900\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-content-color-default:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-content-color-down:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-background-color-disabled:var(\n--spectrum-disabled-static-white-background-color\n);--system-spectrum-actionbutton-staticwhite-selected-mod-actionbutton-border-color-disabled:transparent}:host,:root{--system-spectrum-actiongroup-gap-size-compact:0;--system-spectrum-actiongroup-horizontal-spacing-compact:-1px;--system-spectrum-actiongroup-vertical-spacing-compact:-1px}:host,:root{--system-spectrum-button-background-color-default:var(--spectrum-gray-75);--system-spectrum-button-background-color-hover:var(--spectrum-gray-200);--system-spectrum-button-background-color-down:var(--spectrum-gray-300);--system-spectrum-button-background-color-focus:var(--spectrum-gray-200);--system-spectrum-button-border-color-default:var(--spectrum-gray-400);--system-spectrum-button-border-color-hover:var(--spectrum-gray-500);--system-spectrum-button-border-color-down:var(--spectrum-gray-600);--system-spectrum-button-border-color-focus:var(--spectrum-gray-500);--system-spectrum-button-content-color-default:var(\n--spectrum-neutral-content-color-default\n);--system-spectrum-button-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--system-spectrum-button-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--system-spectrum-button-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--system-spectrum-button-background-color-disabled:transparent;--system-spectrum-button-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-button-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-accent-background-color-default:var(\n--spectrum-accent-background-color-default\n);--system-spectrum-button-accent-background-color-hover:var(\n--spectrum-accent-background-color-hover\n);--system-spectrum-button-accent-background-color-down:var(\n--spectrum-accent-background-color-down\n);--system-spectrum-button-accent-background-color-focus:var(\n--spectrum-accent-background-color-key-focus\n);--system-spectrum-button-accent-border-color-default:transparent;--system-spectrum-button-accent-border-color-hover:transparent;--system-spectrum-button-accent-border-color-down:transparent;--system-spectrum-button-accent-border-color-focus:transparent;--system-spectrum-button-accent-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-accent-content-color-hover:var(--spectrum-white);--system-spectrum-button-accent-content-color-down:var(--spectrum-white);--system-spectrum-button-accent-content-color-focus:var(--spectrum-white);--system-spectrum-button-accent-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-button-accent-border-color-disabled:transparent;--system-spectrum-button-accent-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-accent-outline-background-color-default:transparent;--system-spectrum-button-accent-outline-background-color-hover:var(\n--spectrum-accent-color-200\n);--system-spectrum-button-accent-outline-background-color-down:var(\n--spectrum-accent-color-300\n);--system-spectrum-button-accent-outline-background-color-focus:var(\n--spectrum-accent-color-200\n);--system-spectrum-button-accent-outline-border-color-default:var(\n--spectrum-accent-color-900\n);--system-spectrum-button-accent-outline-border-color-hover:var(\n--spectrum-accent-color-1000\n);--system-spectrum-button-accent-outline-border-color-down:var(\n--spectrum-accent-color-1100\n);--system-spectrum-button-accent-outline-border-color-focus:var(\n--spectrum-accent-color-1000\n);--system-spectrum-button-accent-outline-content-color-default:var(\n--spectrum-accent-content-color-default\n);--system-spectrum-button-accent-outline-content-color-hover:var(\n--spectrum-accent-content-color-hover\n);--system-spectrum-button-accent-outline-content-color-down:var(\n--spectrum-accent-content-color-down\n);--system-spectrum-button-accent-outline-content-color-focus:var(\n--spectrum-accent-content-color-key-focus\n);--system-spectrum-button-accent-outline-background-color-disabled:transparent;--system-spectrum-button-accent-outline-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-button-accent-outline-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-negative-background-color-default:var(\n--spectrum-negative-background-color-default\n);--system-spectrum-button-negative-background-color-hover:var(\n--spectrum-negative-background-color-hover\n);--system-spectrum-button-negative-background-color-down:var(\n--spectrum-negative-background-color-down\n);--system-spectrum-button-negative-background-color-focus:var(\n--spectrum-negative-background-color-key-focus\n);--system-spectrum-button-negative-border-color-default:transparent;--system-spectrum-button-negative-border-color-hover:transparent;--system-spectrum-button-negative-border-color-down:transparent;--system-spectrum-button-negative-border-color-focus:transparent;--system-spectrum-button-negative-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-negative-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-negative-content-color-down:var(--spectrum-white);--system-spectrum-button-negative-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-negative-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-button-negative-border-color-disabled:transparent;--system-spectrum-button-negative-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-negative-outline-background-color-default:transparent;--system-spectrum-button-negative-outline-background-color-hover:var(\n--spectrum-negative-color-200\n);--system-spectrum-button-negative-outline-background-color-down:var(\n--spectrum-negative-color-300\n);--system-spectrum-button-negative-outline-background-color-focus:var(\n--spectrum-negative-color-200\n);--system-spectrum-button-negative-outline-border-color-default:var(\n--spectrum-negative-color-900\n);--system-spectrum-button-negative-outline-border-color-hover:var(\n--spectrum-negative-color-1000\n);--system-spectrum-button-negative-outline-border-color-down:var(\n--spectrum-negative-color-1100\n);--system-spectrum-button-negative-outline-border-color-focus:var(\n--spectrum-negative-color-1000\n);--system-spectrum-button-negative-outline-content-color-default:var(\n--spectrum-negative-content-color-default\n);--system-spectrum-button-negative-outline-content-color-hover:var(\n--spectrum-negative-content-color-hover\n);--system-spectrum-button-negative-outline-content-color-down:var(\n--spectrum-negative-content-color-down\n);--system-spectrum-button-negative-outline-content-color-focus:var(\n--spectrum-negative-content-color-key-focus\n);--system-spectrum-button-negative-outline-background-color-disabled:transparent;--system-spectrum-button-negative-outline-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-button-negative-outline-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-primary-background-color-default:var(\n--spectrum-neutral-background-color-default\n);--system-spectrum-button-primary-background-color-hover:var(\n--spectrum-neutral-background-color-hover\n);--system-spectrum-button-primary-background-color-down:var(\n--spectrum-neutral-background-color-down\n);--system-spectrum-button-primary-background-color-focus:var(\n--spectrum-neutral-background-color-key-focus\n);--system-spectrum-button-primary-border-color-default:transparent;--system-spectrum-button-primary-border-color-hover:transparent;--system-spectrum-button-primary-border-color-down:transparent;--system-spectrum-button-primary-border-color-focus:transparent;--system-spectrum-button-primary-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-primary-content-color-hover:var(--spectrum-white);--system-spectrum-button-primary-content-color-down:var(--spectrum-white);--system-spectrum-button-primary-content-color-focus:var(--spectrum-white);--system-spectrum-button-primary-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-button-primary-border-color-disabled:transparent;--system-spectrum-button-primary-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-primary-outline-background-color-default:transparent;--system-spectrum-button-primary-outline-background-color-hover:var(\n--spectrum-gray-300\n);--system-spectrum-button-primary-outline-background-color-down:var(\n--spectrum-gray-400\n);--system-spectrum-button-primary-outline-background-color-focus:var(\n--spectrum-gray-300\n);--system-spectrum-button-primary-outline-border-color-default:var(\n--spectrum-gray-800\n);--system-spectrum-button-primary-outline-border-color-hover:var(\n--spectrum-gray-900\n);--system-spectrum-button-primary-outline-border-color-down:var(\n--spectrum-gray-900\n);--system-spectrum-button-primary-outline-border-color-focus:var(\n--spectrum-gray-900\n);--system-spectrum-button-primary-outline-content-color-default:var(\n--spectrum-neutral-content-color-default\n);--system-spectrum-button-primary-outline-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--system-spectrum-button-primary-outline-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--system-spectrum-button-primary-outline-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--system-spectrum-button-primary-outline-background-color-disabled:transparent;--system-spectrum-button-primary-outline-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-button-primary-outline-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-secondary-background-color-default:var(\n--spectrum-gray-200\n);--system-spectrum-button-secondary-background-color-hover:var(\n--spectrum-gray-300\n);--system-spectrum-button-secondary-background-color-down:var(\n--spectrum-gray-400\n);--system-spectrum-button-secondary-background-color-focus:var(\n--spectrum-gray-300\n);--system-spectrum-button-secondary-border-color-default:transparent;--system-spectrum-button-secondary-border-color-hover:transparent;--system-spectrum-button-secondary-border-color-down:transparent;--system-spectrum-button-secondary-border-color-focus:transparent;--system-spectrum-button-secondary-content-color-default:var(\n--spectrum-neutral-content-color-default\n);--system-spectrum-button-secondary-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--system-spectrum-button-secondary-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--system-spectrum-button-secondary-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--system-spectrum-button-secondary-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-button-secondary-border-color-disabled:transparent;--system-spectrum-button-secondary-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-secondary-outline-background-color-default:transparent;--system-spectrum-button-secondary-outline-background-color-hover:var(\n--spectrum-gray-300\n);--system-spectrum-button-secondary-outline-background-color-down:var(\n--spectrum-gray-400\n);--system-spectrum-button-secondary-outline-background-color-focus:var(\n--spectrum-gray-300\n);--system-spectrum-button-secondary-outline-border-color-default:var(\n--spectrum-gray-300\n);--system-spectrum-button-secondary-outline-border-color-hover:var(\n--spectrum-gray-400\n);--system-spectrum-button-secondary-outline-border-color-down:var(\n--spectrum-gray-500\n);--system-spectrum-button-secondary-outline-border-color-focus:var(\n--spectrum-gray-400\n);--system-spectrum-button-secondary-outline-content-color-default:var(\n--spectrum-neutral-content-color-default\n);--system-spectrum-button-secondary-outline-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--system-spectrum-button-secondary-outline-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--system-spectrum-button-secondary-outline-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--system-spectrum-button-secondary-outline-background-color-disabled:transparent;--system-spectrum-button-secondary-outline-border-color-disabled:var(\n--spectrum-disabled-border-color\n);--system-spectrum-button-secondary-outline-content-color-disabled:var(\n--spectrum-disabled-content-color\n);--system-spectrum-button-quiet-background-color-default:transparent;--system-spectrum-button-quiet-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-button-quiet-background-color-down:var(\n--spectrum-gray-300\n);--system-spectrum-button-quiet-background-color-focus:var(\n--spectrum-gray-200\n);--system-spectrum-button-quiet-border-color-default:transparent;--system-spectrum-button-quiet-border-color-hover:transparent;--system-spectrum-button-quiet-border-color-down:transparent;--system-spectrum-button-quiet-border-color-focus:transparent;--system-spectrum-button-quiet-background-color-disabled:transparent;--system-spectrum-button-quiet-border-color-disabled:transparent;--system-spectrum-button-selected-background-color-default:var(\n--spectrum-neutral-subdued-background-color-default\n);--system-spectrum-button-selected-background-color-hover:var(\n--spectrum-neutral-subdued-background-color-hover\n);--system-spectrum-button-selected-background-color-down:var(\n--spectrum-neutral-subdued-background-color-down\n);--system-spectrum-button-selected-background-color-focus:var(\n--spectrum-neutral-subdued-background-color-key-focus\n);--system-spectrum-button-selected-border-color-default:transparent;--system-spectrum-button-selected-border-color-hover:transparent;--system-spectrum-button-selected-border-color-down:transparent;--system-spectrum-button-selected-border-color-focus:transparent;--system-spectrum-button-selected-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-selected-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-selected-content-color-down:var(--spectrum-white);--system-spectrum-button-selected-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-selected-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-button-selected-border-color-disabled:transparent;--system-spectrum-button-selected-emphasized-background-color-default:var(\n--spectrum-accent-background-color-default\n);--system-spectrum-button-selected-emphasized-background-color-hover:var(\n--spectrum-accent-background-color-hover\n);--system-spectrum-button-selected-emphasized-background-color-down:var(\n--spectrum-accent-background-color-down\n);--system-spectrum-button-selected-emphasized-background-color-focus:var(\n--spectrum-accent-background-color-key-focus\n);--system-spectrum-button-staticblack-quiet-border-color-default:transparent;--system-spectrum-button-staticwhite-quiet-border-color-default:transparent;--system-spectrum-button-staticblack-quiet-border-color-hover:transparent;--system-spectrum-button-staticwhite-quiet-border-color-hover:transparent;--system-spectrum-button-staticblack-quiet-border-color-down:transparent;--system-spectrum-button-staticwhite-quiet-border-color-down:transparent;--system-spectrum-button-staticblack-quiet-border-color-focus:transparent;--system-spectrum-button-staticwhite-quiet-border-color-focus:transparent;--system-spectrum-button-staticblack-quiet-border-color-disabled:transparent;--system-spectrum-button-staticwhite-quiet-border-color-disabled:transparent;--system-spectrum-button-staticwhite-background-color-default:var(\n--spectrum-transparent-white-800\n);--system-spectrum-button-staticwhite-background-color-hover:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-background-color-down:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-background-color-focus:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-border-color-default:transparent;--system-spectrum-button-staticwhite-border-color-hover:transparent;--system-spectrum-button-staticwhite-border-color-down:transparent;--system-spectrum-button-staticwhite-border-color-focus:transparent;--system-spectrum-button-staticwhite-content-color-default:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-content-color-down:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-focus-indicator-color:var(\n--spectrum-static-white-focus-indicator-color\n);--system-spectrum-button-staticwhite-background-color-disabled:var(\n--spectrum-disabled-static-white-background-color\n);--system-spectrum-button-staticwhite-border-color-disabled:transparent;--system-spectrum-button-staticwhite-content-color-disabled:var(\n--spectrum-disabled-static-white-content-color\n);--system-spectrum-button-staticwhite-outline-background-color-default:transparent;--system-spectrum-button-staticwhite-outline-background-color-hover:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-outline-background-color-down:var(\n--spectrum-transparent-white-400\n);--system-spectrum-button-staticwhite-outline-background-color-focus:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-outline-border-color-default:var(\n--spectrum-transparent-white-800\n);--system-spectrum-button-staticwhite-outline-border-color-hover:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-outline-border-color-down:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-outline-border-color-focus:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-outline-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-outline-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-outline-content-color-down:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-outline-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-outline-focus-indicator-color:var(\n--spectrum-static-white-focus-indicator-color\n);--system-spectrum-button-staticwhite-outline-background-color-disabled:transparent;--system-spectrum-button-staticwhite-outline-border-color-disabled:var(\n--spectrum-disabled-static-white-border-color\n);--system-spectrum-button-staticwhite-outline-content-color-disabled:var(\n--spectrum-disabled-static-white-content-color\n);--system-spectrum-button-staticwhite-selected-background-color-default:var(\n--spectrum-transparent-white-800\n);--system-spectrum-button-staticwhite-selected-background-color-hover:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-selected-background-color-down:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-selected-background-color-focus:var(\n--spectrum-transparent-white-900\n);--system-spectrum-button-staticwhite-selected-content-color-default:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-selected-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-selected-content-color-down:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-selected-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-button-staticwhite-selected-background-color-disabled:var(\n--spectrum-disabled-static-white-background-color\n);--system-spectrum-button-staticwhite-selected-border-color-disabled:transparent;--system-spectrum-button-staticwhite-secondary-background-color-default:var(\n--spectrum-transparent-white-200\n);--system-spectrum-button-staticwhite-secondary-background-color-hover:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-secondary-background-color-down:var(\n--spectrum-transparent-white-400\n);--system-spectrum-button-staticwhite-secondary-background-color-focus:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-secondary-border-color-default:transparent;--system-spectrum-button-staticwhite-secondary-border-color-hover:transparent;--system-spectrum-button-staticwhite-secondary-border-color-down:transparent;--system-spectrum-button-staticwhite-secondary-border-color-focus:transparent;--system-spectrum-button-staticwhite-secondary-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-content-color-down:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-focus-indicator-color:var(\n--spectrum-static-white-focus-indicator-color\n);--system-spectrum-button-staticwhite-secondary-background-color-disabled:var(\n--spectrum-disabled-static-white-background-color\n);--system-spectrum-button-staticwhite-secondary-border-color-disabled:transparent;--system-spectrum-button-staticwhite-secondary-content-color-disabled:var(\n--spectrum-disabled-static-white-content-color\n);--system-spectrum-button-staticwhite-secondary-outline-background-color-default:transparent;--system-spectrum-button-staticwhite-secondary-outline-background-color-hover:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-secondary-outline-background-color-down:var(\n--spectrum-transparent-white-400\n);--system-spectrum-button-staticwhite-secondary-outline-background-color-focus:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-secondary-outline-border-color-default:var(\n--spectrum-transparent-white-300\n);--system-spectrum-button-staticwhite-secondary-outline-border-color-hover:var(\n--spectrum-transparent-white-400\n);--system-spectrum-button-staticwhite-secondary-outline-border-color-down:var(\n--spectrum-transparent-white-500\n);--system-spectrum-button-staticwhite-secondary-outline-border-color-focus:var(\n--spectrum-transparent-white-400\n);--system-spectrum-button-staticwhite-secondary-outline-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-outline-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-outline-content-color-down:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-outline-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-staticwhite-secondary-outline-focus-indicator-color:var(\n--spectrum-static-white-focus-indicator-color\n);--system-spectrum-button-staticwhite-secondary-outline-background-color-disabled:transparent;--system-spectrum-button-staticwhite-secondary-outline-border-color-disabled:var(\n--spectrum-disabled-static-white-border-color\n);--system-spectrum-button-staticwhite-secondary-outline-content-color-disabled:var(\n--spectrum-disabled-static-white-content-color\n);--system-spectrum-button-staticblack-background-color-default:var(\n--spectrum-transparent-black-800\n);--system-spectrum-button-staticblack-background-color-hover:var(\n--spectrum-transparent-black-900\n);--system-spectrum-button-staticblack-background-color-down:var(\n--spectrum-transparent-black-900\n);--system-spectrum-button-staticblack-background-color-focus:var(\n--spectrum-transparent-black-900\n);--system-spectrum-button-staticblack-border-color-default:transparent;--system-spectrum-button-staticblack-border-color-hover:transparent;--system-spectrum-button-staticblack-border-color-down:transparent;--system-spectrum-button-staticblack-border-color-focus:transparent;--system-spectrum-button-staticblack-content-color-default:var(\n--spectrum-white\n);--system-spectrum-button-staticblack-content-color-hover:var(\n--spectrum-white\n);--system-spectrum-button-staticblack-content-color-down:var(\n--spectrum-white\n);--system-spectrum-button-staticblack-content-color-focus:var(\n--spectrum-white\n);--system-spectrum-button-staticblack-focus-indicator-color:var(\n--spectrum-static-black-focus-indicator-color\n);--system-spectrum-button-staticblack-background-color-disabled:var(\n--spectrum-disabled-static-black-background-color\n);--system-spectrum-button-staticblack-border-color-disabled:transparent;--system-spectrum-button-staticblack-content-color-disabled:var(\n--spectrum-disabled-static-black-content-color\n);--system-spectrum-button-staticblack-outline-background-color-default:transparent;--system-spectrum-button-staticblack-outline-background-color-hover:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-outline-background-color-down:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-outline-background-color-focus:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-outline-border-color-default:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-outline-border-color-hover:var(\n--spectrum-transparent-black-500\n);--system-spectrum-button-staticblack-outline-border-color-down:var(\n--spectrum-transparent-black-600\n);--system-spectrum-button-staticblack-outline-border-color-focus:var(\n--spectrum-transparent-black-500\n);--system-spectrum-button-staticblack-outline-content-color-default:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-outline-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-outline-content-color-down:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-outline-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-outline-focus-indicator-color:var(\n--spectrum-static-black-focus-indicator-color\n);--system-spectrum-button-staticblack-outline-background-color-disabled:transparent;--system-spectrum-button-staticblack-outline-border-color-disabled:var(\n--spectrum-disabled-static-black-border-color\n);--system-spectrum-button-staticblack-outline-content-color-disabled:var(\n--spectrum-disabled-static-black-content-color\n);--system-spectrum-button-staticblack-secondary-background-color-default:var(\n--spectrum-transparent-black-200\n);--system-spectrum-button-staticblack-secondary-background-color-hover:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-secondary-background-color-down:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-secondary-background-color-focus:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-secondary-border-color-default:transparent;--system-spectrum-button-staticblack-secondary-border-color-hover:transparent;--system-spectrum-button-staticblack-secondary-border-color-down:transparent;--system-spectrum-button-staticblack-secondary-border-color-focus:transparent;--system-spectrum-button-staticblack-secondary-content-color-default:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-content-color-down:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-focus-indicator-color:var(\n--spectrum-static-black-focus-indicator-color\n);--system-spectrum-button-staticblack-secondary-background-color-disabled:var(\n--spectrum-disabled-static-black-background-color\n);--system-spectrum-button-staticblack-secondary-border-color-disabled:transparent;--system-spectrum-button-staticblack-secondary-content-color-disabled:var(\n--spectrum-disabled-static-black-content-color\n);--system-spectrum-button-staticblack-secondary-outline-background-color-default:transparent;--system-spectrum-button-staticblack-secondary-outline-background-color-hover:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-secondary-outline-background-color-down:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-secondary-outline-background-color-focus:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-secondary-outline-border-color-default:var(\n--spectrum-transparent-black-300\n);--system-spectrum-button-staticblack-secondary-outline-border-color-hover:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-secondary-outline-border-color-down:var(\n--spectrum-transparent-black-500\n);--system-spectrum-button-staticblack-secondary-outline-border-color-focus:var(\n--spectrum-transparent-black-400\n);--system-spectrum-button-staticblack-secondary-outline-content-color-default:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-outline-content-color-hover:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-outline-content-color-down:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-outline-content-color-focus:var(\n--spectrum-black\n);--system-spectrum-button-staticblack-secondary-outline-focus-indicator-color:var(\n--spectrum-static-black-focus-indicator-color\n);--system-spectrum-button-staticblack-secondary-outline-background-color-disabled:transparent;--system-spectrum-button-staticblack-secondary-outline-border-color-disabled:var(\n--spectrum-disabled-static-black-border-color\n);--system-spectrum-button-staticblack-secondary-outline-content-color-disabled:var(\n--spectrum-disabled-static-black-content-color\n)}:host,:root{--system-spectrum-checkbox-control-color-default:var(--spectrum-gray-600);--system-spectrum-checkbox-control-color-hover:var(--spectrum-gray-700);--system-spectrum-checkbox-control-color-down:var(--spectrum-gray-800);--system-spectrum-checkbox-control-color-focus:var(--spectrum-gray-700);--system-spectrum-checkbox-control-selected-color-default:var(\n--spectrum-gray-700\n);--system-spectrum-checkbox-control-selected-color-hover:var(\n--spectrum-gray-800\n);--system-spectrum-checkbox-control-selected-color-down:var(\n--spectrum-gray-900\n)}:host,:root{--system-spectrum-closebutton-background-color-default:transparent;--system-spectrum-closebutton-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-closebutton-background-color-down:var(\n--spectrum-gray-300\n);--system-spectrum-closebutton-background-color-focus:var(\n--spectrum-gray-200\n)}:host,:root{--system-spectrum-radio-button-border-color-default:var(\n--spectrum-gray-600\n);--system-spectrum-radio-button-border-color-hover:var(--spectrum-gray-700);--system-spectrum-radio-button-border-color-down:var(--spectrum-gray-800);--system-spectrum-radio-button-border-color-focus:var(--spectrum-gray-700);--system-spectrum-radio-emphasized-button-checked-border-color-default:var(\n--spectrum-accent-color-900\n);--system-spectrum-radio-emphasized-button-checked-border-color-hover:var(\n--spectrum-accent-color-1000\n);--system-spectrum-radio-emphasized-button-checked-border-color-down:var(\n--spectrum-accent-color-1100\n);--system-spectrum-radio-emphasized-button-checked-border-color-focus:var(\n--spectrum-accent-color-1000\n)}:host,:root{--system-spectrum-switch-handle-border-color-default:var(\n--spectrum-gray-600\n);--system-spectrum-switch-handle-border-color-hover:var(\n--spectrum-gray-700\n);--system-spectrum-switch-handle-border-color-down:var(--spectrum-gray-800);--system-spectrum-switch-handle-border-color-focus:var(\n--spectrum-gray-700\n);--system-spectrum-switch-handle-border-color-selected-default:var(\n--spectrum-gray-700\n);--system-spectrum-switch-handle-border-color-selected-hover:var(\n--spectrum-gray-800\n);--system-spectrum-switch-handle-border-color-selected-down:var(\n--spectrum-gray-900\n);--system-spectrum-switch-handle-border-color-selected-focus:var(\n--spectrum-gray-800\n)}:host,:root{--system-spectrum-tag-border-color:var(--spectrum-gray-700);--system-spectrum-tag-border-color-hover:var(--spectrum-gray-800);--system-spectrum-tag-border-color-active:var(--spectrum-gray-900);--system-spectrum-tag-border-color-focus:var(--spectrum-gray-800);--system-spectrum-tag-size-small-corner-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-tag-size-medium-corner-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-tag-size-large-corner-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-tag-background-color:var(--spectrum-gray-75);--system-spectrum-tag-background-color-hover:var(--spectrum-gray-75);--system-spectrum-tag-background-color-active:var(--spectrum-gray-200);--system-spectrum-tag-background-color-focus:var(--spectrum-gray-75);--system-spectrum-tag-content-color:var(\n--spectrum-neutral-subdued-content-color-default\n);--system-spectrum-tag-content-color-hover:var(\n--spectrum-neutral-subdued-content-color-hover\n);--system-spectrum-tag-content-color-active:var(\n--spectrum-neutral-subdued-content-color-down\n);--system-spectrum-tag-content-color-focus:var(\n--spectrum-neutral-subdued-content-color-key-focus\n);--system-spectrum-tag-border-color-selected:var(\n--spectrum-neutral-subdued-background-color-default\n);--system-spectrum-tag-border-color-selected-hover:var(\n--spectrum-neutral-subdued-background-color-hover\n);--system-spectrum-tag-border-color-selected-active:var(\n--spectrum-neutral-subdued-background-color-down\n);--system-spectrum-tag-border-color-selected-focus:var(\n--spectrum-neutral-subdued-background-color-key-focus\n);--system-spectrum-tag-background-color-selected:var(\n--spectrum-neutral-subdued-background-color-default\n);--system-spectrum-tag-background-color-selected-hover:var(\n--spectrum-neutral-subdued-background-color-hover\n);--system-spectrum-tag-background-color-selected-active:var(\n--spectrum-neutral-subdued-background-color-down\n);--system-spectrum-tag-background-color-selected-focus:var(\n--spectrum-neutral-subdued-background-color-key-focus\n);--system-spectrum-tag-border-color-disabled:transparent;--system-spectrum-tag-background-color-disabled:var(\n--spectrum-disabled-background-color\n);--system-spectrum-tag-size-small-spacing-inline-start:var(\n--spectrum-component-edge-to-visual-75\n);--system-spectrum-tag-size-small-label-spacing-inline-end:var(\n--spectrum-component-edge-to-text-75\n);--system-spectrum-tag-size-small-clear-button-spacing-inline-end:var(\n--spectrum-component-edge-to-visual-75\n);--system-spectrum-tag-size-medium-spacing-inline-start:var(\n--spectrum-component-edge-to-visual-100\n);--system-spectrum-tag-size-medium-label-spacing-inline-end:var(\n--spectrum-component-edge-to-text-100\n);--system-spectrum-tag-size-medium-clear-button-spacing-inline-end:var(\n--spectrum-component-edge-to-visual-100\n);--system-spectrum-tag-size-large-spacing-inline-start:var(\n--spectrum-component-edge-to-visual-200\n);--system-spectrum-tag-size-large-label-spacing-inline-end:var(\n--spectrum-component-edge-to-text-200\n);--system-spectrum-tag-size-large-clear-button-spacing-inline-end:var(\n--spectrum-component-edge-to-visual-200\n)}:host,:root{--system-spectrum-toast-background-color-default:var(\n--spectrum-neutral-subdued-background-color-default\n)}:host,:root{--system-spectrum-tooltip-backgound-color-default-neutral:var(\n--spectrum-neutral-subdued-background-color-default\n)}:host,:root{--system-spectrum-picker-background-color-default:var(--spectrum-gray-75);--system-spectrum-picker-background-color-default-open:var(\n--spectrum-gray-200\n);--system-spectrum-picker-background-color-active:var(--spectrum-gray-300);--system-spectrum-picker-background-color-hover:var(--spectrum-gray-200);--system-spectrum-picker-background-color-hover-open:var(\n--spectrum-gray-200\n);--system-spectrum-picker-background-color-key-focus:var(\n--spectrum-gray-200\n);--system-spectrum-picker-border-color-default:var(--spectrum-gray-500);--system-spectrum-picker-border-color-default-open:var(\n--spectrum-gray-500\n);--system-spectrum-picker-border-color-hover:var(--spectrum-gray-600);--system-spectrum-picker-border-color-hover-open:var(--spectrum-gray-600);--system-spectrum-picker-border-color-active:var(--spectrum-gray-700);--system-spectrum-picker-border-color-key-focus:var(--spectrum-gray-600)}:host,:root{--system-spectrum-slider-track-color:var(--spectrum-gray-300);--system-spectrum-slider-track-fill-color:var(--spectrum-gray-700);--system-spectrum-slider-ramp-track-color:var(--spectrum-gray-400);--system-spectrum-slider-ramp-track-color-disabled:var(\n--spectrum-gray-200\n);--system-spectrum-slider-handle-background-color:transparent;--system-spectrum-slider-handle-background-color-disabled:transparent;--system-spectrum-slider-ramp-handle-background-color:var(\n--spectrum-gray-100\n);--system-spectrum-slider-ticks-handle-background-color:var(\n--spectrum-gray-100\n);--system-spectrum-slider-handle-border-color:var(--spectrum-gray-700);--system-spectrum-slider-handle-disabled-background-color:var(\n--spectrum-gray-100\n);--system-spectrum-slider-tick-mark-color:var(--spectrum-gray-300);--system-spectrum-slider-handle-border-color-hover:var(\n--spectrum-gray-800\n);--system-spectrum-slider-handle-border-color-down:var(--spectrum-gray-800);--system-spectrum-slider-handle-border-color-key-focus:var(\n--spectrum-gray-800\n);--system-spectrum-slider-handle-focus-ring-color-key-focus:var(\n--spectrum-focus-indicator-color\n)}:host,:root{--system-spectrum-popover-border-width:var(--spectrum-border-width-100)}:host,:root{--system-spectrum-stepper-border-width:var(--spectrum-border-width-100);--system-spectrum-stepper-button-border-width-reset:var(\n--spectrum-border-width-100\n);--system-spectrum-stepper-button-icon-nudge:calc(var(--spectrum-corner-radius-100)*-1/2);--system-spectrum-stepper-button-gap-reset:0px;--system-spectrum-stepper-button-border-radius-reset:0px;--system-spectrum-stepper-border-color:var(--spectrum-gray-500);--system-spectrum-stepper-border-color-hover:var(--spectrum-gray-600);--system-spectrum-stepper-border-color-focus:var(--spectrum-gray-800);--system-spectrum-stepper-border-color-focus-hover:var(\n--spectrum-gray-900\n);--system-spectrum-stepper-border-color-keyboard-focus:var(\n--spectrum-gray-900\n);--system-spectrum-stepper-button-background-color-default:var(\n--spectrum-gray-75\n);--system-spectrum-stepper-button-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-stepper-button-background-color-focus:var(\n--spectrum-gray-300\n);--system-spectrum-stepper-button-background-color-keyboard-focus:var(\n--spectrum-gray-200\n)}:host,:root{--system-spectrum-textfield-border-color:var(--spectrum-gray-500);--system-spectrum-textfield-border-color-hover:var(--spectrum-gray-600);--system-spectrum-textfield-border-color-focus:var(--spectrum-gray-800);--system-spectrum-textfield-border-color-focus-hover:var(\n--spectrum-gray-900\n);--system-spectrum-textfield-border-color-keyboard-focus:var(\n--spectrum-gray-900\n);--system-spectrum-textfield-border-width:var(--spectrum-border-width-100)}:host,:root{--system-spectrum-search-border-radius:var(--spectrum-corner-radius-100);--system-spectrum-search-edge-to-visual:var(\n--spectrum-component-edge-to-visual-100\n);--system-spectrum-search-border-color-default:var(--spectrum-gray-500);--system-spectrum-search-border-color-hover:var(--spectrum-gray-600);--system-spectrum-search-border-color-focus:var(--spectrum-gray-800);--system-spectrum-search-border-color-focus-hover:var(--spectrum-gray-900);--system-spectrum-search-border-color-key-focus:var(--spectrum-gray-900);--system-spectrum-search-sizes-border-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-search-sizes-edge-to-visual:var(\n--spectrum-component-edge-to-visual-75\n);--system-spectrum-search-sizem-border-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-search-sizem-edge-to-visual:var(\n--spectrum-component-edge-to-visual-100\n);--system-spectrum-search-sizel-border-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-search-sizel-edge-to-visual:var(\n--spectrum-component-edge-to-visual-200\n);--system-spectrum-search-sizexl-border-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-search-sizexl-edge-to-visual:var(\n--spectrum-component-edge-to-visual-300\n)}:host,:root{--system-spectrum-tabs-font-weight:var(--spectrum-default-font-weight)}:host,:root{--system-spectrum-pickerbutton-spectrum-picker-button-background-color:var(\n--spectrum-gray-75\n);--system-spectrum-pickerbutton-spectrum-picker-button-background-color-hover:var(\n--spectrum-gray-200\n);--system-spectrum-pickerbutton-spectrum-picker-button-background-color-down:var(\n--spectrum-gray-300\n);--system-spectrum-pickerbutton-spectrum-picker-button-background-color-key-focus:var(\n--spectrum-gray-200\n);--system-spectrum-pickerbutton-spectrum-picker-button-border-color:inherit;--system-spectrum-pickerbutton-spectrum-picker-button-border-radius:var(\n--spectrum-corner-radius-100\n);--system-spectrum-pickerbutton-spectrum-picker-button-border-radius-rounded-sided:0;--system-spectrum-pickerbutton-spectrum-picker-button-border-radius-sided:0;--system-spectrum-pickerbutton-spectrum-picker-button-border-width:var(\n--spectrum-border-width-100\n)}:host,:root{--system:spectrum;--spectrum-animation-linear:cubic-bezier(0,0,1,1);--spectrum-animation-duration-0:0ms;--spectrum-animation-duration-100:130ms;--spectrum-animation-duration-200:160ms;--spectrum-animation-duration-300:190ms;--spectrum-animation-duration-400:220ms;--spectrum-animation-duration-500:250ms;--spectrum-animation-duration-600:300ms;--spectrum-animation-duration-700:350ms;--spectrum-animation-duration-800:400ms;--spectrum-animation-duration-900:450ms;--spectrum-animation-duration-1000:500ms;--spectrum-animation-duration-2000:1000ms;--spectrum-animation-duration-4000:2000ms;--spectrum-animation-ease-in-out:cubic-bezier(0.45,0,0.4,1);--spectrum-animation-ease-in:cubic-bezier(0.5,0,1,1);--spectrum-animation-ease-out:cubic-bezier(0,0,0.4,1);--spectrum-animation-ease-linear:cubic-bezier(0,0,1,1);--spectrum-sans-font-family-stack:adobe-clean,var(--spectrum-sans-serif-font-family),"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-sans-serif-font:var(--spectrum-sans-font-family-stack);--spectrum-serif-font-family-stack:adobe-clean-serif,var(--spectrum-serif-font-family),"Source Serif Pro",Georgia,serif;--spectrum-serif-font:var(--spectrum-serif-font-family-stack);--spectrum-code-font-family-stack:"Source Code Pro",Monaco,monospace;--spectrum-cjk-font-family-stack:adobe-clean-han-japanese,var(--spectrum-cjk-font-family),sans-serif;--spectrum-cjk-font:var(--spectrum-code-font-family-stack);--spectrum-docs-static-white-background-color-rgb:15,121,125;--spectrum-docs-static-white-background-color:rgba(var(--spectrum-docs-static-white-background-color-rgb));--spectrum-docs-static-black-background-color-rgb:206,247,243;--spectrum-docs-static-black-background-color:rgba(var(--spectrum-docs-static-black-background-color-rgb))}\n\n/*!\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/:host,:root{--spectrum-font-family-ar:myriad-arabic,adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-font-family-he:myriad-hebrew,adobe-clean,"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Trebuchet MS","Lucida Grande",sans-serif;--spectrum-font-family:var(--spectrum-sans-font-family-stack);--spectrum-font-style:var(--spectrum-default-font-style);--spectrum-font-size:var(--spectrum-font-size-100);font-family:var(--spectrum-font-family);font-size:var(--spectrum-font-size);font-style:var(--spectrum-font-style)}.spectrum:lang(ar){font-family:var(--spectrum-font-family-ar)}.spectrum:lang(he){font-family:var(--spectrum-font-family-he)}.spectrum-Heading{--spectrum-heading-sans-serif-font-family:var(\n--spectrum-sans-font-family-stack\n);--spectrum-heading-serif-font-family:var(\n--spectrum-serif-font-family-stack\n);--spectrum-heading-cjk-font-family:var(--spectrum-cjk-font-family-stack);--spectrum-heading-cjk-letter-spacing:var(--spectrum-cjk-letter-spacing);--spectrum-heading-font-color:var(--spectrum-heading-color);--spectrum-heading-margin-start:calc(var(--mod-heading-font-size, var(--spectrum-heading-font-size))*var(--spectrum-heading-margin-top-multiplier));--spectrum-heading-margin-end:calc(var(--mod-heading-font-size, var(--spectrum-heading-font-size))*var(--spectrum-heading-margin-bottom-multiplier))}@media (forced-colors:active){.spectrum-Heading{--highcontrast-heading-font-color:Text}}.spectrum-Heading--sizeXXS{--spectrum-heading-font-size:var(--spectrum-heading-size-xxs);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-xxs)}.spectrum-Heading--sizeXS{--spectrum-heading-font-size:var(--spectrum-heading-size-xs);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-xs)}.spectrum-Heading--sizeS{--spectrum-heading-font-size:var(--spectrum-heading-size-s);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-s)}.spectrum-Heading--sizeM{--spectrum-heading-font-size:var(--spectrum-heading-size-m);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-m)}.spectrum-Heading--sizeL{--spectrum-heading-font-size:var(--spectrum-heading-size-l);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-l)}.spectrum-Heading--sizeXL{--spectrum-heading-font-size:var(--spectrum-heading-size-xl);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-xl)}.spectrum-Heading--sizeXXL{--spectrum-heading-font-size:var(--spectrum-heading-size-xxl);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-xxl)}.spectrum-Heading--sizeXXXL{--spectrum-heading-font-size:var(--spectrum-heading-size-xxxl);--spectrum-heading-cjk-font-size:var(--spectrum-heading-cjk-size-xxxl)}.spectrum-Heading{color:var(\n--highcontrast-heading-font-color,var(--mod-heading-font-color,var(--spectrum-heading-font-color))\n);font-family:var(\n--mod-heading-sans-serif-font-family,var(--spectrum-heading-sans-serif-font-family)\n);font-size:var(--mod-heading-font-size,var(--spectrum-heading-font-size));font-style:var(\n--mod-heading-sans-serif-font-style,var(--spectrum-heading-sans-serif-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-font-weight,var(--spectrum-heading-sans-serif-font-weight)\n);line-height:var(\n--mod-heading-line-height,var(--spectrum-heading-line-height)\n);margin-block-end:0;margin-block-start:0}.spectrum-Heading .spectrum-Heading-strong,.spectrum-Heading strong{font-style:var(\n--mod-heading-sans-serif-strong-font-style,var(--spectrum-heading-sans-serif-strong-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-strong-font-weight,var(--spectrum-heading-sans-serif-strong-font-weight)\n)}.spectrum-Heading .spectrum-Heading-emphasized,.spectrum-Heading em{font-style:var(\n--mod-heading-sans-serif-emphasized-font-style,var(--spectrum-heading-sans-serif-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-emphasized-font-weight,var(--spectrum-heading-sans-serif-emphasized-font-weight)\n)}.spectrum-Heading .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading em strong,.spectrum-Heading strong em{font-style:var(\n--mod-heading-sans-serif-strong-emphasized-font-style,var(--spectrum-heading-sans-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-strong-emphasized-font-weight,var(--spectrum-heading-sans-serif-strong-emphasized-font-weight)\n)}.spectrum-Heading:lang(ja),.spectrum-Heading:lang(ko),.spectrum-Heading:lang(zh){font-family:var(\n--mod-heading-cjk-font-family,var(--spectrum-heading-cjk-font-family)\n);font-size:var(\n--mod-heading-cjk-font-size,var(--spectrum-heading-cjk-font-size)\n);font-style:var(\n--mod-heading-cjk-font-style,var(--spectrum-heading-cjk-font-style)\n);font-weight:var(\n--mod-heading-cjk-font-weight,var(--spectrum-heading-cjk-font-weight)\n);letter-spacing:var(\n--mod-heading-cjk-letter-spacing,var(--spectrum-heading-cjk-letter-spacing)\n);line-height:var(\n--mod-heading-cjk-line-height,var(--spectrum-heading-cjk-line-height)\n)}.spectrum-Heading:lang(ja) .spectrum-Heading-emphasized,.spectrum-Heading:lang(ja) em,.spectrum-Heading:lang(ko) .spectrum-Heading-emphasized,.spectrum-Heading:lang(ko) em,.spectrum-Heading:lang(zh) .spectrum-Heading-emphasized,.spectrum-Heading:lang(zh) em{font-style:var(\n--mod-heading-cjk-emphasized-font-style,var(--spectrum-heading-cjk-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-emphasized-font-weight,var(--spectrum-heading-cjk-emphasized-font-weight)\n)}.spectrum-Heading:lang(ja) .spectrum-Heading-strong,.spectrum-Heading:lang(ja) strong,.spectrum-Heading:lang(ko) .spectrum-Heading-strong,.spectrum-Heading:lang(ko) strong,.spectrum-Heading:lang(zh) .spectrum-Heading-strong,.spectrum-Heading:lang(zh) strong{font-style:var(\n--mod-heading-cjk-strong-font-style,var(--spectrum-heading-cjk-strong-font-style)\n);font-weight:var(\n--mod-heading-cjk-strong-font-weight,var(--spectrum-heading-cjk-strong-font-weight)\n)}.spectrum-Heading:lang(ja) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading:lang(ja) em strong,.spectrum-Heading:lang(ja) strong em,.spectrum-Heading:lang(ko) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading:lang(ko) em strong,.spectrum-Heading:lang(ko) strong em,.spectrum-Heading:lang(zh) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading:lang(zh) em strong,.spectrum-Heading:lang(zh) strong em{font-style:var(\n--mod-heading-cjk-strong-emphasized-font-style,var(--spectrum-heading-cjk-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-strong-emphasized-font-weight,var(--spectrum-heading-cjk-strong-emphasized-font-weight)\n)}.spectrum-Heading--heavy{font-style:var(\n--mod-heading-sans-serif-heavy-font-style,var(--spectrum-heading-sans-serif-heavy-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-heavy-font-weight,var(--spectrum-heading-sans-serif-heavy-font-weight)\n)}.spectrum-Heading--heavy .spectrum-Heading-strong,.spectrum-Heading--heavy strong{font-style:var(\n--mod-heading-sans-serif-heavy-strong-font-style,var(--spectrum-heading-sans-serif-heavy-strong-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-heavy-strong-font-weight,var(--spectrum-heading-sans-serif-heavy-strong-font-weight)\n)}.spectrum-Heading--heavy .spectrum-Heading-emphasized,.spectrum-Heading--heavy em{font-style:var(\n--mod-heading-sans-serif-heavy-emphasized-font-style,var(--spectrum-heading-sans-serif-heavy-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-heavy-emphasized-font-weight,var(--spectrum-heading-sans-serif-heavy-emphasized-font-weight)\n)}.spectrum-Heading--heavy .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--heavy em strong,.spectrum-Heading--heavy strong em{font-style:var(\n--mod-heading-sans-serif-heavy-strong-emphasized-font-style,var(--spectrum-heading-sans-serif-heavy-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-heavy-strong-emphasized-font-weight,var(--spectrum-heading-sans-serif-heavy-strong-emphasized-font-weight)\n)}.spectrum-Heading--heavy:lang(ja),.spectrum-Heading--heavy:lang(ko),.spectrum-Heading--heavy:lang(zh){font-style:var(\n--mod-heading-cjk-heavy-font-style,var(--spectrum-heading-cjk-heavy-font-style)\n);font-weight:var(\n--mod-heading-cjk-heavy-font-weight,var(--spectrum-heading-cjk-heavy-font-weight)\n)}.spectrum-Heading--heavy:lang(ja) .spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(ja) em,.spectrum-Heading--heavy:lang(ko) .spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(ko) em,.spectrum-Heading--heavy:lang(zh) .spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(zh) em{font-style:var(\n--mod-heading-cjk-heavy-emphasized-font-style,var(--spectrum-heading-cjk-heavy-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-heavy-emphasized-font-weight,var(--spectrum-heading-cjk-heavy-emphasized-font-weight)\n)}.spectrum-Heading--heavy:lang(ja) .spectrum-Heading-strong,.spectrum-Heading--heavy:lang(ja) strong,.spectrum-Heading--heavy:lang(ko) .spectrum-Heading-strong,.spectrum-Heading--heavy:lang(ko) strong,.spectrum-Heading--heavy:lang(zh) .spectrum-Heading-strong,.spectrum-Heading--heavy:lang(zh) strong{font-style:var(\n--mod-heading-cjk-heavy-strong-font-style,var(--spectrum-heading-cjk-heavy-strong-font-style)\n);font-weight:var(\n--mod-heading-cjk-heavy-strong-font-weight,var(--spectrum-heading-cjk-heavy-strong-font-weight)\n)}.spectrum-Heading--heavy:lang(ja) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(ja) em strong,.spectrum-Heading--heavy:lang(ja) strong em,.spectrum-Heading--heavy:lang(ko) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(ko) em strong,.spectrum-Heading--heavy:lang(ko) strong em,.spectrum-Heading--heavy:lang(zh) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--heavy:lang(zh) em strong,.spectrum-Heading--heavy:lang(zh) strong em{font-style:var(\n--mod-heading-cjk-heavy-strong-emphasized-font-style,var(--spectrum-heading-cjk-heavy-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-heavy-strong-emphasized-font-weight,var(--spectrum-heading-cjk-heavy-strong-emphasized-font-weight)\n)}.spectrum-Heading--light{font-style:var(\n--mod-heading-sans-serif-light-font-style,var(--spectrum-heading-sans-serif-light-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-light-font-weight,var(--spectrum-heading-sans-serif-light-font-weight)\n)}.spectrum-Heading--light .spectrum-Heading-emphasized,.spectrum-Heading--light em{font-style:var(\n--mod-heading-sans-serif-light-emphasized-font-style,var(--spectrum-heading-sans-serif-light-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-light-emphasized-font-weight,var(--spectrum-heading-sans-serif-light-emphasized-font-weight)\n)}.spectrum-Heading--light .spectrum-Heading-strong,.spectrum-Heading--light strong{font-style:var(\n--mod-heading-sans-serif-light-strong-font-style,var(--spectrum-heading-sans-serif-light-strong-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-light-strong-font-weight,var(--spectrum-heading-sans-serif-light-strong-font-weight)\n)}.spectrum-Heading--light .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--light em strong,.spectrum-Heading--light strong em{font-style:var(\n--mod-heading-sans-serif-light-strong-emphasized-font-style,var(--spectrum-heading-sans-serif-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-sans-serif-light-strong-emphasized-font-weight,var(--spectrum-heading-sans-serif-light-strong-emphasized-font-weight)\n)}.spectrum-Heading--light:lang(ja),.spectrum-Heading--light:lang(ko),.spectrum-Heading--light:lang(zh){font-style:var(\n--mod-heading-cjk-light-font-style,var(--spectrum-heading-cjk-light-font-style)\n);font-weight:var(\n--mod-heading-cjk-light-font-weight,var(--spectrum-heading-cjk-light-font-weight)\n)}.spectrum-Heading--light:lang(ja) .spectrum-Heading-strong,.spectrum-Heading--light:lang(ja) strong,.spectrum-Heading--light:lang(ko) .spectrum-Heading-strong,.spectrum-Heading--light:lang(ko) strong,.spectrum-Heading--light:lang(zh) .spectrum-Heading-strong,.spectrum-Heading--light:lang(zh) strong{font-style:var(\n--mod-heading-cjk-light-strong-font-style,var(--spectrum-heading-cjk-light-strong-font-style)\n);font-weight:var(\n--mod-heading-cjk-light-strong-font-weight,var(--spectrum-heading-cjk-light-strong-font-weight)\n)}.spectrum-Heading--light:lang(ja) .spectrum-Heading-emphasized,.spectrum-Heading--light:lang(ja) em,.spectrum-Heading--light:lang(ko) .spectrum-Heading-emphasized,.spectrum-Heading--light:lang(ko) em,.spectrum-Heading--light:lang(zh) .spectrum-Heading-emphasized,.spectrum-Heading--light:lang(zh) em{font-style:var(\n--mod-heading-cjk-light-emphasized-font-style,var(--spectrum-heading-cjk-light-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-light-emphasized-font-weight,var(--spectrum-heading-cjk-light-emphasized-font-weight)\n)}.spectrum-Heading--light:lang(ja) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--light:lang(ja) em strong,.spectrum-Heading--light:lang(ja) strong em,.spectrum-Heading--light:lang(ko) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--light:lang(ko) em strong,.spectrum-Heading--light:lang(ko) strong em,.spectrum-Heading--light:lang(zh) .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--light:lang(zh) em strong,.spectrum-Heading--light:lang(zh) strong em{font-style:var(\n--mod-heading-cjk-light-strong-emphasized-font-style,var(--spectrum-heading-cjk-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-cjk-light-strong-emphasized-font-weight,var(--spectrum-heading-cjk-light-strong-emphasized-font-weight)\n)}.spectrum-Heading--serif{font-family:var(\n--mod-heading-serif-font-family,var(--spectrum-heading-serif-font-family)\n);font-style:var(\n--mod-heading-serif-font-style,var(--spectrum-heading-serif-font-style)\n);font-weight:var(\n--mod-heading-serif-font-weight,var(--spectrum-heading-serif-font-weight)\n)}.spectrum-Heading--serif .spectrum-Heading-emphasized,.spectrum-Heading--serif em{font-style:var(\n--mod-heading-serif-emphasized-font-style,var(--spectrum-heading-serif-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-emphasized-font-weight,var(--spectrum-heading-serif-emphasized-font-weight)\n)}.spectrum-Heading--serif .spectrum-Heading-strong,.spectrum-Heading--serif strong{font-style:var(\n--mod-heading-serif-strong-font-style,var(--spectrum-heading-serif-strong-font-style)\n);font-weight:var(\n--mod-heading-serif-strong-font-weight,var(--spectrum-heading-serif-strong-font-weight)\n)}.spectrum-Heading--serif .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--serif em strong,.spectrum-Heading--serif strong em{font-style:var(\n--mod-heading-serif-strong-emphasized-font-style,var(--spectrum-heading-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-strong-emphasized-font-weight,var(--spectrum-heading-serif-strong-emphasized-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--heavy{font-style:var(\n--mod-heading-serif-heavy-font-style,var(--spectrum-heading-serif-heavy-font-style)\n);font-weight:var(\n--mod-heading-serif-heavy-font-weight,var(--spectrum-heading-serif-heavy-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--heavy .spectrum-Heading-strong,.spectrum-Heading--serif.spectrum-Heading--heavy strong{font-style:var(\n--mod-heading-serif-heavy-strong-font-style,var(--spectrum-heading-serif-heavy-strong-font-style)\n);font-weight:var(\n--mod-heading-serif-heavy-strong-font-weight,var(--spectrum-heading-serif-heavy-strong-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--heavy .spectrum-Heading-emphasized,.spectrum-Heading--serif.spectrum-Heading--heavy em{font-style:var(\n--mod-heading-serif-heavy-emphasized-font-style,var(--spectrum-heading-serif-heavy-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-heavy-emphasized-font-weight,var(--spectrum-heading-serif-heavy-emphasized-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--heavy .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--serif.spectrum-Heading--heavy em strong,.spectrum-Heading--serif.spectrum-Heading--heavy strong em{font-style:var(\n--mod-heading-serif-heavy-strong-emphasized-font-style,var(--spectrum-heading-serif-heavy-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-heavy-strong-emphasized-font-weight,var(--spectrum-heading-serif-heavy-strong-emphasized-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--light{font-style:var(\n--mod-heading-serif-light-font-style,var(--spectrum-heading-serif-light-font-style)\n);font-weight:var(\n--mod-heading-serif-light-font-weight,var(--spectrum-heading-serif-light-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--light .spectrum-Heading-emphasized,.spectrum-Heading--serif.spectrum-Heading--light em{font-style:var(\n--mod-heading-serif-light-emphasized-font-style,var(--spectrum-heading-serif-light-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-light-emphasized-font-weight,var(--spectrum-heading-serif-light-emphasized-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--light .spectrum-Heading-strong,.spectrum-Heading--serif.spectrum-Heading--light strong{font-style:var(\n--mod-heading-serif-light-strong-font-style,var(--spectrum-heading-serif-light-strong-font-style)\n);font-weight:var(\n--mod-heading-serif-light-strong-font-weight,var(--spectrum-heading-serif-light-strong-font-weight)\n)}.spectrum-Heading--serif.spectrum-Heading--light .spectrum-Heading-strong.spectrum-Heading-emphasized,.spectrum-Heading--serif.spectrum-Heading--light em strong,.spectrum-Heading--serif.spectrum-Heading--light strong em{font-style:var(\n--mod-heading-serif-light-strong-emphasized-font-style,var(--spectrum-heading-serif-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-heading-serif-light-strong-emphasized-font-weight,var(--spectrum-heading-serif-light-strong-emphasized-font-weight)\n)}.spectrum-Typography .spectrum-Heading{margin-block-end:var(\n--mod-heading-margin-end,var(--spectrum-heading-margin-end)\n);margin-block-start:var(\n--mod-heading-margin-start,var(--spectrum-heading-margin-start)\n)}.spectrum-Body{--spectrum-body-sans-serif-font-family:var(\n--spectrum-sans-font-family-stack\n);--spectrum-body-serif-font-family:var(--spectrum-serif-font-family-stack);--spectrum-body-cjk-font-family:var(--spectrum-cjk-font-family-stack);--spectrum-body-cjk-letter-spacing:var(--spectrum-cjk-letter-spacing);--spectrum-body-margin:calc(var(--mod-body-font-size, var(--spectrum-body-font-size))*var(--spectrum-body-margin-multiplier));--spectrum-body-font-color:var(--spectrum-body-color)}@media (forced-colors:active){.spectrum-body{--highcontrast-body-font-color:Text}}.spectrum-Body--sizeXS{--spectrum-body-font-size:var(--spectrum-body-size-xs)}.spectrum-Body--sizeS{--spectrum-body-font-size:var(--spectrum-body-size-s)}.spectrum-Body--sizeM{--spectrum-body-font-size:var(--spectrum-body-size-m)}.spectrum-Body--sizeL{--spectrum-body-font-size:var(--spectrum-body-size-l)}.spectrum-Body--sizeXL{--spectrum-body-font-size:var(--spectrum-body-size-xl)}.spectrum-Body--sizeXXL{--spectrum-body-font-size:var(--spectrum-body-size-xxl)}.spectrum-Body--sizeXXXL{--spectrum-body-font-size:var(--spectrum-body-size-xxxl)}.spectrum-Body{color:var(\n--highcontrast-body-font-color,var(--mod-body-font-color,var(--spectrum-body-font-color))\n);font-family:var(\n--mod-body-sans-serif-font-family,var(--spectrum-body-sans-serif-font-family)\n);font-size:var(--mod-body-font-size,var(--spectrum-body-font-size));font-style:var(\n--mod-body-sans-serif-font-style,var(--spectrum-body-sans-serif-font-style)\n);font-weight:var(\n--mod-body-sans-serif-font-weight,var(--spectrum-body-sans-serif-font-weight)\n);line-height:var(--mod-body-line-height,var(--spectrum-body-line-height));margin-block-end:0;margin-block-start:0}.spectrum-Body .spectrum-Body-strong,.spectrum-Body strong{font-style:var(\n--mod-body-sans-serif-strong-font-style,var(--spectrum-body-sans-serif-strong-font-style)\n);font-weight:var(\n--mod-body-sans-serif-strong-font-weight,var(--spectrum-body-sans-serif-strong-font-weight)\n)}.spectrum-Body .spectrum-Body-emphasized,.spectrum-Body em{font-style:var(\n--mod-body-sans-serif-emphasized-font-style,var(--spectrum-body-sans-serif-emphasized-font-style)\n);font-weight:var(\n--mod-body-sans-serif-emphasized-font-weight,var(--spectrum-body-sans-serif-emphasized-font-weight)\n)}.spectrum-Body .spectrum-Body-strong.spectrum-Body-emphasized,.spectrum-Body em strong,.spectrum-Body strong em{font-style:var(\n--mod-body-sans-serif-strong-emphasized-font-style,var(--spectrum-body-sans-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-body-sans-serif-strong-emphasized-font-weight,var(--spectrum-body-sans-serif-strong-emphasized-font-weight)\n)}.spectrum-Body:lang(ja),.spectrum-Body:lang(ko),.spectrum-Body:lang(zh){font-family:var(\n--mod-body-cjk-font-family,var(--spectrum-body-cjk-font-family)\n);font-style:var(\n--mod-body-cjk-font-style,var(--spectrum-body-cjk-font-style)\n);font-weight:var(\n--mod-body-cjk-font-weight,var(--spectrum-body-cjk-font-weight)\n);letter-spacing:var(\n--mod-body-cjk-letter-spacing,var(--spectrum-body-cjk-letter-spacing)\n);line-height:var(\n--mod-body-cjk-line-height,var(--spectrum-body-cjk-line-height)\n)}.spectrum-Body:lang(ja) .spectrum-Body-strong,.spectrum-Body:lang(ja) strong,.spectrum-Body:lang(ko) .spectrum-Body-strong,.spectrum-Body:lang(ko) strong,.spectrum-Body:lang(zh) .spectrum-Body-strong,.spectrum-Body:lang(zh) strong{font-style:var(\n--mod-body-cjk-strong-font-style,var(--spectrum-body-cjk-strong-font-style)\n);font-weight:var(\n--mod-body-cjk-strong-font-weight,var(--spectrum-body-cjk-strong-font-weight)\n)}.spectrum-Body:lang(ja) .spectrum-Body-emphasized,.spectrum-Body:lang(ja) em,.spectrum-Body:lang(ko) .spectrum-Body-emphasized,.spectrum-Body:lang(ko) em,.spectrum-Body:lang(zh) .spectrum-Body-emphasized,.spectrum-Body:lang(zh) em{font-style:var(\n--mod-body-cjk-emphasized-font-style,var(--spectrum-body-cjk-emphasized-font-style)\n);font-weight:var(\n--mod-body-cjk-emphasized-font-weight,var(--spectrum-body-cjk-emphasized-font-weight)\n)}.spectrum-Body:lang(ja) .spectrum-Body-strong.spectrum-Body-emphasized,.spectrum-Body:lang(ja) em strong,.spectrum-Body:lang(ja) strong em,.spectrum-Body:lang(ko) .spectrum-Body-strong.spectrum-Body-emphasized,.spectrum-Body:lang(ko) em strong,.spectrum-Body:lang(ko) strong em,.spectrum-Body:lang(zh) .spectrum-Body-strong.spectrum-Body-emphasized,.spectrum-Body:lang(zh) em strong,.spectrum-Body:lang(zh) strong em{font-style:var(\n--mod-body-cjk-strong-emphasized-font-style,var(--spectrum-body-cjk-strong-emphasized-font-style)\n);font-weight:var(\n--mod-body-cjk-strong-emphasized-font-weight,var(--spectrum-body-cjk-strong-emphasized-font-weight)\n)}.spectrum-Body--serif{font-family:var(\n--mod-body-serif-font-family,var(--spectrum-body-serif-font-family)\n);font-style:var(\n--mod-body-serif-font-style,var(--spectrum-body-serif-font-style)\n);font-weight:var(\n--mod-body-serif-font-weight,var(--spectrum-body-serif-font-weight)\n)}.spectrum-Body--serif .spectrum-Body-strong,.spectrum-Body--serif strong{font-style:var(\n--mod-body-serif-strong-font-style,var(--spectrum-body-serif-strong-font-style)\n);font-weight:var(\n--mod-body-serif-strong-font-weight,var(--spectrum-body-serif-strong-font-weight)\n)}.spectrum-Body--serif .spectrum-Body-emphasized,.spectrum-Body--serif em{font-style:var(\n--mod-body-serif-emphasized-font-style,var(--spectrum-body-serif-emphasized-font-style)\n);font-weight:var(\n--mod-body-serif-emphasized-font-weight,var(--spectrum-body-serif-emphasized-font-weight)\n)}.spectrum-Body--serif .spectrum-Body-strong.spectrum-Body-emphasized,.spectrum-Body--serif em strong,.spectrum-Body--serif strong em{font-style:var(\n--mod-body-serif-strong-emphasized-font-style,var(--spectrum-body-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-body-serif-strong-emphasized-font-weight,var(--spectrum-body-serif-strong-emphasized-font-weight)\n)}.spectrum-Typography .spectrum-Body{margin-block-end:var(--mod-body-margin,var(--spectrum-body-margin))}.spectrum-Detail{--spectrum-detail-sans-serif-font-family:var(\n--spectrum-sans-font-family-stack\n);--spectrum-detail-serif-font-family:var(\n--spectrum-serif-font-family-stack\n);--spectrum-detail-cjk-font-family:var(--spectrum-cjk-font-family-stack);--spectrum-detail-margin-start:calc(var(--mod-detail-font-size, var(--spectrum-detail-font-size))*var(--spectrum-detail-margin-top-multiplier));--spectrum-detail-margin-end:calc(var(--mod-detail-font-size, var(--spectrum-detail-font-size))*var(--spectrum-detail-margin-bottom-multiplier));--spectrum-detail-font-color:var(--spectrum-detail-color)}@media (forced-colors:active){.spectrum-Detail{--highcontrast-detail-font-color:Text}}.spectrum-Detail--sizeS{--spectrum-detail-font-size:var(--spectrum-detail-size-s)}.spectrum-Detail--sizeM{--spectrum-detail-font-size:var(--spectrum-detail-size-m)}.spectrum-Detail--sizeL{--spectrum-detail-font-size:var(--spectrum-detail-size-l)}.spectrum-Detail--sizeXL{--spectrum-detail-font-size:var(--spectrum-detail-size-xl)}.spectrum-Detail{color:var(\n--highcontrast-detail-font-color,var(--mod-detail-font-color,var(--spectrum-detail-font-color))\n);font-family:var(\n--mod-detail-sans-serif-font-family,var(--spectrum-detail-sans-serif-font-family)\n);font-size:var(--mod-detail-font-size,var(--spectrum-detail-font-size));font-style:var(\n--mod-detail-sans-serif-font-style,var(--spectrum-detail-sans-serif-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-font-weight,var(--spectrum-detail-sans-serif-font-weight)\n);letter-spacing:var(\n--mod-detail-letter-spacing,var(--spectrum-detail-letter-spacing)\n);line-height:var(\n--mod-detail-line-height,var(--spectrum-detail-line-height)\n);margin-block-end:0;margin-block-start:0;text-transform:uppercase}.spectrum-Detail .spectrum-Detail-strong,.spectrum-Detail strong{font-style:var(\n--mod-detail-sans-serif-strong-font-style,var(--spectrum-detail-sans-serif-strong-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-strong-font-weight,var(--spectrum-detail-sans-serif-strong-font-weight)\n)}.spectrum-Detail .spectrum-Detail-emphasized,.spectrum-Detail em{font-style:var(\n--mod-detail-sans-serif-emphasized-font-style,var(--spectrum-detail-sans-serif-emphasized-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-emphasized-font-weight,var(--spectrum-detail-sans-serif-emphasized-font-weight)\n)}.spectrum-Detail .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail em strong,.spectrum-Detail strong em{font-style:var(\n--mod-detail-sans-serif-strong-emphasized-font-style,var(--spectrum-detail-sans-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-strong-emphasized-font-weight,var(--spectrum-detail-sans-serif-strong-emphasized-font-weight)\n)}.spectrum-Detail:lang(ja),.spectrum-Detail:lang(ko),.spectrum-Detail:lang(zh){font-family:var(\n--mod-detail-cjk-font-family,var(--spectrum-detail-cjk-font-family)\n);font-style:var(\n--mod-detail-cjk-font-style,var(--spectrum-detail-cjk-font-style)\n);font-weight:var(\n--mod-detail-cjk-font-weight,var(--spectrum-detail-cjk-font-weight)\n);line-height:var(\n--mod-detail-cjk-line-height,var(--spectrum-detail-cjk-line-height)\n)}.spectrum-Detail:lang(ja) .spectrum-Detail-strong,.spectrum-Detail:lang(ja) strong,.spectrum-Detail:lang(ko) .spectrum-Detail-strong,.spectrum-Detail:lang(ko) strong,.spectrum-Detail:lang(zh) .spectrum-Detail-strong,.spectrum-Detail:lang(zh) strong{font-style:var(\n--mod-detail-cjk-strong-font-style,var(--spectrum-detail-cjk-strong-font-style)\n);font-weight:var(\n--mod-detail-cjk-strong-font-weight,var(--spectrum-detail-cjk-strong-font-weight)\n)}.spectrum-Detail:lang(ja) .spectrum-Detail-emphasized,.spectrum-Detail:lang(ja) em,.spectrum-Detail:lang(ko) .spectrum-Detail-emphasized,.spectrum-Detail:lang(ko) em,.spectrum-Detail:lang(zh) .spectrum-Detail-emphasized,.spectrum-Detail:lang(zh) em{font-style:var(\n--mod-detail-cjk-emphasized-font-style,var(--spectrum-detail-cjk-emphasized-font-style)\n);font-weight:var(\n--mod-detail-cjk-emphasized-font-weight,var(--spectrum-detail-cjk-emphasized-font-weight)\n)}.spectrum-Detail:lang(ja) .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail:lang(ja) em strong,.spectrum-Detail:lang(ja) strong em,.spectrum-Detail:lang(ko) .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail:lang(ko) em strong,.spectrum-Detail:lang(ko) strong em,.spectrum-Detail:lang(zh) .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail:lang(zh) em strong,.spectrum-Detail:lang(zh) strong em{font-style:var(\n--mod-detail-cjk-strong-emphasized-font-style,var(--spectrum-detail-cjk-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-cjk-strong-emphasized-font-weight,var(--spectrum-detail-cjk-strong-emphasized-font-weight)\n)}.spectrum-Detail--serif{font-family:var(\n--mod-detail-serif-font-family,var(--spectrum-detail-serif-font-family)\n);font-style:var(\n--mod-detail-serif-font-style,var(--spectrum-detail-serif-font-style)\n);font-weight:var(\n--mod-detail-serif-font-weight,var(--spectrum-detail-serif-font-weight)\n)}.spectrum-Detail--serif .spectrum-Detail-strong,.spectrum-Detail--serif strong{font-style:var(\n--mod-detail-serif-strong-font-style,var(--spectrum-detail-serif-strong-font-style)\n);font-weight:var(\n--mod-detail-serif-strong-font-weight,var(--spectrum-detail-serif-strong-font-weight)\n)}.spectrum-Detail--serif .spectrum-Detail-emphasized,.spectrum-Detail--serif em{font-style:var(\n--mod-detail-serif-emphasized-font-style,var(--spectrum-detail-serif-emphasized-font-style)\n);font-weight:var(\n--mod-detail-serif-emphasized-font-weight,var(--spectrum-detail-serif-emphasized-font-weight)\n)}.spectrum-Detail--serif .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail--serif em strong,.spectrum-Detail--serif strong em{font-style:var(\n--mod-detail-serif-strong-emphasized-font-style,var(--spectrum-detail-serif-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-serif-strong-emphasized-font-weight,var(--spectrum-detail-serif-strong-emphasized-font-weight)\n)}.spectrum-Detail--light{font-style:var(\n--mod-detail-sans-serif-light-font-style,var(--spectrum-detail-sans-serif-light-font-style)\n);font-weight:var(\n--spectrum-detail-sans-serif-light-font-weight,var(--spectrum-detail-sans-serif-light-font-weight)\n)}.spectrum-Detail--light .spectrum-Detail-strong,.spectrum-Detail--light strong{font-style:var(\n--mod-detail-sans-serif-light-strong-font-style,var(--spectrum-detail-sans-serif-light-strong-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-light-strong-font-weight,var(--spectrum-detail-sans-serif-light-strong-font-weight)\n)}.spectrum-Detail--light .spectrum-Detail-emphasized,.spectrum-Detail--light em{font-style:var(\n--mod-detail-sans-serif-light-emphasized-font-style,var(--spectrum-detail-sans-serif-light-emphasized-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-light-emphasized-font-weight,var(--spectrum-detail-sans-serif-light-emphasized-font-weight)\n)}.spectrum-Detail--light .spectrum-Detail-strong.spectrum-Body-emphasized,.spectrum-Detail--light em strong,.spectrum-Detail--light strong em{font-style:var(\n--mod-detail-sans-serif-light-strong-emphasized-font-style,var(--spectrum-detail-sans-serif-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-sans-serif-light-strong-emphasized-font-weight,var(--spectrum-detail-sans-serif-light-strong-emphasized-font-weight)\n)}.spectrum-Detail--light:lang(ja),.spectrum-Detail--light:lang(ko),.spectrum-Detail--light:lang(zh){font-style:var(\n--mod-detail-cjk-light-font-style,var(--spectrum-detail-cjk-light-font-style)\n);font-weight:var(\n--mod-detail-cjk-light-font-weight,var(--spectrum-detail-cjk-light-font-weight)\n)}.spectrum-Detail--light:lang(ja) .spectrum-Detail-strong,.spectrum-Detail--light:lang(ja) strong,.spectrum-Detail--light:lang(ko) .spectrum-Detail-strong,.spectrum-Detail--light:lang(ko) strong,.spectrum-Detail--light:lang(zh) .spectrum-Detail-strong,.spectrum-Detail--light:lang(zh) strong{font-style:var(\n--mod-detail-cjk-light-strong-font-style,var(--spectrum-detail-cjk-light-strong-font-style)\n);font-weight:var(\n--mod-detail-cjk-light-strong-font-weight,var(--spectrum-detail-cjk-light-strong-font-weight)\n)}.spectrum-Detail--light:lang(ja) .spectrum-Detail-emphasized,.spectrum-Detail--light:lang(ja) em,.spectrum-Detail--light:lang(ko) .spectrum-Detail-emphasized,.spectrum-Detail--light:lang(ko) em,.spectrum-Detail--light:lang(zh) .spectrum-Detail-emphasized,.spectrum-Detail--light:lang(zh) em{font-style:var(\n--mod-detail-cjk-light-emphasized-font-style,var(--spectrum-detail-cjk-light-emphasized-font-style)\n);font-weight:var(\n--mod-detail-cjk-light-emphasized-font-weight,var(--spectrum-detail-cjk-light-emphasized-font-weight)\n)}.spectrum-Detail--light:lang(ja) .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail--light:lang(ko) .spectrum-Detail-strong.spectrum-Detail-emphasized,.spectrum-Detail--light:lang(zh) .spectrum-Detail-strong.spectrum-Detail-emphasized{font-style:var(\n--mod-detail-cjk-light-strong-emphasized-font-style,var(--spectrum-detail-cjk-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-cjk-light-strong-emphasized-font-weight,var(--spectrum-detail-cjk-light-strong-emphasized-font-weight)\n)}.spectrum-Detail--serif.spectrum-Detail--light{font-style:var(\n--mod-detail-serif-light-font-style,var(--spectrum-detail-serif-light-font-style)\n);font-weight:var(\n--mod-detail-serif-light-font-weight,var(--spectrum-detail-serif-light-font-weight)\n)}.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-strong,.spectrum-Detail--serif.spectrum-Detail--light strong{font-style:var(\n--mod-detail-serif-light-strong-font-style,var(--spectrum-detail-serif-light-strong-font-style)\n);font-weight:var(\n--mod-detail-serif-light-strong-font-weight,var(--spectrum-detail-serif-light-strong-font-weight)\n)}.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-emphasized,.spectrum-Detail--serif.spectrum-Detail--light em{font-style:var(\n--mod-detail-serif-light-emphasized-font-style,var(--spectrum-detail-serif-light-emphasized-font-style)\n);font-weight:var(\n--mod-detail-serif-light-emphasized-font-weight,var(--spectrum-detail-serif-light-emphasized-font-weight)\n)}.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-strong.spectrum-Body-emphasized,.spectrum-Detail--serif.spectrum-Detail--light em strong,.spectrum-Detail--serif.spectrum-Detail--light strong em{font-style:var(\n--mod-detail-serif-light-strong-emphasized-font-style,var(--spectrum-detail-serif-light-strong-emphasized-font-style)\n);font-weight:var(\n--mod-detail-serif-light-strong-emphasized-font-weight,var(--spectrum-detail-serif-light-strong-emphasized-font-weight)\n)}.spectrum-Typography .spectrum-Detail{margin-block-end:var(\n--mod-detail-margin-end,var(--spectrum-detail-margin-end)\n);margin-block-start:var(\n--mod-detail-margin-start,var(--spectrum-detail-margin-start)\n)}.spectrum-Code{--spectrum-code-font-family:var(--spectrum-code-font-family-stack);--spectrum-code-cjk-letter-spacing:var(--spectrum-cjk-letter-spacing);--spectrum-code-font-color:var(--spectrum-code-color)}@media (forced-colors:active){.spectrum-Code{--highcontrast-code-font-color:Text}}.spectrum-Code--sizeXS{--spectrum-code-font-size:var(--spectrum-code-size-xs)}.spectrum-Code--sizeS{--spectrum-code-font-size:var(--spectrum-code-size-s)}.spectrum-Code--sizeM{--spectrum-code-font-size:var(--spectrum-code-size-m)}.spectrum-Code--sizeL{--spectrum-code-font-size:var(--spectrum-code-size-l)}.spectrum-Code--sizeXL{--spectrum-code-font-size:var(--spectrum-code-size-xl)}.spectrum-Code{color:var(\n--highcontrast-code-font-color,var(--mod-code-font-color,var(--spectrum-code-font-color))\n);font-family:var(--mod-code-font-family,var(--spectrum-code-font-family));font-size:var(--mod-code-font-size,var(--spectrum-code-font-size));font-style:var(--mod-code-font-style,var(--spectrum-code-font-style));font-weight:var(--mod-code-font-weight,var(--spectrum-code-font-weight));line-height:var(--mod-code-line-height,var(--spectrum-code-line-height));margin-block-end:0;margin-block-start:0}.spectrum-Code .spectrum-Code-strong,.spectrum-Code strong{font-style:var(\n--mod-code-strong-font-style,var(--spectrum-code-strong-font-style)\n);font-weight:var(\n--mod-code-strong-font-weight,var(--spectrum-code-strong-font-weight)\n)}.spectrum-Code .spectrum-Code-emphasized,.spectrum-Code em{font-style:var(\n--mod-code-emphasized-font-style,var(--spectrum-code-emphasized-font-style)\n);font-weight:var(\n--mod-code-emphasized-font-weight,var(--spectrum-code-emphasized-font-weight)\n)}.spectrum-Code .spectrum-Code-strong.spectrum-Code-emphasized,.spectrum-Code em strong,.spectrum-Code strong em{font-style:var(\n--mod-code-strong-emphasized-font-style,var(--spectrum-code-strong-emphasized-font-style)\n);font-weight:var(\n--mod-code-strong-emphasized-font-weight,var(--spectrum-code-strong-emphasized-font-weight)\n)}.spectrum-Code:lang(ja),.spectrum-Code:lang(ko),.spectrum-Code:lang(zh){font-family:var(\n--mod-code-cjk-font-family,var(--spectrum-code-cjk-font-family)\n);font-style:var(\n--mod-code-cjk-font-style,var(--spectrum-code-cjk-font-style)\n);font-weight:var(\n--mod-code-cjk-font-weight,var(--spectrum-code-cjk-font-weight)\n);letter-spacing:var(\n--mod-code-cjk-letter-spacing,var(--spectrum-code-cjk-letter-spacing)\n);line-height:var(\n--mod-code-cjk-line-height,var(--spectrum-code-cjk-line-height)\n)}.spectrum-Code:lang(ja) .spectrum-Code-strong,.spectrum-Code:lang(ja) strong,.spectrum-Code:lang(ko) .spectrum-Code-strong,.spectrum-Code:lang(ko) strong,.spectrum-Code:lang(zh) .spectrum-Code-strong,.spectrum-Code:lang(zh) strong{font-style:var(\n--mod-code-cjk-strong-font-style,var(--spectrum-code-cjk-strong-font-style)\n);font-weight:var(\n--mod-code-cjk-strong-font-weight,var(--spectrum-code-cjk-strong-font-weight)\n)}.spectrum-Code:lang(ja) .spectrum-Code-emphasized,.spectrum-Code:lang(ja) em,.spectrum-Code:lang(ko) .spectrum-Code-emphasized,.spectrum-Code:lang(ko) em,.spectrum-Code:lang(zh) .spectrum-Code-emphasized,.spectrum-Code:lang(zh) em{font-style:var(\n--mod-code-cjk-emphasized-font-style,var(--spectrum-code-cjk-emphasized-font-style)\n);font-weight:var(\n--mod-code-cjk-emphasized-font-weight,var(--spectrum-code-cjk-emphasized-font-weight)\n)}.spectrum-Code:lang(ja) .spectrum-Code-strong.spectrum-Code-emphasized,.spectrum-Code:lang(ja) em strong,.spectrum-Code:lang(ja) strong em,.spectrum-Code:lang(ko) .spectrum-Code-strong.spectrum-Code-emphasized,.spectrum-Code:lang(ko) em strong,.spectrum-Code:lang(ko) strong em,.spectrum-Code:lang(zh) .spectrum-Code-strong.spectrum-Code-emphasized,.spectrum-Code:lang(zh) em strong,.spectrum-Code:lang(zh) strong em{font-style:var(\n--mod-code-cjk-strong-emphasized-font-style,var(--spectrum-code-cjk-strong-emphasized-font-style)\n);font-weight:var(\n--mod-code-cjk-strong-emphasized-font-weight,var(--spectrum-code-cjk-strong-emphasized-font-weight)\n)}:host{display:block}#scale,#theme{height:100%;width:100%}\n`;/* harmony default export */ const theme_css = (theme_css_e);\n//# sourceMappingURL=theme.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/core.js\nTheme/* Theme */.Q.registerThemeFragment("spectrum","theme",theme_css);\n//# sourceMappingURL=core.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/theme-light.js\nTheme/* Theme */.Q.registerThemeFragment("light","color",theme_light_css);\n//# sourceMappingURL=theme-light.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/theme-lightest.css.js\nconst theme_lightest_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-color-status:Verified;--spectrum-global-color-version:5.1.0;--spectrum-global-color-opacity-100:1;--spectrum-global-color-opacity-90:0.9;--spectrum-global-color-opacity-80:0.8;--spectrum-global-color-opacity-70:0.7;--spectrum-global-color-opacity-60:0.6;--spectrum-global-color-opacity-55:0.55;--spectrum-global-color-opacity-50:0.5;--spectrum-global-color-opacity-42:0.42;--spectrum-global-color-opacity-40:0.4;--spectrum-global-color-opacity-30:0.3;--spectrum-global-color-opacity-25:0.25;--spectrum-global-color-opacity-20:0.2;--spectrum-global-color-opacity-15:0.15;--spectrum-global-color-opacity-10:0.1;--spectrum-global-color-opacity-8:0.08;--spectrum-global-color-opacity-7:0.07;--spectrum-global-color-opacity-6:0.06;--spectrum-global-color-opacity-5:0.05;--spectrum-global-color-opacity-4:0.04;--spectrum-global-color-opacity-0:0;--spectrum-global-color-celery-400-rgb:48,193,61;--spectrum-global-color-celery-400:rgb(var(--spectrum-global-color-celery-400-rgb));--spectrum-global-color-celery-500-rgb:15,172,38;--spectrum-global-color-celery-500:rgb(var(--spectrum-global-color-celery-500-rgb));--spectrum-global-color-celery-600-rgb:0,150,20;--spectrum-global-color-celery-600:rgb(var(--spectrum-global-color-celery-600-rgb));--spectrum-global-color-celery-700-rgb:0,128,15;--spectrum-global-color-celery-700:rgb(var(--spectrum-global-color-celery-700-rgb));--spectrum-global-color-chartreuse-400-rgb:157,203,13;--spectrum-global-color-chartreuse-400:rgb(var(--spectrum-global-color-chartreuse-400-rgb));--spectrum-global-color-chartreuse-500-rgb:139,182,4;--spectrum-global-color-chartreuse-500:rgb(var(--spectrum-global-color-chartreuse-500-rgb));--spectrum-global-color-chartreuse-600-rgb:122,162,0;--spectrum-global-color-chartreuse-600:rgb(var(--spectrum-global-color-chartreuse-600-rgb));--spectrum-global-color-chartreuse-700-rgb:106,141,0;--spectrum-global-color-chartreuse-700:rgb(var(--spectrum-global-color-chartreuse-700-rgb));--spectrum-global-color-yellow-400-rgb:238,205,0;--spectrum-global-color-yellow-400:rgb(var(--spectrum-global-color-yellow-400-rgb));--spectrum-global-color-yellow-500-rgb:221,185,0;--spectrum-global-color-yellow-500:rgb(var(--spectrum-global-color-yellow-500-rgb));--spectrum-global-color-yellow-600-rgb:201,164,0;--spectrum-global-color-yellow-600:rgb(var(--spectrum-global-color-yellow-600-rgb));--spectrum-global-color-yellow-700-rgb:181,144,0;--spectrum-global-color-yellow-700:rgb(var(--spectrum-global-color-yellow-700-rgb));--spectrum-global-color-magenta-400-rgb:226,68,135;--spectrum-global-color-magenta-400:rgb(var(--spectrum-global-color-magenta-400-rgb));--spectrum-global-color-magenta-500-rgb:205,40,111;--spectrum-global-color-magenta-500:rgb(var(--spectrum-global-color-magenta-500-rgb));--spectrum-global-color-magenta-600-rgb:179,15,89;--spectrum-global-color-magenta-600:rgb(var(--spectrum-global-color-magenta-600-rgb));--spectrum-global-color-magenta-700-rgb:149,0,72;--spectrum-global-color-magenta-700:rgb(var(--spectrum-global-color-magenta-700-rgb));--spectrum-global-color-fuchsia-400-rgb:211,63,212;--spectrum-global-color-fuchsia-400:rgb(var(--spectrum-global-color-fuchsia-400-rgb));--spectrum-global-color-fuchsia-500-rgb:188,39,187;--spectrum-global-color-fuchsia-500:rgb(var(--spectrum-global-color-fuchsia-500-rgb));--spectrum-global-color-fuchsia-600-rgb:163,10,163;--spectrum-global-color-fuchsia-600:rgb(var(--spectrum-global-color-fuchsia-600-rgb));--spectrum-global-color-fuchsia-700-rgb:135,0,136;--spectrum-global-color-fuchsia-700:rgb(var(--spectrum-global-color-fuchsia-700-rgb));--spectrum-global-color-purple-400-rgb:161,93,246;--spectrum-global-color-purple-400:rgb(var(--spectrum-global-color-purple-400-rgb));--spectrum-global-color-purple-500-rgb:142,67,234;--spectrum-global-color-purple-500:rgb(var(--spectrum-global-color-purple-500-rgb));--spectrum-global-color-purple-600-rgb:120,43,216;--spectrum-global-color-purple-600:rgb(var(--spectrum-global-color-purple-600-rgb));--spectrum-global-color-purple-700-rgb:98,23,190;--spectrum-global-color-purple-700:rgb(var(--spectrum-global-color-purple-700-rgb));--spectrum-global-color-indigo-400-rgb:109,115,246;--spectrum-global-color-indigo-400:rgb(var(--spectrum-global-color-indigo-400-rgb));--spectrum-global-color-indigo-500-rgb:87,93,232;--spectrum-global-color-indigo-500:rgb(var(--spectrum-global-color-indigo-500-rgb));--spectrum-global-color-indigo-600-rgb:68,74,208;--spectrum-global-color-indigo-600:rgb(var(--spectrum-global-color-indigo-600-rgb));--spectrum-global-color-indigo-700-rgb:53,58,176;--spectrum-global-color-indigo-700:rgb(var(--spectrum-global-color-indigo-700-rgb));--spectrum-global-color-seafoam-400-rgb:0,166,160;--spectrum-global-color-seafoam-400:rgb(var(--spectrum-global-color-seafoam-400-rgb));--spectrum-global-color-seafoam-500-rgb:0,145,139;--spectrum-global-color-seafoam-500:rgb(var(--spectrum-global-color-seafoam-500-rgb));--spectrum-global-color-seafoam-600-rgb:0,124,118;--spectrum-global-color-seafoam-600:rgb(var(--spectrum-global-color-seafoam-600-rgb));--spectrum-global-color-seafoam-700-rgb:0,103,99;--spectrum-global-color-seafoam-700:rgb(var(--spectrum-global-color-seafoam-700-rgb));--spectrum-global-color-red-400-rgb:237,64,48;--spectrum-global-color-red-400:rgb(var(--spectrum-global-color-red-400-rgb));--spectrum-global-color-red-500-rgb:217,28,21;--spectrum-global-color-red-500:rgb(var(--spectrum-global-color-red-500-rgb));--spectrum-global-color-red-600-rgb:187,2,2;--spectrum-global-color-red-600:rgb(var(--spectrum-global-color-red-600-rgb));--spectrum-global-color-red-700-rgb:154,0,0;--spectrum-global-color-red-700:rgb(var(--spectrum-global-color-red-700-rgb));--spectrum-global-color-orange-400-rgb:250,139,26;--spectrum-global-color-orange-400:rgb(var(--spectrum-global-color-orange-400-rgb));--spectrum-global-color-orange-500-rgb:233,117,0;--spectrum-global-color-orange-500:rgb(var(--spectrum-global-color-orange-500-rgb));--spectrum-global-color-orange-600-rgb:209,97,0;--spectrum-global-color-orange-600:rgb(var(--spectrum-global-color-orange-600-rgb));--spectrum-global-color-orange-700-rgb:182,80,0;--spectrum-global-color-orange-700:rgb(var(--spectrum-global-color-orange-700-rgb));--spectrum-global-color-green-400-rgb:0,148,97;--spectrum-global-color-green-400:rgb(var(--spectrum-global-color-green-400-rgb));--spectrum-global-color-green-500-rgb:0,126,80;--spectrum-global-color-green-500:rgb(var(--spectrum-global-color-green-500-rgb));--spectrum-global-color-green-600-rgb:0,105,65;--spectrum-global-color-green-600:rgb(var(--spectrum-global-color-green-600-rgb));--spectrum-global-color-green-700-rgb:0,86,53;--spectrum-global-color-green-700:rgb(var(--spectrum-global-color-green-700-rgb));--spectrum-global-color-blue-400-rgb:27,127,245;--spectrum-global-color-blue-400:rgb(var(--spectrum-global-color-blue-400-rgb));--spectrum-global-color-blue-500-rgb:4,105,227;--spectrum-global-color-blue-500:rgb(var(--spectrum-global-color-blue-500-rgb));--spectrum-global-color-blue-600-rgb:0,87,190;--spectrum-global-color-blue-600:rgb(var(--spectrum-global-color-blue-600-rgb));--spectrum-global-color-blue-700-rgb:0,72,153;--spectrum-global-color-blue-700:rgb(var(--spectrum-global-color-blue-700-rgb));--spectrum-global-color-gray-50-rgb:255,255,255;--spectrum-global-color-gray-50:rgb(var(--spectrum-global-color-gray-50-rgb));--spectrum-global-color-gray-75-rgb:255,255,255;--spectrum-global-color-gray-75:rgb(var(--spectrum-global-color-gray-75-rgb));--spectrum-global-color-gray-100-rgb:255,255,255;--spectrum-global-color-gray-100:rgb(var(--spectrum-global-color-gray-100-rgb));--spectrum-global-color-gray-200-rgb:235,235,235;--spectrum-global-color-gray-200:rgb(var(--spectrum-global-color-gray-200-rgb));--spectrum-global-color-gray-300-rgb:217,217,217;--spectrum-global-color-gray-300:rgb(var(--spectrum-global-color-gray-300-rgb));--spectrum-global-color-gray-400-rgb:179,179,179;--spectrum-global-color-gray-400:rgb(var(--spectrum-global-color-gray-400-rgb));--spectrum-global-color-gray-500-rgb:146,146,146;--spectrum-global-color-gray-500:rgb(var(--spectrum-global-color-gray-500-rgb));--spectrum-global-color-gray-600-rgb:110,110,110;--spectrum-global-color-gray-600:rgb(var(--spectrum-global-color-gray-600-rgb));--spectrum-global-color-gray-700-rgb:71,71,71;--spectrum-global-color-gray-700:rgb(var(--spectrum-global-color-gray-700-rgb));--spectrum-global-color-gray-800-rgb:34,34,34;--spectrum-global-color-gray-800:rgb(var(--spectrum-global-color-gray-800-rgb));--spectrum-global-color-gray-900-rgb:0,0,0;--spectrum-global-color-gray-900:rgb(var(--spectrum-global-color-gray-900-rgb));--spectrum-alias-background-color-primary:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-background-color-secondary:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-background-color-tertiary:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-background-color-modal-overlay:rgba(0,0,0,.4);--spectrum-alias-dropshadow-color:rgba(0,0,0,.15);--spectrum-alias-background-color-hover-overlay:rgba(0,0,0,.04);--spectrum-alias-highlight-hover:rgba(0,0,0,.06);--spectrum-alias-highlight-down:rgba(0,0,0,.1);--spectrum-alias-highlight-selected:rgba(4,105,227,.1);--spectrum-alias-highlight-selected-hover:rgba(4,105,227,.2);--spectrum-alias-text-highlight-color:rgba(4,105,227,.2);--spectrum-alias-background-color-quickactions:hsla(0,0%,100%,.9);--spectrum-alias-border-color-selected:var(\n--spectrum-global-color-blue-500\n);--spectrum-alias-border-color-translucent:rgba(0,0,0,.1);--spectrum-alias-radial-reaction-color-default:rgba(34,34,34,.6);--spectrum-alias-pasteboard-background-color:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-appframe-border-color:var(\n--spectrum-global-color-gray-300\n);--spectrum-alias-appframe-separator-color:var(\n--spectrum-global-color-gray-300\n)}:host,:root{color-scheme:light}:host,:root{--spectrum-overlay-opacity:0.4;--spectrum-drop-shadow-color-rgb:0,0,0;--spectrum-drop-shadow-color-opacity:0.15;--spectrum-drop-shadow-color:rgba(var(--spectrum-drop-shadow-color-rgb),var(--spectrum-drop-shadow-color-opacity));--spectrum-background-base-color:var(--spectrum-gray-200);--spectrum-background-layer-1-color:var(--spectrum-gray-100);--spectrum-background-layer-2-color:var(--spectrum-gray-50);--spectrum-neutral-background-color-default:var(--spectrum-gray-800);--spectrum-neutral-background-color-hover:var(--spectrum-gray-900);--spectrum-neutral-background-color-down:var(--spectrum-gray-900);--spectrum-neutral-background-color-key-focus:var(--spectrum-gray-900);--spectrum-neutral-subdued-background-color-default:var(\n--spectrum-gray-600\n);--spectrum-neutral-subdued-background-color-hover:var(--spectrum-gray-700);--spectrum-neutral-subdued-background-color-down:var(--spectrum-gray-800);--spectrum-neutral-subdued-background-color-key-focus:var(\n--spectrum-gray-700\n);--spectrum-accent-background-color-default:var(\n--spectrum-accent-color-900\n);--spectrum-accent-background-color-hover:var(--spectrum-accent-color-1000);--spectrum-accent-background-color-down:var(--spectrum-accent-color-1100);--spectrum-accent-background-color-key-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-informative-background-color-default:var(\n--spectrum-informative-color-900\n);--spectrum-informative-background-color-hover:var(\n--spectrum-informative-color-1000\n);--spectrum-informative-background-color-down:var(\n--spectrum-informative-color-1100\n);--spectrum-informative-background-color-key-focus:var(\n--spectrum-informative-color-1000\n);--spectrum-negative-background-color-default:var(\n--spectrum-negative-color-900\n);--spectrum-negative-background-color-hover:var(\n--spectrum-negative-color-1000\n);--spectrum-negative-background-color-down:var(\n--spectrum-negative-color-1100\n);--spectrum-negative-background-color-key-focus:var(\n--spectrum-negative-color-1000\n);--spectrum-positive-background-color-default:var(\n--spectrum-positive-color-900\n);--spectrum-positive-background-color-hover:var(\n--spectrum-positive-color-1000\n);--spectrum-positive-background-color-down:var(\n--spectrum-positive-color-1100\n);--spectrum-positive-background-color-key-focus:var(\n--spectrum-positive-color-1000\n);--spectrum-notice-background-color-default:var(\n--spectrum-notice-color-600\n);--spectrum-gray-background-color-default:var(--spectrum-gray-700);--spectrum-red-background-color-default:var(--spectrum-red-900);--spectrum-orange-background-color-default:var(--spectrum-orange-600);--spectrum-yellow-background-color-default:var(--spectrum-yellow-400);--spectrum-chartreuse-background-color-default:var(\n--spectrum-chartreuse-500\n);--spectrum-celery-background-color-default:var(--spectrum-celery-600);--spectrum-green-background-color-default:var(--spectrum-green-900);--spectrum-seafoam-background-color-default:var(--spectrum-seafoam-900);--spectrum-cyan-background-color-default:var(--spectrum-cyan-900);--spectrum-blue-background-color-default:var(--spectrum-blue-900);--spectrum-indigo-background-color-default:var(--spectrum-indigo-900);--spectrum-purple-background-color-default:var(--spectrum-purple-900);--spectrum-fuchsia-background-color-default:var(--spectrum-fuchsia-900);--spectrum-magenta-background-color-default:var(--spectrum-magenta-900);--spectrum-neutral-visual-color:var(--spectrum-gray-500);--spectrum-accent-visual-color:var(--spectrum-accent-color-800);--spectrum-informative-visual-color:var(--spectrum-informative-color-800);--spectrum-negative-visual-color:var(--spectrum-negative-color-800);--spectrum-notice-visual-color:var(--spectrum-notice-color-700);--spectrum-positive-visual-color:var(--spectrum-positive-color-700);--spectrum-gray-visual-color:var(--spectrum-gray-500);--spectrum-red-visual-color:var(--spectrum-red-800);--spectrum-orange-visual-color:var(--spectrum-orange-700);--spectrum-yellow-visual-color:var(--spectrum-yellow-600);--spectrum-chartreuse-visual-color:var(--spectrum-chartreuse-600);--spectrum-celery-visual-color:var(--spectrum-celery-700);--spectrum-green-visual-color:var(--spectrum-green-700);--spectrum-seafoam-visual-color:var(--spectrum-seafoam-700);--spectrum-cyan-visual-color:var(--spectrum-cyan-600);--spectrum-blue-visual-color:var(--spectrum-blue-800);--spectrum-indigo-visual-color:var(--spectrum-indigo-800);--spectrum-purple-visual-color:var(--spectrum-purple-800);--spectrum-fuchsia-visual-color:var(--spectrum-fuchsia-800);--spectrum-magenta-visual-color:var(--spectrum-magenta-800);--spectrum-opacity-checkerboard-square-dark:var(--spectrum-gray-200);--spectrum-gray-50-rgb:255,255,255;--spectrum-gray-50:rgba(var(--spectrum-gray-50-rgb));--spectrum-gray-75-rgb:253,253,253;--spectrum-gray-75:rgba(var(--spectrum-gray-75-rgb));--spectrum-gray-100-rgb:248,248,248;--spectrum-gray-100:rgba(var(--spectrum-gray-100-rgb));--spectrum-gray-200-rgb:230,230,230;--spectrum-gray-200:rgba(var(--spectrum-gray-200-rgb));--spectrum-gray-300-rgb:213,213,213;--spectrum-gray-300:rgba(var(--spectrum-gray-300-rgb));--spectrum-gray-400-rgb:177,177,177;--spectrum-gray-400:rgba(var(--spectrum-gray-400-rgb));--spectrum-gray-500-rgb:144,144,144;--spectrum-gray-500:rgba(var(--spectrum-gray-500-rgb));--spectrum-gray-600-rgb:109,109,109;--spectrum-gray-600:rgba(var(--spectrum-gray-600-rgb));--spectrum-gray-700-rgb:70,70,70;--spectrum-gray-700:rgba(var(--spectrum-gray-700-rgb));--spectrum-gray-800-rgb:34,34,34;--spectrum-gray-800:rgba(var(--spectrum-gray-800-rgb));--spectrum-gray-900-rgb:0,0,0;--spectrum-gray-900:rgba(var(--spectrum-gray-900-rgb));--spectrum-blue-100-rgb:224,242,255;--spectrum-blue-100:rgba(var(--spectrum-blue-100-rgb));--spectrum-blue-200-rgb:202,232,255;--spectrum-blue-200:rgba(var(--spectrum-blue-200-rgb));--spectrum-blue-300-rgb:181,222,255;--spectrum-blue-300:rgba(var(--spectrum-blue-300-rgb));--spectrum-blue-400-rgb:150,206,253;--spectrum-blue-400:rgba(var(--spectrum-blue-400-rgb));--spectrum-blue-500-rgb:120,187,250;--spectrum-blue-500:rgba(var(--spectrum-blue-500-rgb));--spectrum-blue-600-rgb:89,167,246;--spectrum-blue-600:rgba(var(--spectrum-blue-600-rgb));--spectrum-blue-700-rgb:56,146,243;--spectrum-blue-700:rgba(var(--spectrum-blue-700-rgb));--spectrum-blue-800-rgb:20,122,243;--spectrum-blue-800:rgba(var(--spectrum-blue-800-rgb));--spectrum-blue-900-rgb:2,101,220;--spectrum-blue-900:rgba(var(--spectrum-blue-900-rgb));--spectrum-blue-1000-rgb:0,84,182;--spectrum-blue-1000:rgba(var(--spectrum-blue-1000-rgb));--spectrum-blue-1100-rgb:0,68,145;--spectrum-blue-1100:rgba(var(--spectrum-blue-1100-rgb));--spectrum-blue-1200-rgb:0,53,113;--spectrum-blue-1200:rgba(var(--spectrum-blue-1200-rgb));--spectrum-blue-1300-rgb:0,39,84;--spectrum-blue-1300:rgba(var(--spectrum-blue-1300-rgb));--spectrum-blue-1400-rgb:0,28,60;--spectrum-blue-1400:rgba(var(--spectrum-blue-1400-rgb));--spectrum-red-100-rgb:255,235,231;--spectrum-red-100:rgba(var(--spectrum-red-100-rgb));--spectrum-red-200-rgb:255,221,214;--spectrum-red-200:rgba(var(--spectrum-red-200-rgb));--spectrum-red-300-rgb:255,205,195;--spectrum-red-300:rgba(var(--spectrum-red-300-rgb));--spectrum-red-400-rgb:255,183,169;--spectrum-red-400:rgba(var(--spectrum-red-400-rgb));--spectrum-red-500-rgb:255,155,136;--spectrum-red-500:rgba(var(--spectrum-red-500-rgb));--spectrum-red-600-rgb:255,124,101;--spectrum-red-600:rgba(var(--spectrum-red-600-rgb));--spectrum-red-700-rgb:247,92,70;--spectrum-red-700:rgba(var(--spectrum-red-700-rgb));--spectrum-red-800-rgb:234,56,41;--spectrum-red-800:rgba(var(--spectrum-red-800-rgb));--spectrum-red-900-rgb:211,21,16;--spectrum-red-900:rgba(var(--spectrum-red-900-rgb));--spectrum-red-1000-rgb:180,0,0;--spectrum-red-1000:rgba(var(--spectrum-red-1000-rgb));--spectrum-red-1100-rgb:147,0,0;--spectrum-red-1100:rgba(var(--spectrum-red-1100-rgb));--spectrum-red-1200-rgb:116,0,0;--spectrum-red-1200:rgba(var(--spectrum-red-1200-rgb));--spectrum-red-1300-rgb:89,0,0;--spectrum-red-1300:rgba(var(--spectrum-red-1300-rgb));--spectrum-red-1400-rgb:67,0,0;--spectrum-red-1400:rgba(var(--spectrum-red-1400-rgb));--spectrum-orange-100-rgb:255,236,204;--spectrum-orange-100:rgba(var(--spectrum-orange-100-rgb));--spectrum-orange-200-rgb:255,223,173;--spectrum-orange-200:rgba(var(--spectrum-orange-200-rgb));--spectrum-orange-300-rgb:253,210,145;--spectrum-orange-300:rgba(var(--spectrum-orange-300-rgb));--spectrum-orange-400-rgb:255,187,99;--spectrum-orange-400:rgba(var(--spectrum-orange-400-rgb));--spectrum-orange-500-rgb:255,160,55;--spectrum-orange-500:rgba(var(--spectrum-orange-500-rgb));--spectrum-orange-600-rgb:246,133,17;--spectrum-orange-600:rgba(var(--spectrum-orange-600-rgb));--spectrum-orange-700-rgb:228,111,0;--spectrum-orange-700:rgba(var(--spectrum-orange-700-rgb));--spectrum-orange-800-rgb:203,93,0;--spectrum-orange-800:rgba(var(--spectrum-orange-800-rgb));--spectrum-orange-900-rgb:177,76,0;--spectrum-orange-900:rgba(var(--spectrum-orange-900-rgb));--spectrum-orange-1000-rgb:149,61,0;--spectrum-orange-1000:rgba(var(--spectrum-orange-1000-rgb));--spectrum-orange-1100-rgb:122,47,0;--spectrum-orange-1100:rgba(var(--spectrum-orange-1100-rgb));--spectrum-orange-1200-rgb:97,35,0;--spectrum-orange-1200:rgba(var(--spectrum-orange-1200-rgb));--spectrum-orange-1300-rgb:73,25,1;--spectrum-orange-1300:rgba(var(--spectrum-orange-1300-rgb));--spectrum-orange-1400-rgb:53,18,1;--spectrum-orange-1400:rgba(var(--spectrum-orange-1400-rgb));--spectrum-yellow-100-rgb:251,241,152;--spectrum-yellow-100:rgba(var(--spectrum-yellow-100-rgb));--spectrum-yellow-200-rgb:248,231,80;--spectrum-yellow-200:rgba(var(--spectrum-yellow-200-rgb));--spectrum-yellow-300-rgb:248,217,4;--spectrum-yellow-300:rgba(var(--spectrum-yellow-300-rgb));--spectrum-yellow-400-rgb:232,198,0;--spectrum-yellow-400:rgba(var(--spectrum-yellow-400-rgb));--spectrum-yellow-500-rgb:215,179,0;--spectrum-yellow-500:rgba(var(--spectrum-yellow-500-rgb));--spectrum-yellow-600-rgb:196,159,0;--spectrum-yellow-600:rgba(var(--spectrum-yellow-600-rgb));--spectrum-yellow-700-rgb:176,140,0;--spectrum-yellow-700:rgba(var(--spectrum-yellow-700-rgb));--spectrum-yellow-800-rgb:155,120,0;--spectrum-yellow-800:rgba(var(--spectrum-yellow-800-rgb));--spectrum-yellow-900-rgb:133,102,0;--spectrum-yellow-900:rgba(var(--spectrum-yellow-900-rgb));--spectrum-yellow-1000-rgb:112,83,0;--spectrum-yellow-1000:rgba(var(--spectrum-yellow-1000-rgb));--spectrum-yellow-1100-rgb:91,67,0;--spectrum-yellow-1100:rgba(var(--spectrum-yellow-1100-rgb));--spectrum-yellow-1200-rgb:72,51,0;--spectrum-yellow-1200:rgba(var(--spectrum-yellow-1200-rgb));--spectrum-yellow-1300-rgb:54,37,0;--spectrum-yellow-1300:rgba(var(--spectrum-yellow-1300-rgb));--spectrum-yellow-1400-rgb:40,26,0;--spectrum-yellow-1400:rgba(var(--spectrum-yellow-1400-rgb));--spectrum-chartreuse-100-rgb:219,252,110;--spectrum-chartreuse-100:rgba(var(--spectrum-chartreuse-100-rgb));--spectrum-chartreuse-200-rgb:203,244,67;--spectrum-chartreuse-200:rgba(var(--spectrum-chartreuse-200-rgb));--spectrum-chartreuse-300-rgb:188,233,42;--spectrum-chartreuse-300:rgba(var(--spectrum-chartreuse-300-rgb));--spectrum-chartreuse-400-rgb:170,216,22;--spectrum-chartreuse-400:rgba(var(--spectrum-chartreuse-400-rgb));--spectrum-chartreuse-500-rgb:152,197,10;--spectrum-chartreuse-500:rgba(var(--spectrum-chartreuse-500-rgb));--spectrum-chartreuse-600-rgb:135,177,3;--spectrum-chartreuse-600:rgba(var(--spectrum-chartreuse-600-rgb));--spectrum-chartreuse-700-rgb:118,156,0;--spectrum-chartreuse-700:rgba(var(--spectrum-chartreuse-700-rgb));--spectrum-chartreuse-800-rgb:103,136,0;--spectrum-chartreuse-800:rgba(var(--spectrum-chartreuse-800-rgb));--spectrum-chartreuse-900-rgb:87,116,0;--spectrum-chartreuse-900:rgba(var(--spectrum-chartreuse-900-rgb));--spectrum-chartreuse-1000-rgb:72,96,0;--spectrum-chartreuse-1000:rgba(var(--spectrum-chartreuse-1000-rgb));--spectrum-chartreuse-1100-rgb:58,77,0;--spectrum-chartreuse-1100:rgba(var(--spectrum-chartreuse-1100-rgb));--spectrum-chartreuse-1200-rgb:44,59,0;--spectrum-chartreuse-1200:rgba(var(--spectrum-chartreuse-1200-rgb));--spectrum-chartreuse-1300-rgb:33,44,0;--spectrum-chartreuse-1300:rgba(var(--spectrum-chartreuse-1300-rgb));--spectrum-chartreuse-1400-rgb:24,31,0;--spectrum-chartreuse-1400:rgba(var(--spectrum-chartreuse-1400-rgb));--spectrum-celery-100-rgb:205,252,191;--spectrum-celery-100:rgba(var(--spectrum-celery-100-rgb));--spectrum-celery-200-rgb:174,246,157;--spectrum-celery-200:rgba(var(--spectrum-celery-200-rgb));--spectrum-celery-300-rgb:150,238,133;--spectrum-celery-300:rgba(var(--spectrum-celery-300-rgb));--spectrum-celery-400-rgb:114,224,106;--spectrum-celery-400:rgba(var(--spectrum-celery-400-rgb));--spectrum-celery-500-rgb:78,207,80;--spectrum-celery-500:rgba(var(--spectrum-celery-500-rgb));--spectrum-celery-600-rgb:39,187,54;--spectrum-celery-600:rgba(var(--spectrum-celery-600-rgb));--spectrum-celery-700-rgb:7,167,33;--spectrum-celery-700:rgba(var(--spectrum-celery-700-rgb));--spectrum-celery-800-rgb:0,145,18;--spectrum-celery-800:rgba(var(--spectrum-celery-800-rgb));--spectrum-celery-900-rgb:0,124,15;--spectrum-celery-900:rgba(var(--spectrum-celery-900-rgb));--spectrum-celery-1000-rgb:0,103,15;--spectrum-celery-1000:rgba(var(--spectrum-celery-1000-rgb));--spectrum-celery-1100-rgb:0,83,13;--spectrum-celery-1100:rgba(var(--spectrum-celery-1100-rgb));--spectrum-celery-1200-rgb:0,64,10;--spectrum-celery-1200:rgba(var(--spectrum-celery-1200-rgb));--spectrum-celery-1300-rgb:0,48,7;--spectrum-celery-1300:rgba(var(--spectrum-celery-1300-rgb));--spectrum-celery-1400-rgb:0,34,5;--spectrum-celery-1400:rgba(var(--spectrum-celery-1400-rgb));--spectrum-green-100-rgb:206,248,224;--spectrum-green-100:rgba(var(--spectrum-green-100-rgb));--spectrum-green-200-rgb:173,244,206;--spectrum-green-200:rgba(var(--spectrum-green-200-rgb));--spectrum-green-300-rgb:137,236,188;--spectrum-green-300:rgba(var(--spectrum-green-300-rgb));--spectrum-green-400-rgb:103,222,168;--spectrum-green-400:rgba(var(--spectrum-green-400-rgb));--spectrum-green-500-rgb:73,204,147;--spectrum-green-500:rgba(var(--spectrum-green-500-rgb));--spectrum-green-600-rgb:47,184,128;--spectrum-green-600:rgba(var(--spectrum-green-600-rgb));--spectrum-green-700-rgb:21,164,110;--spectrum-green-700:rgba(var(--spectrum-green-700-rgb));--spectrum-green-800-rgb:0,143,93;--spectrum-green-800:rgba(var(--spectrum-green-800-rgb));--spectrum-green-900-rgb:0,122,77;--spectrum-green-900:rgba(var(--spectrum-green-900-rgb));--spectrum-green-1000-rgb:0,101,62;--spectrum-green-1000:rgba(var(--spectrum-green-1000-rgb));--spectrum-green-1100-rgb:0,81,50;--spectrum-green-1100:rgba(var(--spectrum-green-1100-rgb));--spectrum-green-1200-rgb:5,63,39;--spectrum-green-1200:rgba(var(--spectrum-green-1200-rgb));--spectrum-green-1300-rgb:10,46,29;--spectrum-green-1300:rgba(var(--spectrum-green-1300-rgb));--spectrum-green-1400-rgb:10,32,21;--spectrum-green-1400:rgba(var(--spectrum-green-1400-rgb));--spectrum-seafoam-100-rgb:206,247,243;--spectrum-seafoam-100:rgba(var(--spectrum-seafoam-100-rgb));--spectrum-seafoam-200-rgb:170,241,234;--spectrum-seafoam-200:rgba(var(--spectrum-seafoam-200-rgb));--spectrum-seafoam-300-rgb:140,233,226;--spectrum-seafoam-300:rgba(var(--spectrum-seafoam-300-rgb));--spectrum-seafoam-400-rgb:101,218,210;--spectrum-seafoam-400:rgba(var(--spectrum-seafoam-400-rgb));--spectrum-seafoam-500-rgb:63,201,193;--spectrum-seafoam-500:rgba(var(--spectrum-seafoam-500-rgb));--spectrum-seafoam-600-rgb:15,181,174;--spectrum-seafoam-600:rgba(var(--spectrum-seafoam-600-rgb));--spectrum-seafoam-700-rgb:0,161,154;--spectrum-seafoam-700:rgba(var(--spectrum-seafoam-700-rgb));--spectrum-seafoam-800-rgb:0,140,135;--spectrum-seafoam-800:rgba(var(--spectrum-seafoam-800-rgb));--spectrum-seafoam-900-rgb:0,119,114;--spectrum-seafoam-900:rgba(var(--spectrum-seafoam-900-rgb));--spectrum-seafoam-1000-rgb:0,99,95;--spectrum-seafoam-1000:rgba(var(--spectrum-seafoam-1000-rgb));--spectrum-seafoam-1100-rgb:12,79,76;--spectrum-seafoam-1100:rgba(var(--spectrum-seafoam-1100-rgb));--spectrum-seafoam-1200-rgb:18,60,58;--spectrum-seafoam-1200:rgba(var(--spectrum-seafoam-1200-rgb));--spectrum-seafoam-1300-rgb:18,44,43;--spectrum-seafoam-1300:rgba(var(--spectrum-seafoam-1300-rgb));--spectrum-seafoam-1400-rgb:15,31,30;--spectrum-seafoam-1400:rgba(var(--spectrum-seafoam-1400-rgb));--spectrum-cyan-100-rgb:197,248,255;--spectrum-cyan-100:rgba(var(--spectrum-cyan-100-rgb));--spectrum-cyan-200-rgb:164,240,255;--spectrum-cyan-200:rgba(var(--spectrum-cyan-200-rgb));--spectrum-cyan-300-rgb:136,231,250;--spectrum-cyan-300:rgba(var(--spectrum-cyan-300-rgb));--spectrum-cyan-400-rgb:96,216,243;--spectrum-cyan-400:rgba(var(--spectrum-cyan-400-rgb));--spectrum-cyan-500-rgb:51,197,232;--spectrum-cyan-500:rgba(var(--spectrum-cyan-500-rgb));--spectrum-cyan-600-rgb:18,176,218;--spectrum-cyan-600:rgba(var(--spectrum-cyan-600-rgb));--spectrum-cyan-700-rgb:1,156,200;--spectrum-cyan-700:rgba(var(--spectrum-cyan-700-rgb));--spectrum-cyan-800-rgb:0,134,180;--spectrum-cyan-800:rgba(var(--spectrum-cyan-800-rgb));--spectrum-cyan-900-rgb:0,113,159;--spectrum-cyan-900:rgba(var(--spectrum-cyan-900-rgb));--spectrum-cyan-1000-rgb:0,93,137;--spectrum-cyan-1000:rgba(var(--spectrum-cyan-1000-rgb));--spectrum-cyan-1100-rgb:0,74,115;--spectrum-cyan-1100:rgba(var(--spectrum-cyan-1100-rgb));--spectrum-cyan-1200-rgb:0,57,93;--spectrum-cyan-1200:rgba(var(--spectrum-cyan-1200-rgb));--spectrum-cyan-1300-rgb:0,42,70;--spectrum-cyan-1300:rgba(var(--spectrum-cyan-1300-rgb));--spectrum-cyan-1400-rgb:0,30,51;--spectrum-cyan-1400:rgba(var(--spectrum-cyan-1400-rgb));--spectrum-indigo-100-rgb:237,238,255;--spectrum-indigo-100:rgba(var(--spectrum-indigo-100-rgb));--spectrum-indigo-200-rgb:224,226,255;--spectrum-indigo-200:rgba(var(--spectrum-indigo-200-rgb));--spectrum-indigo-300-rgb:211,213,255;--spectrum-indigo-300:rgba(var(--spectrum-indigo-300-rgb));--spectrum-indigo-400-rgb:193,196,255;--spectrum-indigo-400:rgba(var(--spectrum-indigo-400-rgb));--spectrum-indigo-500-rgb:172,175,255;--spectrum-indigo-500:rgba(var(--spectrum-indigo-500-rgb));--spectrum-indigo-600-rgb:149,153,255;--spectrum-indigo-600:rgba(var(--spectrum-indigo-600-rgb));--spectrum-indigo-700-rgb:126,132,252;--spectrum-indigo-700:rgba(var(--spectrum-indigo-700-rgb));--spectrum-indigo-800-rgb:104,109,244;--spectrum-indigo-800:rgba(var(--spectrum-indigo-800-rgb));--spectrum-indigo-900-rgb:82,88,228;--spectrum-indigo-900:rgba(var(--spectrum-indigo-900-rgb));--spectrum-indigo-1000-rgb:64,70,202;--spectrum-indigo-1000:rgba(var(--spectrum-indigo-1000-rgb));--spectrum-indigo-1100-rgb:50,54,168;--spectrum-indigo-1100:rgba(var(--spectrum-indigo-1100-rgb));--spectrum-indigo-1200-rgb:38,41,134;--spectrum-indigo-1200:rgba(var(--spectrum-indigo-1200-rgb));--spectrum-indigo-1300-rgb:27,30,100;--spectrum-indigo-1300:rgba(var(--spectrum-indigo-1300-rgb));--spectrum-indigo-1400-rgb:20,22,72;--spectrum-indigo-1400:rgba(var(--spectrum-indigo-1400-rgb));--spectrum-purple-100-rgb:246,235,255;--spectrum-purple-100:rgba(var(--spectrum-purple-100-rgb));--spectrum-purple-200-rgb:238,221,255;--spectrum-purple-200:rgba(var(--spectrum-purple-200-rgb));--spectrum-purple-300-rgb:230,208,255;--spectrum-purple-300:rgba(var(--spectrum-purple-300-rgb));--spectrum-purple-400-rgb:219,187,254;--spectrum-purple-400:rgba(var(--spectrum-purple-400-rgb));--spectrum-purple-500-rgb:204,164,253;--spectrum-purple-500:rgba(var(--spectrum-purple-500-rgb));--spectrum-purple-600-rgb:189,139,252;--spectrum-purple-600:rgba(var(--spectrum-purple-600-rgb));--spectrum-purple-700-rgb:174,114,249;--spectrum-purple-700:rgba(var(--spectrum-purple-700-rgb));--spectrum-purple-800-rgb:157,87,244;--spectrum-purple-800:rgba(var(--spectrum-purple-800-rgb));--spectrum-purple-900-rgb:137,61,231;--spectrum-purple-900:rgba(var(--spectrum-purple-900-rgb));--spectrum-purple-1000-rgb:115,38,211;--spectrum-purple-1000:rgba(var(--spectrum-purple-1000-rgb));--spectrum-purple-1100-rgb:93,19,183;--spectrum-purple-1100:rgba(var(--spectrum-purple-1100-rgb));--spectrum-purple-1200-rgb:71,12,148;--spectrum-purple-1200:rgba(var(--spectrum-purple-1200-rgb));--spectrum-purple-1300-rgb:51,16,106;--spectrum-purple-1300:rgba(var(--spectrum-purple-1300-rgb));--spectrum-purple-1400-rgb:35,15,73;--spectrum-purple-1400:rgba(var(--spectrum-purple-1400-rgb));--spectrum-fuchsia-100-rgb:255,233,252;--spectrum-fuchsia-100:rgba(var(--spectrum-fuchsia-100-rgb));--spectrum-fuchsia-200-rgb:255,218,250;--spectrum-fuchsia-200:rgba(var(--spectrum-fuchsia-200-rgb));--spectrum-fuchsia-300-rgb:254,199,248;--spectrum-fuchsia-300:rgba(var(--spectrum-fuchsia-300-rgb));--spectrum-fuchsia-400-rgb:251,174,246;--spectrum-fuchsia-400:rgba(var(--spectrum-fuchsia-400-rgb));--spectrum-fuchsia-500-rgb:245,146,243;--spectrum-fuchsia-500:rgba(var(--spectrum-fuchsia-500-rgb));--spectrum-fuchsia-600-rgb:237,116,237;--spectrum-fuchsia-600:rgba(var(--spectrum-fuchsia-600-rgb));--spectrum-fuchsia-700-rgb:224,85,226;--spectrum-fuchsia-700:rgba(var(--spectrum-fuchsia-700-rgb));--spectrum-fuchsia-800-rgb:205,58,206;--spectrum-fuchsia-800:rgba(var(--spectrum-fuchsia-800-rgb));--spectrum-fuchsia-900-rgb:182,34,183;--spectrum-fuchsia-900:rgba(var(--spectrum-fuchsia-900-rgb));--spectrum-fuchsia-1000-rgb:157,3,158;--spectrum-fuchsia-1000:rgba(var(--spectrum-fuchsia-1000-rgb));--spectrum-fuchsia-1100-rgb:128,0,129;--spectrum-fuchsia-1100:rgba(var(--spectrum-fuchsia-1100-rgb));--spectrum-fuchsia-1200-rgb:100,6,100;--spectrum-fuchsia-1200:rgba(var(--spectrum-fuchsia-1200-rgb));--spectrum-fuchsia-1300-rgb:71,14,70;--spectrum-fuchsia-1300:rgba(var(--spectrum-fuchsia-1300-rgb));--spectrum-fuchsia-1400-rgb:50,13,49;--spectrum-fuchsia-1400:rgba(var(--spectrum-fuchsia-1400-rgb));--spectrum-magenta-100-rgb:255,234,241;--spectrum-magenta-100:rgba(var(--spectrum-magenta-100-rgb));--spectrum-magenta-200-rgb:255,220,232;--spectrum-magenta-200:rgba(var(--spectrum-magenta-200-rgb));--spectrum-magenta-300-rgb:255,202,221;--spectrum-magenta-300:rgba(var(--spectrum-magenta-300-rgb));--spectrum-magenta-400-rgb:255,178,206;--spectrum-magenta-400:rgba(var(--spectrum-magenta-400-rgb));--spectrum-magenta-500-rgb:255,149,189;--spectrum-magenta-500:rgba(var(--spectrum-magenta-500-rgb));--spectrum-magenta-600-rgb:250,119,170;--spectrum-magenta-600:rgba(var(--spectrum-magenta-600-rgb));--spectrum-magenta-700-rgb:239,90,152;--spectrum-magenta-700:rgba(var(--spectrum-magenta-700-rgb));--spectrum-magenta-800-rgb:222,61,130;--spectrum-magenta-800:rgba(var(--spectrum-magenta-800-rgb));--spectrum-magenta-900-rgb:200,34,105;--spectrum-magenta-900:rgba(var(--spectrum-magenta-900-rgb));--spectrum-magenta-1000-rgb:173,9,85;--spectrum-magenta-1000:rgba(var(--spectrum-magenta-1000-rgb));--spectrum-magenta-1100-rgb:142,0,69;--spectrum-magenta-1100:rgba(var(--spectrum-magenta-1100-rgb));--spectrum-magenta-1200-rgb:112,0,55;--spectrum-magenta-1200:rgba(var(--spectrum-magenta-1200-rgb));--spectrum-magenta-1300-rgb:84,3,42;--spectrum-magenta-1300:rgba(var(--spectrum-magenta-1300-rgb));--spectrum-magenta-1400-rgb:60,6,29;--spectrum-magenta-1400:rgba(var(--spectrum-magenta-1400-rgb))}:host,:root{--spectrum-menu-item-background-color-default-rgb:0,0,0;--spectrum-menu-item-background-color-default-opacity:0;--spectrum-menu-item-background-color-default:rgba(var(--spectrum-menu-item-background-color-default-rgb),var(--spectrum-menu-item-background-color-default-opacity));--spectrum-menu-item-background-color-hover:var(\n--spectrum-transparent-black-200\n);--spectrum-menu-item-background-color-down:var(\n--spectrum-transparent-black-200\n);--spectrum-menu-item-background-color-key-focus:var(\n--spectrum-transparent-black-200\n);--spectrum-drop-zone-background-color-rgb:var(\n--spectrum-blue-800-rgb\n);--spectrum-calendar-day-background-color-selected:rgba(var(--spectrum-blue-900-rgb),0.1);--spectrum-calendar-day-background-color-hover:rgba(var(--spectrum-black-rgb),0.06);--spectrum-calendar-day-today-background-color-selected-hover:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-selected-hover:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-down:var(\n--spectrum-transparent-black-200\n);--spectrum-calendar-day-background-color-cap-selected:rgba(var(--spectrum-blue-900-rgb),0.2);--spectrum-calendar-day-background-color-key-focus:rgba(var(--spectrum-black-rgb),0.06);--spectrum-calendar-day-border-color-key-focus:var(--spectrum-blue-800);--spectrum-badge-label-icon-color-primary:var(--spectrum-white)}\n`;/* harmony default export */ const theme_lightest_css = (theme_lightest_css_e);\n//# sourceMappingURL=theme-lightest.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/theme-lightest.js\nTheme/* Theme */.Q.registerThemeFragment("lightest","color",theme_lightest_css);\n//# sourceMappingURL=theme-lightest.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/theme-dark.css.js\nconst theme_dark_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-color-status:Verified;--spectrum-global-color-version:5.1.0;--spectrum-global-color-opacity-100:1;--spectrum-global-color-opacity-90:0.9;--spectrum-global-color-opacity-80:0.8;--spectrum-global-color-opacity-70:0.7;--spectrum-global-color-opacity-60:0.6;--spectrum-global-color-opacity-55:0.55;--spectrum-global-color-opacity-50:0.5;--spectrum-global-color-opacity-42:0.42;--spectrum-global-color-opacity-40:0.4;--spectrum-global-color-opacity-30:0.3;--spectrum-global-color-opacity-25:0.25;--spectrum-global-color-opacity-20:0.2;--spectrum-global-color-opacity-15:0.15;--spectrum-global-color-opacity-10:0.1;--spectrum-global-color-opacity-8:0.08;--spectrum-global-color-opacity-7:0.07;--spectrum-global-color-opacity-6:0.06;--spectrum-global-color-opacity-5:0.05;--spectrum-global-color-opacity-4:0.04;--spectrum-global-color-opacity-0:0;--spectrum-global-color-celery-400-rgb:34,184,51;--spectrum-global-color-celery-400:rgb(var(--spectrum-global-color-celery-400-rgb));--spectrum-global-color-celery-500-rgb:68,202,73;--spectrum-global-color-celery-500:rgb(var(--spectrum-global-color-celery-500-rgb));--spectrum-global-color-celery-600-rgb:105,220,99;--spectrum-global-color-celery-600:rgb(var(--spectrum-global-color-celery-600-rgb));--spectrum-global-color-celery-700-rgb:142,235,127;--spectrum-global-color-celery-700:rgb(var(--spectrum-global-color-celery-700-rgb));--spectrum-global-color-chartreuse-400-rgb:148,192,8;--spectrum-global-color-chartreuse-400:rgb(var(--spectrum-global-color-chartreuse-400-rgb));--spectrum-global-color-chartreuse-500-rgb:166,211,18;--spectrum-global-color-chartreuse-500:rgb(var(--spectrum-global-color-chartreuse-500-rgb));--spectrum-global-color-chartreuse-600-rgb:184,229,37;--spectrum-global-color-chartreuse-600:rgb(var(--spectrum-global-color-chartreuse-600-rgb));--spectrum-global-color-chartreuse-700-rgb:205,245,71;--spectrum-global-color-chartreuse-700:rgb(var(--spectrum-global-color-chartreuse-700-rgb));--spectrum-global-color-yellow-400-rgb:228,194,0;--spectrum-global-color-yellow-400:rgb(var(--spectrum-global-color-yellow-400-rgb));--spectrum-global-color-yellow-500-rgb:244,213,0;--spectrum-global-color-yellow-500:rgb(var(--spectrum-global-color-yellow-500-rgb));--spectrum-global-color-yellow-600-rgb:249,232,92;--spectrum-global-color-yellow-600:rgb(var(--spectrum-global-color-yellow-600-rgb));--spectrum-global-color-yellow-700-rgb:252,246,187;--spectrum-global-color-yellow-700:rgb(var(--spectrum-global-color-yellow-700-rgb));--spectrum-global-color-magenta-400-rgb:222,61,130;--spectrum-global-color-magenta-400:rgb(var(--spectrum-global-color-magenta-400-rgb));--spectrum-global-color-magenta-500-rgb:237,87,149;--spectrum-global-color-magenta-500:rgb(var(--spectrum-global-color-magenta-500-rgb));--spectrum-global-color-magenta-600-rgb:249,114,167;--spectrum-global-color-magenta-600:rgb(var(--spectrum-global-color-magenta-600-rgb));--spectrum-global-color-magenta-700-rgb:255,143,185;--spectrum-global-color-magenta-700:rgb(var(--spectrum-global-color-magenta-700-rgb));--spectrum-global-color-fuchsia-400-rgb:205,57,206;--spectrum-global-color-fuchsia-400:rgb(var(--spectrum-global-color-fuchsia-400-rgb));--spectrum-global-color-fuchsia-500-rgb:223,81,224;--spectrum-global-color-fuchsia-500:rgb(var(--spectrum-global-color-fuchsia-500-rgb));--spectrum-global-color-fuchsia-600-rgb:235,110,236;--spectrum-global-color-fuchsia-600:rgb(var(--spectrum-global-color-fuchsia-600-rgb));--spectrum-global-color-fuchsia-700-rgb:244,140,242;--spectrum-global-color-fuchsia-700:rgb(var(--spectrum-global-color-fuchsia-700-rgb));--spectrum-global-color-purple-400-rgb:157,87,243;--spectrum-global-color-purple-400:rgb(var(--spectrum-global-color-purple-400-rgb));--spectrum-global-color-purple-500-rgb:172,111,249;--spectrum-global-color-purple-500:rgb(var(--spectrum-global-color-purple-500-rgb));--spectrum-global-color-purple-600-rgb:187,135,251;--spectrum-global-color-purple-600:rgb(var(--spectrum-global-color-purple-600-rgb));--spectrum-global-color-purple-700-rgb:202,159,252;--spectrum-global-color-purple-700:rgb(var(--spectrum-global-color-purple-700-rgb));--spectrum-global-color-indigo-400-rgb:104,109,244;--spectrum-global-color-indigo-400:rgb(var(--spectrum-global-color-indigo-400-rgb));--spectrum-global-color-indigo-500-rgb:124,129,251;--spectrum-global-color-indigo-500:rgb(var(--spectrum-global-color-indigo-500-rgb));--spectrum-global-color-indigo-600-rgb:145,149,255;--spectrum-global-color-indigo-600:rgb(var(--spectrum-global-color-indigo-600-rgb));--spectrum-global-color-indigo-700-rgb:167,170,255;--spectrum-global-color-indigo-700:rgb(var(--spectrum-global-color-indigo-700-rgb));--spectrum-global-color-seafoam-400-rgb:0,158,152;--spectrum-global-color-seafoam-400:rgb(var(--spectrum-global-color-seafoam-400-rgb));--spectrum-global-color-seafoam-500-rgb:3,178,171;--spectrum-global-color-seafoam-500:rgb(var(--spectrum-global-color-seafoam-500-rgb));--spectrum-global-color-seafoam-600-rgb:54,197,189;--spectrum-global-color-seafoam-600:rgb(var(--spectrum-global-color-seafoam-600-rgb));--spectrum-global-color-seafoam-700-rgb:93,214,207;--spectrum-global-color-seafoam-700:rgb(var(--spectrum-global-color-seafoam-700-rgb));--spectrum-global-color-red-400-rgb:234,56,41;--spectrum-global-color-red-400:rgb(var(--spectrum-global-color-red-400-rgb));--spectrum-global-color-red-500-rgb:246,88,67;--spectrum-global-color-red-500:rgb(var(--spectrum-global-color-red-500-rgb));--spectrum-global-color-red-600-rgb:255,117,94;--spectrum-global-color-red-600:rgb(var(--spectrum-global-color-red-600-rgb));--spectrum-global-color-red-700-rgb:255,149,129;--spectrum-global-color-red-700:rgb(var(--spectrum-global-color-red-700-rgb));--spectrum-global-color-orange-400-rgb:244,129,12;--spectrum-global-color-orange-400:rgb(var(--spectrum-global-color-orange-400-rgb));--spectrum-global-color-orange-500-rgb:254,154,46;--spectrum-global-color-orange-500:rgb(var(--spectrum-global-color-orange-500-rgb));--spectrum-global-color-orange-600-rgb:255,181,88;--spectrum-global-color-orange-600:rgb(var(--spectrum-global-color-orange-600-rgb));--spectrum-global-color-orange-700-rgb:253,206,136;--spectrum-global-color-orange-700:rgb(var(--spectrum-global-color-orange-700-rgb));--spectrum-global-color-green-400-rgb:18,162,108;--spectrum-global-color-green-400:rgb(var(--spectrum-global-color-green-400-rgb));--spectrum-global-color-green-500-rgb:43,180,125;--spectrum-global-color-green-500:rgb(var(--spectrum-global-color-green-500-rgb));--spectrum-global-color-green-600-rgb:67,199,143;--spectrum-global-color-green-600:rgb(var(--spectrum-global-color-green-600-rgb));--spectrum-global-color-green-700-rgb:94,217,162;--spectrum-global-color-green-700:rgb(var(--spectrum-global-color-green-700-rgb));--spectrum-global-color-blue-400-rgb:52,143,244;--spectrum-global-color-blue-400:rgb(var(--spectrum-global-color-blue-400-rgb));--spectrum-global-color-blue-500-rgb:84,163,246;--spectrum-global-color-blue-500:rgb(var(--spectrum-global-color-blue-500-rgb));--spectrum-global-color-blue-600-rgb:114,183,249;--spectrum-global-color-blue-600:rgb(var(--spectrum-global-color-blue-600-rgb));--spectrum-global-color-blue-700-rgb:143,202,252;--spectrum-global-color-blue-700:rgb(var(--spectrum-global-color-blue-700-rgb));--spectrum-global-color-gray-50-rgb:29,29,29;--spectrum-global-color-gray-50:rgb(var(--spectrum-global-color-gray-50-rgb));--spectrum-global-color-gray-75-rgb:38,38,38;--spectrum-global-color-gray-75:rgb(var(--spectrum-global-color-gray-75-rgb));--spectrum-global-color-gray-100-rgb:50,50,50;--spectrum-global-color-gray-100:rgb(var(--spectrum-global-color-gray-100-rgb));--spectrum-global-color-gray-200-rgb:63,63,63;--spectrum-global-color-gray-200:rgb(var(--spectrum-global-color-gray-200-rgb));--spectrum-global-color-gray-300-rgb:84,84,84;--spectrum-global-color-gray-300:rgb(var(--spectrum-global-color-gray-300-rgb));--spectrum-global-color-gray-400-rgb:112,112,112;--spectrum-global-color-gray-400:rgb(var(--spectrum-global-color-gray-400-rgb));--spectrum-global-color-gray-500-rgb:144,144,144;--spectrum-global-color-gray-500:rgb(var(--spectrum-global-color-gray-500-rgb));--spectrum-global-color-gray-600-rgb:178,178,178;--spectrum-global-color-gray-600:rgb(var(--spectrum-global-color-gray-600-rgb));--spectrum-global-color-gray-700-rgb:209,209,209;--spectrum-global-color-gray-700:rgb(var(--spectrum-global-color-gray-700-rgb));--spectrum-global-color-gray-800-rgb:235,235,235;--spectrum-global-color-gray-800:rgb(var(--spectrum-global-color-gray-800-rgb));--spectrum-global-color-gray-900-rgb:255,255,255;--spectrum-global-color-gray-900:rgb(var(--spectrum-global-color-gray-900-rgb));--spectrum-alias-background-color-primary:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-background-color-secondary:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-background-color-tertiary:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-background-color-modal-overlay:rgba(0,0,0,.5);--spectrum-alias-dropshadow-color:rgba(0,0,0,.5);--spectrum-alias-background-color-hover-overlay:hsla(0,0%,100%,.06);--spectrum-alias-highlight-hover:hsla(0,0%,100%,.07);--spectrum-alias-highlight-down:hsla(0,0%,100%,.1);--spectrum-alias-highlight-selected:rgba(84,163,246,.15);--spectrum-alias-highlight-selected-hover:rgba(84,163,246,.25);--spectrum-alias-text-highlight-color:rgba(84,163,246,.25);--spectrum-alias-background-color-quickactions:rgba(50,50,50,.9);--spectrum-alias-border-color-selected:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-border-color-translucent:hsla(0,0%,100%,.1);--spectrum-alias-radial-reaction-color-default:hsla(0,0%,92%,.6);--spectrum-alias-pasteboard-background-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-appframe-border-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-appframe-separator-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-scrollbar-mac-s-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-scrollbar-mac-m-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-scrollbar-mac-l-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-well-background-color:hsla(0,0%,92%,.02);--spectrum-well-border-color:hsla(0,0%,100%,.05)}:host,:root{color-scheme:dark}:host,:root{--spectrum-overlay-opacity:0.5;--spectrum-drop-shadow-color-rgb:0,0,0;--spectrum-drop-shadow-color-opacity:0.5;--spectrum-drop-shadow-color:rgba(var(--spectrum-drop-shadow-color-rgb),var(--spectrum-drop-shadow-color-opacity));--spectrum-background-base-color:var(--spectrum-gray-50);--spectrum-background-layer-1-color:var(--spectrum-gray-75);--spectrum-background-layer-2-color:var(--spectrum-gray-100);--spectrum-neutral-background-color-default:var(--spectrum-gray-400);--spectrum-neutral-background-color-hover:var(--spectrum-gray-300);--spectrum-neutral-background-color-down:var(--spectrum-gray-200);--spectrum-neutral-background-color-key-focus:var(--spectrum-gray-300);--spectrum-neutral-subdued-background-color-default:var(\n--spectrum-gray-400\n);--spectrum-neutral-subdued-background-color-hover:var(--spectrum-gray-300);--spectrum-neutral-subdued-background-color-down:var(--spectrum-gray-200);--spectrum-neutral-subdued-background-color-key-focus:var(\n--spectrum-gray-300\n);--spectrum-accent-background-color-default:var(\n--spectrum-accent-color-500\n);--spectrum-accent-background-color-hover:var(--spectrum-accent-color-400);--spectrum-accent-background-color-down:var(--spectrum-accent-color-300);--spectrum-accent-background-color-key-focus:var(\n--spectrum-accent-color-400\n);--spectrum-informative-background-color-default:var(\n--spectrum-informative-color-500\n);--spectrum-informative-background-color-hover:var(\n--spectrum-informative-color-400\n);--spectrum-informative-background-color-down:var(\n--spectrum-informative-color-300\n);--spectrum-informative-background-color-key-focus:var(\n--spectrum-informative-color-400\n);--spectrum-negative-background-color-default:var(\n--spectrum-negative-color-500\n);--spectrum-negative-background-color-hover:var(\n--spectrum-negative-color-400\n);--spectrum-negative-background-color-down:var(\n--spectrum-negative-color-300\n);--spectrum-negative-background-color-key-focus:var(\n--spectrum-negative-color-400\n);--spectrum-positive-background-color-default:var(\n--spectrum-positive-color-500\n);--spectrum-positive-background-color-hover:var(\n--spectrum-positive-color-400\n);--spectrum-positive-background-color-down:var(\n--spectrum-positive-color-300\n);--spectrum-positive-background-color-key-focus:var(\n--spectrum-positive-color-400\n);--spectrum-notice-background-color-default:var(\n--spectrum-notice-color-800\n);--spectrum-gray-background-color-default:var(--spectrum-gray-700);--spectrum-red-background-color-default:var(--spectrum-red-700);--spectrum-orange-background-color-default:var(--spectrum-orange-800);--spectrum-yellow-background-color-default:var(--spectrum-yellow-1000);--spectrum-chartreuse-background-color-default:var(\n--spectrum-chartreuse-900\n);--spectrum-celery-background-color-default:var(--spectrum-celery-800);--spectrum-green-background-color-default:var(--spectrum-green-700);--spectrum-seafoam-background-color-default:var(--spectrum-seafoam-700);--spectrum-cyan-background-color-default:var(--spectrum-cyan-700);--spectrum-blue-background-color-default:var(--spectrum-blue-700);--spectrum-indigo-background-color-default:var(--spectrum-indigo-700);--spectrum-purple-background-color-default:var(--spectrum-purple-700);--spectrum-fuchsia-background-color-default:var(--spectrum-fuchsia-700);--spectrum-magenta-background-color-default:var(--spectrum-magenta-700);--spectrum-neutral-visual-color:var(--spectrum-gray-600);--spectrum-accent-visual-color:var(--spectrum-accent-color-900);--spectrum-informative-visual-color:var(--spectrum-informative-color-900);--spectrum-negative-visual-color:var(--spectrum-negative-color-700);--spectrum-notice-visual-color:var(--spectrum-notice-color-900);--spectrum-positive-visual-color:var(--spectrum-positive-color-800);--spectrum-gray-visual-color:var(--spectrum-gray-600);--spectrum-red-visual-color:var(--spectrum-red-700);--spectrum-orange-visual-color:var(--spectrum-orange-900);--spectrum-yellow-visual-color:var(--spectrum-yellow-1100);--spectrum-chartreuse-visual-color:var(--spectrum-chartreuse-900);--spectrum-celery-visual-color:var(--spectrum-celery-800);--spectrum-green-visual-color:var(--spectrum-green-800);--spectrum-seafoam-visual-color:var(--spectrum-seafoam-800);--spectrum-cyan-visual-color:var(--spectrum-cyan-900);--spectrum-blue-visual-color:var(--spectrum-blue-900);--spectrum-indigo-visual-color:var(--spectrum-indigo-900);--spectrum-purple-visual-color:var(--spectrum-purple-900);--spectrum-fuchsia-visual-color:var(--spectrum-fuchsia-900);--spectrum-magenta-visual-color:var(--spectrum-magenta-900);--spectrum-opacity-checkerboard-square-dark:var(--spectrum-gray-800);--spectrum-gray-50-rgb:29,29,29;--spectrum-gray-50:rgba(var(--spectrum-gray-50-rgb));--spectrum-gray-75-rgb:38,38,38;--spectrum-gray-75:rgba(var(--spectrum-gray-75-rgb));--spectrum-gray-100-rgb:50,50,50;--spectrum-gray-100:rgba(var(--spectrum-gray-100-rgb));--spectrum-gray-200-rgb:63,63,63;--spectrum-gray-200:rgba(var(--spectrum-gray-200-rgb));--spectrum-gray-300-rgb:84,84,84;--spectrum-gray-300:rgba(var(--spectrum-gray-300-rgb));--spectrum-gray-400-rgb:112,112,112;--spectrum-gray-400:rgba(var(--spectrum-gray-400-rgb));--spectrum-gray-500-rgb:144,144,144;--spectrum-gray-500:rgba(var(--spectrum-gray-500-rgb));--spectrum-gray-600-rgb:178,178,178;--spectrum-gray-600:rgba(var(--spectrum-gray-600-rgb));--spectrum-gray-700-rgb:209,209,209;--spectrum-gray-700:rgba(var(--spectrum-gray-700-rgb));--spectrum-gray-800-rgb:235,235,235;--spectrum-gray-800:rgba(var(--spectrum-gray-800-rgb));--spectrum-gray-900-rgb:255,255,255;--spectrum-gray-900:rgba(var(--spectrum-gray-900-rgb));--spectrum-blue-100-rgb:0,56,119;--spectrum-blue-100:rgba(var(--spectrum-blue-100-rgb));--spectrum-blue-200-rgb:0,65,138;--spectrum-blue-200:rgba(var(--spectrum-blue-200-rgb));--spectrum-blue-300-rgb:0,77,163;--spectrum-blue-300:rgba(var(--spectrum-blue-300-rgb));--spectrum-blue-400-rgb:0,89,194;--spectrum-blue-400:rgba(var(--spectrum-blue-400-rgb));--spectrum-blue-500-rgb:3,103,224;--spectrum-blue-500:rgba(var(--spectrum-blue-500-rgb));--spectrum-blue-600-rgb:19,121,243;--spectrum-blue-600:rgba(var(--spectrum-blue-600-rgb));--spectrum-blue-700-rgb:52,143,244;--spectrum-blue-700:rgba(var(--spectrum-blue-700-rgb));--spectrum-blue-800-rgb:84,163,246;--spectrum-blue-800:rgba(var(--spectrum-blue-800-rgb));--spectrum-blue-900-rgb:114,183,249;--spectrum-blue-900:rgba(var(--spectrum-blue-900-rgb));--spectrum-blue-1000-rgb:143,202,252;--spectrum-blue-1000:rgba(var(--spectrum-blue-1000-rgb));--spectrum-blue-1100-rgb:174,219,254;--spectrum-blue-1100:rgba(var(--spectrum-blue-1100-rgb));--spectrum-blue-1200-rgb:204,233,255;--spectrum-blue-1200:rgba(var(--spectrum-blue-1200-rgb));--spectrum-blue-1300-rgb:232,246,255;--spectrum-blue-1300:rgba(var(--spectrum-blue-1300-rgb));--spectrum-blue-1400-rgb:255,255,255;--spectrum-blue-1400:rgba(var(--spectrum-blue-1400-rgb));--spectrum-red-100-rgb:123,0,0;--spectrum-red-100:rgba(var(--spectrum-red-100-rgb));--spectrum-red-200-rgb:141,0,0;--spectrum-red-200:rgba(var(--spectrum-red-200-rgb));--spectrum-red-300-rgb:165,0,0;--spectrum-red-300:rgba(var(--spectrum-red-300-rgb));--spectrum-red-400-rgb:190,4,3;--spectrum-red-400:rgba(var(--spectrum-red-400-rgb));--spectrum-red-500-rgb:215,25,19;--spectrum-red-500:rgba(var(--spectrum-red-500-rgb));--spectrum-red-600-rgb:234,56,41;--spectrum-red-600:rgba(var(--spectrum-red-600-rgb));--spectrum-red-700-rgb:246,88,67;--spectrum-red-700:rgba(var(--spectrum-red-700-rgb));--spectrum-red-800-rgb:255,117,94;--spectrum-red-800:rgba(var(--spectrum-red-800-rgb));--spectrum-red-900-rgb:255,149,129;--spectrum-red-900:rgba(var(--spectrum-red-900-rgb));--spectrum-red-1000-rgb:255,176,161;--spectrum-red-1000:rgba(var(--spectrum-red-1000-rgb));--spectrum-red-1100-rgb:255,201,189;--spectrum-red-1100:rgba(var(--spectrum-red-1100-rgb));--spectrum-red-1200-rgb:255,222,216;--spectrum-red-1200:rgba(var(--spectrum-red-1200-rgb));--spectrum-red-1300-rgb:255,241,238;--spectrum-red-1300:rgba(var(--spectrum-red-1300-rgb));--spectrum-red-1400-rgb:255,255,255;--spectrum-red-1400:rgba(var(--spectrum-red-1400-rgb));--spectrum-orange-100-rgb:102,37,0;--spectrum-orange-100:rgba(var(--spectrum-orange-100-rgb));--spectrum-orange-200-rgb:117,45,0;--spectrum-orange-200:rgba(var(--spectrum-orange-200-rgb));--spectrum-orange-300-rgb:137,55,0;--spectrum-orange-300:rgba(var(--spectrum-orange-300-rgb));--spectrum-orange-400-rgb:158,66,0;--spectrum-orange-400:rgba(var(--spectrum-orange-400-rgb));--spectrum-orange-500-rgb:180,78,0;--spectrum-orange-500:rgba(var(--spectrum-orange-500-rgb));--spectrum-orange-600-rgb:202,93,0;--spectrum-orange-600:rgba(var(--spectrum-orange-600-rgb));--spectrum-orange-700-rgb:225,109,0;--spectrum-orange-700:rgba(var(--spectrum-orange-700-rgb));--spectrum-orange-800-rgb:244,129,12;--spectrum-orange-800:rgba(var(--spectrum-orange-800-rgb));--spectrum-orange-900-rgb:254,154,46;--spectrum-orange-900:rgba(var(--spectrum-orange-900-rgb));--spectrum-orange-1000-rgb:255,181,88;--spectrum-orange-1000:rgba(var(--spectrum-orange-1000-rgb));--spectrum-orange-1100-rgb:253,206,136;--spectrum-orange-1100:rgba(var(--spectrum-orange-1100-rgb));--spectrum-orange-1200-rgb:255,225,179;--spectrum-orange-1200:rgba(var(--spectrum-orange-1200-rgb));--spectrum-orange-1300-rgb:255,242,221;--spectrum-orange-1300:rgba(var(--spectrum-orange-1300-rgb));--spectrum-orange-1400-rgb:255,253,249;--spectrum-orange-1400:rgba(var(--spectrum-orange-1400-rgb));--spectrum-yellow-100-rgb:76,54,0;--spectrum-yellow-100:rgba(var(--spectrum-yellow-100-rgb));--spectrum-yellow-200-rgb:88,64,0;--spectrum-yellow-200:rgba(var(--spectrum-yellow-200-rgb));--spectrum-yellow-300-rgb:103,76,0;--spectrum-yellow-300:rgba(var(--spectrum-yellow-300-rgb));--spectrum-yellow-400-rgb:119,89,0;--spectrum-yellow-400:rgba(var(--spectrum-yellow-400-rgb));--spectrum-yellow-500-rgb:136,104,0;--spectrum-yellow-500:rgba(var(--spectrum-yellow-500-rgb));--spectrum-yellow-600-rgb:155,120,0;--spectrum-yellow-600:rgba(var(--spectrum-yellow-600-rgb));--spectrum-yellow-700-rgb:174,137,0;--spectrum-yellow-700:rgba(var(--spectrum-yellow-700-rgb));--spectrum-yellow-800-rgb:192,156,0;--spectrum-yellow-800:rgba(var(--spectrum-yellow-800-rgb));--spectrum-yellow-900-rgb:211,174,0;--spectrum-yellow-900:rgba(var(--spectrum-yellow-900-rgb));--spectrum-yellow-1000-rgb:228,194,0;--spectrum-yellow-1000:rgba(var(--spectrum-yellow-1000-rgb));--spectrum-yellow-1100-rgb:244,213,0;--spectrum-yellow-1100:rgba(var(--spectrum-yellow-1100-rgb));--spectrum-yellow-1200-rgb:249,232,92;--spectrum-yellow-1200:rgba(var(--spectrum-yellow-1200-rgb));--spectrum-yellow-1300-rgb:252,246,187;--spectrum-yellow-1300:rgba(var(--spectrum-yellow-1300-rgb));--spectrum-yellow-1400-rgb:255,255,255;--spectrum-yellow-1400:rgba(var(--spectrum-yellow-1400-rgb));--spectrum-chartreuse-100-rgb:48,64,0;--spectrum-chartreuse-100:rgba(var(--spectrum-chartreuse-100-rgb));--spectrum-chartreuse-200-rgb:55,74,0;--spectrum-chartreuse-200:rgba(var(--spectrum-chartreuse-200-rgb));--spectrum-chartreuse-300-rgb:65,87,0;--spectrum-chartreuse-300:rgba(var(--spectrum-chartreuse-300-rgb));--spectrum-chartreuse-400-rgb:76,102,0;--spectrum-chartreuse-400:rgba(var(--spectrum-chartreuse-400-rgb));--spectrum-chartreuse-500-rgb:89,118,0;--spectrum-chartreuse-500:rgba(var(--spectrum-chartreuse-500-rgb));--spectrum-chartreuse-600-rgb:102,136,0;--spectrum-chartreuse-600:rgba(var(--spectrum-chartreuse-600-rgb));--spectrum-chartreuse-700-rgb:117,154,0;--spectrum-chartreuse-700:rgba(var(--spectrum-chartreuse-700-rgb));--spectrum-chartreuse-800-rgb:132,173,1;--spectrum-chartreuse-800:rgba(var(--spectrum-chartreuse-800-rgb));--spectrum-chartreuse-900-rgb:148,192,8;--spectrum-chartreuse-900:rgba(var(--spectrum-chartreuse-900-rgb));--spectrum-chartreuse-1000-rgb:166,211,18;--spectrum-chartreuse-1000:rgba(var(--spectrum-chartreuse-1000-rgb));--spectrum-chartreuse-1100-rgb:184,229,37;--spectrum-chartreuse-1100:rgba(var(--spectrum-chartreuse-1100-rgb));--spectrum-chartreuse-1200-rgb:205,245,71;--spectrum-chartreuse-1200:rgba(var(--spectrum-chartreuse-1200-rgb));--spectrum-chartreuse-1300-rgb:231,254,154;--spectrum-chartreuse-1300:rgba(var(--spectrum-chartreuse-1300-rgb));--spectrum-chartreuse-1400-rgb:255,255,255;--spectrum-chartreuse-1400:rgba(var(--spectrum-chartreuse-1400-rgb));--spectrum-celery-100-rgb:0,69,10;--spectrum-celery-100:rgba(var(--spectrum-celery-100-rgb));--spectrum-celery-200-rgb:0,80,12;--spectrum-celery-200:rgba(var(--spectrum-celery-200-rgb));--spectrum-celery-300-rgb:0,94,14;--spectrum-celery-300:rgba(var(--spectrum-celery-300-rgb));--spectrum-celery-400-rgb:0,109,15;--spectrum-celery-400:rgba(var(--spectrum-celery-400-rgb));--spectrum-celery-500-rgb:0,127,15;--spectrum-celery-500:rgba(var(--spectrum-celery-500-rgb));--spectrum-celery-600-rgb:0,145,18;--spectrum-celery-600:rgba(var(--spectrum-celery-600-rgb));--spectrum-celery-700-rgb:4,165,30;--spectrum-celery-700:rgba(var(--spectrum-celery-700-rgb));--spectrum-celery-800-rgb:34,184,51;--spectrum-celery-800:rgba(var(--spectrum-celery-800-rgb));--spectrum-celery-900-rgb:68,202,73;--spectrum-celery-900:rgba(var(--spectrum-celery-900-rgb));--spectrum-celery-1000-rgb:105,220,99;--spectrum-celery-1000:rgba(var(--spectrum-celery-1000-rgb));--spectrum-celery-1100-rgb:142,235,127;--spectrum-celery-1100:rgba(var(--spectrum-celery-1100-rgb));--spectrum-celery-1200-rgb:180,247,162;--spectrum-celery-1200:rgba(var(--spectrum-celery-1200-rgb));--spectrum-celery-1300-rgb:221,253,211;--spectrum-celery-1300:rgba(var(--spectrum-celery-1300-rgb));--spectrum-celery-1400-rgb:255,255,255;--spectrum-celery-1400:rgba(var(--spectrum-celery-1400-rgb));--spectrum-green-100-rgb:4,67,41;--spectrum-green-100:rgba(var(--spectrum-green-100-rgb));--spectrum-green-200-rgb:0,78,47;--spectrum-green-200:rgba(var(--spectrum-green-200-rgb));--spectrum-green-300-rgb:0,92,56;--spectrum-green-300:rgba(var(--spectrum-green-300-rgb));--spectrum-green-400-rgb:0,108,67;--spectrum-green-400:rgba(var(--spectrum-green-400-rgb));--spectrum-green-500-rgb:0,125,78;--spectrum-green-500:rgba(var(--spectrum-green-500-rgb));--spectrum-green-600-rgb:0,143,93;--spectrum-green-600:rgba(var(--spectrum-green-600-rgb));--spectrum-green-700-rgb:18,162,108;--spectrum-green-700:rgba(var(--spectrum-green-700-rgb));--spectrum-green-800-rgb:43,180,125;--spectrum-green-800:rgba(var(--spectrum-green-800-rgb));--spectrum-green-900-rgb:67,199,143;--spectrum-green-900:rgba(var(--spectrum-green-900-rgb));--spectrum-green-1000-rgb:94,217,162;--spectrum-green-1000:rgba(var(--spectrum-green-1000-rgb));--spectrum-green-1100-rgb:129,233,184;--spectrum-green-1100:rgba(var(--spectrum-green-1100-rgb));--spectrum-green-1200-rgb:177,244,209;--spectrum-green-1200:rgba(var(--spectrum-green-1200-rgb));--spectrum-green-1300-rgb:223,250,234;--spectrum-green-1300:rgba(var(--spectrum-green-1300-rgb));--spectrum-green-1400-rgb:254,255,252;--spectrum-green-1400:rgba(var(--spectrum-green-1400-rgb));--spectrum-seafoam-100-rgb:18,65,63;--spectrum-seafoam-100:rgba(var(--spectrum-seafoam-100-rgb));--spectrum-seafoam-200-rgb:14,76,73;--spectrum-seafoam-200:rgba(var(--spectrum-seafoam-200-rgb));--spectrum-seafoam-300-rgb:4,90,87;--spectrum-seafoam-300:rgba(var(--spectrum-seafoam-300-rgb));--spectrum-seafoam-400-rgb:0,105,101;--spectrum-seafoam-400:rgba(var(--spectrum-seafoam-400-rgb));--spectrum-seafoam-500-rgb:0,122,117;--spectrum-seafoam-500:rgba(var(--spectrum-seafoam-500-rgb));--spectrum-seafoam-600-rgb:0,140,135;--spectrum-seafoam-600:rgba(var(--spectrum-seafoam-600-rgb));--spectrum-seafoam-700-rgb:0,158,152;--spectrum-seafoam-700:rgba(var(--spectrum-seafoam-700-rgb));--spectrum-seafoam-800-rgb:3,178,171;--spectrum-seafoam-800:rgba(var(--spectrum-seafoam-800-rgb));--spectrum-seafoam-900-rgb:54,197,189;--spectrum-seafoam-900:rgba(var(--spectrum-seafoam-900-rgb));--spectrum-seafoam-1000-rgb:93,214,207;--spectrum-seafoam-1000:rgba(var(--spectrum-seafoam-1000-rgb));--spectrum-seafoam-1100-rgb:132,230,223;--spectrum-seafoam-1100:rgba(var(--spectrum-seafoam-1100-rgb));--spectrum-seafoam-1200-rgb:176,242,236;--spectrum-seafoam-1200:rgba(var(--spectrum-seafoam-1200-rgb));--spectrum-seafoam-1300-rgb:223,249,246;--spectrum-seafoam-1300:rgba(var(--spectrum-seafoam-1300-rgb));--spectrum-seafoam-1400-rgb:254,255,254;--spectrum-seafoam-1400:rgba(var(--spectrum-seafoam-1400-rgb));--spectrum-cyan-100-rgb:0,61,98;--spectrum-cyan-100:rgba(var(--spectrum-cyan-100-rgb));--spectrum-cyan-200-rgb:0,71,111;--spectrum-cyan-200:rgba(var(--spectrum-cyan-200-rgb));--spectrum-cyan-300-rgb:0,85,127;--spectrum-cyan-300:rgba(var(--spectrum-cyan-300-rgb));--spectrum-cyan-400-rgb:0,100,145;--spectrum-cyan-400:rgba(var(--spectrum-cyan-400-rgb));--spectrum-cyan-500-rgb:0,116,162;--spectrum-cyan-500:rgba(var(--spectrum-cyan-500-rgb));--spectrum-cyan-600-rgb:0,134,180;--spectrum-cyan-600:rgba(var(--spectrum-cyan-600-rgb));--spectrum-cyan-700-rgb:0,153,198;--spectrum-cyan-700:rgba(var(--spectrum-cyan-700-rgb));--spectrum-cyan-800-rgb:14,173,215;--spectrum-cyan-800:rgba(var(--spectrum-cyan-800-rgb));--spectrum-cyan-900-rgb:44,193,230;--spectrum-cyan-900:rgba(var(--spectrum-cyan-900-rgb));--spectrum-cyan-1000-rgb:84,211,241;--spectrum-cyan-1000:rgba(var(--spectrum-cyan-1000-rgb));--spectrum-cyan-1100-rgb:127,228,249;--spectrum-cyan-1100:rgba(var(--spectrum-cyan-1100-rgb));--spectrum-cyan-1200-rgb:167,241,255;--spectrum-cyan-1200:rgba(var(--spectrum-cyan-1200-rgb));--spectrum-cyan-1300-rgb:215,250,255;--spectrum-cyan-1300:rgba(var(--spectrum-cyan-1300-rgb));--spectrum-cyan-1400-rgb:255,255,255;--spectrum-cyan-1400:rgba(var(--spectrum-cyan-1400-rgb));--spectrum-indigo-100-rgb:40,44,140;--spectrum-indigo-100:rgba(var(--spectrum-indigo-100-rgb));--spectrum-indigo-200-rgb:47,52,163;--spectrum-indigo-200:rgba(var(--spectrum-indigo-200-rgb));--spectrum-indigo-300-rgb:57,63,187;--spectrum-indigo-300:rgba(var(--spectrum-indigo-300-rgb));--spectrum-indigo-400-rgb:70,75,211;--spectrum-indigo-400:rgba(var(--spectrum-indigo-400-rgb));--spectrum-indigo-500-rgb:85,91,231;--spectrum-indigo-500:rgba(var(--spectrum-indigo-500-rgb));--spectrum-indigo-600-rgb:104,109,244;--spectrum-indigo-600:rgba(var(--spectrum-indigo-600-rgb));--spectrum-indigo-700-rgb:124,129,251;--spectrum-indigo-700:rgba(var(--spectrum-indigo-700-rgb));--spectrum-indigo-800-rgb:145,149,255;--spectrum-indigo-800:rgba(var(--spectrum-indigo-800-rgb));--spectrum-indigo-900-rgb:167,170,255;--spectrum-indigo-900:rgba(var(--spectrum-indigo-900-rgb));--spectrum-indigo-1000-rgb:188,190,255;--spectrum-indigo-1000:rgba(var(--spectrum-indigo-1000-rgb));--spectrum-indigo-1100-rgb:208,210,255;--spectrum-indigo-1100:rgba(var(--spectrum-indigo-1100-rgb));--spectrum-indigo-1200-rgb:226,228,255;--spectrum-indigo-1200:rgba(var(--spectrum-indigo-1200-rgb));--spectrum-indigo-1300-rgb:243,243,254;--spectrum-indigo-1300:rgba(var(--spectrum-indigo-1300-rgb));--spectrum-indigo-1400-rgb:255,255,255;--spectrum-indigo-1400:rgba(var(--spectrum-indigo-1400-rgb));--spectrum-purple-100-rgb:76,13,157;--spectrum-purple-100:rgba(var(--spectrum-purple-100-rgb));--spectrum-purple-200-rgb:89,17,177;--spectrum-purple-200:rgba(var(--spectrum-purple-200-rgb));--spectrum-purple-300-rgb:105,28,200;--spectrum-purple-300:rgba(var(--spectrum-purple-300-rgb));--spectrum-purple-400-rgb:122,45,218;--spectrum-purple-400:rgba(var(--spectrum-purple-400-rgb));--spectrum-purple-500-rgb:140,65,233;--spectrum-purple-500:rgba(var(--spectrum-purple-500-rgb));--spectrum-purple-600-rgb:157,87,243;--spectrum-purple-600:rgba(var(--spectrum-purple-600-rgb));--spectrum-purple-700-rgb:172,111,249;--spectrum-purple-700:rgba(var(--spectrum-purple-700-rgb));--spectrum-purple-800-rgb:187,135,251;--spectrum-purple-800:rgba(var(--spectrum-purple-800-rgb));--spectrum-purple-900-rgb:202,159,252;--spectrum-purple-900:rgba(var(--spectrum-purple-900-rgb));--spectrum-purple-1000-rgb:215,182,254;--spectrum-purple-1000:rgba(var(--spectrum-purple-1000-rgb));--spectrum-purple-1100-rgb:228,204,254;--spectrum-purple-1100:rgba(var(--spectrum-purple-1100-rgb));--spectrum-purple-1200-rgb:239,223,255;--spectrum-purple-1200:rgba(var(--spectrum-purple-1200-rgb));--spectrum-purple-1300-rgb:249,240,255;--spectrum-purple-1300:rgba(var(--spectrum-purple-1300-rgb));--spectrum-purple-1400-rgb:255,253,255;--spectrum-purple-1400:rgba(var(--spectrum-purple-1400-rgb));--spectrum-fuchsia-100-rgb:107,3,106;--spectrum-fuchsia-100:rgba(var(--spectrum-fuchsia-100-rgb));--spectrum-fuchsia-200-rgb:123,0,123;--spectrum-fuchsia-200:rgba(var(--spectrum-fuchsia-200-rgb));--spectrum-fuchsia-300-rgb:144,0,145;--spectrum-fuchsia-300:rgba(var(--spectrum-fuchsia-300-rgb));--spectrum-fuchsia-400-rgb:165,13,166;--spectrum-fuchsia-400:rgba(var(--spectrum-fuchsia-400-rgb));--spectrum-fuchsia-500-rgb:185,37,185;--spectrum-fuchsia-500:rgba(var(--spectrum-fuchsia-500-rgb));--spectrum-fuchsia-600-rgb:205,57,206;--spectrum-fuchsia-600:rgba(var(--spectrum-fuchsia-600-rgb));--spectrum-fuchsia-700-rgb:223,81,224;--spectrum-fuchsia-700:rgba(var(--spectrum-fuchsia-700-rgb));--spectrum-fuchsia-800-rgb:235,110,236;--spectrum-fuchsia-800:rgba(var(--spectrum-fuchsia-800-rgb));--spectrum-fuchsia-900-rgb:244,140,242;--spectrum-fuchsia-900:rgba(var(--spectrum-fuchsia-900-rgb));--spectrum-fuchsia-1000-rgb:250,168,245;--spectrum-fuchsia-1000:rgba(var(--spectrum-fuchsia-1000-rgb));--spectrum-fuchsia-1100-rgb:254,194,248;--spectrum-fuchsia-1100:rgba(var(--spectrum-fuchsia-1100-rgb));--spectrum-fuchsia-1200-rgb:255,219,250;--spectrum-fuchsia-1200:rgba(var(--spectrum-fuchsia-1200-rgb));--spectrum-fuchsia-1300-rgb:255,239,252;--spectrum-fuchsia-1300:rgba(var(--spectrum-fuchsia-1300-rgb));--spectrum-fuchsia-1400-rgb:255,253,255;--spectrum-fuchsia-1400:rgba(var(--spectrum-fuchsia-1400-rgb));--spectrum-magenta-100-rgb:118,0,58;--spectrum-magenta-100:rgba(var(--spectrum-magenta-100-rgb));--spectrum-magenta-200-rgb:137,0,66;--spectrum-magenta-200:rgba(var(--spectrum-magenta-200-rgb));--spectrum-magenta-300-rgb:160,0,77;--spectrum-magenta-300:rgba(var(--spectrum-magenta-300-rgb));--spectrum-magenta-400-rgb:182,18,90;--spectrum-magenta-400:rgba(var(--spectrum-magenta-400-rgb));--spectrum-magenta-500-rgb:203,38,109;--spectrum-magenta-500:rgba(var(--spectrum-magenta-500-rgb));--spectrum-magenta-600-rgb:222,61,130;--spectrum-magenta-600:rgba(var(--spectrum-magenta-600-rgb));--spectrum-magenta-700-rgb:237,87,149;--spectrum-magenta-700:rgba(var(--spectrum-magenta-700-rgb));--spectrum-magenta-800-rgb:249,114,167;--spectrum-magenta-800:rgba(var(--spectrum-magenta-800-rgb));--spectrum-magenta-900-rgb:255,143,185;--spectrum-magenta-900:rgba(var(--spectrum-magenta-900-rgb));--spectrum-magenta-1000-rgb:255,172,202;--spectrum-magenta-1000:rgba(var(--spectrum-magenta-1000-rgb));--spectrum-magenta-1100-rgb:255,198,218;--spectrum-magenta-1100:rgba(var(--spectrum-magenta-1100-rgb));--spectrum-magenta-1200-rgb:255,221,233;--spectrum-magenta-1200:rgba(var(--spectrum-magenta-1200-rgb));--spectrum-magenta-1300-rgb:255,240,245;--spectrum-magenta-1300:rgba(var(--spectrum-magenta-1300-rgb));--spectrum-magenta-1400-rgb:255,252,253;--spectrum-magenta-1400:rgba(var(--spectrum-magenta-1400-rgb))}:host,:root{--spectrum-menu-item-background-color-default-rgb:255,255,255;--spectrum-menu-item-background-color-default-opacity:0;--spectrum-menu-item-background-color-default:rgba(var(--spectrum-menu-item-background-color-default-rgb),var(--spectrum-menu-item-background-color-default-opacity));--spectrum-menu-item-background-color-hover:var(\n--spectrum-transparent-white-200\n);--spectrum-menu-item-background-color-down:var(\n--spectrum-transparent-white-200\n);--spectrum-menu-item-background-color-key-focus:var(\n--spectrum-transparent-white-200\n);--spectrum-drop-zone-background-color-rgb:var(\n--spectrum-blue-900-rgb\n);--spectrum-calendar-day-background-color-selected:rgba(var(--spectrum-blue-800-rgb),0.15);--spectrum-calendar-day-background-color-hover:rgba(var(--spectrum-white-rgb),0.07);--spectrum-calendar-day-today-background-color-selected-hover:rgba(var(--spectrum-blue-800-rgb),0.25);--spectrum-calendar-day-background-color-selected-hover:rgba(var(--spectrum-blue-800-rgb),0.25);--spectrum-calendar-day-background-color-down:var(\n--spectrum-transparent-white-200\n);--spectrum-calendar-day-background-color-cap-selected:rgba(var(--spectrum-blue-800-rgb),0.25);--spectrum-calendar-day-background-color-key-focus:rgba(var(--spectrum-white-rgb),0.07);--spectrum-calendar-day-border-color-key-focus:var(--spectrum-blue-700);--spectrum-badge-label-icon-color-primary:var(--spectrum-black)}\n`;/* harmony default export */ const theme_dark_css = (theme_dark_css_e);\n//# sourceMappingURL=theme-dark.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/theme-dark.js\nTheme/* Theme */.Q.registerThemeFragment("dark","color",theme_dark_css);\n//# sourceMappingURL=theme-dark.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/theme-darkest.css.js\nconst theme_darkest_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-color-status:Verified;--spectrum-global-color-version:5.1.0;--spectrum-global-color-opacity-100:1;--spectrum-global-color-opacity-90:0.9;--spectrum-global-color-opacity-80:0.8;--spectrum-global-color-opacity-70:0.7;--spectrum-global-color-opacity-60:0.6;--spectrum-global-color-opacity-55:0.55;--spectrum-global-color-opacity-50:0.5;--spectrum-global-color-opacity-42:0.42;--spectrum-global-color-opacity-40:0.4;--spectrum-global-color-opacity-30:0.3;--spectrum-global-color-opacity-25:0.25;--spectrum-global-color-opacity-20:0.2;--spectrum-global-color-opacity-15:0.15;--spectrum-global-color-opacity-10:0.1;--spectrum-global-color-opacity-8:0.08;--spectrum-global-color-opacity-7:0.07;--spectrum-global-color-opacity-6:0.06;--spectrum-global-color-opacity-5:0.05;--spectrum-global-color-opacity-4:0.04;--spectrum-global-color-opacity-0:0;--spectrum-global-color-celery-400-rgb:13,171,37;--spectrum-global-color-celery-400:rgb(var(--spectrum-global-color-celery-400-rgb));--spectrum-global-color-celery-500-rgb:45,191,58;--spectrum-global-color-celery-500:rgb(var(--spectrum-global-color-celery-500-rgb));--spectrum-global-color-celery-600-rgb:80,208,82;--spectrum-global-color-celery-600:rgb(var(--spectrum-global-color-celery-600-rgb));--spectrum-global-color-celery-700-rgb:115,224,107;--spectrum-global-color-celery-700:rgb(var(--spectrum-global-color-celery-700-rgb));--spectrum-global-color-chartreuse-400-rgb:138,180,3;--spectrum-global-color-chartreuse-400:rgb(var(--spectrum-global-color-chartreuse-400-rgb));--spectrum-global-color-chartreuse-500-rgb:154,198,11;--spectrum-global-color-chartreuse-500:rgb(var(--spectrum-global-color-chartreuse-500-rgb));--spectrum-global-color-chartreuse-600-rgb:170,216,22;--spectrum-global-color-chartreuse-600:rgb(var(--spectrum-global-color-chartreuse-600-rgb));--spectrum-global-color-chartreuse-700-rgb:187,232,41;--spectrum-global-color-chartreuse-700:rgb(var(--spectrum-global-color-chartreuse-700-rgb));--spectrum-global-color-yellow-400-rgb:216,181,0;--spectrum-global-color-yellow-400:rgb(var(--spectrum-global-color-yellow-400-rgb));--spectrum-global-color-yellow-500-rgb:233,199,0;--spectrum-global-color-yellow-500:rgb(var(--spectrum-global-color-yellow-500-rgb));--spectrum-global-color-yellow-600-rgb:247,216,4;--spectrum-global-color-yellow-600:rgb(var(--spectrum-global-color-yellow-600-rgb));--spectrum-global-color-yellow-700-rgb:249,233,97;--spectrum-global-color-yellow-700:rgb(var(--spectrum-global-color-yellow-700-rgb));--spectrum-global-color-magenta-400-rgb:209,43,114;--spectrum-global-color-magenta-400:rgb(var(--spectrum-global-color-magenta-400-rgb));--spectrum-global-color-magenta-500-rgb:227,69,137;--spectrum-global-color-magenta-500:rgb(var(--spectrum-global-color-magenta-500-rgb));--spectrum-global-color-magenta-600-rgb:241,97,156;--spectrum-global-color-magenta-600:rgb(var(--spectrum-global-color-magenta-600-rgb));--spectrum-global-color-magenta-700-rgb:252,124,173;--spectrum-global-color-magenta-700:rgb(var(--spectrum-global-color-magenta-700-rgb));--spectrum-global-color-fuchsia-400-rgb:191,43,191;--spectrum-global-color-fuchsia-400:rgb(var(--spectrum-global-color-fuchsia-400-rgb));--spectrum-global-color-fuchsia-500-rgb:211,65,213;--spectrum-global-color-fuchsia-500:rgb(var(--spectrum-global-color-fuchsia-500-rgb));--spectrum-global-color-fuchsia-600-rgb:228,91,229;--spectrum-global-color-fuchsia-600:rgb(var(--spectrum-global-color-fuchsia-600-rgb));--spectrum-global-color-fuchsia-700-rgb:239,120,238;--spectrum-global-color-fuchsia-700:rgb(var(--spectrum-global-color-fuchsia-700-rgb));--spectrum-global-color-purple-400-rgb:145,70,236;--spectrum-global-color-purple-400:rgb(var(--spectrum-global-color-purple-400-rgb));--spectrum-global-color-purple-500-rgb:162,94,246;--spectrum-global-color-purple-500:rgb(var(--spectrum-global-color-purple-500-rgb));--spectrum-global-color-purple-600-rgb:178,119,250;--spectrum-global-color-purple-600:rgb(var(--spectrum-global-color-purple-600-rgb));--spectrum-global-color-purple-700-rgb:192,143,252;--spectrum-global-color-purple-700:rgb(var(--spectrum-global-color-purple-700-rgb));--spectrum-global-color-indigo-400-rgb:90,96,235;--spectrum-global-color-indigo-400:rgb(var(--spectrum-global-color-indigo-400-rgb));--spectrum-global-color-indigo-500-rgb:110,115,246;--spectrum-global-color-indigo-500:rgb(var(--spectrum-global-color-indigo-500-rgb));--spectrum-global-color-indigo-600-rgb:132,136,253;--spectrum-global-color-indigo-600:rgb(var(--spectrum-global-color-indigo-600-rgb));--spectrum-global-color-indigo-700-rgb:153,157,255;--spectrum-global-color-indigo-700:rgb(var(--spectrum-global-color-indigo-700-rgb));--spectrum-global-color-seafoam-400-rgb:0,146,140;--spectrum-global-color-seafoam-400:rgb(var(--spectrum-global-color-seafoam-400-rgb));--spectrum-global-color-seafoam-500-rgb:0,165,159;--spectrum-global-color-seafoam-500:rgb(var(--spectrum-global-color-seafoam-500-rgb));--spectrum-global-color-seafoam-600-rgb:26,185,178;--spectrum-global-color-seafoam-600:rgb(var(--spectrum-global-color-seafoam-600-rgb));--spectrum-global-color-seafoam-700-rgb:66,202,195;--spectrum-global-color-seafoam-700:rgb(var(--spectrum-global-color-seafoam-700-rgb));--spectrum-global-color-red-400-rgb:221,33,24;--spectrum-global-color-red-400:rgb(var(--spectrum-global-color-red-400-rgb));--spectrum-global-color-red-500-rgb:238,67,49;--spectrum-global-color-red-500:rgb(var(--spectrum-global-color-red-500-rgb));--spectrum-global-color-red-600-rgb:249,99,76;--spectrum-global-color-red-600:rgb(var(--spectrum-global-color-red-600-rgb));--spectrum-global-color-red-700-rgb:255,129,107;--spectrum-global-color-red-700:rgb(var(--spectrum-global-color-red-700-rgb));--spectrum-global-color-orange-400-rgb:232,116,0;--spectrum-global-color-orange-400:rgb(var(--spectrum-global-color-orange-400-rgb));--spectrum-global-color-orange-500-rgb:249,137,23;--spectrum-global-color-orange-500:rgb(var(--spectrum-global-color-orange-500-rgb));--spectrum-global-color-orange-600-rgb:255,162,59;--spectrum-global-color-orange-600:rgb(var(--spectrum-global-color-orange-600-rgb));--spectrum-global-color-orange-700-rgb:255,188,102;--spectrum-global-color-orange-700:rgb(var(--spectrum-global-color-orange-700-rgb));--spectrum-global-color-green-400-rgb:0,149,98;--spectrum-global-color-green-400:rgb(var(--spectrum-global-color-green-400-rgb));--spectrum-global-color-green-500-rgb:28,168,114;--spectrum-global-color-green-500:rgb(var(--spectrum-global-color-green-500-rgb));--spectrum-global-color-green-600-rgb:52,187,132;--spectrum-global-color-green-600:rgb(var(--spectrum-global-color-green-600-rgb));--spectrum-global-color-green-700-rgb:75,205,149;--spectrum-global-color-green-700:rgb(var(--spectrum-global-color-green-700-rgb));--spectrum-global-color-blue-400-rgb:29,128,245;--spectrum-global-color-blue-400:rgb(var(--spectrum-global-color-blue-400-rgb));--spectrum-global-color-blue-500-rgb:64,150,243;--spectrum-global-color-blue-500:rgb(var(--spectrum-global-color-blue-500-rgb));--spectrum-global-color-blue-600-rgb:94,170,247;--spectrum-global-color-blue-600:rgb(var(--spectrum-global-color-blue-600-rgb));--spectrum-global-color-blue-700-rgb:124,189,250;--spectrum-global-color-blue-700:rgb(var(--spectrum-global-color-blue-700-rgb));--spectrum-global-color-gray-50-rgb:0,0,0;--spectrum-global-color-gray-50:rgb(var(--spectrum-global-color-gray-50-rgb));--spectrum-global-color-gray-75-rgb:14,14,14;--spectrum-global-color-gray-75:rgb(var(--spectrum-global-color-gray-75-rgb));--spectrum-global-color-gray-100-rgb:29,29,29;--spectrum-global-color-gray-100:rgb(var(--spectrum-global-color-gray-100-rgb));--spectrum-global-color-gray-200-rgb:48,48,48;--spectrum-global-color-gray-200:rgb(var(--spectrum-global-color-gray-200-rgb));--spectrum-global-color-gray-300-rgb:75,75,75;--spectrum-global-color-gray-300:rgb(var(--spectrum-global-color-gray-300-rgb));--spectrum-global-color-gray-400-rgb:106,106,106;--spectrum-global-color-gray-400:rgb(var(--spectrum-global-color-gray-400-rgb));--spectrum-global-color-gray-500-rgb:141,141,141;--spectrum-global-color-gray-500:rgb(var(--spectrum-global-color-gray-500-rgb));--spectrum-global-color-gray-600-rgb:176,176,176;--spectrum-global-color-gray-600:rgb(var(--spectrum-global-color-gray-600-rgb));--spectrum-global-color-gray-700-rgb:208,208,208;--spectrum-global-color-gray-700:rgb(var(--spectrum-global-color-gray-700-rgb));--spectrum-global-color-gray-800-rgb:235,235,235;--spectrum-global-color-gray-800:rgb(var(--spectrum-global-color-gray-800-rgb));--spectrum-global-color-gray-900-rgb:255,255,255;--spectrum-global-color-gray-900:rgb(var(--spectrum-global-color-gray-900-rgb));--spectrum-alias-background-color-primary:var(\n--spectrum-global-color-gray-100\n);--spectrum-alias-background-color-secondary:var(\n--spectrum-global-color-gray-75\n);--spectrum-alias-background-color-tertiary:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-background-color-modal-overlay:rgba(0,0,0,.6);--spectrum-alias-dropshadow-color:rgba(0,0,0,.8);--spectrum-alias-background-color-hover-overlay:hsla(0,0%,100%,.08);--spectrum-alias-highlight-hover:hsla(0,0%,100%,.08);--spectrum-alias-highlight-down:hsla(0,0%,100%,.15);--spectrum-alias-highlight-selected:rgba(64,150,243,.2);--spectrum-alias-highlight-selected-hover:rgba(64,150,243,.3);--spectrum-alias-text-highlight-color:rgba(64,150,243,.3);--spectrum-alias-background-color-quickactions:rgba(29,29,29,.9);--spectrum-alias-border-color-selected:var(\n--spectrum-global-color-blue-600\n);--spectrum-alias-border-color-translucent:hsla(0,0%,100%,.1);--spectrum-alias-radial-reaction-color-default:hsla(0,0%,92%,.6);--spectrum-alias-pasteboard-background-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-appframe-border-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-alias-appframe-separator-color:var(\n--spectrum-global-color-gray-50\n);--spectrum-scrollbar-mac-s-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-scrollbar-mac-m-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-scrollbar-mac-l-track-background-color:var(\n--spectrum-global-color-gray-100\n);--spectrum-well-background-color:hsla(0,0%,92%,.02)}:host,:root{color-scheme:dark}:host,:root{--spectrum-overlay-opacity:0.6;--spectrum-drop-shadow-color-rgb:0,0,0;--spectrum-drop-shadow-color-opacity:0.8;--spectrum-drop-shadow-color:rgba(var(--spectrum-drop-shadow-color-rgb),var(--spectrum-drop-shadow-color-opacity));--spectrum-background-base-color:var(--spectrum-gray-50);--spectrum-background-layer-1-color:var(--spectrum-gray-75);--spectrum-background-layer-2-color:var(--spectrum-gray-100);--spectrum-neutral-background-color-default:var(--spectrum-gray-400);--spectrum-neutral-background-color-hover:var(--spectrum-gray-300);--spectrum-neutral-background-color-down:var(--spectrum-gray-200);--spectrum-neutral-background-color-key-focus:var(--spectrum-gray-300);--spectrum-neutral-subdued-background-color-default:var(\n--spectrum-gray-400\n);--spectrum-neutral-subdued-background-color-hover:var(--spectrum-gray-300);--spectrum-neutral-subdued-background-color-down:var(--spectrum-gray-200);--spectrum-neutral-subdued-background-color-key-focus:var(\n--spectrum-gray-300\n);--spectrum-accent-background-color-default:var(\n--spectrum-accent-color-600\n);--spectrum-accent-background-color-hover:var(--spectrum-accent-color-500);--spectrum-accent-background-color-down:var(--spectrum-accent-color-400);--spectrum-accent-background-color-key-focus:var(\n--spectrum-accent-color-500\n);--spectrum-informative-background-color-default:var(\n--spectrum-informative-color-600\n);--spectrum-informative-background-color-hover:var(\n--spectrum-informative-color-500\n);--spectrum-informative-background-color-down:var(\n--spectrum-informative-color-400\n);--spectrum-informative-background-color-key-focus:var(\n--spectrum-informative-color-500\n);--spectrum-negative-background-color-default:var(\n--spectrum-negative-color-600\n);--spectrum-negative-background-color-hover:var(\n--spectrum-negative-color-500\n);--spectrum-negative-background-color-down:var(\n--spectrum-negative-color-400\n);--spectrum-negative-background-color-key-focus:var(\n--spectrum-negative-color-500\n);--spectrum-positive-background-color-default:var(\n--spectrum-positive-color-600\n);--spectrum-positive-background-color-hover:var(\n--spectrum-positive-color-500\n);--spectrum-positive-background-color-down:var(\n--spectrum-positive-color-400\n);--spectrum-positive-background-color-key-focus:var(\n--spectrum-positive-color-500\n);--spectrum-notice-background-color-default:var(\n--spectrum-notice-color-800\n);--spectrum-gray-background-color-default:var(--spectrum-gray-700);--spectrum-red-background-color-default:var(--spectrum-red-700);--spectrum-orange-background-color-default:var(--spectrum-orange-800);--spectrum-yellow-background-color-default:var(--spectrum-yellow-1000);--spectrum-chartreuse-background-color-default:var(\n--spectrum-chartreuse-900\n);--spectrum-celery-background-color-default:var(--spectrum-celery-800);--spectrum-green-background-color-default:var(--spectrum-green-700);--spectrum-seafoam-background-color-default:var(--spectrum-seafoam-700);--spectrum-cyan-background-color-default:var(--spectrum-cyan-700);--spectrum-blue-background-color-default:var(--spectrum-blue-700);--spectrum-indigo-background-color-default:var(--spectrum-indigo-700);--spectrum-purple-background-color-default:var(--spectrum-purple-700);--spectrum-fuchsia-background-color-default:var(--spectrum-fuchsia-700);--spectrum-magenta-background-color-default:var(--spectrum-magenta-700);--spectrum-neutral-visual-color:var(--spectrum-gray-600);--spectrum-accent-visual-color:var(--spectrum-accent-color-900);--spectrum-informative-visual-color:var(--spectrum-informative-color-900);--spectrum-negative-visual-color:var(--spectrum-negative-color-700);--spectrum-notice-visual-color:var(--spectrum-notice-color-900);--spectrum-positive-visual-color:var(--spectrum-positive-color-800);--spectrum-gray-visual-color:var(--spectrum-gray-600);--spectrum-red-visual-color:var(--spectrum-red-700);--spectrum-orange-visual-color:var(--spectrum-orange-900);--spectrum-yellow-visual-color:var(--spectrum-yellow-1100);--spectrum-chartreuse-visual-color:var(--spectrum-chartreuse-900);--spectrum-celery-visual-color:var(--spectrum-celery-800);--spectrum-green-visual-color:var(--spectrum-green-800);--spectrum-seafoam-visual-color:var(--spectrum-seafoam-800);--spectrum-cyan-visual-color:var(--spectrum-cyan-900);--spectrum-blue-visual-color:var(--spectrum-blue-900);--spectrum-indigo-visual-color:var(--spectrum-indigo-900);--spectrum-purple-visual-color:var(--spectrum-purple-900);--spectrum-fuchsia-visual-color:var(--spectrum-fuchsia-900);--spectrum-magenta-visual-color:var(--spectrum-magenta-900);--spectrum-opacity-checkerboard-square-dark:var(--spectrum-gray-800);--spectrum-gray-50-rgb:0,0,0;--spectrum-gray-50:rgba(var(--spectrum-gray-50-rgb));--spectrum-gray-75-rgb:14,14,14;--spectrum-gray-75:rgba(var(--spectrum-gray-75-rgb));--spectrum-gray-100-rgb:29,29,29;--spectrum-gray-100:rgba(var(--spectrum-gray-100-rgb));--spectrum-gray-200-rgb:48,48,48;--spectrum-gray-200:rgba(var(--spectrum-gray-200-rgb));--spectrum-gray-300-rgb:75,75,75;--spectrum-gray-300:rgba(var(--spectrum-gray-300-rgb));--spectrum-gray-400-rgb:106,106,106;--spectrum-gray-400:rgba(var(--spectrum-gray-400-rgb));--spectrum-gray-500-rgb:141,141,141;--spectrum-gray-500:rgba(var(--spectrum-gray-500-rgb));--spectrum-gray-600-rgb:176,176,176;--spectrum-gray-600:rgba(var(--spectrum-gray-600-rgb));--spectrum-gray-700-rgb:208,208,208;--spectrum-gray-700:rgba(var(--spectrum-gray-700-rgb));--spectrum-gray-800-rgb:235,235,235;--spectrum-gray-800:rgba(var(--spectrum-gray-800-rgb));--spectrum-gray-900-rgb:255,255,255;--spectrum-gray-900:rgba(var(--spectrum-gray-900-rgb));--spectrum-blue-100-rgb:0,38,81;--spectrum-blue-100:rgba(var(--spectrum-blue-100-rgb));--spectrum-blue-200-rgb:0,50,106;--spectrum-blue-200:rgba(var(--spectrum-blue-200-rgb));--spectrum-blue-300-rgb:0,64,135;--spectrum-blue-300:rgba(var(--spectrum-blue-300-rgb));--spectrum-blue-400-rgb:0,78,166;--spectrum-blue-400:rgba(var(--spectrum-blue-400-rgb));--spectrum-blue-500-rgb:0,92,200;--spectrum-blue-500:rgba(var(--spectrum-blue-500-rgb));--spectrum-blue-600-rgb:6,108,231;--spectrum-blue-600:rgba(var(--spectrum-blue-600-rgb));--spectrum-blue-700-rgb:29,128,245;--spectrum-blue-700:rgba(var(--spectrum-blue-700-rgb));--spectrum-blue-800-rgb:64,150,243;--spectrum-blue-800:rgba(var(--spectrum-blue-800-rgb));--spectrum-blue-900-rgb:94,170,247;--spectrum-blue-900:rgba(var(--spectrum-blue-900-rgb));--spectrum-blue-1000-rgb:124,189,250;--spectrum-blue-1000:rgba(var(--spectrum-blue-1000-rgb));--spectrum-blue-1100-rgb:152,206,253;--spectrum-blue-1100:rgba(var(--spectrum-blue-1100-rgb));--spectrum-blue-1200-rgb:179,222,254;--spectrum-blue-1200:rgba(var(--spectrum-blue-1200-rgb));--spectrum-blue-1300-rgb:206,234,255;--spectrum-blue-1300:rgba(var(--spectrum-blue-1300-rgb));--spectrum-blue-1400-rgb:227,243,255;--spectrum-blue-1400:rgba(var(--spectrum-blue-1400-rgb));--spectrum-red-100-rgb:87,0,0;--spectrum-red-100:rgba(var(--spectrum-red-100-rgb));--spectrum-red-200-rgb:110,0,0;--spectrum-red-200:rgba(var(--spectrum-red-200-rgb));--spectrum-red-300-rgb:138,0,0;--spectrum-red-300:rgba(var(--spectrum-red-300-rgb));--spectrum-red-400-rgb:167,0,0;--spectrum-red-400:rgba(var(--spectrum-red-400-rgb));--spectrum-red-500-rgb:196,7,6;--spectrum-red-500:rgba(var(--spectrum-red-500-rgb));--spectrum-red-600-rgb:221,33,24;--spectrum-red-600:rgba(var(--spectrum-red-600-rgb));--spectrum-red-700-rgb:238,67,49;--spectrum-red-700:rgba(var(--spectrum-red-700-rgb));--spectrum-red-800-rgb:249,99,76;--spectrum-red-800:rgba(var(--spectrum-red-800-rgb));--spectrum-red-900-rgb:255,129,107;--spectrum-red-900:rgba(var(--spectrum-red-900-rgb));--spectrum-red-1000-rgb:255,158,140;--spectrum-red-1000:rgba(var(--spectrum-red-1000-rgb));--spectrum-red-1100-rgb:255,183,169;--spectrum-red-1100:rgba(var(--spectrum-red-1100-rgb));--spectrum-red-1200-rgb:255,205,195;--spectrum-red-1200:rgba(var(--spectrum-red-1200-rgb));--spectrum-red-1300-rgb:255,223,217;--spectrum-red-1300:rgba(var(--spectrum-red-1300-rgb));--spectrum-red-1400-rgb:255,237,234;--spectrum-red-1400:rgba(var(--spectrum-red-1400-rgb));--spectrum-orange-100-rgb:72,24,1;--spectrum-orange-100:rgba(var(--spectrum-orange-100-rgb));--spectrum-orange-200-rgb:92,32,0;--spectrum-orange-200:rgba(var(--spectrum-orange-200-rgb));--spectrum-orange-300-rgb:115,43,0;--spectrum-orange-300:rgba(var(--spectrum-orange-300-rgb));--spectrum-orange-400-rgb:138,55,0;--spectrum-orange-400:rgba(var(--spectrum-orange-400-rgb));--spectrum-orange-500-rgb:162,68,0;--spectrum-orange-500:rgba(var(--spectrum-orange-500-rgb));--spectrum-orange-600-rgb:186,82,0;--spectrum-orange-600:rgba(var(--spectrum-orange-600-rgb));--spectrum-orange-700-rgb:210,98,0;--spectrum-orange-700:rgba(var(--spectrum-orange-700-rgb));--spectrum-orange-800-rgb:232,116,0;--spectrum-orange-800:rgba(var(--spectrum-orange-800-rgb));--spectrum-orange-900-rgb:249,137,23;--spectrum-orange-900:rgba(var(--spectrum-orange-900-rgb));--spectrum-orange-1000-rgb:255,162,59;--spectrum-orange-1000:rgba(var(--spectrum-orange-1000-rgb));--spectrum-orange-1100-rgb:255,188,102;--spectrum-orange-1100:rgba(var(--spectrum-orange-1100-rgb));--spectrum-orange-1200-rgb:253,210,145;--spectrum-orange-1200:rgba(var(--spectrum-orange-1200-rgb));--spectrum-orange-1300-rgb:255,226,181;--spectrum-orange-1300:rgba(var(--spectrum-orange-1300-rgb));--spectrum-orange-1400-rgb:255,239,213;--spectrum-orange-1400:rgba(var(--spectrum-orange-1400-rgb));--spectrum-yellow-100-rgb:53,36,0;--spectrum-yellow-100:rgba(var(--spectrum-yellow-100-rgb));--spectrum-yellow-200-rgb:68,47,0;--spectrum-yellow-200:rgba(var(--spectrum-yellow-200-rgb));--spectrum-yellow-300-rgb:86,62,0;--spectrum-yellow-300:rgba(var(--spectrum-yellow-300-rgb));--spectrum-yellow-400-rgb:103,77,0;--spectrum-yellow-400:rgba(var(--spectrum-yellow-400-rgb));--spectrum-yellow-500-rgb:122,92,0;--spectrum-yellow-500:rgba(var(--spectrum-yellow-500-rgb));--spectrum-yellow-600-rgb:141,108,0;--spectrum-yellow-600:rgba(var(--spectrum-yellow-600-rgb));--spectrum-yellow-700-rgb:161,126,0;--spectrum-yellow-700:rgba(var(--spectrum-yellow-700-rgb));--spectrum-yellow-800-rgb:180,144,0;--spectrum-yellow-800:rgba(var(--spectrum-yellow-800-rgb));--spectrum-yellow-900-rgb:199,162,0;--spectrum-yellow-900:rgba(var(--spectrum-yellow-900-rgb));--spectrum-yellow-1000-rgb:216,181,0;--spectrum-yellow-1000:rgba(var(--spectrum-yellow-1000-rgb));--spectrum-yellow-1100-rgb:233,199,0;--spectrum-yellow-1100:rgba(var(--spectrum-yellow-1100-rgb));--spectrum-yellow-1200-rgb:247,216,4;--spectrum-yellow-1200:rgba(var(--spectrum-yellow-1200-rgb));--spectrum-yellow-1300-rgb:249,233,97;--spectrum-yellow-1300:rgba(var(--spectrum-yellow-1300-rgb));--spectrum-yellow-1400-rgb:252,243,170;--spectrum-yellow-1400:rgba(var(--spectrum-yellow-1400-rgb));--spectrum-chartreuse-100-rgb:32,43,0;--spectrum-chartreuse-100:rgba(var(--spectrum-chartreuse-100-rgb));--spectrum-chartreuse-200-rgb:42,56,0;--spectrum-chartreuse-200:rgba(var(--spectrum-chartreuse-200-rgb));--spectrum-chartreuse-300-rgb:54,72,0;--spectrum-chartreuse-300:rgba(var(--spectrum-chartreuse-300-rgb));--spectrum-chartreuse-400-rgb:66,88,0;--spectrum-chartreuse-400:rgba(var(--spectrum-chartreuse-400-rgb));--spectrum-chartreuse-500-rgb:79,105,0;--spectrum-chartreuse-500:rgba(var(--spectrum-chartreuse-500-rgb));--spectrum-chartreuse-600-rgb:93,123,0;--spectrum-chartreuse-600:rgba(var(--spectrum-chartreuse-600-rgb));--spectrum-chartreuse-700-rgb:107,142,0;--spectrum-chartreuse-700:rgba(var(--spectrum-chartreuse-700-rgb));--spectrum-chartreuse-800-rgb:122,161,0;--spectrum-chartreuse-800:rgba(var(--spectrum-chartreuse-800-rgb));--spectrum-chartreuse-900-rgb:138,180,3;--spectrum-chartreuse-900:rgba(var(--spectrum-chartreuse-900-rgb));--spectrum-chartreuse-1000-rgb:154,198,11;--spectrum-chartreuse-1000:rgba(var(--spectrum-chartreuse-1000-rgb));--spectrum-chartreuse-1100-rgb:170,216,22;--spectrum-chartreuse-1100:rgba(var(--spectrum-chartreuse-1100-rgb));--spectrum-chartreuse-1200-rgb:187,232,41;--spectrum-chartreuse-1200:rgba(var(--spectrum-chartreuse-1200-rgb));--spectrum-chartreuse-1300-rgb:205,246,72;--spectrum-chartreuse-1300:rgba(var(--spectrum-chartreuse-1300-rgb));--spectrum-chartreuse-1400-rgb:225,253,132;--spectrum-chartreuse-1400:rgba(var(--spectrum-chartreuse-1400-rgb));--spectrum-celery-100-rgb:0,47,7;--spectrum-celery-100:rgba(var(--spectrum-celery-100-rgb));--spectrum-celery-200-rgb:0,61,9;--spectrum-celery-200:rgba(var(--spectrum-celery-200-rgb));--spectrum-celery-300-rgb:0,77,12;--spectrum-celery-300:rgba(var(--spectrum-celery-300-rgb));--spectrum-celery-400-rgb:0,95,15;--spectrum-celery-400:rgba(var(--spectrum-celery-400-rgb));--spectrum-celery-500-rgb:0,113,15;--spectrum-celery-500:rgba(var(--spectrum-celery-500-rgb));--spectrum-celery-600-rgb:0,132,15;--spectrum-celery-600:rgba(var(--spectrum-celery-600-rgb));--spectrum-celery-700-rgb:0,151,20;--spectrum-celery-700:rgba(var(--spectrum-celery-700-rgb));--spectrum-celery-800-rgb:13,171,37;--spectrum-celery-800:rgba(var(--spectrum-celery-800-rgb));--spectrum-celery-900-rgb:45,191,58;--spectrum-celery-900:rgba(var(--spectrum-celery-900-rgb));--spectrum-celery-1000-rgb:80,208,82;--spectrum-celery-1000:rgba(var(--spectrum-celery-1000-rgb));--spectrum-celery-1100-rgb:115,224,107;--spectrum-celery-1100:rgba(var(--spectrum-celery-1100-rgb));--spectrum-celery-1200-rgb:147,237,131;--spectrum-celery-1200:rgba(var(--spectrum-celery-1200-rgb));--spectrum-celery-1300-rgb:180,247,162;--spectrum-celery-1300:rgba(var(--spectrum-celery-1300-rgb));--spectrum-celery-1400-rgb:213,252,202;--spectrum-celery-1400:rgba(var(--spectrum-celery-1400-rgb));--spectrum-green-100-rgb:10,44,28;--spectrum-green-100:rgba(var(--spectrum-green-100-rgb));--spectrum-green-200-rgb:7,59,36;--spectrum-green-200:rgba(var(--spectrum-green-200-rgb));--spectrum-green-300-rgb:0,76,46;--spectrum-green-300:rgba(var(--spectrum-green-300-rgb));--spectrum-green-400-rgb:0,93,57;--spectrum-green-400:rgba(var(--spectrum-green-400-rgb));--spectrum-green-500-rgb:0,111,69;--spectrum-green-500:rgba(var(--spectrum-green-500-rgb));--spectrum-green-600-rgb:0,130,82;--spectrum-green-600:rgba(var(--spectrum-green-600-rgb));--spectrum-green-700-rgb:0,149,98;--spectrum-green-700:rgba(var(--spectrum-green-700-rgb));--spectrum-green-800-rgb:28,168,114;--spectrum-green-800:rgba(var(--spectrum-green-800-rgb));--spectrum-green-900-rgb:52,187,132;--spectrum-green-900:rgba(var(--spectrum-green-900-rgb));--spectrum-green-1000-rgb:75,205,149;--spectrum-green-1000:rgba(var(--spectrum-green-1000-rgb));--spectrum-green-1100-rgb:103,222,168;--spectrum-green-1100:rgba(var(--spectrum-green-1100-rgb));--spectrum-green-1200-rgb:137,236,188;--spectrum-green-1200:rgba(var(--spectrum-green-1200-rgb));--spectrum-green-1300-rgb:177,244,209;--spectrum-green-1300:rgba(var(--spectrum-green-1300-rgb));--spectrum-green-1400-rgb:214,249,228;--spectrum-green-1400:rgba(var(--spectrum-green-1400-rgb));--spectrum-seafoam-100-rgb:18,43,42;--spectrum-seafoam-100:rgba(var(--spectrum-seafoam-100-rgb));--spectrum-seafoam-200-rgb:19,57,55;--spectrum-seafoam-200:rgba(var(--spectrum-seafoam-200-rgb));--spectrum-seafoam-300-rgb:16,73,70;--spectrum-seafoam-300:rgba(var(--spectrum-seafoam-300-rgb));--spectrum-seafoam-400-rgb:3,91,88;--spectrum-seafoam-400:rgba(var(--spectrum-seafoam-400-rgb));--spectrum-seafoam-500-rgb:0,108,104;--spectrum-seafoam-500:rgba(var(--spectrum-seafoam-500-rgb));--spectrum-seafoam-600-rgb:0,127,121;--spectrum-seafoam-600:rgba(var(--spectrum-seafoam-600-rgb));--spectrum-seafoam-700-rgb:0,146,140;--spectrum-seafoam-700:rgba(var(--spectrum-seafoam-700-rgb));--spectrum-seafoam-800-rgb:0,165,159;--spectrum-seafoam-800:rgba(var(--spectrum-seafoam-800-rgb));--spectrum-seafoam-900-rgb:26,185,178;--spectrum-seafoam-900:rgba(var(--spectrum-seafoam-900-rgb));--spectrum-seafoam-1000-rgb:66,202,195;--spectrum-seafoam-1000:rgba(var(--spectrum-seafoam-1000-rgb));--spectrum-seafoam-1100-rgb:102,218,211;--spectrum-seafoam-1100:rgba(var(--spectrum-seafoam-1100-rgb));--spectrum-seafoam-1200-rgb:139,232,225;--spectrum-seafoam-1200:rgba(var(--spectrum-seafoam-1200-rgb));--spectrum-seafoam-1300-rgb:179,242,237;--spectrum-seafoam-1300:rgba(var(--spectrum-seafoam-1300-rgb));--spectrum-seafoam-1400-rgb:215,248,244;--spectrum-seafoam-1400:rgba(var(--spectrum-seafoam-1400-rgb));--spectrum-cyan-100-rgb:0,41,68;--spectrum-cyan-100:rgba(var(--spectrum-cyan-100-rgb));--spectrum-cyan-200-rgb:0,54,88;--spectrum-cyan-200:rgba(var(--spectrum-cyan-200-rgb));--spectrum-cyan-300-rgb:0,69,108;--spectrum-cyan-300:rgba(var(--spectrum-cyan-300-rgb));--spectrum-cyan-400-rgb:0,86,128;--spectrum-cyan-400:rgba(var(--spectrum-cyan-400-rgb));--spectrum-cyan-500-rgb:0,103,147;--spectrum-cyan-500:rgba(var(--spectrum-cyan-500-rgb));--spectrum-cyan-600-rgb:0,121,167;--spectrum-cyan-600:rgba(var(--spectrum-cyan-600-rgb));--spectrum-cyan-700-rgb:0,140,186;--spectrum-cyan-700:rgba(var(--spectrum-cyan-700-rgb));--spectrum-cyan-800-rgb:4,160,205;--spectrum-cyan-800:rgba(var(--spectrum-cyan-800-rgb));--spectrum-cyan-900-rgb:23,180,221;--spectrum-cyan-900:rgba(var(--spectrum-cyan-900-rgb));--spectrum-cyan-1000-rgb:57,199,234;--spectrum-cyan-1000:rgba(var(--spectrum-cyan-1000-rgb));--spectrum-cyan-1100-rgb:96,216,243;--spectrum-cyan-1100:rgba(var(--spectrum-cyan-1100-rgb));--spectrum-cyan-1200-rgb:134,230,250;--spectrum-cyan-1200:rgba(var(--spectrum-cyan-1200-rgb));--spectrum-cyan-1300-rgb:170,242,255;--spectrum-cyan-1300:rgba(var(--spectrum-cyan-1300-rgb));--spectrum-cyan-1400-rgb:206,249,255;--spectrum-cyan-1400:rgba(var(--spectrum-cyan-1400-rgb));--spectrum-indigo-100-rgb:26,29,97;--spectrum-indigo-100:rgba(var(--spectrum-indigo-100-rgb));--spectrum-indigo-200-rgb:35,39,125;--spectrum-indigo-200:rgba(var(--spectrum-indigo-200-rgb));--spectrum-indigo-300-rgb:46,50,158;--spectrum-indigo-300:rgba(var(--spectrum-indigo-300-rgb));--spectrum-indigo-400-rgb:58,63,189;--spectrum-indigo-400:rgba(var(--spectrum-indigo-400-rgb));--spectrum-indigo-500-rgb:73,78,216;--spectrum-indigo-500:rgba(var(--spectrum-indigo-500-rgb));--spectrum-indigo-600-rgb:90,96,235;--spectrum-indigo-600:rgba(var(--spectrum-indigo-600-rgb));--spectrum-indigo-700-rgb:110,115,246;--spectrum-indigo-700:rgba(var(--spectrum-indigo-700-rgb));--spectrum-indigo-800-rgb:132,136,253;--spectrum-indigo-800:rgba(var(--spectrum-indigo-800-rgb));--spectrum-indigo-900-rgb:153,157,255;--spectrum-indigo-900:rgba(var(--spectrum-indigo-900-rgb));--spectrum-indigo-1000-rgb:174,177,255;--spectrum-indigo-1000:rgba(var(--spectrum-indigo-1000-rgb));--spectrum-indigo-1100-rgb:194,196,255;--spectrum-indigo-1100:rgba(var(--spectrum-indigo-1100-rgb));--spectrum-indigo-1200-rgb:212,213,255;--spectrum-indigo-1200:rgba(var(--spectrum-indigo-1200-rgb));--spectrum-indigo-1300-rgb:227,228,255;--spectrum-indigo-1300:rgba(var(--spectrum-indigo-1300-rgb));--spectrum-indigo-1400-rgb:240,240,255;--spectrum-indigo-1400:rgba(var(--spectrum-indigo-1400-rgb));--spectrum-purple-100-rgb:50,16,104;--spectrum-purple-100:rgba(var(--spectrum-purple-100-rgb));--spectrum-purple-200-rgb:67,13,140;--spectrum-purple-200:rgba(var(--spectrum-purple-200-rgb));--spectrum-purple-300-rgb:86,16,173;--spectrum-purple-300:rgba(var(--spectrum-purple-300-rgb));--spectrum-purple-400-rgb:106,29,200;--spectrum-purple-400:rgba(var(--spectrum-purple-400-rgb));--spectrum-purple-500-rgb:126,49,222;--spectrum-purple-500:rgba(var(--spectrum-purple-500-rgb));--spectrum-purple-600-rgb:145,70,236;--spectrum-purple-600:rgba(var(--spectrum-purple-600-rgb));--spectrum-purple-700-rgb:162,94,246;--spectrum-purple-700:rgba(var(--spectrum-purple-700-rgb));--spectrum-purple-800-rgb:178,119,250;--spectrum-purple-800:rgba(var(--spectrum-purple-800-rgb));--spectrum-purple-900-rgb:192,143,252;--spectrum-purple-900:rgba(var(--spectrum-purple-900-rgb));--spectrum-purple-1000-rgb:206,166,253;--spectrum-purple-1000:rgba(var(--spectrum-purple-1000-rgb));--spectrum-purple-1100-rgb:219,188,254;--spectrum-purple-1100:rgba(var(--spectrum-purple-1100-rgb));--spectrum-purple-1200-rgb:230,207,255;--spectrum-purple-1200:rgba(var(--spectrum-purple-1200-rgb));--spectrum-purple-1300-rgb:240,224,255;--spectrum-purple-1300:rgba(var(--spectrum-purple-1300-rgb));--spectrum-purple-1400-rgb:248,237,255;--spectrum-purple-1400:rgba(var(--spectrum-purple-1400-rgb));--spectrum-fuchsia-100-rgb:70,14,68;--spectrum-fuchsia-100:rgba(var(--spectrum-fuchsia-100-rgb));--spectrum-fuchsia-200-rgb:93,9,92;--spectrum-fuchsia-200:rgba(var(--spectrum-fuchsia-200-rgb));--spectrum-fuchsia-300-rgb:120,0,120;--spectrum-fuchsia-300:rgba(var(--spectrum-fuchsia-300-rgb));--spectrum-fuchsia-400-rgb:146,0,147;--spectrum-fuchsia-400:rgba(var(--spectrum-fuchsia-400-rgb));--spectrum-fuchsia-500-rgb:169,19,170;--spectrum-fuchsia-500:rgba(var(--spectrum-fuchsia-500-rgb));--spectrum-fuchsia-600-rgb:191,43,191;--spectrum-fuchsia-600:rgba(var(--spectrum-fuchsia-600-rgb));--spectrum-fuchsia-700-rgb:211,65,213;--spectrum-fuchsia-700:rgba(var(--spectrum-fuchsia-700-rgb));--spectrum-fuchsia-800-rgb:228,91,229;--spectrum-fuchsia-800:rgba(var(--spectrum-fuchsia-800-rgb));--spectrum-fuchsia-900-rgb:239,120,238;--spectrum-fuchsia-900:rgba(var(--spectrum-fuchsia-900-rgb));--spectrum-fuchsia-1000-rgb:246,149,243;--spectrum-fuchsia-1000:rgba(var(--spectrum-fuchsia-1000-rgb));--spectrum-fuchsia-1100-rgb:251,175,246;--spectrum-fuchsia-1100:rgba(var(--spectrum-fuchsia-1100-rgb));--spectrum-fuchsia-1200-rgb:254,199,248;--spectrum-fuchsia-1200:rgba(var(--spectrum-fuchsia-1200-rgb));--spectrum-fuchsia-1300-rgb:255,220,250;--spectrum-fuchsia-1300:rgba(var(--spectrum-fuchsia-1300-rgb));--spectrum-fuchsia-1400-rgb:255,235,252;--spectrum-fuchsia-1400:rgba(var(--spectrum-fuchsia-1400-rgb));--spectrum-magenta-100-rgb:83,3,41;--spectrum-magenta-100:rgba(var(--spectrum-magenta-100-rgb));--spectrum-magenta-200-rgb:106,0,52;--spectrum-magenta-200:rgba(var(--spectrum-magenta-200-rgb));--spectrum-magenta-300-rgb:133,0,65;--spectrum-magenta-300:rgba(var(--spectrum-magenta-300-rgb));--spectrum-magenta-400-rgb:161,0,78;--spectrum-magenta-400:rgba(var(--spectrum-magenta-400-rgb));--spectrum-magenta-500-rgb:186,22,93;--spectrum-magenta-500:rgba(var(--spectrum-magenta-500-rgb));--spectrum-magenta-600-rgb:209,43,114;--spectrum-magenta-600:rgba(var(--spectrum-magenta-600-rgb));--spectrum-magenta-700-rgb:227,69,137;--spectrum-magenta-700:rgba(var(--spectrum-magenta-700-rgb));--spectrum-magenta-800-rgb:241,97,156;--spectrum-magenta-800:rgba(var(--spectrum-magenta-800-rgb));--spectrum-magenta-900-rgb:252,124,173;--spectrum-magenta-900:rgba(var(--spectrum-magenta-900-rgb));--spectrum-magenta-1000-rgb:255,152,191;--spectrum-magenta-1000:rgba(var(--spectrum-magenta-1000-rgb));--spectrum-magenta-1100-rgb:255,179,207;--spectrum-magenta-1100:rgba(var(--spectrum-magenta-1100-rgb));--spectrum-magenta-1200-rgb:255,202,221;--spectrum-magenta-1200:rgba(var(--spectrum-magenta-1200-rgb));--spectrum-magenta-1300-rgb:255,221,233;--spectrum-magenta-1300:rgba(var(--spectrum-magenta-1300-rgb));--spectrum-magenta-1400-rgb:255,236,243;--spectrum-magenta-1400:rgba(var(--spectrum-magenta-1400-rgb))}:host,:root{--spectrum-menu-item-background-color-default-rgb:255,255,255;--spectrum-menu-item-background-color-default-opacity:0;--spectrum-menu-item-background-color-default:rgba(var(--spectrum-menu-item-background-color-default-rgb),var(--spectrum-menu-item-background-color-default-opacity));--spectrum-menu-item-background-color-hover:var(\n--spectrum-transparent-white-200\n);--spectrum-menu-item-background-color-down:var(\n--spectrum-transparent-white-200\n);--spectrum-menu-item-background-color-key-focus:var(\n--spectrum-transparent-white-200\n);--spectrum-drop-zone-background-color-rgb:var(\n--spectrum-blue-900-rgb\n);--spectrum-calendar-day-background-color-selected:rgba(var(--spectrum-blue-800-rgb),0.2);--spectrum-calendar-day-background-color-hover:rgba(var(--spectrum-white-rgb),0.08);--spectrum-calendar-day-today-background-color-selected-hover:rgba(var(--spectrum-blue-800-rgb),0.3);--spectrum-calendar-day-background-color-selected-hover:rgba(var(--spectrum-blue-800-rgb),0.3);--spectrum-calendar-day-background-color-down:rgba(var(--spectrum-white-rgb),0.15);--spectrum-calendar-day-background-color-cap-selected:rgba(var(--spectrum-blue-800-rgb),0.3);--spectrum-calendar-day-background-color-key-focus:rgba(var(--spectrum-white-rgb),0.08);--spectrum-calendar-day-border-color-key-focus:var(--spectrum-blue-700);--spectrum-badge-label-icon-color-primary:var(--spectrum-black)}\n`;/* harmony default export */ const theme_darkest_css = (theme_darkest_css_e);\n//# sourceMappingURL=theme-darkest.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/theme-darkest.js\nTheme/* Theme */.Q.registerThemeFragment("darkest","color",theme_darkest_css);\n//# sourceMappingURL=theme-darkest.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/scale-medium.css.js\nconst scale_medium_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-dimension-scale-factor:1;--spectrum-global-dimension-size-0:0px;--spectrum-global-dimension-size-10:1px;--spectrum-global-dimension-size-25:2px;--spectrum-global-dimension-size-30:2px;--spectrum-global-dimension-size-40:3px;--spectrum-global-dimension-size-50:4px;--spectrum-global-dimension-size-65:5px;--spectrum-global-dimension-size-75:6px;--spectrum-global-dimension-size-85:7px;--spectrum-global-dimension-size-100:8px;--spectrum-global-dimension-size-115:9px;--spectrum-global-dimension-size-125:10px;--spectrum-global-dimension-size-130:11px;--spectrum-global-dimension-size-150:12px;--spectrum-global-dimension-size-160:13px;--spectrum-global-dimension-size-175:14px;--spectrum-global-dimension-size-185:15px;--spectrum-global-dimension-size-200:16px;--spectrum-global-dimension-size-225:18px;--spectrum-global-dimension-size-250:20px;--spectrum-global-dimension-size-275:22px;--spectrum-global-dimension-size-300:24px;--spectrum-global-dimension-size-325:26px;--spectrum-global-dimension-size-350:28px;--spectrum-global-dimension-size-400:32px;--spectrum-global-dimension-size-450:36px;--spectrum-global-dimension-size-500:40px;--spectrum-global-dimension-size-550:44px;--spectrum-global-dimension-size-600:48px;--spectrum-global-dimension-size-650:52px;--spectrum-global-dimension-size-675:54px;--spectrum-global-dimension-size-700:56px;--spectrum-global-dimension-size-750:60px;--spectrum-global-dimension-size-800:64px;--spectrum-global-dimension-size-900:72px;--spectrum-global-dimension-size-1000:80px;--spectrum-global-dimension-size-1125:90px;--spectrum-global-dimension-size-1200:96px;--spectrum-global-dimension-size-1250:100px;--spectrum-global-dimension-size-1600:128px;--spectrum-global-dimension-size-1700:136px;--spectrum-global-dimension-size-1800:144px;--spectrum-global-dimension-size-2000:160px;--spectrum-global-dimension-size-2400:192px;--spectrum-global-dimension-size-2500:200px;--spectrum-global-dimension-size-3000:240px;--spectrum-global-dimension-size-3400:272px;--spectrum-global-dimension-size-3600:288px;--spectrum-global-dimension-size-4600:368px;--spectrum-global-dimension-size-5000:400px;--spectrum-global-dimension-size-6000:480px;--spectrum-global-dimension-font-size-25:10px;--spectrum-global-dimension-font-size-50:11px;--spectrum-global-dimension-font-size-75:12px;--spectrum-global-dimension-font-size-100:14px;--spectrum-global-dimension-font-size-150:15px;--spectrum-global-dimension-font-size-200:16px;--spectrum-global-dimension-font-size-300:18px;--spectrum-global-dimension-font-size-400:20px;--spectrum-global-dimension-font-size-500:22px;--spectrum-global-dimension-font-size-600:25px;--spectrum-global-dimension-font-size-700:28px;--spectrum-global-dimension-font-size-800:32px;--spectrum-global-dimension-font-size-900:36px;--spectrum-global-dimension-font-size-1000:40px;--spectrum-global-dimension-font-size-1100:45px;--spectrum-global-dimension-font-size-1200:50px;--spectrum-global-dimension-font-size-1300:60px;--spectrum-alias-item-text-padding-top-l:var(\n--spectrum-global-dimension-size-115\n);--spectrum-alias-item-text-padding-bottom-s:var(\n--spectrum-global-dimension-static-size-65\n);--spectrum-alias-item-workflow-padding-left-m:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-rounded-workflow-padding-left-m:var(\n--spectrum-global-dimension-size-175\n);--spectrum-alias-item-rounded-workflow-padding-left-xl:21px;--spectrum-alias-item-mark-padding-top-m:var(\n--spectrum-global-dimension-static-size-75\n);--spectrum-alias-item-mark-padding-bottom-m:var(\n--spectrum-global-dimension-static-size-75\n);--spectrum-alias-item-mark-padding-left-m:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-control-1-size-l:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-control-1-size-xl:var(\n--spectrum-global-dimension-size-125\n);--spectrum-alias-item-control-2-size-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-control-3-height-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-item-control-3-width-s:23px;--spectrum-alias-item-control-3-width-m:var(\n--spectrum-global-dimension-static-size-325\n);--spectrum-alias-item-control-3-width-l:29px;--spectrum-alias-item-control-3-width-xl:33px;--spectrum-alias-item-mark-size-m:var(\n--spectrum-global-dimension-size-250\n);--spectrum-alias-component-focusring-border-radius:var(\n--spectrum-global-dimension-static-size-65\n);--spectrum-alias-control-two-size-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-control-three-height-s:var(\n--spectrum-global-dimension-size-150\n);--spectrum-alias-control-three-width-s:23px;--spectrum-alias-control-three-width-m:var(\n--spectrum-global-dimension-static-size-325\n);--spectrum-alias-control-three-width-l:29px;--spectrum-alias-control-three-width-xl:33px;--spectrum-alias-focus-ring-border-radius-regular:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-focus-ring-radius-default:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-workflow-icon-size-l:var(\n--spectrum-global-dimension-static-size-250\n);--spectrum-alias-ui-icon-chevron-size-75:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-chevron-size-100:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-chevron-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-chevron-size-300:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-chevron-size-400:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-chevron-size-500:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-checkmark-size-50:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-checkmark-size-75:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-checkmark-size-100:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-checkmark-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-checkmark-size-300:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-checkmark-size-400:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-checkmark-size-500:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-checkmark-size-600:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-dash-size-50:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-dash-size-75:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-dash-size-100:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-dash-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-dash-size-300:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-dash-size-400:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-dash-size-500:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-dash-size-600:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-cross-size-75:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-cross-size-100:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-cross-size-200:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-cross-size-300:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-cross-size-400:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-cross-size-500:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-cross-size-600:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-arrow-size-75:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-arrow-size-100:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-arrow-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-arrow-size-300:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-arrow-size-400:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-arrow-size-500:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-arrow-size-600:var(\n--spectrum-global-dimension-static-size-250\n);--spectrum-alias-ui-icon-triplegripper-size-100-width:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-doublegripper-size-100-height:var(\n--spectrum-global-dimension-static-size-50\n);--spectrum-alias-ui-icon-singlegripper-size-100-height:var(\n--spectrum-global-dimension-static-size-25\n);--spectrum-alias-ui-icon-cornertriangle-size-100:var(\n--spectrum-global-dimension-static-size-65\n);--spectrum-alias-ui-icon-cornertriangle-size-300:var(\n--spectrum-global-dimension-static-size-85\n);--spectrum-alias-ui-icon-asterisk-size-200:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-asterisk-size-300:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-dialog-confirm-title-text-size:var(\n--spectrum-alias-heading-s-text-size\n);--spectrum-dialog-confirm-description-text-size:var(\n--spectrum-global-dimension-font-size-100\n);--spectrum-dialog-confirm-padding:var(\n--spectrum-global-dimension-static-size-500\n)}:host,:root{--spectrum-global-alias-appframe-border-size:2px}:host,:root{--spectrum-field-label-text-to-asterisk-small:4px;--spectrum-field-label-text-to-asterisk-medium:4px;--spectrum-field-label-text-to-asterisk-large:5px;--spectrum-field-label-text-to-asterisk-extra-large:5px;--spectrum-field-label-top-to-asterisk-small:8px;--spectrum-field-label-top-to-asterisk-medium:12px;--spectrum-field-label-top-to-asterisk-large:15px;--spectrum-field-label-top-to-asterisk-extra-large:19px;--spectrum-field-label-top-margin-small:0px;--spectrum-field-label-top-margin-medium:4px;--spectrum-field-label-top-margin-large:5px;--spectrum-field-label-top-margin-extra-large:5px;--spectrum-field-label-to-component-quiet-small:-8px;--spectrum-field-label-to-component-quiet-medium:-8px;--spectrum-field-label-to-component-quiet-large:-12px;--spectrum-field-label-to-component-quiet-extra-large:-15px;--spectrum-help-text-top-to-workflow-icon-small:4px;--spectrum-help-text-top-to-workflow-icon-medium:3px;--spectrum-help-text-top-to-workflow-icon-large:6px;--spectrum-help-text-top-to-workflow-icon-extra-large:9px;--spectrum-status-light-dot-size-small:8px;--spectrum-status-light-dot-size-medium:8px;--spectrum-status-light-dot-size-large:10px;--spectrum-status-light-dot-size-extra-large:10px;--spectrum-status-light-top-to-dot-small:8px;--spectrum-status-light-top-to-dot-medium:12px;--spectrum-status-light-top-to-dot-large:15px;--spectrum-status-light-top-to-dot-extra-large:19px;--spectrum-action-button-edge-to-hold-icon-extra-small:3px;--spectrum-action-button-edge-to-hold-icon-small:3px;--spectrum-action-button-edge-to-hold-icon-medium:4px;--spectrum-action-button-edge-to-hold-icon-large:5px;--spectrum-action-button-edge-to-hold-icon-extra-large:6px;--spectrum-tooltip-tip-width:8px;--spectrum-tooltip-tip-height:4px;--spectrum-tooltip-maximum-width:160px;--spectrum-progress-circle-size-small:16px;--spectrum-progress-circle-size-medium:32px;--spectrum-progress-circle-size-large:64px;--spectrum-progress-circle-thickness-small:2px;--spectrum-progress-circle-thickness-medium:3px;--spectrum-progress-circle-thickness-large:4px;--spectrum-toast-height:48px;--spectrum-toast-maximum-width:336px;--spectrum-toast-top-to-workflow-icon:15px;--spectrum-toast-top-to-text:14px;--spectrum-toast-bottom-to-text:17px;--spectrum-action-bar-height:48px;--spectrum-action-bar-top-to-item-counter:14px;--spectrum-swatch-size-extra-small:16px;--spectrum-swatch-size-small:24px;--spectrum-swatch-size-medium:32px;--spectrum-swatch-size-large:40px;--spectrum-progress-bar-thickness-small:4px;--spectrum-progress-bar-thickness-medium:6px;--spectrum-progress-bar-thickness-large:8px;--spectrum-progress-bar-thickness-extra-large:10px;--spectrum-meter-default-width:192px;--spectrum-meter-thickness-small:4px;--spectrum-meter-thickness-large:6px;--spectrum-tag-top-to-avatar-small:4px;--spectrum-tag-top-to-avatar-medium:6px;--spectrum-tag-top-to-avatar-large:9px;--spectrum-tag-top-to-cross-icon-small:8px;--spectrum-tag-top-to-cross-icon-medium:12px;--spectrum-tag-top-to-cross-icon-large:15px;--spectrum-popover-top-to-content-area:4px;--spectrum-menu-item-edge-to-content-not-selected-small:28px;--spectrum-menu-item-edge-to-content-not-selected-medium:32px;--spectrum-menu-item-edge-to-content-not-selected-large:38px;--spectrum-menu-item-edge-to-content-not-selected-extra-large:45px;--spectrum-menu-item-top-to-disclosure-icon-small:7px;--spectrum-menu-item-top-to-disclosure-icon-medium:11px;--spectrum-menu-item-top-to-disclosure-icon-large:14px;--spectrum-menu-item-top-to-disclosure-icon-extra-large:17px;--spectrum-menu-item-top-to-selected-icon-small:7px;--spectrum-menu-item-top-to-selected-icon-medium:11px;--spectrum-menu-item-top-to-selected-icon-large:14px;--spectrum-menu-item-top-to-selected-icon-extra-large:17px;--spectrum-slider-control-to-field-label-small:5px;--spectrum-slider-control-to-field-label-medium:8px;--spectrum-slider-control-to-field-label-large:11px;--spectrum-slider-control-to-field-label-extra-large:14px;--spectrum-picker-visual-to-disclosure-icon-small:7px;--spectrum-picker-visual-to-disclosure-icon-medium:8px;--spectrum-picker-visual-to-disclosure-icon-large:9px;--spectrum-picker-visual-to-disclosure-icon-extra-large:10px;--spectrum-text-area-minimum-width:112px;--spectrum-text-area-minimum-height:56px;--spectrum-combo-box-visual-to-field-button-small:7px;--spectrum-combo-box-visual-to-field-button-medium:8px;--spectrum-combo-box-visual-to-field-button-large:9px;--spectrum-combo-box-visual-to-field-button-extra-large:10px;--spectrum-thumbnail-size-50:16px;--spectrum-thumbnail-size-75:18px;--spectrum-thumbnail-size-100:20px;--spectrum-thumbnail-size-200:22px;--spectrum-thumbnail-size-300:26px;--spectrum-thumbnail-size-400:28px;--spectrum-thumbnail-size-500:32px;--spectrum-thumbnail-size-600:36px;--spectrum-thumbnail-size-700:40px;--spectrum-thumbnail-size-800:44px;--spectrum-thumbnail-size-900:50px;--spectrum-thumbnail-size-1000:56px;--spectrum-alert-dialog-title-size:var(--spectrum-heading-size-s);--spectrum-alert-dialog-description-size:var(--spectrum-body-size-s);--spectrum-opacity-checkerboard-square-size:8px;--spectrum-contextual-help-title-size:var(--spectrum-heading-size-xs);--spectrum-contextual-help-body-size:var(--spectrum-heading-size-s);--spectrum-breadcrumbs-height-multiline:72px;--spectrum-breadcrumbs-top-to-text:13px;--spectrum-breadcrumbs-top-to-text-compact:11px;--spectrum-breadcrumbs-top-to-text-multiline:12px;--spectrum-breadcrumbs-bottom-to-text:15px;--spectrum-breadcrumbs-bottom-to-text-compact:12px;--spectrum-breadcrumbs-bottom-to-text-multiline:9px;--spectrum-breadcrumbs-start-edge-to-text:8px;--spectrum-breadcrumbs-top-text-to-bottom-text:9px;--spectrum-breadcrumbs-top-to-separator-icon:19px;--spectrum-breadcrumbs-top-to-separator-icon-compact:15px;--spectrum-breadcrumbs-top-to-separator-icon-multiline:15px;--spectrum-breadcrumbs-separator-icon-to-bottom-text-multiline:11px;--spectrum-breadcrumbs-top-to-truncated-menu:8px;--spectrum-breadcrumbs-top-to-truncated-menu-compact:4px;--spectrum-avatar-size-50:16px;--spectrum-avatar-size-75:18px;--spectrum-avatar-size-100:20px;--spectrum-avatar-size-200:22px;--spectrum-avatar-size-300:26px;--spectrum-avatar-size-400:28px;--spectrum-avatar-size-500:32px;--spectrum-avatar-size-600:36px;--spectrum-avatar-size-700:40px;--spectrum-alert-banner-minimum-height:48px;--spectrum-alert-banner-width:832px;--spectrum-alert-banner-top-to-workflow-icon:15px;--spectrum-alert-banner-top-to-text:14px;--spectrum-alert-banner-bottom-to-text:17px;--spectrum-rating-indicator-width:18px;--spectrum-rating-indicator-to-icon:4px;--spectrum-color-area-width:192px;--spectrum-color-area-minimum-width:64px;--spectrum-color-area-height:192px;--spectrum-color-area-minimum-height:64px;--spectrum-color-wheel-width:192px;--spectrum-color-wheel-minimum-width:175px;--spectrum-color-slider-length:192px;--spectrum-color-slider-minimum-length:80px;--spectrum-illustrated-message-title-size:var(--spectrum-heading-size-m);--spectrum-illustrated-message-cjk-title-size:var(\n--spectrum-heading-cjk-size-m\n);--spectrum-illustrated-message-body-size:var(--spectrum-body-size-s);--spectrum-coach-mark-minimum-width:296px;--spectrum-coach-mark-edge-to-content:var(--spectrum-spacing-400);--spectrum-coach-mark-pagination-text-to-bottom-edge:33px;--spectrum-coach-mark-media-minimum-height:166px;--spectrum-accordion-top-to-text-compact-small:2px;--spectrum-accordion-top-to-text-regular-small:5px;--spectrum-accordion-small-top-to-text-spacious:9px;--spectrum-accordion-top-to-text-compact-medium:4px;--spectrum-accordion-top-to-text-regular-medium:8px;--spectrum-accordion-top-to-text-spacious-medium:12px;--spectrum-accordion-top-to-text-compact-large:4px;--spectrum-accordion-top-to-text-regular-large:9px;--spectrum-accordion-top-to-text-spacious-large:12px;--spectrum-accordion-top-to-text-compact-extra-large:5px;--spectrum-accordion-top-to-text-regular-extra-large:9px;--spectrum-accordion-top-to-text-spacious-extra-large:13px;--spectrum-accordion-bottom-to-text-compact-small:2px;--spectrum-accordion-bottom-to-text-regular-small:7px;--spectrum-accordion-bottom-to-text-spacious-small:11px;--spectrum-accordion-bottom-to-text-compact-medium:5px;--spectrum-accordion-bottom-to-text-regular-medium:9px;--spectrum-accordion-bottom-to-text-spacious-medium:13px;--spectrum-accordion-bottom-to-text-compact-large:8px;--spectrum-accordion-bottom-to-text-regular-large:11px;--spectrum-accordion-bottom-to-text-spacious-large:16px;--spectrum-accordion-bottom-to-text-compact-extra-large:8px;--spectrum-accordion-bottom-to-text-regular-extra-large:12px;--spectrum-accordion-bottom-to-text-spacious-extra-large:16px;--spectrum-accordion-minimum-width:200px;--spectrum-accordion-disclosure-indicator-to-text:0px;--spectrum-accordion-edge-to-disclosure-indicator:0px;--spectrum-accordion-edge-to-text:0px;--spectrum-accordion-focus-indicator-gap:0px;--spectrum-accordion-content-area-top-to-content:8px;--spectrum-accordion-content-area-bottom-to-content:16px;--spectrum-color-handle-size:16px;--spectrum-color-handle-size-key-focus:32px;--spectrum-table-column-header-row-top-to-text-small:8px;--spectrum-table-column-header-row-top-to-text-medium:7px;--spectrum-table-column-header-row-top-to-text-large:10px;--spectrum-table-column-header-row-top-to-text-extra-large:13px;--spectrum-table-column-header-row-bottom-to-text-small:9px;--spectrum-table-column-header-row-bottom-to-text-medium:8px;--spectrum-table-column-header-row-bottom-to-text-large:10px;--spectrum-table-column-header-row-bottom-to-text-extra-large:13px;--spectrum-table-row-height-small-regular:32px;--spectrum-table-row-height-medium-regular:40px;--spectrum-table-row-height-large-regular:48px;--spectrum-table-row-height-extra-large-regular:56px;--spectrum-table-row-height-small-spacious:40px;--spectrum-table-row-height-medium-spacious:48px;--spectrum-table-row-height-large-spacious:56px;--spectrum-table-row-height-extra-large-spacious:64px;--spectrum-table-row-top-to-text-small-regular:8px;--spectrum-table-row-top-to-text-medium-regular:11px;--spectrum-table-row-top-to-text-large-regular:14px;--spectrum-table-row-top-to-text-extra-large-regular:17px;--spectrum-table-row-bottom-to-text-small-regular:9px;--spectrum-table-row-bottom-to-text-medium-regular:12px;--spectrum-table-row-bottom-to-text-large-regular:14px;--spectrum-table-row-bottom-to-text-extra-large-regular:17px;--spectrum-table-row-top-to-text-small-spacious:12px;--spectrum-table-row-top-to-text-medium-spacious:15px;--spectrum-table-row-top-to-text-large-spacious:18px;--spectrum-table-row-top-to-text-extra-large-spacious:21px;--spectrum-table-row-bottom-to-text-small-spacious:13px;--spectrum-table-row-bottom-to-text-medium-spacious:16px;--spectrum-table-row-bottom-to-text-large-spacious:18px;--spectrum-table-row-bottom-to-text-extra-large-spacious:21px;--spectrum-table-edge-to-content:16px;--spectrum-table-checkbox-to-text:24px;--spectrum-table-header-row-checkbox-to-top-small:10px;--spectrum-table-header-row-checkbox-to-top-medium:9px;--spectrum-table-header-row-checkbox-to-top-large:12px;--spectrum-table-header-row-checkbox-to-top-extra-large:15px;--spectrum-table-row-checkbox-to-top-small-compact:6px;--spectrum-table-row-checkbox-to-top-small-regular:10px;--spectrum-table-row-checkbox-to-top-small-spacious:14px;--spectrum-table-row-checkbox-to-top-medium-compact:9px;--spectrum-table-row-checkbox-to-top-medium-regular:13px;--spectrum-table-row-checkbox-to-top-medium-spacious:17px;--spectrum-table-row-checkbox-to-top-large-compact:12px;--spectrum-table-row-checkbox-to-top-large-regular:16px;--spectrum-table-row-checkbox-to-top-large-spacious:20px;--spectrum-table-row-checkbox-to-top-extra-large-compact:15px;--spectrum-table-row-checkbox-to-top-extra-large-regular:19px;--spectrum-table-row-checkbox-to-top-extra-large-spacious:23px;--spectrum-table-section-header-row-height-small:24px;--spectrum-table-section-header-row-height-medium:32px;--spectrum-table-section-header-row-height-large:40px;--spectrum-table-section-header-row-height-extra-large:48px;--spectrum-table-thumbnail-to-top-minimum-small-compact:4px;--spectrum-table-thumbnail-to-top-minimum-medium-compact:5px;--spectrum-table-thumbnail-to-top-minimum-large-compact:7px;--spectrum-table-thumbnail-to-top-minimum-extra-large-compact:8px;--spectrum-table-thumbnail-to-top-minimum-small-regular:5px;--spectrum-table-thumbnail-to-top-minimum-medium-regular:7px;--spectrum-table-thumbnail-to-top-minimum-large-regular:8px;--spectrum-table-thumbnail-to-top-minimum-extra-large-regular:8px;--spectrum-table-thumbnail-to-top-minimum-small-spacious:7px;--spectrum-table-thumbnail-to-top-minimum-medium-spacious:8px;--spectrum-table-thumbnail-to-top-minimum-large-spacious:8px;--spectrum-table-thumbnail-to-top-minimum-extra-large-spacious:10px;--spectrum-tab-item-to-tab-item-horizontal-small:21px;--spectrum-tab-item-to-tab-item-horizontal-medium:24px;--spectrum-tab-item-to-tab-item-horizontal-large:27px;--spectrum-tab-item-to-tab-item-horizontal-extra-large:30px;--spectrum-tab-item-to-tab-item-vertical-small:4px;--spectrum-tab-item-to-tab-item-vertical-medium:4px;--spectrum-tab-item-to-tab-item-vertical-large:5px;--spectrum-tab-item-to-tab-item-vertical-extra-large:5px;--spectrum-tab-item-start-to-edge-small:12px;--spectrum-tab-item-start-to-edge-medium:12px;--spectrum-tab-item-start-to-edge-large:13px;--spectrum-tab-item-start-to-edge-extra-large:13px;--spectrum-tab-item-top-to-text-small:11px;--spectrum-tab-item-bottom-to-text-small:12px;--spectrum-tab-item-top-to-text-medium:14px;--spectrum-tab-item-bottom-to-text-medium:14px;--spectrum-tab-item-top-to-text-large:16px;--spectrum-tab-item-bottom-to-text-large:18px;--spectrum-tab-item-top-to-text-extra-large:19px;--spectrum-tab-item-bottom-to-text-extra-large:20px;--spectrum-tab-item-top-to-text-compact-small:4px;--spectrum-tab-item-bottom-to-text-compact-small:5px;--spectrum-tab-item-top-to-text-compact-medium:6px;--spectrum-tab-item-bottom-to-text-compact-medium:8px;--spectrum-tab-item-top-to-text-compact-large:10px;--spectrum-tab-item-bottom-to-text-compact-large:12px;--spectrum-tab-item-top-to-text-compact-extra-large:12px;--spectrum-tab-item-bottom-to-text-compact-extra-large:13px;--spectrum-tab-item-top-to-workflow-icon-small:13px;--spectrum-tab-item-top-to-workflow-icon-medium:15px;--spectrum-tab-item-top-to-workflow-icon-large:17px;--spectrum-tab-item-top-to-workflow-icon-extra-large:19px;--spectrum-tab-item-top-to-workflow-icon-compact-small:3px;--spectrum-tab-item-top-to-workflow-icon-compact-medium:7px;--spectrum-tab-item-top-to-workflow-icon-compact-large:9px;--spectrum-tab-item-top-to-workflow-icon-compact-extra-large:11px;--spectrum-tab-item-focus-indicator-gap-small:7px;--spectrum-tab-item-focus-indicator-gap-medium:8px;--spectrum-tab-item-focus-indicator-gap-large:9px;--spectrum-tab-item-focus-indicator-gap-extra-large:10px;--spectrum-side-navigation-width:192px;--spectrum-side-navigation-minimum-width:160px;--spectrum-side-navigation-maximum-width:240px;--spectrum-side-navigation-second-level-edge-to-text:24px;--spectrum-side-navigation-third-level-edge-to-text:36px;--spectrum-side-navigation-with-icon-second-level-edge-to-text:50px;--spectrum-side-navigation-with-icon-third-level-edge-to-text:62px;--spectrum-side-navigation-item-to-item:4px;--spectrum-side-navigation-item-to-header:16px;--spectrum-side-navigation-bottom-to-text:8px;--spectrum-tray-top-to-content-area:4px;--spectrum-workflow-icon-size-50:14px;--spectrum-workflow-icon-size-75:16px;--spectrum-workflow-icon-size-100:18px;--spectrum-workflow-icon-size-200:20px;--spectrum-workflow-icon-size-300:22px;--spectrum-text-to-visual-50:6px;--spectrum-text-to-visual-75:7px;--spectrum-text-to-visual-100:8px;--spectrum-text-to-visual-200:9px;--spectrum-text-to-visual-300:10px;--spectrum-text-to-control-75:9px;--spectrum-text-to-control-100:10px;--spectrum-text-to-control-200:11px;--spectrum-text-to-control-300:13px;--spectrum-component-height-50:20px;--spectrum-component-height-75:24px;--spectrum-component-height-100:32px;--spectrum-component-height-200:40px;--spectrum-component-height-300:48px;--spectrum-component-height-400:56px;--spectrum-component-height-500:64px;--spectrum-component-pill-edge-to-visual-75:10px;--spectrum-component-pill-edge-to-visual-100:14px;--spectrum-component-pill-edge-to-visual-200:18px;--spectrum-component-pill-edge-to-visual-300:21px;--spectrum-component-pill-edge-to-visual-only-75:4px;--spectrum-component-pill-edge-to-visual-only-100:7px;--spectrum-component-pill-edge-to-visual-only-200:10px;--spectrum-component-pill-edge-to-visual-only-300:13px;--spectrum-component-pill-edge-to-text-75:12px;--spectrum-component-pill-edge-to-text-100:16px;--spectrum-component-pill-edge-to-text-200:20px;--spectrum-component-pill-edge-to-text-300:24px;--spectrum-component-edge-to-visual-50:6px;--spectrum-component-edge-to-visual-75:7px;--spectrum-component-edge-to-visual-100:10px;--spectrum-component-edge-to-visual-200:13px;--spectrum-component-edge-to-visual-300:15px;--spectrum-component-edge-to-visual-only-50:3px;--spectrum-component-edge-to-visual-only-75:4px;--spectrum-component-edge-to-visual-only-100:7px;--spectrum-component-edge-to-visual-only-200:10px;--spectrum-component-edge-to-visual-only-300:13px;--spectrum-component-edge-to-text-50:8px;--spectrum-component-edge-to-text-75:9px;--spectrum-component-edge-to-text-100:12px;--spectrum-component-edge-to-text-200:15px;--spectrum-component-edge-to-text-300:18px;--spectrum-component-top-to-workflow-icon-50:3px;--spectrum-component-top-to-workflow-icon-75:4px;--spectrum-component-top-to-workflow-icon-100:7px;--spectrum-component-top-to-workflow-icon-200:10px;--spectrum-component-top-to-workflow-icon-300:13px;--spectrum-component-top-to-text-50:3px;--spectrum-component-top-to-text-75:4px;--spectrum-component-top-to-text-100:6px;--spectrum-component-top-to-text-200:9px;--spectrum-component-top-to-text-300:12px;--spectrum-component-bottom-to-text-50:3px;--spectrum-component-bottom-to-text-75:5px;--spectrum-component-bottom-to-text-100:9px;--spectrum-component-bottom-to-text-200:11px;--spectrum-component-bottom-to-text-300:14px;--spectrum-component-to-menu-small:6px;--spectrum-component-to-menu-medium:6px;--spectrum-component-to-menu-large:7px;--spectrum-component-to-menu-extra-large:8px;--spectrum-field-edge-to-disclosure-icon-75:7px;--spectrum-field-edge-to-disclosure-icon-100:11px;--spectrum-field-edge-to-disclosure-icon-200:14px;--spectrum-field-edge-to-disclosure-icon-300:17px;--spectrum-field-end-edge-to-disclosure-icon-75:7px;--spectrum-field-end-edge-to-disclosure-icon-100:11px;--spectrum-field-end-edge-to-disclosure-icon-200:14px;--spectrum-field-end-edge-to-disclosure-icon-300:17px;--spectrum-field-top-to-disclosure-icon-75:7px;--spectrum-field-top-to-disclosure-icon-100:11px;--spectrum-field-top-to-disclosure-icon-200:14px;--spectrum-field-top-to-disclosure-icon-300:17px;--spectrum-field-top-to-alert-icon-small:4px;--spectrum-field-top-to-alert-icon-medium:7px;--spectrum-field-top-to-alert-icon-large:10px;--spectrum-field-top-to-alert-icon-extra-large:13px;--spectrum-field-top-to-validation-icon-small:7px;--spectrum-field-top-to-validation-icon-medium:11px;--spectrum-field-top-to-validation-icon-large:14px;--spectrum-field-top-to-validation-icon-extra-large:17px;--spectrum-field-top-to-progress-circle-small:4px;--spectrum-field-top-to-progress-circle-medium:8px;--spectrum-field-top-to-progress-circle-large:12px;--spectrum-field-top-to-progress-circle-extra-large:16px;--spectrum-field-edge-to-alert-icon-small:9px;--spectrum-field-edge-to-alert-icon-medium:12px;--spectrum-field-edge-to-alert-icon-large:15px;--spectrum-field-edge-to-alert-icon-extra-large:18px;--spectrum-field-edge-to-validation-icon-small:9px;--spectrum-field-edge-to-validation-icon-medium:12px;--spectrum-field-edge-to-validation-icon-large:15px;--spectrum-field-edge-to-validation-icon-extra-large:18px;--spectrum-field-text-to-alert-icon-small:8px;--spectrum-field-text-to-alert-icon-medium:12px;--spectrum-field-text-to-alert-icon-large:15px;--spectrum-field-text-to-alert-icon-extra-large:18px;--spectrum-field-text-to-validation-icon-small:8px;--spectrum-field-text-to-validation-icon-medium:12px;--spectrum-field-text-to-validation-icon-large:15px;--spectrum-field-text-to-validation-icon-extra-large:18px;--spectrum-field-width:192px;--spectrum-character-count-to-field-quiet-small:-3px;--spectrum-character-count-to-field-quiet-medium:-3px;--spectrum-character-count-to-field-quiet-large:-3px;--spectrum-character-count-to-field-quiet-extra-large:-4px;--spectrum-side-label-character-count-to-field:12px;--spectrum-side-label-character-count-top-margin-small:4px;--spectrum-side-label-character-count-top-margin-medium:8px;--spectrum-side-label-character-count-top-margin-large:11px;--spectrum-side-label-character-count-top-margin-extra-large:14px;--spectrum-disclosure-indicator-top-to-disclosure-icon-small:7px;--spectrum-disclosure-indicator-top-to-disclosure-icon-medium:11px;--spectrum-disclosure-indicator-top-to-disclosure-icon-large:14px;--spectrum-disclosure-indicator-top-to-disclosure-icon-extra-large:17px;--spectrum-navigational-indicator-top-to-back-icon-small:7px;--spectrum-navigational-indicator-top-to-back-icon-medium:11px;--spectrum-navigational-indicator-top-to-back-icon-large:14px;--spectrum-navigational-indicator-top-to-back-icon-extra-large:17px;--spectrum-color-control-track-width:24px;--spectrum-font-size-50:11px;--spectrum-font-size-75:12px;--spectrum-font-size-100:14px;--spectrum-font-size-200:16px;--spectrum-font-size-300:18px;--spectrum-font-size-400:20px;--spectrum-font-size-500:22px;--spectrum-font-size-600:25px;--spectrum-font-size-700:28px;--spectrum-font-size-800:32px;--spectrum-font-size-900:36px;--spectrum-font-size-1000:40px;--spectrum-font-size-1100:45px;--spectrum-font-size-1200:50px;--spectrum-font-size-1300:60px}:host,:root{--spectrum-edge-to-visual-only-75:4px;--spectrum-edge-to-visual-only-100:7px;--spectrum-edge-to-visual-only-200:10px;--spectrum-edge-to-visual-only-300:13px;--spectrum-slider-tick-mark-height:10px;--spectrum-slider-ramp-track-height:16px;--spectrum-colorwheel-path:"M 95 95 m -95 0 a 95 95 0 1 0 190 0 a 95 95 0 1 0 -190 0.2 M 95 95 m -73 0 a 73 73 0 1 0 146 0 a 73 73 0 1 0 -146 0";--spectrum-colorwheel-path-borders:"M 96 96 m -96 0 a 96 96 0 1 0 192 0 a 96 96 0 1 0 -192 0.2 M 96 96 m -72 0 a 72 72 0 1 0 144 0 a 72 72 0 1 0 -144 0";--spectrum-colorwheel-colorarea-container-size:144px;--spectrum-colorloupe-checkerboard-fill:url(#checkerboard-primary);--spectrum-menu-item-selectable-edge-to-text-not-selected-small:28px;--spectrum-menu-item-selectable-edge-to-text-not-selected-medium:32px;--spectrum-menu-item-selectable-edge-to-text-not-selected-large:38px;--spectrum-menu-item-selectable-edge-to-text-not-selected-extra-large:45px;--spectrum-menu-item-checkmark-height-small:10px;--spectrum-menu-item-checkmark-height-medium:10px;--spectrum-menu-item-checkmark-height-large:12px;--spectrum-menu-item-checkmark-height-extra-large:14px;--spectrum-menu-item-checkmark-width-small:10px;--spectrum-menu-item-checkmark-width-medium:10px;--spectrum-menu-item-checkmark-width-large:12px;--spectrum-menu-item-checkmark-width-extra-large:14px;--spectrum-rating-icon-spacing:var(--spectrum-spacing-75);--spectrum-button-top-to-text-small:5px;--spectrum-button-bottom-to-text-small:4px;--spectrum-button-top-to-text-medium:7px;--spectrum-button-bottom-to-text-medium:8px;--spectrum-button-top-to-text-large:10px;--spectrum-button-bottom-to-text-large:10px;--spectrum-button-top-to-text-extra-large:13px;--spectrum-button-bottom-to-text-extra-large:13px;--spectrum-alert-banner-close-button-spacing:var(--spectrum-spacing-100);--spectrum-alert-banner-edge-to-divider:var(--spectrum-spacing-100);--spectrum-alert-banner-edge-to-button:var(--spectrum-spacing-100);--spectrum-alert-banner-text-to-button-vertical:var(\n--spectrum-spacing-100\n);--spectrum-sidenav-heading-top-margin:24px;--spectrum-sidenav-heading-bottom-margin:8px;--spectrum-sidenav-bottom-to-label:8px}:host,:root{--spectrum-checkbox-control-size-small:12px;--spectrum-checkbox-control-size-medium:14px;--spectrum-checkbox-control-size-large:16px;--spectrum-checkbox-control-size-extra-large:18px;--spectrum-checkbox-top-to-control-small:6px;--spectrum-checkbox-top-to-control-medium:9px;--spectrum-checkbox-top-to-control-large:12px;--spectrum-checkbox-top-to-control-extra-large:15px;--spectrum-switch-control-width-small:23px;--spectrum-switch-control-width-medium:26px;--spectrum-switch-control-width-large:29px;--spectrum-switch-control-width-extra-large:33px;--spectrum-switch-control-height-small:12px;--spectrum-switch-control-height-medium:14px;--spectrum-switch-control-height-large:16px;--spectrum-switch-control-height-extra-large:18px;--spectrum-switch-top-to-control-small:6px;--spectrum-switch-top-to-control-medium:9px;--spectrum-switch-top-to-control-large:12px;--spectrum-switch-top-to-control-extra-large:15px;--spectrum-radio-button-control-size-small:12px;--spectrum-radio-button-control-size-medium:14px;--spectrum-radio-button-control-size-large:16px;--spectrum-radio-button-control-size-extra-large:18px;--spectrum-radio-button-top-to-control-small:6px;--spectrum-radio-button-top-to-control-medium:9px;--spectrum-radio-button-top-to-control-large:12px;--spectrum-radio-button-top-to-control-extra-large:15px;--spectrum-slider-control-height-small:14px;--spectrum-slider-control-height-medium:16px;--spectrum-slider-control-height-large:18px;--spectrum-slider-control-height-extra-large:20px;--spectrum-slider-handle-size-small:14px;--spectrum-slider-handle-size-medium:16px;--spectrum-slider-handle-size-large:18px;--spectrum-slider-handle-size-extra-large:20px;--spectrum-slider-handle-border-width-down-small:5px;--spectrum-slider-handle-border-width-down-medium:6px;--spectrum-slider-handle-border-width-down-large:7px;--spectrum-slider-handle-border-width-down-extra-large:8px;--spectrum-slider-bottom-to-handle-small:5px;--spectrum-slider-bottom-to-handle-medium:8px;--spectrum-slider-bottom-to-handle-large:11px;--spectrum-slider-bottom-to-handle-extra-large:14px;--spectrum-corner-radius-75:2px;--spectrum-corner-radius-100:4px;--spectrum-corner-radius-200:8px;--spectrum-drop-shadow-x:0px;--spectrum-drop-shadow-y:1px;--spectrum-drop-shadow-blur:4px}\n`;/* harmony default export */ const scale_medium_css = (scale_medium_css_e);\n//# sourceMappingURL=scale-medium.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/scale-medium.js\nTheme/* Theme */.Q.registerThemeFragment("medium","scale",scale_medium_css);\n//# sourceMappingURL=scale-medium.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/scale-large.css.js\nconst scale_large_css_e=(0,lit.css)`\n:host,:root{--spectrum-global-dimension-scale-factor:1.25;--spectrum-global-dimension-size-0:0px;--spectrum-global-dimension-size-10:1px;--spectrum-global-dimension-size-25:2px;--spectrum-global-dimension-size-30:3px;--spectrum-global-dimension-size-40:4px;--spectrum-global-dimension-size-50:5px;--spectrum-global-dimension-size-65:6px;--spectrum-global-dimension-size-75:8px;--spectrum-global-dimension-size-85:9px;--spectrum-global-dimension-size-100:10px;--spectrum-global-dimension-size-115:11px;--spectrum-global-dimension-size-125:13px;--spectrum-global-dimension-size-130:14px;--spectrum-global-dimension-size-150:15px;--spectrum-global-dimension-size-160:16px;--spectrum-global-dimension-size-175:18px;--spectrum-global-dimension-size-185:19px;--spectrum-global-dimension-size-200:20px;--spectrum-global-dimension-size-225:22px;--spectrum-global-dimension-size-250:25px;--spectrum-global-dimension-size-275:28px;--spectrum-global-dimension-size-300:30px;--spectrum-global-dimension-size-325:32px;--spectrum-global-dimension-size-350:35px;--spectrum-global-dimension-size-400:40px;--spectrum-global-dimension-size-450:45px;--spectrum-global-dimension-size-500:50px;--spectrum-global-dimension-size-550:56px;--spectrum-global-dimension-size-600:60px;--spectrum-global-dimension-size-650:65px;--spectrum-global-dimension-size-675:68px;--spectrum-global-dimension-size-700:70px;--spectrum-global-dimension-size-750:75px;--spectrum-global-dimension-size-800:80px;--spectrum-global-dimension-size-900:90px;--spectrum-global-dimension-size-1000:100px;--spectrum-global-dimension-size-1125:112px;--spectrum-global-dimension-size-1200:120px;--spectrum-global-dimension-size-1250:125px;--spectrum-global-dimension-size-1600:160px;--spectrum-global-dimension-size-1700:170px;--spectrum-global-dimension-size-1800:180px;--spectrum-global-dimension-size-2000:200px;--spectrum-global-dimension-size-2400:240px;--spectrum-global-dimension-size-2500:250px;--spectrum-global-dimension-size-3000:300px;--spectrum-global-dimension-size-3400:340px;--spectrum-global-dimension-size-3600:360px;--spectrum-global-dimension-size-4600:460px;--spectrum-global-dimension-size-5000:500px;--spectrum-global-dimension-size-6000:600px;--spectrum-global-dimension-font-size-25:12px;--spectrum-global-dimension-font-size-50:13px;--spectrum-global-dimension-font-size-75:15px;--spectrum-global-dimension-font-size-100:17px;--spectrum-global-dimension-font-size-150:18px;--spectrum-global-dimension-font-size-200:19px;--spectrum-global-dimension-font-size-300:22px;--spectrum-global-dimension-font-size-400:24px;--spectrum-global-dimension-font-size-500:27px;--spectrum-global-dimension-font-size-600:31px;--spectrum-global-dimension-font-size-700:34px;--spectrum-global-dimension-font-size-800:39px;--spectrum-global-dimension-font-size-900:44px;--spectrum-global-dimension-font-size-1000:49px;--spectrum-global-dimension-font-size-1100:55px;--spectrum-global-dimension-font-size-1200:62px;--spectrum-global-dimension-font-size-1300:70px;--spectrum-alias-item-text-padding-top-l:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-item-text-padding-bottom-s:var(\n--spectrum-global-dimension-static-size-85\n);--spectrum-alias-item-workflow-padding-left-m:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-item-rounded-workflow-padding-left-m:17px;--spectrum-alias-item-rounded-workflow-padding-left-xl:27px;--spectrum-alias-item-mark-padding-top-m:var(\n--spectrum-global-dimension-static-size-85\n);--spectrum-alias-item-mark-padding-bottom-m:var(\n--spectrum-global-dimension-static-size-85\n);--spectrum-alias-item-mark-padding-left-m:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-item-control-1-size-l:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-item-control-1-size-xl:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-item-control-2-size-s:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-control-3-height-s:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-item-control-3-width-s:var(\n--spectrum-global-dimension-size-325\n);--spectrum-alias-item-control-3-width-m:var(\n--spectrum-global-dimension-static-size-450\n);--spectrum-alias-item-control-3-width-l:41px;--spectrum-alias-item-control-3-width-xl:46px;--spectrum-alias-item-mark-size-m:var(\n--spectrum-global-dimension-static-size-325\n);--spectrum-alias-component-focusring-border-radius:var(\n--spectrum-global-dimension-static-size-75\n);--spectrum-alias-control-two-size-s:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-control-three-height-s:var(\n--spectrum-global-dimension-size-160\n);--spectrum-alias-control-three-width-s:var(\n--spectrum-global-dimension-size-325\n);--spectrum-alias-control-three-width-m:var(\n--spectrum-global-dimension-static-size-450\n);--spectrum-alias-control-three-width-l:41px;--spectrum-alias-control-three-width-xl:46px;--spectrum-alias-focus-ring-border-radius-regular:var(\n--spectrum-global-dimension-static-size-115\n);--spectrum-alias-focus-ring-radius-default:var(\n--spectrum-global-dimension-static-size-115\n);--spectrum-alias-workflow-icon-size-l:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-ui-icon-chevron-size-75:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-chevron-size-100:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-chevron-size-200:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-chevron-size-300:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-chevron-size-400:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-chevron-size-500:var(\n--spectrum-global-dimension-static-size-250\n);--spectrum-alias-ui-icon-checkmark-size-50:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-checkmark-size-75:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-checkmark-size-100:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-checkmark-size-200:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-checkmark-size-300:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-checkmark-size-400:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-checkmark-size-500:var(\n--spectrum-global-dimension-static-size-250\n);--spectrum-alias-ui-icon-checkmark-size-600:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-ui-icon-dash-size-50:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-dash-size-75:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-dash-size-100:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-dash-size-200:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-dash-size-300:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-dash-size-400:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-dash-size-500:var(\n--spectrum-global-dimension-static-size-250\n);--spectrum-alias-ui-icon-dash-size-600:var(\n--spectrum-global-dimension-static-size-275\n);--spectrum-alias-ui-icon-cross-size-75:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-cross-size-100:var(\n--spectrum-global-dimension-static-size-125\n);--spectrum-alias-ui-icon-cross-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-cross-size-300:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-cross-size-400:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-cross-size-500:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-cross-size-600:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-arrow-size-75:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-arrow-size-100:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-arrow-size-200:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-arrow-size-300:var(\n--spectrum-global-dimension-static-size-200\n);--spectrum-alias-ui-icon-arrow-size-400:var(\n--spectrum-global-dimension-static-size-225\n);--spectrum-alias-ui-icon-arrow-size-500:var(\n--spectrum-global-dimension-static-size-275\n);--spectrum-alias-ui-icon-arrow-size-600:var(\n--spectrum-global-dimension-static-size-300\n);--spectrum-alias-ui-icon-triplegripper-size-100-width:var(\n--spectrum-global-dimension-static-size-175\n);--spectrum-alias-ui-icon-doublegripper-size-100-height:var(\n--spectrum-global-dimension-static-size-75\n);--spectrum-alias-ui-icon-singlegripper-size-100-height:var(\n--spectrum-global-dimension-static-size-50\n);--spectrum-alias-ui-icon-cornertriangle-size-100:var(\n--spectrum-global-dimension-static-size-85\n);--spectrum-alias-ui-icon-cornertriangle-size-300:var(\n--spectrum-global-dimension-static-size-100\n);--spectrum-alias-ui-icon-asterisk-size-200:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-alias-ui-icon-asterisk-size-300:var(\n--spectrum-global-dimension-static-size-150\n);--spectrum-dialog-confirm-title-text-size:var(\n--spectrum-alias-heading-xs-text-size\n);--spectrum-dialog-confirm-description-text-size:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-dialog-confirm-padding:var(\n--spectrum-global-dimension-static-size-300\n)}:host,:root{--spectrum-global-alias-appframe-border-size:1px}:host,:root{--spectrum-field-label-text-to-asterisk-small:5px;--spectrum-field-label-text-to-asterisk-medium:5px;--spectrum-field-label-text-to-asterisk-large:6px;--spectrum-field-label-text-to-asterisk-extra-large:6px;--spectrum-field-label-top-to-asterisk-small:11px;--spectrum-field-label-top-to-asterisk-medium:15px;--spectrum-field-label-top-to-asterisk-large:19px;--spectrum-field-label-top-to-asterisk-extra-large:24px;--spectrum-field-label-top-margin-small:0px;--spectrum-field-label-top-margin-medium:5px;--spectrum-field-label-top-margin-large:6px;--spectrum-field-label-top-margin-extra-large:6px;--spectrum-field-label-to-component-quiet-small:-10px;--spectrum-field-label-to-component-quiet-medium:-10px;--spectrum-field-label-to-component-quiet-large:-15px;--spectrum-field-label-to-component-quiet-extra-large:-19px;--spectrum-help-text-top-to-workflow-icon-small:5px;--spectrum-help-text-top-to-workflow-icon-medium:4px;--spectrum-help-text-top-to-workflow-icon-large:8px;--spectrum-help-text-top-to-workflow-icon-extra-large:11px;--spectrum-status-light-dot-size-small:8px;--spectrum-status-light-dot-size-medium:10px;--spectrum-status-light-dot-size-large:12px;--spectrum-status-light-dot-size-extra-large:12px;--spectrum-status-light-top-to-dot-small:11px;--spectrum-status-light-top-to-dot-medium:15px;--spectrum-status-light-top-to-dot-large:19px;--spectrum-status-light-top-to-dot-extra-large:24px;--spectrum-action-button-edge-to-hold-icon-extra-small:3px;--spectrum-action-button-edge-to-hold-icon-small:3px;--spectrum-action-button-edge-to-hold-icon-medium:5px;--spectrum-action-button-edge-to-hold-icon-large:6px;--spectrum-action-button-edge-to-hold-icon-extra-large:7px;--spectrum-tooltip-tip-width:10px;--spectrum-tooltip-tip-height:5px;--spectrum-tooltip-maximum-width:200px;--spectrum-progress-circle-size-small:20px;--spectrum-progress-circle-size-medium:40px;--spectrum-progress-circle-size-large:80px;--spectrum-progress-circle-thickness-small:3px;--spectrum-progress-circle-thickness-medium:4px;--spectrum-progress-circle-thickness-large:5px;--spectrum-toast-height:56px;--spectrum-toast-maximum-width:420px;--spectrum-toast-top-to-workflow-icon:17px;--spectrum-toast-top-to-text:16px;--spectrum-toast-bottom-to-text:19px;--spectrum-action-bar-height:56px;--spectrum-action-bar-top-to-item-counter:16px;--spectrum-swatch-size-extra-small:20px;--spectrum-swatch-size-small:30px;--spectrum-swatch-size-medium:40px;--spectrum-swatch-size-large:50px;--spectrum-progress-bar-thickness-small:5px;--spectrum-progress-bar-thickness-medium:8px;--spectrum-progress-bar-thickness-large:10px;--spectrum-progress-bar-thickness-extra-large:13px;--spectrum-meter-default-width:240px;--spectrum-meter-thickness-small:5px;--spectrum-meter-thickness-large:8px;--spectrum-tag-top-to-avatar-small:5px;--spectrum-tag-top-to-avatar-medium:7px;--spectrum-tag-top-to-avatar-large:11px;--spectrum-tag-top-to-cross-icon-small:10px;--spectrum-tag-top-to-cross-icon-medium:15px;--spectrum-tag-top-to-cross-icon-large:19px;--spectrum-popover-top-to-content-area:5px;--spectrum-menu-item-edge-to-content-not-selected-small:24px;--spectrum-menu-item-edge-to-content-not-selected-medium:42px;--spectrum-menu-item-edge-to-content-not-selected-large:47px;--spectrum-menu-item-edge-to-content-not-selected-extra-large:54px;--spectrum-menu-item-top-to-disclosure-icon-small:9px;--spectrum-menu-item-top-to-disclosure-icon-medium:13px;--spectrum-menu-item-top-to-disclosure-icon-large:17px;--spectrum-menu-item-top-to-disclosure-icon-extra-large:22px;--spectrum-menu-item-top-to-selected-icon-small:9px;--spectrum-menu-item-top-to-selected-icon-medium:13px;--spectrum-menu-item-top-to-selected-icon-large:17px;--spectrum-menu-item-top-to-selected-icon-extra-large:22px;--spectrum-slider-control-to-field-label-small:6px;--spectrum-slider-control-to-field-label-medium:10px;--spectrum-slider-control-to-field-label-large:14px;--spectrum-slider-control-to-field-label-extra-large:17px;--spectrum-picker-visual-to-disclosure-icon-small:9px;--spectrum-picker-visual-to-disclosure-icon-medium:10px;--spectrum-picker-visual-to-disclosure-icon-large:11px;--spectrum-picker-visual-to-disclosure-icon-extra-large:13px;--spectrum-text-area-minimum-width:140px;--spectrum-text-area-minimum-height:70px;--spectrum-combo-box-visual-to-field-button-small:9px;--spectrum-combo-box-visual-to-field-button-medium:10px;--spectrum-combo-box-visual-to-field-button-large:11px;--spectrum-combo-box-visual-to-field-button-extra-large:13px;--spectrum-thumbnail-size-50:20px;--spectrum-thumbnail-size-75:22px;--spectrum-thumbnail-size-100:26px;--spectrum-thumbnail-size-200:28px;--spectrum-thumbnail-size-300:32px;--spectrum-thumbnail-size-400:36px;--spectrum-thumbnail-size-500:40px;--spectrum-thumbnail-size-600:46px;--spectrum-thumbnail-size-700:50px;--spectrum-thumbnail-size-800:55px;--spectrum-thumbnail-size-900:62px;--spectrum-thumbnail-size-1000:70px;--spectrum-alert-dialog-title-size:var(--spectrum-heading-size-xs);--spectrum-alert-dialog-description-size:var(--spectrum-body-size-xs);--spectrum-opacity-checkerboard-square-size:10px;--spectrum-contextual-help-title-size:var(--spectrum-heading-size-xxs);--spectrum-contextual-help-body-size:var(--spectrum-heading-size-xs);--spectrum-breadcrumbs-height-multiline:84px;--spectrum-breadcrumbs-top-to-text:17px;--spectrum-breadcrumbs-top-to-text-compact:16px;--spectrum-breadcrumbs-top-to-text-multiline:15px;--spectrum-breadcrumbs-bottom-to-text:19px;--spectrum-breadcrumbs-bottom-to-text-compact:19px;--spectrum-breadcrumbs-bottom-to-text-multiline:10px;--spectrum-breadcrumbs-start-edge-to-text:9px;--spectrum-breadcrumbs-top-text-to-bottom-text:11px;--spectrum-breadcrumbs-top-to-separator-icon:25px;--spectrum-breadcrumbs-top-to-separator-icon-compact:23px;--spectrum-breadcrumbs-top-to-separator-icon-multiline:20px;--spectrum-breadcrumbs-separator-icon-to-bottom-text-multiline:15px;--spectrum-breadcrumbs-top-to-truncated-menu:10px;--spectrum-breadcrumbs-top-to-truncated-menu-compact:5px;--spectrum-avatar-size-50:20px;--spectrum-avatar-size-75:22px;--spectrum-avatar-size-100:26px;--spectrum-avatar-size-200:28px;--spectrum-avatar-size-300:32px;--spectrum-avatar-size-400:36px;--spectrum-avatar-size-500:40px;--spectrum-avatar-size-600:46px;--spectrum-avatar-size-700:50px;--spectrum-alert-banner-minimum-height:64px;--spectrum-alert-banner-width:680px;--spectrum-alert-banner-top-to-workflow-icon:21px;--spectrum-alert-banner-top-to-text:21px;--spectrum-alert-banner-bottom-to-text:22px;--spectrum-rating-indicator-width:22px;--spectrum-rating-indicator-to-icon:5px;--spectrum-color-area-width:240px;--spectrum-color-area-minimum-width:80px;--spectrum-color-area-height:240px;--spectrum-color-area-minimum-height:80px;--spectrum-color-wheel-width:240px;--spectrum-color-wheel-minimum-width:219px;--spectrum-color-slider-length:240px;--spectrum-color-slider-minimum-length:100px;--spectrum-illustrated-message-title-size:var(--spectrum-heading-size-s);--spectrum-illustrated-message-cjk-title-size:var(\n--spectrum-heading-cjk-size-s\n);--spectrum-illustrated-message-body-size:var(--spectrum-body-size-xs);--spectrum-coach-mark-minimum-width:208px;--spectrum-coach-mark-edge-to-content:var(--spectrum-spacing-300);--spectrum-coach-mark-pagination-text-to-bottom-edge:22px;--spectrum-coach-mark-media-minimum-height:121px;--spectrum-coach-mark-title-size:var(--spectrum-heading-size-xxs);--spectrum-coach-mark-body-size:var(--spectrum-body-size-xs);--spectrum-coach-mark-pagination-body-size:var(--spectrum-body-size-xs);--spectrum-accordion-top-to-text-compact-small:2px;--spectrum-accordion-top-to-text-regular-small:7px;--spectrum-accordion-small-top-to-text-spacious:12px;--spectrum-accordion-top-to-text-compact-medium:4px;--spectrum-accordion-top-to-text-regular-medium:9px;--spectrum-accordion-top-to-text-spacious-medium:14px;--spectrum-accordion-top-to-text-compact-large:7px;--spectrum-accordion-top-to-text-regular-large:12px;--spectrum-accordion-top-to-text-spacious-large:14px;--spectrum-accordion-top-to-text-compact-extra-large:7px;--spectrum-accordion-top-to-text-regular-extra-large:12px;--spectrum-accordion-top-to-text-spacious-extra-large:14px;--spectrum-accordion-bottom-to-text-compact-small:4px;--spectrum-accordion-bottom-to-text-regular-small:9px;--spectrum-accordion-bottom-to-text-spacious-small:14px;--spectrum-accordion-bottom-to-text-compact-medium:8px;--spectrum-accordion-bottom-to-text-regular-medium:13px;--spectrum-accordion-bottom-to-text-spacious-medium:18px;--spectrum-accordion-bottom-to-text-compact-large:9px;--spectrum-accordion-bottom-to-text-regular-large:14px;--spectrum-accordion-bottom-to-text-spacious-large:19px;--spectrum-accordion-bottom-to-text-compact-extra-large:10px;--spectrum-accordion-bottom-to-text-regular-extra-large:15px;--spectrum-accordion-bottom-to-text-spacious-extra-large:21px;--spectrum-accordion-minimum-width:250px;--spectrum-accordion-disclosure-indicator-to-text:0px;--spectrum-accordion-edge-to-disclosure-indicator:0px;--spectrum-accordion-edge-to-text:0px;--spectrum-accordion-focus-indicator-gap:0px;--spectrum-accordion-content-area-top-to-content:10px;--spectrum-accordion-content-area-bottom-to-content:20px;--spectrum-color-handle-size:20px;--spectrum-color-handle-size-key-focus:40px;--spectrum-table-column-header-row-top-to-text-small:10px;--spectrum-table-column-header-row-top-to-text-medium:9px;--spectrum-table-column-header-row-top-to-text-large:13px;--spectrum-table-column-header-row-top-to-text-extra-large:16px;--spectrum-table-column-header-row-bottom-to-text-small:11px;--spectrum-table-column-header-row-bottom-to-text-medium:10px;--spectrum-table-column-header-row-bottom-to-text-large:13px;--spectrum-table-column-header-row-bottom-to-text-extra-large:17px;--spectrum-table-row-height-small-regular:40px;--spectrum-table-row-height-medium-regular:50px;--spectrum-table-row-height-large-regular:60px;--spectrum-table-row-height-extra-large-regular:70px;--spectrum-table-row-height-small-spacious:50px;--spectrum-table-row-height-medium-spacious:60px;--spectrum-table-row-height-large-spacious:70px;--spectrum-table-row-height-extra-large-spacious:80px;--spectrum-table-row-top-to-text-small-regular:10px;--spectrum-table-row-top-to-text-medium-regular:14px;--spectrum-table-row-top-to-text-large-regular:18px;--spectrum-table-row-top-to-text-extra-large-regular:21px;--spectrum-table-row-bottom-to-text-small-regular:11px;--spectrum-table-row-bottom-to-text-medium-regular:15px;--spectrum-table-row-bottom-to-text-large-regular:18px;--spectrum-table-row-bottom-to-text-extra-large-regular:22px;--spectrum-table-row-top-to-text-small-spacious:15px;--spectrum-table-row-top-to-text-medium-spacious:18px;--spectrum-table-row-top-to-text-large-spacious:23px;--spectrum-table-row-top-to-text-extra-large-spacious:26px;--spectrum-table-row-bottom-to-text-small-spacious:16px;--spectrum-table-row-bottom-to-text-medium-spacious:18px;--spectrum-table-row-bottom-to-text-large-spacious:23px;--spectrum-table-row-bottom-to-text-extra-large-spacious:27px;--spectrum-table-edge-to-content:16px;--spectrum-table-checkbox-to-text:30px;--spectrum-table-header-row-checkbox-to-top-small:14px;--spectrum-table-header-row-checkbox-to-top-medium:13px;--spectrum-table-header-row-checkbox-to-top-large:17px;--spectrum-table-header-row-checkbox-to-top-extra-large:21px;--spectrum-table-row-checkbox-to-top-small-compact:9px;--spectrum-table-row-checkbox-to-top-small-regular:14px;--spectrum-table-row-checkbox-to-top-small-spacious:19px;--spectrum-table-row-checkbox-to-top-medium-compact:13px;--spectrum-table-row-checkbox-to-top-medium-regular:18px;--spectrum-table-row-checkbox-to-top-medium-spacious:23px;--spectrum-table-row-checkbox-to-top-large-compact:17px;--spectrum-table-row-checkbox-to-top-large-regular:22px;--spectrum-table-row-checkbox-to-top-large-spacious:27px;--spectrum-table-row-checkbox-to-top-extra-large-compact:21px;--spectrum-table-row-checkbox-to-top-extra-large-regular:26px;--spectrum-table-row-checkbox-to-top-extra-large-spacious:31px;--spectrum-table-section-header-row-height-small:30px;--spectrum-table-section-header-row-height-medium:40px;--spectrum-table-section-header-row-height-large:50px;--spectrum-table-section-header-row-height-extra-large:60px;--spectrum-table-thumbnail-to-top-minimum-small-compact:5px;--spectrum-table-thumbnail-to-top-minimum-medium-compact:6px;--spectrum-table-thumbnail-to-top-minimum-large-compact:9px;--spectrum-table-thumbnail-to-top-minimum-extra-large-compact:10px;--spectrum-table-thumbnail-to-top-minimum-small-regular:6px;--spectrum-table-thumbnail-to-top-minimum-medium-regular:9px;--spectrum-table-thumbnail-to-top-minimum-large-regular:10px;--spectrum-table-thumbnail-to-top-minimum-extra-large-regular:10px;--spectrum-table-thumbnail-to-top-minimum-small-spacious:9px;--spectrum-table-thumbnail-to-top-minimum-medium-spacious:10px;--spectrum-table-thumbnail-to-top-minimum-large-spacious:10px;--spectrum-table-thumbnail-to-top-minimum-extra-large-spacious:12px;--spectrum-tab-item-to-tab-item-horizontal-small:27px;--spectrum-tab-item-to-tab-item-horizontal-medium:30px;--spectrum-tab-item-to-tab-item-horizontal-large:33px;--spectrum-tab-item-to-tab-item-horizontal-extra-large:36px;--spectrum-tab-item-to-tab-item-vertical-small:5px;--spectrum-tab-item-to-tab-item-vertical-medium:5px;--spectrum-tab-item-to-tab-item-vertical-large:6px;--spectrum-tab-item-to-tab-item-vertical-extra-large:6px;--spectrum-tab-item-start-to-edge-small:13px;--spectrum-tab-item-start-to-edge-medium:15px;--spectrum-tab-item-start-to-edge-large:17px;--spectrum-tab-item-start-to-edge-extra-large:19px;--spectrum-tab-item-top-to-text-small:14px;--spectrum-tab-item-bottom-to-text-small:15px;--spectrum-tab-item-top-to-text-medium:18px;--spectrum-tab-item-bottom-to-text-medium:19px;--spectrum-tab-item-top-to-text-large:22px;--spectrum-tab-item-bottom-to-text-large:22px;--spectrum-tab-item-top-to-text-extra-large:25px;--spectrum-tab-item-bottom-to-text-extra-large:25px;--spectrum-tab-item-top-to-text-compact-small:5px;--spectrum-tab-item-bottom-to-text-compact-small:6px;--spectrum-tab-item-top-to-text-compact-medium:9px;--spectrum-tab-item-bottom-to-text-compact-medium:10px;--spectrum-tab-item-top-to-text-compact-large:12px;--spectrum-tab-item-bottom-to-text-compact-large:14px;--spectrum-tab-item-top-to-text-compact-extra-large:15px;--spectrum-tab-item-bottom-to-text-compact-extra-large:17px;--spectrum-tab-item-top-to-workflow-icon-small:15px;--spectrum-tab-item-top-to-workflow-icon-medium:19px;--spectrum-tab-item-top-to-workflow-icon-large:23px;--spectrum-tab-item-top-to-workflow-icon-extra-large:26px;--spectrum-tab-item-top-to-workflow-icon-compact-small:5px;--spectrum-tab-item-top-to-workflow-icon-compact-medium:9px;--spectrum-tab-item-top-to-workflow-icon-compact-large:13px;--spectrum-tab-item-top-to-workflow-icon-compact-extra-large:16px;--spectrum-tab-item-focus-indicator-gap-small:9px;--spectrum-tab-item-focus-indicator-gap-medium:10px;--spectrum-tab-item-focus-indicator-gap-large:11px;--spectrum-tab-item-focus-indicator-gap-extra-large:12px;--spectrum-side-navigation-width:240px;--spectrum-side-navigation-minimum-width:200px;--spectrum-side-navigation-maximum-width:300px;--spectrum-side-navigation-second-level-edge-to-text:30px;--spectrum-side-navigation-third-level-edge-to-text:45px;--spectrum-side-navigation-with-icon-second-level-edge-to-text:62px;--spectrum-side-navigation-with-icon-third-level-edge-to-text:77px;--spectrum-side-navigation-item-to-item:5px;--spectrum-side-navigation-item-to-header:20px;--spectrum-side-navigation-bottom-to-text:10px;--spectrum-tray-top-to-content-area:5px;--spectrum-workflow-icon-size-50:18px;--spectrum-workflow-icon-size-75:20px;--spectrum-workflow-icon-size-100:22px;--spectrum-workflow-icon-size-200:24px;--spectrum-workflow-icon-size-300:28px;--spectrum-text-to-visual-50:8px;--spectrum-text-to-visual-75:9px;--spectrum-text-to-visual-100:10px;--spectrum-text-to-visual-200:11px;--spectrum-text-to-visual-300:13px;--spectrum-text-to-control-75:11px;--spectrum-text-to-control-100:13px;--spectrum-text-to-control-200:14px;--spectrum-text-to-control-300:16px;--spectrum-component-height-50:26px;--spectrum-component-height-75:30px;--spectrum-component-height-100:40px;--spectrum-component-height-200:50px;--spectrum-component-height-300:60px;--spectrum-component-height-400:70px;--spectrum-component-height-500:80px;--spectrum-component-pill-edge-to-visual-75:13px;--spectrum-component-pill-edge-to-visual-100:17px;--spectrum-component-pill-edge-to-visual-200:22px;--spectrum-component-pill-edge-to-visual-300:27px;--spectrum-component-pill-edge-to-visual-only-75:5px;--spectrum-component-pill-edge-to-visual-only-100:9px;--spectrum-component-pill-edge-to-visual-only-200:13px;--spectrum-component-pill-edge-to-visual-only-300:16px;--spectrum-component-pill-edge-to-text-75:15px;--spectrum-component-pill-edge-to-text-100:20px;--spectrum-component-pill-edge-to-text-200:25px;--spectrum-component-pill-edge-to-text-300:30px;--spectrum-component-edge-to-visual-50:7px;--spectrum-component-edge-to-visual-75:9px;--spectrum-component-edge-to-visual-100:12px;--spectrum-component-edge-to-visual-200:16px;--spectrum-component-edge-to-visual-300:19px;--spectrum-component-edge-to-visual-only-50:4px;--spectrum-component-edge-to-visual-only-75:5px;--spectrum-component-edge-to-visual-only-100:9px;--spectrum-component-edge-to-visual-only-200:13px;--spectrum-component-edge-to-visual-only-300:16px;--spectrum-component-edge-to-text-50:10px;--spectrum-component-edge-to-text-75:11px;--spectrum-component-edge-to-text-100:15px;--spectrum-component-edge-to-text-200:19px;--spectrum-component-edge-to-text-300:22px;--spectrum-component-top-to-workflow-icon-50:4px;--spectrum-component-top-to-workflow-icon-75:5px;--spectrum-component-top-to-workflow-icon-100:9px;--spectrum-component-top-to-workflow-icon-200:13px;--spectrum-component-top-to-workflow-icon-300:16px;--spectrum-component-top-to-text-50:4px;--spectrum-component-top-to-text-75:5px;--spectrum-component-top-to-text-100:8px;--spectrum-component-top-to-text-200:12px;--spectrum-component-top-to-text-300:15px;--spectrum-component-bottom-to-text-50:6px;--spectrum-component-bottom-to-text-75:6px;--spectrum-component-bottom-to-text-100:11px;--spectrum-component-bottom-to-text-200:14px;--spectrum-component-bottom-to-text-300:18px;--spectrum-component-to-menu-small:7px;--spectrum-component-to-menu-medium:8px;--spectrum-component-to-menu-large:9px;--spectrum-component-to-menu-extra-large:10px;--spectrum-field-edge-to-disclosure-icon-75:9px;--spectrum-field-edge-to-disclosure-icon-100:13px;--spectrum-field-edge-to-disclosure-icon-200:17px;--spectrum-field-edge-to-disclosure-icon-300:22px;--spectrum-field-end-edge-to-disclosure-icon-75:9px;--spectrum-field-end-edge-to-disclosure-icon-100:13px;--spectrum-field-end-edge-to-disclosure-icon-200:17px;--spectrum-field-end-edge-to-disclosure-icon-300:22px;--spectrum-field-top-to-disclosure-icon-75:9px;--spectrum-field-top-to-disclosure-icon-100:13px;--spectrum-field-top-to-disclosure-icon-200:17px;--spectrum-field-top-to-disclosure-icon-300:22px;--spectrum-field-top-to-alert-icon-small:5px;--spectrum-field-top-to-alert-icon-medium:9px;--spectrum-field-top-to-alert-icon-large:13px;--spectrum-field-top-to-alert-icon-extra-large:16px;--spectrum-field-top-to-validation-icon-small:9px;--spectrum-field-top-to-validation-icon-medium:13px;--spectrum-field-top-to-validation-icon-large:17px;--spectrum-field-top-to-validation-icon-extra-large:22px;--spectrum-field-top-to-progress-circle-small:7px;--spectrum-field-top-to-progress-circle-medium:12px;--spectrum-field-top-to-progress-circle-large:17px;--spectrum-field-top-to-progress-circle-extra-large:22px;--spectrum-field-edge-to-alert-icon-small:11px;--spectrum-field-edge-to-alert-icon-medium:15px;--spectrum-field-edge-to-alert-icon-large:19px;--spectrum-field-edge-to-alert-icon-extra-large:22px;--spectrum-field-edge-to-validation-icon-small:11px;--spectrum-field-edge-to-validation-icon-medium:15px;--spectrum-field-edge-to-validation-icon-large:19px;--spectrum-field-edge-to-validation-icon-extra-large:22px;--spectrum-field-text-to-alert-icon-small:10px;--spectrum-field-text-to-alert-icon-medium:15px;--spectrum-field-text-to-alert-icon-large:19px;--spectrum-field-text-to-alert-icon-extra-large:22px;--spectrum-field-text-to-validation-icon-small:10px;--spectrum-field-text-to-validation-icon-medium:15px;--spectrum-field-text-to-validation-icon-large:19px;--spectrum-field-text-to-validation-icon-extra-large:22px;--spectrum-field-width:240px;--spectrum-character-count-to-field-quiet-small:-4px;--spectrum-character-count-to-field-quiet-medium:-4px;--spectrum-character-count-to-field-quiet-large:-4px;--spectrum-character-count-to-field-quiet-extra-large:-5px;--spectrum-side-label-character-count-to-field:15px;--spectrum-side-label-character-count-top-margin-small:5px;--spectrum-side-label-character-count-top-margin-medium:10px;--spectrum-side-label-character-count-top-margin-large:14px;--spectrum-side-label-character-count-top-margin-extra-large:18px;--spectrum-disclosure-indicator-top-to-disclosure-icon-small:9px;--spectrum-disclosure-indicator-top-to-disclosure-icon-medium:13px;--spectrum-disclosure-indicator-top-to-disclosure-icon-large:17px;--spectrum-disclosure-indicator-top-to-disclosure-icon-extra-large:22px;--spectrum-navigational-indicator-top-to-back-icon-small:9px;--spectrum-navigational-indicator-top-to-back-icon-medium:13px;--spectrum-navigational-indicator-top-to-back-icon-large:17px;--spectrum-navigational-indicator-top-to-back-icon-extra-large:22px;--spectrum-color-control-track-width:30px;--spectrum-font-size-50:13px;--spectrum-font-size-75:15px;--spectrum-font-size-100:17px;--spectrum-font-size-200:19px;--spectrum-font-size-300:22px;--spectrum-font-size-400:24px;--spectrum-font-size-500:27px;--spectrum-font-size-600:31px;--spectrum-font-size-700:34px;--spectrum-font-size-800:39px;--spectrum-font-size-900:44px;--spectrum-font-size-1000:49px;--spectrum-font-size-1100:55px;--spectrum-font-size-1200:62px;--spectrum-font-size-1300:70px}:host,:root{--spectrum-edge-to-visual-only-75:5px;--spectrum-edge-to-visual-only-100:9px;--spectrum-edge-to-visual-only-200:13px;--spectrum-edge-to-visual-only-300:16px;--spectrum-slider-tick-mark-height:13px;--spectrum-slider-ramp-track-height:20px;--spectrum-colorwheel-path:"M 119 119 m -119 0 a 119 119 0 1 0 238 0 a 119 119 0 1 0 -238 0.2 M 119 119 m -91 0 a 91 91 0 1 0 182 0 a 91 91 0 1 0 -182 0";--spectrum-colorwheel-path-borders:"M 120 120 m -120 0 a 120 120 0 1 0 240 0 a 120 120 0 1 0 -240 0.2 M 120 120 m -90 0 a 90 90 0 1 0 180 0 a 90 90 0 1 0 -180 0";--spectrum-colorwheel-colorarea-container-size:182px;--spectrum-colorloupe-checkerboard-fill:url(#checkerboard-secondary);--spectrum-menu-item-selectable-edge-to-text-not-selected-small:34px;--spectrum-menu-item-selectable-edge-to-text-not-selected-medium:42px;--spectrum-menu-item-selectable-edge-to-text-not-selected-large:47px;--spectrum-menu-item-selectable-edge-to-text-not-selected-extra-large:54px;--spectrum-menu-item-checkmark-height-small:12px;--spectrum-menu-item-checkmark-height-medium:14px;--spectrum-menu-item-checkmark-height-large:16px;--spectrum-menu-item-checkmark-height-extra-large:16px;--spectrum-menu-item-checkmark-width-small:12px;--spectrum-menu-item-checkmark-width-medium:14px;--spectrum-menu-item-checkmark-width-large:16px;--spectrum-menu-item-checkmark-width-extra-large:16px;--spectrum-rating-icon-spacing:var(--spectrum-spacing-100);--spectrum-button-top-to-text-small:6px;--spectrum-button-bottom-to-text-small:5px;--spectrum-button-top-to-text-medium:9px;--spectrum-button-bottom-to-text-medium:10px;--spectrum-button-top-to-text-large:12px;--spectrum-button-bottom-to-text-large:13px;--spectrum-button-top-to-text-extra-large:16px;--spectrum-button-bottom-to-text-extra-large:17px;--spectrum-alert-banner-close-button-spacing:var(--spectrum-spacing-200);--spectrum-alert-banner-edge-to-divider:var(--spectrum-spacing-200);--spectrum-alert-banner-edge-to-button:var(--spectrum-spacing-200);--spectrum-alert-banner-text-to-button-vertical:var(\n--spectrum-spacing-200\n);--spectrum-sidenav-heading-top-margin:30px;--spectrum-sidenav-heading-bottom-margin:10px;--spectrum-sidenav-bottom-to-label:10px}:host,:root{--spectrum-checkbox-control-size-small:16px;--spectrum-checkbox-control-size-medium:18px;--spectrum-checkbox-control-size-large:20px;--spectrum-checkbox-control-size-extra-large:22px;--spectrum-checkbox-top-to-control-small:7px;--spectrum-checkbox-top-to-control-medium:11px;--spectrum-checkbox-top-to-control-large:15px;--spectrum-checkbox-top-to-control-extra-large:19px;--spectrum-switch-control-width-small:32px;--spectrum-switch-control-width-medium:36px;--spectrum-switch-control-width-large:41px;--spectrum-switch-control-width-extra-large:46px;--spectrum-switch-control-height-small:16px;--spectrum-switch-control-height-medium:18px;--spectrum-switch-control-height-large:20px;--spectrum-switch-control-height-extra-large:22px;--spectrum-switch-top-to-control-small:7px;--spectrum-switch-top-to-control-medium:11px;--spectrum-switch-top-to-control-large:15px;--spectrum-switch-top-to-control-extra-large:19px;--spectrum-radio-button-control-size-small:16px;--spectrum-radio-button-control-size-medium:18px;--spectrum-radio-button-control-size-large:20px;--spectrum-radio-button-control-size-extra-large:22px;--spectrum-radio-button-top-to-control-small:7px;--spectrum-radio-button-top-to-control-medium:11px;--spectrum-radio-button-top-to-control-large:15px;--spectrum-radio-button-top-to-control-extra-large:19px;--spectrum-slider-control-height-small:18px;--spectrum-slider-control-height-medium:20px;--spectrum-slider-control-height-large:22px;--spectrum-slider-control-height-extra-large:26px;--spectrum-slider-handle-size-small:18px;--spectrum-slider-handle-size-medium:20px;--spectrum-slider-handle-size-large:22px;--spectrum-slider-handle-size-extra-large:26px;--spectrum-slider-handle-border-width-down-small:7px;--spectrum-slider-handle-border-width-down-medium:8px;--spectrum-slider-handle-border-width-down-large:9px;--spectrum-slider-handle-border-width-down-extra-large:11px;--spectrum-slider-bottom-to-handle-small:6px;--spectrum-slider-bottom-to-handle-medium:10px;--spectrum-slider-bottom-to-handle-large:14px;--spectrum-slider-bottom-to-handle-extra-large:17px;--spectrum-corner-radius-75:2px;--spectrum-corner-radius-100:5px;--spectrum-corner-radius-200:10px;--spectrum-drop-shadow-x:0px;--spectrum-drop-shadow-y:2px;--spectrum-drop-shadow-blur:6px}\n`;/* harmony default export */ const scale_large_css = (scale_large_css_e);\n//# sourceMappingURL=scale-large.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/scale-large.js\nTheme/* Theme */.Q.registerThemeFragment("large","scale",scale_large_css);\n//# sourceMappingURL=scale-large.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/theme/src/themes.js\n\n//# sourceMappingURL=themes.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@spectrum-web-components/theme/src/themes.js_+_14_modules?')},8182:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/base/src/sizedMixin.js\nvar sizedMixin = __webpack_require__(6348);\n// EXTERNAL MODULE: ../../node_modules/lit/decorators.js + 10 modules\nvar decorators = __webpack_require__(9487);\n// EXTERNAL MODULE: ../../node_modules/lit/index.js + 4 modules\nvar lit = __webpack_require__(2853);\n// EXTERNAL MODULE: ../../node_modules/lit-html/lit-html.js\nvar lit_html = __webpack_require__(3311);\n;// CONCATENATED MODULE: ../../node_modules/lit-html/directives/if-defined.js\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:lit_html/* nothing */.Ld;\n//# sourceMappingURL=if-defined.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/lit/directives/if-defined.js\n\n//# sourceMappingURL=if-defined.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/shared/src/like-anchor.js\nvar b=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var n=(s,e,p,l)=>{for(var t=l>1?void 0:l?g(e,p):e,a=s.length-1,i;a>=0;a--)(i=s[a])&&(t=(l?i(e,p,t):i(t))||t);return l&&t&&b(e,p,t),t};function LikeAnchor(s){class e extends s{renderAnchor({id:t,className:a,ariaHidden:i,labelledby:c,tabindex:u,anchorContent:f=(0,lit.html)`<slot></slot>`}){return (0,lit.html)`<a\n id=${t}\n class=${l(a)}\n href=${l(this.href)}\n download=${l(this.download)}\n target=${l(this.target)}\n aria-label=${l(this.label)}\n aria-labelledby=${l(c)}\n aria-hidden=${l(i?"true":void 0)}\n tabindex=${l(u)}\n rel=${l(this.rel)}\n >${f}</a>`}}return n([(0,decorators.property)({reflect:!0})],e.prototype,"download",2),n([(0,decorators.property)()],e.prototype,"label",2),n([(0,decorators.property)({reflect:!0})],e.prototype,"href",2),n([(0,decorators.property)({reflect:!0})],e.prototype,"target",2),n([(0,decorators.property)({reflect:!0})],e.prototype,"rel",2),e}\n//# sourceMappingURL=like-anchor.js.map\n\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/shared/src/focusable.js + 1 modules\nvar focusable = __webpack_require__(188);\n;// CONCATENATED MODULE: ../../node_modules/@lit-labs/observers/mutation_controller.js\nclass mutation_controller_t{constructor(t,{target:s,config:i,callback:h,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=t,null!==s&&this.t.add(null!=s?s:t),this.l=i,this.o=null!=o?o:this.o,this.callback=h,window.MutationObserver?(this.u=new MutationObserver((t=>{this.handleChanges(t),this.h.requestUpdate()})),t.addController(this)):console.warn("MutationController error: browser does not support MutationObserver.")}handleChanges(t){var s;this.value=null===(s=this.callback)||void 0===s?void 0:s.call(this,t,this.u)}hostConnected(){for(const t of this.t)this.observe(t)}hostDisconnected(){this.disconnect()}async hostUpdated(){const t=this.u.takeRecords();(t.length||!this.o&&this.i)&&this.handleChanges(t),this.i=!1}observe(t){this.t.add(t),this.u.observe(t,this.l),this.i=!0,this.h.requestUpdate()}disconnect(){this.u.disconnect()}}\n//# sourceMappingURL=mutation_controller.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/shared/src/observe-slot-text.js\nvar p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var c=(i,e,s,n)=>{for(var r=n>1?void 0:n?f(e,s):e,l=i.length-1,t;l>=0;l--)(t=i[l])&&(r=(n?t(e,s,r):t(r))||r);return n&&r&&p(e,s,r),r};const d=Symbol("assignedNodes");function ObserveSlotText(i,e){var n;class s extends i{constructor(...t){super(t);this.slotHasContent=!1;new mutation_controller_t(this,{config:{characterData:!0,subtree:!0},callback:o=>{for(const u of o)if(u.type==="characterData"){this.manageTextObservedSlot();return}}})}manageTextObservedSlot(){if(!this[d])return;const t=[...this[d]].filter(o=>o.tagName?!0:o.textContent?o.textContent.trim():!1);this.slotHasContent=t.length>0}update(t){if(!this.hasUpdated){const{childNodes:o}=this,u=[...o].filter(a=>a.tagName?e?a.getAttribute("slot")===e:!a.hasAttribute("slot"):a.textContent?a.textContent.trim():!1);this.slotHasContent=u.length>0}super.update(t)}firstUpdated(t){super.firstUpdated(t),this.updateComplete.then(()=>{this.manageTextObservedSlot()})}}return n=d,c([(0,decorators.property)({type:Boolean,attribute:!1})],s.prototype,"slotHasContent",2),c([(0,decorators.queryAssignedNodes)(e,!0)],s.prototype,n,2),s}\n//# sourceMappingURL=observe-slot-text.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/shared/src/observe-slot-presence.js\nconst t=Symbol("slotContentIsPresent");function ObserveSlotPresence(o,r){var l;const s=Array.isArray(r)?r:[r];class i extends o{constructor(...e){super(e);this[l]=new Map;this.managePresenceObservedSlot=()=>{let e=!1;s.forEach(n=>{const a=!!this.querySelector(n),c=this[t].get(n)||!1;e=e||c!==a,this[t].set(n,!!this.querySelector(n))}),e&&this.updateComplete.then(()=>{this.requestUpdate()})};new mutation_controller_t(this,{config:{childList:!0,subtree:!0},callback:()=>{this.managePresenceObservedSlot()}}),this.managePresenceObservedSlot()}get slotContentIsPresent(){if(s.length===1)return this[t].get(s[0])||!1;throw new Error("Multiple selectors provided to `ObserveSlotPresence` use `getSlotContentPresence(selector: string)` instead.")}getSlotContentPresence(e){if(this[t].has(e))return this[t].get(e)||!1;throw new Error(`The provided selector \\`${e}\\` is not being observed.`)}}return l=t,i}\n//# sourceMappingURL=observe-slot-presence.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/button/src/ButtonBase.js\nvar ButtonBase_d=Object.defineProperty;var ButtonBase_c=Object.getOwnPropertyDescriptor;var s=(o,r,e,t)=>{for(var i=t>1?void 0:t?ButtonBase_c(r,e):r,a=o.length-1,h;a>=0;a--)(h=o[a])&&(i=(t?h(r,e,i):h(i))||i);return t&&i&&ButtonBase_d(r,e,i),i};class ButtonBase extends LikeAnchor(ObserveSlotText(ObserveSlotPresence(focusable/* Focusable */.Y,\'[slot="icon"]\'))){constructor(){super();this.active=!1;this.type="button";this.proxyFocus=this.proxyFocus.bind(this),this.addEventListener("click",this.handleClickCapture,{capture:!0})}get hasIcon(){return this.slotContentIsPresent}get hasLabel(){return this.slotHasContent}get focusElement(){return this}get buttonContent(){const e=[(0,lit.html)`\n <div id="label" ?hidden=${!this.hasLabel}>\n <slot\n id="slot"\n @slotchange=${this.manageTextObservedSlot}\n ></slot>\n </div>\n `];return this.hasIcon&&e.unshift((0,lit.html)`\n <slot name="icon" ?icon-only=${!this.hasLabel}></slot>\n `),e}click(){this.disabled||this.shouldProxyClick()||super.click()}handleClickCapture(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),!1}proxyFocus(){this.focus()}shouldProxyClick(){let e=!1;if(this.anchorElement)this.anchorElement.click(),e=!0;else if(this.type!=="button"){const t=document.createElement("button");t.type=this.type,this.insertAdjacentElement("afterend",t),t.click(),t.remove(),e=!0}return e}renderAnchor(){return (0,lit.html)`\n ${this.buttonContent}\n ${super.renderAnchor({id:"button",ariaHidden:!0,className:"button anchor hidden"})}\n `}renderButton(){return (0,lit.html)`\n ${this.buttonContent}\n `}render(){return this.href&&this.href.length>0?this.renderAnchor():this.renderButton()}handleKeydown(e){const{code:t}=e;switch(t){case"Space":e.preventDefault(),typeof this.href=="undefined"&&(this.addEventListener("keyup",this.handleKeyup),this.active=!0);break;default:break}}handleKeypress(e){const{code:t}=e;switch(t){case"Enter":case"NumpadEnter":this.click();break;default:break}}handleKeyup(e){const{code:t}=e;switch(t){case"Space":this.removeEventListener("keyup",this.handleKeyup),this.active=!1,this.click();break;default:break}}handleRemoveActive(){this.active=!1}handlePointerdown(){this.active=!0}manageAnchor(){this.href&&this.href.length>0?(this.getAttribute("role")==="button"&&this.setAttribute("role","link"),this.removeEventListener("click",this.shouldProxyClick)):((!this.hasAttribute("role")||this.getAttribute("role")==="link")&&this.setAttribute("role","button"),this.addEventListener("click",this.shouldProxyClick))}firstUpdated(e){super.firstUpdated(e),this.hasAttribute("tabindex")||(this.tabIndex=0),this.manageAnchor(),this.addEventListener("keydown",this.handleKeydown),this.addEventListener("keypress",this.handleKeypress),this.addEventListener("pointerdown",this.handlePointerdown)}updated(e){super.updated(e),e.has("href")&&this.manageAnchor(),e.has("label")&&this.setAttribute("aria-label",this.label||""),e.has("active")&&(this.active?(this.addEventListener("focusout",this.handleRemoveActive),this.addEventListener("pointerup",this.handleRemoveActive),this.addEventListener("pointercancel",this.handleRemoveActive),this.addEventListener("pointerleave",this.handleRemoveActive)):(this.removeEventListener("focusout",this.handleRemoveActive),this.removeEventListener("pointerup",this.handleRemoveActive),this.removeEventListener("pointercancel",this.handleRemoveActive),this.removeEventListener("pointerleave",this.handleRemoveActive))),this.anchorElement&&(this.anchorElement.addEventListener("focus",this.proxyFocus),this.anchorElement.tabIndex=-1)}}s([(0,decorators.property)({type:Boolean,reflect:!0})],ButtonBase.prototype,"active",2),s([(0,decorators.property)({type:String})],ButtonBase.prototype,"type",2),s([(0,decorators.query)(".anchor")],ButtonBase.prototype,"anchorElement",2);\n//# sourceMappingURL=ButtonBase.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/button/src/button-base.css.js\nconst e=(0,lit.css)`\n:host{display:inline-flex;vertical-align:top}:host([dir]){-webkit-appearance:none}:host([disabled]){cursor:auto;pointer-events:none}#button{inset:0;position:absolute}:host:after{pointer-events:none}slot[name=icon]::slotted(img),slot[name=icon]::slotted(svg){fill:currentcolor;stroke:currentcolor;height:var(\n--spectrum-alias-workflow-icon-size-m,var(--spectrum-global-dimension-size-225)\n);width:var(\n--spectrum-alias-workflow-icon-size-m,var(--spectrum-global-dimension-size-225)\n)}\n`;/* harmony default export */ const button_base_css = (e);\n//# sourceMappingURL=button-base.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/button/src/StyledButton.js\nclass StyledButton extends ButtonBase{static get styles(){return[button_base_css]}}\n//# sourceMappingURL=StyledButton.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/button/src/button.css.js\nconst o=(0,lit.css)`\n:host{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;-webkit-appearance:button;box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:var(\n--spectrum-alias-body-text-font-family,var(--spectrum-global-font-family-base)\n);justify-content:center;line-height:var(\n--spectrum-alias-component-text-line-height,var(--spectrum-global-font-line-height-small)\n);margin:0;overflow:visible;position:relative;text-decoration:none;text-transform:none;transition:background var(--spectrum-global-animation-duration-100,.13s) ease-out,border-color var(--spectrum-global-animation-duration-100,.13s) ease-out,color var(--spectrum-global-animation-duration-100,.13s) ease-out,box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out;user-select:none;-webkit-user-select:none;vertical-align:top}:host(:focus){outline:none}:host(::-moz-focus-inner){border:0;border-style:none;margin-bottom:-2px;margin-top:-2px;padding:0}:host([disabled]){cursor:default}::slotted([slot=icon]){flex-shrink:0;max-height:100%}:host:after{border-radius:calc(var(\n--spectrum-button-m-primary-fill-texticon-border-radius,\nvar(--spectrum-global-dimension-size-200)\n) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n));bottom:0;content:"";display:block;left:0;margin:calc(var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*-1);position:absolute;right:0;top:0;transition:opacity var(--spectrum-global-animation-duration-100,.13s) ease-out,margin var(--spectrum-global-animation-duration-100,.13s) ease-out}:host(.focus-visible):after{margin:calc(var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*-2)}:host(:focus-visible):after{margin:calc(var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*-2)}#label{align-self:center;justify-self:center;text-align:center}#label:empty{display:none}:host([size=s]){--spectrum-button-primary-fill-textonly-text-padding-bottom:var(\n--spectrum-button-s-primary-fill-textonly-text-padding-bottom\n);--spectrum-button-primary-fill-texticon-text-size:var(\n--spectrum-button-s-primary-fill-texticon-text-size,var(--spectrum-global-dimension-font-size-75)\n);--spectrum-button-primary-fill-texticon-text-font-weight:var(\n--spectrum-button-s-primary-fill-texticon-text-font-weight,var(--spectrum-global-font-weight-bold)\n);--spectrum-button-primary-fill-texticon-text-line-height:var(\n--spectrum-button-s-primary-fill-texticon-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-button-primary-fill-texticon-icon-gap:var(\n--spectrum-button-s-primary-fill-texticon-icon-gap,var(--spectrum-global-dimension-size-85)\n);--spectrum-button-primary-fill-texticon-focus-ring-size:var(\n--spectrum-button-s-primary-fill-texticon-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n);--spectrum-button-primary-fill-texticon-border-size:var(\n--spectrum-button-s-primary-fill-texticon-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-texticon-padding-left:var(\n--spectrum-button-s-primary-fill-texticon-padding-left,var(--spectrum-global-dimension-size-125)\n);--spectrum-button-primary-fill-texticon-border-radius:var(\n--spectrum-button-s-primary-fill-texticon-border-radius,var(--spectrum-global-dimension-size-150)\n);--spectrum-button-primary-fill-textonly-border-size:var(\n--spectrum-button-s-primary-fill-textonly-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-textonly-min-width:var(\n--spectrum-button-s-primary-fill-textonly-min-width,var(--spectrum-global-dimension-size-675)\n);--spectrum-button-primary-fill-textonly-padding-left:var(\n--spectrum-button-s-primary-fill-textonly-padding-left,var(--spectrum-global-dimension-size-150)\n);--spectrum-button-primary-fill-textonly-padding-right:var(\n--spectrum-button-s-primary-fill-textonly-padding-right,var(--spectrum-global-dimension-size-150)\n);--spectrum-button-primary-fill-textonly-height:var(\n--spectrum-button-s-primary-fill-textonly-height,var(--spectrum-global-dimension-size-300)\n);--spectrum-button-primary-fill-textonly-text-padding-top:calc(var(\n--spectrum-button-s-primary-fill-textonly-text-padding-top,\nvar(--spectrum-global-dimension-static-size-50)\n) - 1px)}:host([size=m]){--spectrum-button-primary-fill-texticon-padding-left:var(\n--spectrum-button-m-primary-fill-texticon-padding-left\n);--spectrum-button-primary-fill-texticon-text-size:var(\n--spectrum-button-m-primary-fill-texticon-text-size,var(--spectrum-global-dimension-font-size-100)\n);--spectrum-button-primary-fill-texticon-text-font-weight:var(\n--spectrum-button-m-primary-fill-texticon-text-font-weight,var(--spectrum-global-font-weight-bold)\n);--spectrum-button-primary-fill-texticon-text-line-height:var(\n--spectrum-button-m-primary-fill-texticon-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-button-primary-fill-texticon-icon-gap:var(\n--spectrum-button-m-primary-fill-texticon-icon-gap,var(--spectrum-global-dimension-size-100)\n);--spectrum-button-primary-fill-texticon-focus-ring-size:var(\n--spectrum-button-m-primary-fill-texticon-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n);--spectrum-button-primary-fill-texticon-border-size:var(\n--spectrum-button-m-primary-fill-texticon-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-texticon-border-radius:var(\n--spectrum-button-m-primary-fill-texticon-border-radius,var(--spectrum-global-dimension-size-200)\n);--spectrum-button-primary-fill-textonly-text-padding-top:var(\n--spectrum-button-m-primary-fill-textonly-text-padding-top,var(--spectrum-global-dimension-size-75)\n);--spectrum-button-primary-fill-textonly-border-size:var(\n--spectrum-button-m-primary-fill-textonly-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-textonly-min-width:var(\n--spectrum-button-m-primary-fill-textonly-min-width,var(--spectrum-global-dimension-size-900)\n);--spectrum-button-primary-fill-textonly-padding-left:var(\n--spectrum-button-m-primary-fill-textonly-padding-left,var(--spectrum-global-dimension-size-200)\n);--spectrum-button-primary-fill-textonly-padding-right:var(\n--spectrum-button-m-primary-fill-textonly-padding-right,var(--spectrum-global-dimension-size-200)\n);--spectrum-button-primary-fill-textonly-height:var(\n--spectrum-button-m-primary-fill-textonly-height,var(--spectrum-global-dimension-size-400)\n);--spectrum-button-primary-fill-textonly-text-padding-bottom:calc(var(\n--spectrum-button-m-primary-fill-textonly-text-padding-bottom,\nvar(--spectrum-global-dimension-size-115)\n) - 1px)}:host([size=l]){--spectrum-button-primary-fill-textonly-text-padding-top:var(\n--spectrum-button-l-primary-fill-textonly-text-padding-top\n);--spectrum-button-primary-fill-texticon-text-size:var(\n--spectrum-button-l-primary-fill-texticon-text-size,var(--spectrum-global-dimension-font-size-200)\n);--spectrum-button-primary-fill-texticon-text-font-weight:var(\n--spectrum-button-l-primary-fill-texticon-text-font-weight,var(--spectrum-global-font-weight-bold)\n);--spectrum-button-primary-fill-texticon-text-line-height:var(\n--spectrum-button-l-primary-fill-texticon-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-button-primary-fill-texticon-icon-gap:var(\n--spectrum-button-l-primary-fill-texticon-icon-gap,var(--spectrum-global-dimension-size-115)\n);--spectrum-button-primary-fill-texticon-focus-ring-size:var(\n--spectrum-button-l-primary-fill-texticon-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n);--spectrum-button-primary-fill-texticon-border-size:var(\n--spectrum-button-l-primary-fill-texticon-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-texticon-padding-left:var(\n--spectrum-button-l-primary-fill-texticon-padding-left,var(--spectrum-global-dimension-size-225)\n);--spectrum-button-primary-fill-texticon-border-radius:var(\n--spectrum-button-l-primary-fill-texticon-border-radius,var(--spectrum-global-dimension-size-250)\n);--spectrum-button-primary-fill-textonly-text-padding-bottom:var(\n--spectrum-button-l-primary-fill-textonly-text-padding-bottom,var(--spectrum-global-dimension-size-130)\n);--spectrum-button-primary-fill-textonly-border-size:var(\n--spectrum-button-l-primary-fill-textonly-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-textonly-min-width:var(\n--spectrum-button-l-primary-fill-textonly-min-width,var(--spectrum-global-dimension-size-1125)\n);--spectrum-button-primary-fill-textonly-padding-left:var(\n--spectrum-button-l-primary-fill-textonly-padding-left,var(--spectrum-global-dimension-size-250)\n);--spectrum-button-primary-fill-textonly-padding-right:var(\n--spectrum-button-l-primary-fill-textonly-padding-right,var(--spectrum-global-dimension-size-250)\n);--spectrum-button-primary-fill-textonly-height:var(\n--spectrum-button-l-primary-fill-textonly-height,var(--spectrum-global-dimension-size-500)\n)}:host([size=xl]){--spectrum-button-primary-fill-texticon-padding-left:var(\n--spectrum-button-xl-primary-fill-texticon-padding-left\n);--spectrum-button-primary-fill-texticon-text-size:var(\n--spectrum-button-xl-primary-fill-texticon-text-size,var(--spectrum-global-dimension-font-size-300)\n);--spectrum-button-primary-fill-texticon-text-font-weight:var(\n--spectrum-button-xl-primary-fill-texticon-text-font-weight,var(--spectrum-global-font-weight-bold)\n);--spectrum-button-primary-fill-texticon-text-line-height:var(\n--spectrum-button-xl-primary-fill-texticon-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-button-primary-fill-texticon-icon-gap:var(\n--spectrum-button-xl-primary-fill-texticon-icon-gap,var(--spectrum-global-dimension-size-125)\n);--spectrum-button-primary-fill-texticon-focus-ring-size:var(\n--spectrum-button-xl-primary-fill-texticon-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n);--spectrum-button-primary-fill-texticon-border-size:var(\n--spectrum-button-xl-primary-fill-texticon-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-texticon-border-radius:var(\n--spectrum-button-xl-primary-fill-texticon-border-radius,var(--spectrum-global-dimension-size-300)\n);--spectrum-button-primary-fill-textonly-text-padding-top:var(\n--spectrum-button-xl-primary-fill-textonly-text-padding-top,var(--spectrum-global-dimension-size-150)\n);--spectrum-button-primary-fill-textonly-border-size:var(\n--spectrum-button-xl-primary-fill-textonly-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-button-primary-fill-textonly-min-width:var(\n--spectrum-button-xl-primary-fill-textonly-min-width,var(--spectrum-global-dimension-size-1250)\n);--spectrum-button-primary-fill-textonly-padding-left:var(\n--spectrum-button-xl-primary-fill-textonly-padding-left,var(--spectrum-global-dimension-size-300)\n);--spectrum-button-primary-fill-textonly-padding-right:var(\n--spectrum-button-xl-primary-fill-textonly-padding-right,var(--spectrum-global-dimension-size-300)\n);--spectrum-button-primary-fill-textonly-height:var(\n--spectrum-button-xl-primary-fill-textonly-height,var(--spectrum-global-dimension-size-600)\n);--spectrum-button-primary-fill-textonly-text-padding-bottom:calc(var(\n--spectrum-button-xl-primary-fill-textonly-text-padding-bottom,\nvar(--spectrum-global-dimension-size-175)\n) - 1px)}:host{--spectrum-button-primary-fill-padding-left-adjusted:calc(var(--spectrum-button-primary-fill-texticon-padding-left) - var(--spectrum-button-primary-fill-texticon-border-size));--spectrum-button-primary-fill-textonly-padding-left-adjusted:calc(var(--spectrum-button-primary-fill-textonly-padding-left) - var(--spectrum-button-primary-fill-texticon-border-size));--spectrum-button-primary-fill-textonly-padding-right-adjusted:calc(var(--spectrum-button-primary-fill-textonly-padding-right) - var(--spectrum-button-primary-fill-texticon-border-size))}:host([dir=ltr]){padding-left:var(\n--spectrum-button-primary-fill-textonly-padding-left-adjusted\n);padding-right:var(\n--spectrum-button-primary-fill-textonly-padding-right-adjusted\n)}:host([dir=rtl]){padding-left:var(\n--spectrum-button-primary-fill-textonly-padding-right-adjusted\n);padding-right:var(\n--spectrum-button-primary-fill-textonly-padding-left-adjusted\n)}:host{--spectrum-button-focus-ring-color:var(\n--spectrum-button-m-primary-fill-texticon-focus-ring-color-key-focus,var(--spectrum-alias-focus-ring-color)\n);border-radius:var(--spectrum-button-primary-fill-texticon-border-radius);border-style:solid;border-width:var(\n--spectrum-button-primary-fill-texticon-border-size\n);color:inherit;font-size:var(--spectrum-button-primary-fill-texticon-text-size);font-weight:var(--spectrum-button-primary-fill-texticon-text-font-weight);height:auto;min-height:var(--spectrum-button-primary-fill-textonly-height);min-width:var(--spectrum-button-primary-fill-textonly-min-width);padding-bottom:0;padding-top:0}:host(:hover),:host([active]){box-shadow:none}:host([dir=ltr]) ::slotted([slot=icon]){margin-left:calc((var(\n--spectrum-button-primary-fill-textonly-padding-left-adjusted\n) - var(--spectrum-button-primary-fill-padding-left-adjusted))*-1)}:host([dir=rtl]) ::slotted([slot=icon]){margin-right:calc((var(\n--spectrum-button-primary-fill-textonly-padding-left-adjusted\n) - var(--spectrum-button-primary-fill-padding-left-adjusted))*-1)}:host([dir=ltr]) slot[name=icon]+#label{padding-left:var(\n--spectrum-button-primary-fill-texticon-icon-gap\n)}:host([dir=rtl]) slot[name=icon]+#label{padding-right:var(\n--spectrum-button-primary-fill-texticon-icon-gap\n)}:host([dir=ltr]) slot[name=icon]+#label{padding-right:0}:host([dir=rtl]) slot[name=icon]+#label{padding-left:0}:host:after{border-radius:calc(var(--spectrum-button-primary-fill-texticon-border-radius) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n))}#label{line-height:var(\n--spectrum-button-primary-fill-texticon-text-line-height\n);padding-bottom:calc(var(--spectrum-button-primary-fill-textonly-text-padding-bottom) - var(--spectrum-button-primary-fill-textonly-border-size));padding-top:calc(var(--spectrum-button-primary-fill-textonly-text-padding-top) - var(--spectrum-button-primary-fill-textonly-border-size))}:host(.focus-visible):after,:host([focused]):after{box-shadow:0 0 0 var(--spectrum-button-primary-fill-texticon-focus-ring-size) var(--spectrum-button-focus-ring-color)}:host(:focus-visible):after,:host([focused]):after{box-shadow:0 0 0 var(--spectrum-button-primary-fill-texticon-focus-ring-size) var(--spectrum-button-focus-ring-color)}:host([variant=white]){--spectrum-button-focus-ring-color:var(\n--spectrum-button-m-primary-fill-white-texticon-focus-ring-color-key-focus,var(--spectrum-global-color-static-white)\n)}:host([variant=black]){--spectrum-button-focus-ring-color:var(\n--spectrum-button-m-primary-fill-black-texticon-focus-ring-color-key-focus,var(--spectrum-global-color-static-black)\n)}:host(:not([variant=white]):not([variant=black])[disabled]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-fill-texticon-icon-color-disabled,var(--spectrum-global-color-gray-500)\n)}:host(:not([variant=white]):not([variant=black])[disabled]) #label{color:var(\n--spectrum-button-m-primary-fill-texticon-text-color-disabled,var(--spectrum-global-color-gray-500)\n)}:host([variant=white][disabled]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-fill-white-texticon-icon-color-disabled,var(--spectrum-global-color-static-transparent-white-500)\n)}:host([variant=white][disabled]) #label{color:var(\n--spectrum-button-m-primary-fill-white-texticon-text-color-disabled,var(--spectrum-global-color-static-transparent-white-500)\n)}:host([variant=white][treatment=fill]:not([variant=secondary]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-fill-white-texticon-background-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=fill]:not([variant=secondary]):not([disabled])) ::slotted([slot=icon]){color:inherit}:host([variant=white][treatment=fill]:not([variant=secondary]):not([disabled])) #label{color:inherit}:host([variant=white][treatment=fill][variant=secondary]:not([disabled])){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color,var(--spectrum-global-color-static-transparent-white-200)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-white-texticon-icon-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-fill-white-texticon-text-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-down,var(--spectrum-global-color-static-transparent-white-400)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=fill][variant=secondary]:not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=fill][disabled]){background-color:var(\n--spectrum-button-m-secondary-fill-white-texticon-background-color-disabled,var(--spectrum-global-color-static-transparent-white-200)\n)}:host([variant=white][treatment=outline]:not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-white-texticon-icon-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=outline]:not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-outline-white-texticon-text-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=outline][disabled]){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-disabled,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-border-color-disabled,var(--spectrum-global-color-static-transparent-white-200)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-primary-outline-white-texticon-border-color,var(--spectrum-global-color-static-white)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color-down,var(--spectrum-global-color-static-transparent-white-400)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline]:not([variant=secondary]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-primary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled])){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-border-color,var(--spectrum-global-color-static-transparent-white-200)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-down,var(--spectrum-global-color-static-transparent-white-400)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=white][treatment=outline][variant=secondary]:not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-outline-white-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-white-300)\n)}:host([variant=black][disabled]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-fill-black-texticon-icon-color-disabled,var(--spectrum-global-color-static-transparent-black-500)\n)}:host([variant=black][disabled]) #label{color:var(\n--spectrum-button-m-primary-fill-black-texticon-text-color-disabled,var(--spectrum-global-color-static-transparent-black-500)\n)}:host([variant=black][treatment=fill]:not([variant=secondary]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-fill-black-texticon-background-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=fill]:not([variant=secondary]):not([disabled])) ::slotted([slot=icon]){color:inherit}:host([variant=black][treatment=fill]:not([variant=secondary]):not([disabled])) #label{color:inherit}:host([variant=black][treatment=fill][variant=secondary]:not([disabled])){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color,var(--spectrum-global-color-static-transparent-black-200)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-black-texticon-icon-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-fill-black-texticon-text-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-down,var(--spectrum-global-color-static-transparent-black-400)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=fill][variant=secondary]:not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=fill][disabled]){background-color:var(\n--spectrum-button-m-secondary-fill-black-texticon-background-color-disabled,var(--spectrum-global-color-static-transparent-black-200)\n)}:host([variant=black][treatment=outline]:not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-black-texticon-icon-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=outline]:not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-outline-black-texticon-text-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=outline][disabled]){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-disabled,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-border-color-disabled,var(--spectrum-global-color-static-transparent-black-200)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-primary-outline-black-texticon-border-color,var(--spectrum-global-color-static-black)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color-down,var(--spectrum-global-color-static-transparent-black-400)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline]:not([variant=secondary]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-primary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled])){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-border-color,var(--spectrum-global-color-static-transparent-black-200)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-hover,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-down,var(--spectrum-global-color-static-transparent-black-400)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([variant=black][treatment=outline][variant=secondary]:not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-outline-black-texticon-background-color-key-focus,var(--spectrum-global-color-static-transparent-black-300)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color,var(--spectrum-semantic-cta-background-color-default)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-fill-texticon-icon-color,var(--spectrum-global-color-static-white)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-accent-fill-texticon-text-color,var(--spectrum-global-color-static-white)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color-hover,var(--spectrum-semantic-cta-background-color-hover)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color-down,var(--spectrum-semantic-cta-background-color-down)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color-key-focus,var(--spectrum-semantic-cta-background-color-key-focus)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color-key-focus,var(--spectrum-semantic-cta-background-color-key-focus)\n)}:host([treatment=fill][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-accent-fill-texticon-background-color-key-focus,var(--spectrum-semantic-cta-background-color-key-focus)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color,var(--spectrum-global-color-static-red-600)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-fill-texticon-icon-color,var(--spectrum-global-color-static-white)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-negative-fill-texticon-text-color,var(--spectrum-global-color-static-white)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color-hover,var(--spectrum-global-color-static-red-700)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color-down,var(--spectrum-global-color-static-red-800)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color-key-focus,var(--spectrum-global-color-static-red-700)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color-key-focus,var(--spectrum-global-color-static-red-700)\n)}:host([treatment=fill][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-negative-fill-texticon-background-color-key-focus,var(--spectrum-global-color-static-red-700)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-fill-texticon-icon-color,var(--spectrum-global-color-gray-50)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-primary-fill-texticon-text-color,var(--spectrum-global-color-gray-50)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color,var(--spectrum-global-color-gray-200)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color-hover,var(--spectrum-global-color-gray-300)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color-down,var(--spectrum-global-color-gray-400)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-fill-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-fill-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=fill][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-fill-texticon-text-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=fill]:not([variant=white]):not([variant=black])[disabled]){background-color:var(\n--spectrum-button-m-primary-fill-texticon-background-color-disabled,var(--spectrum-global-color-gray-200)\n)}:host([treatment=fill][disabled]){border-color:var(\n--spectrum-button-m-primary-fill-texticon-border-color-disabled,transparent\n)}:host([treatment=fill]:not([disabled])){border-color:var(\n--spectrum-button-m-primary-fill-texticon-border-color,transparent\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color,var(--spectrum-semantic-emphasized-border-color-default)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color,var(--spectrum-semantic-emphasized-border-color-default)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color-hover,var(--spectrum-alias-transparent-blue-background-color-hover)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color-hover,var(--spectrum-semantic-emphasized-border-color-hover)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):hover) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color-hover,var(--spectrum-semantic-emphasized-border-color-hover)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):hover) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color-hover,var(--spectrum-semantic-emphasized-border-color-hover)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color-down,var(--spectrum-alias-transparent-blue-background-color-down)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color-down,var(--spectrum-semantic-emphasized-border-color-down)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])[active]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color-down,var(--spectrum-semantic-emphasized-border-color-down)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])[active]) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color-down,var(--spectrum-semantic-emphasized-border-color-down)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-blue-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-blue-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-accent-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-blue-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-accent-outline-texticon-border-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-accent-outline-texticon-icon-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color-key-focus,var(--spectrum-semantic-emphasized-border-color-key-focus)\n)}:host([treatment=outline][variant=accent]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-accent-outline-texticon-text-color,var(--spectrum-semantic-emphasized-border-color-default)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color,var(--spectrum-global-color-red-500)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color,var(--spectrum-global-color-red-500)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color-hover,var(--spectrum-alias-transparent-red-background-color-hover)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color-hover,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):hover) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color-hover,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):hover) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color-hover,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color-down,var(--spectrum-alias-transparent-red-background-color-down)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color-down,var(--spectrum-global-color-red-700)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])[active]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color-down,var(--spectrum-global-color-red-700)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])[active]) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color-down,var(--spectrum-global-color-red-700)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-red-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-red-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-negative-outline-texticon-background-color-key-focus,var(--spectrum-alias-transparent-red-background-color-key-focus)\n);border-color:var(\n--spectrum-button-m-negative-outline-texticon-border-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-negative-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color-key-focus,var(--spectrum-global-color-red-600)\n)}:host([treatment=outline][variant=negative]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-negative-outline-texticon-text-color,var(--spectrum-global-color-red-500)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-hover,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):hover) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):hover) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-down,var(--spectrum-global-color-gray-400)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])[active]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])[active]) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-primary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=primary]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-primary-outline-texticon-text-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color,var(--spectrum-global-color-gray-300)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color-hover,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color-hover,var(--spectrum-global-color-gray-400)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):hover) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color-hover,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color-down,var(--spectrum-global-color-gray-400)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color-down,var(--spectrum-global-color-gray-500)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])[active]) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color-down,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-400)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-400)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).focus-visible) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]):focus-visible) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused){background-color:var(\n--spectrum-button-m-secondary-outline-texticon-background-color-key-focus,var(--spectrum-global-color-gray-300)\n);border-color:var(\n--spectrum-button-m-secondary-outline-texticon-border-color-key-focus,var(--spectrum-global-color-gray-400)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) ::slotted([slot=icon]){color:var(\n--spectrum-button-m-secondary-outline-texticon-icon-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled]).is-keyboardFocused) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color-key-focus,var(--spectrum-global-color-gray-900)\n)}:host([treatment=outline][variant=secondary]:not([variant=white]):not([variant=black]):not([disabled])) #label{color:var(\n--spectrum-button-m-secondary-outline-texticon-text-color,var(--spectrum-global-color-gray-800)\n)}:host([treatment=outline]:not([variant=white]):not([variant=black])[disabled]){background-color:var(\n--spectrum-button-m-primary-outline-texticon-background-color-disabled,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-button-m-primary-outline-texticon-border-color-disabled,var(--spectrum-global-color-gray-200)\n)}@media (forced-colors:active){:host{--spectrum-button-m-accent-fill-texticon-background-color-down:Highlight;--spectrum-button-m-accent-fill-texticon-background-color-hover:Highlight;--spectrum-button-m-accent-fill-texticon-background-color-key-focus:Highlight;--spectrum-button-m-accent-fill-texticon-background-color:ButtonText;--spectrum-button-m-accent-fill-texticon-icon-color:ButtonFace;--spectrum-button-m-accent-fill-texticon-text-color:ButtonFace;--spectrum-button-m-accent-outline-texticon-background-color:ButtonFace;--spectrum-button-m-accent-outline-texticon-background-color-down:ButtonFace;--spectrum-button-m-accent-outline-texticon-background-color-hover:ButtonFace;--spectrum-button-m-accent-outline-texticon-background-color-key-focus:ButtonFace;--spectrum-button-m-accent-outline-texticon-border-color:ButtonText;--spectrum-button-m-accent-outline-texticon-border-color-down:Highlight;--spectrum-button-m-accent-outline-texticon-border-color-hover:Highlight;--spectrum-button-m-accent-outline-texticon-border-color-key-focus:Highlight;--spectrum-button-m-accent-outline-texticon-icon-color:ButtonText;--spectrum-button-m-accent-outline-texticon-icon-color-down:ButtonText;--spectrum-button-m-accent-outline-texticon-icon-color-hover:ButtonText;--spectrum-button-m-accent-outline-texticon-icon-color-key-focus:ButtonText;--spectrum-button-m-accent-outline-texticon-text-color:ButtonText;--spectrum-button-m-accent-outline-texticon-text-color-down:ButtonText;--spectrum-button-m-accent-outline-texticon-text-color-hover:ButtonText;--spectrum-button-m-accent-outline-texticon-text-color-key-focus:ButtonText;--spectrum-button-m-primary-fill-texticon-icon-color-disabled:GrayText;--spectrum-button-m-primary-fill-texticon-text-color-disabled:GrayText;--spectrum-button-m-primary-fill-white-texticon-icon-color-disabled:GrayText;--spectrum-button-m-primary-fill-white-texticon-text-color-disabled:GrayText;--spectrum-button-m-secondary-fill-white-texticon-background-color-disabled:ButtonFace;--spectrum-button-m-secondary-outline-white-texticon-background-color-disabled:ButtonFace;--spectrum-button-m-primary-fill-black-texticon-icon-color-disabled:GrayText;--spectrum-button-m-primary-fill-black-texticon-text-color-disabled:GrayText;--spectrum-button-m-secondary-fill-black-texticon-background-color-disabled:ButtonFace;--spectrum-button-m-secondary-outline-black-texticon-background-color-disabled:ButtonFace;--spectrum-button-m-primary-fill-texticon-background-color-disabled:ButtonFace;--spectrum-button-m-primary-outline-texticon-background-color-disabled:ButtonFace}:host(.focus-visible):after,:host([focused]):after{box-shadow:0 0 0 var(--spectrum-button-primary-fill-texticon-focus-ring-size) ButtonText;forced-color-adjust:none}:host(:focus-visible):after,:host([focused]):after{box-shadow:0 0 0 var(--spectrum-button-primary-fill-texticon-focus-ring-size) ButtonText;forced-color-adjust:none}:host([variant=accent]) #label{forced-color-adjust:none}}:host([size=s]){--spectrum-icon-tshirt-size-height:var(\n--spectrum-alias-workflow-icon-size-s\n);--spectrum-icon-tshirt-size-width:var(\n--spectrum-alias-workflow-icon-size-s\n);--spectrum-ui-icon-tshirt-size-height:var(\n--spectrum-alias-ui-icon-cornertriangle-size-75\n);--spectrum-ui-icon-tshirt-size-width:var(\n--spectrum-alias-ui-icon-cornertriangle-size-75\n)}:host([size=m]){--spectrum-icon-tshirt-size-height:var(\n--spectrum-alias-workflow-icon-size-m\n);--spectrum-icon-tshirt-size-width:var(\n--spectrum-alias-workflow-icon-size-m\n);--spectrum-ui-icon-tshirt-size-height:var(\n--spectrum-alias-ui-icon-cornertriangle-size-100\n);--spectrum-ui-icon-tshirt-size-width:var(\n--spectrum-alias-ui-icon-cornertriangle-size-100\n)}:host([size=l]){--spectrum-icon-tshirt-size-height:var(\n--spectrum-alias-workflow-icon-size-l\n);--spectrum-icon-tshirt-size-width:var(\n--spectrum-alias-workflow-icon-size-l\n);--spectrum-ui-icon-tshirt-size-height:var(\n--spectrum-alias-ui-icon-cornertriangle-size-200\n);--spectrum-ui-icon-tshirt-size-width:var(\n--spectrum-alias-ui-icon-cornertriangle-size-200\n)}:host([size=xl]){--spectrum-icon-tshirt-size-height:var(\n--spectrum-alias-workflow-icon-size-xl\n);--spectrum-icon-tshirt-size-width:var(\n--spectrum-alias-workflow-icon-size-xl\n);--spectrum-ui-icon-tshirt-size-height:var(\n--spectrum-alias-ui-icon-cornertriangle-size-300\n);--spectrum-ui-icon-tshirt-size-width:var(\n--spectrum-alias-ui-icon-cornertriangle-size-300\n)}@media (forced-colors:active){:host([treatment][disabled]){border-color:graytext}:host([treatment]:not([disabled]):hover){border-color:highlight}}\n`;/* harmony default export */ const button_css = (o);\n//# sourceMappingURL=button.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/button/src/Button.js\nvar Button_c=Object.defineProperty;var Button_p=Object.getOwnPropertyDescriptor;var i=(n,r,t,a)=>{for(var e=a>1?void 0:a?Button_p(r,t):r,s=n.length-1,o;s>=0;s--)(o=n[s])&&(e=(a?o(r,t,e):o(e))||e);return a&&e&&Button_c(r,t,e),e};const VALID_VARIANTS=["accent","primary","secondary","negative","white","black"];class Button extends (0,sizedMixin/* SizedMixin */.I)(StyledButton){constructor(){super(...arguments);this._variant="accent";this.treatment="fill"}static get styles(){return[...super.styles,button_css]}get variant(){return this._variant}set variant(t){if(t!==this.variant){switch(this.requestUpdate("variant",this.variant),t){case"cta":this._variant="accent";break;case"overBackground":this._variant="white",this.treatment="outline";break;default:VALID_VARIANTS.includes(t)?this._variant=t:this._variant="accent";break}this.setAttribute("variant",this.variant)}}set quiet(t){this.treatment=t?"outline":"fill"}firstUpdated(t){super.firstUpdated(t),this.hasAttribute("variant")||this.setAttribute("variant",this.variant)}}i([(0,decorators.property)()],Button.prototype,"variant",1),i([(0,decorators.property)({reflect:!0})],Button.prototype,"treatment",2),i([(0,decorators.property)({type:Boolean})],Button.prototype,"quiet",1);\n//# sourceMappingURL=Button.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/button/src/uxp-button.css.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nconst styles = (0,lit.css)`\n\n`;\n/* harmony default export */ const uxp_button_css = (styles);\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/button/src/Button.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n\n\n\n\nclass UxpButton extends Button {\n static get styles() {\n return [super.styles, uxp_button_css];\n }\n}\n\n\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/button/sp-button.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n\n\ncustomElements.define(\'sp-button\', UxpButton);\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@swc-uxp-wrappers/button/sp-button.js_+_13_modules?')},3675:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ../../node_modules/lit/index.js + 4 modules\nvar lit = __webpack_require__(2853);\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/base/src/sizedMixin.js\nvar sizedMixin = __webpack_require__(6348);\n// EXTERNAL MODULE: ../../node_modules/lit/decorators.js + 10 modules\nvar decorators = __webpack_require__(9487);\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/shared/src/focusable.js + 1 modules\nvar focusable = __webpack_require__(188);\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/checkbox/src/CheckboxBase.js\nvar u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var n=(i,t,c,l)=>{for(var e=l>1?void 0:l?a(t,c):t,r=i.length-1,p;r>=0;r--)(p=i[r])&&(e=(l?p(t,c,e):p(e))||e);return l&&e&&u(t,c,e),e};class CheckboxBase extends focusable/* Focusable */.Y{constructor(){super(...arguments);this.checked=!1;this.readonly=!1}get focusElement(){return this.inputElement}handleChange(){if(this.readonly){this.inputElement.checked=this.checked;return}this.checked=this.inputElement.checked;const t=new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0});this.dispatchEvent(t)||(this.checked=!this.inputElement.checked,this.inputElement.checked=this.checked)}render(){return (0,lit.html)`\n <input\n id="input"\n aria-labelledby="label"\n type="checkbox"\n .checked=${this.checked}\n @change=${this.handleChange}\n />\n `}}n([(0,decorators.property)({type:Boolean,reflect:!0})],CheckboxBase.prototype,"checked",2),n([(0,decorators.property)({type:Boolean,reflect:!0})],CheckboxBase.prototype,"readonly",2),n([(0,decorators.query)("#input")],CheckboxBase.prototype,"inputElement",2);\n//# sourceMappingURL=CheckboxBase.js.map\n\n// EXTERNAL MODULE: ../../node_modules/@spectrum-web-components/base/src/Base.js\nvar Base = __webpack_require__(2981);\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icon/src/icon.css.js\nconst s=(0,lit.css)`\n:host{fill:currentColor;color:inherit;display:inline-block;pointer-events:none}:host(:not(:root)){overflow:hidden}@media (forced-colors:active){:host{forced-color-adjust:auto}}:host{--spectrum-icon-size-s:var(\n--spectrum-alias-workflow-icon-size-s,var(--spectrum-global-dimension-size-200)\n);--spectrum-icon-size-m:var(\n--spectrum-alias-workflow-icon-size-m,var(--spectrum-global-dimension-size-225)\n);--spectrum-icon-size-l:var(--spectrum-alias-workflow-icon-size-l);--spectrum-icon-size-xl:var(\n--spectrum-alias-workflow-icon-size-xl,var(--spectrum-global-dimension-size-275)\n);--spectrum-icon-size-xxl:var(--spectrum-global-dimension-size-400)}:host([size=s]){height:var(--spectrum-icon-size-s);width:var(--spectrum-icon-size-s)}:host([size=m]){height:var(--spectrum-icon-size-m);width:var(--spectrum-icon-size-m)}:host([size=l]){height:var(--spectrum-icon-size-l);width:var(--spectrum-icon-size-l)}:host([size=xl]){height:var(--spectrum-icon-size-xl);width:var(--spectrum-icon-size-xl)}:host([size=xxl]){height:var(--spectrum-icon-size-xxl);width:var(--spectrum-icon-size-xxl)}:host{height:var(\n--spectrum-icon-tshirt-size-height,var(\n--spectrum-alias-workflow-icon-size,var(--spectrum-global-dimension-size-225)\n)\n);width:var(\n--spectrum-icon-tshirt-size-width,var(\n--spectrum-alias-workflow-icon-size,var(--spectrum-global-dimension-size-225)\n)\n)}#container{height:100%}::slotted(*),img,svg{color:inherit;height:100%;vertical-align:top;width:100%}@media (forced-colors:active){::slotted(*),img,svg{forced-color-adjust:auto}}\n`;/* harmony default export */ const icon_css = (s);\n//# sourceMappingURL=icon.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icon/src/IconBase.js\nvar IconBase_u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var i=(l,t,s,r)=>{for(var e=r>1?void 0:r?c(t,s):t,o=l.length-1,p;o>=0;o--)(p=l[o])&&(e=(r?p(t,s,e):p(e))||e);return r&&e&&IconBase_u(t,s,e),e};class IconBase extends Base/* SpectrumElement */.o{static get styles(){return[icon_css]}render(){return (0,lit.html)`\n <slot></slot>\n `}}i([(0,decorators.property)()],IconBase.prototype,"label",2),i([(0,decorators.property)({reflect:!0})],IconBase.prototype,"size",2);\n//# sourceMappingURL=IconBase.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/custom-tag.js\nlet t;const tag=function(e,...a){return t?t(e,...a):a.reduce((r,p,l)=>r+p+e[l+1],e[0])},setCustomTemplateLiteralTag=e=>{t=e};\n//# sourceMappingURL=custom-tag.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Checkmark75.js\nconst Checkmark75Icon=({width:t=24,height:e=24,title:a="Checkmark75"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 10 10"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path\n d="M3.667 9.07a.96.96 0 01-.737-.344L.753 6.114a.96.96 0 111.474-1.23l1.418 1.701 4.112-5.233a.96.96 0 011.51 1.186L4.422 8.704a.962.962 0 01-.741.367z"\n />\n </svg>`;\n//# sourceMappingURL=Checkmark75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconCheckmark75.js\nclass IconCheckmark75 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Checkmark75Icon()}}\n//# sourceMappingURL=IconCheckmark75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js\ncustomElements.define("sp-icon-checkmark75",IconCheckmark75);\n//# sourceMappingURL=sp-icon-checkmark75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Checkmark100.js\nconst Checkmark100Icon=({width:t=24,height:e=24,title:r="Checkmark100"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 10 10"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${r}\n width=${t}\n height=${e}\n >\n <path\n d="M3.5 9.5a.999.999 0 01-.774-.368l-2.45-3a1 1 0 111.548-1.264l1.657 2.028 4.68-6.01A1 1 0 019.74 2.114l-5.45 7a1 1 0 01-.777.386z"\n />\n </svg>`;\n//# sourceMappingURL=Checkmark100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconCheckmark100.js\nclass IconCheckmark100 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Checkmark100Icon()}}\n//# sourceMappingURL=IconCheckmark100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js\ncustomElements.define("sp-icon-checkmark100",IconCheckmark100);\n//# sourceMappingURL=sp-icon-checkmark100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Checkmark200.js\nconst Checkmark200Icon=({width:t=24,height:e=24,title:a="Checkmark200"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 12 12"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path\n d="M4.313 10.98a1.042 1.042 0 01-.8-.375L.647 7.165a1.042 1.042 0 011.6-1.333l2.042 2.45 5.443-6.928a1.042 1.042 0 011.64 1.287l-6.24 7.94a1.04 1.04 0 01-.804.399z"\n />\n </svg>`;\n//# sourceMappingURL=Checkmark200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconCheckmark200.js\nclass IconCheckmark200 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Checkmark200Icon()}}\n//# sourceMappingURL=IconCheckmark200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js\ncustomElements.define("sp-icon-checkmark200",IconCheckmark200);\n//# sourceMappingURL=sp-icon-checkmark200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Checkmark300.js\nconst Checkmark300Icon=({width:t=24,height:e=24,title:r="Checkmark300"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 14 14"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${r}\n width=${t}\n height=${e}\n >\n <path\n d="M5.102 12.514a1.087 1.087 0 01-.834-.39L.988 8.19A1.085 1.085 0 012.656 6.8l2.421 2.906 6.243-7.947a1.085 1.085 0 011.707 1.34L5.955 12.1a1.089 1.089 0 01-.838.415z"\n />\n </svg>`;\n//# sourceMappingURL=Checkmark300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconCheckmark300.js\nclass IconCheckmark300 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Checkmark300Icon()}}\n//# sourceMappingURL=IconCheckmark300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js\ncustomElements.define("sp-icon-checkmark300",IconCheckmark300);\n//# sourceMappingURL=sp-icon-checkmark300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Dash75.js\nconst Dash75Icon=({width:t=24,height:e=24,title:a="Dash75"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 8 8"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path d="M6.99 4.96H1.01a.96.96 0 010-1.92h5.98a.96.96 0 010 1.92z" />\n </svg>`;\n//# sourceMappingURL=Dash75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconDash75.js\nclass IconDash75 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Dash75Icon()}}\n//# sourceMappingURL=IconDash75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js\ncustomElements.define("sp-icon-dash75",IconDash75);\n//# sourceMappingURL=sp-icon-dash75.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Dash100.js\nconst Dash100Icon=({width:t=24,height:e=24,title:a="Dash100"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 10 10"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path d="M8.5 6h-7a1 1 0 010-2h7a1 1 0 010 2z" />\n </svg>`;\n//# sourceMappingURL=Dash100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconDash100.js\nclass IconDash100 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Dash100Icon()}}\n//# sourceMappingURL=IconDash100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js\ncustomElements.define("sp-icon-dash100",IconDash100);\n//# sourceMappingURL=sp-icon-dash100.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Dash200.js\nconst Dash200Icon=({width:t=24,height:e=24,title:a="Dash200"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 12 12"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path d="M10.021 7.042H1.98a1.042 1.042 0 110-2.083h8.043a1.042 1.042 0 010 2.083z" />\n </svg>`;\n//# sourceMappingURL=Dash200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconDash200.js\nclass IconDash200 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Dash200Icon()}}\n//# sourceMappingURL=IconDash200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js\ncustomElements.define("sp-icon-dash200",IconDash200);\n//# sourceMappingURL=sp-icon-dash200.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/icons/Dash300.js\nconst Dash300Icon=({width:t=24,height:e=24,title:a="Dash300"}={})=>tag`<svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 12 12"\n aria-hidden="true"\n role="img"\n fill="currentColor"\n aria-label=${a}\n width=${t}\n height=${e}\n >\n <path d="M10.61 7.085H1.39a1.085 1.085 0 010-2.17h9.22a1.085 1.085 0 010 2.17z" />\n </svg>`;\n//# sourceMappingURL=Dash300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/src/elements/IconDash300.js\nclass IconDash300 extends IconBase{render(){return setCustomTemplateLiteralTag(lit.html),Dash300Icon()}}\n//# sourceMappingURL=IconDash300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js\ncustomElements.define("sp-icon-dash300",IconDash300);\n//# sourceMappingURL=sp-icon-dash300.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/checkbox/src/checkbox.css.js\nconst o=(0,lit.css)`\n:host{align-items:flex-start;max-width:100%;min-height:var(--spectrum-checkbox-height);position:relative}#input{box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;height:100%;line-height:1.15;margin:0;opacity:.0001;overflow:visible;padding:0;position:absolute;width:100%;z-index:1}#input:disabled{cursor:default}#input:checked+#box:before{border-width:calc(var(--spectrum-checkbox-box-size)/2)}#input:checked+#box #checkmark{opacity:1;transform:scale(1)}#input.focus-visible+#box:after{margin:calc(var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*-1)}#input:focus-visible+#box:after{margin:calc(var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*-1)}:host([size=s]){--spectrum-checkbox-box-border-radius:var(\n--spectrum-checkbox-s-box-border-radius,var(--spectrum-alias-border-radius-small)\n);--spectrum-checkbox-box-border-size:var(\n--spectrum-checkbox-s-box-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-checkbox-box-size:var(\n--spectrum-checkbox-s-box-size,var(--spectrum-alias-control-two-size-s)\n);--spectrum-checkbox-text-size:var(\n--spectrum-checkbox-s-text-size,var(--spectrum-global-dimension-font-size-75)\n);--spectrum-checkbox-text-gap:var(\n--spectrum-checkbox-s-text-gap,var(--spectrum-global-dimension-size-115)\n);--spectrum-checkbox-text-padding-top:var(\n--spectrum-checkbox-s-text-padding-top,var(--spectrum-global-dimension-static-size-50)\n);--spectrum-checkbox-text-font-style:var(\n--spectrum-checkbox-s-text-font-style,var(--spectrum-global-font-style-regular)\n);--spectrum-checkbox-text-font-weight:var(\n--spectrum-checkbox-s-text-font-weight,var(--spectrum-alias-body-text-font-weight)\n);--spectrum-checkbox-text-line-height:var(\n--spectrum-checkbox-s-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-checkbox-checkmark-size:var(\n--spectrum-checkbox-s-checkmark-size,var(--spectrum-alias-ui-icon-checkmark-size-75)\n);--spectrum-checkbox-height:var(\n--spectrum-checkbox-s-height,var(--spectrum-global-dimension-size-300)\n)}:host([size=m]){--spectrum-checkbox-box-border-radius:var(\n--spectrum-checkbox-m-box-border-radius,var(--spectrum-alias-border-radius-small)\n);--spectrum-checkbox-box-border-size:var(\n--spectrum-checkbox-m-box-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-checkbox-box-size:var(\n--spectrum-checkbox-m-box-size,var(--spectrum-alias-control-two-size-m)\n);--spectrum-checkbox-text-size:var(\n--spectrum-checkbox-m-text-size,var(--spectrum-global-dimension-font-size-100)\n);--spectrum-checkbox-text-gap:var(\n--spectrum-checkbox-m-text-gap,var(--spectrum-global-dimension-size-125)\n);--spectrum-checkbox-text-padding-top:var(\n--spectrum-checkbox-m-text-padding-top,var(--spectrum-global-dimension-size-75)\n);--spectrum-checkbox-text-font-style:var(\n--spectrum-checkbox-m-text-font-style,var(--spectrum-global-font-style-regular)\n);--spectrum-checkbox-text-font-weight:var(\n--spectrum-checkbox-m-text-font-weight,var(--spectrum-alias-body-text-font-weight)\n);--spectrum-checkbox-text-line-height:var(\n--spectrum-checkbox-m-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-checkbox-checkmark-size:var(\n--spectrum-checkbox-m-checkmark-size,var(--spectrum-alias-ui-icon-checkmark-size-100)\n);--spectrum-checkbox-height:var(\n--spectrum-checkbox-m-height,var(--spectrum-global-dimension-size-400)\n)}:host([size=l]){--spectrum-checkbox-text-padding-top:var(\n--spectrum-checkbox-l-text-padding-top\n);--spectrum-checkbox-box-border-radius:var(\n--spectrum-checkbox-l-box-border-radius,var(--spectrum-alias-border-radius-small)\n);--spectrum-checkbox-box-border-size:var(\n--spectrum-checkbox-l-box-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-checkbox-box-size:var(\n--spectrum-checkbox-l-box-size,var(--spectrum-alias-control-two-size-l)\n);--spectrum-checkbox-text-size:var(\n--spectrum-checkbox-l-text-size,var(--spectrum-global-dimension-font-size-200)\n);--spectrum-checkbox-text-gap:var(\n--spectrum-checkbox-l-text-gap,var(--spectrum-global-dimension-size-130)\n);--spectrum-checkbox-text-font-style:var(\n--spectrum-checkbox-l-text-font-style,var(--spectrum-global-font-style-regular)\n);--spectrum-checkbox-text-font-weight:var(\n--spectrum-checkbox-l-text-font-weight,var(--spectrum-alias-body-text-font-weight)\n);--spectrum-checkbox-text-line-height:var(\n--spectrum-checkbox-l-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-checkbox-checkmark-size:var(\n--spectrum-checkbox-l-checkmark-size,var(--spectrum-alias-ui-icon-checkmark-size-200)\n);--spectrum-checkbox-height:var(\n--spectrum-checkbox-l-height,var(--spectrum-global-dimension-size-500)\n)}:host([size=xl]){--spectrum-checkbox-box-border-radius:var(\n--spectrum-checkbox-xl-box-border-radius,var(--spectrum-alias-border-radius-small)\n);--spectrum-checkbox-box-border-size:var(\n--spectrum-checkbox-xl-box-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-checkbox-box-size:var(\n--spectrum-checkbox-xl-box-size,var(--spectrum-alias-control-two-size-xl)\n);--spectrum-checkbox-text-size:var(\n--spectrum-checkbox-xl-text-size,var(--spectrum-global-dimension-font-size-300)\n);--spectrum-checkbox-text-gap:var(\n--spectrum-checkbox-xl-text-gap,var(--spectrum-global-dimension-size-160)\n);--spectrum-checkbox-text-padding-top:var(\n--spectrum-checkbox-xl-text-padding-top,var(--spectrum-global-dimension-size-150)\n);--spectrum-checkbox-text-font-style:var(\n--spectrum-checkbox-xl-text-font-style,var(--spectrum-global-font-style-regular)\n);--spectrum-checkbox-text-font-weight:var(\n--spectrum-checkbox-xl-text-font-weight,var(--spectrum-alias-body-text-font-weight)\n);--spectrum-checkbox-text-line-height:var(\n--spectrum-checkbox-xl-text-line-height,var(--spectrum-alias-component-text-line-height)\n);--spectrum-checkbox-checkmark-size:var(\n--spectrum-checkbox-xl-checkmark-size,var(--spectrum-alias-ui-icon-checkmark-size-300)\n);--spectrum-checkbox-height:var(\n--spectrum-checkbox-xl-height,var(--spectrum-global-dimension-size-600)\n)}:host([indeterminate]) #box:before,:host([indeterminate]) #input:checked+#box:before{border-width:calc(var(--spectrum-checkbox-box-size)/2)}:host([indeterminate]) #box #checkmark,:host([indeterminate]) #input:checked+#box #checkmark{display:none}:host([indeterminate]) #box #partialCheckmark,:host([indeterminate]) #input:checked+#box #partialCheckmark{display:block;opacity:1;transform:scale(1)}:host([dir=ltr]) #label{text-align:left}:host([dir=rtl]) #label{text-align:right}:host([dir=ltr]) #label{margin-left:var(\n--spectrum-checkbox-text-gap\n)}:host([dir=rtl]) #label{margin-right:var(\n--spectrum-checkbox-text-gap\n)}#label{font-size:var(--spectrum-checkbox-text-size);font-style:var(--spectrum-checkbox-text-font-style);font-weight:var(--spectrum-checkbox-text-font-weight);line-height:var(--spectrum-checkbox-text-line-height);margin-top:var(\n--spectrum-checkbox-text-padding-top\n);transition:color var(--spectrum-global-animation-duration-100,.13s) ease-in-out}#box{box-sizing:border-box;flex-grow:0;flex-shrink:0;height:var(--spectrum-checkbox-box-size);margin:calc((var(--spectrum-checkbox-height) - var(--spectrum-checkbox-box-size))/2) 0;position:relative;width:var(--spectrum-checkbox-box-size)}#box:before{border-radius:var(--spectrum-checkbox-box-border-radius);border-style:solid;border-width:var(--spectrum-checkbox-box-border-size);box-sizing:border-box;content:"";display:block;height:var(--spectrum-checkbox-box-size);position:absolute;transition:border var(--spectrum-global-animation-duration-100,.13s) ease-in-out,box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-in-out;width:var(--spectrum-checkbox-box-size);z-index:0}#box:after{border-radius:calc(var(--spectrum-checkbox-box-border-radius) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n));bottom:0;content:"";display:block;left:0;margin:var(\n--spectrum-alias-focus-ring-gap,var(--spectrum-global-dimension-static-size-25)\n);position:absolute;right:0;top:0;transform:translate(0);transition:box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out,margin var(--spectrum-global-animation-duration-100,.13s) ease-out}:host([dir=ltr]) #checkmark,:host([dir=ltr]) #partialCheckmark{left:50%}:host([dir=rtl]) #checkmark,:host([dir=rtl]) #partialCheckmark{right:50%}#checkmark,#partialCheckmark{opacity:0;position:absolute;top:50%;transform:scale(0);transition:opacity var(--spectrum-global-animation-duration-100,.13s) ease-in-out,transform var(--spectrum-global-animation-duration-100,.13s) ease-in-out}:host([dir=ltr]) #checkmark{margin-left:calc(var(--spectrum-checkbox-checkmark-size)/-2)}:host([dir=rtl]) #checkmark{margin-right:calc(var(--spectrum-checkbox-checkmark-size)/-2)}#checkmark{margin-top:calc(var(--spectrum-checkbox-checkmark-size)/-2)}:host([dir=ltr]) #partialCheckmark{margin-left:calc(var(--spectrum-checkbox-checkmark-size)/-2)}:host([dir=rtl]) #partialCheckmark{margin-right:calc(var(--spectrum-checkbox-checkmark-size)/-2)}#partialCheckmark{display:none;margin-top:calc(var(--spectrum-checkbox-checkmark-size)/-2)}:host{color:var(\n--spectrum-checkbox-m-text-color,var(--spectrum-alias-component-text-color-default)\n)}#checkmark,#partialCheckmark{color:var(\n--spectrum-checkbox-m-checkmark-color,var(--spectrum-alias-toggle-icon-color-selected)\n)}#box:before{background-color:var(\n--spectrum-checkbox-m-box-background-color,var(--spectrum-global-color-gray-75)\n);border-color:var(\n--spectrum-checkbox-m-box-border-color,var(--spectrum-alias-toggle-border-color-default)\n);forced-color-adjust:none}#label{color:var(\n--spectrum-checkbox-m-text-color,var(--spectrum-alias-component-text-color-default)\n)}#input:checked+#box:before,:host([indeterminate]) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-selected,var(--spectrum-alias-toggle-background-color-default)\n)}:host(:hover) #input:checked+#box:before,:host(:hover[indeterminate]) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-selected-hover,var(--spectrum-alias-toggle-background-color-hover)\n)}:host(:active) #input:checked+#box:before,:host(:active[indeterminate]) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-selected-down,var(--spectrum-alias-toggle-background-color-down)\n)}:host{border-color:var(\n--spectrum-checkbox-m-box-border-color,var(--spectrum-alias-toggle-border-color-default)\n)}:host(:hover) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-hover,var(--spectrum-alias-toggle-border-color-hover)\n)}:host(:hover) #label{color:var(\n--spectrum-checkbox-m-text-color-hover,var(--spectrum-alias-component-text-color-hover)\n)}:host(:active) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-down,var(--spectrum-alias-toggle-border-color-down)\n)}:host(:active) #label{color:var(\n--spectrum-checkbox-m-text-color-down,var(--spectrum-alias-component-text-color-down)\n)}:host([readonly]){border-color:var(\n--spectrum-checkbox-m-box-border-color,var(--spectrum-alias-toggle-border-color-default)\n)}:host([readonly]:hover) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-hover,var(--spectrum-alias-toggle-border-color-hover)\n)}:host([readonly]:hover) #label{color:var(\n--spectrum-checkbox-m-text-color-hover,var(--spectrum-alias-component-text-color-hover)\n)}:host([readonly]:active) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-down,var(--spectrum-alias-toggle-border-color-down)\n)}:host([readonly]:active) #label{color:var(\n--spectrum-checkbox-m-text-color-down,var(--spectrum-alias-component-text-color-down)\n)}:host([readonly]) #input:checked:disabled+#box:before,:host([readonly]) #input:disabled+#box:before{background-color:var(\n--spectrum-checkbox-m-box-background-color,var(--spectrum-global-color-gray-75)\n);border-color:var(\n--spectrum-checkbox-m-box-border-color,var(--spectrum-alias-toggle-border-color-default)\n)}:host([readonly]) #input:checked:disabled~#label,:host([readonly]) #input:disabled~#label{color:var(\n--spectrum-checkbox-m-text-color,var(--spectrum-alias-component-text-color-default)\n);forced-color-adjust:none}#input:disabled+#box:before,:host([dir]) #input:checked:disabled+#box:before{background-color:var(\n--spectrum-checkbox-m-box-background-color-disabled,var(--spectrum-global-color-gray-75)\n);border-color:var(\n--spectrum-checkbox-m-box-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}#input:checked:disabled~#label,#input:disabled~#label{color:var(\n--spectrum-checkbox-m-text-color-disabled,var(--spectrum-alias-component-text-color-disabled)\n);forced-color-adjust:none}#input.focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-key-focus,var(--spectrum-alias-toggle-border-color-key-focus)\n)}#input:focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-key-focus,var(--spectrum-alias-toggle-border-color-key-focus)\n)}#input.focus-visible+#box:after{box-shadow:0 0 0 var(\n--spectrum-checkbox-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(\n--spectrum-checkbox-m-focus-ring-color-key-focus,var(--spectrum-alias-focus-ring-color)\n);forced-color-adjust:none}#input:focus-visible+#box:after{box-shadow:0 0 0 var(\n--spectrum-checkbox-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(\n--spectrum-checkbox-m-focus-ring-color-key-focus,var(--spectrum-alias-focus-ring-color)\n);forced-color-adjust:none}#input:checked.focus-visible+#box:before,:host([indeterminate]) #input.focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-selected-key-focus,var(--spectrum-alias-toggle-background-color-key-focus)\n)}#input:checked:focus-visible+#box:before,:host([indeterminate]) #input:focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-selected-key-focus,var(--spectrum-alias-toggle-background-color-key-focus)\n)}#input.focus-visible~#label{color:var(\n--spectrum-checkbox-m-text-color-key-focus,var(--spectrum-alias-component-text-color-key-focus)\n)}#input:focus-visible~#label{color:var(\n--spectrum-checkbox-m-text-color-key-focus,var(--spectrum-alias-component-text-color-key-focus)\n)}:host([emphasized]) #input:checked+#box:before,:host([emphasized][indeterminate]) #box:before,:host([emphasized][indeterminate]) #input.focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-emphasized-box-border-color-selected,var(\n--spectrum-alias-toggle-background-color-emphasized-selected-default\n)\n)}:host([emphasized]) #input:checked+#box:before,:host([emphasized][indeterminate]) #box:before,:host([emphasized][indeterminate]) #input:focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-emphasized-box-border-color-selected,var(\n--spectrum-alias-toggle-background-color-emphasized-selected-default\n)\n)}:host([emphasized]:hover) #input:checked+#box:before,:host([emphasized][indeterminate]:hover) #box:before{border-color:var(\n--spectrum-checkbox-m-emphasized-box-border-color-selected-hover,var(--spectrum-alias-toggle-background-color-emphasized-selected-hover)\n)}:host([emphasized]:active) #input:checked+#box:before,:host([emphasized][indeterminate]:active) #box:before{border-color:var(\n--spectrum-checkbox-m-emphasized-box-border-color-selected-down,var(--spectrum-alias-toggle-background-color-emphasized-selected-down)\n)}:host([invalid][dir]) #box:before,:host([invalid][dir]) #input:checked+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error,var(--spectrum-global-color-red-500)\n)}:host([invalid]) #label{color:var(\n--spectrum-checkbox-m-text-color-error,var(--spectrum-alias-component-text-color-error-default)\n)}:host([invalid]) #input.focus-visible+#box:before,:host([invalid][indeterminate]) #input.focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error-hover,var(--spectrum-global-color-red-600)\n)}:host([invalid]) #input:focus-visible+#box:before,:host([invalid][indeterminate]) #input:focus-visible+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error-hover,var(--spectrum-global-color-red-600)\n)}:host([invalid]) #input.focus-visible~#label,:host([invalid][indeterminate]) #input.focus-visible~#label{color:var(\n--spectrum-checkbox-m-text-color-error-hover,var(--spectrum-alias-component-text-color-error-hover)\n)}:host([invalid]) #input:focus-visible~#label,:host([invalid][indeterminate]) #input:focus-visible~#label{color:var(\n--spectrum-checkbox-m-text-color-error-hover,var(--spectrum-alias-component-text-color-error-hover)\n)}:host([invalid]:hover) #box:before,:host([invalid][dir]:hover) #input:checked+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error-hover,var(--spectrum-global-color-red-600)\n)}:host([invalid]:hover) #label{color:var(\n--spectrum-checkbox-m-text-color-error-hover,var(--spectrum-alias-component-text-color-error-hover)\n)}:host([invalid]:active) #box:before,:host([invalid]:active) #input:checked+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error-down,var(--spectrum-global-color-red-700)\n)}:host([invalid]:active) #label{color:var(\n--spectrum-checkbox-m-text-color-error-down,var(--spectrum-alias-component-text-color-error-down)\n)}@media (forced-colors:active){#input.focus-visible+#box{forced-color-adjust:none;outline-color:var(\n--spectrum-checkbox-m-focus-ring-color-key-focus,var(--spectrum-alias-focus-ring-color)\n);outline-offset:var(\n--spectrum-checkbox-m-focus-ring-gap-key-focus,var(--spectrum-alias-focus-ring-gap)\n);outline-style:auto;outline-width:var(\n--spectrum-checkbox-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n)}#input:focus-visible+#box{forced-color-adjust:none;outline-color:var(\n--spectrum-checkbox-m-focus-ring-color-key-focus,var(--spectrum-alias-focus-ring-color)\n);outline-offset:var(\n--spectrum-checkbox-m-focus-ring-gap-key-focus,var(--spectrum-alias-focus-ring-gap)\n);outline-style:auto;outline-width:var(\n--spectrum-checkbox-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n)}:host{--spectrum-checkbox-m-box-background-color-disabled:ButtonFace;--spectrum-checkbox-m-box-background-color:ButtonFace;--spectrum-checkbox-m-box-border-color-disabled:GrayText;--spectrum-checkbox-m-box-border-color-down:Highlight;--spectrum-checkbox-m-box-border-color-error-down:Highlight;--spectrum-checkbox-m-box-border-color-hover:Highlight;--spectrum-checkbox-m-box-border-color-key-focus:Highlight;--spectrum-checkbox-m-box-border-color-selected-down:Highlight;--spectrum-checkbox-m-box-border-color-selected-hover:Highlight;--spectrum-checkbox-m-box-border-color-selected-key-focus:Highlight;--spectrum-checkbox-m-box-border-color-selected:Highlight;--spectrum-checkbox-m-box-border-color:ButtonText;--spectrum-checkbox-m-emphasized-box-border-color-selected-down:Highlight;--spectrum-checkbox-m-emphasized-box-border-color-selected-hover:Highlight;--spectrum-checkbox-m-emphasized-box-border-color-selected:Highlight;--spectrum-checkbox-m-focus-ring-color-key-focus:FieldText;--spectrum-checkbox-m-text-color-disabled:GrayText;--spectrum-checkbox-m-text-color-down:FieldText;--spectrum-checkbox-m-text-color-error-down:FieldText;--spectrum-checkbox-m-text-color-error-hover:FieldText;--spectrum-checkbox-m-checkmark-color:HighlightText;--spectrum-checkbox-m-focus-ring-gap-key-focus:var(\n--spectrum-global-dimension-static-size-25,2px\n);--spectrum-checkbox-m-focus-ring-size:var(\n--spectrum-global-dimension-static-size-40,3px\n);--spectrum-checkbox-m-box-border-color-error:FieldText;--spectrum-checkbox-m-box-border-color-error-hover:FieldText;--spectrum-checkbox-m-text-color-error:FieldText;--spectrum-checkbox-m-text-color-hover:FieldText;--spectrum-checkbox-m-text-color-key-focus:FieldText;--spectrum-checkbox-m-text-color:FieldText}:host([invalid][dir]) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color,var(--spectrum-alias-toggle-border-color-default)\n)}:host([invalid][indeterminate]) #box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error,var(--spectrum-global-color-red-500)\n)}:host([invalid][dir]) #input:checked+#box:before{border-color:var(\n--spectrum-checkbox-m-box-border-color-error,var(--spectrum-global-color-red-500)\n)}}:host{display:inline-flex;vertical-align:top}:host(:focus){outline:none}:host([disabled]){pointer-events:none}:host(:empty) label{display:none}\n`;/* harmony default export */ const checkbox_css = (o);\n//# sourceMappingURL=checkbox.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js\nconst spectrum_icon_checkmark_css_i=(0,lit.css)`\n.spectrum-UIIcon-Checkmark50{height:var(--spectrum-alias-ui-icon-checkmark-size-50);width:var(--spectrum-alias-ui-icon-checkmark-size-50)}.spectrum-UIIcon-Checkmark75{height:var(--spectrum-alias-ui-icon-checkmark-size-75);width:var(--spectrum-alias-ui-icon-checkmark-size-75)}.spectrum-UIIcon-Checkmark100{height:var(--spectrum-alias-ui-icon-checkmark-size-100);width:var(--spectrum-alias-ui-icon-checkmark-size-100)}.spectrum-UIIcon-Checkmark200{height:var(--spectrum-alias-ui-icon-checkmark-size-200);width:var(--spectrum-alias-ui-icon-checkmark-size-200)}.spectrum-UIIcon-Checkmark300{height:var(--spectrum-alias-ui-icon-checkmark-size-300);width:var(--spectrum-alias-ui-icon-checkmark-size-300)}.spectrum-UIIcon-Checkmark400{height:var(--spectrum-alias-ui-icon-checkmark-size-400);width:var(--spectrum-alias-ui-icon-checkmark-size-400)}.spectrum-UIIcon-Checkmark500{height:var(--spectrum-alias-ui-icon-checkmark-size-500);width:var(--spectrum-alias-ui-icon-checkmark-size-500)}.spectrum-UIIcon-Checkmark600{height:var(--spectrum-alias-ui-icon-checkmark-size-600);width:var(--spectrum-alias-ui-icon-checkmark-size-600)}\n`;/* harmony default export */ const spectrum_icon_checkmark_css = (spectrum_icon_checkmark_css_i);\n//# sourceMappingURL=spectrum-icon-checkmark.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@spectrum-web-components/icon/src/spectrum-icon-dash.css.js\nconst spectrum_icon_dash_css_i=(0,lit.css)`\n.spectrum-UIIcon-Dash50{height:var(--spectrum-alias-ui-icon-dash-size-50);width:var(--spectrum-alias-ui-icon-dash-size-50)}.spectrum-UIIcon-Dash75{height:var(--spectrum-alias-ui-icon-dash-size-75);width:var(--spectrum-alias-ui-icon-dash-size-75)}.spectrum-UIIcon-Dash100{height:var(--spectrum-alias-ui-icon-dash-size-100);width:var(--spectrum-alias-ui-icon-dash-size-100)}.spectrum-UIIcon-Dash200{height:var(--spectrum-alias-ui-icon-dash-size-200);width:var(--spectrum-alias-ui-icon-dash-size-200)}.spectrum-UIIcon-Dash300{height:var(--spectrum-alias-ui-icon-dash-size-300);width:var(--spectrum-alias-ui-icon-dash-size-300)}.spectrum-UIIcon-Dash400{height:var(--spectrum-alias-ui-icon-dash-size-400);width:var(--spectrum-alias-ui-icon-dash-size-400)}.spectrum-UIIcon-Dash500{height:var(--spectrum-alias-ui-icon-dash-size-500);width:var(--spectrum-alias-ui-icon-dash-size-500)}.spectrum-UIIcon-Dash600{height:var(--spectrum-alias-ui-icon-dash-size-600);width:var(--spectrum-alias-ui-icon-dash-size-600)}\n`;/* harmony default export */ const spectrum_icon_dash_css = (spectrum_icon_dash_css_i);\n//# sourceMappingURL=spectrum-icon-dash.css.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-internal/checkbox/src/Checkbox.js\nvar p=Object.defineProperty;var Checkbox_n=Object.getOwnPropertyDescriptor;var Checkbox_s=(a,t,c,r)=>{for(var i=r>1?void 0:r?Checkbox_n(t,c):t,l=a.length-1,m;l>=0;l--)(m=a[l])&&(i=(r?m(t,c,i):m(i))||i);return r&&i&&p(t,c,i),i};const I={s:(0,lit.html)`\n <sp-icon-checkmark75\n id="checkmark"\n class="spectrum-UIIcon-Checkmark75"\n ></sp-icon-checkmark75>\n `,m:(0,lit.html)`\n <sp-icon-checkmark100\n id="checkmark"\n class="spectrum-UIIcon-Checkmark100"\n ></sp-icon-checkmark100>\n `,l:(0,lit.html)`\n <sp-icon-checkmark200\n id="checkmark"\n class="spectrum-UIIcon-Checkmark200"\n ></sp-icon-checkmark200>\n `,xl:(0,lit.html)`\n <sp-icon-checkmark300\n id="checkmark"\n class="spectrum-UIIcon-Checkmark300"\n ></sp-icon-checkmark300>\n `},S={s:(0,lit.html)`\n <sp-icon-dash75\n id="partialCheckmark"\n class="spectrum-UIIcon-Dash75"\n ></sp-icon-dash75>\n `,m:(0,lit.html)`\n <sp-icon-dash100\n id="partialCheckmark"\n class="spectrum-UIIcon-Dash100"\n ></sp-icon-dash100>\n `,l:(0,lit.html)`\n <sp-icon-dash200\n id="partialCheckmark"\n class="spectrum-UIIcon-Dash200"\n ></sp-icon-dash200>\n `,xl:(0,lit.html)`\n <sp-icon-dash300\n id="partialCheckmark"\n class="spectrum-UIIcon-Dash300"\n ></sp-icon-dash300>\n `};class Checkbox extends (0,sizedMixin/* SizedMixin */.I)(CheckboxBase){constructor(){super(...arguments);this.indeterminate=!1;this.invalid=!1;this.emphasized=!1}static get styles(){return[checkbox_css,spectrum_icon_checkmark_css,spectrum_icon_dash_css]}render(){return (0,lit.html)`\n ${super.render()}\n <span id="box">\n ${I[this.size]}\n ${S[this.size]}\n </span>\n <label id="label"><slot></slot></label>\n `}updated(t){super.updated(t),t.has("invalid")&&(this.invalid?this.inputElement.setAttribute("aria-invalid","true"):this.inputElement.removeAttribute("aria-invalid")),t.has("indeterminate")&&(this.indeterminate?this.inputElement.setAttribute("aria-checked","mixed"):this.inputElement.removeAttribute("aria-checked"))}}Checkbox_s([(0,decorators.property)({type:Boolean,reflect:!0})],Checkbox.prototype,"indeterminate",2),Checkbox_s([(0,decorators.property)({type:Boolean,reflect:!0})],Checkbox.prototype,"invalid",2),Checkbox_s([(0,decorators.property)({type:Boolean,reflect:!0})],Checkbox.prototype,"emphasized",2);\n//# sourceMappingURL=Checkbox.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/checkbox/src/uxp-checkbox.css.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nconst styles = (0,lit.css)`\n#input{opacity:0}\n`;\n/* harmony default export */ const uxp_checkbox_css = (styles);\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/checkbox/src/Checkbox.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n\n\n\n\nclass UxpCheckbox extends Checkbox {\n static get styles() {\n return [super.styles, uxp_checkbox_css];\n }\n}\n\n\n\n;// CONCATENATED MODULE: ../../node_modules/@swc-uxp-wrappers/checkbox/sp-checkbox.js\n/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the "License");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n\n\ncustomElements.define(\'sp-checkbox\', UxpCheckbox);\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/@swc-uxp-wrappers/checkbox/sp-checkbox.js_+_34_modules?')},3311:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Al: () => (/* binding */ j),\n/* harmony export */ Jb: () => (/* binding */ T),\n/* harmony export */ Ld: () => (/* binding */ A),\n/* harmony export */ YP: () => (/* binding */ b),\n/* harmony export */ dy: () => (/* binding */ x),\n/* harmony export */ sY: () => (/* binding */ D)\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy("lit-html",{createHTML:t=>t}):void 0,o="$lit$",n=`lit$${(Math.random()+"").slice(9)}$`,l="?"+n,h=`<${l}>`,r=document,u=()=>r.createComment(""),d=t=>null===t||"object"!=typeof t&&"function"!=typeof t,c=Array.isArray,v=t=>c(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),a="[ \\t\\n\\f\\r]",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/--\x3e/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s"\'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r"\'\\`<>=]|("|\')|))|$)`,"g"),g=/\'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?"<svg>":"",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?"!--"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp("</"+c[2],"g")),u=p):void 0!==c[3]&&(u=p):u===p?">"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:\'"\'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith("/>")?" ":"";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||"<?>")+(2===i?"</svg>":"")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:"."===i[1]?H:"?"===i[1]?L:"@"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:"";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement("template");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:"")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:"";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push("2.8.0");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};\n//# sourceMappingURL=lit-html.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lit-html/lit-html.js?')},9487:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n customElement: () => (/* reexport */ e),\n eventOptions: () => (/* reexport */ event_options_e),\n property: () => (/* reexport */ n),\n query: () => (/* reexport */ query_i),\n queryAll: () => (/* reexport */ query_all_e),\n queryAssignedElements: () => (/* reexport */ query_assigned_elements_l),\n queryAssignedNodes: () => (/* reexport */ o),\n queryAsync: () => (/* reexport */ query_async_e),\n state: () => (/* reexport */ t)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/custom-element.js\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>"function"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);\n//# sourceMappingURL=custom-element.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/property.js\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},property_e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?property_e(n,t,o):i(n,t)}\n//# sourceMappingURL=property.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/state.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return n({...t,state:!0})}\n//# sourceMappingURL=state.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/base.js\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst base_e=(e,t,o)=>{Object.defineProperty(t,o,e)},base_t=(e,t)=>({kind:"method",placement:"prototype",key:t.key,descriptor:e}),base_o=({finisher:e,descriptor:t})=>(o,n)=>{var r;if(void 0===n){const n=null!==(r=o.originalKey)&&void 0!==r?r:o.key,i=null!=t?{kind:"method",placement:"prototype",key:n,descriptor:t(o.key)}:{...o,key:n};return null!=e&&(i.finisher=function(t){e(t,n)}),i}{const r=o.constructor;void 0!==t&&Object.defineProperty(o,n,t(n)),null==e||e(r,n)}};\n//# sourceMappingURL=base.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/event-options.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function event_options_e(e){return base_o({finisher:(r,t)=>{Object.assign(r.prototype[t],e)}})}\n//# sourceMappingURL=event-options.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/query.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function query_i(i,n){return base_o({descriptor:o=>{const t={get(){var o,n;return null!==(n=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==n?n:null},enumerable:!0,configurable:!0};if(n){const n="symbol"==typeof o?Symbol():"__"+o;t.get=function(){var o,t;return void 0===this[n]&&(this[n]=null!==(t=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==t?t:null),this[n]}}return t}})}\n//# sourceMappingURL=query.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/query-all.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function query_all_e(e){return base_o({descriptor:r=>({get(){var r,o;return null!==(o=null===(r=this.renderRoot)||void 0===r?void 0:r.querySelectorAll(e))&&void 0!==o?o:[]},enumerable:!0,configurable:!0})})}\n//# sourceMappingURL=query-all.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/query-async.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction query_async_e(e){return base_o({descriptor:r=>({async get(){var r;return await this.updateComplete,null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(e)},enumerable:!0,configurable:!0})})}\n//# sourceMappingURL=query-async.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var query_assigned_elements_n;const query_assigned_elements_e=null!=(null===(query_assigned_elements_n=window.HTMLSlotElement)||void 0===query_assigned_elements_n?void 0:query_assigned_elements_n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function query_assigned_elements_l(n){const{slot:l,selector:t}=null!=n?n:{};return base_o({descriptor:o=>({get(){var o;const r="slot"+(l?`[name=${l}]`:":not([name])"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?query_assigned_elements_e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}\n//# sourceMappingURL=query-assigned-elements.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o,n,r){let l,s=o;return"object"==typeof o?(s=o.slot,l=o):l={flatten:n},r?query_assigned_elements_l({slot:s,flatten:n,selector:r}):base_o({descriptor:e=>({get(){var e,t;const o="slot"+(s?`[name=${s}]`:":not([name])"),n=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(o);return null!==(t=null==n?void 0:n.assignedNodes(l))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})}\n//# sourceMappingURL=query-assigned-nodes.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/lit/decorators.js\n\n//# sourceMappingURL=decorators.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lit/decorators.js_+_10_modules?')},5976:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _$LH: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.Al),\n/* harmony export */ html: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.dy),\n/* harmony export */ noChange: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.Jb),\n/* harmony export */ nothing: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.Ld),\n/* harmony export */ render: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.sY),\n/* harmony export */ svg: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_0__.YP)\n/* harmony export */ });\n/* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3311);\n\n//# sourceMappingURL=html.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lit/html.js?")},2853:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n CSSResult: () => (/* reexport */ o),\n LitElement: () => (/* reexport */ lit_element_s),\n ReactiveElement: () => (/* reexport */ u),\n UpdatingElement: () => (/* reexport */ lit_element_r),\n _$LE: () => (/* reexport */ lit_element_h),\n _$LH: () => (/* reexport */ lit_html/* _$LH */.Al),\n adoptStyles: () => (/* reexport */ S),\n css: () => (/* reexport */ i),\n defaultConverter: () => (/* reexport */ reactive_element_n),\n getCompatibleStyle: () => (/* reexport */ c),\n html: () => (/* reexport */ lit_html/* html */.dy),\n isServer: () => (/* reexport */ is_server_o),\n noChange: () => (/* reexport */ lit_html/* noChange */.Jb),\n notEqual: () => (/* reexport */ a),\n nothing: () => (/* reexport */ lit_html/* nothing */.Ld),\n render: () => (/* reexport */ lit_html/* render */.sY),\n supportsAdoptingStyleSheets: () => (/* reexport */ e),\n svg: () => (/* reexport */ lit_html/* svg */.YP),\n unsafeCSS: () => (/* reexport */ r)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/css-tag.js\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o("string"==typeof t?t:t+"",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to \'css\' function must be a \'css\' function result: "+t+". Use \'unsafeCSS\' to pass non-literal values, but take care to ensure page security.")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement("style"),o=t.litNonce;void 0!==o&&n.setAttribute("nonce",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;\n//# sourceMappingURL=css-tag.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/@lit/reactive-element/reactive-element.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var reactive_element_s;const reactive_element_e=window,reactive_element_r=reactive_element_e.trustedTypes,h=reactive_element_r?reactive_element_r.emptyScript:"",reactive_element_o=reactive_element_e.reactiveElementPolyfillSupport,reactive_element_n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:reactive_element_n,reflect:!1,hasChanged:a},d="finalized";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s="symbol"==typeof t?Symbol():"__"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(c(i))}else void 0!==i&&s.push(c(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return S(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:reactive_element_n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:reactive_element_n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:"open"},null==reactive_element_o||reactive_element_o({ReactiveElement:u}),(null!==(reactive_element_s=reactive_element_e.reactiveElementVersions)&&void 0!==reactive_element_s?reactive_element_s:reactive_element_e.reactiveElementVersions=[]).push("1.6.3");\n//# sourceMappingURL=reactive-element.js.map\n\n// EXTERNAL MODULE: ../../node_modules/lit-html/lit-html.js\nvar lit_html = __webpack_require__(3311);\n;// CONCATENATED MODULE: ../../node_modules/lit-element/lit-element.js\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var lit_element_l,lit_element_o;const lit_element_r=u;class lit_element_s extends u{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,lit_html/* render */.sY)(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return lit_html/* noChange */.Jb}}lit_element_s.finalized=!0,lit_element_s._$litElement$=!0,null===(lit_element_l=globalThis.litElementHydrateSupport)||void 0===lit_element_l||lit_element_l.call(globalThis,{LitElement:lit_element_s});const lit_element_n=globalThis.litElementPolyfillSupport;null==lit_element_n||lit_element_n({LitElement:lit_element_s});const lit_element_h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(lit_element_o=globalThis.litElementVersions)&&void 0!==lit_element_o?lit_element_o:globalThis.litElementVersions=[]).push("3.3.3");\n//# sourceMappingURL=lit-element.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/lit-html/is-server.js\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst is_server_o=!1;\n//# sourceMappingURL=is-server.js.map\n\n;// CONCATENATED MODULE: ../../node_modules/lit/index.js\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://@cai/panel/../../node_modules/lit/index.js_+_4_modules?')},9172:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Analytics: () => (/* binding */ Oc),\n/* harmony export */ AppError: () => (/* binding */ v),\n/* harmony export */ CAIClaim: () => (/* binding */ Zc),\n/* harmony export */ CAIConfig: () => (/* binding */ Kc),\n/* harmony export */ CAIIdentity: () => (/* binding */ Jc),\n/* harmony export */ CAIUser: () => (/* binding */ Xc),\n/* harmony export */ ConfigError: () => (/* binding */ Tr),\n/* harmony export */ ConnectedAccountsFetchError: () => (/* binding */ Dc),\n/* harmony export */ DecentralizedIDServiceNotFoundError: () => (/* binding */ Er),\n/* harmony export */ EmbedError: () => (/* binding */ kc),\n/* harmony export */ ErrorHandler: () => (/* binding */ eu),\n/* harmony export */ FatalError: () => (/* binding */ gt),\n/* harmony export */ HttpError: () => (/* binding */ L),\n/* harmony export */ IdentityFetchError: () => (/* binding */ Rc),\n/* harmony export */ ImsTokenFetchFailureError: () => (/* binding */ Lc),\n/* harmony export */ IngredientLoadingEmbedError: () => (/* binding */ Uc),\n/* harmony export */ SplunkLogger: () => (/* binding */ N),\n/* harmony export */ Subject: () => (/* binding */ be),\n/* harmony export */ WEB3: () => (/* binding */ $r),\n/* harmony export */ atob: () => (/* binding */ Mc),\n/* harmony export */ basefolder: () => (/* binding */ zc),\n/* harmony export */ basename: () => (/* binding */ Gc),\n/* harmony export */ btoa: () => (/* binding */ Fc),\n/* harmony export */ buildWorkingStoreAction: () => (/* binding */ Vc),\n/* harmony export */ copyWorkingStoreFiles: () => (/* binding */ Wc),\n/* harmony export */ formatWorkingStoreActionName: () => (/* binding */ Nr),\n/* harmony export */ generateGUID: () => (/* binding */ Cr),\n/* harmony export */ getAppData: () => (/* binding */ qc),\n/* harmony export */ getAppEnv: () => (/* binding */ Hc),\n/* harmony export */ getIcons: () => (/* binding */ xr),\n/* harmony export */ getSystemData: () => (/* binding */ Bc),\n/* harmony export */ http: () => (/* binding */ ee),\n/* harmony export */ isCrypto: () => (/* binding */ _e),\n/* harmony export */ isIngredientLoaded: () => (/* binding */ pt),\n/* harmony export */ isSocial: () => (/* binding */ Sr),\n/* harmony export */ pause: () => (/* binding */ wr),\n/* harmony export */ retry: () => (/* binding */ Ir),\n/* harmony export */ serializeError: () => (/* binding */ Ar),\n/* harmony export */ truncateCryptoAddress: () => (/* binding */ Yc)\n/* harmony export */ });\n/* harmony import */ var _cai_localization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60);\n/* provided dependency */ var Buffer = __webpack_require__(8834)["lW"];\nvar lr = Object.defineProperty, fr = Object.defineProperties;\nvar dr = Object.getOwnPropertyDescriptors;\nvar Oe = Object.getOwnPropertySymbols;\nvar hr = Object.prototype.hasOwnProperty, gr = Object.prototype.propertyIsEnumerable;\nvar Ne = (e, t, r) => t in e ? lr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, b = (e, t) => {\n for (var r in t || (t = {}))\n hr.call(t, r) && Ne(e, r, t[r]);\n if (Oe)\n for (var r of Oe(t))\n gr.call(t, r) && Ne(e, r, t[r]);\n return e;\n}, C = (e, t) => fr(e, dr(t));\nvar y = (e, t, r) => new Promise((n, s) => {\n var o = (u) => {\n try {\n c(r.next(u));\n } catch (i) {\n s(i);\n }\n }, a = (u) => {\n try {\n c(r.throw(u));\n } catch (i) {\n s(i);\n }\n }, c = (u) => u.done ? n(u.value) : Promise.resolve(u.value).then(o, a);\n c((r = r.apply(e, t)).next());\n});\n\nconst br = [\n // Native ES errors https://262.ecma-international.org/12.0/#sec-well-known-intrinsic-objects\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n // Built-in errors\n globalThis.DOMException,\n // Node-specific errors\n // https://nodejs.org/api/errors.html\n globalThis.AssertionError,\n globalThis.SystemError\n].filter(Boolean).map(\n (e) => [e.name, e]\n), mr = new Map(br), yr = [\n {\n property: "name",\n enumerable: !1\n },\n {\n property: "message",\n enumerable: !1\n },\n {\n property: "stack",\n enumerable: !1\n },\n {\n property: "code",\n enumerable: !0\n },\n {\n property: "cause",\n enumerable: !1\n }\n], ue = /* @__PURE__ */ new WeakSet(), _r = (e) => {\n ue.add(e);\n const t = e.toJSON();\n return ue.delete(e), t;\n}, vr = (e) => {\n var t;\n return (t = mr.get(e)) != null ? t : Error;\n}, ht = ({\n from: e,\n seen: t,\n to: r,\n forceEnumerable: n,\n maxDepth: s,\n depth: o,\n useToJSON: a,\n serialize: c\n}) => {\n if (!r)\n if (Array.isArray(e))\n r = [];\n else if (!c && je(e)) {\n const i = vr(e.name);\n r = new i();\n } else\n r = {};\n if (t.push(e), o >= s)\n return r;\n if (a && typeof e.toJSON == "function" && !ue.has(e))\n return _r(e);\n const u = (i) => ht({\n from: i,\n seen: [...t],\n forceEnumerable: n,\n maxDepth: s,\n depth: o,\n useToJSON: a,\n serialize: c\n });\n for (const [i, l] of Object.entries(e)) {\n if (typeof Buffer == "function" && Buffer.isBuffer(l)) {\n r[i] = "[object Buffer]";\n continue;\n }\n if (l !== null && typeof l == "object" && typeof l.pipe == "function") {\n r[i] = "[object Stream]";\n continue;\n }\n if (typeof l != "function") {\n if (!l || typeof l != "object") {\n try {\n r[i] = l;\n } catch (f) {\n }\n continue;\n }\n if (!t.includes(e[i])) {\n o++, r[i] = u(e[i]);\n continue;\n }\n r[i] = "[Circular]";\n }\n }\n for (const { property: i, enumerable: l } of yr)\n typeof e[i] != "undefined" && e[i] !== null && Object.defineProperty(r, i, {\n value: je(e[i]) ? u(e[i]) : e[i],\n enumerable: n ? !0 : l,\n configurable: !0,\n writable: !0\n });\n return r;\n};\nfunction Ar(e, t = {}) {\n const {\n maxDepth: r = Number.POSITIVE_INFINITY,\n useToJSON: n = !0\n } = t;\n return typeof e == "object" && e !== null ? ht({\n from: e,\n seen: [],\n forceEnumerable: !0,\n maxDepth: r,\n depth: 0,\n useToJSON: n,\n serialize: !0\n }) : typeof e == "function" ? `[Function: ${e.name || "anonymous"}]` : e;\n}\nfunction je(e) {\n return !!e && typeof e == "object" && "name" in e && "message" in e && "stack" in e;\n}\nclass v extends Error {\n constructor(t, r = {}) {\n super(t), this.level = "error", this.name = "AppError", this.context = r;\n }\n}\nclass L extends v {\n constructor(t, r) {\n super(t, r), this.name = "HttpError";\n }\n}\nclass gt extends v {\n constructor() {\n super(...arguments), this.level = "fatal";\n }\n}\nclass Dc extends L {\n}\nclass Tr extends v {\n constructor(t) {\n super("Could not find config for key", { key: t }), this.name = "ConfigError";\n }\n}\nclass Er extends gt {\n constructor(t) {\n super("Could not find service for ID", t), this.name = "DecentralizedIDServiceNotFoundError";\n }\n}\nclass Rc extends L {\n}\nclass Lc extends gt {\n constructor(t) {\n super("IMS token fetch failed", {\n originalError: Ar(t)\n }), this.name = "ImsTokenFetchFailureError";\n }\n}\nclass Uc extends v {\n constructor(t) {\n super("Assets not loaded to embed CAI metadata", t), this.name = "IngredientLoadingEmbedError";\n }\n}\nclass kc extends v {\n constructor(t, r) {\n super(t, r), this.name = "EmbedError";\n }\n}\nfunction Cr() {\n return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, (e) => {\n const t = Math.random() * 16 | 0;\n return (e === "x" ? t : t & 3 | 8).toString(16);\n }).toUpperCase();\n}\nfunction Mc(e) {\n const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n let r = 0;\n const n = [];\n let s = 0, o = 0, a;\n if (e = e.replace(/\\s/g, ""), e.length % 4 === 0 && (e = e.replace(/=+$/, "")), e.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(e))\n throw Error("InvalidCharacterError");\n for (; r < e.length; )\n a = t.indexOf(e.charAt(r)), s = s << 6 | a, o += 6, o === 24 && (n.push(String.fromCharCode(s >> 16 & 255)), n.push(String.fromCharCode(s >> 8 & 255)), n.push(String.fromCharCode(s & 255)), o = 0, s = 0), r += 1;\n return o === 12 ? (s = s >> 4, n.push(String.fromCharCode(s & 255))) : o === 18 && (s = s >> 2, n.push(String.fromCharCode(s >> 8 & 255)), n.push(String.fromCharCode(s & 255))), n.join("");\n}\nfunction Fc(e) {\n const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n let r = 0;\n const n = [];\n let s, o, a, c, u, i, l;\n if (/[^\\x00-\\xFF]/.test(e))\n throw Error("InvalidCharacterError");\n for (; r < e.length; )\n s = e.charCodeAt(r++), o = e.charCodeAt(r++), a = e.charCodeAt(r++), c = s >> 2, u = (s & 3) << 4 | o >> 4, i = (o & 15) << 2 | a >> 6, l = a & 63, r === e.length + 2 ? (i = 64, l = 64) : r === e.length + 1 && (l = 64), n.push(t.charAt(c), t.charAt(u), t.charAt(i), t.charAt(l));\n return n.join("");\n}\nconst $r = ["metamask", "solana"];\nfunction _e(e) {\n return $r.some((t) => t === e.type);\n}\nfunction Sr(e) {\n return !_e(e);\n}\nfunction Yc(e) {\n return `${e.substring(0, 6)}...${e.slice(-5)}`;\n}\nfunction ee(r) {\n return y(this, arguments, function* (e, t = {}) {\n var i, l, f;\n let n, s;\n if (typeof t.body == "object" && (t.body = JSON.stringify(t.body)), t.timeout) {\n const d = new AbortController();\n ({ timeout: n } = t), s = setTimeout(() => {\n d.abort();\n }, n), delete t.timeout, t.signal = d.signal;\n }\n t.headers = b({\n Accept: "application/json",\n "Content-Type": "application/json",\n "x-requested-with": "XMLHttpRequest"\n }, t.headers), t.mode = "cors";\n const o = t;\n let a;\n try {\n a = yield fetch(e, o);\n } catch (d) {\n throw d.name === "AbortError" || d.message === "request aborted by user" ? new L("XHR Request timeout", {\n request: {\n url: e,\n method: (i = t == null ? void 0 : t.method) != null ? i : "get",\n body: t == null ? void 0 : t.body,\n headers: t == null ? void 0 : t.headers\n },\n response: {\n status: 0,\n statusText: ""\n }\n }) : d.name === "TypeError" ? new L("XHR Request server not found", {\n request: {\n url: e,\n method: (l = t == null ? void 0 : t.method) != null ? l : "get",\n body: t == null ? void 0 : t.body,\n headers: t == null ? void 0 : t.headers\n },\n response: {\n status: 0,\n statusText: ""\n }\n }) : d;\n }\n const c = a.headers.get("content-type"), u = c === "application/json" ? yield a.json() : a.text();\n if (!a.ok)\n throw new L("XHR Request failure", {\n request: {\n url: e,\n method: (f = o == null ? void 0 : o.method) != null ? f : "get",\n body: o == null ? void 0 : o.body,\n headers: o == null ? void 0 : o.headers\n },\n response: {\n body: u,\n status: a.status,\n statusText: a.statusText,\n headers: a.headers\n }\n });\n return s && clearTimeout(s), u;\n });\n}\nfunction wr(e) {\n return y(this, null, function* () {\n return new Promise((t) => {\n setTimeout(() => t(null), e);\n });\n });\n}\nfunction Ir(r) {\n return y(this, arguments, function* (e, t = {}) {\n let { retryWait: n, tryCount: s, numRetries: o, surpressWarn: a } = t;\n n || (n = 1e3), s || (s = 1), o || (o = 3);\n try {\n return yield e();\n } catch (c) {\n if (s > o)\n throw c;\n return a || console.warn(`Retry Attempt ${s}`, c.message), yield wr(n), Ir(e, C(b({}, t), {\n tryCount: ++s\n }));\n }\n });\n}\nfunction Gc(e) {\n return e = e.replace(/^[A-Z]+:.+\\\\/, ""), e.replace(/.+\\//, "");\n}\nfunction zc(e) {\n return e.replace(/(.+)[\\\\/]{1,1}[^.]+\\..+$/, "$1");\n}\nfunction xr() {\n const e = "https://cai-assertions.adobe.com/icons/";\n return {\n "c2pa.color_adjustments": `${e}color-palette-dark.svg`,\n "c2pa.created": `${e}new-item-dark.svg`,\n "c2pa.cropped": `${e}crop-dark.svg`,\n "c2pa.drawing": `${e}draw-dark.svg`,\n "c2pa.edited": `${e}edit-in-light-dark.svg`,\n "c2pa.filtered": `${e}properties-dark.svg`,\n "c2pa.opened": `${e}import-dark.svg`,\n "c2pa.orientation": `${e}rotate-left-outline-dark.svg`,\n "c2pa.placed": `${e}save-to-light-dark.svg`,\n "c2pa.resized": `${e}resize-dark.svg`,\n "c2pa.unknown": `${e}alert-circle-dark.svg`,\n "com.adobe.3d": `${e}orbit-dark.svg`,\n "com.adobe.animation_video": `${e}video-outline-dark.svg`,\n "com.adobe.combined_assets": `${e}layers-dark.svg`,\n "com.adobe.text": `${e}text-dark.svg`\n };\n}\nfunction pt(e) {\n return e.state === "loaded";\n}\nfunction Bc(e) {\n const t = e.getOSPlatform(), r = e.getOSVersion(), n = e.getUserAgent();\n return {\n osPlatform: t,\n osVersion: r,\n userAgent: n\n };\n}\nfunction qc(e) {\n return y(this, null, function* () {\n const t = yield e.getName(), r = yield e.getVersion(), n = yield e.getLocale(), s = yield e.getBuildNumber(), o = yield e.canLogAnalyticsData(), a = yield e.getEnv();\n return {\n appName: t,\n appVersion: r,\n appLocale: n,\n canLogAnalyticsData: o,\n env: a,\n buildNumber: s\n };\n });\n}\nfunction Hc(e) {\n return y(this, null, function* () {\n return (yield e.isProductionEnv()) ? "prod" : "stage";\n });\n}\nvar re;\n(function(e) {\n e.trainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia", e.algorithmicallyEnhanced = "http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced", e.compositeSynthetic = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic", e.digitalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture", e.compositeWithTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia";\n})(re || (re = {}));\nvar Pe;\n(function(e) {\n e.NotFound = "NotFound", e.Permission = "Permission", e.Offline = "Offline";\n})(Pe || (Pe = {}));\nfunction Or(e, t) {\n return t in e;\n}\nfunction Nr(e) {\n return e.replace(/ /g, "_").replace("/", "").toLowerCase();\n}\nfunction Vc(e) {\n const { action: t, tool: r, instanceId: n, softwareAgent: s } = e, o = _cai_localization__WEBPACK_IMPORTED_MODULE_0__.Localization.getDefaultC2PAActionDescription(t), a = xr();\n let c = a["c2pa.edited"];\n Or(a, t) && (c = a[t]);\n const u = {\n "com.adobe.tool": Nr(r),\n "com.adobe.icon": c,\n description: o\n };\n n && (u.instanceId = n);\n const i = {\n action: t,\n parameters: u\n };\n return s && (i.softwareAgent = s), i;\n}\nfunction Wc(e) {\n return y(this, null, function* () {\n const { ingredients: t, currentTempFolder: r, newTempFolder: n, copyFile: s } = e, o = t.reduce((a, c) => {\n var l;\n const u = [], i = (l = c.thumbnail) == null ? void 0 : l.fileName;\n if (i) {\n const f = `${n}${i}`, d = `${r}${i}`;\n u.push(s(d, f));\n }\n if (c.manifest_data) {\n const f = c.manifest_data.identifier, d = `${n}${f}`, p = `${r}${f}`;\n u.push(s(p, d));\n }\n return [...a, ...u];\n }, []);\n yield Promise.all(o);\n });\n}\nvar jr = Array.isArray;\nconst k = jr;\nvar Pr = typeof global == "object" && global && global.Object === Object && global;\nconst bt = Pr;\nvar Dr = typeof self == "object" && self && self.Object === Object && self, Rr = bt || Dr || Function("return this")();\nconst $ = Rr;\nvar Lr = $.Symbol;\nconst I = Lr;\nvar mt = Object.prototype, Ur = mt.hasOwnProperty, kr = mt.toString, V = I ? I.toStringTag : void 0;\nfunction Mr(e) {\n var t = Ur.call(e, V), r = e[V];\n try {\n e[V] = void 0;\n var n = !0;\n } catch (o) {\n }\n var s = kr.call(e);\n return n && (t ? e[V] = r : delete e[V]), s;\n}\nvar Fr = Object.prototype, Yr = Fr.toString;\nfunction Gr(e) {\n return Yr.call(e);\n}\nvar zr = "[object Null]", Br = "[object Undefined]", De = I ? I.toStringTag : void 0;\nfunction M(e) {\n return e == null ? e === void 0 ? Br : zr : De && De in Object(e) ? Mr(e) : Gr(e);\n}\nfunction F(e) {\n return e != null && typeof e == "object";\n}\nvar qr = "[object Symbol]";\nfunction ve(e) {\n return typeof e == "symbol" || F(e) && M(e) == qr;\n}\nvar Hr = /\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, Vr = /^\\w*$/;\nfunction Wr(e, t) {\n if (k(e))\n return !1;\n var r = typeof e;\n return r == "number" || r == "symbol" || r == "boolean" || e == null || ve(e) ? !0 : Vr.test(e) || !Hr.test(e) || t != null && e in Object(t);\n}\nfunction Z(e) {\n var t = typeof e;\n return e != null && (t == "object" || t == "function");\n}\nvar Kr = "[object AsyncFunction]", Jr = "[object Function]", Xr = "[object GeneratorFunction]", Zr = "[object Proxy]";\nfunction yt(e) {\n if (!Z(e))\n return !1;\n var t = M(e);\n return t == Jr || t == Xr || t == Kr || t == Zr;\n}\nvar Qr = $["__core-js_shared__"];\nconst ie = Qr;\nvar Re = function() {\n var e = /[^.]+$/.exec(ie && ie.keys && ie.keys.IE_PROTO || "");\n return e ? "Symbol(src)_1." + e : "";\n}();\nfunction en(e) {\n return !!Re && Re in e;\n}\nvar tn = Function.prototype, rn = tn.toString;\nfunction P(e) {\n if (e != null) {\n try {\n return rn.call(e);\n } catch (t) {\n }\n try {\n return e + "";\n } catch (t) {\n }\n }\n return "";\n}\nvar nn = /[\\\\^$.*+?()[\\]{}|]/g, sn = /^\\[object .+?Constructor\\]$/, on = Function.prototype, an = Object.prototype, cn = on.toString, un = an.hasOwnProperty, ln = RegExp(\n "^" + cn.call(un).replace(nn, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n);\nfunction fn(e) {\n if (!Z(e) || en(e))\n return !1;\n var t = yt(e) ? ln : sn;\n return t.test(P(e));\n}\nfunction dn(e, t) {\n return e == null ? void 0 : e[t];\n}\nfunction D(e, t) {\n var r = dn(e, t);\n return fn(r) ? r : void 0;\n}\nvar hn = D(Object, "create");\nconst J = hn;\nfunction gn() {\n this.__data__ = J ? J(null) : {}, this.size = 0;\n}\nfunction pn(e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n}\nvar bn = "__lodash_hash_undefined__", mn = Object.prototype, yn = mn.hasOwnProperty;\nfunction _n(e) {\n var t = this.__data__;\n if (J) {\n var r = t[e];\n return r === bn ? void 0 : r;\n }\n return yn.call(t, e) ? t[e] : void 0;\n}\nvar vn = Object.prototype, An = vn.hasOwnProperty;\nfunction Tn(e) {\n var t = this.__data__;\n return J ? t[e] !== void 0 : An.call(t, e);\n}\nvar En = "__lodash_hash_undefined__";\nfunction Cn(e, t) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = J && t === void 0 ? En : t, this;\n}\nfunction j(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nj.prototype.clear = gn;\nj.prototype.delete = pn;\nj.prototype.get = _n;\nj.prototype.has = Tn;\nj.prototype.set = Cn;\nfunction $n() {\n this.__data__ = [], this.size = 0;\n}\nfunction _t(e, t) {\n return e === t || e !== e && t !== t;\n}\nfunction ne(e, t) {\n for (var r = e.length; r--; )\n if (_t(e[r][0], t))\n return r;\n return -1;\n}\nvar Sn = Array.prototype, wn = Sn.splice;\nfunction In(e) {\n var t = this.__data__, r = ne(t, e);\n if (r < 0)\n return !1;\n var n = t.length - 1;\n return r == n ? t.pop() : wn.call(t, r, 1), --this.size, !0;\n}\nfunction xn(e) {\n var t = this.__data__, r = ne(t, e);\n return r < 0 ? void 0 : t[r][1];\n}\nfunction On(e) {\n return ne(this.__data__, e) > -1;\n}\nfunction Nn(e, t) {\n var r = this.__data__, n = ne(r, e);\n return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;\n}\nfunction S(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nS.prototype.clear = $n;\nS.prototype.delete = In;\nS.prototype.get = xn;\nS.prototype.has = On;\nS.prototype.set = Nn;\nvar jn = D($, "Map");\nconst X = jn;\nfunction Pn() {\n this.size = 0, this.__data__ = {\n hash: new j(),\n map: new (X || S)(),\n string: new j()\n };\n}\nfunction Dn(e) {\n var t = typeof e;\n return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;\n}\nfunction se(e, t) {\n var r = e.__data__;\n return Dn(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;\n}\nfunction Rn(e) {\n var t = se(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n}\nfunction Ln(e) {\n return se(this, e).get(e);\n}\nfunction Un(e) {\n return se(this, e).has(e);\n}\nfunction kn(e, t) {\n var r = se(this, e), n = r.size;\n return r.set(e, t), this.size += r.size == n ? 0 : 1, this;\n}\nfunction x(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nx.prototype.clear = Pn;\nx.prototype.delete = Rn;\nx.prototype.get = Ln;\nx.prototype.has = Un;\nx.prototype.set = kn;\nvar Mn = "Expected a function";\nfunction Ae(e, t) {\n if (typeof e != "function" || t != null && typeof t != "function")\n throw new TypeError(Mn);\n var r = function() {\n var n = arguments, s = t ? t.apply(this, n) : n[0], o = r.cache;\n if (o.has(s))\n return o.get(s);\n var a = e.apply(this, n);\n return r.cache = o.set(s, a) || o, a;\n };\n return r.cache = new (Ae.Cache || x)(), r;\n}\nAe.Cache = x;\nvar Fn = 500;\nfunction Yn(e) {\n var t = Ae(e, function(n) {\n return r.size === Fn && r.clear(), n;\n }), r = t.cache;\n return t;\n}\nvar Gn = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, zn = /\\\\(\\\\)?/g, Bn = Yn(function(e) {\n var t = [];\n return e.charCodeAt(0) === 46 && t.push(""), e.replace(Gn, function(r, n, s, o) {\n t.push(s ? o.replace(zn, "$1") : n || r);\n }), t;\n});\nconst qn = Bn;\nfunction Hn(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, s = Array(n); ++r < n; )\n s[r] = t(e[r], r, e);\n return s;\n}\nvar Vn = 1 / 0, Le = I ? I.prototype : void 0, Ue = Le ? Le.toString : void 0;\nfunction vt(e) {\n if (typeof e == "string")\n return e;\n if (k(e))\n return Hn(e, vt) + "";\n if (ve(e))\n return Ue ? Ue.call(e) : "";\n var t = e + "";\n return t == "0" && 1 / e == -Vn ? "-0" : t;\n}\nfunction Q(e) {\n return e == null ? "" : vt(e);\n}\nfunction Wn(e, t) {\n return k(e) ? e : Wr(e, t) ? [e] : qn(Q(e));\n}\nvar Kn = 1 / 0;\nfunction Jn(e) {\n if (typeof e == "string" || ve(e))\n return e;\n var t = e + "";\n return t == "0" && 1 / e == -Kn ? "-0" : t;\n}\nfunction Xn(e, t) {\n t = Wn(t, e);\n for (var r = 0, n = t.length; e != null && r < n; )\n e = e[Jn(t[r++])];\n return r && r == n ? e : void 0;\n}\nfunction Zn(e, t, r) {\n var n = e == null ? void 0 : Xn(e, t);\n return n === void 0 ? r : n;\n}\nclass Kc {\n static initialize(t) {\n return y(this, null, function* () {\n return this.isProd = t, this.setConfig(), this;\n });\n }\n static setConfig() {\n throw new v("Please implement setConfig in child class");\n }\n static getEnv() {\n return this.isProd ? "prod" : "stage";\n }\n static get(t, r = !0) {\n if (!this.config)\n throw new v("Config has not been initialized");\n const n = Zn(this.config, t);\n if (typeof n == "undefined" && r)\n throw new Tr(t);\n return n;\n }\n}\nclass N {\n constructor({ token: t, host: r, apiKey: n }) {\n this.token = t, this.host = r, this.apiKey = n;\n }\n static log(t) {\n if (!this.instance) {\n console.error("Logger not initialized yet for message", t);\n return;\n }\n return this.instance.log(t);\n }\n static updateToken(t) {\n this.instance.token = t;\n }\n static initialize(t) {\n return N.instance = new N(t), N.instance;\n }\n log(t) {\n if (!this.token) {\n console.error("Attempting to log with no token", { body: t });\n return;\n }\n const r = {\n method: "POST",\n headers: {\n "Content-Type": "application/json",\n "x-api-key": this.apiKey,\n authorization: `Bearer ${this.token}`\n },\n body: t\n };\n return ee(`https://${this.host}/api/log`, r);\n }\n}\nfunction Qn(e, t, r) {\n var n = -1, s = e.length;\n t < 0 && (t = -t > s ? 0 : s + t), r = r > s ? s : r, r < 0 && (r += s), s = t > r ? 0 : r - t >>> 0, t >>>= 0;\n for (var o = Array(s); ++n < s; )\n o[n] = e[n + t];\n return o;\n}\nfunction es(e, t, r) {\n var n = e.length;\n return r = r === void 0 ? n : r, !t && r >= n ? e : Qn(e, t, r);\n}\nvar ts = "\\\\ud800-\\\\udfff", rs = "\\\\u0300-\\\\u036f", ns = "\\\\ufe20-\\\\ufe2f", ss = "\\\\u20d0-\\\\u20ff", os = rs + ns + ss, as = "\\\\ufe0e\\\\ufe0f", is = "\\\\u200d", cs = RegExp("[" + is + ts + os + as + "]");\nfunction At(e) {\n return cs.test(e);\n}\nfunction us(e) {\n return e.split("");\n}\nvar Tt = "\\\\ud800-\\\\udfff", ls = "\\\\u0300-\\\\u036f", fs = "\\\\ufe20-\\\\ufe2f", ds = "\\\\u20d0-\\\\u20ff", hs = ls + fs + ds, gs = "\\\\ufe0e\\\\ufe0f", ps = "[" + Tt + "]", le = "[" + hs + "]", fe = "\\\\ud83c[\\\\udffb-\\\\udfff]", bs = "(?:" + le + "|" + fe + ")", Et = "[^" + Tt + "]", Ct = "(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}", $t = "[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]", ms = "\\\\u200d", St = bs + "?", wt = "[" + gs + "]?", ys = "(?:" + ms + "(?:" + [Et, Ct, $t].join("|") + ")" + wt + St + ")*", _s = wt + St + ys, vs = "(?:" + [Et + le + "?", le, Ct, $t, ps].join("|") + ")", As = RegExp(fe + "(?=" + fe + ")|" + vs + _s, "g");\nfunction Ts(e) {\n return e.match(As) || [];\n}\nfunction Es(e) {\n return At(e) ? Ts(e) : us(e);\n}\nfunction Cs(e) {\n return function(t) {\n t = Q(t);\n var r = At(t) ? Es(t) : void 0, n = r ? r[0] : t.charAt(0), s = r ? es(r, 1).join("") : t.slice(1);\n return n[e]() + s;\n };\n}\nvar $s = Cs("toUpperCase");\nconst Ss = $s;\nfunction ws(e) {\n return Ss(Q(e).toLowerCase());\n}\nfunction Is(e, t, r, n) {\n var s = -1, o = e == null ? 0 : e.length;\n for (n && o && (r = e[++s]); ++s < o; )\n r = t(r, e[s], s, e);\n return r;\n}\nfunction xs(e) {\n return function(t) {\n return e == null ? void 0 : e[t];\n };\n}\nvar Os = {\n // Latin-1 Supplement block.\n À: "A",\n Á: "A",\n Â: "A",\n Ã: "A",\n Ä: "A",\n Å: "A",\n à: "a",\n á: "a",\n â: "a",\n ã: "a",\n ä: "a",\n å: "a",\n Ç: "C",\n ç: "c",\n Ð: "D",\n ð: "d",\n È: "E",\n É: "E",\n Ê: "E",\n Ë: "E",\n è: "e",\n é: "e",\n ê: "e",\n ë: "e",\n Ì: "I",\n Í: "I",\n Î: "I",\n Ï: "I",\n ì: "i",\n í: "i",\n î: "i",\n ï: "i",\n Ñ: "N",\n ñ: "n",\n Ò: "O",\n Ó: "O",\n Ô: "O",\n Õ: "O",\n Ö: "O",\n Ø: "O",\n ò: "o",\n ó: "o",\n ô: "o",\n õ: "o",\n ö: "o",\n ø: "o",\n Ù: "U",\n Ú: "U",\n Û: "U",\n Ü: "U",\n ù: "u",\n ú: "u",\n û: "u",\n ü: "u",\n Ý: "Y",\n ý: "y",\n ÿ: "y",\n Æ: "Ae",\n æ: "ae",\n Þ: "Th",\n þ: "th",\n ß: "ss",\n // Latin Extended-A block.\n Ā: "A",\n Ă: "A",\n Ą: "A",\n ā: "a",\n ă: "a",\n ą: "a",\n Ć: "C",\n Ĉ: "C",\n Ċ: "C",\n Č: "C",\n ć: "c",\n ĉ: "c",\n ċ: "c",\n č: "c",\n Ď: "D",\n Đ: "D",\n ď: "d",\n đ: "d",\n Ē: "E",\n Ĕ: "E",\n Ė: "E",\n Ę: "E",\n Ě: "E",\n ē: "e",\n ĕ: "e",\n ė: "e",\n ę: "e",\n ě: "e",\n Ĝ: "G",\n Ğ: "G",\n Ġ: "G",\n Ģ: "G",\n ĝ: "g",\n ğ: "g",\n ġ: "g",\n ģ: "g",\n Ĥ: "H",\n Ħ: "H",\n ĥ: "h",\n ħ: "h",\n Ĩ: "I",\n Ī: "I",\n Ĭ: "I",\n Į: "I",\n İ: "I",\n ĩ: "i",\n ī: "i",\n ĭ: "i",\n į: "i",\n ı: "i",\n Ĵ: "J",\n ĵ: "j",\n Ķ: "K",\n ķ: "k",\n ĸ: "k",\n Ĺ: "L",\n Ļ: "L",\n Ľ: "L",\n Ŀ: "L",\n Ł: "L",\n ĺ: "l",\n ļ: "l",\n ľ: "l",\n ŀ: "l",\n ł: "l",\n Ń: "N",\n Ņ: "N",\n Ň: "N",\n Ŋ: "N",\n ń: "n",\n ņ: "n",\n ň: "n",\n ŋ: "n",\n Ō: "O",\n Ŏ: "O",\n Ő: "O",\n ō: "o",\n ŏ: "o",\n ő: "o",\n Ŕ: "R",\n Ŗ: "R",\n Ř: "R",\n ŕ: "r",\n ŗ: "r",\n ř: "r",\n Ś: "S",\n Ŝ: "S",\n Ş: "S",\n Š: "S",\n ś: "s",\n ŝ: "s",\n ş: "s",\n š: "s",\n Ţ: "T",\n Ť: "T",\n Ŧ: "T",\n ţ: "t",\n ť: "t",\n ŧ: "t",\n Ũ: "U",\n Ū: "U",\n Ŭ: "U",\n Ů: "U",\n Ű: "U",\n Ų: "U",\n ũ: "u",\n ū: "u",\n ŭ: "u",\n ů: "u",\n ű: "u",\n ų: "u",\n Ŵ: "W",\n ŵ: "w",\n Ŷ: "Y",\n ŷ: "y",\n Ÿ: "Y",\n Ź: "Z",\n Ż: "Z",\n Ž: "Z",\n ź: "z",\n ż: "z",\n ž: "z",\n IJ: "IJ",\n ij: "ij",\n Œ: "Oe",\n œ: "oe",\n ʼn: "\'n",\n ſ: "s"\n}, Ns = xs(Os);\nconst js = Ns;\nvar Ps = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g, Ds = "\\\\u0300-\\\\u036f", Rs = "\\\\ufe20-\\\\ufe2f", Ls = "\\\\u20d0-\\\\u20ff", Us = Ds + Rs + Ls, ks = "[" + Us + "]", Ms = RegExp(ks, "g");\nfunction Fs(e) {\n return e = Q(e), e && e.replace(Ps, js).replace(Ms, "");\n}\nvar Ys = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\nfunction Gs(e) {\n return e.match(Ys) || [];\n}\nvar zs = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\nfunction Bs(e) {\n return zs.test(e);\n}\nvar It = "\\\\ud800-\\\\udfff", qs = "\\\\u0300-\\\\u036f", Hs = "\\\\ufe20-\\\\ufe2f", Vs = "\\\\u20d0-\\\\u20ff", Ws = qs + Hs + Vs, xt = "\\\\u2700-\\\\u27bf", Ot = "a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff", Ks = "\\\\xac\\\\xb1\\\\xd7\\\\xf7", Js = "\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf", Xs = "\\\\u2000-\\\\u206f", Zs = " \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000", Nt = "A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde", Qs = "\\\\ufe0e\\\\ufe0f", jt = Ks + Js + Xs + Zs, Pt = "[\'’]", ke = "[" + jt + "]", eo = "[" + Ws + "]", Dt = "\\\\d+", to = "[" + xt + "]", Rt = "[" + Ot + "]", Lt = "[^" + It + jt + Dt + xt + Ot + Nt + "]", ro = "\\\\ud83c[\\\\udffb-\\\\udfff]", no = "(?:" + eo + "|" + ro + ")", so = "[^" + It + "]", Ut = "(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}", kt = "[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]", R = "[" + Nt + "]", oo = "\\\\u200d", Me = "(?:" + Rt + "|" + Lt + ")", ao = "(?:" + R + "|" + Lt + ")", Fe = "(?:" + Pt + "(?:d|ll|m|re|s|t|ve))?", Ye = "(?:" + Pt + "(?:D|LL|M|RE|S|T|VE))?", Mt = no + "?", Ft = "[" + Qs + "]?", io = "(?:" + oo + "(?:" + [so, Ut, kt].join("|") + ")" + Ft + Mt + ")*", co = "\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])", uo = "\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])", lo = Ft + Mt + io, fo = "(?:" + [to, Ut, kt].join("|") + ")" + lo, ho = RegExp([\n R + "?" + Rt + "+" + Fe + "(?=" + [ke, R, "$"].join("|") + ")",\n ao + "+" + Ye + "(?=" + [ke, R + Me, "$"].join("|") + ")",\n R + "?" + Me + "+" + Fe,\n R + "+" + Ye,\n uo,\n co,\n Dt,\n fo\n].join("|"), "g");\nfunction go(e) {\n return e.match(ho) || [];\n}\nfunction po(e, t, r) {\n return e = Q(e), t = r ? void 0 : t, t === void 0 ? Bs(e) ? go(e) : Gs(e) : e.match(t) || [];\n}\nvar bo = "[\'’]", mo = RegExp(bo, "g");\nfunction yo(e) {\n return function(t) {\n return Is(po(Fs(t).replace(mo, "")), e, "");\n };\n}\nvar _o = yo(function(e, t, r) {\n return t = t.toLowerCase(), e + (r ? ws(t) : t);\n});\nconst vo = _o;\nfunction Ao() {\n this.__data__ = new S(), this.size = 0;\n}\nfunction To(e) {\n var t = this.__data__, r = t.delete(e);\n return this.size = t.size, r;\n}\nfunction Eo(e) {\n return this.__data__.get(e);\n}\nfunction Co(e) {\n return this.__data__.has(e);\n}\nvar $o = 200;\nfunction So(e, t) {\n var r = this.__data__;\n if (r instanceof S) {\n var n = r.__data__;\n if (!X || n.length < $o - 1)\n return n.push([e, t]), this.size = ++r.size, this;\n r = this.__data__ = new x(n);\n }\n return r.set(e, t), this.size = r.size, this;\n}\nfunction Y(e) {\n var t = this.__data__ = new S(e);\n this.size = t.size;\n}\nY.prototype.clear = Ao;\nY.prototype.delete = To;\nY.prototype.get = Eo;\nY.prototype.has = Co;\nY.prototype.set = So;\nfunction wo(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length; ++r < n && t(e[r], r, e) !== !1; )\n ;\n return e;\n}\nvar Io = function() {\n try {\n var e = D(Object, "defineProperty");\n return e({}, "", {}), e;\n } catch (t) {\n }\n}();\nconst Ge = Io;\nfunction Yt(e, t, r) {\n t == "__proto__" && Ge ? Ge(e, t, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[t] = r;\n}\nvar xo = Object.prototype, Oo = xo.hasOwnProperty;\nfunction Gt(e, t, r) {\n var n = e[t];\n (!(Oo.call(e, t) && _t(n, r)) || r === void 0 && !(t in e)) && Yt(e, t, r);\n}\nfunction oe(e, t, r, n) {\n var s = !r;\n r || (r = {});\n for (var o = -1, a = t.length; ++o < a; ) {\n var c = t[o], u = n ? n(r[c], e[c], c, r, e) : void 0;\n u === void 0 && (u = e[c]), s ? Yt(r, c, u) : Gt(r, c, u);\n }\n return r;\n}\nfunction No(e, t) {\n for (var r = -1, n = Array(e); ++r < e; )\n n[r] = t(r);\n return n;\n}\nvar jo = "[object Arguments]";\nfunction ze(e) {\n return F(e) && M(e) == jo;\n}\nvar zt = Object.prototype, Po = zt.hasOwnProperty, Do = zt.propertyIsEnumerable, Ro = ze(function() {\n return arguments;\n}()) ? ze : function(e) {\n return F(e) && Po.call(e, "callee") && !Do.call(e, "callee");\n};\nconst Lo = Ro;\nfunction Uo() {\n return !1;\n}\nvar Bt = typeof exports == "object" && exports && !exports.nodeType && exports, Be = Bt && typeof module == "object" && module && !module.nodeType && module, ko = Be && Be.exports === Bt, qe = ko ? $.Buffer : void 0, Mo = qe ? qe.isBuffer : void 0, Fo = Mo || Uo;\nconst qt = Fo;\nvar Yo = 9007199254740991, Go = /^(?:0|[1-9]\\d*)$/;\nfunction zo(e, t) {\n var r = typeof e;\n return t = t == null ? Yo : t, !!t && (r == "number" || r != "symbol" && Go.test(e)) && e > -1 && e % 1 == 0 && e < t;\n}\nvar Bo = 9007199254740991;\nfunction Ht(e) {\n return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Bo;\n}\nvar qo = "[object Arguments]", Ho = "[object Array]", Vo = "[object Boolean]", Wo = "[object Date]", Ko = "[object Error]", Jo = "[object Function]", Xo = "[object Map]", Zo = "[object Number]", Qo = "[object Object]", ea = "[object RegExp]", ta = "[object Set]", ra = "[object String]", na = "[object WeakMap]", sa = "[object ArrayBuffer]", oa = "[object DataView]", aa = "[object Float32Array]", ia = "[object Float64Array]", ca = "[object Int8Array]", ua = "[object Int16Array]", la = "[object Int32Array]", fa = "[object Uint8Array]", da = "[object Uint8ClampedArray]", ha = "[object Uint16Array]", ga = "[object Uint32Array]", g = {};\ng[aa] = g[ia] = g[ca] = g[ua] = g[la] = g[fa] = g[da] = g[ha] = g[ga] = !0;\ng[qo] = g[Ho] = g[sa] = g[Vo] = g[oa] = g[Wo] = g[Ko] = g[Jo] = g[Xo] = g[Zo] = g[Qo] = g[ea] = g[ta] = g[ra] = g[na] = !1;\nfunction pa(e) {\n return F(e) && Ht(e.length) && !!g[M(e)];\n}\nfunction Te(e) {\n return function(t) {\n return e(t);\n };\n}\nvar Vt = typeof exports == "object" && exports && !exports.nodeType && exports, K = Vt && typeof module == "object" && module && !module.nodeType && module, ba = K && K.exports === Vt, ce = ba && bt.process, ma = function() {\n try {\n var e = K && K.require && K.require("util").types;\n return e || ce && ce.binding && ce.binding("util");\n } catch (t) {\n }\n}();\nconst U = ma;\nvar He = U && U.isTypedArray, ya = He ? Te(He) : pa;\nconst _a = ya;\nvar va = Object.prototype, Aa = va.hasOwnProperty;\nfunction Wt(e, t) {\n var r = k(e), n = !r && Lo(e), s = !r && !n && qt(e), o = !r && !n && !s && _a(e), a = r || n || s || o, c = a ? No(e.length, String) : [], u = c.length;\n for (var i in e)\n (t || Aa.call(e, i)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.\n (i == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n s && (i == "offset" || i == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n o && (i == "buffer" || i == "byteLength" || i == "byteOffset") || // Skip index properties.\n zo(i, u))) && c.push(i);\n return c;\n}\nvar Ta = Object.prototype;\nfunction Ee(e) {\n var t = e && e.constructor, r = typeof t == "function" && t.prototype || Ta;\n return e === r;\n}\nfunction Kt(e, t) {\n return function(r) {\n return e(t(r));\n };\n}\nvar Ea = Kt(Object.keys, Object);\nconst Ca = Ea;\nvar $a = Object.prototype, Sa = $a.hasOwnProperty;\nfunction wa(e) {\n if (!Ee(e))\n return Ca(e);\n var t = [];\n for (var r in Object(e))\n Sa.call(e, r) && r != "constructor" && t.push(r);\n return t;\n}\nfunction Jt(e) {\n return e != null && Ht(e.length) && !yt(e);\n}\nfunction Ce(e) {\n return Jt(e) ? Wt(e) : wa(e);\n}\nfunction Ia(e, t) {\n return e && oe(t, Ce(t), e);\n}\nfunction xa(e) {\n var t = [];\n if (e != null)\n for (var r in Object(e))\n t.push(r);\n return t;\n}\nvar Oa = Object.prototype, Na = Oa.hasOwnProperty;\nfunction ja(e) {\n if (!Z(e))\n return xa(e);\n var t = Ee(e), r = [];\n for (var n in e)\n n == "constructor" && (t || !Na.call(e, n)) || r.push(n);\n return r;\n}\nfunction $e(e) {\n return Jt(e) ? Wt(e, !0) : ja(e);\n}\nfunction Pa(e, t) {\n return e && oe(t, $e(t), e);\n}\nvar Xt = typeof exports == "object" && exports && !exports.nodeType && exports, Ve = Xt && typeof module == "object" && module && !module.nodeType && module, Da = Ve && Ve.exports === Xt, We = Da ? $.Buffer : void 0, Ke = We ? We.allocUnsafe : void 0;\nfunction Ra(e, t) {\n if (t)\n return e.slice();\n var r = e.length, n = Ke ? Ke(r) : new e.constructor(r);\n return e.copy(n), n;\n}\nfunction La(e, t) {\n var r = -1, n = e.length;\n for (t || (t = Array(n)); ++r < n; )\n t[r] = e[r];\n return t;\n}\nfunction Ua(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, s = 0, o = []; ++r < n; ) {\n var a = e[r];\n t(a, r, e) && (o[s++] = a);\n }\n return o;\n}\nfunction Zt() {\n return [];\n}\nvar ka = Object.prototype, Ma = ka.propertyIsEnumerable, Je = Object.getOwnPropertySymbols, Fa = Je ? function(e) {\n return e == null ? [] : (e = Object(e), Ua(Je(e), function(t) {\n return Ma.call(e, t);\n }));\n} : Zt;\nconst Se = Fa;\nfunction Ya(e, t) {\n return oe(e, Se(e), t);\n}\nfunction Qt(e, t) {\n for (var r = -1, n = t.length, s = e.length; ++r < n; )\n e[s + r] = t[r];\n return e;\n}\nvar Ga = Kt(Object.getPrototypeOf, Object);\nconst er = Ga;\nvar za = Object.getOwnPropertySymbols, Ba = za ? function(e) {\n for (var t = []; e; )\n Qt(t, Se(e)), e = er(e);\n return t;\n} : Zt;\nconst tr = Ba;\nfunction qa(e, t) {\n return oe(e, tr(e), t);\n}\nfunction rr(e, t, r) {\n var n = t(e);\n return k(e) ? n : Qt(n, r(e));\n}\nfunction Ha(e) {\n return rr(e, Ce, Se);\n}\nfunction Va(e) {\n return rr(e, $e, tr);\n}\nvar Wa = D($, "DataView");\nconst de = Wa;\nvar Ka = D($, "Promise");\nconst he = Ka;\nvar Ja = D($, "Set");\nconst ge = Ja;\nvar Xa = D($, "WeakMap");\nconst pe = Xa;\nvar Xe = "[object Map]", Za = "[object Object]", Ze = "[object Promise]", Qe = "[object Set]", et = "[object WeakMap]", tt = "[object DataView]", Qa = P(de), ei = P(X), ti = P(he), ri = P(ge), ni = P(pe), O = M;\n(de && O(new de(new ArrayBuffer(1))) != tt || X && O(new X()) != Xe || he && O(he.resolve()) != Ze || ge && O(new ge()) != Qe || pe && O(new pe()) != et) && (O = function(e) {\n var t = M(e), r = t == Za ? e.constructor : void 0, n = r ? P(r) : "";\n if (n)\n switch (n) {\n case Qa:\n return tt;\n case ei:\n return Xe;\n case ti:\n return Ze;\n case ri:\n return Qe;\n case ni:\n return et;\n }\n return t;\n});\nconst we = O;\nvar si = Object.prototype, oi = si.hasOwnProperty;\nfunction ai(e) {\n var t = e.length, r = new e.constructor(t);\n return t && typeof e[0] == "string" && oi.call(e, "index") && (r.index = e.index, r.input = e.input), r;\n}\nvar ii = $.Uint8Array;\nconst rt = ii;\nfunction Ie(e) {\n var t = new e.constructor(e.byteLength);\n return new rt(t).set(new rt(e)), t;\n}\nfunction ci(e, t) {\n var r = t ? Ie(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.byteLength);\n}\nvar ui = /\\w*$/;\nfunction li(e) {\n var t = new e.constructor(e.source, ui.exec(e));\n return t.lastIndex = e.lastIndex, t;\n}\nvar nt = I ? I.prototype : void 0, st = nt ? nt.valueOf : void 0;\nfunction fi(e) {\n return st ? Object(st.call(e)) : {};\n}\nfunction di(e, t) {\n var r = t ? Ie(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.length);\n}\nvar hi = "[object Boolean]", gi = "[object Date]", pi = "[object Map]", bi = "[object Number]", mi = "[object RegExp]", yi = "[object Set]", _i = "[object String]", vi = "[object Symbol]", Ai = "[object ArrayBuffer]", Ti = "[object DataView]", Ei = "[object Float32Array]", Ci = "[object Float64Array]", $i = "[object Int8Array]", Si = "[object Int16Array]", wi = "[object Int32Array]", Ii = "[object Uint8Array]", xi = "[object Uint8ClampedArray]", Oi = "[object Uint16Array]", Ni = "[object Uint32Array]";\nfunction ji(e, t, r) {\n var n = e.constructor;\n switch (t) {\n case Ai:\n return Ie(e);\n case hi:\n case gi:\n return new n(+e);\n case Ti:\n return ci(e, r);\n case Ei:\n case Ci:\n case $i:\n case Si:\n case wi:\n case Ii:\n case xi:\n case Oi:\n case Ni:\n return di(e, r);\n case pi:\n return new n();\n case bi:\n case _i:\n return new n(e);\n case mi:\n return li(e);\n case yi:\n return new n();\n case vi:\n return fi(e);\n }\n}\nvar ot = Object.create, Pi = function() {\n function e() {\n }\n return function(t) {\n if (!Z(t))\n return {};\n if (ot)\n return ot(t);\n e.prototype = t;\n var r = new e();\n return e.prototype = void 0, r;\n };\n}();\nconst Di = Pi;\nfunction Ri(e) {\n return typeof e.constructor == "function" && !Ee(e) ? Di(er(e)) : {};\n}\nvar Li = "[object Map]";\nfunction Ui(e) {\n return F(e) && we(e) == Li;\n}\nvar at = U && U.isMap, ki = at ? Te(at) : Ui;\nconst Mi = ki;\nvar Fi = "[object Set]";\nfunction Yi(e) {\n return F(e) && we(e) == Fi;\n}\nvar it = U && U.isSet, Gi = it ? Te(it) : Yi;\nconst zi = Gi;\nvar Bi = 1, qi = 2, Hi = 4, nr = "[object Arguments]", Vi = "[object Array]", Wi = "[object Boolean]", Ki = "[object Date]", Ji = "[object Error]", sr = "[object Function]", Xi = "[object GeneratorFunction]", Zi = "[object Map]", Qi = "[object Number]", or = "[object Object]", ec = "[object RegExp]", tc = "[object Set]", rc = "[object String]", nc = "[object Symbol]", sc = "[object WeakMap]", oc = "[object ArrayBuffer]", ac = "[object DataView]", ic = "[object Float32Array]", cc = "[object Float64Array]", uc = "[object Int8Array]", lc = "[object Int16Array]", fc = "[object Int32Array]", dc = "[object Uint8Array]", hc = "[object Uint8ClampedArray]", gc = "[object Uint16Array]", pc = "[object Uint32Array]", h = {};\nh[nr] = h[Vi] = h[oc] = h[ac] = h[Wi] = h[Ki] = h[ic] = h[cc] = h[uc] = h[lc] = h[fc] = h[Zi] = h[Qi] = h[or] = h[ec] = h[tc] = h[rc] = h[nc] = h[dc] = h[hc] = h[gc] = h[pc] = !0;\nh[Ji] = h[sr] = h[sc] = !1;\nfunction te(e, t, r, n, s, o) {\n var a, c = t & Bi, u = t & qi, i = t & Hi;\n if (r && (a = s ? r(e, n, s, o) : r(e)), a !== void 0)\n return a;\n if (!Z(e))\n return e;\n var l = k(e);\n if (l) {\n if (a = ai(e), !c)\n return La(e, a);\n } else {\n var f = we(e), d = f == sr || f == Xi;\n if (qt(e))\n return Ra(e, c);\n if (f == or || f == nr || d && !s) {\n if (a = u || d ? {} : Ri(e), !c)\n return u ? qa(e, Pa(a, e)) : Ya(e, Ia(a, e));\n } else {\n if (!h[f])\n return s ? e : {};\n a = ji(e, f, c);\n }\n }\n o || (o = new Y());\n var p = o.get(e);\n if (p)\n return p;\n o.set(e, a), zi(e) ? e.forEach(function(T) {\n a.add(te(T, t, r, T, e, o));\n }) : Mi(e) && e.forEach(function(T, _) {\n a.set(_, te(T, t, r, _, e, o));\n });\n var m = i ? u ? Va : Ha : u ? $e : Ce, A = l ? void 0 : m(e);\n return wo(A || e, function(T, _) {\n A && (_ = T, T = e[_]), Gt(a, _, te(T, t, r, _, e, o));\n }), a;\n}\nvar bc = 1, mc = 4;\nfunction ae(e) {\n return te(e, bc | mc);\n}\nconst yc = [\n "behance",\n "instagram",\n "linkedin",\n "metamask",\n "solana",\n "twitter"\n];\nfunction ar(e) {\n return Object.keys(e).forEach((t) => {\n typeof e[t] == "object" && !Array.isArray(e[t]) && (e[t] = ar(e[t]));\n const r = vo(t);\n r !== t && (e[r] = e[t], delete e[t]);\n }), e;\n}\nclass Jc {\n constructor({ host: t, apiKey: r, token: n, userId: s }) {\n this.host = t, this.apiKey = r, this.token = n, this.userId = s;\n }\n static initialize(t) {\n return this.instance = new this(t), this.instance;\n }\n static getConnectedAccounts() {\n return this.instance.getConnectedAccounts();\n }\n static getIdentity() {\n return this.instance.getIdentity();\n }\n static updateToken(t) {\n this.instance.token = t;\n }\n static updateUserId(t) {\n this.instance.userId = t;\n }\n getConnectedAccounts() {\n return y(this, null, function* () {\n return {\n accounts: (yield ee(`https://${this.host}/profiles/${this.userId}/connected_accounts/v2`, {\n headers: this.getHeaders()\n })).accounts.filter(({ account_type: r }) => yc.includes(r))\n };\n });\n }\n getIdentity() {\n return y(this, null, function* () {\n if (this.identityData)\n return this.identityData;\n const t = yield ee(`https://${this.host}/identities/v1`, {\n headers: this.getHeaders()\n }), { id: r, services: n } = t, s = n.find((l) => r === l.id.replace(/\\?.+/, ""));\n if (!s)\n throw new Er({\n id: r,\n services: n\n });\n const o = `${s.service_endpoint}/${s.id}`, a = yield ee(o, {\n headers: this.getHeaders()\n }), c = ae(a), u = {\n proof_type: "type",\n proof_value: "jws"\n };\n Object.keys(u).forEach((l) => {\n const f = u[l];\n c.proof[f] = c.proof[l], delete c.proof[l];\n }), delete c.id;\n const i = ar(c);\n return i["@context"] = i.context, delete i.context, this.identityData = {\n uri: o,\n claimData: i\n }, this.identityData;\n });\n }\n getHeaders() {\n return {\n "x-api-key": this.apiKey,\n authorization: `Bearer ${this.token}`\n };\n }\n}\nclass be {\n constructor(t) {\n this.subscriptions = [], this.value = t;\n }\n getValue() {\n return this.value;\n }\n update(t) {\n this.value = t;\n const r = this.subscriptions.map((n) => n(t));\n return Promise.all(r);\n }\n subscribe(t) {\n this.subscriptions.push(t);\n }\n unsubscribe(t) {\n const r = this.subscriptions.indexOf(t);\n if (r === -1)\n throw new v("Unable to find sub to unsubscribe", { sub: t });\n this.subscriptions.splice(r);\n }\n}\nconst _c = 1e4;\nfunction vc(e) {\n const [, t] = e.split(".");\n return JSON.parse(atob(t)).user_id;\n}\nclass Xc {\n constructor({ identity: t }) {\n this.identity = t, this.token$ = new be(null), this.userId$ = new be(null), this.token$.subscribe((r) => y(this, null, function* () {\n yield this.updateUserIdFromToken(r);\n }));\n }\n static getToken() {\n return this.getInstance().token$.getValue();\n }\n static getUserId() {\n return this.getInstance().userId$.getValue();\n }\n static getTokenSubject() {\n return this.getInstance().token$;\n }\n static getUserIdSubject() {\n return this.getInstance().userId$;\n }\n static getCountryCode() {\n return this.getInstance().getCountryCode();\n }\n static getAccountType() {\n return this.getInstance().getAccountType();\n }\n // for testing\n static destroy() {\n this.instance && (clearTimeout(this.instance.expiryTimer), clearTimeout(this.instance.retryTimeout)), this.instance = null;\n }\n static getInstance() {\n if (!this.instance)\n throw new v("You must initialize CAIUser before getting values");\n return this.instance;\n }\n /**\n * Will not resolve until a token exists\n */\n static initialize(t) {\n return y(this, null, function* () {\n return this.instance = new this(t), console.info("TOKEN: Initial fetch fired"), this.getInstance().updateToken();\n });\n }\n static updateToken() {\n return y(this, null, function* () {\n return this.getInstance().updateToken();\n });\n }\n updateToken() {\n return y(this, null, function* () {\n var s;\n let t;\n try {\n t = yield this.getAccessToken();\n } catch (o) {\n return this.retryTimeout = setTimeout(() => y(this, null, function* () {\n console.warn("TOKEN: Polling for token."), yield this.updateToken();\n }), 5e3), t;\n }\n const r = (s = t == null ? void 0 : t.split(".")) == null ? void 0 : s[1], n = r && JSON.parse(atob(r));\n if (t && !(n != null && n.expires_in))\n throw new v("Unable to determine token expiry", { data: n });\n return this.expiryTimer && clearTimeout(this.expiryTimer), this.retryTimeout && (clearTimeout(this.retryTimeout), this.retryTimeout = void 0), this.expiryTimer = setTimeout(() => y(this, null, function* () {\n console.info("TOKEN: Expired token fired"), yield this.updateToken();\n }), (n == null ? void 0 : n.expires_in) - _c), this.token$.update(t);\n });\n }\n updateUserIdFromToken(t) {\n if (!t)\n return "";\n const r = vc(t);\n return this.userId$.update(r);\n }\n getAccessToken() {\n throw new v("Please define getAccessToken in child class");\n }\n getAccountType() {\n throw new v("Please define getAccountType in child class");\n }\n getCountryCode() {\n throw new v("Please define getCountryCode in child class");\n }\n /**\n * The current IMS server configuration based on\n * whether we are on stage or production\n */\n config() {\n const { clientId: t, clientSecret: r, clientScope: n } = this.identity;\n return {\n clientId: t,\n clientSecret: r,\n clientScope: n,\n forceRefresh: !0\n };\n }\n}\nconst Ac = "Adobe";\nclass Zc {\n static build(t) {\n var xe;\n const { documentID: r, currentState: n, App: s, System: o, forSave: a, genTechInfo: c, extraActions: u } = t;\n if (c != null && c.isMandatoryClaim)\n return this.buildGenAIClaim(t);\n const i = n.workingStores[r];\n if (!i)\n throw new v("Unable to find working store", n);\n const { assertionData: l, settings: f, genAIModelsUsed: d } = i, p = (xe = n.user) == null ? void 0 : xe.identity, m = [];\n if (a || m.push(this.buildCreativeWorkAssertionFromStore(n, r)), f.edits || a) {\n const E = {\n actions: [...l.actions],\n metadata: l.metadata\n };\n if (u && E.actions.push(...u), !a && d && d.length > 0) {\n let H = [];\n d.forEach((ur) => {\n H.push({\n action: "c2pa.edited",\n digitalSourceType: re.compositeWithTrainedAlgorithmicMedia,\n softwareAgent: ur\n });\n }), H.length > 0 && E.actions.push(...H);\n }\n m.push({\n label: "c2pa.actions",\n data: E\n });\n }\n if (!f.edits && !a && d && d.length > 0 && m.push(...this.getGenAIAssertion(d)), !a) {\n const E = Object.values(i.settings.accounts).filter(_e).filter((H) => H.included);\n E.length && m.push(this.buildCryptoAssertion(E));\n }\n let A = i.ingredients.filter(pt);\n a || (A = ae(A).map((E) => (E.document_id || (E.document_id = E.instance_id), E)));\n const T = {\n name: s.getName(),\n platform: o.getOSPlatform(),\n buildNumber: s.getBuildNumber(),\n version: s.getVersion()\n }, _ = this.buildClaimGenerator(T), B = this.buildClaimGeneratorInfo(T), q = {\n vendor: "adobe",\n claim_generator: _,\n claim_generator_info: B,\n ingredients: A,\n assertions: m\n };\n return f.identity && (p != null && p.claimData) && !a && (q.credentials = [p.claimData]), q;\n }\n static buildGenAIClaim(t) {\n const { App: r, System: n, genTechInfo: s } = t;\n let o = [];\n const a = (s == null ? void 0 : s.genTechModelsUsed) || [];\n a.length > 0 && o.push(...this.getGenAIAssertion(a));\n const c = {\n name: r.getName(),\n platform: n.getOSPlatform(),\n buildNumber: r.getBuildNumber(),\n version: r.getVersion()\n }, u = this.buildClaimGenerator(c), i = this.buildClaimGeneratorInfo(c);\n return {\n vendor: "adobe",\n claim_generator: u,\n claim_generator_info: i,\n assertions: o,\n ingredients: [],\n thumbnail: {\n format: "none",\n identifier: "none"\n },\n title: "Generated Image"\n };\n }\n /*\n * @see https://jira.corp.adobe.com/browse/CAI-4193\n * Currently (7/27/23) we are only supporting firefly based Gen AI for the forced assertion\n * In order to remove this hardcoded assertion we will need either the ps.cai.getGenTechInfo API\n * to return the correct data to build the assertion or we will need to track events even when disabled\n */\n static getGenAIAssertion(t) {\n let r = [];\n return t.forEach((n) => {\n r.push({\n action: "c2pa.edited",\n digitalSourceType: re.compositeWithTrainedAlgorithmicMedia,\n softwareAgent: n\n });\n }), [\n {\n label: "c2pa.actions",\n data: {\n actions: r\n }\n }\n ];\n }\n static buildCryptoAssertion(t) {\n const r = {\n ethereum: [],\n solana: []\n };\n return {\n label: "adobe.crypto.addresses",\n data: t.reduce((n, s) => {\n const o = s.type === "metamask" ? "ethereum" : s.type;\n return n[o] = [s.label], n;\n }, r)\n };\n }\n /**\n * Builds the `claim_generator` string based on the host profile data from UXP\n */\n static buildClaimGenerator(t) {\n const [{ name: r, version: n }] = this.buildClaimGeneratorInfo(t);\n let s = "";\n const o = "/", a = r.split(o);\n return a.length >= 1 ? s = `${a[0].replace(/\\s/g, "_")}${a.slice(1).join(o)}` : s = r, `${s}${o}${n}`;\n }\n /**\n * Builds the `claim_generator_info` string based on the host profile data from UXP\n */\n static buildClaimGeneratorInfo(t) {\n const r = `${t.buildNumber} ${t.platform}`;\n return [\n {\n name: `${Ac} ${t.name}`,\n version: t.version,\n "com.adobe.build": r\n }\n ];\n }\n /**\n * Builds an creative work assertion based on the user DID\n */\n static buildCreativeWorkAssertionFromStore(t, r) {\n var o, a, c;\n const n = t.workingStores[r], s = (o = t.user) == null ? void 0 : o.identity;\n return {\n label: "stds.schema-org.CreativeWork",\n data: {\n "@context": "https://schema.org",\n "@type": "CreativeWork",\n author: (s && n.settings.identity ? [\n {\n "@type": "Person",\n name: (a = s.claimData) == null ? void 0 : a.credentialSubject.name,\n identifier: (c = s.claimData) == null ? void 0 : c.credentialSubject.id\n }\n ] : []).concat(Object.values(n.settings.accounts).filter(Sr).filter((u) => u.included).map((u) => {\n var i;\n return b({\n "@type": "Person",\n "@id": u.url,\n name: u.label\n }, s ? { identifier: (i = s.claimData) == null ? void 0 : i.credentialSubject.id } : {});\n }))\n }\n };\n }\n}\nfunction Tc() {\n var e = function() {\n return Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);\n };\n return e() + e() + "-" + e() + "-" + e() + "-" + e() + "-" + e() + e() + e();\n}\nfunction Ec(e, t) {\n var r = e;\n if (e && e.length > t && t > 0) {\n var n = e.length - t;\n r = e.slice(n, e.length);\n }\n return r;\n}\nfunction w(e, t) {\n var r = e.toString();\n if (r.length < t) {\n var n = [];\n n.length = t - r.length + 1, r = n.join("0") + r;\n }\n return r;\n}\nfunction me(e, t) {\n var r = Object.getOwnPropertyNames(t);\n return r.forEach(function(n) {\n if (typeof t[n] == "object")\n typeof e[n] != "object" && (e[n] = {}), me(e[n], t[n]);\n else {\n var s = Object.getOwnPropertyDescriptor(t, n);\n Object.defineProperty(e, n, s || "");\n }\n }), e;\n}\nfunction W(e, t, r = 0) {\n e.forEach(function(n) {\n setTimeout(function() {\n n(t, r);\n });\n });\n}\nvar Cc = "Ingest :: ", ct = {\n prod: "cc-api-data.adobe.io",\n stage: "cc-api-data-stage.adobe.io",\n dev: "cc-api-data-dev.adobe.io"\n}, ut = "/ingest", $c = 10, lt = {\n ENVIRONMENT: "prod",\n ALLOW_NO_TOKEN: !1,\n ANALYTICS_INGEST_TYPE: "dunamis",\n ANALYTICS_MAX_QUEUED_EVENTS: 50,\n ANALYTICS_DEBOUNCE: 1e4,\n ANALYTICS_API_KEY: null,\n ANALYTICS_X_PRODUCT: null,\n ANALYTICS_X_PRODUCT_LOCATION: void 0,\n ANALYTICS_PROJECT: null,\n ANALYTICS_USER_REGION: "UNKNOWN",\n TIMESTAMP_PROPERTY_NAME: "event.dts_end"\n}, Sc = [\n "ANALYTICS_API_KEY",\n "ANALYTICS_X_PRODUCT",\n "ANALYTICS_PROJECT"\n];\nclass ft {\n constructor(t, r) {\n t = t || {}, r = r || {};\n var n = (s) => {\n throw this._log(s), new Error("ERROR: " + s);\n };\n this._queuedEvents = [], this._queuedCallbacks = [], this._lastSendTime = 0, this._isEnabled = !1, this._dependencies = me({}, t), (!t.getAccessToken || typeof t.getAccessToken != "function") && n("Missing dependency: getAccessToken"), this._options = {}, Object.keys(lt).forEach((s) => {\n this._options[s] = r[s] || lt[s];\n }), Sc.forEach((s) => {\n this._options[s] || n("Missing option: " + s);\n }), typeof fetch == "undefined" && n("Ingest requires fetch - if in a node environment, set \'global.fetch = require(\'node-fetch\');\'");\n }\n _log(t) {\n var r = this._dependencies.log;\n r && r(Cc + t);\n }\n _getAgent(t, r) {\n if (this._dependencies.getAgent) {\n this._dependencies.getAgent(t, r);\n return;\n }\n r(null, {});\n }\n _getAccessToken(t) {\n this._dependencies.getAccessToken(t);\n }\n _clearAccessToken() {\n this._dependencies.clearAccessToken && this._dependencies.clearAccessToken();\n }\n _getEnvironment() {\n return ct[this._options.ENVIRONMENT] ? this._options.ENVIRONMENT : "prod";\n }\n _getAnalyticsHost() {\n return ct[this._getEnvironment()];\n }\n _formatTimestamp(t) {\n var r = t.getFullYear(), n = w(t.getMonth() + 1, 2), s = w(t.getDate(), 2), o = w(t.getHours(), 2), a = w(t.getMinutes(), 2), c = w(t.getSeconds(), 2), u = w(t.getMilliseconds(), 3), i = t.getTimezoneOffset(), l = i < 0 ? "+" : "-", f = Math.floor(Math.abs(i) / 60), d = Math.abs(i) % 60, p = l + w(f, 2) + w(d, 2);\n return r + "-" + n + "-" + s + "T" + o + ":" + a + ":" + c + "." + u + p;\n }\n _updateDebounce(t) {\n var r = t && (t["retry-after"] || t["Retry-After"]), n = 0;\n if (r) {\n var s;\n try {\n s = parseInt(r, 10);\n } catch (i) {\n }\n if (s)\n n = Math.max(0, s);\n else {\n var o = Date.parse(r);\n if (o) {\n var a = (/* @__PURE__ */ new Date()).valueOf(), c = Math.max(0, o - a) / 1e3, u = Math.floor(Math.random() * $c);\n n = c + u;\n }\n }\n }\n this._options.ANALYTICS_DEBOUNCE = Math.max(n * 1e3, this._options.ANALYTICS_DEBOUNCE);\n }\n _queueEvent(t) {\n this._queuedEvents.length >= this._options.ANALYTICS_MAX_QUEUED_EVENTS && this._queuedEvents.shift(), this._queuedEvents.push(t);\n }\n _requeueEvents(t) {\n this._queuedEvents = t.concat(this._queuedEvents), this._queuedEvents = Ec(this._queuedEvents, this._options.ANALYTICS_MAX_QUEUED_EVENTS);\n }\n _sendAnalytics(t = !1, r = null, n = 0) {\n if (r && this._queuedCallbacks.push(r), !this._isEnabled || this._queuedEvents.length === 0) {\n var s = this._queuedCallbacks;\n this._queuedCallbacks = [], this._isEnabled ? W(s, null, 0) : W(s, new Error("Analytics Disabled"));\n return;\n }\n var o = this._options.ANALYTICS_DEBOUNCE;\n if (t && (o = 0, clearTimeout(this._pendingSendAnalyticsTimeout), this._pendingSendAnalyticsTimeout = void 0), this._sendingEvents || this._pendingSendAnalyticsTimeout) {\n t && (this._fastFollow = !0);\n return;\n }\n var a = (/* @__PURE__ */ new Date()).valueOf();\n if (a - this._lastSendTime < o) {\n this._pendingSendAnalyticsTimeout = setTimeout(() => {\n this._pendingSendAnalyticsTimeout = void 0, this._sendAnalytics();\n }, o);\n return;\n }\n this._lastSendTime = a, this._sendingEvents = this._queuedEvents, this._sendingCallbacks = this._queuedCallbacks, this._queuedEvents = [], this._queuedCallbacks = [];\n var c = Tc(), u = "[" + c + "] ", i = {\n events: this._sendingEvents\n }, l = (d = null) => {\n var p = this._queuedEvents ? this._queuedEvents.length : 0;\n if (this._sendingEvents) {\n var m = this._sendingEvents.length;\n d ? (this._requeueEvents(this._sendingEvents), this._log(u + "Error sending " + m + " events: " + d)) : this._log(u + "Success sending " + m + " events: " + JSON.stringify(this._sendingEvents)), delete this._sendingEvents;\n var A = this._sendingCallbacks;\n delete this._sendingCallbacks, d ? W(A, d) : W(A, null, m);\n }\n p > 0 && this._sendAnalytics(this._fastFollow), this._fastFollow = !1;\n }, f = (d, p) => {\n if (this._updateDebounce(p), d === 401 && n === 0) {\n this._clearAccessToken(), this._requeueEvents(this._sendingEvents), delete this._sendingEvents, this._queuedCallbacks = this._sendingCallbacks.concat(this._queuedCallbacks), delete this._sendingCallbacks, this._log(u + "Access token is expired. Retry one more time."), this._sendAnalytics(!0, void 0, n + 1);\n return;\n }\n if (d !== 200) {\n l(new Error("Unexpected Response: " + d));\n return;\n }\n l();\n };\n this._getAccessToken((d, p) => {\n if (d && !this._options.ALLOW_NO_TOKEN) {\n l(d);\n return;\n }\n if ((!p || p.length === 0) && !this._options.ALLOW_NO_TOKEN) {\n l(new Error("No access token"));\n return;\n }\n var m = "https://" + this._getAnalyticsHost();\n this._log(u + "Sending analytics to " + m + ut);\n const A = {\n "x-api-key": this._options.ANALYTICS_API_KEY,\n "X-Product": this._options.ANALYTICS_X_PRODUCT,\n "User-Agent": this._options.ANALYTICS_USER_AGENT || this._options.ANALYTICS_API_KEY,\n "X-Request-Id": c,\n "Content-Type": "application/json"\n };\n p && (A.Authorization = "Bearer " + p), this._options.ANALYTICS_X_PRODUCT_LOCATION && (A["X-Product-Location"] = this._options.ANALYTICS_X_PRODUCT_LOCATION), this._getAgent(m, (T, _) => {\n const B = {\n method: "POST",\n headers: A,\n body: JSON.stringify(i)\n };\n _ && _.agent ? B.agent = _ && _.agent : me(B, _ || {}), fetch(m + ut, B).then((q) => {\n f(q.status, q.headers);\n }, l);\n });\n });\n }\n /**\n Public APIs\n **/\n /**\n * Configure whether analytics is enabled or not. Note: By default, analytics are disabled, so you need to\n * explicitly call `ingest.enable(true)` to enable sending analytics.\n *\n * When sending analytics is disabled, events are still queued up, so they can be sent when it\'s reenabled.\n *\n * @param {Boolean} isEnabled Whether to enable or disable sending analytics.\n *\n * @memberof Ingest\n */\n enable(t) {\n this._isEnabled = t, t && this._sendAnalytics(!0);\n }\n /**\n * Post an analytics event to ingest.\n *\n * @param {Object} payload Ingest payload to be sent\n * @param {Function} [callback] If supplied, called when the event has been posted (or failed)\n *\n * @memberof Ingest\n */\n postEvent(t, r, n) {\n var s = n || {}, o = "event.dts_start", a = "event.coll_dts", c = s.TIMESTAMP_PROPERTY_NAME || this._options.TIMESTAMP_PROPERTY_NAME, u = s.ANALYTICS_PROJECT || this._options.ANALYTICS_PROJECT, i = s.ANALYTICS_INGEST_TYPE || this._options.ANALYTICS_INGEST_TYPE;\n t[a] && t[a] instanceof Date && (t[a] = this._formatTimestamp(t[a])), t[o] && t[o] instanceof Date && (t[o] = this._formatTimestamp(t[o])), t[c] || (t[c] = this._formatTimestamp(/* @__PURE__ */ new Date())), t[c] instanceof Date && (t[c] = this._formatTimestamp(t[c]));\n var l = {\n time: t[c],\n project: u,\n environment: this._getEnvironment(),\n ingesttype: i,\n data: t\n };\n t.simulate ? (this._log("event sim:" + JSON.stringify(l)), r && W([r], null, 0)) : (this._queueEvent(l), this._sendAnalytics(!1, r));\n }\n /**\n * Flush the analytics (trigger sending any queued analytics to the server)\n *\n * @param {Boolean} immediate Flush event immediately or not\n * @param {Function} [callback] If supplied, called when the flush has finished (or failed)\n *\n * @memberof Ingest\n */\n flush(t, r) {\n this._sendAnalytics(t, r);\n }\n}\nconst ir = (e) => typeof e == "object" && e !== null, dt = (e) => ir(e) && !(e instanceof RegExp) && !(e instanceof Error) && !(e instanceof Date) && !(globalThis.Blob && e instanceof globalThis.Blob), wc = Symbol("mapObjectSkip"), ye = (e, t, r, n = /* @__PURE__ */ new WeakMap()) => {\n if (r = b({\n deep: !1,\n target: {}\n }, r), n.has(e))\n return n.get(e);\n n.set(e, r.target);\n const { target: s } = r;\n delete r.target;\n const o = (a) => a.map((c) => dt(c) ? ye(c, t, r, n) : c);\n if (Array.isArray(e))\n return o(e);\n for (const [a, c] of Object.entries(e)) {\n const u = t(a, c, e);\n if (u === wc)\n continue;\n let [i, l, { shouldRecurse: f = !0 } = {}] = u;\n i !== "__proto__" && (r.deep && f && dt(l) && (l = Array.isArray(l) ? o(l) : ye(l, t, r, n)), s[i] = l);\n }\n return s;\n};\nfunction Ic(e, t, r) {\n if (!ir(e))\n throw new TypeError(`Expected an object, got \\`${e}\\` (${typeof e})`);\n if (Array.isArray(e))\n throw new TypeError("Expected an object, got an array");\n return ye(e, t, r);\n}\nconst xc = /* @__PURE__ */ new Set([\n "access_token",\n "accessToken",\n "email",\n "firstName",\n "lastName",\n "refresh_token",\n "refreshToken",\n "token"\n]), G = class {\n static initialize(t) {\n return y(this, null, function* () {\n this.userData = t.userData, this.systemData = t.systemData, this.appData = t.appData;\n const { countryCode: r } = t.userData, { appName: n, appVersion: s, canLogAnalyticsData: o, env: a } = t.appData, { accessTokenGetter: c } = t, u = {\n getAccessToken(f) {\n try {\n f(null, c());\n } catch (d) {\n console.info(`Ingest crashed with error ${d}`);\n }\n }\n }, { osPlatform: i } = this.systemData, l = {\n ENVIRONMENT: a,\n ALLOW_NO_TOKEN: !0,\n ANALYTICS_API_KEY: `cai-${i}-service`,\n ANALYTICS_PROJECT: `cai-${i}-service`,\n ANALYTICS_X_PRODUCT: `${n}%2F${s}`,\n ANALYTICS_MAX_QUEUED_EVENTS: 50,\n ANALYTICS_DEBOUNCE: 0,\n ANALYTICS_USER_REGION: r,\n ANALYTICS_INGEST_TYPE: "dunamis",\n TIMESTAMP_PROPERTY_NAME: "event.dts_end"\n };\n this.ingest = new ft(u, l), this.debugIngest = new ft(u, l), this.ingest.enable(o), this.debugIngest.enable(!0), this.processPrequeuedEvents();\n });\n }\n static getFormattedSettings(t) {\n if (!t)\n return "";\n let r = [];\n r = Object.keys(t.accounts).filter((c) => t.accounts[c].included).map((c) => {\n const u = t.accounts[c];\n return `${_e(u) ? "c" : "s"}:${u.type}`;\n });\n const n = t.identity ? "on" : "off", s = t.edits ? "on" : "off";\n return [\n `export:${t.export || "default"}`,\n `id:${n}`,\n `cat:${s}`,\n ...r\n ].join("|");\n }\n static processPrequeuedEvents() {\n this.prequeuedEvents.forEach((t) => {\n this.postEvent(t);\n }), this.prequeuedDebugEvents.forEach((t) => {\n this.postEvent(t, !0);\n }), this.prequeuedEvents = [], this.prequeuedDebugEvents = [];\n }\n static getBasePayload(t) {\n const r = "", { osPlatform: n, osVersion: s, userAgent: o } = this.systemData, { appLocale: a, appName: c, appVersion: u } = this.appData, { accountType: i, userId: l } = this.userData, f = /* @__PURE__ */ new Date();\n return {\n "source.name": "cai-plugin",\n "source.version": "",\n "source.platform": n,\n "source.os_version": s,\n "consumer.platform": n,\n "consumer.os_version": s,\n "user.service_code": "creativecloud",\n "event.workflow": "Canvas",\n "event.category": "DESKTOP",\n "event.subcategory": "Content Credentials",\n "event.guid": Cr(),\n "event.type": t,\n "content.id": r,\n "env.com.name": "cai-plugin",\n "env.com.version": "",\n "event.offline": !navigator.onLine,\n "source.client_id": `cai-${n}-service`,\n "consumer.name": c,\n "consumer.version": u,\n "user.service_level": i,\n "event.user_guid": l,\n "event.user_agent": o,\n "event.language": a,\n "event.dts_start": f.toISOString()\n };\n }\n /**\n * Redacts sensitive data from fields defined above as well as tries to remove file paths\n * @todo: Support Windows file paths https://jira.corp.adobe.com/browse/CAI-1304\n */\n static redactPayload(t) {\n return Ic(t, (s, o) => xc.has(s.toString()) ? [s, "[REDACTED]"] : [s, o], { deep: !0 });\n }\n /**\n * Post events to Ingest after adding session-specific parameters\n * @param payload Configured payload\n */\n static postEvent(t, r = !1) {\n var a, c;\n if (r && !this.debugIngest) {\n this.prequeuedDebugEvents.push(t);\n return;\n }\n if (!r && !this.ingest) {\n this.appData.canLogAnalyticsData && this.prequeuedEvents.push(t);\n return;\n }\n const n = this.redactPayload(t);\n if (!n["event.user_guid"] && !n["event.device_guid"])\n return;\n const s = {}, o = {};\n Object.keys(n).forEach((u) => {\n const i = n[u];\n (i == null ? void 0 : i.length) > 255 ? o[u] = i : (i == null ? void 0 : i.length) > 200 && (s[u] = i);\n }), Object.keys(s).length && N.log({\n level: "info",\n message: "Dunamis strings almost too long",\n channel: "analytics",\n context: {\n values: s\n }\n }), Object.keys(o).length && N.log({\n level: "error",\n message: "Dunamis strings too long",\n channel: "analytics",\n context: {\n values: o\n }\n }), r ? (a = this.debugIngest) == null || a.postEvent(n) : (c = this.ingest) == null || c.postEvent(n);\n }\n /**\n * Logger for "interaction" type events\n */\n static logInteractionEvent(t, r = {}) {\n try {\n this.postEvent(b(C(b({}, this.getBasePayload("click")), {\n "event.subtype": t\n }), r));\n } catch (n) {\n console.error(n);\n }\n }\n /**\n * Logger for "statistics" type events\n */\n static logStatisticsEvent(t, r = {}) {\n try {\n this.postEvent(b(C(b({}, this.getBasePayload("success")), {\n "event.subtype": t\n }), r));\n } catch (n) {\n console.error(n);\n }\n }\n /**\n * Logger for "debug" type events.\n * These events are solely for development and release monitoring, particularly error tracking.\n * Debug events go to a separate index from regular performance metrics (`cai-web-service`)\n * @param eventData Object containing conditionals/payload fields\n */\n static logDebugEvent(t, r = {}) {\n try {\n this.postEvent(b(C(b({}, this.getBasePayload("error")), {\n "event.subtype": t\n }), r), !0);\n } catch (n) {\n console.error(n);\n }\n }\n};\nG.prequeuedEvents = [];\nG.prequeuedDebugEvents = [];\nG.userData = {\n accountType: "Unknown",\n userId: "Unknown",\n countryCode: "Unknown"\n};\nG.systemData = {\n osVersion: "Unknown",\n osPlatform: "Unknown",\n userAgent: "Unknown"\n};\nG.appData = {\n appName: "Unknown",\n appLocale: "Unknown",\n appVersion: "Unknown",\n canLogAnalyticsData: !1,\n // ensure if things blow up before init, we can see on prod dashboard. better false positive of stage vs missing real issue\n env: "prod"\n};\nlet Oc = G;\nfunction Nc(e) {\n var t;\n if (!e)\n return null;\n if (e = ae(e), (t = e == null ? void 0 : e.user) != null && t.token) {\n const { token: r } = e.user, n = r.substring(0, 5), s = r.substring(r.length - 5);\n e.user.token = `${n}...${s}`;\n }\n return e && (e.persistedWorkingStores = {}), Object.keys((e == null ? void 0 : e.workingStores) || []).forEach((r) => {\n var n;\n if (e) {\n if (((n = e.workingDocumentId) == null ? void 0 : n.toString()) !== r) {\n delete e.workingStores[r];\n return;\n }\n e.workingStores[r].ingredients.map((s) => {\n var o;\n return pt(s) && ((o = s.thumbnail) == null || delete o.path), s;\n }), delete e.workingStores[r].settings;\n }\n }), e;\n}\nconst z = class cr {\n /**\n * Initializes the ErrorHandler singleton. Only needs to be called once per app.\n */\n static initialize({ App: t, System: r, User: n, appContext: s }) {\n this.isInitialized || (this.App = t, this.System = r, this.User = n, this.appContext = b({}, s), this.hasFatallyErrored$ = new be(!1), window.addEventListener("error", (o) => this.log(o.error)), this.isInitialized = !0);\n }\n static updateStateGetter(t) {\n this.stateGetter = t;\n }\n static updateAppContext(t) {\n this.appContext = b({}, t);\n }\n static handleError(t) {\n let r = {\n level: this.DEFAULT_LEVEL,\n message: t,\n channel: this.DEFAULT_CHANNEL,\n context: {}\n };\n if (typeof t == "string")\n return r;\n if (typeof t != "object")\n return C(b({}, r), {\n message: "Unkown error",\n context: {\n unknown_value: JSON.stringify(t)\n }\n });\n if (r = {\n message: t.message || "Unknown Error",\n level: t.level || this.DEFAULT_LEVEL,\n channel: this.DEFAULT_CHANNEL,\n context: C(b({}, t.context), {\n name: t.name || "Unknown",\n stack: t.stack\n })\n }, t instanceof L) {\n const { request: n, response: s } = this.parseHttpError(t);\n return C(b({}, r), {\n context: C(b({}, r.context), {\n request: n,\n response: s\n })\n });\n }\n return t instanceof v || (t.message && (r.message = t.message), t.stack && (r.context.stack = t.stack)), r;\n }\n /**\n * Safeguards headers we request as object\n */\n static convertRequestHeaders(t) {\n return t = t || {}, Object.keys(t).forEach((r) => {\n r.toLowerCase() === "authorization" && (t[r] = "[REDACTED]");\n }), t;\n }\n /**\n * Handles the fact response headers come back as a Headers object with special methods\n */\n static convertResponseHeaders(t) {\n if (!t)\n return {};\n const r = {};\n return t.forEach((n, s) => {\n r[s] = n;\n }), r;\n }\n static parseHttpError(t) {\n const { request: r, response: n } = t.context;\n return {\n request: C(b({}, r), {\n body: r.body ? JSON.parse(r.body) : "",\n headers: this.convertRequestHeaders(r.headers)\n }),\n response: C(b({}, n), {\n headers: this.convertResponseHeaders(n.headers)\n })\n };\n }\n /**\n * The main logging function. This will usually be the function that is\n * called from the outside.\n */\n static log(t) {\n return y(this, null, function* () {\n const r = cr.handleError(t), n = yield this.App.getData(), s = yield this.System.getData(), { osPlatform: o, osVersion: a } = s, { buildNumber: c, appName: u, appVersion: i, appLocale: l } = n;\n console.error(t);\n const f = ae(r);\n f.level === "fatal" && (f.level = "critical"), f.level === "trace" && (f.level = "info");\n let d = null;\n try {\n d = Nc(this.stateGetter());\n } catch (m) {\n console.error(m);\n }\n f.context.state = d;\n let p = "Unknown";\n try {\n p = this.User.getUserId() || "NA";\n } catch (m) {\n console.warn("Error thrown before getting user data");\n }\n f.context.user = b({\n os: {\n version: a,\n platform: o\n },\n app: {\n version: i,\n name: u,\n build: c,\n locale: l\n },\n guid: p\n }, this.appContext), N.log(f), console.warn("Logged details from error", f), Oc.logDebugEvent("error-handler", {\n "event.error_desc": r.message,\n "event.error_code": r.context.name,\n "event.error_type": r.level\n }), r.level === "fatal" && this.hasFatallyErrored$.update(!0);\n });\n }\n};\nz.DEFAULT_LEVEL = "error";\nz.DEFAULT_CHANNEL = "cai_uxp";\nz.isInitialized = !1;\nz.appContext = {};\nz.stateGetter = () => null;\nlet eu = z;\n\n\n\n//# sourceURL=webpack://@cai/panel/../common/dist/index.mjs?')},4840:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CaiAlert: () => (/* binding */ Y),\n/* harmony export */ CaiAssertions: () => (/* binding */ x),\n/* harmony export */ CaiAsset: () => (/* binding */ b),\n/* harmony export */ CaiContentSummary: () => (/* binding */ ae),\n/* harmony export */ CaiControls: () => (/* binding */ E),\n/* harmony export */ CaiCryptoAccount: () => (/* binding */ U),\n/* harmony export */ CaiDetailedTitle: () => (/* binding */ N),\n/* harmony export */ CaiDisabledState: () => (/* binding */ Z),\n/* harmony export */ CaiEditCategory: () => (/* binding */ T),\n/* harmony export */ CaiErrorScreen: () => (/* binding */ W),\n/* harmony export */ CaiMissingActivity: () => (/* binding */ ne),\n/* harmony export */ CaiPreviewDialog: () => (/* binding */ k),\n/* harmony export */ CaiProgressiveAlert: () => (/* binding */ D),\n/* harmony export */ CaiSocialAccount: () => (/* binding */ B),\n/* harmony export */ CaiTooltip: () => (/* binding */ S),\n/* harmony export */ ContentSummariesByDigitalSourceType: () => (/* binding */ ze)\n/* harmony export */ });\n/* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2853);\n/* harmony import */ var _cai_localization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60);\n/* harmony import */ var _cai_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9172);\nvar be = Object.defineProperty, we = Object.defineProperties;\nvar Ie = Object.getOwnPropertyDescriptors;\nvar le = Object.getOwnPropertySymbols;\nvar Me = Object.prototype.hasOwnProperty, xe = Object.prototype.propertyIsEnumerable;\nvar de = (e, t, i) => t in e ? be(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, Ae = (e, t) => {\n for (var i in t || (t = {}))\n Me.call(t, i) && de(e, i, t[i]);\n if (le)\n for (var i of le(t))\n xe.call(t, i) && de(e, i, t[i]);\n return e;\n}, pe = (e, t) => we(e, Ie(t));\nvar ge = (e, t, i) => new Promise((s, o) => {\n var n = (g) => {\n try {\n A(i.next(g));\n } catch (u) {\n o(u);\n }\n }, d = (g) => {\n try {\n A(i.throw(g));\n } catch (u) {\n o(u);\n }\n }, A = (g) => g.done ? s(g.value) : Promise.resolve(g.value).then(n, d);\n A((i = i.apply(e, t)).next());\n});\n\n\n\nfunction r(e, t, i, s) {\n var o = arguments.length, n = o < 3 ? t : s === null ? s = Object.getOwnPropertyDescriptor(t, i) : s, d;\n if (typeof Reflect == "object" && typeof Reflect.decorate == "function")\n n = Reflect.decorate(e, t, i, s);\n else\n for (var A = e.length - 1; A >= 0; A--)\n (d = e[A]) && (n = (o < 3 ? d(n) : o > 3 ? d(t, i, n) : d(t, i)) || n);\n return o > 3 && n && Object.defineProperty(t, i, n), n;\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst f = (e) => (t) => typeof t == "function" ? ((i, s) => (customElements.define(i, s), s))(e, t) : ((i, s) => {\n const { kind: o, elements: n } = s;\n return { kind: o, elements: n, finisher(d) {\n customElements.define(i, d);\n } };\n})(e, t);\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst Ee = (e, t) => t.kind === "method" && t.descriptor && !("value" in t.descriptor) ? pe(Ae({}, t), { finisher(i) {\n i.createProperty(t.key, e);\n} }) : { kind: "field", key: Symbol(), placement: "own", descriptor: {}, originalKey: t.key, initializer() {\n typeof t.initializer == "function" && (this[t.key] = t.initializer.call(this));\n}, finisher(i) {\n i.createProperty(t.key, e);\n} }, Se = (e, t, i) => {\n t.constructor.createProperty(i, e);\n};\nfunction l(e) {\n return (t, i) => i !== void 0 ? Se(e, t, i) : Ee(e, t);\n}\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar j;\n((j = window.HTMLSlotElement) === null || j === void 0 ? void 0 : j.prototype.assignedElements) != null;\nconst ke = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <?xml version="1.0" encoding="UTF-8"?>\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 114.33 88.24">\n <defs>\n <style>\n .cls-1 {\n fill: #818181;\n }\n </style>\n </defs>\n <g>\n <path\n class="cls-1"\n d="m114.32,8.66c-.11-2.76-2.38-4.96-5.16-4.96H30.59c-.71.07-1.27.68-1.27,1.41,0,.78.63,1.41,1.41,1.41h78.59c1.23.08,2.19,1.1,2.19,2.35v67.72l-27.62-27.62-.17-.16c-1.87-1.7-4.78-1.61-6.55.23l-9.08,9.49-25.54-25.54-.17-.16c-1.87-1.7-4.78-1.61-6.55.23L7.24,65.94V30.73c-.07-.71-.68-1.27-1.41-1.27-.78,0-1.41.63-1.41,1.41v52.42c.11,2.76,2.38,4.96,5.17,4.96h99.78c2.76-.11,4.96-2.38,4.96-5.17V8.66ZM9.59,85.43h-.15c-1.22-.09-2.19-1.1-2.19-2.35v-14.28l29.99-34.47.13-.12c1.08-.99,2.8-.96,3.87.11l51.1,51.1H9.59Zm101.92-2.35v.15c-.09,1.22-1.1,2.19-2.35,2.19h-14.22c-.04-.07-.09-.14-.15-.2l-25.37-25.37,9.11-9.52.13-.13c1.1-1.02,2.83-.99,3.9.08l28.95,28.95v3.84Zm-24.42-43.68c5.71,0,10.33-4.63,10.33-10.33s-4.63-10.33-10.33-10.33-10.33,4.63-10.33,10.33,4.63,10.33,10.33,10.33Zm0-18.79c4.67,0,8.45,3.79,8.45,8.45s-3.79,8.45-8.45,8.45-8.45-3.79-8.45-8.45,3.79-8.45,8.45-8.45Zm-61.92,4.56v-12.59C25.17,5.63,19.54,0,12.59,0S0,5.63,0,12.59s5.63,12.59,12.59,12.59h12.59ZM2.18,12.59C2.18,6.84,6.84,2.18,12.59,2.18s10.4,4.66,10.4,10.4v10.4h-10.4c-5.75,0-10.4-4.66-10.4-10.4Zm14.7,5.03h-2.22v-9.07h2.13v.98c.5-.66,1.28-1.08,2.45-1.08h.55v2.1h-.57c-.8,0-1.3.18-1.67.52-.43.36-.68.94-.68,1.83v4.73Zm-3.12-3.24c-.37,1.97-1.92,3.49-4.22,3.49-2.79,0-4.54-2.19-4.54-4.78s1.74-4.78,4.54-4.78c2.26,0,3.79,1.48,4.2,3.4h-2.28c-.3-.85-1.01-1.37-1.92-1.37-1.41,0-2.33,1.1-2.33,2.76s.92,2.76,2.33,2.76c.94,0,1.67-.55,1.96-1.46h2.26Z"\n />\n </g>\n </svg>`, m = (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n :host {\n display: block;\n font-size: 12px;\n }\n .disabled {\n color: var(--spectrum-global-color-gray-500);\n }\n\n .tooltipMessage {\n text-decoration: underline;\n }\n\n .tooltip-container {\n margin-left: auto;\n padding-right: 8px;\n }\n\n .iconLinkout {\n padding-right: 8px;\n }\n\n /* Alert.tsx */\n .alertView {\n display: flex;\n padding: 6px;\n flex-direction: column;\n }\n .genAIDisclaimer {\n color: var(--spectrum-global-color-gray-700);\n font-style: italic;\n }\n\n .alertFlowCol {\n display: flex;\n padding: 6px;\n flex-direction: column;\n margin: 10px 12px 18px 12px;\n border-radius: 4px;\n }\n\n .alertFlowRow {\n display: flex;\n padding: 6px 2px;\n flex-direction: row;\n margin: 10px 12px 18px 12px;\n border-radius: 4px;\n }\n\n .alertMessage {\n display: flex;\n flex-direction: row;\n line-height: 16px;\n }\n\n .alertMessageBorder {\n border-right: 1px solid var(--spectrum-global-color-gray-700);\n }\n\n .alertIcon {\n padding: 4px;\n }\n\n .alertSlot {\n padding: 4px 8px 4px 6px;\n flex-grow: 1;\n }\n\n .alertOverlay {\n position: relative;\n min-height: 45px;\n }\n\n .tryAgain {\n text-align: center;\n display: flex;\n justify-content: flex-end;\n padding-right: 3px;\n padding-bottom: 3px;\n padding-top: 3px;\n }\n\n /* Asset.tsx */\n\n .assetView {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n margin-right: 4px;\n margin-bottom: 4px;\n border-radius: 2px;\n background-color: var(--photoshop-gutter);\n background-size: contain;\n background-position: center;\n }\n\n .assetBadge,\n .assetBadgeError {\n width: 18px;\n margin-top: 2px;\n margin-left: 2px;\n }\n\n .fileView {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .fileName {\n margin-left: 6px;\n font-family: \'Adobe Clean\';\n font-size: 12px;\n margin-bottom: 4px; /* Accounts for the margin on the bottom of the asset */\n }\n\n .fileWarning {\n font-family: \'Adobe Clean\';\n color: var(--spectrum-global-color-gray-700);\n font-size: 12px;\n margin-bottom: 4px; /* Accounts for the margin on the bottom of the asset */\n }\n\n .fileIcon,\n .fileIcon svg {\n width: 12px;\n height: 12px;\n }\n\n .fileIcon {\n margin-bottom: 4px; /* Accounts for the margin on the bottom of the asset */\n margin-right: 3px;\n margin-top: 1px;\n display: inline-block;\n vertical-align: middle;\n }\n\n .fileIconContainer {\n display: inline-block;\n margin-top: 5px;\n }\n\n /* Controls.tsx */\n\n .controlsView {\n height: 100vh;\n padding-bottom: 38px;\n display: flex;\n flex-direction: column;\n }\n\n .controlsPreview {\n display: flex;\n justify-content: flex-end;\n margin: 5px 0;\n }\n\n .controlsInfoView {\n color: var(--spectrum-global-color-gray-800);\n font-size: 12px;\n }\n\n .controlsButton {\n color: var(--spectrum-gray-800);\n background-color: var(--photoshop-items);\n border-color: var(--photoshop-border);\n line-height: 18px;\n margin: 0 20px;\n }\n\n .controlsContainer {\n flex-grow: 1;\n flex-shrink: inherit;\n overflow-x: hidden;\n overflow-y: scroll;\n padding-bottom: 10px;\n }\n\n .controlsAlert {\n margin: 10;\n flex-shrink: 0;\n }\n\n /* Section */\n\n .section {\n flex-shrink: 0;\n margin: 0 10px;\n }\n\n .sectionBorder {\n border-top: solid 1px var(--photoshop-divider);\n }\n\n .sectionNoBorder {\n border-top: solid 0px var(--photoshop-divider);\n }\n\n /* DisabledState.tsx */\n\n .disabledContainer {\n text-align: center;\n padding: 50px 20px;\n color: var(--spectrum-global-color-gray-800);\n }\n\n .disabledSvgBox {\n display: flex;\n justify-content: center;\n padding-bottom: 20px;\n }\n\n .mountainInfo {\n fill: var(--spectrum-global-color-gray-600);\n }\n\n .enableCTA {\n padding: 12px 0;\n }\n\n .enableCTA :global(.spectrum-Button) {\n min-width: 200px;\n max-width: 250px;\n width: auto;\n }\n\n /* Spectrum buttons don\'t overflow in UXP */\n .wrapCTA :global(.spectrum-Button) {\n min-height: 50px;\n max-width: 225px;\n }\n\n /* PreviewDialog.tsx */\n\n .pdContainer {\n background-color: var(--photoshop-bkg);\n }\n\n .pdSection {\n display: flex;\n flex-direction: column;\n padding-bottom: 16px;\n padding-top: 16px;\n margin: 0 10px;\n }\n\n .pdView {\n flex-direction: column;\n padding: 10px 0;\n\n line-height: 100%;\n color: var(--spectrum-global-color-gray-800);\n }\n\n .pdInfo {\n font-size: 12px;\n margin-bottom: 10px;\n }\n\n .pdGutter {\n background-color: var(--photoshop-gutter);\n width: 15px;\n height: 100vh;\n position: absolute;\n right: 0;\n }\n\n .pdIngredient {\n font-size: 12px;\n }\n\n /* PreviewCanvas.tsx */\n\n .imagePreview {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--photoshop-gutter);\n width: 100%;\n height: 256px;\n border-radius: 4px;\n background-size: contain;\n background-position: center;\n }\n\n /* Assertions.tsx */\n\n .item {\n display: flex;\n align-items: center;\n border-radius: 4px;\n padding: 5px 5px 5px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n background-color: var(--photoshop-items);\n margin-right: 10px;\n }\n\n .itemGroup {\n display: flex;\n align-items: center;\n padding: 5px 5px 5px 10px;\n min-height: 40px;\n border-bottom: solid 0.5px var(--photoshop-item-border);\n cursor: pointer;\n background-color: var(--photoshop-items);\n margin-right: 10px;\n }\n\n .singleIndent {\n padding-left: 10px;\n }\n\n .doubleIndent {\n padding-left: 32px;\n }\n\n .waitPositioner {\n margin-left: auto;\n margin-right: 8px;\n display: flex;\n }\n\n .assertionGutter {\n width: 17px;\n height: 100%;\n max-height: 100%;\n position: absolute;\n right: 0;\n background-color: var(--photoshop-gutter);\n }\n\n /* Accounts */\n .accItem {\n position: relative;\n }\n\n .accIcon {\n position: absolute;\n top: 1px;\n left: 0;\n width: 16px;\n height: 16px;\n }\n\n .accItem:not(:last-child) {\n margin-bottom: 8px;\n }\n\n .accItemIndented {\n padding-left: 25px;\n }\n\n .accItemUnindented {\n padding-left: 0px;\n }\n\n .subtext {\n color: var(--spectrum-global-color-gray-700);\n font-size: 12px;\n }\n`;\nvar Q;\nlet Z = (Q = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n constructor() {\n super(...arguments), this.buttonDisabled = !1;\n }\n render() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "panel.disabled.enableDescription",\n defaultMessage: `Get recognized for your work and increase \n transparency about how it was made by choosing \n information to share in its Content Credentials.`\n }), t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "panel.disabled.genAIDisclaimer",\n defaultMessage: `Content Credentials are automatically applied if \n you place fully AI-generated imaged. <a>Learn more</a>`\n }, {\n a: (n) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<a\n class="tooltipMessage"\n style="font-style: italic"\n href=${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getLocalizedURLWithSuffix("https://www.adobe.com/go/CAI-HelpX-HowTo")}\n >\n ${n}\n </a>`\n }), i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "panel.enable",\n defaultMessage: "Enable Content Credentials"\n }), s = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.checkLangRequiresWrapping(), o = ["enableCTA"];\n return s && o.push("wrapCTA"), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="disabledContainer">\n <div class="disabledSvgBox">${ke}</div>\n\n <div>${e}</div>\n\n <div class="${o.join(" ")}">\n <sp-button\n variant="cta"\n class="test-enable-cai"\n ?disabled=${this.buttonDisabled}\n @click=${this.enableCAI}\n >${i}</sp-button\n >\n </div>\n\n <div class="genAIDisclaimer">${t}</div>\n </div>`;\n }\n}, Q.styles = [m], Q);\nr([\n l({ type: Boolean })\n], Z.prototype, "buttonDisabled", void 0);\nr([\n l({ type: Function })\n], Z.prototype, "enableCAI", void 0);\nZ = r([\n f("cai-disabled-state")\n], Z);\nvar X;\nfunction Be(e) {\n return navigator.onLine ? e ? _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "progressive.servicesDownExisting",\n defaultMessage: "One or more settings had trouble syncing and their info may not be current."\n }) : _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "progressive.servicesDownNew",\n defaultMessage: "One or more settings aren’t available because they couldn’t be loaded."\n }) : _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "progressive.offline",\n defaultMessage: (\n // eslint-disable-next-line max-len\n "Something went wrong. Please check your internet connection to modify producer and connected accounts settings."\n )\n });\n}\nlet E = (X = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n connectedCallback() {\n super.connectedCallback(), this.isOnlineInterval = setInterval(() => {\n this.isOnline = navigator.onLine;\n }, 1e3);\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.isOnlineInterval && clearInterval(this.isOnlineInterval);\n }\n _alertBox() {\n var i;\n if (!this.alertMessage)\n return;\n let e = {};\n (i = this.alertMessage) != null && i.values.a && (e = {\n a: (s) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<a class="tooltipMessage" href=${this.alertMessage.values.a}>\n ${s}\n </a>`\n });\n const t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: this.alertMessage.id,\n defaultMessage: this.alertMessage.string\n }, e);\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="controlsAlert"><cai-alert>${t}</cai-alert></div>`;\n }\n _progressiveAlert() {\n var n;\n const e = this.CAI.getState(), t = this.CAI.getActiveWorkingStore(), i = (n = t == null ? void 0 : t.loadedWithCAIData) != null ? n : !1;\n if (!(!this.isOnline || e.panel.connectedAccountsError || e.panel.identityError))\n return;\n const o = this.isOnline ? "service" : "offline";\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="alertOverlay">\n <cai-progressive-alert .CAI=${this.CAI} variant=${o}>\n <div>${Be(i)}</div>\n </cai-progressive-alert>\n </div> `;\n }\n render() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "controls.info",\n defaultMessage: `Choose additional information to include in your\n Content Credentials when exporting via Export As.`\n }, {\n a: (t) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<a\n class="tooltipMessage"\n href=${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getLocalizedURLWithSuffix("https://www.adobe.com/go/CAI-HelpX-HowTo")}\n >\n ${t}\n </a>`\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="controlsView">\n ${this._alertBox()}\n <div\n class="section sectionNoBorder controlsInfoView"\n style="margin: 10px 10px"\n >\n ${e}\n </div>\n <div class="controlsContainer">\n <div class="pdGutter"></div>\n <div class="section sectionNoBorder" style="margin: 0px 0px 0px 10px">\n <cai-assertions\n .data=${this.data}\n .openConnectedAccounts=${this.openConnectedAccounts}\n .CAI=${this.CAI}\n .online=${this.isOnline}\n ></cai-assertions>\n </div>\n ${this._progressiveAlert()}\n </div>\n </div>`;\n }\n}, X.styles = [m], X);\nr([\n l({ type: Boolean })\n], E.prototype, "isOnline", void 0);\nr([\n l({ type: Object })\n], E.prototype, "alertMessage", void 0);\nr([\n l({ type: Object })\n], E.prototype, "data", void 0);\nr([\n l({ type: Object })\n], E.prototype, "CAI", void 0);\nr([\n l({ type: Function })\n], E.prototype, "openConnectedAccounts", void 0);\nE = r([\n f("cai-controls")\n], E);\nconst De = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S Alert 18 N</title>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M8.5635,1.2895.2,16.256A.5.5,0,0,0,.636,17H17.364a.5.5,0,0,0,.436-.744L9.4365,1.2895a.5.5,0,0,0-.873,0ZM10,14.75a.25.25,0,0,1-.25.25H8.25A.25.25,0,0,1,8,14.75v-1.5A.25.25,0,0,1,8.25,13h1.5a.25.25,0,0,1,.25.25Zm0-3a.25.25,0,0,1-.25.25H8.25A.25.25,0,0,1,8,11.75v-6a.25.25,0,0,1,.25-.25h1.5a.25.25,0,0,1,.25.25Z"\n />\n</svg>`, Le = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S ChevronRight 18 N</title>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M12,9a.994.994,0,0,1-.2925.7045l-3.9915,3.99a1,1,0,1,1-1.4355-1.386l.0245-.0245L9.5905,9,6.3045,5.715A1,1,0,0,1,7.691,4.28l.0245.0245,3.9915,3.99A.994.994,0,0,1,12,9Z"\n />\n</svg>`, Oe = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S ChevronDown 18 N</title>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M4,7.01a1,1,0,0,1,1.7055-.7055l3.289,3.286,3.289-3.286a1,1,0,0,1,1.437,1.3865l-.0245.0245L9.7,11.7075a1,1,0,0,1-1.4125,0L4.293,7.716A.9945.9945,0,0,1,4,7.01Z"\n />\n</svg>`, Te = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S Close 18 N</title>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M13.2425,3.343,9,7.586,4.7575,3.343a.5.5,0,0,0-.707,0L3.343,4.05a.5.5,0,0,0,0,.707L7.586,9,3.343,13.2425a.5.5,0,0,0,0,.707l.707.7075a.5.5,0,0,0,.707,0L9,10.414l4.2425,4.243a.5.5,0,0,0,.707,0l.7075-.707a.5.5,0,0,0,0-.707L10.414,9l4.243-4.2425a.5.5,0,0,0,0-.707L13.95,3.343a.5.5,0,0,0-.70711-.00039Z"\n />\n</svg>`, Ue = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <?xml version="1.0" encoding="UTF-8"?><svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n >\n <defs>\n <style>\n .a {\n fill: currentColor;\n }\n </style>\n </defs>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="a"\n d="M16.337,10H15.39a.6075.6075,0,0,0-.581.469A5.7235,5.7235,0,0,1,5.25,13.006l-.346-.3465L6.8815,10.682A.392.392,0,0,0,7,10.4a.4.4,0,0,0-.377-.4H1.25a.25.25,0,0,0-.25.25v5.375A.4.4,0,0,0,1.4,16a.3905.3905,0,0,0,.28-.118l1.8085-1.8085.178.1785a8.09048,8.09048,0,0,0,3.642,2.1655,7.715,7.715,0,0,0,9.4379-5.47434q.04733-.178.0861-.35816A.5.5,0,0,0,16.337,10Z"\n />\n <path\n class="a"\n d="M16.6,2a.3905.3905,0,0,0-.28.118L14.5095,3.9265l-.178-.1765a8.09048,8.09048,0,0,0-3.642-2.1655A7.715,7.715,0,0,0,1.25269,7.06072q-.04677.17612-.08519.35428A.5.5,0,0,0,1.663,8H2.61a.6075.6075,0,0,0,.581-.469A5.7235,5.7235,0,0,1,12.75,4.994l.346.3465L11.1185,7.318A.392.392,0,0,0,11,7.6a.4.4,0,0,0,.377.4H16.75A.25.25,0,0,0,17,7.75V2.377A.4.4,0,0,0,16.6,2Z"\n />\n </svg>\n`, Re = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<?xml version="1.0" encoding="UTF-8"?>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n >\n <defs>\n <style>\n .b {\n fill: currentColor;\n }\n </style>\n </defs>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="b"\n d="M16.5,9h-1a.5.5,0,0,0-.5.5V15H3V3H8.5A.5.5,0,0,0,9,2.5v-1A.5.5,0,0,0,8.5,1h-7a.5.5,0,0,0-.5.5v15a.5.5,0,0,0,.5.5h15a.5.5,0,0,0,.5-.5v-7A.5.5,0,0,0,16.5,9Z"\n />\n <path\n class="b"\n d="M16.75,1H11.377A.4.4,0,0,0,11,1.4a.392.392,0,0,0,.1175.28l1.893,1.895L9.4895,7.096a.5.5,0,0,0-.00039.70711l.00039.00039.707.707a.5.5,0,0,0,.707,0l3.5215-3.521L16.318,6.882A.39051.39051,0,0,0,16.6,7a.4.4,0,0,0,.4-.377V1.25A.25.25,0,0,0,16.75,1Z"\n />\n </svg>`;\nvar H;\nconst Pe = {\n info: "var(--spectrum-global-color-gray-400)",\n error: "#BB121A"\n}, Ze = {\n info: "var(--spectrum-global-color-gray-900)",\n error: "#FFF"\n};\nlet Y = (H = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n constructor() {\n super(...arguments), this.variant = "info";\n }\n _retry() {\n if (this.variant !== "error" || this.hideRetry)\n return;\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "errorView.tryAgain",\n defaultMessage: "Try again"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div class="tryAgain">\n <sp-button size="s" variant="secondary" @click=${() => window.location.reload()}>${e}</Button>\n </div>`;\n }\n render() {\n const e = Pe[this.variant];\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div\n style="color: ${Ze[this.variant]}; background-color: ${e}"\n class="alertView"\n >\n <div class="alertMessage">\n <div class="alertIcon">${De}</div>\n <div class="alertSlot"><slot></slot></div>\n </div>\n ${this._retry()}\n </div>`;\n }\n}, H.styles = [m], H);\nr([\n l({ type: String })\n], Y.prototype, "variant", void 0);\nr([\n l({ type: Boolean })\n], Y.prototype, "hideRetry", void 0);\nY = r([\n f("cai-alert")\n], Y);\nvar V, M;\nfunction O(e) {\n return e === "inline" ? ["border-radius: 0px"] : e === "top-edge" ? ["border-top-right-radius: 4px", "border-top-left-radius: 4px"] : e === "bottom-edge" ? [\n "border-bottom-right-radius: 4px",\n "border-bottom-left-radius: 4px"\n ] : [];\n}\nconst he = {\n behance: "Behance",\n twitter: "X (Twitter)",\n instagram: "Instagram",\n linkedin: "LinkedIn",\n metamask: "ETH",\n solana: "SOL"\n};\nfunction G() {\n return {\n social: [],\n crypto: []\n };\n}\nlet x = M = (V = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n /**\n * This only exists to bind methods to make sure we don\'t double bind as we await fixes for @click in UXP\n * See comments for `updated` method below\n */\n constructor() {\n super(), this.accountsExpanded = !1, this.refreshTooltipOpen = !1, this._accountsByType = G(), this._handleConnectedSocialAccountsClicked = () => {\n _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("connect-social-accounts", {\n "event.value": M._analyticsEnabledEventValue(this._isCategoryFullyChecked("social"))\n });\n }, this._handleConnectedCryptoAccountsClicked = () => {\n _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("connect-web3-accounts", {\n "event.value": M._analyticsEnabledEventValue(this._isCategoryFullyChecked("crypto"))\n });\n }, this._boundRefreshAccountsHandler = this._refreshAccountsHandler.bind(this), this._boundToggleAccountsHandler = this._toggleAccountsHandler.bind(this), this._boundOpenAccountsHandler = this._openConnectedAccountsPage.bind(this);\n }\n render() {\n var d, A, g, u;\n this._currentState = this.CAI.getState();\n const e = this.CAI.getActiveWorkingStore();\n this._currentSettings = e == null ? void 0 : e.settings;\n const t = (d = this._currentSettings) == null ? void 0 : d.accounts;\n if (this._activeDocumentId = this._currentState.workingDocumentId, !this._activeDocumentId)\n return null;\n let i = !1, s = !1, o = !1;\n if (t) {\n const h = Object.values(t);\n i = Object.keys(t).length > 0, s = h.some(_cai_common__WEBPACK_IMPORTED_MODULE_2__.isCrypto), o = h.some(_cai_common__WEBPACK_IMPORTED_MODULE_2__.isSocial), this._accountsByType = this._getAccountsByType(this._currentSettings);\n }\n const n = i ? this._hasAccountsMarkup() : this._noAccountsMarkup();\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div>\n <div\n class="item"\n @click=${(h) => {\n this.online && (h.preventDefault(), h.stopPropagation(), this._handleIdentityClicked());\n }}\n >\n <sp-checkbox\n ?checked=${(g = (A = this._currentSettings) == null ? void 0 : A.identity) != null ? g : !1}\n @click=${(h) => {\n h.stopPropagation(), this._handleIdentityClicked();\n }}\n class="test-producer"\n ?disabled=${!this.online}\n >${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.producer",\n defaultMessage: "Producer"\n })}</sp-checkbox\n >\n </div>\n\n ${n} ${this._loadingMarkup()}\n ${this._loadedSocialMarkup(o)}\n ${this._loadedSocialMarkupAccounts(o)}\n ${this._loadedCryptoMarkup(s)}\n ${this._loadedCryptoMarkupAccounts(s)}\n\n <div\n class="item"\n @click=${(h) => {\n h.preventDefault(), h.stopPropagation(), this._handleEditsClicked();\n }}\n style="margin-top: 4px"\n >\n <sp-checkbox\n ?checked=${(u = this._currentSettings) == null ? void 0 : u.edits}\n @click=${(h) => {\n h.stopPropagation(), this._handleEditsClicked();\n }}\n class="test-edits"\n >${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.editsActivity",\n defaultMessage: "Edits and activity"\n })}</sp-checkbox\n >\n </div>\n </div>`;\n }\n /**\n * We need to manually use event listeners because Lit @click uses an API UXP does not support yet\n * @see https://jira.corp.adobe.com/browse/UXP-21988\n */\n updated(e) {\n var o, n, d;\n super.updated(e);\n const t = (o = this.shadowRoot) == null ? void 0 : o.querySelector(".connect-accounts-container"), i = (n = this.shadowRoot) == null ? void 0 : n.querySelector(".refresh-container"), s = (d = this.shadowRoot) == null ? void 0 : d.querySelector(".account-container");\n t && (t.removeEventListener("click", this._boundOpenAccountsHandler), t.addEventListener("click", this._boundOpenAccountsHandler)), i && (i.removeEventListener("click", this._boundRefreshAccountsHandler), i.addEventListener("click", this._boundRefreshAccountsHandler)), s && (s.removeEventListener("click", this._boundToggleAccountsHandler), s.addEventListener("click", this._boundToggleAccountsHandler));\n }\n _toggleAccountsHandler() {\n this.accountsExpanded = !this.accountsExpanded;\n }\n _refreshAccountsHandler(e) {\n e.stopPropagation(), e.preventDefault(), this.online && this._refreshAccounts();\n }\n _getAccountsMarkupWrapperClasses() {\n const e = ["itemGroup", "singleIndent"];\n return this.online || e.push("disabled"), e;\n }\n _refreshButton() {\n var i;\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.refreshTooltip",\n defaultMessage: "Refresh connected accounts to view ones you\'ve added in your credentials"\n }), t = this.online && !((i = this._currentState) != null && i.panel.connectedAccountsError) ? "flex" : "none";\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div class="refresh-container" style="display: ${t}">\n <cai-tooltip\n placement="left"\n variant="info"\n content=${e}\n offset=${-6}\n >\n ${Ue}</cai-tooltip\n >\n </div>\n `;\n }\n _hasAccountsMarkup() {\n const e = this._getAccountsMarkupWrapperClasses(), t = this.accountsExpanded ? 0 : "4px", i = [\n ...O("top-edge"),\n `border-bottom-right-radius: ${t}`,\n `border-bottom-left-radius: ${t}`\n ], s = this.accountsExpanded ? Oe : Le, o = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.connectedAccounts",\n defaultMessage: "Connected accounts"\n });\n return e.push("account-container"), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="${e.join(" ")}" style="${i.join(";")}">\n <div style="margin-right: 8px;">${s}</div>\n <div>${o}</div>\n ${this._refreshButton()}\n </div>`;\n }\n _noAccountsMarkup() {\n const e = this._getAccountsMarkupWrapperClasses();\n return e.push("connect-accounts-container"), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="${e.join(" ")}"\n style="${O("top-edge").join(";")}"\n >\n <div class="iconLinkout">${Re}</div>\n <div class="tooltipMessage">\n ${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.connectAccounts",\n defaultMessage: "Connect accounts"\n })}\n </div>\n ${this._refreshButton()}\n </div>`;\n }\n _loadingMarkup() {\n var e;\n return (e = this._currentSettings) != null && e.accountsLoading ? (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="itemGroup singleIndent"\n style="${O("bottom-edge").join(";")}"\n >\n ${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.refreshing",\n defaultMessage: "Refreshing..."\n })}\n <div class="waitPositioner">\n ${/*<Wait size="S" />*/\n console.warn("wait removed")}\n </div>\n </div>` : null;\n }\n _loadedCryptoMarkup(e) {\n var t;\n return (t = this._currentSettings) != null && t.accountsLoading || !this.accountsExpanded || !e ? null : (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="itemGroup singleIndent"\n @click=${(i) => {\n this.online && (i.preventDefault(), this._handleConnectedCryptoAccountsClicked(), this.CAI.toggleConnectedAccountCategory(this._activeDocumentId, "crypto", !this._isCategoryFullyChecked("crypto")));\n }}\n >\n <sp-checkbox\n ?checked=${this._isCategoryFullyChecked("crypto")}\n ?indeterminate=${this._isConnectedAccountsIndeterminate("crypto")}\n ?disabled=${!this.online}\n @click=${(i) => {\n i.stopPropagation(), this._handleConnectedCryptoAccountsClicked();\n }}\n @change=${(i) => {\n this.CAI.toggleConnectedAccountCategory(this._activeDocumentId, "crypto", i.target.checked);\n }}\n >${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.web3",\n defaultMessage: "WEB3"\n })}</sp-checkbox\n >\n </div>`;\n }\n _loadedSocialMarkup(e) {\n var t;\n return (t = this._currentSettings) != null && t.accountsLoading || !this.accountsExpanded || !e ? null : (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="itemGroup singleIndent"\n @click=${(i) => {\n this.online && (i.preventDefault(), this._handleConnectedSocialAccountsClicked(), this.CAI.toggleConnectedAccountCategory(this._activeDocumentId, "social", !this._isCategoryFullyChecked("social")));\n }}\n >\n <sp-checkbox\n ?checked=${this._isCategoryFullyChecked("social")}\n ?indeterminate=${this._isConnectedAccountsIndeterminate("social")}\n ?disabled=${!this.online}\n @click=${(i) => {\n i.stopPropagation(), this._handleConnectedSocialAccountsClicked();\n }}\n @change=${(i) => {\n this.CAI.toggleConnectedAccountCategory(this._activeDocumentId, "social", i.target.checked);\n }}\n >${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "assertions.socialMedia",\n defaultMessage: "Social Media"\n })}</sp-checkbox\n >\n </div>`;\n }\n _loadedCryptoMarkupAccounts(e) {\n var t, i;\n return (t = this._currentSettings) != null && t.accountsLoading || !this.accountsExpanded || !e || !((i = this._currentSettings) != null && i.accounts) ? null : Object.entries(this._currentSettings.accounts).filter(([, s]) => (0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.isCrypto)(s)).sort(([, s], [, o]) => s.type[0].localeCompare(o.type[0])).map(([s, o], n, { length: d }) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="itemGroup doubleIndent"\n style="${O(n === d - 1 ? "bottom-edge" : "inline").join(";")}"\n @click=${(A) => {\n this.online && (A.preventDefault(), A.stopPropagation(), this._toggleSpecificWeb3(s, o));\n }}\n >\n <sp-checkbox\n ?checked=${o.included}\n ?disabled=${!this.online}\n @click=${(A) => {\n A.stopPropagation(), this._toggleSpecificWeb3(s, o);\n }}\n >${he[o.type]}\n (${(0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.truncateCryptoAddress)(o.label)})</sp-checkbox\n >\n </div>`);\n }\n _loadedSocialMarkupAccounts(e) {\n var t, i;\n return (t = this._currentSettings) != null && t.accountsLoading || !this.accountsExpanded || !e || !((i = this._currentSettings) != null && i.accounts) ? null : Object.entries(this._currentSettings.accounts).filter(([, s]) => (0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.isSocial)(s)).sort(([, s], [, o]) => s.type[0].localeCompare(o.type[0])).map(([s, o]) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div\n class="itemGroup doubleIndent"\n style="${O("inline").join(";")}"\n @click=${(n) => {\n this.online && (n.preventDefault(), n.stopPropagation(), this._toggleSpecificSocialMedia(s, o));\n }}\n >\n <sp-checkbox\n ?checked=${o.included}\n ?disabled=${!this.online}\n @click=${(n) => {\n n.stopPropagation(), this._toggleSpecificSocialMedia(s, o);\n }}\n >${he[o.type]}</sp-checkbox\n >\n </div>`);\n }\n _openConnectedAccountsPage() {\n return ge(this, null, function* () {\n yield this.openConnectedAccounts(), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("manage-connected-accounts");\n });\n }\n _refreshAccounts() {\n this.CAI.refreshConnectedAccounts(), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("refresh-accounts");\n }\n _getAccountsByType(e) {\n const t = G();\n return e ? Object.entries(e.accounts).reduce((i, [s, o]) => ((0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.isCrypto)(o) ? i.crypto.push({\n id: s,\n label: o.label,\n type: o.type,\n included: o.included\n }) : i.social.push({\n id: s,\n label: o.label,\n type: o.type,\n url: o.url,\n included: o.included\n }), i), G()) : t;\n }\n _isCategoryFullyChecked(e) {\n return Object.values(this._accountsByType[e]).every((t) => t.included);\n }\n _isConnectedAccountsIndeterminate(e) {\n return Object.values(this._accountsByType[e]).some((i) => i.included) && !this._isCategoryFullyChecked(e);\n }\n static _analyticsEnabledEventValue(e) {\n return e ? "disable" : "enable";\n }\n _handleEditsClicked() {\n var e;\n this.CAI.toggleEdits(this._activeDocumentId), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("edits-activity", {\n "event.value": M._analyticsEnabledEventValue((e = this._currentSettings) == null ? void 0 : e.edits)\n });\n }\n _handleIdentityClicked() {\n var e;\n this.CAI.toggleIdentity(this._activeDocumentId), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("identity", {\n "event.value": M._analyticsEnabledEventValue((e = this._currentSettings) == null ? void 0 : e.identity)\n });\n }\n _toggleSpecificWeb3(e, t) {\n this.CAI.toggleConnectedAccount(this._activeDocumentId, e), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent(`web3-${t.type}`, {\n "event.value": M._analyticsEnabledEventValue(t.included)\n });\n }\n _toggleSpecificSocialMedia(e, t) {\n this.CAI.toggleConnectedAccount(this._activeDocumentId, e), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent(`social-media-${t.type}`, {\n "event.value": M._analyticsEnabledEventValue(t.included)\n });\n }\n}, V.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .refresh-container {\n display: flex;\n align-items: right;\n justify-content: right;\n padding-right: 8px;\n margin-left: auto;\n }\n `\n], V);\nr([\n l({ type: Boolean })\n], x.prototype, "accountsExpanded", void 0);\nr([\n l({ type: Boolean })\n], x.prototype, "online", void 0);\nr([\n l({ type: Object })\n], x.prototype, "CAI", void 0);\nr([\n l({ type: Object })\n], x.prototype, "data", void 0);\nr([\n l({ type: Function })\n], x.prototype, "openConnectedAccounts", void 0);\nr([\n l({ type: Boolean })\n], x.prototype, "refreshTooltipOpen", void 0);\nx = M = r([\n f("cai-assertions")\n], x);\nconst Ye = (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .tooltip-container-hover,\n .tooltip-container-click {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .tooltip-view {\n display: none;\n }\n\n .tooltip-view.tooltip-view-displayed,\n .tooltip-container-hover:hover > .tooltip-view {\n display: flex;\n }\n`;\nvar J;\nconst me = 60, ye = 60;\nfunction Ne(e) {\n const { alignment: t, offset: i } = e;\n let s = "", o = "", n = "", d = "";\n switch (t) {\n case "top-left":\n s = "24px", o = `translateX(-${me}px)`;\n break;\n case "top-right":\n o = `translateX(${ye}px)`, s = "24px";\n break;\n case "top":\n s = "24px";\n break;\n case "left":\n i && (o = `translateX(${i}px)`), n = "20px";\n break;\n case "right":\n i && (o = `translateX(${i}px)`), d = "20px";\n break;\n }\n const A = [\n "position: absolute",\n "align-items: center",\n "justify-content: center",\n "padding: 4px 10px",\n "width: max-content",\n "max-width: 150px",\n "z-index: 10",\n "border-radius: 4px",\n "color: #FFF",\n "background-color: var(--spectrum-global-color-gray-400, gray)",\n "font-size: 12px",\n "line-height: 12px",\n "font-weight: 400px",\n "word-break: break-word"\n ];\n return d && A.push(`left: ${d}`), s && A.push(`bottom: ${s}`), o && A.push(`transform: ${o}`), n && A.push(`right: ${n}`), A;\n}\nfunction We(e) {\n const { alignment: t } = e;\n let i = "", s = "", o = "", n = "";\n switch (t) {\n case "top-left":\n i = "-8px", s = `translateX(${me}px)`;\n break;\n case "top-right":\n i = "-8px", s = `translateX(-${ye}px)`;\n break;\n case "top":\n i = "-8px";\n break;\n case "left":\n o = "-8px";\n break;\n case "right":\n n = "-8px";\n break;\n }\n const d = [\n "position: absolute",\n "fill: var(--spectrum-global-color-gray-400, gray)",\n "height: 8px",\n "width: 8px",\n "border: none"\n ];\n return i && d.push(`bottom: ${i}`), s && d.push(`transform: ${s}`), o && d.push(`right: ${o}`), n && d.push(`left: ${n}`), d;\n}\nfunction je(e) {\n let t;\n switch (e) {\n case "top":\n case "top-left":\n t = "M 0 0 l 8 0 l -4 4 z";\n break;\n case "left":\n t = "M 0 0 l 4 4 l -4 4 z";\n break;\n case "top-right":\n t = "M 0 0 l 8 0 l -4 4 z";\n break;\n case "right":\n t = "M 8 0 l -4 4 l 4 4 z";\n break;\n }\n return t;\n}\nlet S = (J = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n constructor() {\n super(...arguments), this.content = "", this.alignment = "left", this.offset = 0, this.mode = "hover", this.displayed = !1;\n }\n render() {\n const e = ["tooltip-view"];\n return this.displayed && e.push("tooltip-view-displayed"), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="tooltip-container-${this.mode}">\n <div\n class="${e.join(" ")}"\n style="${Ne({\n alignment: this.alignment,\n offset: this.offset\n }).join(";")}"\n >\n <span>${this.content}</span>\n <svg style="${We({ alignment: this.alignment }).join(";")}">\n <path d="${je(this.alignment)}" />\n </svg>\n </div>\n <slot></slot>\n </div>`;\n }\n}, J.styles = [Ye], J);\nr([\n l({ type: String })\n], S.prototype, "content", void 0);\nr([\n l({ type: String })\n], S.prototype, "alignment", void 0);\nr([\n l({ type: Number })\n], S.prototype, "offset", void 0);\nr([\n l()\n], S.prototype, "mode", void 0);\nr([\n l({ type: Boolean })\n], S.prototype, "displayed", void 0);\nS = r([\n f("cai-tooltip")\n], S);\nvar C;\n(function(e) {\n e.trainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia", e.algorithmicallyEnhanced = "http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced", e.compositeSynthetic = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic", e.digitalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture", e.compositeWithTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia";\n})(C || (C = {}));\nvar ue;\n(function(e) {\n e.NotFound = "NotFound", e.Permission = "Permission", e.Offline = "Offline";\n})(ue || (ue = {}));\nconst Qe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAADdklEQVRYCa1XvU8UQRR/s+DtYgGnWAKFsbAArrAiJvIHeBYqXCJgpaVGSwk10USN/gEqn4XSaKJBIRoNYogkmBAMsSBWgCEBAYnH7h234/zW28t+zNzueb5kb2bex+/9dvfdm1lGRfl5/FQDsV8DnNMZIp4SasO1YTzcf4uMq1e8KuXcfPSYsrfvBO0mEVtkjGaI1w8e/b6wCweGn60TJzuIFyaI8yasg8J0nZJzn4g1NARN0jXf3aWdjtPELUtqJ8ZWidVkGle+zWnOnZdJDoTEuXTs5PAHUcQoBTcqciK3hseuunMXwOjrc6exx8gYkBC5tb/vXI1bm0pRTVur2kFhQQxiywlya8WCU/oZfb1KW5QhOpanBAF/tXtBtSNHKJE+61VVNEcsMMqIAQJK0TPdogITSnukQcQ6GGUclQSYppHec6lMaDwTMIClEqXlUGcnaU3StqDCkuqBASyVKAnoVRRfMFk5LCmBmpYWwVp05P8kwAKmTKQE9N4e0c6cLi2L8emskVHfWroQWA6mxBgigL6vd12UuIZVfG+PsvfuU/79h7AxoAEmsIMSIuD0/WQy6CddW0+fEc9myRwekdq9SiYwZftDiEB09yrC2jZZo2POIj87S/bKijefdC7D9hGobW8Xfb9NGhxU5qamqLC+XlKbMWoB2MjhFR8B43L8Xc8aGvbikPX8BeEcECXBHCUClfT9wtIS5Re++HLx/X1CTURJcH8oEdC7u2L3ffPJkDSPNT5OVChIbSUl9gfkKopDoJK+zzc2KPf6jRvvGwvrPyg3Pe3TyRbe/cEhgE6lNTfLfEM6c2yceD4f0ruKYG24eu+IXG6ndQjocY9c4pAZ9Z5RG4Wlr9580rmbU6uk76PS7e1tKaBXGacxufuD5uz5Mft+HGAQyU1OEt/c9HIKz7E/4Kwg7oijTUaJLZrO/oOHUjcUJf6GXqm7fo3qbt7wqkJzvrNDjHOOSN9XUMgzQvG7f4CsiQmfl3askZIfZ6L+2iaKcNEX+Q8LQ3J0sze3KPfyVRTaIggImtWJ8w3QHt5DYtTMDAgMimu1OgriHeIQE5CD5WU6mJ8PaEtL5BzUGGPYQTLiqopEIp0mrb6+hO5OFE8BuTLIjScgTl9sTgz4/rorrs/iEp/SFYphUOLC+VBQ/u07stfWoAcmsJGjtZiT/gCjwA2ac5gDlQAAAABJRU5ErkJggg==", Xe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAIOElEQVRogdWabYxcVR3Gf+ec+zJ33nZnZzrtdrct27VFG5oKXUBooGhFSMAECUaRQHxLUT74RRNL6AcSokZAPpBIojERBRLRxjSChMSCKGCwthQopW+4Rba02+3uzuzOy525L+f4YZZtSyizW7Zs+yTzYSZ3zjzPmec8/3P+94qu5V8iwicwPrbwiHRYNETfNFp8EcwqIMv8YhLEW0KabQLrUUvaI6HxcYSHhYc4WYA01l2xjn8CpnOeSZ8GoqykukeL6JH3BahkbgWGiFAHP9dG/1RAYr5pfgQS2sQ3GEja0tmmcFBuro/IBN/SOrhfIOebYFsIBKDXCWG9K4T1mkj2X56LwnhEgDXf5GYDA5Flq6I0Or5TGHNekQcQxlhGx3dKreWNiPmmcwYQoLW8UWJ0H+erAqP7JPOf8x8H2XM/dtpAAma+SXwMzDZ9zClyDVOrR8zfGmorQCiboDqOLh0HJU8lKwQYDXEMlg1uEjvZgbIdjPlk/ti2AqLKKIUVl7J0YANR0PpMCAEChFAYExM1feqlI5TffYuxQ28Slo7i5HuQlo3Rer4FjLFg5WVcsfHb1MZaE34KWlqIQmhWNOPv7GLfs79l6OUtqHQXdjKL0fHZYc9Mtg/KJvQrTLwHfjnATCkQUjJdP6bsIm2H3ovXsnRgLbv+eDmvProJISXKTU5f88kL+ACMMUilcNPO1HtQNggJfilm4kgTx/MYuO12mpUSe568D7Wo7/TjaQ0YELJlzbMtwPFcauOj/Od399OslpC2g5vspHv1evrWXY+0EgR1n9pYktU3/YDDO59h8sgBnEyeqYVDUCthqhMt4k4CpIIwgDgEBKqj0LJeHM29AOVIokaNd156Eiol8DIQBQw+9TCjX9vMpXfcjQ4dGpUGnYsT9K69nj1v70RkC2gdE4wMkVi0gqVfuI3OnlW46RxIhQ4bNCslSu/u4eiefxLWJpC2O/cCjAahFF6+lyCRwUqkEEIS+hX2P/UwvZdcR8+aS6iXQuIIst394HrEUUhYOsqya+5g7e2b6OguTI/XGrOVyl4HvPjLR9j92Gbc7v62fOZkK2GMxvIyoCMqw4MoB0BgDFhuqhUEY++xZN1X2bDpQdKFApNHG/jlKQFA1IB6CYI6KHvmh8I5OQcIIQgbVZAW6WJfy8q0ZjRsVMGvYGULrLnlx+gIqsd97IRNUKswsn8vxhgSmTyZhReQXmBhexmYgf/PSECr+GqalXF0bYI48KFegaDGyls2sXj1WhoTEcaAtGDy6H+hcZzcmg1kir34JbC9BEaHPP/ArZTf+DtywRKsRJpUVzfLr/oK5cODyGz+7AjQMUjLIXfBaoJqCTvZQaqrm57PbqB//c1EoSYKAhLZJI0JOPL6cyA8LDeJUGBCA1ojlaB44QDlgzvQo4cJUh0ElTF27tuOzOZwcovOTgoF9QaJTJ7P/+gJ0DFC2XgdNtKG+rgmajawEgnSRXjlN7+mvP8VZH4ZE0cO0KzW8TqT+KUmOBaf++69rLjmGwy+uIX/bf8r9aF9iOzsqreyOhbfDZw2r+L6JPmVl9F78dVEjbi16qTAclykbSOFIqgHNKsBUtmkCw6JTsEbW7bw6uObsTJdWMk0jeFBpOPRv/4K4qZN6DeJAkN2cZFll19F78DNJPJFjh98g3DyGHayYybVOziDSgxSSNzM1HowIKSDENCowPDe3RzY9gSDz/0e5WWwvAzGaOzOInu2PoTlprj46xvxcklqo1Af9xEIvI4cA3d8nyWXXs8Lv9jI5OF9JPKL224GZy3Ach2atQn2/OVZtI6RUhE16/jlY5SG3uT4gZ2Yagk734NyEtNWUG4KrTWvP3YPw2+9xKobvkP36vWkFnj4JWhM1GlUFAs/08eVd/2KbffdQNioYzkfHamzFmB7isrIBDseuweqJfDSrfNAHIKbwk53otKdGGOmyQupiBo1dBTgFJdx7PVtHNv9DwoXDrD0shvpv/pWnJRH4DcoH44orlxO95prGXr5T1iF3rkVYHSLUKKzSGC7rUo8tceZvuYD3o2DBqlCD0JalA9unzrKSUZ3/Y3RHX/m4PNPcN29W7G9FFGjiZQWqUJPK/La4IwLmRBy+tUO4eQoHRddzZXfe5B3/vUMw3tfonJ0kGZ1nDjwyS27CKMF6NaewhhoVkszOqp+Yh25wK/ipB1WffkmVl57E345pFkZQ9kuyXyO0I8J6k0yC5NUjlUY3v0CMp1rO257AcYglIVyQNkOygZluyciaCYwMZabxE5AfRyiZoi0bNLFRRgNQS1ECEFHTxIE7Hh8M/6xQ7jFCz7kCDhbAdBajO9zFaDjGBPHM+5GyESGyvDbDO3cTaF/Nam8jVQnuhpG2wQ+jOzfz64/PMSR7VtxCktmNEHCXTowCWROSz4OsVM5kl1FTGwQShI1GtTHDk+N0F6EkIqwPokxhsKn1tK55NN42QVTMatpVsYoDe1lZN+/iaujuIVehJAz6WxU2gp4PwKj2iTIKdsoCzfTNSsbCSGJAp+oVoagMbWpUics4nhY6U6Uk2xrm5MFtLWQ0THKSaA+rKDM4qBujEbZLqpz4anfb3XGTv7BGY8J831TYw46eif1Rs5LzKAKneOQwOR8k/gYmJQIeej87LAbEPKQlFI/fb7yl0I/fX7fZrVUUTomW7KVu9Fw9jrIcw1DjK3cjQ7ZkkrlVoKIX4tMlATWtTL1XE1W03K7EPe70n3AwkV5ueVoQrSItilhHzeGdZyzz0vIsiWtHyLNz5SwkFin+l5J+xEjxBZjwnPzcRthPaqENaLNiX7R/wEwm4tKiBe19QAAAABJRU5ErkJggg==";\nvar z, p;\n(function(e) {\n e.CONTENT_SUMMARY = "CONTENT_SUMMARY", e.PRODUCED_BY = "PRODUCED_BY", e.SOCIAL_MEDIA_ACCOUNTS = "SOCIAL_MEDIA_ACCOUNTS", e.CRYPTO_ACCOUNTS = "CRYPTO_ACCOUNTS", e.ACTIONS = "ACTIONS", e.INGREDIENTS = "INGREDIENTS", e.PRODUCED_WITH = "PRODUCED_WITH", e.AI_MODEL_USED = "AI_MODEL_USED", e.ISSUED_BY = "ISSUED_BY";\n})(p || (p = {}));\nfunction ve(e) {\n return e.state === "loaded";\n}\nconst He = [\n p.CONTENT_SUMMARY,\n p.PRODUCED_WITH,\n p.AI_MODEL_USED,\n p.ACTIONS,\n p.ISSUED_BY\n], Ve = [\n p.ACTIONS,\n p.CONTENT_SUMMARY,\n p.CRYPTO_ACCOUNTS,\n p.INGREDIENTS,\n p.PRODUCED_BY,\n p.PRODUCED_WITH,\n p.SOCIAL_MEDIA_ACCOUNTS,\n p.AI_MODEL_USED,\n p.ISSUED_BY\n];\nlet k = (z = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n _getAccounts() {\n const { settings: e } = this.previewData;\n return Object.entries(e.accounts).reduce((t, [i, s]) => (s.included && ((0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.isCrypto)(s) ? t.crypto.push({ id: i, label: s.label, type: s.type }) : (0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.isSocial)(s) && t.social.push({\n id: i,\n label: s.label,\n // @ts-ignore\n type: s.type,\n url: s.url\n })), t), {\n social: [],\n crypto: []\n });\n }\n _showSection(e) {\n if (!(this.showMandatoryClaimSectionsOnly ? He : Ve).includes(e))\n return !1;\n const { actions: i, settings: s, modelsUsed: o } = this.previewData;\n let n = ["generative_fill", "generative_expand"], d = !1, A = !1;\n i.forEach((h) => {\n if (h.digitalSourceType === C.compositeWithTrainedAlgorithmicMedia) {\n let I = h.parameters && h.parameters["com.adobe.tool"] || null;\n I && n.includes(I) ? d = !0 : A = !0;\n }\n });\n const g = this._getAccounts(), u = s == null ? void 0 : s.edits;\n switch (e) {\n case p.CONTENT_SUMMARY:\n return this.isUsingGenTech || A || d && u;\n case p.PRODUCED_BY:\n return !!s.identity;\n case p.SOCIAL_MEDIA_ACCOUNTS:\n return !!(g != null && g.social.length);\n case p.CRYPTO_ACCOUNTS:\n return !!(g != null && g.crypto.length);\n case p.ACTIONS:\n return u;\n case p.AI_MODEL_USED:\n return o && (o == null ? void 0 : o.length) != 0;\n default:\n return !0;\n }\n }\n _getEditsMarkup() {\n const { editCategories: e, theme: t } = this.previewData;\n if (!this.showMandatoryClaimSectionsOnly)\n return e.length ? e.map((d) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-edit-category\n .icon="${d.icon}"\n .label="${d.label}"\n .description="${d.description}"\n ></cai-edit-category>`) : null;\n console.warn(`Edits Data ${t}`);\n const i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString("c2pa.edited", "label"), s = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString("c2pa.edited", "description");\n let o = "https://cai-assertions.adobe.com/icons/edit-in-light-dark.svg";\n const n = t === "dark" || t === "darkest" ? "light" : "dark";\n return o = o.replace("-dark.svg", `-${n}.svg`), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-edit-category\n .icon="${o}"\n .label="${i}"\n .description="${s}"\n ></cai-edit-category>`;\n }\n _actions() {\n if (!this._showSection(p.ACTIONS))\n return null;\n const { showMissingActivityWarning: e, theme: t } = this.previewData, s = e && !this.showMandatoryClaimSectionsOnly ? (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-missing-activity .theme="${t}"></cai-missing-activity>` : null, o = this._getEditsMarkup() || this._emptyActions(), n = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.editsActivityTitle",\n defaultMessage: "ACTIONS"\n }), d = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.editsActivityDetail",\n defaultMessage: "Changes and actions taken to produce this content"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${n}"\n .detail="${d}"\n ></cai-detailed-title>\n ${s} ${o}\n </div> `;\n }\n _emptyActions() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.none",\n defaultMessage: "None"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="accItem accItemUnindented">\n <div class="label test-category-label-none">${e}</div>\n </div>`;\n }\n _contentSummary() {\n return this._showSection(p.CONTENT_SUMMARY) ? (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="section sectionBorder pdSection">\n <cai-content-summary\n .digitalSourceType=${C.compositeWithTrainedAlgorithmicMedia}\n />\n </div>` : null;\n }\n _producedBy() {\n if (!this._showSection(p.PRODUCED_BY))\n return null;\n const { producedBy: e } = this.previewData, t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.producedByTitle",\n defaultMessage: "PRODUCED BY"\n }), i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.producedByDetail",\n defaultMessage: "Chosen name of the person who exported this content"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${t}"\n .detail="${i}"\n ></cai-detailed-title>\n <div class="label test-produced-by">${e}</div>\n </div>`;\n }\n _socialAccounts() {\n const { theme: e } = this.previewData;\n if (!this._showSection(p.SOCIAL_MEDIA_ACCOUNTS))\n return null;\n const t = this._getAccounts(), i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.socialMediaTitle",\n defaultMessage: "SOCIAL MEDIA ACCOUNTS"\n }), s = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.socialMediaDetail",\n defaultMessage: "Social media accounts connected to the producer of this content"\n }), o = t.social.sort((n, d) => n.type[0].localeCompare(d.type[0])).map((n) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-social-account\n .theme=${e}\n .label="${n.label}"\n .url="${n.url}"\n .type="${n.type}"\n ></cai-social-account>`);\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${i}"\n .detail="${s}"\n ></cai-detailed-title>\n\n ${o}\n </div>`;\n }\n _cryptoAccounts() {\n if (!this._showSection(p.CRYPTO_ACCOUNTS))\n return null;\n const t = this._getAccounts().crypto.sort((o, n) => o.type[0].localeCompare(n.type[0])).map((o) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-crypto-account\n .label="${o.label}"\n .type="${o.type}"\n ></cai-crypto-account>`), i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.web3Title",\n defaultMessage: "WEB3"\n }), s = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.web3Detail",\n defaultMessage: "Web3 accounts connected to the producer of this content"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${i}"\n .detail="${s}"\n ></cai-detailed-title>\n ${t}\n </div>`;\n }\n _noIngredients() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.none",\n defaultMessage: "None"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="accItem accItemUnindented">\n <div class="test-asset-label-none">${e}</div>\n </div>`;\n }\n _hasIngredients() {\n const { ingredients: e } = this.previewData, t = e.filter((i) => {\n if (!ve(i))\n return !0;\n const s = !!i.thumbnail;\n return s || console.error("No thumbnail on asset", i), s;\n }).map((i) => {\n var h, I, L, re, ce;\n let s, o = [], n, d = null, A, g, u = !1;\n return ve(i) && (n = (I = (h = i.thumbnail) == null ? void 0 : h.path) != null ? I : void 0, {\n active_manifest: d,\n validation_status: A\n } = i, s = !!d, g = i.title, u = (ce = (re = (L = i.metadata.adobe) == null ? void 0 : L.photoshop) == null ? void 0 : re.hasHiddenLayers) != null ? ce : !1), A != null && A.length && (o = A.filter((R) => R.code && R.code !== "assertion.dataHash.match").map((R) => R.code)), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-asset\n .hasClaim=${s}\n .errors=${o}\n .path="${n}"\n assetSize="48px"\n .assetTitle="${g}"\n .hasHiddenLayers=${u}\n style="height: 100%"\n ></cai-asset>`;\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="pdIngredient">${t}</div>`;\n }\n _ingredients() {\n if (!this._showSection(p.INGREDIENTS))\n return;\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.assetsUsedTitle",\n defaultMessage: "INGREDIENTS"\n }), t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.assetsUsedDetail",\n defaultMessage: "Any assets used or added to this content"\n }), { ingredients: i } = this.previewData, s = i.length ? this._hasIngredients() : this._noIngredients();\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${e}"\n .detail="${t}"\n ></cai-detailed-title>\n\n ${s}\n </div>`;\n }\n _producedWith() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.producedWithTitle",\n defaultMessage: "APP OR DEVICE USED"\n }), t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.producedWithDetail",\n defaultMessage: "Software used to make this content"\n }), { producedWith: i } = this.previewData;\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${e}"\n .detail="${t}"\n ></cai-detailed-title>\n <div class="accItem accItemIndented">\n <div class="accIcon">\n <img\n class="accIcon"\n src="${Xe}"\n alt="Photoshop"\n style="width: 18px; height: 18px"\n />\n </div>\n <div class="test-produced-with">${i}</div>\n <div class="subtext">\n ${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "title",\n defaultMessage: "Content Credentials (Beta)"\n })}\n </div>\n </div>\n </div>`;\n }\n _modelUsed() {\n var i, s;\n if (!this._showSection(p.AI_MODEL_USED))\n return;\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.genAIModelUsed",\n defaultMessage: "AI TOOLS USED"\n });\n let t = [];\n return (i = this.previewData) != null && i.modelsUsed && ((s = this.previewData) == null || s.modelsUsed.forEach((o) => {\n t.push(o);\n })), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="section sectionBorder pdSection">\n <cai-detailed-title .title="${e}"></cai-detailed-title>\n <div class="accItem">\n <div class="test-model-used">${t.join(", ")}</div>\n </div>\n </div>`;\n }\n _signedBy() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.signedByTitle",\n defaultMessage: "ISSUED BY"\n }), t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.signedByDetail",\n defaultMessage: "The entity that recorded the Content Credentials (Beta)"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="section sectionBorder pdSection">\n <cai-detailed-title\n .title="${e}"\n .detail="${t}"\n ></cai-detailed-title>\n <div class="accItem accItemIndented">\n <div class="accIcon">\n <img\n class="accIcon"\n src="${Qe}"\n alt="Adobe, Inc"\n style="width: 18px; height: 18px"\n />\n </div>\n <div class="test-signed-by">Adobe Inc.</div>\n </div>\n </div>`;\n }\n render() {\n if (!this.previewData)\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="pdView">\n <div>No data found</div>\n </div>`;\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "preview.info",\n defaultMessage: "People will be able to view the following information with your content."\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div class="pdContainer controlsView">\n <div class="controlsContainer">\n <div class="pdGutter"></div>\n <div class="pdView">\n <div class="section sectionNoBorder pdInfo">${e}</div>\n ${this._contentSummary()} ${this._producedBy()}\n ${this._socialAccounts()} ${this._cryptoAccounts()}\n ${this._actions()} ${this._ingredients()} ${this._producedWith()}\n ${this._modelUsed()} ${this._signedBy()}\n </div>\n </div>\n </div>\n `;\n }\n}, z.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .label a {\n text-decoration: underline;\n }\n `\n], z);\nr([\n l({ type: Object })\n], k.prototype, "previewData", void 0);\nr([\n l({ type: Object })\n], k.prototype, "waitComponent", void 0);\nr([\n l({ type: Boolean })\n], k.prototype, "showMandatoryClaimSectionsOnly", void 0);\nr([\n l({ type: Object })\n], k.prototype, "genTechInfo", void 0);\nr([\n l({ type: Boolean })\n], k.prototype, "isUsingGenTech", void 0);\nk = r([\n f("cai-preview-dialog")\n], k);\nconst Ge = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S HelpOutline 18 N</title>\n <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M10.09064,12.966a.9167.9167,0,0,1-.97722,1.0076.93092.93092,0,0,1-.97769-1.0076.97756.97756,0,0,1,1.95491-.02931Q10.09085,12.95135,10.09064,12.966ZM8.97658,4a4.61617,4.61617,0,0,0-2.2591.5362c-.05924.03139-.05924.09215-.05924.15342V6.17521a.07459.07459,0,0,0,.11854.06076,3.69224,3.69224,0,0,1,1.87246-.50481c.90632,0,1.26328.38278,1.26328.93417,0,.47493-.28253.79645-.77259,1.30176C8.42665,8.70278,7.99526,9.1615,7.99526,9.8815a1.70875,1.70875,0,0,0,.357,1.05721A.244.244,0,0,0,8.54519,11h1.2929a.06531.06531,0,0,0,.05931-.10734,1.65129,1.65129,0,0,1-.23779-.843c0-.45874.54994-.96405,1.12955-1.53113a2.73714,2.73714,0,0,0,.95107-2.1129C11.74024,5.05774,10.75955,4,8.97658,4ZM17.5,9A8.5,8.5,0,1,1,9,.50005H9A8.5,8.5,0,0,1,17.5,9ZM15.6748,9A6.67481,6.67481,0,1,0,9,15.67476H9A6.67476,6.67476,0,0,0,15.6748,9Z"\n />\n</svg>`;\nvar K;\nlet N = (K = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n let e = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)``;\n return this.detail && (e = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-tooltip content=${this.detail}>\n <span class="helpIconContainer">${Ge}</span>\n </cai-hover-tooltip>`), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div class="detailedTitleView">\n <span class="title">${this.title}</span>\n ${e}\n </div>\n `;\n }\n}, K.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .title {\n font-size: 10px;\n font-weight: 500;\n color: var(--spectrum-global-color-gray-700);\n letter-spacing: 0.3px;\n }\n\n .detailedTitleView {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n }\n\n .helpIconContainer {\n color: var(--spectrum-global-color-gray-700);\n display: flex;\n }\n\n .helpIconContainer svg {\n width: 12px;\n height: 12px;\n }\n `\n], K);\nr([\n l()\n], N.prototype, "title", void 0);\nr([\n l()\n], N.prototype, "detail", void 0);\nN = r([\n f("cai-detailed-title")\n], N);\nvar F;\nlet T = (F = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n let e = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)``;\n return this.icon && (e = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img\n src="${this.icon}"\n alt="${this.label}"\n class="accIcon"\n style="top: 0"\n />`), (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="accItem accItemIndented">\n ${e}\n <div class="test-category-label">${this.label}</div>\n <div class="subtext">${this.description}</div>\n </div>`;\n }\n}, F.styles = [m], F);\nr([\n l()\n], T.prototype, "icon", void 0);\nr([\n l()\n], T.prototype, "label", void 0);\nr([\n l()\n], T.prototype, "description", void 0);\nT = r([\n f("cai-edit-category")\n], T);\nconst Je = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<svg\n xmlns="http://www.w3.org/2000/svg"\n height="18"\n viewBox="0 0 18 18"\n width="18"\n>\n <defs>\n <style>\n .fill {\n fill: currentColor;\n }\n </style>\n </defs>\n <title>S InfoOutline 18 N</title>\n <rect id="Canvas" fill="current" opacity="0" width="18" height="18" />\n <path\n class="fill"\n d="M10.075,6A1.075,1.075,0,1,1,9,4.925H9A1.075,1.075,0,0,1,10.075,6Zm.09173,6H10V8.2A.20005.20005,0,0,0,9.8,8H7.83324S7.25,8.01612,7.25,8.5c0,.48365.58325.5.58325.5H8v3H7.83325s-.58325.01612-.58325.5c0,.48365.58325.5.58325.5h2.3335s.58325-.01635.58325-.5C10.75,12.01612,10.16673,12,10.16673,12ZM9,.5A8.5,8.5,0,1,0,17.5,9,8.5,8.5,0,0,0,9,.5ZM9,15.6748A6.67481,6.67481,0,1,1,15.67484,9,6.67481,6.67481,0,0,1,9,15.6748Z"\n />\n</svg>`;\nvar q;\nconst ze = {\n [C.compositeWithTrainedAlgorithmicMedia]: {\n locKey: "contentSummary.summary.compositeWithTrainedAlgorithmicMedia",\n defaultMessage: `This image combines multiple pieces of content. \n At least one was generated with an AI tool.`\n },\n [C.algorithmicallyEnhanced]: {\n locKey: "contentSummary.summary.algorithmicallyEnhanced",\n defaultMessage: ""\n },\n [C.compositeSynthetic]: {\n locKey: "contentSummary.summary.compositeSynthetic",\n defaultMessage: ""\n },\n [C.digitalCapture]: {\n locKey: "contentSummary.summary.digitalCapture",\n defaultMessage: ""\n },\n [C.trainedAlgorithmicMedia]: {\n locKey: "contentSummary.summary.trainedAlgorithmicMedia",\n defaultMessage: ""\n }\n};\nlet ae = (q = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n const e = ze[this.digitalSourceType];\n if (!e)\n return null;\n const { locKey: t, defaultMessage: i } = e;\n if (!t || !i)\n return null;\n const s = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "contentSummary.title",\n defaultMessage: "CONTENT SUMMARY"\n }), o = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: t,\n defaultMessage: i\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div>\n <cai-detailed-title .title="${s}"></cai-detailed-title>\n\n <div class="accItem accItemIndented">\n <div class="accIcon">${Je}</div>\n ${o}\n </div>\n </div>\n `;\n }\n}, q.styles = [m], q);\nr([\n l()\n], ae.prototype, "digitalSourceType", void 0);\nae = r([\n f("cai-content-summary")\n], ae);\nconst Ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAARlJREFUOE+tk4GxQ0AQhv9UQAlUgApQAR1ECVRAB+/pgAroABVQghLuKkjuv8mZZMR4k5edWQz//83unr0AsFX+qEwfz+p2GkIpepXFRV0alddTy3tBSwBp1ocAQcDtQ7O2bQDbtuF53gtrmqZT9gaIogjDMGiDlBKWZaGua+R5jqqqUJal/hbHMcZx3MA7gBHQlGUZHMeB7/tIkkSb2rbFuq7HgGVZIITQRoqbpsE8z7oaviPIdV2teZmBaaEoChDC0sMw1EaWb8qm7rmNwxbSNEXXdeAgCaKJQQCrMm3sAKY0ngrNBFHMNhhBEOhWdi3QwGE9hymb3zhQRt/374d4euAHgv/+yvIry8R1/lXJdf7rUkmOQ2V+B3VsjEaSCrWtAAAAAElFTkSuQmCC", Fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAACklpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAAEiJnVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/stRzjPAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAE1SURBVDiNlZNNK0RhGIbvsaOEnUg2tkZpFlLCDxBlPbG1HjZ+gIWiLGbFRqnZyUoWoiyVMonlZDEbsTGKfIzL4tyn3o45x3jqrefrvs7zPuccAXtEdgs0gW9gDFDGWbNmRMCgg3UXL4GHDPGc+5cAxcll4CVo+gAqLcQFi1fjXFg8Bu7sT7pxIaj3O7cbQpNPeAM27W9ZENfegdPkVDlAgc1KOpNUkHQlqSqpLiknaUjSqJLW4p5loGG/21PU0paatul74ND+CvAF9P4HEC+s6PjE0LYB0wY0gI7g1ZbbAUxYPA8cAFXnZ5yfygIMu2nbcafjDcc7wGsaoMvNRwnoovN5xzWij+4XoA7cpOykAjzb7yH64Yoh4Bp4TBHH5wk4t1/yVAPyfZtA3x+AceDTk14YsP8Du3oYpKMMOQcAAAAASUVORK5CYII=", qe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABGdBTUEAALGPC/xhBQAACklpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAAEiJnVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/stRzjPAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAJcEhZcwAACxMAAAsTAQCanBgAAAGISURBVCiRhZC/yupAFMQnYISAEQJWWvinE3RfwFJQkka0kKCtWKQQRCtfQUSwsBW0FcwTiAhiExD1BezsjCDaydwiH7le9fKdZnf2nN9ZZlCr1QBEo1EAAA6HA7/VYDAAcDwecblcAAyHQ5KFQiESiXxO27YNYLFYkATJyWQSCoW8nizLpmm+TjuOA6Df73sS3mEYRjqdJrnZbPxlJM/nM4BGo+Hz8G+KonS7XZKdTgf4eQ8Gg/l8/vXDv8ByuQTgOA5JIYRhGLquZ7PZNz94FZZlqapK8na7AUgmk58B4E3H4/FyuUxyPB4HAgHXdX8BPJfT6ZRksVhMJBK/AKvVCoCqqs/nk6Qsy5Zl/RfYbrcAbNuu1+tCCJ9fr9dfgNPpBKDdbpN8PB4Aer0eyVarpSjKO3C/3wGUSiW/MZ/PAez3e5KpVErX9X+AWCyWyWTe/JimGQ6HSV6vV0mSZrPZD5DL5TRN47fSNK1SqZAcjUYAXNdFs9mUJOkzb692u50XmhACQLVa/QPYQyL6VHbkSgAAAABJRU5ErkJggg==", $e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFKGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjEgKDIwMjExMTA5Lm0uMTU1NiBjMWM5ZGE5KSAgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTExLTEyVDEzOjA2OjIxLTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0xMS0xMlQxMzoxMDoxMi0wNTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMS0xMlQxMzoxMDoxMi0wNTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N2UxOWZkMDEtZmE1NS00YTJlLWE2ZDktYmQ3OWZmNzEwNmM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdlMTlmZDAxLWZhNTUtNGEyZS1hNmQ5LWJkNzlmZjcxMDZjNiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjdlMTlmZDAxLWZhNTUtNGEyZS1hNmQ5LWJkNzlmZjcxMDZjNiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2UxOWZkMDEtZmE1NS00YTJlLWE2ZDktYmQ3OWZmNzEwNmM2IiBzdEV2dDp3aGVuPSIyMDIxLTExLTEyVDEzOjA2OjIxLTA1OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjMuMSAoMjAyMTExMDkubS4xNTU2IGMxYzlkYTkpICAoTWFjaW50b3NoKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7jqbe3AAAUXklEQVRogW2ae5BvWXXXP2vtvc85v1+/+/Z9zp2ZyzAM45AMBAREMEMkBvFRZSg1FkkoIFFLkgomqRSaP4yllTKlJpkgxiTyEBLxD62ktIzEAFIY0RgeMoOZjAzDXB5z58599O3u3+s89t7LP/bpnjuQ07X7nN/ps39n7b32+q7v+u6WZ+9/CABMoUrofB856iCAeGHo1kitf2Hs69da9g+ahbuThdOWw1YmrGVCY4QqE1w2r0aQTMAIZLyMZyvn8VpcNgspE3qT0BpuYbgj1K6DfTVn/8XaH346uNkTPiyw7ElWodpz4eynmU6uEuMUAM8fd3gFMeJM35KW9sN5kO8SEobDMMq1IgiKkAEdux5fZwzFsOfdN8Awg3zc13R8UsipIVEBShqmuLj7qcZufKAO1z/sZIXhvtXU530SwSoP++2rbZXek/vqVcKAYmSq0YCMEYoh2Ilhtw/Cxt95POt457nByfMGSTEfIaMMZCoynmjrD826zYfaeOpdk/DMu5rq2v8QyYDcPgA7+WChwl2bv1UODz+UqXHj7NqJAeGk6x9/lvEnA+nE6PIXd2K8jRMhKBkjo6NHM8W8iAAyDm5Imy/v0+7vmfm/Ffwn/7XKADYBMfyxW/JkjfDM5e8PV7/2ocw6kMgns19eLl4+o5U8bsbTOXNoYsuc80omqY9dlSS1mSbYcr5HstqcTwg9OSZCNafvN8WHlaytP6P9ctPFOK0k5EY1T6NNtrtu94JXu3+IW38yUWmZEMPRkgnsdy/7tev7j+e77vid99uwhSD4jCfVU8L8+osmV/7wN8osZ8rSSWRsppvNP6Pxv55NLkst5M6gy5hmiIJuJLIZOvTo1LC5J9Hg/QLMkJjx1YK+X8f5nunWdUiCmRAmK5r6gLbfI+aGaXMDk6/fFePa9x/MH/ipnu2dwAzHQGDOk9e+733TtWf/YHvrj764as+gbjLDu33WvvH533TYuAQGHHPUxU/JqeY+tif/mOAuk8EiWBIs39bieDYlJ4eZlMgwh5kvwZ/Dyb001OTsMXMM/Tqr1R6qA15XxL5GLH1tUl/7J3fsffy+3ekjH2s5hSF4loDx1Ne/9zfbdgeVDkUSk4PLf8n37bdlAaHHsSBPd/9Xf8+LX4/qVboB0nOx8s2H4ci5JueAiYIwerA0IY1B7clWgSopNvTDOlV1yO7u4+xu/yFNuEbsa7rVNl23yXR69cZL7vuV7zk1/cKnOrYwlIZ9FvHivc9cff1fa1d7eA4Md3Tr78kESIK2hjlmw6WLb8jTNVx/iKwKXtwe/ZiRk5Kzx9tAXd1AXYfGxM7aLUwES4rhSG6NLMpms8B8ILdKPd1n69RX2Nq9TDO5xezwIl278wMpN28yc4ehmj3cbNz8UrQ17jzzu9+zvHzuWmK6pQw4OvYPHny30v177+PBOReWrzUTZBCkN7qNcz+XB1v5a9/AnCd7D72dwI3FYrxbTzSyj2eFVRnLDusd4nuyBVKqMTKmA+AI9SHZPGnVMNm9TrUVWbWn6YYdDq6/4Ke7fvtnlUS2ivn87h/uhy9+G8KXnFv1Z7d//x8+ffCGXyxQ25JoXhHT2l1yeO/Zv1F31/5djgpdhgEWuy85n9zGVU0dJiDOkCETjxScw1wFaw0hHOEWN7HoiKnGskJyJGqyOCwGDEe0dbIoTnoMjzgDVVZ2Hsyw5LYXs/O3ipcVwzOwjurwG9Xk6Aen06sIsn31+uv2E5UYjoFNTm985h1ew/BgWbSKpETya49ZVV91dODyczhfg04h+xq3GRCn2EzIKZQHFETADCzKWcvuhTm6PcNhIjdReRLPVZEMqmCRyh0gjRIXzbrSj2nNjYktQua8lxbLjtDMDupw/fPL4eIrHD0RY4jrD3r18RKqiAmShWzVI9INCMNJTsUEtR5b38GqKaQey1YGJwIO6NjOS3l76t2bc9RXZrTOo0FWqEcfXfM5vP6Wm8b3q6b9OtyiWmvR7fSNuKo+PWsvvtYzkPAkKs6f/f0PnLvjM1y98qeYL+9ESY8q3SuEjGNFjNNLKlU+Y16gAmpBnF1xNscxx7HAscTbAXgh+S0kDowJErwDFeww/qTtD0/aMv0CMb1OGGqlp7RhPPeVJV6TOvdP+4PJV/rlxrtzElLvoR7Yuvsrf2USbvwupAHyrbM7n/mZs+f+z0eGboPDo3tYrc5gplccK5SE0mImp7x4WRcnI3YLSpo5myOSTgBHbCCGc5g5hAExI9cB5lbJjYP/ZJ17o1CNOGUjPTjmSIYSyBRHCZls1dawmvxcintvXA/7f7nJi4Xzw43p+o039l1/Tqq42Dr11Zm6gfnBC/H1nPXwNRazC7M+ro95qoUsa57KJpK1kBYRsvllTvXJAJSBqKfp5AJqPZmA1RMkrlz9tSc+yzB8OyP1sJEFyTETlWoOmJltGMcTxHiVGIb175o/e/pzzeb8pXW17OYIaaiuVk1PioEYJ8yPziM5YYMgFpclrxzDoUyUmsa8QBAIivq48mGFCy0+rPBhSXKbiCREO8Rn0Ejz1CO/HYb9bwc3Jq0eoUV9/ILfsB8Pe/YdumYXJXBRNnhZWGvf5Vz3OYhARIgE5qQoL95/6s7/asHYuPMy62e+QRwaRGB26yLL5SnojNg1WJJVec+AEFH6younKvABIkYepsNgW4hGZFwAKU4RWxaCFyY0zzz+jsnyxhsHAkrEiBiCbe3+uKz5h0HJCHRlrnH6iNb9I37d3uN7+5H2lr23BB1UzOnarYdmV0796O6LnnpvM71Jc3ATJ5nl/mmayRGeFnUDhh+6IY6eFAwNnqBOXMas8D43XUYdEUhdR9eeJrUBpy3ZebSdVdXB13/ZRtpbCLGnu+PFf4HaPiqLJZZ9If63VTMWFVPBbcV/2QR7vLsmH8/jA4E57ZXdh+eT7oPq0sK7FUixiTE+zSkiOSk94MiFtTmVxhSvSAAqh/revJvh/RxfLZE+oe0S6ZdIP9DMLr8juFTnWhAxHInh7N3v7C/e81GTClLi9hrjNsJE7hV8Q7hUf6I+n95WJiCOdNnc6vrW387m6Beb5L581/LwFO3RLsv90wyraXa0J+iGZVW8QHXcDKsaYtgkhQ2i3yIOU4gREsgw4Gz2NmtAakEVUjN9bDh1x79yR/tYmJLXdiDlktFuP8TQaQKXyIc9frv9UKi7z3MyiI68kh/IKwfRsF5xaY7EIyy2WFxCbk1JJzGnEvFUUmDBQF2inZ+xfnEK54dCI1JLVR1g3qP0u96Wr86MjDPAsH3mX1g2XLcoGbaqsWnGuhJXZmDZIc2ACyts0UIGrRN+rfml2PkPATg6bAjfkZa6pz7eiDHg3ZJT208A4LSjbU/ZbHlprFMEBfFSlwg2E2yoqNb3qZpbiEtYVrrVBuYc+IxLq5fICK5mGZsIBPnvvruG5qFUkSJQQ8YzzCeYKWFtiZtmSL5MliuVsmvSpz0dacwhGSG3+jIq/XhJJII2BXjVezQxol2pvrMZniBCLqWbiWGxsiwBCaXashVYm0swhXyKphhZKl/tXXd4xXWz5617EUNcgtCx7O+A1UBaZsx0rHM59vrTwjBT2CgSgeK0O+2qHrFIjFNuXb2H4ypR6fEsydTHAoL4IjAoSEZEoAOGEf5EEAc4w9RKKq0UsoBJ4U+WR/J1mzggYKo0O9ewEGj7s4jFk3IeytIqCS+OQCUoCqTnFApJOPqTxFfWfhxrkzIHXoKYYSBaXHZrEFn1pQLLgmzuYmseEUU03yQLhNJdzCpzaxeyqw9kNARKaamywlKgbm7gqo4UNp+HUOLAei4M87BRCtChrHWfr4uCZEHUaNZvYeJQSaReiW2FEkeqIuapZfSmoSHRDtsMB+toM8oiSyuogIL3j4WN4+elvHRIfybH8JhKLLEhHokZ0fI5pYDLc0SEXNdITpAzUitpKa+TcT6P1R6t7QtaGSo9sZ3SzacnHhaiOPoTqSaDebwYuXTOMRDO3pJq6wY4QUJi9aUzDDfXkTqRaG5mN/nfTuevNguA4PP8x7rh/K8mmYAJPswRbY/XSPEIDlYDJg22sVZerYLN5u8qibAsLlfpF5g0N3IyEIc4Ybp1sywpzaTWM6yakUrIqCZVYlRAEMSDbHo4XcFuQM8r7FQMww6JDeKwxzBs/xudRCQUFc9X8wdc6P7Oqr4PvKLWITrG0HNhDSplEL0ybN9JPpS3aTd7uYy8SOgJG6tfr7YWhLUFYWsBKSHLJW45xy1muH4pSkRIo1gQzZuoSTPKe86IizVNiwbxiSQD2RpyVyOVkKNjdXTxg/XG9Yd10tW5jJw1nvhlTf3ljHzU8GNIftMhAs5DHAiXv/rd7uqVDxpuxPQOR51kd/qr1mcsASlj6slNVUiDeqxT1dRzLFuqmKkESYVG6KhIm0MzqGGD4s8tkXVI/QScMrTb3fLornfqWiyZOwSkNqbhy/8lcPAThscslJUtI7EWR9YaE4c/uvGjzdU/+pijHVFoQFkgZ5u/mze3F0k2yPU6fd4jR08zOSRMVoS1Jb5qXcncx5JNTJ6KHlEkG2YOt9MH3e6PURRd6+me3KV7fA/dHQhhSXvjrg9U01t/td68+qZ0uIaNinKVb/68j4u3pn76YSz/niX3NbGI5HxRh/Z1bjF/qxvalyd8SU4MGAtscuaTdu70e6VtwTLiIM4zw36Fih+RS7FMVfocq7A2eGppMSlcR420CpO0qArvN1B11Pce0j+xA1EQFxE88ysP/EV3z/ILfvPowXQ0pQjdikr/UrXVz1vvsYHeiSEpVzIU7MgCaomScJZEv/X/0qW7/zxZIOYya0mwWaKazEr9D4hmcls1Q6vP5RLJnRLdSqa5BHENOJ0WOdBj4knzKf6uFdWLjsjzgjxatVgMdvjUK17Zt6d/x220SBPBl8C2qir1dbBKg1VUgjUOm2i5PwonVk3+23Dp/ldYNeml70riDEJeZqxrcZrGgE2oJIQ0LQh0XNDEVgkyk0pPGKl4NoSMyNhyRsRoHthHQintMEGrFXmo+/nT972pm+/9pPnqpk57tE7IiGrUCpWjfL8hPuO8YY076Nd3393u3v0Gq6qFdG2ZeQHLQp4NiANxcltThLQh9BRGGlE3LLyZXKcRpC2rICe5EL8RkOlxugCuBXRjwJ+f0z62hz+9QuqE+h7nO/rD07/Qeff+ev3a21WXb9ZqeKVIanAZ9Dj3apdk8tlUr/1WdJsfzFn3JWaIPeZqMMV8jS2WkDo0CM/jV94Q5EKhEqVeEnU3fdqvL/t7O1g6RDO6ZS81F7CiBiJS0Cjfqpk+dA1/oWP1mT3yLKBbCTSjviem9cO+3XtY4+JhJ4szAi9MrZ7S3IlUdiPZ9CuD23zWCMgwoLE9QassE4SBsLwCqxmpLvtfI8kZdTcjp/CgjknPcDgdnvLDlcmjTZhhFZAc7lR6QOp4Lh+FqzpNRTqPGX9uwJ9uqe+dUd93wPLTZ2ifPIX0NX5njriEal9IXdZryaprqQuFckwiGY9YRnJX5MQs5FSRCXjbJ3RPo8sjsk2KOlI15Xmzso/Uy7YM6eVlC2pU0ev8qPc7q08yOKjBWtDdRLiz/6H2UfezUkdyF/CXItW9S/JVj3WO6q4Ffvcp6iduMXy5xmZgKyX1HpcGzAGSx8osw2AQIWcPUZEcUd+j0xVqX8F1B5CtqNg54IYZeEdqtpDYwiRgs+7tQifCc3txul1/wv39+3cX/o785+RsvoulgoLb6V+1+PjeL63+4NRQ3beietGqsK0lSAXWevLCEU7Pqe8+QqYjfX7BDDShIRU6kUD9gDaF+6iPVJuHMPH49SX15k1kFTELIFXZOMEVJhwzWRvizkUsauWfvvrbmDXH5rsqfc6dSv/c/djB/eD0Wv2di7cwV6xXdCdVbiv/2XSjer+/OOA2E6IZulJGihjWgy09JCEPijQwfelNdCvhTht+p8fvrPBnI24r4eoVoT6i2p6R3Br0hspA6pqTQD3eT5BsoL5k82yEK09/QvvFi8vuaOGhute8Szf8Y8rUs/jY7n+Oj0/+r7xgQLyQZxX1qw5fs/POy5+SOp5LB34sYr6Z34xAEQVrlTzzWF9gR7whVWnHEoslJfeKDSM02bcwJkAwUXI1QSzvTZ565GNh8cxDoCgRZYkGvmynd/9DtC1UFPJ+4OA9F96MCHI+Ik7IRw26I985fc3hl8L59h+A3WMZSAJZiruTjJqPYIMDd6xmFzy3oeyfcVs/zMq+WS5KqWVX9tI4boJYujscXvvp5uqTX3K5/W7wI/dZ4ujhzjPfi/dITsiz970exBgu16x/3823bP2jp/8tzzjspmARxBJkw46EvLDPMsjjRHvaWg5tYCEptfnI9XnlU3VmlvNcjWjQGbbMhTZ2JjbP0BqiUYZ2R+miU9oqr0JDsinJtqyzO2RIL9aue6Usc3n1uOFxXDP05//ED6Wz5z4g7aowomfvf6gshWj0l9fYeMezP7j1E1c+zFyxa4p1wJAhjpVZb9AbMpRr66EkJCPPtfCZ3gryDOXvBYUMBrCu6EvEcl2ez2XAg419x53PvkyEWHHi6sIDf3M4d+l9brU80Z3cT+1dKm73YE5JXw2POtd91O3Zg3o6XxRXZMGyuS7IcWYZ5fgSBkXdlpHBljQ5ashyHCwnoVrqb+SkFeqtY+ZUTMq3OjMkQ3bV57rdu/56f+HSf9R+QPJzLOG5AYwClD/b49a7p/tHm/flW/4J3Uw7OrEX6HpG6pHI+mNpRMp74TYtVIrRJ4YXCfJEBzFFJD9nP8c0yBDJI88xTITspp/q1/d+ppue/5EcJl/HF8Yrt6l+z/9nj/G+bmXSLaX7/OQj9Okj4e7uhfH6+p/WJj7odoa7rfWnRdKGmU0sWy1qAUypTJFc/JAFqmNDpXAdZyZ1NvCZbNmyDXg6sq3MM7es17MPX0X4Ytb6fw7NqSdMDVlEJHZkvvX4/+fva8BYM+FVAAAAAElFTkSuQmCC", _e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABVUlEQVR4AaVTvU7DQAy2nQwhVdkYmFqQkJBYitSJiXbqCiuMNLCCQCw8ATNDBQ/A0hllQZCwdmVEygsgVfyUIOXOOCGpKhSJnPp5sH2yv7N9Pqx5wR0z9AARwQQsgugTM+bJrIE5rkyAIsw9ygxghWhdEKi2OJcmJJTr9wTU8OOm+8y2HoIBKG+nbjGcOkf3XUysExMCdL2Qq0XSK7K2JXgxK3q2ghw7mtSKVHOcOlqrTupLeVdMuIvqewNsZ13mvSdDfyuS7MKQhHF83YmcfjjOHtSGKB50IvBG5zBoT2Yuul3wHjcR6OxvBaWo4deaexi+uN5T5Hqj5awboKCshVLIcuxLG6sy6gbRZCtL0vhZmQCZlwqbFdRTnYhUJvgPcxNMXwGJWs7BA1iELZbfRRpSv4lMDcbfVRHdlLPtNHaa5/YDbfwTC8hNJKl+aoApZOPQIv8HFst8Ge5K9OwAAAAASUVORK5CYII=", et = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA6UlEQVR4AaWTMQrCQBBFJyGFCLGzsDIKAcEmhTZW6g201cIrKJaeILVnCWk9iOAFRBBsBB3/JhNZgoZd/fDI/M3MsLObEDMn4Mn2UjWJowIicoB63kGNzMWuFD/ADgxAbNHAIdnOBYRZS+YhW8iVTj7Ywk/x3FjsgNQZsGHuGXigQfnYmVwtYQY6YC1+In4P5qAPemABru8qbZyx+JX4QHy9vBWsxeUzqFKIvCM4gZasHT6N8E1L0AVtMJK1m02Dphb75ZcmDSr1dwNPiyP5JCLNB5TPXiiQ2ypySP+ZflF2jakKyF6qJn0BswLUFK8dbe0AAAAASUVORK5CYII=";\nvar $;\nlet B = ($ = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n var A;\n const e = this.theme === "dark" || this.theme === "darkest", t = e ? et : _e, i = e ? Fe : qe, o = (A = {\n behance: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img\n src="${Ke}"\n class="accIcon"\n alt="Behance"\n />`,\n twitter: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src="${i}" class="accIcon" alt="X" />`,\n instagram: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img\n src="${$e}"\n class="accIcon"\n alt="Instagram"\n />`,\n linkedin: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img\n src="${t}"\n class="accIcon accIconLinkedin"\n alt="LinkedIn"\n />`\n }[this.type]) != null ? A : null, d = ["twitter", "instagram"].includes(this.type) ? `@${this.label}` : this.label;\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div class="accItem accItemIndented">\n ${o}\n <div>\n <a href="${this.url}">${d}</a>\n </div>\n </div>\n `;\n }\n}, $.styles = [m], $);\nr([\n l()\n], B.prototype, "url", void 0);\nr([\n l()\n], B.prototype, "label", void 0);\nr([\n l()\n], B.prototype, "theme", void 0);\nr([\n l()\n], B.prototype, "type", void 0);\nB = r([\n f("cai-social-account")\n], B);\nconst tt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAADJElEQVRIDa1UXUhTYRg+c7q5uSZsBLmjSWwyV2NIMIQ5L0LKdmERSzCJrgTDixiNgqCkm4RsolNGRHhVd4FBBSpejCmGInQxJzV3MxVKYT+isN+20/PZDpxtZ+4EHfh4f77nfZ7ve7+XI6b+4fN4PAqVSjXu9/sXhJbVCAUSXDKZHM3n832dnZ1XhdYJFpicnDSIRCIHIYbITH9/v0SIiGABkHoYhqkjpLD6cDjs/G8CLpfrDkivcAkRP7Varee5OT6/6g1mZ2fPoNDFUyxPp9NTPPmiVFWBw8PD56jQFFUVAtziltlsvs63x+ZOFXC73UaQPGDBfBb7MzabTcq3R3KnCmSzWQ8wtdxiPDY3JL4uEok8Kk2ysYh1Su3ExMRdnO4dmz84OKC2t7epvb29ZDwelymVSqqu7mSoKIxvUiwWX1xbWwuzeNYWnY5NTk9PKzOZzCsIEEIqGAxSR0dHJ9skd3x8fLLkcjlFhOrr62W5XM4NwE2Wg7W8AiB4ubOzcy4UClGpVIrFltlEIkGRJZFIqMbGxht48L6NjY3PXCCvQCAQ0O7u7jLod8UWcklwWyoajeZgTcgXCfA+Mk4yoNfre9Rq9T6XiM9H/xmZTLbe0NBA63S616UYXgH0ucdoNHbb7fYLbW1toyjOlBaSWCqVRrBn02q1t2mafoGfoboUxyvgdDo/oD2XYrHYd5PJtNnR0aFqbm5ewKQwhAA2i56PWSwWuqWFvpzL/f6Bm6wvLy+HBAkQECbkPuHC+tjU1DTX1dXlaG9vN6Mdczj1WY1G83V//+cWhmoMmKWVlZW3sGUf7w0IamRkJF5TU3MPbh4tu4Yx3DQYDAOtra3jNK15zzD5LyDX4eS/JBLpUBlzIUFOWPFbXFwM9/b2ygGwYhGsBW2zxmLR7kIRIxZTdq/XFyjEZabiDVikQqF4hlN+Y2OuFYmoKZ9vdYmbK/WrCgwPD2fxqIMQSXCLEfsVCuUTbo7PrypAihwORxDmIUsA8lRtLTM4Pz+fZnOVrCABUozRfQPiT3+JRI+93tWtSqTcvGABUoS/5xDa5cNIznBJTvP/ADXzIvYLv/I/AAAAAElFTkSuQmCC", it = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAADE0lEQVRIDe1VPWhUQRCe3dl3OYW0VhIIWGhhJVaKBA8OggFt9ApBCAQLBa2sAlaSTrERFBE1kMZCuEKxjKTQwmAkhQgRLYxYHRYm3t3bH7/ZffuS2NhoEfDBMjuzMzu73337HdH/7w8IqO3rZ5+86pTG33fsR60J5DAse4JP1sCKL0OnefLTWsyL+VUd8n1Bbzk3mH683KEQFtirpvKKsAdGsirABk1ilcTFh01xmad1yeE6h9aZG6dig0t3Vjrkw4JyiqVQklJRVRg3yBtLLMXjQUKOo2F1IBP0ekPpiS/7Tq/xtZurHSwsaKc5FcopU4P6xJRjVXNsKms7DuJ1bIzYOpti4sP41JqgY4pNc1Qb/9QwsMPGpdNkBG9mss5RWWhywZOB79iRDYGM98hDvpO4JmthC/w2Tm1Y17ixfLj1MUP/z21kUQi471/4lFIAb+enbl/9vFRqd7ymZYQH1BN6gnagbbSZsjke8yN9AVVlvaFN0Pnyi8kTj3IbvYca55ul+TQy0NTAGOljDJhGhmk0BwYxzGVIPK4Zaua51EgubDFQext9/WDq2dJ0bhChuXfx65hlu4gHNO5wYosfvH5Y1U3k5ClG9e1SbrphfIBVruPgceOZ7pljD2vs59GkH9ziMDapXmO96Xa/giSuSXwLzghp1QRw+bJwM3UDudL8hd5YaX5eL9mNOjxBC1r6RrIlfKGpK5LvDFEp1JYNhaLVxuKjPuVp/y1DtXvtDoieT35vg5Z3AcVoCYoKpg7iJHP5gb34gCVRF9AIRIhHP8KFNcCV62wR3tcNXp780S7Jd0v2zS3GbMNWmgDfiHWFef12Mv7bcrDWC4ZaUU3fHOm3g6Ou8iFJNcQNsl2JF2Q6zivVjEoqYijihhjWouiJAGIubxkVvSJwa2720AqvHizbKugulLRZJ8fE1ED0P6tm/i/IlqH/UpP+F9KcSfeMN63ZuQMrwhzTHJpzUM3XbBmKCGWEgjIoWHhA4qGeUEsnc+F7VFDEjCit+FBRo2mIPAgsMesNS2r2yq3973YvLX8/+S9cwiXl9CasbgAAAABJRU5ErkJggg==";\nvar _;\nlet U = (_ = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n constructor() {\n super(...arguments), this.displayCopied = !1;\n }\n render() {\n var o;\n const t = (o = {\n metamask: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img\n src="${tt}"\n class="accIcon"\n alt="Metamask"\n />`,\n solana: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src="${it}" class="accIcon" alt="Solana" />`\n }[this.type]) != null ? o : null, i = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "web3Account.copied",\n defaultMessage: "Copied!"\n }), s = navigator.clipboard;\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`\n <div\n class="accItem accItemIndented"\n @click=${(n) => {\n n.stopPropagation(), s.setContent({ "text/plain": this.label }), this.displayCopied = !0, setTimeout(() => {\n this.displayCopied = !1;\n }, 3e3);\n }}\n >\n ${t}\n <div class="cryptoLabel">\n <cai-tooltip\n offset=${70}\n content=${i}\n mode="click"\n alignment="right"\n .displayed=${this.displayCopied}\n >\n ${(0,_cai_common__WEBPACK_IMPORTED_MODULE_2__.truncateCryptoAddress)(this.label)}\n </cai-tooltip>\n </div>\n </div>\n `;\n }\n}, _.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .cryptoLabel {\n border-radius: 10px;\n background-color: var(--photoshop-gutter);\n padding-left: 8px;\n padding-right: 8px;\n width: max-content;\n padding-bottom: 3px;\n cursor: pointer;\n }\n `\n], _);\nr([\n l()\n], U.prototype, "label", void 0);\nr([\n l()\n], U.prototype, "type", void 0);\nr([\n l({ type: Boolean })\n], U.prototype, "displayCopied", void 0);\nU = r([\n f("cai-crypto-account")\n], U);\nconst Ce = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<?xml version="1.0" encoding="UTF-8"?>\n <svg\n viewBox="0 0 24 24"\n version="1.1"\n xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink"\n >\n <path\n d="M12,2 C12.2248231,2 12.4320605,2.12274221 12.5417112,2.32084383 L12.5417112,2.32084383 L22.9210972,21.0680569 C23.0284898,21.2619328 23.0261109,21.498717 22.914845,21.6903549 C22.8035791,21.8819928 22.6000732,22 22.3800064,22 L22.3800064,22 L1.61999356,22 C1.39992682,22 1.19642085,21.8819928 1.08515497,21.6903549 C0.973889086,21.498717 0.97151015,21.2619328 1.07890284,21.0680569 L1.07890284,21.0680569 L11.4582888,2.32084383 C11.5679395,2.12274221 11.7751769,2 12,2 Z M12.9307753,16.9895532 L11.0692247,16.9895532 C10.8978737,16.9895532 10.7589662,17.1297565 10.7589662,17.3027061 L10.7589662,17.3027061 L10.7589662,19.1816237 C10.7589662,19.3545733 10.8978737,19.4947766 11.0692247,19.4947766 L11.0692247,19.4947766 L12.9307753,19.4947766 C13.1021263,19.4947766 13.2410338,19.3545733 13.2410338,19.1816237 L13.2410338,19.1816237 L13.2410338,17.3027061 C13.2410338,17.1297565 13.1021263,16.9895532 12.9307753,16.9895532 L12.9307753,16.9895532 Z M12.9307753,7.59496541 L11.0692247,7.59496541 C10.8978737,7.59496541 10.7589662,7.73516875 10.7589662,7.90811834 L10.7589662,7.90811834 L10.7589662,15.4237886 C10.7589662,15.5967381 10.8978737,15.7369415 11.0692247,15.7369415 L11.0692247,15.7369415 L12.9307753,15.7369415 C13.1021263,15.7369415 13.2410338,15.5967381 13.2410338,15.4237886 L13.2410338,15.4237886 L13.2410338,7.90811834 C13.2410338,7.73516875 13.1021263,7.59496541 12.9307753,7.59496541 L12.9307753,7.59496541 Z"\n id="Combined-Shape"\n fill="inherit"\n fill-rule="nonzero"\n ></path>\n </svg>`;\nvar ee;\nlet ne = (ee = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n updated(e) {\n var s;\n super.updated(e);\n let t = "#6E6E6E";\n (this.theme === "dark" || this.theme === "darkest") && (t = "#DDD");\n const i = (s = this.shadowRoot) == null ? void 0 : s.querySelector("svg");\n i && (i.style.overflow = "visible", i.style.fill = t);\n }\n render() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "alert.missingActivityWarning",\n defaultMessage: "Some edits or activity may not have been recorded. <a>Learn more</a>"\n }, {\n a: (t) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<a\n style="text-decoration: underline"\n href=${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getLocalizedURLWithSuffix("https://www.adobe.com/go/CAI-HelpX-HowTo")}\n >\n ${t}\n </a>`\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="missingActivityWarningView">\n ${Ce}\n <div class="content">${e}</div>\n </div>`;\n }\n}, ee.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .missingActivityWarningView {\n display: flex;\n margin-bottom: 10px;\n }\n\n .content {\n padding-left: 6px;\n }\n\n svg {\n margin-top: 5px;\n height: 18px;\n width: 18px;\n }\n `\n], ee);\nr([\n l()\n], ne.prototype, "theme", void 0);\nne = r([\n f("cai-missing-activity")\n], ne);\nconst st = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsSAAALEgHS3X78AAABpElEQVQ4jZ2UMY7aQBSGP1a0zAU8BXquqCKqKckRVrijghO4o3NjLoB9Ag5gSyl8gLhjKjYVlaU09PFcYNJkLNiwu+x+kiUXz59/zfvtkfeea+I4XgNrYMEtLXDouu7AHUZBFMfxFPgBfAMwxmCMAcBai7U2PPMLeO667veNyXuPiExF5I+I+DzPfd/3/jV93/s8z72I+H+zU+894QqiFxHxVVX9J3hNVVVB9nIjEpF1SPIoV8nWQTQSkZ/A4nQ6oZSiKIrhPIwxpGnKbrfDOYfWGuccaZoyn88B2q7rvgOMgYUxZpCUZUkURTjnBuH5fB7ul8slSimMMVhrh82Ow5sB6romiiKapsE5R13XaK0HSdu2aK2HtFeb5Ol6g5fLBa01Sim01qRpSpIkAMxms0Fyj3HoSRgOnTkej5RlOaRVSr0pCYlaay3OObIsYzKZsFqtKMsSgM1m867gOtEBWBRFQZZlNE1DXdcAJEmC1pooij42fbaQgf1+70XEhx6Fw34G+u12O3Tmszz00d4jLKXrutGNKPDOb+Qub4q+ytPHI4/xF17xcqktp4lYAAAAAElFTkSuQmCC", ot = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsSAAALEgHS3X78AAACHUlEQVQ4jZWUP2vbQBiHHxdnjLAHZ9ElhPPkqWS6MYV+gRIPabxUWV1cfQJDcSiEbFH/jXWW/AELUsgHqKGFaEpKQjIJOshDlsa+0vntkJxwUje4DwgEunv0433fu4KIME61Wg2AAFjmLn2gm6ZplwkUnKharS4Ch8BjAGMMxhgAkiQhSRK35zvwLE3TH3dMIoLWelFrPdRaS6fTkdFoJPcZjUbS6XREay23axdFBPc40anWWnq93l+C+/R6PSc7vSPSWgcuybSMJQucqKC1/gIsn5yc4Hke29vbeT2MMYRhyMbGBtZalFJYawnDkKWlJYB+mqZPAIrAsjEml0RRhO/7WGtz4eXlZf6+srKC53kYY0iSJO9s0f0ZII5jfN/n6OgIay1xHKOUyiX9fh+lVJ52rJM8Gu/gYDBAKYXneSilCMOQer0OQK1WyyWTKLo5cYvdzBwfHxNFUZ7W87x/SlyifpIkWGtpt9vMzs7SaDSIogiA9fX1BwWOgtY6AD4FQUC73SbLMuI4BqBer6OU4uLi4ibVx3cMD/YmeXb+ayDPKiW52tqUrNWUs0pJslZTrrY25axSkqmPiBNlraaIiFzv74qI5NKpDq3j6ZvXAKi3HyitrjE82CNrNW9qJNNfI3z+9ZPy8wZ+9J7hwR6l1TUGr15yvb970/5xbu+b7qSKns+VZWZ+Id/8+9tXZuYXJid6iPO5chd4MeHTzh/x5LstrsRftAAAAABJRU5ErkJggg==", at = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsSAAALEgHS3X78AAACEklEQVQ4jZWUMYsTQRSAv5xprsgSUBDJFGFSpdJUU8Y/IMTEKtWmF/aqYBOEXKeN2VowKeyyeMX9gIvVjU1OhLtCVq9IEET0dorzmmMsvBmTGMP5wcIy8+bbN/PeTs5ayyKVSiUEQqDOMhNgmKbpkDXknKhSqZSBPeAugFIKpRQAWmu01m7Ne6CRpunpkslai5SyLKU8k1Lafr9vsyyzq2RZZvv9vpVS2qvYsrUW9zjRkZTSjsfjvwSrjMdjJztaEkkpQ5fJdVnILHSinJTyAKhPp1OCIGAwGPjzUEoRRRG7u7sYYxBCYIwhiiJqtRrAJE3T+wB5oK6U8pI4jimVShhjvPDk5MS/N5tNgiBAKYXW2lc2774MkCQJpVKJ/f19jDEkSYIQwksmkwlCCJ/tQiXZWqzgfD5HCEEQBAghiKKIVqsFQLVa9ZJ15F2fuGDXM4eHh8Rx7LMNguCfEpfRRGuNMYZer0ehUKDdbhPHMQCdTmejwJGTUobAqzAM6fV6zGYzkiQBoNVqIYTg+PgYgDtHzzh/N1rnGf1XQ84i7CzCXnw8sJc/z+y3lw0/5g67AWTdbtf3zCayNzuc6yHFhy/+bO06P63j0eed3we7XeT201N+vA65+LC3LHJsuEZ4++CTF916fMDX5/f8XH41+Oq+Ga7b0nwnZwFy20Vu3CwvzW2tW7CBEcDl91O+PCkujf8Cvw+IaT6jjvcAAAAASUVORK5CYII=", nt = "data:image/gif;base64,R0lGODlhEAAQAPECAObm5hR68wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFFAACACwAAAAAEAAQAAACKIwfIsANeJRr0Mj56p01LdxtTvhNyomm6ppigOg2cPyWNDPHubtjeQEAIfkEBRQAAgAsAAAAABAABwAAAhWEDyLBHXiUa9DI+eqdNS3cbU74TQUAIfkEBRQAAgAsCQAAAAcAEAAAAg+Ej6nLjQKjlKHai7Pe/BYAIfkEBRQAAgAsAAAJABAABwAAAhWMHyLADXiUa9DI+eqdNS3cbU74TQUAOw==";\nvar te;\nfunction rt(e) {\n const t = ["assertion.dataHash.mismatch"], i = e.some((n) => !t.includes(n)), s = e.some((n) => t.includes(n));\n if (i) {\n const n = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "badge.invalidCredentialsTooltip",\n defaultMessage: "Content Credentials unavailable or invalid."\n }, {\n a: (d) => (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<a\n class="tooltipMessage"\n href=${_cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getLocalizedURLWithSuffix("https://www.adobe.com/go/CAI-HelpX-HowTo")}\n >\n ${d}\n </a>`\n });\n return {\n badge: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src=${ot} class="assetBadgeError" />`,\n tooltipContents: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<span>${n}</span>`\n };\n }\n if (s) {\n const n = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "badge.ogpTooltip",\n defaultMessage: "This asset was edited, but the info for it is incomplete or missing."\n });\n return {\n badge: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src=${at} class="assetBadgeError" />`,\n tooltipContents: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<span>${n}</span>`\n };\n }\n const o = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "badge.validCredentialsTooltip",\n defaultMessage: "This asset has attribution and history data."\n });\n return {\n badge: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src=${st} class="assetBadge" />`,\n tooltipContents: (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<span>${o}</span>`\n };\n}\nfunction ct(e) {\n return e && e.length > 30 && (e = `${e.slice(0, 18)}...${e.slice(-9)}`), e;\n}\nlet b = (te = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n var I, L;\n const e = this.hasClaim ? rt(this.errors) : null, i = !!this.path ? null : (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<img src=${nt} />`, s = (I = this.path) == null ? void 0 : I.replace(/\\\\/g, "/"), o = s ? "flex-start" : "center", n = s ? "flex-start" : "center", d = s ? `url("file:${s}")` : "none", A = [\n `align-items: ${o}`,\n `justify-content: ${n}`,\n `width: ${this.assetSize}`,\n `height: ${this.assetSize}`,\n `background-image: ${d}`\n ], g = (L = ct(this.assetTitle)) != null ? L : _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "asset.unknownImage",\n defaultMessage: "Untitled Image"\n });\n let u = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)``;\n this.hasClaim && (e != null && e.badge) && (u = (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<cai-tooltip\n content="${e == null ? void 0 : e.tooltipContents}"\n alignment="top-right"\n >${e == null ? void 0 : e.badge}</cai-tooltip\n >`);\n const h = this.hasHiddenLayers ? this._hiddenLayers(g) : (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="fileName">${g}</div>`;\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div class="fileView">\n <div style="${A.join(";")}" class="assetView test-asset">\n ${i} ${u}\n </div>\n <div class="fileName">${h}</div>\n </div>`;\n }\n updated(e) {\n var i;\n super.updated(e);\n const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector("svg");\n t && (t.style.fill = "var(--spectrum-global-color-gray-700)");\n }\n _hiddenLayers(e) {\n const t = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "asset.hiddenLayerWarning",\n defaultMessage: "May contain layers that are hidden or not visible in this thumbnail"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="fileIconContainer">\n <div class="fileIcon">${Ce}</div>\n ${e}\n </div>\n <div class="fileWarning">${t}</div>`;\n }\n}, te.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .assetView {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n margin-right: 4px;\n margin-bottom: 4px;\n border-radius: 2px;\n background-color: var(--photoshop-gutter);\n background-size: contain;\n background-position: center;\n }\n `\n], te);\nr([\n l()\n], b.prototype, "assetSize", void 0);\nr([\n l({ type: Boolean })\n], b.prototype, "hasClaim", void 0);\nr([\n l({ type: Object })\n], b.prototype, "errors", void 0);\nr([\n l({ type: Object })\n], b.prototype, "waitComponent", void 0);\nr([\n l()\n], b.prototype, "path", void 0);\nr([\n l()\n], b.prototype, "assetTitle", void 0);\nr([\n l({ type: Boolean })\n], b.prototype, "hasHiddenLayers", void 0);\nb = r([\n f("cai-asset")\n], b);\nvar ie;\nlet W = (ie = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n render() {\n let e = "Content Credentials (Beta) couldn\'t be enabled due to an error.";\n try {\n e = this.msg || _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "errorView.defaultError",\n defaultMessage: "Content Credentials (Beta) couldn\'t be enabled due to an error."\n });\n } catch (t) {\n console.error(t);\n }\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="section sectionNoBorder" style="padding: 10px">\n <cai-alert variant="error" .hideRetry=${this.hideRetry}>${e}</cai-alert>\n </div>`;\n }\n}, ie.styles = [m], ie);\nr([\n l()\n], W.prototype, "msg", void 0);\nr([\n l({ type: Boolean })\n], W.prototype, "hideRetry", void 0);\nW = r([\n f("cai-error-screen")\n], W);\nvar se;\nlet D = (se = class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement {\n constructor() {\n super(...arguments), this.variant = "offline", this.showAlert = !0;\n }\n _getRefresh() {\n const e = this.CAI.getState();\n e.panel.connectedAccountsError && (this.CAI.refreshConnectedAccounts(), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("refresh-accounts-error")), e.panel.identityError && (this.CAI.refreshIdentity(), _cai_common__WEBPACK_IMPORTED_MODULE_2__.Analytics.logInteractionEvent("refresh-identity-error"));\n }\n render() {\n const e = this.variant === "offline", t = this.showAlert ? "flex" : "none", i = ["progressive-alert-container"], s = e ? "alertFlowRow" : "alertFlowCol";\n i.push(s);\n const o = ["alertMessage"];\n e && o.push("alertMessageBorder");\n const n = !e && !this.hideRetry ? this._retryMarkup() : this._noRetryMarkup();\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)` <div\n style="display: ${t}"\n class="${i.join(" ")}"\n >\n <div class="${o.join(" ")}">\n <div class="alertSlot"><slot></slot></div>\n </div>\n ${n}\n </div>`;\n }\n _retryMarkup() {\n const e = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "offlineView.refresh",\n defaultMessage: "Refresh"\n });\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div class="tryAgain">\n <sp-button variant="primary" size="s" @click=${() => this._getRefresh()}\n >${e}</sp-button\n >\n </div>`;\n }\n _noRetryMarkup() {\n return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<div className="{sharedStyles.vertDivider}">\n <div class="alertClose" @click=${() => this.showAlert = !1}>\n ${Te}\n </div>\n </div>`;\n }\n}, se.styles = [\n m,\n (0,lit__WEBPACK_IMPORTED_MODULE_0__.css)`\n .progressive-alert-container {\n color: var(--spectrum-global-color-gray-900);\n background-color: var(--spectrum-global-color-gray-500);\n }\n .alertClose svg {\n height: 14px;\n width: 14px;\n }\n\n .alertClose {\n cursor: pointer;\n margin-right: 6px;\n margin-top: 6px;\n margin-left: 6px;\n display: flex;\n }\n `\n], se);\nr([\n l()\n], D.prototype, "variant", void 0);\nr([\n l({ type: Boolean })\n], D.prototype, "hideRetry", void 0);\nr([\n l({ type: Object })\n], D.prototype, "CAI", void 0);\nr([\n l({ type: Boolean })\n], D.prototype, "showAlert", void 0);\nD = r([\n f("cai-progressive-alert")\n], D);\n\n\n\n//# sourceURL=webpack://@cai/panel/../components/dist/index.mjs?')},60:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_LOCALE: () => (/* binding */ _h),\n/* harmony export */ Localization: () => (/* binding */ l4)\n/* harmony export */ });\nfunction lk() {\n this.__data__ = [], this.size = 0;\n}\nfunction vf(e, i) {\n return e === i || e !== e && i !== i;\n}\nfunction Ur(e, i) {\n for (var r = e.length; r--; )\n if (vf(e[r][0], i))\n return r;\n return -1;\n}\nvar dk = Array.prototype, ck = dk.splice;\nfunction uk(e) {\n var i = this.__data__, r = Ur(i, e);\n if (r < 0)\n return !1;\n var o = i.length - 1;\n return r == o ? i.pop() : ck.call(i, r, 1), --this.size, !0;\n}\nfunction pk(e) {\n var i = this.__data__, r = Ur(i, e);\n return r < 0 ? void 0 : i[r][1];\n}\nfunction fk(e) {\n return Ur(this.__data__, e) > -1;\n}\nfunction mk(e, i) {\n var r = this.__data__, o = Ur(r, e);\n return o < 0 ? (++this.size, r.push([e, i])) : r[o][1] = i, this;\n}\nfunction Wt(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nWt.prototype.clear = lk;\nWt.prototype.delete = uk;\nWt.prototype.get = pk;\nWt.prototype.has = fk;\nWt.prototype.set = mk;\nfunction hk() {\n this.__data__ = new Wt(), this.size = 0;\n}\nfunction vk(e) {\n var i = this.__data__, r = i.delete(e);\n return this.size = i.size, r;\n}\nfunction gk(e) {\n return this.__data__.get(e);\n}\nfunction bk(e) {\n return this.__data__.has(e);\n}\nvar Ck = typeof global == "object" && global && global.Object === Object && global;\nconst gf = Ck;\nvar yk = typeof self == "object" && self && self.Object === Object && self, Ak = gf || yk || Function("return this")();\nconst xt = Ak;\nvar kk = xt.Symbol;\nconst Wn = kk;\nvar bf = Object.prototype, wk = bf.hasOwnProperty, _k = bf.toString, Ei = Wn ? Wn.toStringTag : void 0;\nfunction Ek(e) {\n var i = wk.call(e, Ei), r = e[Ei];\n try {\n e[Ei] = void 0;\n var o = !0;\n } catch (d) {\n }\n var l = _k.call(e);\n return o && (i ? e[Ei] = r : delete e[Ei]), l;\n}\nvar Tk = Object.prototype, Sk = Tk.toString;\nfunction xk(e) {\n return Sk.call(e);\n}\nvar zk = "[object Null]", Dk = "[object Undefined]", Eu = Wn ? Wn.toStringTag : void 0;\nfunction Ii(e) {\n return e == null ? e === void 0 ? Dk : zk : Eu && Eu in Object(e) ? Ek(e) : xk(e);\n}\nfunction ji(e) {\n var i = typeof e;\n return e != null && (i == "object" || i == "function");\n}\nvar Bk = "[object AsyncFunction]", Ik = "[object Function]", jk = "[object GeneratorFunction]", Pk = "[object Proxy]";\nfunction Cf(e) {\n if (!ji(e))\n return !1;\n var i = Ii(e);\n return i == Ik || i == jk || i == Bk || i == Pk;\n}\nvar Lk = xt["__core-js_shared__"];\nconst Fo = Lk;\nvar Tu = function() {\n var e = /[^.]+$/.exec(Fo && Fo.keys && Fo.keys.IE_PROTO || "");\n return e ? "Symbol(src)_1." + e : "";\n}();\nfunction Ok(e) {\n return !!Tu && Tu in e;\n}\nvar Mk = Function.prototype, Fk = Mk.toString;\nfunction bn(e) {\n if (e != null) {\n try {\n return Fk.call(e);\n } catch (i) {\n }\n try {\n return e + "";\n } catch (i) {\n }\n }\n return "";\n}\nvar $k = /[\\\\^$.*+?()[\\]{}|]/g, Rk = /^\\[object .+?Constructor\\]$/, Nk = Function.prototype, Wk = Object.prototype, Uk = Nk.toString, Hk = Wk.hasOwnProperty, Gk = RegExp(\n "^" + Uk.call(Hk).replace($k, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n);\nfunction Vk(e) {\n if (!ji(e) || Ok(e))\n return !1;\n var i = Cf(e) ? Gk : Rk;\n return i.test(bn(e));\n}\nfunction qk(e, i) {\n return e == null ? void 0 : e[i];\n}\nfunction Cn(e, i) {\n var r = qk(e, i);\n return Vk(r) ? r : void 0;\n}\nvar Kk = Cn(xt, "Map");\nconst zi = Kk;\nvar Zk = Cn(Object, "create");\nconst Di = Zk;\nfunction Yk() {\n this.__data__ = Di ? Di(null) : {}, this.size = 0;\n}\nfunction Jk(e) {\n var i = this.has(e) && delete this.__data__[e];\n return this.size -= i ? 1 : 0, i;\n}\nvar Xk = "__lodash_hash_undefined__", Qk = Object.prototype, ew = Qk.hasOwnProperty;\nfunction tw(e) {\n var i = this.__data__;\n if (Di) {\n var r = i[e];\n return r === Xk ? void 0 : r;\n }\n return ew.call(i, e) ? i[e] : void 0;\n}\nvar nw = Object.prototype, iw = nw.hasOwnProperty;\nfunction rw(e) {\n var i = this.__data__;\n return Di ? i[e] !== void 0 : iw.call(i, e);\n}\nvar aw = "__lodash_hash_undefined__";\nfunction ow(e, i) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = Di && i === void 0 ? aw : i, this;\n}\nfunction vn(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nvn.prototype.clear = Yk;\nvn.prototype.delete = Jk;\nvn.prototype.get = tw;\nvn.prototype.has = rw;\nvn.prototype.set = ow;\nfunction sw() {\n this.size = 0, this.__data__ = {\n hash: new vn(),\n map: new (zi || Wt)(),\n string: new vn()\n };\n}\nfunction lw(e) {\n var i = typeof e;\n return i == "string" || i == "number" || i == "symbol" || i == "boolean" ? e !== "__proto__" : e === null;\n}\nfunction Hr(e, i) {\n var r = e.__data__;\n return lw(i) ? r[typeof i == "string" ? "string" : "hash"] : r.map;\n}\nfunction dw(e) {\n var i = Hr(this, e).delete(e);\n return this.size -= i ? 1 : 0, i;\n}\nfunction cw(e) {\n return Hr(this, e).get(e);\n}\nfunction uw(e) {\n return Hr(this, e).has(e);\n}\nfunction pw(e, i) {\n var r = Hr(this, e), o = r.size;\n return r.set(e, i), this.size += r.size == o ? 0 : 1, this;\n}\nfunction Vn(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nVn.prototype.clear = sw;\nVn.prototype.delete = dw;\nVn.prototype.get = cw;\nVn.prototype.has = uw;\nVn.prototype.set = pw;\nvar fw = 200;\nfunction mw(e, i) {\n var r = this.__data__;\n if (r instanceof Wt) {\n var o = r.__data__;\n if (!zi || o.length < fw - 1)\n return o.push([e, i]), this.size = ++r.size, this;\n r = this.__data__ = new Vn(o);\n }\n return r.set(e, i), this.size = r.size, this;\n}\nfunction qn(e) {\n var i = this.__data__ = new Wt(e);\n this.size = i.size;\n}\nqn.prototype.clear = hk;\nqn.prototype.delete = vk;\nqn.prototype.get = gk;\nqn.prototype.has = bk;\nqn.prototype.set = mw;\nfunction hw(e, i) {\n for (var r = -1, o = e == null ? 0 : e.length; ++r < o && i(e[r], r, e) !== !1; )\n ;\n return e;\n}\nvar vw = function() {\n try {\n var e = Cn(Object, "defineProperty");\n return e({}, "", {}), e;\n } catch (i) {\n }\n}();\nconst Su = vw;\nfunction yf(e, i, r) {\n i == "__proto__" && Su ? Su(e, i, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[i] = r;\n}\nvar gw = Object.prototype, bw = gw.hasOwnProperty;\nfunction Af(e, i, r) {\n var o = e[i];\n (!(bw.call(e, i) && vf(o, r)) || r === void 0 && !(i in e)) && yf(e, i, r);\n}\nfunction Gr(e, i, r, o) {\n var l = !r;\n r || (r = {});\n for (var d = -1, u = i.length; ++d < u; ) {\n var m = i[d], h = o ? o(r[m], e[m], m, r, e) : void 0;\n h === void 0 && (h = e[m]), l ? yf(r, m, h) : Af(r, m, h);\n }\n return r;\n}\nfunction Cw(e, i) {\n for (var r = -1, o = Array(e); ++r < e; )\n o[r] = i(r);\n return o;\n}\nfunction Pi(e) {\n return e != null && typeof e == "object";\n}\nvar yw = "[object Arguments]";\nfunction xu(e) {\n return Pi(e) && Ii(e) == yw;\n}\nvar kf = Object.prototype, Aw = kf.hasOwnProperty, kw = kf.propertyIsEnumerable, ww = xu(function() {\n return arguments;\n}()) ? xu : function(e) {\n return Pi(e) && Aw.call(e, "callee") && !kw.call(e, "callee");\n};\nconst _w = ww;\nvar Ew = Array.isArray;\nconst ul = Ew;\nfunction Tw() {\n return !1;\n}\nvar wf = typeof exports == "object" && exports && !exports.nodeType && exports, zu = wf && typeof module == "object" && module && !module.nodeType && module, Sw = zu && zu.exports === wf, Du = Sw ? xt.Buffer : void 0, xw = Du ? Du.isBuffer : void 0, zw = xw || Tw;\nconst _f = zw;\nvar Dw = 9007199254740991, Bw = /^(?:0|[1-9]\\d*)$/;\nfunction Iw(e, i) {\n var r = typeof e;\n return i = i == null ? Dw : i, !!i && (r == "number" || r != "symbol" && Bw.test(e)) && e > -1 && e % 1 == 0 && e < i;\n}\nvar jw = 9007199254740991;\nfunction Ef(e) {\n return typeof e == "number" && e > -1 && e % 1 == 0 && e <= jw;\n}\nvar Pw = "[object Arguments]", Lw = "[object Array]", Ow = "[object Boolean]", Mw = "[object Date]", Fw = "[object Error]", $w = "[object Function]", Rw = "[object Map]", Nw = "[object Number]", Ww = "[object Object]", Uw = "[object RegExp]", Hw = "[object Set]", Gw = "[object String]", Vw = "[object WeakMap]", qw = "[object ArrayBuffer]", Kw = "[object DataView]", Zw = "[object Float32Array]", Yw = "[object Float64Array]", Jw = "[object Int8Array]", Xw = "[object Int16Array]", Qw = "[object Int32Array]", e1 = "[object Uint8Array]", t1 = "[object Uint8ClampedArray]", n1 = "[object Uint16Array]", i1 = "[object Uint32Array]", me = {};\nme[Zw] = me[Yw] = me[Jw] = me[Xw] = me[Qw] = me[e1] = me[t1] = me[n1] = me[i1] = !0;\nme[Pw] = me[Lw] = me[qw] = me[Ow] = me[Kw] = me[Mw] = me[Fw] = me[$w] = me[Rw] = me[Nw] = me[Ww] = me[Uw] = me[Hw] = me[Gw] = me[Vw] = !1;\nfunction r1(e) {\n return Pi(e) && Ef(e.length) && !!me[Ii(e)];\n}\nfunction pl(e) {\n return function(i) {\n return e(i);\n };\n}\nvar Tf = typeof exports == "object" && exports && !exports.nodeType && exports, xi = Tf && typeof module == "object" && module && !module.nodeType && module, a1 = xi && xi.exports === Tf, $o = a1 && gf.process, o1 = function() {\n try {\n var e = xi && xi.require && xi.require("util").types;\n return e || $o && $o.binding && $o.binding("util");\n } catch (i) {\n }\n}();\nconst Un = o1;\nvar Bu = Un && Un.isTypedArray, s1 = Bu ? pl(Bu) : r1;\nconst l1 = s1;\nvar d1 = Object.prototype, c1 = d1.hasOwnProperty;\nfunction Sf(e, i) {\n var r = ul(e), o = !r && _w(e), l = !r && !o && _f(e), d = !r && !o && !l && l1(e), u = r || o || l || d, m = u ? Cw(e.length, String) : [], h = m.length;\n for (var b in e)\n (i || c1.call(e, b)) && !(u && // Safari 9 has enumerable `arguments.length` in strict mode.\n (b == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n l && (b == "offset" || b == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n d && (b == "buffer" || b == "byteLength" || b == "byteOffset") || // Skip index properties.\n Iw(b, h))) && m.push(b);\n return m;\n}\nvar u1 = Object.prototype;\nfunction fl(e) {\n var i = e && e.constructor, r = typeof i == "function" && i.prototype || u1;\n return e === r;\n}\nfunction xf(e, i) {\n return function(r) {\n return e(i(r));\n };\n}\nvar p1 = xf(Object.keys, Object);\nconst f1 = p1;\nvar m1 = Object.prototype, h1 = m1.hasOwnProperty;\nfunction v1(e) {\n if (!fl(e))\n return f1(e);\n var i = [];\n for (var r in Object(e))\n h1.call(e, r) && r != "constructor" && i.push(r);\n return i;\n}\nfunction zf(e) {\n return e != null && Ef(e.length) && !Cf(e);\n}\nfunction ml(e) {\n return zf(e) ? Sf(e) : v1(e);\n}\nfunction g1(e, i) {\n return e && Gr(i, ml(i), e);\n}\nfunction b1(e) {\n var i = [];\n if (e != null)\n for (var r in Object(e))\n i.push(r);\n return i;\n}\nvar C1 = Object.prototype, y1 = C1.hasOwnProperty;\nfunction A1(e) {\n if (!ji(e))\n return b1(e);\n var i = fl(e), r = [];\n for (var o in e)\n o == "constructor" && (i || !y1.call(e, o)) || r.push(o);\n return r;\n}\nfunction hl(e) {\n return zf(e) ? Sf(e, !0) : A1(e);\n}\nfunction k1(e, i) {\n return e && Gr(i, hl(i), e);\n}\nvar Df = typeof exports == "object" && exports && !exports.nodeType && exports, Iu = Df && typeof module == "object" && module && !module.nodeType && module, w1 = Iu && Iu.exports === Df, ju = w1 ? xt.Buffer : void 0, Pu = ju ? ju.allocUnsafe : void 0;\nfunction _1(e, i) {\n if (i)\n return e.slice();\n var r = e.length, o = Pu ? Pu(r) : new e.constructor(r);\n return e.copy(o), o;\n}\nfunction E1(e, i) {\n var r = -1, o = e.length;\n for (i || (i = Array(o)); ++r < o; )\n i[r] = e[r];\n return i;\n}\nfunction T1(e, i) {\n for (var r = -1, o = e == null ? 0 : e.length, l = 0, d = []; ++r < o; ) {\n var u = e[r];\n i(u, r, e) && (d[l++] = u);\n }\n return d;\n}\nfunction Bf() {\n return [];\n}\nvar S1 = Object.prototype, x1 = S1.propertyIsEnumerable, Lu = Object.getOwnPropertySymbols, z1 = Lu ? function(e) {\n return e == null ? [] : (e = Object(e), T1(Lu(e), function(i) {\n return x1.call(e, i);\n }));\n} : Bf;\nconst vl = z1;\nfunction D1(e, i) {\n return Gr(e, vl(e), i);\n}\nfunction If(e, i) {\n for (var r = -1, o = i.length, l = e.length; ++r < o; )\n e[l + r] = i[r];\n return e;\n}\nvar B1 = xf(Object.getPrototypeOf, Object);\nconst jf = B1;\nvar I1 = Object.getOwnPropertySymbols, j1 = I1 ? function(e) {\n for (var i = []; e; )\n If(i, vl(e)), e = jf(e);\n return i;\n} : Bf;\nconst Pf = j1;\nfunction P1(e, i) {\n return Gr(e, Pf(e), i);\n}\nfunction Lf(e, i, r) {\n var o = i(e);\n return ul(e) ? o : If(o, r(e));\n}\nfunction L1(e) {\n return Lf(e, ml, vl);\n}\nfunction O1(e) {\n return Lf(e, hl, Pf);\n}\nvar M1 = Cn(xt, "DataView");\nconst Vs = M1;\nvar F1 = Cn(xt, "Promise");\nconst qs = F1;\nvar $1 = Cn(xt, "Set");\nconst Ks = $1;\nvar R1 = Cn(xt, "WeakMap");\nconst Zs = R1;\nvar Ou = "[object Map]", N1 = "[object Object]", Mu = "[object Promise]", Fu = "[object Set]", $u = "[object WeakMap]", Ru = "[object DataView]", W1 = bn(Vs), U1 = bn(zi), H1 = bn(qs), G1 = bn(Ks), V1 = bn(Zs), mn = Ii;\n(Vs && mn(new Vs(new ArrayBuffer(1))) != Ru || zi && mn(new zi()) != Ou || qs && mn(qs.resolve()) != Mu || Ks && mn(new Ks()) != Fu || Zs && mn(new Zs()) != $u) && (mn = function(e) {\n var i = Ii(e), r = i == N1 ? e.constructor : void 0, o = r ? bn(r) : "";\n if (o)\n switch (o) {\n case W1:\n return Ru;\n case U1:\n return Ou;\n case H1:\n return Mu;\n case G1:\n return Fu;\n case V1:\n return $u;\n }\n return i;\n});\nconst gl = mn;\nvar q1 = Object.prototype, K1 = q1.hasOwnProperty;\nfunction Z1(e) {\n var i = e.length, r = new e.constructor(i);\n return i && typeof e[0] == "string" && K1.call(e, "index") && (r.index = e.index, r.input = e.input), r;\n}\nvar Y1 = xt.Uint8Array;\nconst Nu = Y1;\nfunction bl(e) {\n var i = new e.constructor(e.byteLength);\n return new Nu(i).set(new Nu(e)), i;\n}\nfunction J1(e, i) {\n var r = i ? bl(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.byteLength);\n}\nvar X1 = /\\w*$/;\nfunction Q1(e) {\n var i = new e.constructor(e.source, X1.exec(e));\n return i.lastIndex = e.lastIndex, i;\n}\nvar Wu = Wn ? Wn.prototype : void 0, Uu = Wu ? Wu.valueOf : void 0;\nfunction e3(e) {\n return Uu ? Object(Uu.call(e)) : {};\n}\nfunction t3(e, i) {\n var r = i ? bl(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.length);\n}\nvar n3 = "[object Boolean]", i3 = "[object Date]", r3 = "[object Map]", a3 = "[object Number]", o3 = "[object RegExp]", s3 = "[object Set]", l3 = "[object String]", d3 = "[object Symbol]", c3 = "[object ArrayBuffer]", u3 = "[object DataView]", p3 = "[object Float32Array]", f3 = "[object Float64Array]", m3 = "[object Int8Array]", h3 = "[object Int16Array]", v3 = "[object Int32Array]", g3 = "[object Uint8Array]", b3 = "[object Uint8ClampedArray]", C3 = "[object Uint16Array]", y3 = "[object Uint32Array]";\nfunction A3(e, i, r) {\n var o = e.constructor;\n switch (i) {\n case c3:\n return bl(e);\n case n3:\n case i3:\n return new o(+e);\n case u3:\n return J1(e, r);\n case p3:\n case f3:\n case m3:\n case h3:\n case v3:\n case g3:\n case b3:\n case C3:\n case y3:\n return t3(e, r);\n case r3:\n return new o();\n case a3:\n case l3:\n return new o(e);\n case o3:\n return Q1(e);\n case s3:\n return new o();\n case d3:\n return e3(e);\n }\n}\nvar Hu = Object.create, k3 = function() {\n function e() {\n }\n return function(i) {\n if (!ji(i))\n return {};\n if (Hu)\n return Hu(i);\n e.prototype = i;\n var r = new e();\n return e.prototype = void 0, r;\n };\n}();\nconst w3 = k3;\nfunction _3(e) {\n return typeof e.constructor == "function" && !fl(e) ? w3(jf(e)) : {};\n}\nvar E3 = "[object Map]";\nfunction T3(e) {\n return Pi(e) && gl(e) == E3;\n}\nvar Gu = Un && Un.isMap, S3 = Gu ? pl(Gu) : T3;\nconst x3 = S3;\nvar z3 = "[object Set]";\nfunction D3(e) {\n return Pi(e) && gl(e) == z3;\n}\nvar Vu = Un && Un.isSet, B3 = Vu ? pl(Vu) : D3;\nconst I3 = B3;\nvar j3 = 1, P3 = 2, L3 = 4, Of = "[object Arguments]", O3 = "[object Array]", M3 = "[object Boolean]", F3 = "[object Date]", $3 = "[object Error]", Mf = "[object Function]", R3 = "[object GeneratorFunction]", N3 = "[object Map]", W3 = "[object Number]", Ff = "[object Object]", U3 = "[object RegExp]", H3 = "[object Set]", G3 = "[object String]", V3 = "[object Symbol]", q3 = "[object WeakMap]", K3 = "[object ArrayBuffer]", Z3 = "[object DataView]", Y3 = "[object Float32Array]", J3 = "[object Float64Array]", X3 = "[object Int8Array]", Q3 = "[object Int16Array]", e_ = "[object Int32Array]", t_ = "[object Uint8Array]", n_ = "[object Uint8ClampedArray]", i_ = "[object Uint16Array]", r_ = "[object Uint32Array]", ue = {};\nue[Of] = ue[O3] = ue[K3] = ue[Z3] = ue[M3] = ue[F3] = ue[Y3] = ue[J3] = ue[X3] = ue[Q3] = ue[e_] = ue[N3] = ue[W3] = ue[Ff] = ue[U3] = ue[H3] = ue[G3] = ue[V3] = ue[t_] = ue[n_] = ue[i_] = ue[r_] = !0;\nue[$3] = ue[Mf] = ue[q3] = !1;\nfunction Fr(e, i, r, o, l, d) {\n var u, m = i & j3, h = i & P3, b = i & L3;\n if (r && (u = l ? r(e, o, l, d) : r(e)), u !== void 0)\n return u;\n if (!ji(e))\n return e;\n var v = ul(e);\n if (v) {\n if (u = Z1(e), !m)\n return E1(e, u);\n } else {\n var g = gl(e), w = g == Mf || g == R3;\n if (_f(e))\n return _1(e, m);\n if (g == Ff || g == Of || w && !l) {\n if (u = h || w ? {} : _3(e), !m)\n return h ? P1(e, k1(u, e)) : D1(e, g1(u, e));\n } else {\n if (!ue[g])\n return l ? e : {};\n u = A3(e, g, m);\n }\n }\n d || (d = new qn());\n var B = d.get(e);\n if (B)\n return B;\n d.set(e, u), I3(e) ? e.forEach(function(x) {\n u.add(Fr(x, i, r, x, e, d));\n }) : x3(e) && e.forEach(function(x, j) {\n u.set(j, Fr(x, i, r, j, e, d));\n });\n var D = b ? h ? O1 : L1 : h ? hl : ml, I = v ? void 0 : D(e);\n return hw(I || e, function(x, j) {\n I && (j = x, x = e[j]), Af(u, j, Fr(x, i, r, j, e, d));\n }), u;\n}\nvar a_ = 1, o_ = 4;\nfunction s_(e) {\n return Fr(e, a_ | o_);\n}\nvar Ys = function(e, i) {\n return Ys = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, o) {\n r.__proto__ = o;\n } || function(r, o) {\n for (var l in o)\n Object.prototype.hasOwnProperty.call(o, l) && (r[l] = o[l]);\n }, Ys(e, i);\n};\nfunction yn(e, i) {\n if (typeof i != "function" && i !== null)\n throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");\n Ys(e, i);\n function r() {\n this.constructor = e;\n }\n e.prototype = i === null ? Object.create(i) : (r.prototype = i.prototype, new r());\n}\nvar Ce = function() {\n return Ce = Object.assign || function(i) {\n for (var r, o = 1, l = arguments.length; o < l; o++) {\n r = arguments[o];\n for (var d in r)\n Object.prototype.hasOwnProperty.call(r, d) && (i[d] = r[d]);\n }\n return i;\n }, Ce.apply(this, arguments);\n};\nfunction Rn(e, i, r) {\n if (r || arguments.length === 2)\n for (var o = 0, l = i.length, d; o < l; o++)\n (d || !(o in i)) && (d || (d = Array.prototype.slice.call(i, 0, o)), d[o] = i[o]);\n return e.concat(d || Array.prototype.slice.call(i));\n}\nvar Js = function(e, i) {\n return Js = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, o) {\n r.__proto__ = o;\n } || function(r, o) {\n for (var l in o)\n Object.prototype.hasOwnProperty.call(o, l) && (r[l] = o[l]);\n }, Js(e, i);\n};\nfunction Vr(e, i) {\n if (typeof i != "function" && i !== null)\n throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");\n Js(e, i);\n function r() {\n this.constructor = e;\n }\n e.prototype = i === null ? Object.create(i) : (r.prototype = i.prototype, new r());\n}\nvar Tt = function() {\n return Tt = Object.assign || function(i) {\n for (var r, o = 1, l = arguments.length; o < l; o++) {\n r = arguments[o];\n for (var d in r)\n Object.prototype.hasOwnProperty.call(r, d) && (i[d] = r[d]);\n }\n return i;\n }, Tt.apply(this, arguments);\n};\nfunction l_(e, i) {\n var r = {};\n for (var o in e)\n Object.prototype.hasOwnProperty.call(e, o) && i.indexOf(o) < 0 && (r[o] = e[o]);\n if (e != null && typeof Object.getOwnPropertySymbols == "function")\n for (var l = 0, o = Object.getOwnPropertySymbols(e); l < o.length; l++)\n i.indexOf(o[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[l]) && (r[o[l]] = e[o[l]]);\n return r;\n}\nfunction Ro(e, i, r) {\n if (r || arguments.length === 2)\n for (var o = 0, l = i.length, d; o < l; o++)\n (d || !(o in i)) && (d || (d = Array.prototype.slice.call(i, 0, o)), d[o] = i[o]);\n return e.concat(d || Array.prototype.slice.call(i));\n}\nvar Nr = function() {\n return Nr = Object.assign || function(i) {\n for (var r, o = 1, l = arguments.length; o < l; o++) {\n r = arguments[o];\n for (var d in r)\n Object.prototype.hasOwnProperty.call(r, d) && (i[d] = r[d]);\n }\n return i;\n }, Nr.apply(this, arguments);\n}, ne;\n(function(e) {\n e[e.EXPECT_ARGUMENT_CLOSING_BRACE = 1] = "EXPECT_ARGUMENT_CLOSING_BRACE", e[e.EMPTY_ARGUMENT = 2] = "EMPTY_ARGUMENT", e[e.MALFORMED_ARGUMENT = 3] = "MALFORMED_ARGUMENT", e[e.EXPECT_ARGUMENT_TYPE = 4] = "EXPECT_ARGUMENT_TYPE", e[e.INVALID_ARGUMENT_TYPE = 5] = "INVALID_ARGUMENT_TYPE", e[e.EXPECT_ARGUMENT_STYLE = 6] = "EXPECT_ARGUMENT_STYLE", e[e.INVALID_NUMBER_SKELETON = 7] = "INVALID_NUMBER_SKELETON", e[e.INVALID_DATE_TIME_SKELETON = 8] = "INVALID_DATE_TIME_SKELETON", e[e.EXPECT_NUMBER_SKELETON = 9] = "EXPECT_NUMBER_SKELETON", e[e.EXPECT_DATE_TIME_SKELETON = 10] = "EXPECT_DATE_TIME_SKELETON", e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE = 11] = "UNCLOSED_QUOTE_IN_ARGUMENT_STYLE", e[e.EXPECT_SELECT_ARGUMENT_OPTIONS = 12] = "EXPECT_SELECT_ARGUMENT_OPTIONS", e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE = 13] = "EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE", e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE = 14] = "INVALID_PLURAL_ARGUMENT_OFFSET_VALUE", e[e.EXPECT_SELECT_ARGUMENT_SELECTOR = 15] = "EXPECT_SELECT_ARGUMENT_SELECTOR", e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR = 16] = "EXPECT_PLURAL_ARGUMENT_SELECTOR", e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT = 17] = "EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT", e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT = 18] = "EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT", e[e.INVALID_PLURAL_ARGUMENT_SELECTOR = 19] = "INVALID_PLURAL_ARGUMENT_SELECTOR", e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR = 20] = "DUPLICATE_PLURAL_ARGUMENT_SELECTOR", e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR = 21] = "DUPLICATE_SELECT_ARGUMENT_SELECTOR", e[e.MISSING_OTHER_CLAUSE = 22] = "MISSING_OTHER_CLAUSE", e[e.INVALID_TAG = 23] = "INVALID_TAG", e[e.INVALID_TAG_NAME = 25] = "INVALID_TAG_NAME", e[e.UNMATCHED_CLOSING_TAG = 26] = "UNMATCHED_CLOSING_TAG", e[e.UNCLOSED_TAG = 27] = "UNCLOSED_TAG";\n})(ne || (ne = {}));\nvar ve;\n(function(e) {\n e[e.literal = 0] = "literal", e[e.argument = 1] = "argument", e[e.number = 2] = "number", e[e.date = 3] = "date", e[e.time = 4] = "time", e[e.select = 5] = "select", e[e.plural = 6] = "plural", e[e.pound = 7] = "pound", e[e.tag = 8] = "tag";\n})(ve || (ve = {}));\nvar Hn;\n(function(e) {\n e[e.number = 0] = "number", e[e.dateTime = 1] = "dateTime";\n})(Hn || (Hn = {}));\nfunction qu(e) {\n return e.type === ve.literal;\n}\nfunction d_(e) {\n return e.type === ve.argument;\n}\nfunction $f(e) {\n return e.type === ve.number;\n}\nfunction Rf(e) {\n return e.type === ve.date;\n}\nfunction Nf(e) {\n return e.type === ve.time;\n}\nfunction Wf(e) {\n return e.type === ve.select;\n}\nfunction Uf(e) {\n return e.type === ve.plural;\n}\nfunction c_(e) {\n return e.type === ve.pound;\n}\nfunction Hf(e) {\n return e.type === ve.tag;\n}\nfunction Gf(e) {\n return !!(e && typeof e == "object" && e.type === Hn.number);\n}\nfunction Xs(e) {\n return !!(e && typeof e == "object" && e.type === Hn.dateTime);\n}\nvar Vf = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/, u_ = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^\']*\'[^\']*\')*[^\']*$)/g;\nfunction p_(e) {\n var i = {};\n return e.replace(u_, function(r) {\n var o = r.length;\n switch (r[0]) {\n case "G":\n i.era = o === 4 ? "long" : o === 5 ? "narrow" : "short";\n break;\n case "y":\n i.year = o === 2 ? "2-digit" : "numeric";\n break;\n case "Y":\n case "u":\n case "U":\n case "r":\n throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");\n case "q":\n case "Q":\n throw new RangeError("`q/Q` (quarter) patterns are not supported");\n case "M":\n case "L":\n i.month = ["numeric", "2-digit", "short", "long", "narrow"][o - 1];\n break;\n case "w":\n case "W":\n throw new RangeError("`w/W` (week) patterns are not supported");\n case "d":\n i.day = ["numeric", "2-digit"][o - 1];\n break;\n case "D":\n case "F":\n case "g":\n throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");\n case "E":\n i.weekday = o === 4 ? "short" : o === 5 ? "narrow" : "short";\n break;\n case "e":\n if (o < 4)\n throw new RangeError("`e..eee` (weekday) patterns are not supported");\n i.weekday = ["short", "long", "narrow", "short"][o - 4];\n break;\n case "c":\n if (o < 4)\n throw new RangeError("`c..ccc` (weekday) patterns are not supported");\n i.weekday = ["short", "long", "narrow", "short"][o - 4];\n break;\n case "a":\n i.hour12 = !0;\n break;\n case "b":\n case "B":\n throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");\n case "h":\n i.hourCycle = "h12", i.hour = ["numeric", "2-digit"][o - 1];\n break;\n case "H":\n i.hourCycle = "h23", i.hour = ["numeric", "2-digit"][o - 1];\n break;\n case "K":\n i.hourCycle = "h11", i.hour = ["numeric", "2-digit"][o - 1];\n break;\n case "k":\n i.hourCycle = "h24", i.hour = ["numeric", "2-digit"][o - 1];\n break;\n case "j":\n case "J":\n case "C":\n throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");\n case "m":\n i.minute = ["numeric", "2-digit"][o - 1];\n break;\n case "s":\n i.second = ["numeric", "2-digit"][o - 1];\n break;\n case "S":\n case "A":\n throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead");\n case "z":\n i.timeZoneName = o < 4 ? "short" : "long";\n break;\n case "Z":\n case "O":\n case "v":\n case "V":\n case "X":\n case "x":\n throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead");\n }\n return "";\n }), i;\n}\nvar ke = function() {\n return ke = Object.assign || function(i) {\n for (var r, o = 1, l = arguments.length; o < l; o++) {\n r = arguments[o];\n for (var d in r)\n Object.prototype.hasOwnProperty.call(r, d) && (i[d] = r[d]);\n }\n return i;\n }, ke.apply(this, arguments);\n}, f_ = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\nfunction m_(e) {\n if (e.length === 0)\n throw new Error("Number skeleton cannot be empty");\n for (var i = e.split(f_).filter(function(w) {\n return w.length > 0;\n }), r = [], o = 0, l = i; o < l.length; o++) {\n var d = l[o], u = d.split("/");\n if (u.length === 0)\n throw new Error("Invalid number skeleton");\n for (var m = u[0], h = u.slice(1), b = 0, v = h; b < v.length; b++) {\n var g = v[b];\n if (g.length === 0)\n throw new Error("Invalid number skeleton");\n }\n r.push({ stem: m, options: h });\n }\n return r;\n}\nfunction h_(e) {\n return e.replace(/^(.*?)-/, "");\n}\nvar Ku = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g, qf = /^(@+)?(\\+|#+)?[rs]?$/g, v_ = /(\\*)(0+)|(#+)(0+)|(0+)/g, Kf = /^(0+)$/;\nfunction Zu(e) {\n var i = {};\n return e[e.length - 1] === "r" ? i.roundingPriority = "morePrecision" : e[e.length - 1] === "s" && (i.roundingPriority = "lessPrecision"), e.replace(qf, function(r, o, l) {\n return typeof l != "string" ? (i.minimumSignificantDigits = o.length, i.maximumSignificantDigits = o.length) : l === "+" ? i.minimumSignificantDigits = o.length : o[0] === "#" ? i.maximumSignificantDigits = o.length : (i.minimumSignificantDigits = o.length, i.maximumSignificantDigits = o.length + (typeof l == "string" ? l.length : 0)), "";\n }), i;\n}\nfunction Zf(e) {\n switch (e) {\n case "sign-auto":\n return {\n signDisplay: "auto"\n };\n case "sign-accounting":\n case "()":\n return {\n currencySign: "accounting"\n };\n case "sign-always":\n case "+!":\n return {\n signDisplay: "always"\n };\n case "sign-accounting-always":\n case "()!":\n return {\n signDisplay: "always",\n currencySign: "accounting"\n };\n case "sign-except-zero":\n case "+?":\n return {\n signDisplay: "exceptZero"\n };\n case "sign-accounting-except-zero":\n case "()?":\n return {\n signDisplay: "exceptZero",\n currencySign: "accounting"\n };\n case "sign-never":\n case "+_":\n return {\n signDisplay: "never"\n };\n }\n}\nfunction g_(e) {\n var i;\n if (e[0] === "E" && e[1] === "E" ? (i = {\n notation: "engineering"\n }, e = e.slice(2)) : e[0] === "E" && (i = {\n notation: "scientific"\n }, e = e.slice(1)), i) {\n var r = e.slice(0, 2);\n if (r === "+!" ? (i.signDisplay = "always", e = e.slice(2)) : r === "+?" && (i.signDisplay = "exceptZero", e = e.slice(2)), !Kf.test(e))\n throw new Error("Malformed concise eng/scientific notation");\n i.minimumIntegerDigits = e.length;\n }\n return i;\n}\nfunction Yu(e) {\n var i = {}, r = Zf(e);\n return r || i;\n}\nfunction b_(e) {\n for (var i = {}, r = 0, o = e; r < o.length; r++) {\n var l = o[r];\n switch (l.stem) {\n case "percent":\n case "%":\n i.style = "percent";\n continue;\n case "%x100":\n i.style = "percent", i.scale = 100;\n continue;\n case "currency":\n i.style = "currency", i.currency = l.options[0];\n continue;\n case "group-off":\n case ",_":\n i.useGrouping = !1;\n continue;\n case "precision-integer":\n case ".":\n i.maximumFractionDigits = 0;\n continue;\n case "measure-unit":\n case "unit":\n i.style = "unit", i.unit = h_(l.options[0]);\n continue;\n case "compact-short":\n case "K":\n i.notation = "compact", i.compactDisplay = "short";\n continue;\n case "compact-long":\n case "KK":\n i.notation = "compact", i.compactDisplay = "long";\n continue;\n case "scientific":\n i = ke(ke(ke({}, i), { notation: "scientific" }), l.options.reduce(function(h, b) {\n return ke(ke({}, h), Yu(b));\n }, {}));\n continue;\n case "engineering":\n i = ke(ke(ke({}, i), { notation: "engineering" }), l.options.reduce(function(h, b) {\n return ke(ke({}, h), Yu(b));\n }, {}));\n continue;\n case "notation-simple":\n i.notation = "standard";\n continue;\n case "unit-width-narrow":\n i.currencyDisplay = "narrowSymbol", i.unitDisplay = "narrow";\n continue;\n case "unit-width-short":\n i.currencyDisplay = "code", i.unitDisplay = "short";\n continue;\n case "unit-width-full-name":\n i.currencyDisplay = "name", i.unitDisplay = "long";\n continue;\n case "unit-width-iso-code":\n i.currencyDisplay = "symbol";\n continue;\n case "scale":\n i.scale = parseFloat(l.options[0]);\n continue;\n case "integer-width":\n if (l.options.length > 1)\n throw new RangeError("integer-width stems only accept a single optional option");\n l.options[0].replace(v_, function(h, b, v, g, w, B) {\n if (b)\n i.minimumIntegerDigits = v.length;\n else {\n if (g && w)\n throw new Error("We currently do not support maximum integer digits");\n if (B)\n throw new Error("We currently do not support exact integer digits");\n }\n return "";\n });\n continue;\n }\n if (Kf.test(l.stem)) {\n i.minimumIntegerDigits = l.stem.length;\n continue;\n }\n if (Ku.test(l.stem)) {\n if (l.options.length > 1)\n throw new RangeError("Fraction-precision stems only accept a single optional option");\n l.stem.replace(Ku, function(h, b, v, g, w, B) {\n return v === "*" ? i.minimumFractionDigits = b.length : g && g[0] === "#" ? i.maximumFractionDigits = g.length : w && B ? (i.minimumFractionDigits = w.length, i.maximumFractionDigits = w.length + B.length) : (i.minimumFractionDigits = b.length, i.maximumFractionDigits = b.length), "";\n });\n var d = l.options[0];\n d === "w" ? i = ke(ke({}, i), { trailingZeroDisplay: "stripIfInteger" }) : d && (i = ke(ke({}, i), Zu(d)));\n continue;\n }\n if (qf.test(l.stem)) {\n i = ke(ke({}, i), Zu(l.stem));\n continue;\n }\n var u = Zf(l.stem);\n u && (i = ke(ke({}, i), u));\n var m = g_(l.stem);\n m && (i = ke(ke({}, i), m));\n }\n return i;\n}\nvar Lr = {\n AX: [\n "H"\n ],\n BQ: [\n "H"\n ],\n CP: [\n "H"\n ],\n CZ: [\n "H"\n ],\n DK: [\n "H"\n ],\n FI: [\n "H"\n ],\n ID: [\n "H"\n ],\n IS: [\n "H"\n ],\n ML: [\n "H"\n ],\n NE: [\n "H"\n ],\n RU: [\n "H"\n ],\n SE: [\n "H"\n ],\n SJ: [\n "H"\n ],\n SK: [\n "H"\n ],\n AS: [\n "h",\n "H"\n ],\n BT: [\n "h",\n "H"\n ],\n DJ: [\n "h",\n "H"\n ],\n ER: [\n "h",\n "H"\n ],\n GH: [\n "h",\n "H"\n ],\n IN: [\n "h",\n "H"\n ],\n LS: [\n "h",\n "H"\n ],\n PG: [\n "h",\n "H"\n ],\n PW: [\n "h",\n "H"\n ],\n SO: [\n "h",\n "H"\n ],\n TO: [\n "h",\n "H"\n ],\n VU: [\n "h",\n "H"\n ],\n WS: [\n "h",\n "H"\n ],\n "001": [\n "H",\n "h"\n ],\n AL: [\n "h",\n "H",\n "hB"\n ],\n TD: [\n "h",\n "H",\n "hB"\n ],\n "ca-ES": [\n "H",\n "h",\n "hB"\n ],\n CF: [\n "H",\n "h",\n "hB"\n ],\n CM: [\n "H",\n "h",\n "hB"\n ],\n "fr-CA": [\n "H",\n "h",\n "hB"\n ],\n "gl-ES": [\n "H",\n "h",\n "hB"\n ],\n "it-CH": [\n "H",\n "h",\n "hB"\n ],\n "it-IT": [\n "H",\n "h",\n "hB"\n ],\n LU: [\n "H",\n "h",\n "hB"\n ],\n NP: [\n "H",\n "h",\n "hB"\n ],\n PF: [\n "H",\n "h",\n "hB"\n ],\n SC: [\n "H",\n "h",\n "hB"\n ],\n SM: [\n "H",\n "h",\n "hB"\n ],\n SN: [\n "H",\n "h",\n "hB"\n ],\n TF: [\n "H",\n "h",\n "hB"\n ],\n VA: [\n "H",\n "h",\n "hB"\n ],\n CY: [\n "h",\n "H",\n "hb",\n "hB"\n ],\n GR: [\n "h",\n "H",\n "hb",\n "hB"\n ],\n CO: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n DO: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n KP: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n KR: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n NA: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n PA: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n PR: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n VE: [\n "h",\n "H",\n "hB",\n "hb"\n ],\n AC: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n AI: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n BW: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n BZ: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n CC: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n CK: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n CX: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n DG: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n FK: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n GB: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n GG: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n GI: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n IE: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n IM: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n IO: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n JE: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n LT: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n MK: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n MN: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n MS: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n NF: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n NG: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n NR: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n NU: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n PN: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n SH: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n SX: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n TA: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n ZA: [\n "H",\n "h",\n "hb",\n "hB"\n ],\n "af-ZA": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n AR: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n CL: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n CR: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n CU: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n EA: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-BO": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-BR": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-EC": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-ES": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-GQ": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n "es-PE": [\n "H",\n "h",\n "hB",\n "hb"\n ],\n GT: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n HN: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n IC: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n KG: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n KM: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n LK: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n MA: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n MX: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n NI: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n PY: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n SV: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n UY: [\n "H",\n "h",\n "hB",\n "hb"\n ],\n JP: [\n "H",\n "h",\n "K"\n ],\n AD: [\n "H",\n "hB"\n ],\n AM: [\n "H",\n "hB"\n ],\n AO: [\n "H",\n "hB"\n ],\n AT: [\n "H",\n "hB"\n ],\n AW: [\n "H",\n "hB"\n ],\n BE: [\n "H",\n "hB"\n ],\n BF: [\n "H",\n "hB"\n ],\n BJ: [\n "H",\n "hB"\n ],\n BL: [\n "H",\n "hB"\n ],\n BR: [\n "H",\n "hB"\n ],\n CG: [\n "H",\n "hB"\n ],\n CI: [\n "H",\n "hB"\n ],\n CV: [\n "H",\n "hB"\n ],\n DE: [\n "H",\n "hB"\n ],\n EE: [\n "H",\n "hB"\n ],\n FR: [\n "H",\n "hB"\n ],\n GA: [\n "H",\n "hB"\n ],\n GF: [\n "H",\n "hB"\n ],\n GN: [\n "H",\n "hB"\n ],\n GP: [\n "H",\n "hB"\n ],\n GW: [\n "H",\n "hB"\n ],\n HR: [\n "H",\n "hB"\n ],\n IL: [\n "H",\n "hB"\n ],\n IT: [\n "H",\n "hB"\n ],\n KZ: [\n "H",\n "hB"\n ],\n MC: [\n "H",\n "hB"\n ],\n MD: [\n "H",\n "hB"\n ],\n MF: [\n "H",\n "hB"\n ],\n MQ: [\n "H",\n "hB"\n ],\n MZ: [\n "H",\n "hB"\n ],\n NC: [\n "H",\n "hB"\n ],\n NL: [\n "H",\n "hB"\n ],\n PM: [\n "H",\n "hB"\n ],\n PT: [\n "H",\n "hB"\n ],\n RE: [\n "H",\n "hB"\n ],\n RO: [\n "H",\n "hB"\n ],\n SI: [\n "H",\n "hB"\n ],\n SR: [\n "H",\n "hB"\n ],\n ST: [\n "H",\n "hB"\n ],\n TG: [\n "H",\n "hB"\n ],\n TR: [\n "H",\n "hB"\n ],\n WF: [\n "H",\n "hB"\n ],\n YT: [\n "H",\n "hB"\n ],\n BD: [\n "h",\n "hB",\n "H"\n ],\n PK: [\n "h",\n "hB",\n "H"\n ],\n AZ: [\n "H",\n "hB",\n "h"\n ],\n BA: [\n "H",\n "hB",\n "h"\n ],\n BG: [\n "H",\n "hB",\n "h"\n ],\n CH: [\n "H",\n "hB",\n "h"\n ],\n GE: [\n "H",\n "hB",\n "h"\n ],\n LI: [\n "H",\n "hB",\n "h"\n ],\n ME: [\n "H",\n "hB",\n "h"\n ],\n RS: [\n "H",\n "hB",\n "h"\n ],\n UA: [\n "H",\n "hB",\n "h"\n ],\n UZ: [\n "H",\n "hB",\n "h"\n ],\n XK: [\n "H",\n "hB",\n "h"\n ],\n AG: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n AU: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n BB: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n BM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n BS: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n CA: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n DM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n "en-001": [\n "h",\n "hb",\n "H",\n "hB"\n ],\n FJ: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n FM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n GD: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n GM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n GU: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n GY: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n JM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n KI: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n KN: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n KY: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n LC: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n LR: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n MH: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n MP: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n MW: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n NZ: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n SB: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n SG: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n SL: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n SS: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n SZ: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n TC: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n TT: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n UM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n US: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n VC: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n VG: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n VI: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n ZM: [\n "h",\n "hb",\n "H",\n "hB"\n ],\n BO: [\n "H",\n "hB",\n "h",\n "hb"\n ],\n EC: [\n "H",\n "hB",\n "h",\n "hb"\n ],\n ES: [\n "H",\n "hB",\n "h",\n "hb"\n ],\n GQ: [\n "H",\n "hB",\n "h",\n "hb"\n ],\n PE: [\n "H",\n "hB",\n "h",\n "hb"\n ],\n AE: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n "ar-001": [\n "h",\n "hB",\n "hb",\n "H"\n ],\n BH: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n DZ: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n EG: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n EH: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n HK: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n IQ: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n JO: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n KW: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n LB: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n LY: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n MO: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n MR: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n OM: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n PH: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n PS: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n QA: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n SA: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n SD: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n SY: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n TN: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n YE: [\n "h",\n "hB",\n "hb",\n "H"\n ],\n AF: [\n "H",\n "hb",\n "hB",\n "h"\n ],\n LA: [\n "H",\n "hb",\n "hB",\n "h"\n ],\n CN: [\n "H",\n "hB",\n "hb",\n "h"\n ],\n LV: [\n "H",\n "hB",\n "hb",\n "h"\n ],\n TL: [\n "H",\n "hB",\n "hb",\n "h"\n ],\n "zu-ZA": [\n "H",\n "hB",\n "hb",\n "h"\n ],\n CD: [\n "hB",\n "H"\n ],\n IR: [\n "hB",\n "H"\n ],\n "hi-IN": [\n "hB",\n "h",\n "H"\n ],\n "kn-IN": [\n "hB",\n "h",\n "H"\n ],\n "ml-IN": [\n "hB",\n "h",\n "H"\n ],\n "te-IN": [\n "hB",\n "h",\n "H"\n ],\n KH: [\n "hB",\n "h",\n "H",\n "hb"\n ],\n "ta-IN": [\n "hB",\n "h",\n "hb",\n "H"\n ],\n BN: [\n "hb",\n "hB",\n "h",\n "H"\n ],\n MY: [\n "hb",\n "hB",\n "h",\n "H"\n ],\n ET: [\n "hB",\n "hb",\n "h",\n "H"\n ],\n "gu-IN": [\n "hB",\n "hb",\n "h",\n "H"\n ],\n "mr-IN": [\n "hB",\n "hb",\n "h",\n "H"\n ],\n "pa-IN": [\n "hB",\n "hb",\n "h",\n "H"\n ],\n TW: [\n "hB",\n "hb",\n "h",\n "H"\n ],\n KE: [\n "hB",\n "hb",\n "H",\n "h"\n ],\n MM: [\n "hB",\n "hb",\n "H",\n "h"\n ],\n TZ: [\n "hB",\n "hb",\n "H",\n "h"\n ],\n UG: [\n "hB",\n "hb",\n "H",\n "h"\n ]\n};\nfunction C_(e, i) {\n for (var r = "", o = 0; o < e.length; o++) {\n var l = e.charAt(o);\n if (l === "j") {\n for (var d = 0; o + 1 < e.length && e.charAt(o + 1) === l; )\n d++, o++;\n var u = 1 + (d & 1), m = d < 2 ? 1 : 3 + (d >> 1), h = "a", b = y_(i);\n for ((b == "H" || b == "k") && (m = 0); m-- > 0; )\n r += h;\n for (; u-- > 0; )\n r = b + r;\n } else\n l === "J" ? r += "H" : r += l;\n }\n return r;\n}\nfunction y_(e) {\n var i = e.hourCycle;\n if (i === void 0 && // @ts-ignore hourCycle(s) is not identified yet\n e.hourCycles && // @ts-ignore\n e.hourCycles.length && (i = e.hourCycles[0]), i)\n switch (i) {\n case "h24":\n return "k";\n case "h23":\n return "H";\n case "h12":\n return "h";\n case "h11":\n return "K";\n default:\n throw new Error("Invalid hourCycle");\n }\n var r = e.language, o;\n r !== "root" && (o = e.maximize().region);\n var l = Lr[o || ""] || Lr[r || ""] || Lr["".concat(r, "-001")] || Lr["001"];\n return l[0];\n}\nvar No, A_ = new RegExp("^".concat(Vf.source, "*")), k_ = new RegExp("".concat(Vf.source, "*$"));\nfunction ie(e, i) {\n return { start: e, end: i };\n}\nvar w_ = !!String.prototype.startsWith, __ = !!String.fromCodePoint, E_ = !!Object.fromEntries, T_ = !!String.prototype.codePointAt, S_ = !!String.prototype.trimStart, x_ = !!String.prototype.trimEnd, z_ = !!Number.isSafeInteger, D_ = z_ ? Number.isSafeInteger : function(e) {\n return typeof e == "number" && isFinite(e) && Math.floor(e) === e && Math.abs(e) <= 9007199254740991;\n}, Qs = !0;\ntry {\n var B_ = Jf("([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)", "yu");\n Qs = ((No = B_.exec("a")) === null || No === void 0 ? void 0 : No[0]) === "a";\n} catch (e) {\n Qs = !1;\n}\nvar Ju = w_ ? (\n // Native\n function(i, r, o) {\n return i.startsWith(r, o);\n }\n) : (\n // For IE11\n function(i, r, o) {\n return i.slice(o, o + r.length) === r;\n }\n), el = __ ? String.fromCodePoint : (\n // IE11\n function() {\n for (var i = [], r = 0; r < arguments.length; r++)\n i[r] = arguments[r];\n for (var o = "", l = i.length, d = 0, u; l > d; ) {\n if (u = i[d++], u > 1114111)\n throw RangeError(u + " is not a valid code point");\n o += u < 65536 ? String.fromCharCode(u) : String.fromCharCode(((u -= 65536) >> 10) + 55296, u % 1024 + 56320);\n }\n return o;\n }\n), Xu = (\n // native\n E_ ? Object.fromEntries : (\n // Ponyfill\n function(i) {\n for (var r = {}, o = 0, l = i; o < l.length; o++) {\n var d = l[o], u = d[0], m = d[1];\n r[u] = m;\n }\n return r;\n }\n )\n), Yf = T_ ? (\n // Native\n function(i, r) {\n return i.codePointAt(r);\n }\n) : (\n // IE 11\n function(i, r) {\n var o = i.length;\n if (!(r < 0 || r >= o)) {\n var l = i.charCodeAt(r), d;\n return l < 55296 || l > 56319 || r + 1 === o || (d = i.charCodeAt(r + 1)) < 56320 || d > 57343 ? l : (l - 55296 << 10) + (d - 56320) + 65536;\n }\n }\n), I_ = S_ ? (\n // Native\n function(i) {\n return i.trimStart();\n }\n) : (\n // Ponyfill\n function(i) {\n return i.replace(A_, "");\n }\n), j_ = x_ ? (\n // Native\n function(i) {\n return i.trimEnd();\n }\n) : (\n // Ponyfill\n function(i) {\n return i.replace(k_, "");\n }\n);\nfunction Jf(e, i) {\n return new RegExp(e, i);\n}\nvar tl;\nif (Qs) {\n var Qu = Jf("([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)", "yu");\n tl = function(i, r) {\n var o;\n Qu.lastIndex = r;\n var l = Qu.exec(i);\n return (o = l[1]) !== null && o !== void 0 ? o : "";\n };\n} else\n tl = function(i, r) {\n for (var o = []; ; ) {\n var l = Yf(i, r);\n if (l === void 0 || Xf(l) || M_(l))\n break;\n o.push(l), r += l >= 65536 ? 2 : 1;\n }\n return el.apply(void 0, o);\n };\nvar P_ = (\n /** @class */\n function() {\n function e(i, r) {\n r === void 0 && (r = {}), this.message = i, this.position = { offset: 0, line: 1, column: 1 }, this.ignoreTag = !!r.ignoreTag, this.locale = r.locale, this.requiresOtherClause = !!r.requiresOtherClause, this.shouldParseSkeletons = !!r.shouldParseSkeletons;\n }\n return e.prototype.parse = function() {\n if (this.offset() !== 0)\n throw Error("parser can only be used once");\n return this.parseMessage(0, "", !1);\n }, e.prototype.parseMessage = function(i, r, o) {\n for (var l = []; !this.isEOF(); ) {\n var d = this.char();\n if (d === 123) {\n var u = this.parseArgument(i, o);\n if (u.err)\n return u;\n l.push(u.val);\n } else {\n if (d === 125 && i > 0)\n break;\n if (d === 35 && (r === "plural" || r === "selectordinal")) {\n var m = this.clonePosition();\n this.bump(), l.push({\n type: ve.pound,\n location: ie(m, this.clonePosition())\n });\n } else if (d === 60 && !this.ignoreTag && this.peek() === 47) {\n if (o)\n break;\n return this.error(ne.UNMATCHED_CLOSING_TAG, ie(this.clonePosition(), this.clonePosition()));\n } else if (d === 60 && !this.ignoreTag && nl(this.peek() || 0)) {\n var u = this.parseTag(i, r);\n if (u.err)\n return u;\n l.push(u.val);\n } else {\n var u = this.parseLiteral(i, r);\n if (u.err)\n return u;\n l.push(u.val);\n }\n }\n }\n return { val: l, err: null };\n }, e.prototype.parseTag = function(i, r) {\n var o = this.clonePosition();\n this.bump();\n var l = this.parseTagName();\n if (this.bumpSpace(), this.bumpIf("/>"))\n return {\n val: {\n type: ve.literal,\n value: "<".concat(l, "/>"),\n location: ie(o, this.clonePosition())\n },\n err: null\n };\n if (this.bumpIf(">")) {\n var d = this.parseMessage(i + 1, r, !0);\n if (d.err)\n return d;\n var u = d.val, m = this.clonePosition();\n if (this.bumpIf("</")) {\n if (this.isEOF() || !nl(this.char()))\n return this.error(ne.INVALID_TAG, ie(m, this.clonePosition()));\n var h = this.clonePosition(), b = this.parseTagName();\n return l !== b ? this.error(ne.UNMATCHED_CLOSING_TAG, ie(h, this.clonePosition())) : (this.bumpSpace(), this.bumpIf(">") ? {\n val: {\n type: ve.tag,\n value: l,\n children: u,\n location: ie(o, this.clonePosition())\n },\n err: null\n } : this.error(ne.INVALID_TAG, ie(m, this.clonePosition())));\n } else\n return this.error(ne.UNCLOSED_TAG, ie(o, this.clonePosition()));\n } else\n return this.error(ne.INVALID_TAG, ie(o, this.clonePosition()));\n }, e.prototype.parseTagName = function() {\n var i = this.offset();\n for (this.bump(); !this.isEOF() && O_(this.char()); )\n this.bump();\n return this.message.slice(i, this.offset());\n }, e.prototype.parseLiteral = function(i, r) {\n for (var o = this.clonePosition(), l = ""; ; ) {\n var d = this.tryParseQuote(r);\n if (d) {\n l += d;\n continue;\n }\n var u = this.tryParseUnquoted(i, r);\n if (u) {\n l += u;\n continue;\n }\n var m = this.tryParseLeftAngleBracket();\n if (m) {\n l += m;\n continue;\n }\n break;\n }\n var h = ie(o, this.clonePosition());\n return {\n val: { type: ve.literal, value: l, location: h },\n err: null\n };\n }, e.prototype.tryParseLeftAngleBracket = function() {\n return !this.isEOF() && this.char() === 60 && (this.ignoreTag || // If at the opening tag or closing tag position, bail.\n !L_(this.peek() || 0)) ? (this.bump(), "<") : null;\n }, e.prototype.tryParseQuote = function(i) {\n if (this.isEOF() || this.char() !== 39)\n return null;\n switch (this.peek()) {\n case 39:\n return this.bump(), this.bump(), "\'";\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35:\n if (i === "plural" || i === "selectordinal")\n break;\n return null;\n default:\n return null;\n }\n this.bump();\n var r = [this.char()];\n for (this.bump(); !this.isEOF(); ) {\n var o = this.char();\n if (o === 39)\n if (this.peek() === 39)\n r.push(39), this.bump();\n else {\n this.bump();\n break;\n }\n else\n r.push(o);\n this.bump();\n }\n return el.apply(void 0, r);\n }, e.prototype.tryParseUnquoted = function(i, r) {\n if (this.isEOF())\n return null;\n var o = this.char();\n return o === 60 || o === 123 || o === 35 && (r === "plural" || r === "selectordinal") || o === 125 && i > 0 ? null : (this.bump(), el(o));\n }, e.prototype.parseArgument = function(i, r) {\n var o = this.clonePosition();\n if (this.bump(), this.bumpSpace(), this.isEOF())\n return this.error(ne.EXPECT_ARGUMENT_CLOSING_BRACE, ie(o, this.clonePosition()));\n if (this.char() === 125)\n return this.bump(), this.error(ne.EMPTY_ARGUMENT, ie(o, this.clonePosition()));\n var l = this.parseIdentifierIfPossible().value;\n if (!l)\n return this.error(ne.MALFORMED_ARGUMENT, ie(o, this.clonePosition()));\n if (this.bumpSpace(), this.isEOF())\n return this.error(ne.EXPECT_ARGUMENT_CLOSING_BRACE, ie(o, this.clonePosition()));\n switch (this.char()) {\n case 125:\n return this.bump(), {\n val: {\n type: ve.argument,\n // value does not include the opening and closing braces.\n value: l,\n location: ie(o, this.clonePosition())\n },\n err: null\n };\n case 44:\n return this.bump(), this.bumpSpace(), this.isEOF() ? this.error(ne.EXPECT_ARGUMENT_CLOSING_BRACE, ie(o, this.clonePosition())) : this.parseArgumentOptions(i, r, l, o);\n default:\n return this.error(ne.MALFORMED_ARGUMENT, ie(o, this.clonePosition()));\n }\n }, e.prototype.parseIdentifierIfPossible = function() {\n var i = this.clonePosition(), r = this.offset(), o = tl(this.message, r), l = r + o.length;\n this.bumpTo(l);\n var d = this.clonePosition(), u = ie(i, d);\n return { value: o, location: u };\n }, e.prototype.parseArgumentOptions = function(i, r, o, l) {\n var d, u = this.clonePosition(), m = this.parseIdentifierIfPossible().value, h = this.clonePosition();\n switch (m) {\n case "":\n return this.error(ne.EXPECT_ARGUMENT_TYPE, ie(u, h));\n case "number":\n case "date":\n case "time": {\n this.bumpSpace();\n var b = null;\n if (this.bumpIf(",")) {\n this.bumpSpace();\n var v = this.clonePosition(), g = this.parseSimpleArgStyleIfPossible();\n if (g.err)\n return g;\n var w = j_(g.val);\n if (w.length === 0)\n return this.error(ne.EXPECT_ARGUMENT_STYLE, ie(this.clonePosition(), this.clonePosition()));\n var B = ie(v, this.clonePosition());\n b = { style: w, styleLocation: B };\n }\n var D = this.tryParseArgumentClose(l);\n if (D.err)\n return D;\n var I = ie(l, this.clonePosition());\n if (b && Ju(b == null ? void 0 : b.style, "::", 0)) {\n var x = I_(b.style.slice(2));\n if (m === "number") {\n var g = this.parseNumberSkeletonFromString(x, b.styleLocation);\n return g.err ? g : {\n val: { type: ve.number, value: o, location: I, style: g.val },\n err: null\n };\n } else {\n if (x.length === 0)\n return this.error(ne.EXPECT_DATE_TIME_SKELETON, I);\n var j = x;\n this.locale && (j = C_(x, this.locale));\n var w = {\n type: Hn.dateTime,\n pattern: j,\n location: b.styleLocation,\n parsedOptions: this.shouldParseSkeletons ? p_(j) : {}\n }, M = m === "date" ? ve.date : ve.time;\n return {\n val: { type: M, value: o, location: I, style: w },\n err: null\n };\n }\n }\n return {\n val: {\n type: m === "number" ? ve.number : m === "date" ? ve.date : ve.time,\n value: o,\n location: I,\n style: (d = b == null ? void 0 : b.style) !== null && d !== void 0 ? d : null\n },\n err: null\n };\n }\n case "plural":\n case "selectordinal":\n case "select": {\n var W = this.clonePosition();\n if (this.bumpSpace(), !this.bumpIf(","))\n return this.error(ne.EXPECT_SELECT_ARGUMENT_OPTIONS, ie(W, Nr({}, W)));\n this.bumpSpace();\n var K = this.parseIdentifierIfPossible(), re = 0;\n if (m !== "select" && K.value === "offset") {\n if (!this.bumpIf(":"))\n return this.error(ne.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ie(this.clonePosition(), this.clonePosition()));\n this.bumpSpace();\n var g = this.tryParseDecimalInteger(ne.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ne.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (g.err)\n return g;\n this.bumpSpace(), K = this.parseIdentifierIfPossible(), re = g.val;\n }\n var de = this.tryParsePluralOrSelectOptions(i, m, r, K);\n if (de.err)\n return de;\n var D = this.tryParseArgumentClose(l);\n if (D.err)\n return D;\n var ge = ie(l, this.clonePosition());\n return m === "select" ? {\n val: {\n type: ve.select,\n value: o,\n options: Xu(de.val),\n location: ge\n },\n err: null\n } : {\n val: {\n type: ve.plural,\n value: o,\n options: Xu(de.val),\n offset: re,\n pluralType: m === "plural" ? "cardinal" : "ordinal",\n location: ge\n },\n err: null\n };\n }\n default:\n return this.error(ne.INVALID_ARGUMENT_TYPE, ie(u, h));\n }\n }, e.prototype.tryParseArgumentClose = function(i) {\n return this.isEOF() || this.char() !== 125 ? this.error(ne.EXPECT_ARGUMENT_CLOSING_BRACE, ie(i, this.clonePosition())) : (this.bump(), { val: !0, err: null });\n }, e.prototype.parseSimpleArgStyleIfPossible = function() {\n for (var i = 0, r = this.clonePosition(); !this.isEOF(); ) {\n var o = this.char();\n switch (o) {\n case 39: {\n this.bump();\n var l = this.clonePosition();\n if (!this.bumpUntil("\'"))\n return this.error(ne.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, ie(l, this.clonePosition()));\n this.bump();\n break;\n }\n case 123: {\n i += 1, this.bump();\n break;\n }\n case 125: {\n if (i > 0)\n i -= 1;\n else\n return {\n val: this.message.slice(r.offset, this.offset()),\n err: null\n };\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(r.offset, this.offset()),\n err: null\n };\n }, e.prototype.parseNumberSkeletonFromString = function(i, r) {\n var o = [];\n try {\n o = m_(i);\n } catch (l) {\n return this.error(ne.INVALID_NUMBER_SKELETON, r);\n }\n return {\n val: {\n type: Hn.number,\n tokens: o,\n location: r,\n parsedOptions: this.shouldParseSkeletons ? b_(o) : {}\n },\n err: null\n };\n }, e.prototype.tryParsePluralOrSelectOptions = function(i, r, o, l) {\n for (var d, u = !1, m = [], h = /* @__PURE__ */ new Set(), b = l.value, v = l.location; ; ) {\n if (b.length === 0) {\n var g = this.clonePosition();\n if (r !== "select" && this.bumpIf("=")) {\n var w = this.tryParseDecimalInteger(ne.EXPECT_PLURAL_ARGUMENT_SELECTOR, ne.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (w.err)\n return w;\n v = ie(g, this.clonePosition()), b = this.message.slice(g.offset, this.offset());\n } else\n break;\n }\n if (h.has(b))\n return this.error(r === "select" ? ne.DUPLICATE_SELECT_ARGUMENT_SELECTOR : ne.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, v);\n b === "other" && (u = !0), this.bumpSpace();\n var B = this.clonePosition();\n if (!this.bumpIf("{"))\n return this.error(r === "select" ? ne.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : ne.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, ie(this.clonePosition(), this.clonePosition()));\n var D = this.parseMessage(i + 1, r, o);\n if (D.err)\n return D;\n var I = this.tryParseArgumentClose(B);\n if (I.err)\n return I;\n m.push([\n b,\n {\n value: D.val,\n location: ie(B, this.clonePosition())\n }\n ]), h.add(b), this.bumpSpace(), d = this.parseIdentifierIfPossible(), b = d.value, v = d.location;\n }\n return m.length === 0 ? this.error(r === "select" ? ne.EXPECT_SELECT_ARGUMENT_SELECTOR : ne.EXPECT_PLURAL_ARGUMENT_SELECTOR, ie(this.clonePosition(), this.clonePosition())) : this.requiresOtherClause && !u ? this.error(ne.MISSING_OTHER_CLAUSE, ie(this.clonePosition(), this.clonePosition())) : { val: m, err: null };\n }, e.prototype.tryParseDecimalInteger = function(i, r) {\n var o = 1, l = this.clonePosition();\n this.bumpIf("+") || this.bumpIf("-") && (o = -1);\n for (var d = !1, u = 0; !this.isEOF(); ) {\n var m = this.char();\n if (m >= 48 && m <= 57)\n d = !0, u = u * 10 + (m - 48), this.bump();\n else\n break;\n }\n var h = ie(l, this.clonePosition());\n return d ? (u *= o, D_(u) ? { val: u, err: null } : this.error(r, h)) : this.error(i, h);\n }, e.prototype.offset = function() {\n return this.position.offset;\n }, e.prototype.isEOF = function() {\n return this.offset() === this.message.length;\n }, e.prototype.clonePosition = function() {\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column\n };\n }, e.prototype.char = function() {\n var i = this.position.offset;\n if (i >= this.message.length)\n throw Error("out of bound");\n var r = Yf(this.message, i);\n if (r === void 0)\n throw Error("Offset ".concat(i, " is at invalid UTF-16 code unit boundary"));\n return r;\n }, e.prototype.error = function(i, r) {\n return {\n val: null,\n err: {\n kind: i,\n message: this.message,\n location: r\n }\n };\n }, e.prototype.bump = function() {\n if (!this.isEOF()) {\n var i = this.char();\n i === 10 ? (this.position.line += 1, this.position.column = 1, this.position.offset += 1) : (this.position.column += 1, this.position.offset += i < 65536 ? 1 : 2);\n }\n }, e.prototype.bumpIf = function(i) {\n if (Ju(this.message, i, this.offset())) {\n for (var r = 0; r < i.length; r++)\n this.bump();\n return !0;\n }\n return !1;\n }, e.prototype.bumpUntil = function(i) {\n var r = this.offset(), o = this.message.indexOf(i, r);\n return o >= 0 ? (this.bumpTo(o), !0) : (this.bumpTo(this.message.length), !1);\n }, e.prototype.bumpTo = function(i) {\n if (this.offset() > i)\n throw Error("targetOffset ".concat(i, " must be greater than or equal to the current offset ").concat(this.offset()));\n for (i = Math.min(i, this.message.length); ; ) {\n var r = this.offset();\n if (r === i)\n break;\n if (r > i)\n throw Error("targetOffset ".concat(i, " is at invalid UTF-16 code unit boundary"));\n if (this.bump(), this.isEOF())\n break;\n }\n }, e.prototype.bumpSpace = function() {\n for (; !this.isEOF() && Xf(this.char()); )\n this.bump();\n }, e.prototype.peek = function() {\n if (this.isEOF())\n return null;\n var i = this.char(), r = this.offset(), o = this.message.charCodeAt(r + (i >= 65536 ? 2 : 1));\n return o != null ? o : null;\n }, e;\n }()\n);\nfunction nl(e) {\n return e >= 97 && e <= 122 || e >= 65 && e <= 90;\n}\nfunction L_(e) {\n return nl(e) || e === 47;\n}\nfunction O_(e) {\n return e === 45 || e === 46 || e >= 48 && e <= 57 || e === 95 || e >= 97 && e <= 122 || e >= 65 && e <= 90 || e == 183 || e >= 192 && e <= 214 || e >= 216 && e <= 246 || e >= 248 && e <= 893 || e >= 895 && e <= 8191 || e >= 8204 && e <= 8205 || e >= 8255 && e <= 8256 || e >= 8304 && e <= 8591 || e >= 11264 && e <= 12271 || e >= 12289 && e <= 55295 || e >= 63744 && e <= 64975 || e >= 65008 && e <= 65533 || e >= 65536 && e <= 983039;\n}\nfunction Xf(e) {\n return e >= 9 && e <= 13 || e === 32 || e === 133 || e >= 8206 && e <= 8207 || e === 8232 || e === 8233;\n}\nfunction M_(e) {\n return e >= 33 && e <= 35 || e === 36 || e >= 37 && e <= 39 || e === 40 || e === 41 || e === 42 || e === 43 || e === 44 || e === 45 || e >= 46 && e <= 47 || e >= 58 && e <= 59 || e >= 60 && e <= 62 || e >= 63 && e <= 64 || e === 91 || e === 92 || e === 93 || e === 94 || e === 96 || e === 123 || e === 124 || e === 125 || e === 126 || e === 161 || e >= 162 && e <= 165 || e === 166 || e === 167 || e === 169 || e === 171 || e === 172 || e === 174 || e === 176 || e === 177 || e === 182 || e === 187 || e === 191 || e === 215 || e === 247 || e >= 8208 && e <= 8213 || e >= 8214 && e <= 8215 || e === 8216 || e === 8217 || e === 8218 || e >= 8219 && e <= 8220 || e === 8221 || e === 8222 || e === 8223 || e >= 8224 && e <= 8231 || e >= 8240 && e <= 8248 || e === 8249 || e === 8250 || e >= 8251 && e <= 8254 || e >= 8257 && e <= 8259 || e === 8260 || e === 8261 || e === 8262 || e >= 8263 && e <= 8273 || e === 8274 || e === 8275 || e >= 8277 && e <= 8286 || e >= 8592 && e <= 8596 || e >= 8597 && e <= 8601 || e >= 8602 && e <= 8603 || e >= 8604 && e <= 8607 || e === 8608 || e >= 8609 && e <= 8610 || e === 8611 || e >= 8612 && e <= 8613 || e === 8614 || e >= 8615 && e <= 8621 || e === 8622 || e >= 8623 && e <= 8653 || e >= 8654 && e <= 8655 || e >= 8656 && e <= 8657 || e === 8658 || e === 8659 || e === 8660 || e >= 8661 && e <= 8691 || e >= 8692 && e <= 8959 || e >= 8960 && e <= 8967 || e === 8968 || e === 8969 || e === 8970 || e === 8971 || e >= 8972 && e <= 8991 || e >= 8992 && e <= 8993 || e >= 8994 && e <= 9e3 || e === 9001 || e === 9002 || e >= 9003 && e <= 9083 || e === 9084 || e >= 9085 && e <= 9114 || e >= 9115 && e <= 9139 || e >= 9140 && e <= 9179 || e >= 9180 && e <= 9185 || e >= 9186 && e <= 9254 || e >= 9255 && e <= 9279 || e >= 9280 && e <= 9290 || e >= 9291 && e <= 9311 || e >= 9472 && e <= 9654 || e === 9655 || e >= 9656 && e <= 9664 || e === 9665 || e >= 9666 && e <= 9719 || e >= 9720 && e <= 9727 || e >= 9728 && e <= 9838 || e === 9839 || e >= 9840 && e <= 10087 || e === 10088 || e === 10089 || e === 10090 || e === 10091 || e === 10092 || e === 10093 || e === 10094 || e === 10095 || e === 10096 || e === 10097 || e === 10098 || e === 10099 || e === 10100 || e === 10101 || e >= 10132 && e <= 10175 || e >= 10176 && e <= 10180 || e === 10181 || e === 10182 || e >= 10183 && e <= 10213 || e === 10214 || e === 10215 || e === 10216 || e === 10217 || e === 10218 || e === 10219 || e === 10220 || e === 10221 || e === 10222 || e === 10223 || e >= 10224 && e <= 10239 || e >= 10240 && e <= 10495 || e >= 10496 && e <= 10626 || e === 10627 || e === 10628 || e === 10629 || e === 10630 || e === 10631 || e === 10632 || e === 10633 || e === 10634 || e === 10635 || e === 10636 || e === 10637 || e === 10638 || e === 10639 || e === 10640 || e === 10641 || e === 10642 || e === 10643 || e === 10644 || e === 10645 || e === 10646 || e === 10647 || e === 10648 || e >= 10649 && e <= 10711 || e === 10712 || e === 10713 || e === 10714 || e === 10715 || e >= 10716 && e <= 10747 || e === 10748 || e === 10749 || e >= 10750 && e <= 11007 || e >= 11008 && e <= 11055 || e >= 11056 && e <= 11076 || e >= 11077 && e <= 11078 || e >= 11079 && e <= 11084 || e >= 11085 && e <= 11123 || e >= 11124 && e <= 11125 || e >= 11126 && e <= 11157 || e === 11158 || e >= 11159 && e <= 11263 || e >= 11776 && e <= 11777 || e === 11778 || e === 11779 || e === 11780 || e === 11781 || e >= 11782 && e <= 11784 || e === 11785 || e === 11786 || e === 11787 || e === 11788 || e === 11789 || e >= 11790 && e <= 11798 || e === 11799 || e >= 11800 && e <= 11801 || e === 11802 || e === 11803 || e === 11804 || e === 11805 || e >= 11806 && e <= 11807 || e === 11808 || e === 11809 || e === 11810 || e === 11811 || e === 11812 || e === 11813 || e === 11814 || e === 11815 || e === 11816 || e === 11817 || e >= 11818 && e <= 11822 || e === 11823 || e >= 11824 && e <= 11833 || e >= 11834 && e <= 11835 || e >= 11836 && e <= 11839 || e === 11840 || e === 11841 || e === 11842 || e >= 11843 && e <= 11855 || e >= 11856 && e <= 11857 || e === 11858 || e >= 11859 && e <= 11903 || e >= 12289 && e <= 12291 || e === 12296 || e === 12297 || e === 12298 || e === 12299 || e === 12300 || e === 12301 || e === 12302 || e === 12303 || e === 12304 || e === 12305 || e >= 12306 && e <= 12307 || e === 12308 || e === 12309 || e === 12310 || e === 12311 || e === 12312 || e === 12313 || e === 12314 || e === 12315 || e === 12316 || e === 12317 || e >= 12318 && e <= 12319 || e === 12320 || e === 12336 || e === 64830 || e === 64831 || e >= 65093 && e <= 65094;\n}\nfunction il(e) {\n e.forEach(function(i) {\n if (delete i.location, Wf(i) || Uf(i))\n for (var r in i.options)\n delete i.options[r].location, il(i.options[r].value);\n else\n $f(i) && Gf(i.style) || (Rf(i) || Nf(i)) && Xs(i.style) ? delete i.style.location : Hf(i) && il(i.children);\n });\n}\nfunction F_(e, i) {\n i === void 0 && (i = {}), i = Nr({ shouldParseSkeletons: !0, requiresOtherClause: !0 }, i);\n var r = new P_(e, i).parse();\n if (r.err) {\n var o = SyntaxError(ne[r.err.kind]);\n throw o.location = r.err.location, o.originalMessage = r.err.message, o;\n }\n return i != null && i.captureLocation || il(r.val), r.val;\n}\nfunction _t(e, i) {\n var r = i && i.cache ? i.cache : H_, o = i && i.serializer ? i.serializer : U_, l = i && i.strategy ? i.strategy : R_;\n return l(e, {\n cache: r,\n serializer: o\n });\n}\nfunction $_(e) {\n return e == null || typeof e == "number" || typeof e == "boolean";\n}\nfunction Qf(e, i, r, o) {\n var l = $_(o) ? o : r(o), d = i.get(l);\n return typeof d == "undefined" && (d = e.call(this, o), i.set(l, d)), d;\n}\nfunction em(e, i, r) {\n var o = Array.prototype.slice.call(arguments, 3), l = r(o), d = i.get(l);\n return typeof d == "undefined" && (d = e.apply(this, o), i.set(l, d)), d;\n}\nfunction Cl(e, i, r, o, l) {\n return r.bind(i, e, o, l);\n}\nfunction R_(e, i) {\n var r = e.length === 1 ? Qf : em;\n return Cl(e, this, r, i.cache.create(), i.serializer);\n}\nfunction N_(e, i) {\n return Cl(e, this, em, i.cache.create(), i.serializer);\n}\nfunction W_(e, i) {\n return Cl(e, this, Qf, i.cache.create(), i.serializer);\n}\nvar U_ = function() {\n return JSON.stringify(arguments);\n};\nfunction yl() {\n this.cache = /* @__PURE__ */ Object.create(null);\n}\nyl.prototype.get = function(e) {\n return this.cache[e];\n};\nyl.prototype.set = function(e, i) {\n this.cache[e] = i;\n};\nvar H_ = {\n create: function() {\n return new yl();\n }\n}, Et = {\n variadic: N_,\n monadic: W_\n}, St;\n(function(e) {\n e.MISSING_VALUE = "MISSING_VALUE", e.INVALID_VALUE = "INVALID_VALUE", e.MISSING_INTL_API = "MISSING_INTL_API";\n})(St || (St = {}));\nvar Qt = (\n /** @class */\n function(e) {\n Vr(i, e);\n function i(r, o, l) {\n var d = e.call(this, r) || this;\n return d.code = o, d.originalMessage = l, d;\n }\n return i.prototype.toString = function() {\n return "[formatjs Error: ".concat(this.code, "] ").concat(this.message);\n }, i;\n }(Error)\n), ep = (\n /** @class */\n function(e) {\n Vr(i, e);\n function i(r, o, l, d) {\n return e.call(this, \'Invalid values for "\'.concat(r, \'": "\').concat(o, \'". Options are "\').concat(Object.keys(l).join(\'", "\'), \'"\'), St.INVALID_VALUE, d) || this;\n }\n return i;\n }(Qt)\n), G_ = (\n /** @class */\n function(e) {\n Vr(i, e);\n function i(r, o, l) {\n return e.call(this, \'Value for "\'.concat(r, \'" must be of type \').concat(o), St.INVALID_VALUE, l) || this;\n }\n return i;\n }(Qt)\n), V_ = (\n /** @class */\n function(e) {\n Vr(i, e);\n function i(r, o) {\n return e.call(this, \'The intl string context variable "\'.concat(r, \'" was not provided to the string "\').concat(o, \'"\'), St.MISSING_VALUE, o) || this;\n }\n return i;\n }(Qt)\n), Ue;\n(function(e) {\n e[e.literal = 0] = "literal", e[e.object = 1] = "object";\n})(Ue || (Ue = {}));\nfunction q_(e) {\n return e.length < 2 ? e : e.reduce(function(i, r) {\n var o = i[i.length - 1];\n return !o || o.type !== Ue.literal || r.type !== Ue.literal ? i.push(r) : o.value += r.value, i;\n }, []);\n}\nfunction K_(e) {\n return typeof e == "function";\n}\nfunction $r(e, i, r, o, l, d, u) {\n if (e.length === 1 && qu(e[0]))\n return [\n {\n type: Ue.literal,\n value: e[0].value\n }\n ];\n for (var m = [], h = 0, b = e; h < b.length; h++) {\n var v = b[h];\n if (qu(v)) {\n m.push({\n type: Ue.literal,\n value: v.value\n });\n continue;\n }\n if (c_(v)) {\n typeof d == "number" && m.push({\n type: Ue.literal,\n value: r.getNumberFormat(i).format(d)\n });\n continue;\n }\n var g = v.value;\n if (!(l && g in l))\n throw new V_(g, u);\n var w = l[g];\n if (d_(v)) {\n (!w || typeof w == "string" || typeof w == "number") && (w = typeof w == "string" || typeof w == "number" ? String(w) : ""), m.push({\n type: typeof w == "string" ? Ue.literal : Ue.object,\n value: w\n });\n continue;\n }\n if (Rf(v)) {\n var B = typeof v.style == "string" ? o.date[v.style] : Xs(v.style) ? v.style.parsedOptions : void 0;\n m.push({\n type: Ue.literal,\n value: r.getDateTimeFormat(i, B).format(w)\n });\n continue;\n }\n if (Nf(v)) {\n var B = typeof v.style == "string" ? o.time[v.style] : Xs(v.style) ? v.style.parsedOptions : o.time.medium;\n m.push({\n type: Ue.literal,\n value: r.getDateTimeFormat(i, B).format(w)\n });\n continue;\n }\n if ($f(v)) {\n var B = typeof v.style == "string" ? o.number[v.style] : Gf(v.style) ? v.style.parsedOptions : void 0;\n B && B.scale && (w = w * (B.scale || 1)), m.push({\n type: Ue.literal,\n value: r.getNumberFormat(i, B).format(w)\n });\n continue;\n }\n if (Hf(v)) {\n var D = v.children, I = v.value, x = l[I];\n if (!K_(x))\n throw new G_(I, "function", u);\n var j = $r(D, i, r, o, l, d), M = x(j.map(function(re) {\n return re.value;\n }));\n Array.isArray(M) || (M = [M]), m.push.apply(m, M.map(function(re) {\n return {\n type: typeof re == "string" ? Ue.literal : Ue.object,\n value: re\n };\n }));\n }\n if (Wf(v)) {\n var W = v.options[w] || v.options.other;\n if (!W)\n throw new ep(v.value, w, Object.keys(v.options), u);\n m.push.apply(m, $r(W.value, i, r, o, l));\n continue;\n }\n if (Uf(v)) {\n var W = v.options["=".concat(w)];\n if (!W) {\n if (!Intl.PluralRules)\n throw new Qt(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using "@formatjs/intl-pluralrules"\n`, St.MISSING_INTL_API, u);\n var K = r.getPluralRules(i, { type: v.pluralType }).select(w - (v.offset || 0));\n W = v.options[K] || v.options.other;\n }\n if (!W)\n throw new ep(v.value, w, Object.keys(v.options), u);\n m.push.apply(m, $r(W.value, i, r, o, l, w - (v.offset || 0)));\n continue;\n }\n }\n return q_(m);\n}\nfunction Z_(e, i) {\n return i ? Tt(Tt(Tt({}, e || {}), i || {}), Object.keys(e).reduce(function(r, o) {\n return r[o] = Tt(Tt({}, e[o]), i[o] || {}), r;\n }, {})) : e;\n}\nfunction Y_(e, i) {\n return i ? Object.keys(e).reduce(function(r, o) {\n return r[o] = Z_(e[o], i[o]), r;\n }, Tt({}, e)) : e;\n}\nfunction Wo(e) {\n return {\n create: function() {\n return {\n get: function(i) {\n return e[i];\n },\n set: function(i, r) {\n e[i] = r;\n }\n };\n }\n };\n}\nfunction J_(e) {\n return e === void 0 && (e = {\n number: {},\n dateTime: {},\n pluralRules: {}\n }), {\n getNumberFormat: _t(function() {\n for (var i, r = [], o = 0; o < arguments.length; o++)\n r[o] = arguments[o];\n return new ((i = Intl.NumberFormat).bind.apply(i, Ro([void 0], r, !1)))();\n }, {\n cache: Wo(e.number),\n strategy: Et.variadic\n }),\n getDateTimeFormat: _t(function() {\n for (var i, r = [], o = 0; o < arguments.length; o++)\n r[o] = arguments[o];\n return new ((i = Intl.DateTimeFormat).bind.apply(i, Ro([void 0], r, !1)))();\n }, {\n cache: Wo(e.dateTime),\n strategy: Et.variadic\n }),\n getPluralRules: _t(function() {\n for (var i, r = [], o = 0; o < arguments.length; o++)\n r[o] = arguments[o];\n return new ((i = Intl.PluralRules).bind.apply(i, Ro([void 0], r, !1)))();\n }, {\n cache: Wo(e.pluralRules),\n strategy: Et.variadic\n })\n };\n}\nvar tm = (\n /** @class */\n function() {\n function e(i, r, o, l) {\n r === void 0 && (r = e.defaultLocale);\n var d = this;\n if (this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n }, this.format = function(h) {\n var b = d.formatToParts(h);\n if (b.length === 1)\n return b[0].value;\n var v = b.reduce(function(g, w) {\n return !g.length || w.type !== Ue.literal || typeof g[g.length - 1] != "string" ? g.push(w.value) : g[g.length - 1] += w.value, g;\n }, []);\n return v.length <= 1 ? v[0] || "" : v;\n }, this.formatToParts = function(h) {\n return $r(d.ast, d.locales, d.formatters, d.formats, h, void 0, d.message);\n }, this.resolvedOptions = function() {\n var h;\n return {\n locale: ((h = d.resolvedLocale) === null || h === void 0 ? void 0 : h.toString()) || Intl.NumberFormat.supportedLocalesOf(d.locales)[0]\n };\n }, this.getAst = function() {\n return d.ast;\n }, this.locales = r, this.resolvedLocale = e.resolveLocale(r), typeof i == "string") {\n if (this.message = i, !e.__parse)\n throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");\n var u = l || {};\n u.formatters;\n var m = l_(u, ["formatters"]);\n this.ast = e.__parse(i, Tt(Tt({}, m), { locale: this.resolvedLocale }));\n } else\n this.ast = i;\n if (!Array.isArray(this.ast))\n throw new TypeError("A message must be provided as a String or AST.");\n this.formats = Y_(e.formats, o), this.formatters = l && l.formatters || J_(this.formatterCache);\n }\n return Object.defineProperty(e, "defaultLocale", {\n get: function() {\n return e.memoizedDefaultLocale || (e.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale), e.memoizedDefaultLocale;\n },\n enumerable: !1,\n configurable: !0\n }), e.memoizedDefaultLocale = null, e.resolveLocale = function(i) {\n if (typeof Intl.Locale != "undefined") {\n var r = Intl.NumberFormat.supportedLocalesOf(i);\n return r.length > 0 ? new Intl.Locale(r[0]) : new Intl.Locale(typeof i == "string" ? i : i[0]);\n }\n }, e.__parse = F_, e.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0\n },\n currency: {\n style: "currency"\n },\n percent: {\n style: "percent"\n }\n },\n date: {\n short: {\n month: "numeric",\n day: "numeric",\n year: "2-digit"\n },\n medium: {\n month: "short",\n day: "numeric",\n year: "numeric"\n },\n long: {\n month: "long",\n day: "numeric",\n year: "numeric"\n },\n full: {\n weekday: "long",\n month: "long",\n day: "numeric",\n year: "numeric"\n }\n },\n time: {\n short: {\n hour: "numeric",\n minute: "numeric"\n },\n medium: {\n hour: "numeric",\n minute: "numeric",\n second: "numeric"\n },\n long: {\n hour: "numeric",\n minute: "numeric",\n second: "numeric",\n timeZoneName: "short"\n },\n full: {\n hour: "numeric",\n minute: "numeric",\n second: "numeric",\n timeZoneName: "short"\n }\n }\n }, e;\n }()\n), Me;\n(function(e) {\n e.FORMAT_ERROR = "FORMAT_ERROR", e.UNSUPPORTED_FORMATTER = "UNSUPPORTED_FORMATTER", e.INVALID_CONFIG = "INVALID_CONFIG", e.MISSING_DATA = "MISSING_DATA", e.MISSING_TRANSLATION = "MISSING_TRANSLATION";\n})(Me || (Me = {}));\nvar Ze = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o, l) {\n var d = this, u = l ? l instanceof Error ? l : new Error(String(l)) : void 0;\n return d = e.call(this, "[@formatjs/intl Error ".concat(r, "] ").concat(o, `\n`).concat(u ? `\n`.concat(u.message, `\n`).concat(u.stack) : "")) || this, d.code = r, typeof Error.captureStackTrace == "function" && Error.captureStackTrace(d, i), d;\n }\n return i;\n }(Error)\n), X_ = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o) {\n return e.call(this, Me.UNSUPPORTED_FORMATTER, r, o) || this;\n }\n return i;\n }(Ze)\n), Q_ = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o) {\n return e.call(this, Me.INVALID_CONFIG, r, o) || this;\n }\n return i;\n }(Ze)\n), tp = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o) {\n return e.call(this, Me.MISSING_DATA, r, o) || this;\n }\n return i;\n }(Ze)\n), Al = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o, l) {\n return e.call(this, Me.FORMAT_ERROR, "".concat(r, `\nLocale: `).concat(o, `\n`), l) || this;\n }\n return i;\n }(Ze)\n), Uo = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o, l, d) {\n var u = e.call(this, "".concat(r, `\nMessageID: `).concat(l == null ? void 0 : l.id, `\nDefault Message: `).concat(l == null ? void 0 : l.defaultMessage, `\nDescription: `).concat(l == null ? void 0 : l.description, `\n`), o, d) || this;\n return u.descriptor = l, u;\n }\n return i;\n }(Al)\n), eE = (\n /** @class */\n function(e) {\n yn(i, e);\n function i(r, o) {\n var l = e.call(this, Me.MISSING_TRANSLATION, \'Missing message: "\'.concat(r.id, \'" for locale "\').concat(o, \'", using \').concat(r.defaultMessage ? "default message (".concat(typeof r.defaultMessage == "string" ? r.defaultMessage : r.defaultMessage.map(function(d) {\n var u;\n return (u = d.value) !== null && u !== void 0 ? u : JSON.stringify(d);\n }).join(), ")") : "id", " as fallback.")) || this;\n return l.descriptor = r, l;\n }\n return i;\n }(Ze)\n);\nfunction An(e, i, r) {\n return r === void 0 && (r = {}), i.reduce(function(o, l) {\n return l in e ? o[l] = e[l] : l in r && (o[l] = r[l]), o;\n }, {});\n}\nvar tE = function(e) {\n false && 0;\n}, nE = function(e) {\n false && 0;\n}, iE = {\n formats: {},\n messages: {},\n timeZone: void 0,\n defaultLocale: "en",\n defaultFormats: {},\n fallbackOnEmptyString: !0,\n onError: tE,\n onWarn: nE\n};\nfunction nm() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\nfunction fn(e) {\n return {\n create: function() {\n return {\n get: function(i) {\n return e[i];\n },\n set: function(i, r) {\n e[i] = r;\n }\n };\n }\n };\n}\nfunction rE(e) {\n e === void 0 && (e = nm());\n var i = Intl.RelativeTimeFormat, r = Intl.ListFormat, o = Intl.DisplayNames, l = _t(function() {\n for (var m, h = [], b = 0; b < arguments.length; b++)\n h[b] = arguments[b];\n return new ((m = Intl.DateTimeFormat).bind.apply(m, Rn([void 0], h, !1)))();\n }, {\n cache: fn(e.dateTime),\n strategy: Et.variadic\n }), d = _t(function() {\n for (var m, h = [], b = 0; b < arguments.length; b++)\n h[b] = arguments[b];\n return new ((m = Intl.NumberFormat).bind.apply(m, Rn([void 0], h, !1)))();\n }, {\n cache: fn(e.number),\n strategy: Et.variadic\n }), u = _t(function() {\n for (var m, h = [], b = 0; b < arguments.length; b++)\n h[b] = arguments[b];\n return new ((m = Intl.PluralRules).bind.apply(m, Rn([void 0], h, !1)))();\n }, {\n cache: fn(e.pluralRules),\n strategy: Et.variadic\n });\n return {\n getDateTimeFormat: l,\n getNumberFormat: d,\n getMessageFormat: _t(function(m, h, b, v) {\n return new tm(m, h, b, Ce({ formatters: {\n getNumberFormat: d,\n getDateTimeFormat: l,\n getPluralRules: u\n } }, v || {}));\n }, {\n cache: fn(e.message),\n strategy: Et.variadic\n }),\n getRelativeTimeFormat: _t(function() {\n for (var m = [], h = 0; h < arguments.length; h++)\n m[h] = arguments[h];\n return new (i.bind.apply(i, Rn([void 0], m, !1)))();\n }, {\n cache: fn(e.relativeTime),\n strategy: Et.variadic\n }),\n getPluralRules: u,\n getListFormat: _t(function() {\n for (var m = [], h = 0; h < arguments.length; h++)\n m[h] = arguments[h];\n return new (r.bind.apply(r, Rn([void 0], m, !1)))();\n }, {\n cache: fn(e.list),\n strategy: Et.variadic\n }),\n getDisplayNames: _t(function() {\n for (var m = [], h = 0; h < arguments.length; h++)\n m[h] = arguments[h];\n return new (o.bind.apply(o, Rn([void 0], m, !1)))();\n }, {\n cache: fn(e.displayNames),\n strategy: Et.variadic\n })\n };\n}\nfunction kl(e, i, r, o) {\n var l = e && e[i], d;\n if (l && (d = l[r]), d)\n return d;\n o(new X_("No ".concat(i, " format named: ").concat(r)));\n}\nfunction aE(e, i, r) {\n if (r === void 0 && (r = Error), !e)\n throw new r(i);\n}\nfunction Or(e, i) {\n return Object.keys(e).reduce(function(r, o) {\n return r[o] = Ce({ timeZone: i }, e[o]), r;\n }, {});\n}\nfunction np(e, i) {\n var r = Object.keys(Ce(Ce({}, e), i));\n return r.reduce(function(o, l) {\n return o[l] = Ce(Ce({}, e[l] || {}), i[l] || {}), o;\n }, {});\n}\nfunction ip(e, i) {\n if (!i)\n return e;\n var r = tm.formats;\n return Ce(Ce(Ce({}, r), e), { date: np(Or(r.date, i), Or(e.date || {}, i)), time: np(Or(r.time, i), Or(e.time || {}, i)) });\n}\nvar rp = function(e, i, r, o, l) {\n var d = e.locale, u = e.formats, m = e.messages, h = e.defaultLocale, b = e.defaultFormats, v = e.fallbackOnEmptyString, g = e.onError, w = e.timeZone, B = e.defaultRichTextElements;\n r === void 0 && (r = { id: "" });\n var D = r.id, I = r.defaultMessage;\n aE(!!D, "[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue");\n var x = String(D), j = (\n // In case messages is Object.create(null)\n // e.g import(\'foo.json\') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n m && Object.prototype.hasOwnProperty.call(m, x) && m[x]\n );\n if (Array.isArray(j) && j.length === 1 && j[0].type === ve.literal)\n return j[0].value;\n if (!o && j && typeof j == "string" && !B)\n return j.replace(/\'\\{(.*?)\\}\'/gi, "{$1}");\n if (o = Ce(Ce({}, B), o || {}), u = ip(u, w), b = ip(b, w), !j) {\n if (v === !1 && j === "")\n return j;\n if ((!I || d && d.toLowerCase() !== h.toLowerCase()) && g(new eE(r, d)), I)\n try {\n var M = i.getMessageFormat(I, h, b, l);\n return M.format(o);\n } catch (W) {\n return g(new Uo(\'Error formatting default message for: "\'.concat(x, \'", rendering default message verbatim\'), d, r, W)), typeof I == "string" ? I : x;\n }\n return x;\n }\n try {\n var M = i.getMessageFormat(j, d, u, Ce({ formatters: i }, l || {}));\n return M.format(o);\n } catch (W) {\n g(new Uo(\'Error formatting message: "\'.concat(x, \'", using \').concat(I ? "default message" : "id", " as fallback."), d, r, W));\n }\n if (I)\n try {\n var M = i.getMessageFormat(I, h, b, l);\n return M.format(o);\n } catch (W) {\n g(new Uo(\'Error formatting the default message for: "\'.concat(x, \'", rendering message verbatim\'), d, r, W));\n }\n return typeof j == "string" ? j : typeof I == "string" ? I : x;\n}, im = [\n "formatMatcher",\n "timeZone",\n "hour12",\n "weekday",\n "era",\n "year",\n "month",\n "day",\n "hour",\n "minute",\n "second",\n "timeZoneName",\n "hourCycle",\n "dateStyle",\n "timeStyle",\n "calendar",\n // \'dayPeriod\',\n "numberingSystem",\n "fractionalSecondDigits"\n];\nfunction qr(e, i, r, o) {\n var l = e.locale, d = e.formats, u = e.onError, m = e.timeZone;\n o === void 0 && (o = {});\n var h = o.format, b = Ce(Ce({}, m && { timeZone: m }), h && kl(d, i, h, u)), v = An(o, im, b);\n return i === "time" && !v.hour && !v.minute && !v.second && !v.timeStyle && !v.dateStyle && (v = Ce(Ce({}, v), { hour: "numeric", minute: "numeric" })), r(l, v);\n}\nfunction oE(e, i) {\n for (var r = [], o = 2; o < arguments.length; o++)\n r[o - 2] = arguments[o];\n var l = r[0], d = r[1], u = d === void 0 ? {} : d, m = typeof l == "string" ? new Date(l || 0) : l;\n try {\n return qr(e, "date", i, u).format(m);\n } catch (h) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting date.", h));\n }\n return String(m);\n}\nfunction sE(e, i) {\n for (var r = [], o = 2; o < arguments.length; o++)\n r[o - 2] = arguments[o];\n var l = r[0], d = r[1], u = d === void 0 ? {} : d, m = typeof l == "string" ? new Date(l || 0) : l;\n try {\n return qr(e, "time", i, u).format(m);\n } catch (h) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting time.", h));\n }\n return String(m);\n}\nfunction lE(e, i) {\n for (var r = [], o = 2; o < arguments.length; o++)\n r[o - 2] = arguments[o];\n var l = r[0], d = r[1], u = r[2], m = u === void 0 ? {} : u, h = e.timeZone, b = e.locale, v = e.onError, g = An(m, im, h ? { timeZone: h } : {});\n try {\n return i(b, g).formatRange(l, d);\n } catch (w) {\n v(new Ze(Me.FORMAT_ERROR, "Error formatting date time range.", w));\n }\n return String(l);\n}\nfunction dE(e, i) {\n for (var r = [], o = 2; o < arguments.length; o++)\n r[o - 2] = arguments[o];\n var l = r[0], d = r[1], u = d === void 0 ? {} : d, m = typeof l == "string" ? new Date(l || 0) : l;\n try {\n return qr(e, "date", i, u).formatToParts(m);\n } catch (h) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting date.", h));\n }\n return [];\n}\nfunction cE(e, i) {\n for (var r = [], o = 2; o < arguments.length; o++)\n r[o - 2] = arguments[o];\n var l = r[0], d = r[1], u = d === void 0 ? {} : d, m = typeof l == "string" ? new Date(l || 0) : l;\n try {\n return qr(e, "time", i, u).formatToParts(m);\n } catch (h) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting time.", h));\n }\n return [];\n}\nvar uE = [\n "style",\n "type",\n "fallback",\n "languageDisplay"\n];\nfunction pE(e, i, r, o) {\n var l = e.locale, d = e.onError, u = Intl.DisplayNames;\n u || d(new Qt(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using "@formatjs/intl-displaynames"\n`, St.MISSING_INTL_API));\n var m = An(o, uE);\n try {\n return i(l, m).of(r);\n } catch (h) {\n d(new Ze(Me.FORMAT_ERROR, "Error formatting display name.", h));\n }\n}\nvar fE = [\n "type",\n "style"\n], ap = Date.now();\nfunction mE(e) {\n return "".concat(ap, "_").concat(e, "_").concat(ap);\n}\nfunction hE(e, i, r, o) {\n o === void 0 && (o = {});\n var l = rm(e, i, r, o).reduce(function(d, u) {\n var m = u.value;\n return typeof m != "string" ? d.push(m) : typeof d[d.length - 1] == "string" ? d[d.length - 1] += m : d.push(m), d;\n }, []);\n return l.length === 1 ? l[0] : l.length === 0 ? "" : l;\n}\nfunction rm(e, i, r, o) {\n var l = e.locale, d = e.onError;\n o === void 0 && (o = {});\n var u = Intl.ListFormat;\n u || d(new Qt(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using "@formatjs/intl-listformat"\n`, St.MISSING_INTL_API));\n var m = An(o, fE);\n try {\n var h = {}, b = r.map(function(v, g) {\n if (typeof v == "object") {\n var w = mE(g);\n return h[w] = v, w;\n }\n return String(v);\n });\n return i(l, m).formatToParts(b).map(function(v) {\n return v.type === "literal" ? v : Ce(Ce({}, v), { value: h[v.value] || v.value });\n });\n } catch (v) {\n d(new Ze(Me.FORMAT_ERROR, "Error formatting list.", v));\n }\n return r;\n}\nvar vE = ["type"];\nfunction gE(e, i, r, o) {\n var l = e.locale, d = e.onError;\n o === void 0 && (o = {}), Intl.PluralRules || d(new Qt(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using "@formatjs/intl-pluralrules"\n`, St.MISSING_INTL_API));\n var u = An(o, vE);\n try {\n return i(l, u).select(r);\n } catch (m) {\n d(new Al("Error formatting plural.", l, m));\n }\n return "other";\n}\nvar bE = ["numeric", "style"];\nfunction CE(e, i, r) {\n var o = e.locale, l = e.formats, d = e.onError;\n r === void 0 && (r = {});\n var u = r.format, m = !!u && kl(l, "relative", u, d) || {}, h = An(r, bE, m);\n return i(o, h);\n}\nfunction yE(e, i, r, o, l) {\n l === void 0 && (l = {}), o || (o = "second");\n var d = Intl.RelativeTimeFormat;\n d || e.onError(new Qt(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using "@formatjs/intl-relativetimeformat"\n`, St.MISSING_INTL_API));\n try {\n return CE(e, i, l).format(r, o);\n } catch (u) {\n e.onError(new Al("Error formatting relative time.", e.locale, u));\n }\n return String(r);\n}\nvar AE = [\n "style",\n "currency",\n "currencyDisplay",\n "unit",\n "unitDisplay",\n "useGrouping",\n "minimumIntegerDigits",\n "minimumFractionDigits",\n "maximumFractionDigits",\n "minimumSignificantDigits",\n "maximumSignificantDigits",\n // ES2020 NumberFormat\n "compactDisplay",\n "currencyDisplay",\n "currencySign",\n "notation",\n "signDisplay",\n "unit",\n "unitDisplay",\n "numberingSystem"\n];\nfunction am(e, i, r) {\n var o = e.locale, l = e.formats, d = e.onError;\n r === void 0 && (r = {});\n var u = r.format, m = u && kl(l, "number", u, d) || {}, h = An(r, AE, m);\n return i(o, h);\n}\nfunction kE(e, i, r, o) {\n o === void 0 && (o = {});\n try {\n return am(e, i, o).format(r);\n } catch (l) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting number.", l));\n }\n return String(r);\n}\nfunction wE(e, i, r, o) {\n o === void 0 && (o = {});\n try {\n return am(e, i, o).formatToParts(r);\n } catch (l) {\n e.onError(new Ze(Me.FORMAT_ERROR, "Error formatting number.", l));\n }\n return [];\n}\nfunction _E(e) {\n var i = e ? e[Object.keys(e)[0]] : void 0;\n return typeof i == "string";\n}\nfunction EE(e) {\n e.onWarn && e.defaultRichTextElements && _E(e.messages || {}) && e.onWarn(`[@formatjs/intl] "defaultRichTextElements" was specified but "message" was not pre-compiled. \nPlease consider using "@formatjs/cli" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution`);\n}\nfunction TE(e, i) {\n var r = rE(i), o = Ce(Ce({}, iE), e), l = o.locale, d = o.defaultLocale, u = o.onError;\n return l ? !Intl.NumberFormat.supportedLocalesOf(l).length && u ? u(new tp(\'Missing locale data for locale: "\'.concat(l, \'" in Intl.NumberFormat. Using default locale: "\').concat(d, \'" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\'))) : !Intl.DateTimeFormat.supportedLocalesOf(l).length && u && u(new tp(\'Missing locale data for locale: "\'.concat(l, \'" in Intl.DateTimeFormat. Using default locale: "\').concat(d, \'" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\'))) : (u && u(new Q_(\'"locale" was not configured, using "\'.concat(d, \'" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\'))), o.locale = o.defaultLocale || "en"), EE(o), Ce(Ce({}, o), {\n formatters: r,\n formatNumber: kE.bind(null, o, r.getNumberFormat),\n formatNumberToParts: wE.bind(null, o, r.getNumberFormat),\n formatRelativeTime: yE.bind(null, o, r.getRelativeTimeFormat),\n formatDate: oE.bind(null, o, r.getDateTimeFormat),\n formatDateToParts: dE.bind(null, o, r.getDateTimeFormat),\n formatTime: sE.bind(null, o, r.getDateTimeFormat),\n formatDateTimeRange: lE.bind(null, o, r.getDateTimeFormat),\n formatTimeToParts: cE.bind(null, o, r.getDateTimeFormat),\n formatPlural: gE.bind(null, o, r.getPluralRules),\n // @ts-expect-error TODO: will get to this later\n formatMessage: rp.bind(null, o, r),\n // @ts-expect-error TODO: will get to this later\n $t: rp.bind(null, o, r),\n formatList: hE.bind(null, o, r.getListFormat),\n formatListToParts: rm.bind(null, o, r.getListFormat),\n formatDisplayName: pE.bind(null, o, r.getDisplayNames)\n });\n}\nconst SE = "Content Credentials (Beta)", xE = {\n "action.c2pa.color_adjustments.description": "Byly upraveny vlastnosti, jako je tón, sytost, křivky, stíny nebo světla",\n "action.c2pa.color_adjustments.label": "Úpravy barev nebo expozice",\n "action.c2pa.created.description": "Byl vytvořen nový soubor nebo obsah",\n "action.c2pa.created.label": "Vytvořeno",\n "action.c2pa.cropped.description": "Byly použity nástroje pro oříznutí, zmenšení nebo rozšíření viditelné oblasti obsahu",\n "action.c2pa.cropped.label": "Úpravy oříznutí",\n "action.c2pa.drawing.description": "Byly použity nástroje, jako jsou tužky, štětce, gumy nebo nástroje tvar, cesta nebo pero",\n "action.c2pa.drawing.label": "Úpravy kresby",\n "action.c2pa.edited.description": "Byly provedeny další změny",\n "action.c2pa.edited.label": "Další úpravy",\n "action.c2pa.filtered.description": "Byly použity nástroje, jako jsou filtry, styly nebo efekty, ke změně vzhledu",\n "action.c2pa.filtered.label": "Úpravy filtrů nebo stylů",\n "action.c2pa.opened.description": "Byl otevřen existující soubor",\n "action.c2pa.opened.label": "Otevřeno",\n "action.c2pa.orientation.description": "Byla změněna poloha nebo orientace (otočení, převrácení atd.)",\n "action.c2pa.orientation.label": "Orientace úpravy",\n "action.c2pa.placed.description": "Do tohoto souboru byl přidán existující obsah",\n "action.c2pa.placed.label": "Importováno",\n "action.c2pa.resized.description": "Byly změněny rozměry nebo velikost souboru",\n "action.c2pa.resized.label": "Změny velikosti",\n "action.c2pa.unknown.description": "Byly provedeny další úpravy nebo aktivita, kterou nebylo možné rozpoznat",\n "action.c2pa.unknown.label": "Neznámé úpravy nebo aktivita",\n "action.com.adobe.3d.description": "Vytvořené nebo pozměněné 3D objekty nebo scény",\n "action.com.adobe.3d.label": "Úpravy ve 3D",\n "action.com.adobe.animation_video.description": "Byly provedeny změny animace, zvuku či jiných vlastností videa",\n "action.com.adobe.animation_video.label": "Úpravy videí",\n "action.com.adobe.combined_assets.description": "Byl vytvořen nebo přeuspořádán obsah nebo byly provedeny úpravy pomocí nástrojů pro vzorkování obsahu",\n "action.com.adobe.combined_assets.label": "Zkombinováno",\n "action.com.adobe.text.description": "Byly vytvořen text nebo byly provedeny změny v textu, včetně rodiny písem, barvy nebo jiných stylů",\n "action.com.adobe.text.label": "Úpravy textu",\n "alert.missingActivityWarning": "Některé úpravy nebo aktivita nemusely být zaznamenány. <a>Další informace</a>",\n "assertions.connectAccounts": "Připojit účty",\n "assertions.connectedAccounts": "Připojené účty",\n "assertions.editsActivity": "Úpravy a aktivita",\n "assertions.genAI": "Transparentnost generativní umělé inteligence (povinné)",\n "assertions.producer": "Tvůrce",\n "assertions.refreshTooltip": "Obnovte připojené účty, aby se zobrazily ty, které jste přidali do svých přihlašovacích údajů",\n "assertions.refreshing": "Obnovování…",\n "assertions.socialMedia": "Sociální média",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Může obsahovat vrstvy, které jsou v tomto náhledu skryté nebo nejsou viditelné ",\n "asset.unknownImage": "Obrázek bez názvu",\n "badge.invalidCredentialsTooltip": "Údaje Content Credentials nejsou k dispozici nebo jsou neplatné.",\n "badge.ogpTooltip": "Tato položka byla upravena, ale informace o ní jsou neúplné nebo chybí.",\n "badge.validCredentialsTooltip": "Tato položka obsahuje údaje o autorovi a historii.",\n "com.adobe.changesBeforeLoad": "Nástroj Content Credentials bude pro tento soubor uvádět chybějící údaje o úpravách nebo aktivitách, protože nástroj Content Credentials (Beta) byl načten až po aplikaci Photoshop nebo došlo k jeho pádu. <a>Další informace</a>",\n "com.adobe.cppScript": "Nástroj Content Credentials (Beta) nepodporuje skripty ani zásuvné moduly třetích stran. <a>Další informace</a>",\n "com.adobe.duplicatePossibleSmartObject": "Nástroj Content Credentials (Beta) nepodporuje plně duplikování vrstev do jiných souborů. <a>Další informace</a>",\n "com.adobe.enabledCAI": "Nástroj Content Credentials bude pro tento soubor uvádět chybějící úpravy nebo aktivitu. K úpravám nebo aktivitě mohlo dojít ve více aplikacích nebo zařízeních nebo po vypnutí nástroje Content Credentials (Beta). <a>Další informace</a>",\n "com.adobe.jsxScript": "Nástroj Content Credentials (Beta) nepodporuje skripty ani zásuvné moduly třetích stran. <a>Další informace</a>",\n "com.adobe.noCAIData": "Tento soubor aplikace Photoshop byl vytvořen bez nástroje Content Credentials (Beta), takže bude signalizováno, že úpravy a aktivita chybí. <a>Další informace</a>",\n "com.adobe.outsideProgram": "Nástroj Content Credentials bude pro tento soubor uvádět chybějící úpravy nebo aktivitu. K úpravám nebo aktivitě mohlo dojít ve více aplikacích nebo zařízeních nebo po vypnutí nástroje Content Credentials (Beta). <a>Další informace</a>",\n "com.adobe.prerelease": "Jeden nebo více souborů přidaných do aktuálního dokumentu má údaje Content Credentials, které již nejsou platné. Na údaje Content Credentials aktuálního dokumentu to nemá vliv.",\n "com.adobe.programCrash": "Nástroj Content Credentials bude pro tento soubor uvádět chybějící úpravy nebo aktivitu, protože nástroj Content Credentials (Beta) byl načten až po aplikaci Photoshop nebo došlo k jeho pádu. <a>Další informace</a>",\n "com.adobe.smartObject": "Nástroj Content Credentials (Beta) plně nepodporuje propojené inteligentní objekty. <a>Další informace</a>",\n "com.adobe.thirdPartyScript": "Nástroj Content Credentials (Beta) nepodporuje skripty ani zásuvné moduly třetích stran. <a>Další informace</a>",\n "com.adobe.upgradedSpec": "Předchozí údaje Content Credentials tohoto souboru již nejsou platná. Pokud provedete export a připojíte nebo publikujete údaje Content Credentials, budou zahrnuty pouze nejnovější informace o úpravách, aktivitě a autorství.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Tento obrázek kombinuje více položek obsahu. Alespoň jedna byla vygenerována pomocí nástroje umělé inteligence.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "SHRNUTÍ OBSAHU",\n "controls.info": "Vyberte další informace, které chcete zahrnout do svých pověření Content Credentials při exportu pomocí možnosti Exportovat jako. <a>Další informace</a>",\n "controls.learnMore": "Nástroj Content Credentials (Beta) zatím nepodporuje některé akce prováděné v aplikaci Photoshop, takže bude signalizováno, že úpravy a aktivita chybí. <a>Další informace</a>",\n "controls.previewCredentials": "Náhled",\n "controls.settingsTab": "Nastavení",\n "error.caiHelper": "Váš soubor byl exportován, ale jeho údaje Content Credentials se nepodařilo zveřejnit nebo připojit kvůli problémům s připojením mezi nástrojem Content Credentials (Beta) a jinou službou. Opakujte pokus později.",\n "error.embed.general": "Soubor byl exportován, příslušné údaje Content Credentials však nebylo možné publikovat ani připojit, protože došlo k chybě. Zkuste export opakovat.",\n "error.ingredientLoadingEmbedError": "Soubor byl exportován, příslušné údaje Content Credentials však nebylo možné publikovat ani připojit, protože stále probíhalo zpracování změn v dokumentu. Chvíli počkejte a zkuste to znovu.",\n "error.ingredientLoadingSaveError": "Dokument a příslušné údaje Content Credentials nebylo možné uložit, protože stále probíhalo zpracování změn v dokumentu. Po dokončení zpracování změn zkuste data uložit znovu pomocí možnosti Uložit jako.",\n "error.offline": "Soubor byl exportován, nebylo však možné publikovat ani připojit příslušné údaje Content Credentials. Zkontrolujte připojení k síti a zkuste to znovu.",\n "error.permissionSaveError": "Nástroj Content Credentials nebylo možné uložit, pravděpodobně kvůli nedostatečným oprávněním pro soubory nebo složky.",\n "errorView.defaultError": "Nástroj Content Credentials (Beta) nebylo možné povolit, protože došlo k chybě.",\n "errorView.tryAgain": "Zkusit znovu",\n "errorView.unsupported": "Nástroj Content Credentials (Beta) nepodporuje dokumenty využívající bitmapový nebo vícekanálový obrazový režim.<a> Další informace</a>",\n "errorView.unsupportedPersistance": "Nástroj Content Credentials (beta) nebylo možné povolit, pravděpodobně kvůli nedostatečným oprávněním pro soubor nebo složku. <a>Další informace</a>",\n "fileError.asset.notFound": "Nástroj Content Credentials (Beta) váš soubor nenašel. Mohl být odstraněn, přesunut nebo přejmenován. Více informací se dozvíte v článku „Informace o nástroji Content Credentials“ na stránkách helpx.adobe.com.",\n "fileError.asset.permission": "Nástroj Content Credentials (Beta) nedokázal tento soubor přečíst ani aktualizovat, pravděpodobně kvůli nedostatečnému oprávnění. Více informací se dozvíte v článku „Informace o nástroji Content Credentials“ na stránkách helpx.adobe.com.",\n "fileError.embed.notFound": "Soubor byl exportován, příslušné údaje Content Credentials však nebylo možné publikovat ani připojit, protože soubor nebyl nalezen. Mohl být odstraněn, přesunut nebo přejmenován. Další informace se dozvíte v článku „Informace o nástroji Content Credentials“ na stránkách helpx.adobe.com.",\n "fileError.embed.permission": "Soubor byl exportován, příslušné údaje Content Credentials však nebylo možné publikovat ani připojit – pravděpodobně kvůli nedostatečnému oprávnění. Další informace se dozvíte v článku „Informace o nástroji Content Credentials“ na stránkách helpx.adobe.com.",\n "fileError.embed.tooLarge": "Váš soubor byl exportován, ale jeho údaje Content Credentials byly pro publikování příliš velké. Místo toho je můžete připojit ke svému souboru tak, že zvolíte „Připojit k souboru (JPG & PNG)“ a provedete export znovu.",\n "info.openFile": "Otevřete soubor, aby bylo možné použít nástroj Content Credentials (Beta).",\n "menu.disableContentCreds": "Deaktivovat funkci Content Credentials",\n "menu.goToVerify": "Přejít na ověření",\n "menu.learnMore": "Další informace",\n "menu.manageConnectedAccounts": "Správa připojených účtů",\n "menu.openPreferences": "Předvolby",\n "menu.provideFeedback": "Odeslat reakci",\n "menu.refreshConnectedAccounts": "Obnovit připojené účty",\n "menu.showOnEnable": "Zobrazit při aktivaci",\n "offlineView.refresh": "Obnovit",\n "panel.disabled.enableDescription": "Získejte uznání za svou práci a výběrem informací, které chcete sdílet v Content Credentials, zvyšte transparentnost ohledně toho, jak byla vytvořena.",\n "panel.disabled.genAIDisclaimer": "Content Credentials se automaticky použijí, pokud umístíte obrázky plně vygenerované AI. <a>Další informace</a>",\n "panel.enable": "Aktivovat nástroj Content Credentials",\n "preview.assetsUsedDetail": "Jakékoliv datové zdroje použité v tomto obsahu nebo k němu přidané",\n "preview.assetsUsedTitle": "KOMPONENTY",\n "preview.editsActivityDetail": "Změny a akce provedené při vytváření tohoto obsahu",\n "preview.editsActivityTitle": "AKCE",\n "preview.genAIModelUsed": "NÁSTROJE POUŽÍVAJÍCÍ AI",\n "preview.info": "Lidé budou moci s vaším obsahem zobrazit následující informace.",\n "preview.none": "Žádné",\n "preview.producedByDetail": "Vybrané jméno osoby, která exportovala tento obsah",\n "preview.producedByTitle": "TVŮRCE",\n "preview.producedWithDetail": "Software použitý k vytvoření tohoto obsahu ",\n "preview.producedWithTitle": "POUŽITÁ APLIKACE NEBO ZAŘÍZENÍ",\n "preview.signedByDetail": "Entita, která zaznamenala údaje Content Credentials (Beta)",\n "preview.signedByTitle": "VYDÁNO PROSTŘEDNICTVÍM",\n "preview.socialMediaDetail": "Účty sociálních médií připojené k tvůrci tohoto obsahu",\n "preview.socialMediaTitle": "ÚČTY NA SOCIÁLNÍCH MÉDIÍCH",\n "preview.web3Detail": "Účty Web3 připojené k tvůrci tohoto obsahu",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Něco se pokazilo. Zkontrolujte internetové připojení, abyste mohli upravit nastavení tvůrce a připojených účtů.",\n "progressive.servicesDownExisting": "Minimálně u jednoho nastavení se vyskytly potíže se synchronizací a příslušné informace nemusí být aktuální.",\n "progressive.servicesDownNew": "Jedno nebo více nastavení není k dispozici, protože je nebylo možné načíst.",\n title: SE,\n "web3Account.copied": "Zkopírováno!"\n}, zE = "Content Credentials (Beta)", DE = {\n "action.c2pa.color_adjustments.description": "Justerede egenskaber såsom tone, mætning, kurver, skygger eller fremhævninger",\n "action.c2pa.color_adjustments.label": "Farve- eller eksponeringsredigeringer",\n "action.c2pa.created.description": "Oprettede en ny fil eller nyt indhold",\n "action.c2pa.created.label": "Oprettede",\n "action.c2pa.cropped.description": "Brugte beskæringsværktøjer til at reducere eller udvide synligt indholdsområde",\n "action.c2pa.cropped.label": "Beskæring af redigeringer",\n "action.c2pa.drawing.description": "Brugte værktøjer såsom blyanter, pensler, viskelædere eller form-, sti- eller penneværktøjer",\n "action.c2pa.drawing.label": "Tegneredigeringer",\n "action.c2pa.edited.description": "Foretog andre ændringer",\n "action.c2pa.edited.label": "Andre redigeringer",\n "action.c2pa.filtered.description": "Brugte værktøjer såsom filtre, formater eller effekter til at ændre udseende",\n "action.c2pa.filtered.label": "Filter- eller formatredigeringer",\n "action.c2pa.opened.description": "Åbnede en allerede eksisterende fil",\n "action.c2pa.opened.label": "Åbnede",\n "action.c2pa.orientation.description": "Ændrede placering eller retning (roteret, vendt osv.)",\n "action.c2pa.orientation.label": "Retning redigeringer",\n "action.c2pa.placed.description": "Føjede allerede eksisterende indhold til denne fil",\n "action.c2pa.placed.label": "Importerede",\n "action.c2pa.resized.description": "Ændrede dimensioner eller filstørrelse",\n "action.c2pa.resized.label": "Ændring af størrelse på redigeringer",\n "action.c2pa.unknown.description": "Foretog andre redigeringer eller aktiviteter, der ikke kunne genkendes",\n "action.c2pa.unknown.label": "Ukendte redigeringer eller ukendt aktivitet",\n "action.com.adobe.3d.description": "Oprettede eller foretog ændringer af 3D-objekter eller -scener",\n "action.com.adobe.3d.label": "3D redigeringer",\n "action.com.adobe.animation_video.description": "Oprettede eller foretog ændringer af animationer, lyd eller andre videoegenskaber",\n "action.com.adobe.animation_video.label": "Videoredigeringer",\n "action.com.adobe.combined_assets.description": "Sammensatte eller omarrangerede indhold eller redigerede med værktøjer til indholdssampling",\n "action.com.adobe.combined_assets.label": "Kombinerede",\n "action.com.adobe.text.description": "Oprettede eller foretog ændringer af tekst, herunder skrifttypefamilie, farve eller andre formater",\n "action.com.adobe.text.label": "Tekstredigeringer",\n "alert.missingActivityWarning": "Nogle redigeringer eller nogen aktivitet er muligvis ikke blevet registreret. <a>Få mere at vide</a>",\n "assertions.connectAccounts": "Tilknyt konti",\n "assertions.connectedAccounts": "Tilknyttede konti",\n "assertions.editsActivity": "Redigeringer og aktivitet",\n "assertions.genAI": "Generativ AI-gennemsigtighed (påkrævet)",\n "assertions.producer": "Producent",\n "assertions.refreshTooltip": "Opdater tilknyttede konti for at se dem, når du har tilføjet dine legitimationsoplysninger",\n "assertions.refreshing": "Opdaterer...",\n "assertions.socialMedia": "Sociale medier",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Kan indeholde lag, der er skjult eller ikke er synlige i dette miniaturebillede",\n "asset.unknownImage": "Unavngivet billede",\n "badge.invalidCredentialsTooltip": "Content Credentials er ikke tilgængelige eller er ugyldige.",\n "badge.ogpTooltip": "Aktivet blev redigeret, men oplysningerne om det er ufuldstændige eller mangler.",\n "badge.validCredentialsTooltip": "Aktivet har krediterings- og historikdata.",\n "com.adobe.changesBeforeLoad": "Filens Content Credentials vil indikere manglende redigeringsdata eller aktivitetsdata, eftersom Content Credentials (Beta) blev indlæst efter Photoshop, eller fordi Content Credentials (Beta) gik ned. <a>Få mere at vide</a>",\n "com.adobe.cppScript": "Scripts eller plug-ins fra tredjeparter understøttes ikke i Content Credentials (Beta). <a>Få mere at vide</a>",\n "com.adobe.duplicatePossibleSmartObject": "Dublering af lag til andre filer understøttes ikke fuldt i Content Credentials (Beta). <a>Få mere at vide</a>",\n "com.adobe.enabledCAI": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet. Der kan være foretaget redigeringer eller aktivitet på flere apps eller enheder, eller mens Content Credentials (Beta) var slået fra. <a>Få mere at vide</a>",\n "com.adobe.jsxScript": "Scripts eller plug-ins fra tredjeparter understøttes ikke i Content Credentials (Beta). <a>Få mere at vide</a>",\n "com.adobe.noCAIData": "Photoshop-filen er blevet oprettet uden Content Credentials (Beta), så redigeringer og aktivitet vises som manglende. <a>Få mere at vide</a>",\n "com.adobe.outsideProgram": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet. Der kan være foretaget redigeringer eller aktivitet på flere apps eller enheder, eller mens Content Credentials (Beta) var slået fra. <a>Få mere at vide</a>",\n "com.adobe.prerelease": "Én eller flere filer, der er føjet til det aktuelle dokument, har Content Credentials, der ikke længere er gyldige. Det aktuelle dokuments Content Credentials påvirkes ikke.",\n "com.adobe.programCrash": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet, eftersom Content Credentials (Beta) blev indlæst efter Photoshop, eller fordi Content Credentials (Beta) gik ned. <a>Få mere at vide</a>",\n "com.adobe.smartObject": "Sammenkædede smarte objekter understøttes ikke fuldt ud i Content Credentials (Beta). <a>Få mere at vide</a>",\n "com.adobe.thirdPartyScript": "Scripts eller plug-ins fra tredjeparter understøttes ikke i Content Credentials (Beta). <a>Få mere at vide</a>",\n "com.adobe.upgradedSpec": "Filens tidligere Content Credentials er ikke længere gyldige. Hvis du eksporterer nu og vedhæfter eller udgiver Content Credentials, vil kun de seneste redigerings-, aktivitets- og tilskrivningsoplysninger blive medtaget.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Dette billede kombinerer flere stykker indhold. Mindst ét stykke er blevet genereret med et AI-værktøj.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "OVERSIGT OVER INDHOLD",\n "controls.info": "Vælg yderligere oplysninger, der skal inkluderes i dine Content Credentials, når du eksporterer via Eksportér som. <a>Få mere at vide</a>",\n "controls.learnMore": "Nogle Photoshop-handlinger understøttes endnu ikke i Content Credentials (Beta), så redigeringer og aktivitet vises som manglende. <a>Få mere at vide</a>",\n "controls.previewCredentials": "Forhåndsvisning",\n "controls.settingsTab": "Indstillinger",\n "error.caiHelper": "Din fil blev eksporteret, men dens Content Credentials kunne ikke udgives eller vedhæftes på grund af problemer med forbindelsen mellem Content Credentials (Beta) og en anden tjeneste. Prøv igen senere.",\n "error.embed.general": "Filen blev eksporteret, men filens Content Credentials kunne ikke udgives eller vedhæftes på grund af en fejl. Du kan prøve at eksportere igen.",\n "error.ingredientLoadingEmbedError": "Filen blev eksporteret, men dens Content Credentials kunne ikke udgives eller vedhæftes, eftersom der stadig blev behandlet ændringer af dokumentet. Vent et øjeblik, og prøv igen.",\n "error.ingredientLoadingSaveError": "Dokumentet og dets Content Credentials kunne ikke gemmes, eftersom der stadig blev behandlet ændringer af dokumentet. Prøv at gemme igen med Gem som, når ændringerne er færdige med at blive behandlet.",\n "error.offline": "Filen blev eksporteret, men filens Content Credentials kunne ikke udgives eller vedhæftes. Tjek netværksforbindelsen, og prøv igen.",\n "error.permissionSaveError": "Content Credentials kunne ikke gemmes, muligvis på grund af utilstrækkelige fil- eller mappetilladelser.",\n "errorView.defaultError": "Content Credentials (Beta) kunne ikke aktiveres på grund af en fejl.",\n "errorView.tryAgain": "Prøv igen",\n "errorView.unsupported": "Dokumenter, der anvender bitmap- eller multikanal-billedtilstand, understøttes ikke i Content Credentials (Beta). <a>Få mere at vide</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) kunne ikke aktiveres, muligvis på grund af utilstrækkelige fil- eller mappetilladelser. <a>Få mere at vide</a>",\n "fileError.asset.notFound": \'Din fil kan ikke findes i Content Credentials (Beta). Filen kan være blevet slettet, flyttet eller omdøbt. Læs artiklen "Lær om Content Credentials" på helpx.adobe.com for at få mere at vide.\',\n "fileError.asset.permission": \'Denne fil kan ikke læses eller opdateres i Content Credentials (Beta). Dette kan skyldes utilstrækkelige tilladelser. Læs artiklen "Lær om Content Credentials" på helpx.adobe.com for at få mere at vide.\',\n "fileError.embed.notFound": \'Filen blev eksporteret, men dens Content Credentials kunne ikke udgives eller vedhæftes, eftersom filen ikke kunne findes. Den kan være blevet slettet, flyttet eller omdøbt. Læs artiklen "Få mere at vide om Content Credentials" på helpx.adobe.com for at få flere oplysninger.\',\n "fileError.embed.permission": \'Filen blev eksporteret, men dens Content Credentials kunne ikke udgives eller vedhæftes, muligvis på grund af utilstrækkelige tilladelser. Læs artiklen "Få mere at vide om Content Credentials" på helpx.adobe.com for at få flere oplysninger.\',\n "fileError.embed.tooLarge": \'Filen blev eksporteret, men dens Content Credentials var for store til at kunne blive udgivet. Du kan i stedet vedhæfte dem til filen ved at vælge "Vedhæft til fil (JPG & PNG)" og eksportere igen.\',\n "info.openFile": "Åbn en fil for at bruge Content Credentials (Beta).",\n "menu.disableContentCreds": "Deaktiver Content Credentials",\n "menu.goToVerify": "Gå til Bekræft",\n "menu.learnMore": "Få mere at vide",\n "menu.manageConnectedAccounts": "Administrer tilknyttede konti",\n "menu.openPreferences": "Indstillinger",\n "menu.provideFeedback": "Giv feedback",\n "menu.refreshConnectedAccounts": "Opdater tilknyttede konti",\n "menu.showOnEnable": "Vis ved aktivering",\n "offlineView.refresh": "Opdater",\n "panel.disabled.enableDescription": "Bliv anerkendt for dit arbejde, og øg gennemsigtigheden om, hvordan det blev oprettet, ved at vælge oplysninger, der skal deles i dets Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials anvendes automatisk, hvis du placerer billeder, der er 100 % AI-genererede. <a>Få mere at vide</a>",\n "panel.enable": "Aktivér Content Credentials",\n "preview.assetsUsedDetail": "Alle aktiver, der bruges eller føjes til dette indhold",\n "preview.assetsUsedTitle": "INGREDIENSER",\n "preview.editsActivityDetail": "Ændringer og handlinger, der er truffet for at producere dette indhold",\n "preview.editsActivityTitle": "HANDLINGER",\n "preview.genAIModelUsed": "ANVENDTE AI-VÆRKTØJER",\n "preview.info": "Folk vil kunne se følgende oplysninger med dit indhold.",\n "preview.none": "Ingen",\n "preview.producedByDetail": "Det valgte navn på den person, som eksporterede dette indhold",\n "preview.producedByTitle": "PRODUCERET AF",\n "preview.producedWithDetail": "Software, der anvendes til at lave dette indhold",\n "preview.producedWithTitle": "ANVENDT APP ELLER ENHED",\n "preview.signedByDetail": "Den enhed, der registrerede Content Credentials (Beta)",\n "preview.signedByTitle": "UDSTEDT AF",\n "preview.socialMediaDetail": "Konti på sociale medier, der er tilknyttet producenten af dette indhold",\n "preview.socialMediaTitle": "SOCIALE MEDIER -KONTI",\n "preview.web3Detail": "Web3-konti, der er tilknyttet producenten af dette indhold",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Noget gik galt. Tjek din internetforbindelse for at ændre indstillinger for producent og tilsluttede konti.",\n "progressive.servicesDownExisting": "Der var problemer med at synkronisere en eller flere indstillinger, så de indeholder muligvis oplysninger, som ikke er aktuelle.",\n "progressive.servicesDownNew": "Én eller flere indstillinger er ikke tilgængelige, fordi de ikke kunne indlæses.",\n title: zE,\n "web3Account.copied": "Kopieret!"\n}, BE = "Content Credentials (Beta)", IE = {\n "action.c2pa.color_adjustments.description": "Angepasste Eigenschaften wie Farbton, Sättigung, Kurven, Schatten oder Glanzlichter",\n "action.c2pa.color_adjustments.label": "Änderung von Farbe oder Belichtung",\n "action.c2pa.created.description": "Neue Datei oder neuen Inhalt erstellt",\n "action.c2pa.created.label": "Erstellt",\n "action.c2pa.cropped.description": "Verwendete Zuschneidewerkzeuge, Verkleinerung oder Erweiterung des sichtbaren Inhaltsbereichs",\n "action.c2pa.cropped.label": "Zuschneiden von Änderungen",\n "action.c2pa.drawing.description": "Verwendete Werkzeuge wie Stifte, Pinsel, Radierer oder Form-, Pfad- oder Zeichenstift-Werkzeuge",\n "action.c2pa.drawing.label": "Zeichnungsänderungen",\n "action.c2pa.edited.description": "Vorgenommene sonstige Änderungen",\n "action.c2pa.edited.label": "Sonstige Änderungen",\n "action.c2pa.filtered.description": "Verwendete Tools wie Filter, Stile, Formate oder Effekte, die das Erscheinungsbild ändern",\n "action.c2pa.filtered.label": "Änderungen filtern oder gestalten",\n "action.c2pa.opened.description": "Vorhandene Datei geöffnet",\n "action.c2pa.opened.label": "Geöffnet",\n "action.c2pa.orientation.description": "Position oder Ausrichtung geändert (gedreht, gespiegelt usw.)",\n "action.c2pa.orientation.label": "Ausrichtung Änderungen",\n "action.c2pa.placed.description": "Vorhandenen Inhalt zu dieser Datei hinzugefügt",\n "action.c2pa.placed.label": "Importiert",\n "action.c2pa.resized.description": "Geänderte Abmessungen oder Dateigröße",\n "action.c2pa.resized.label": "Größenänderungen",\n "action.c2pa.unknown.description": "Andere Änderungen oder Aktivitäten durchgeführt, die nicht erkannt werden konnten",\n "action.c2pa.unknown.label": "Unbekannte Änderungen oder Aktivitäten",\n "action.com.adobe.3d.description": "3D-Objekte oder -Szenen erstellt oder geändert",\n "action.com.adobe.3d.label": "3D- Änderungen",\n "action.com.adobe.animation_video.description": "Animations-, Audio- oder sonstige Video-Einstellungen vorgenommen oder geändert",\n "action.com.adobe.animation_video.label": "Videobearbeitungen",\n "action.com.adobe.combined_assets.description": "Inhalte zusammengestellt, neu angeordnet oder mit Content-Sampling-Tools bearbeitet",\n "action.com.adobe.combined_assets.label": "Kombiniert",\n "action.com.adobe.text.description": "Text erstellt oder geändert, einschließlich Schriftfamilie, Farbe oder anderer Stile oder Formate",\n "action.com.adobe.text.label": "Textänderungen",\n "alert.missingActivityWarning": "Einige Bearbeitungen oder Aktivitäten wurden möglicherweise nicht aufgezeichnet. <a>Weitere Informationen</a>",\n "assertions.connectAccounts": "Konten verknüpfen",\n "assertions.connectedAccounts": "Verbundene Konten",\n "assertions.editsActivity": "Änderungen und Aktivitäten",\n "assertions.genAI": "Hinweis zu Generativer KI (obligatorisch)",\n "assertions.producer": "Ersteller",\n "assertions.refreshTooltip": "Aktualisieren Sie verknüpfte Konten, um diejenigen anzuzeigen, die Sie in Ihrem Inhaltsurhebernachweis hinzugefügt haben.",\n "assertions.refreshing": "Wird aktualisiert...",\n "assertions.socialMedia": "Social Media",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Kann Ebenen enthalten, die in dieser Miniaturansicht ausgeblendet oder nicht sichtbar sind",\n "asset.unknownImage": "Unbenanntes Bild",\n "badge.invalidCredentialsTooltip": "Content Credentials sind nicht verfügbar oder ungültig.",\n "badge.ogpTooltip": "Dieses Asset wurde bearbeitet, die Informationen dazu sind jedoch unvollständig oder fehlen.",\n "badge.validCredentialsTooltip": "Dieses Asset enthält Namensnennungs- und Verlaufsdaten.",\n "com.adobe.changesBeforeLoad": "In den Content Credentials dieser Datei wird angegeben, dass Daten zu Bearbeitungen oder Aktivitäten fehlen, da Content Credentials (Beta) nach Photoshop geladen wurde oder abgestürzt ist. <a>Weitere Infos</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) unterstützt keine Skripte oder Plug-ins von Drittanbietern. <a>Weitere Infos</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) unterstützt das Duplizieren von Ebenen in andere Dateien nicht vollständig. <a>Weitere Infos</a>",\n "com.adobe.enabledCAI": "In den Content Credentials dieser Datei wird angegeben, dass Bearbeitungen oder Aktivitäten fehlen. Bearbeitungen oder Aktivitäten sind möglicherweise in unterschiedlichen Apps, auf unterschiedlichen Geräten oder bei deaktivierten Content Credentials (Beta) erfolgt. <a>Weitere Infos</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) unterstützt keine Skripte oder Plug-ins von Drittanbietern. <a>Weitere Infos</a>",\n "com.adobe.noCAIData": "Diese Photoshop-Datei wurde ohne Content Credentials (Beta) erstellt, sodass Änderungen und Aktivitäten als fehlend angezeigt werden. <a>Weitere Infos</a>",\n "com.adobe.outsideProgram": "In den Content Credentials dieser Datei wird angegeben, dass Bearbeitungen oder Aktivitäten fehlen. Bearbeitungen oder Aktivitäten sind möglicherweise in unterschiedlichen Apps, auf unterschiedlichen Geräten oder bei deaktivierten Content Credentials (Beta) erfolgt. <a>Weitere Infos</a>",\n "com.adobe.prerelease": "Mindestens eine Datei, die dem aktuellen Dokument hinzugefügt wurde, weist Content Credentials auf, die nicht mehr gültig sind. Die Content Credentials des aktuellen Dokuments sind nicht betroffen.",\n "com.adobe.programCrash": "In den Content Credentials dieser Datei wird angegeben, dass Bearbeitungen oder Aktivitäten fehlen, da Content Credentials (Beta) nach Photoshop geladen wurde oder abgestürzt ist. <a>Weitere Infos</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) unterstützt verknüpfte Smart-Objekte nicht vollständig. <a>Weitere Infos</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) unterstützt keine Skripte oder Plug-ins von Drittanbietern. <a>Weitere Infos</a>",\n "com.adobe.upgradedSpec": "Die vorherigen Content Credentials dieser Datei sind nicht mehr gültig. Wenn Sie jetzt Content Credentials exportieren und anhängen oder veröffentlichen, werden nur die neuesten Informationen zu Bearbeitungen, Aktivitäten und Quellen eingeschlossen.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Dieses Bild kombiniert mehrere Inhalte. Mindestens einer davon wurde mit einem KI-Tool generiert.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "ZUSAMMENFASSUNG DES INHALTS",\n "controls.info": "Wählen Sie beim Exportieren über „Exportieren als“ zusätzliche Informationen aus, die in Ihre Content Credentials aufgenommen werden sollen. <a>Weitere Infos</a>",\n "controls.learnMore": "Content Credentials (Beta) unterstützt einige Photoshop-Aktionen noch nicht, daher werden Änderungen und Aktivitäten als fehlend angezeigt. <a>Weitere Infos</a>",\n "controls.previewCredentials": "Vorschau",\n "controls.settingsTab": "Einstellungen",\n "error.caiHelper": "Ihre Datei wurde exportiert, aber ihre Content Credentials konnten aufgrund von Verbindungsproblemen zwischen Content Credentials (Beta) und einem anderen Dienst nicht veröffentlicht oder angehängt werden. Bitte versuchen Sie es später erneut.",\n "error.embed.general": "Ihre Datei wurde exportiert, die zugehörigen Content Credentials konnten jedoch aufgrund eines Fehlers nicht angehängt werden. Sie können erneut versuchen, sie zu exportieren.",\n "error.ingredientLoadingEmbedError": "Ihre Datei wurde exportiert, die zugehörigen Content Credentials konnten jedoch nicht veröffentlicht oder angehängt werden, da noch nicht alle Änderungen am Dokument verarbeitet wurden. Warten Sie einen Moment und versuchen Sie es erneut.",\n "error.ingredientLoadingSaveError": "Ihr Dokument und die zugehörigen Content Credentials konnten nicht gespeichert werden, da noch nicht alle Änderungen am Dokument verarbeitet wurden. Versuchen Sie, es erneut mit „Speichern unter“ zu speichern, sobald die Verarbeitung der Änderungen abgeschlossen ist.",\n "error.offline": "Ihre Datei wurde exportiert, die zugehörigen Content Credentials konnten jedoch nicht veröffentlicht oder angehängt werden. Überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es erneut.",\n "error.permissionSaveError": "Content Credentials konnten möglicherweise aufgrund unzureichender Datei- oder Ordnerberechtigungen nicht gespeichert werden.",\n "errorView.defaultError": "Content Credentials (Beta) konnten aufgrund eines Fehlers nicht aktiviert werden.",\n "errorView.tryAgain": "Wiederholen",\n "errorView.unsupported": "Content Credentials (Beta) unterstützt keine Dokumente im Bitmap- oder Multichannel-Bildmodus. <a>Weitere Infos</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) konnten möglicherweise aufgrund unzureichender Datei- oder Ordnerberechtigungen nicht aktiviert werden. <a>Weitere Infos </a>",\n "fileError.asset.notFound": "Content Credentials (Beta) kann Ihre Datei nicht finden. Möglicherweise wurde sie gelöscht, verschoben oder umbenannt. Weitere Infos finden Sie unter „Content Credentials“ auf helpx.adobe.com.",\n "fileError.asset.permission": "Content Credentials (Beta) kann Ihre Datei nicht lesen oder aktualisieren. Möglicherweise reicht Ihre Zugangsberechtigung nicht aus. Weitere Infos finden Sie unter „Content Credentials“ auf helpx.adobe.com.",\n "fileError.embed.notFound": "Ihre Datei wurde exportiert, die zugehörigen Content Credentials konnten jedoch nicht veröffentlicht oder angehängt werden, da die Datei nicht gefunden wurde. Möglicherweise wurde sie gelöscht, verschoben oder umbenannt. Weitere Informationen finden Sie im Artikel „Content Credentials“ auf helpx.adobe.com.",\n "fileError.embed.permission": "Ihre Datei wurde exportiert, die zugehörigen Content Credentials konnten jedoch nicht veröffentlicht oder angehängt werden, da Ihre Berechtigungen möglicherweise unzureichend sind. Weitere Informationen finden Sie im Artikel „Content Credentials“ auf helpx.adobe.com.",\n "fileError.embed.tooLarge": "Ihre Datei wurde exportiert, aber ihre Content Credentials waren zu groß zum Veröffentlichen. Sie können sie stattdessen an Ihre Datei anhängen, indem Sie „An Datei anhängen (JPG & PNG)“ wählen und erneut exportieren.",\n "info.openFile": "Öffnen Sie eine Datei, um Content Credentials (Beta) zu verwenden.",\n "menu.disableContentCreds": "Content Credentials deaktivieren",\n "menu.goToVerify": "Gehe zu „Verifizieren“",\n "menu.learnMore": "Weitere Informationen",\n "menu.manageConnectedAccounts": "Verknüpfte Konten verwalten",\n "menu.openPreferences": "Voreinstellungen",\n "menu.provideFeedback": "Feedback abgeben",\n "menu.refreshConnectedAccounts": "Verknüpfte Konten aktualisieren",\n "menu.showOnEnable": "Wenn aktiviert, anzeigen",\n "offlineView.refresh": "Aktualisieren",\n "panel.disabled.enableDescription": "Sie erhalten Anerkennung für Ihre Arbeit und erhöhen die Transparenz über deren Entstehung, indem Sie Informationen auswählen, die in den Content Credentials freigegeben werden.",\n "panel.disabled.genAIDisclaimer": "Wenn Sie vollständig KI-generierte Bilder platzieren, werden automatisch Content Credentials angewendet. <a>Weitere Infos</a>",\n "panel.enable": "Content Credentials aktivieren",\n "preview.assetsUsedDetail": "In diesem Inhalt verwendete oder diesem hinzugefügte Assets",\n "preview.assetsUsedTitle": "BESTANDTEILE",\n "preview.editsActivityDetail": "Zum Erstellen dieses Inhalts vorgenommene Änderungen oder ausgeführte Aktionen",\n "preview.editsActivityTitle": "AKTIONEN",\n "preview.genAIModelUsed": "ES WURDEN KI-TOOLS VERWENDET",\n "preview.info": "Betrachter können die folgenden Informationen zu Ihrer Arbeit einsehen.",\n "preview.none": "Keine",\n "preview.producedByDetail": "Gewählter Name der Person, die diesen Inhalt exportiert hat",\n "preview.producedByTitle": "ERSTELLT VON",\n "preview.producedWithDetail": "Software, die zum Erstellen dieses Inhalts verwendet wurde",\n "preview.producedWithTitle": "VERWENDETE APP ODER VERWENDETES GERÄT",\n "preview.signedByDetail": "Die Stelle, die die Content Credentials (Beta) aufgezeichnet hat",\n "preview.signedByTitle": "HERAUSGEGEBEN VON",\n "preview.socialMediaDetail": "Mit dem Ersteller dieses Inhalts verknüpfte Social-Media-Konten",\n "preview.socialMediaTitle": "SOCIAL MEDIA KONTEN",\n "preview.web3Detail": "Mit dem Ersteller dieses Inhalts verknüpfte Web3-Konten",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Es ist ein Fehler aufgetreten. Überprüfen Sie Ihre Internetverbindung, um die Einstellungen für den Ersteller und verknüpfte Konten zu ändern.",\n "progressive.servicesDownExisting": "Bei mindestens einer Einstellung sind Synchronisationsprobleme aufgetreten und ihre Informationen sind möglicherweise nicht aktuell.",\n "progressive.servicesDownNew": "Eine oder mehrere Einstellungen sind nicht verfügbar, da sie nicht geladen werden konnten.",\n title: BE,\n "web3Account.copied": "Kopiert"\n}, jE = "Content Credentials (Beta)", PE = {\n "action.c2pa.color_adjustments.description": "Adjusted properties like tone, saturation, curves, shadows, or highlights",\n "action.c2pa.color_adjustments.label": "Color or exposure edits",\n "action.c2pa.created.description": "Created a new file or content",\n "action.c2pa.created.label": "Created",\n "action.c2pa.cropped.description": "Used cropping tools, reducing or expanding visible content area",\n "action.c2pa.cropped.label": "Cropping edits",\n "action.c2pa.drawing.description": "Used tools like pencils, brushes, erasers, or shape, path, or pen tools",\n "action.c2pa.drawing.label": "Drawing edits",\n "action.c2pa.edited.description": "Made other changes",\n "action.c2pa.edited.label": "Other edits",\n "action.c2pa.filtered.description": "Used tools like filters, styles, or effects to change appearance",\n "action.c2pa.filtered.label": "Filter or style edits",\n "action.c2pa.opened.description": "Opened a pre-existing file",\n "action.c2pa.opened.label": "Opened",\n "action.c2pa.orientation.description": "Changed position or orientation (rotated, flipped, etc.)",\n "action.c2pa.orientation.label": "Orientation edits",\n "action.c2pa.placed.description": "Added pre-existing content to this file",\n "action.c2pa.placed.label": "Imported",\n "action.c2pa.resized.description": "Changed dimensions or file size",\n "action.c2pa.resized.label": "Resizing edits",\n "action.c2pa.unknown.description": "Performed other edits or activity that couldn\'t be recognized",\n "action.c2pa.unknown.label": "Unknown edits or activity",\n "action.com.adobe.3d.description": "Created or made changes to 3D objects or scenes",\n "action.com.adobe.3d.label": "3D edits",\n "action.com.adobe.animation_video.description": "Created or made changes to animation, audio, or other video properties",\n "action.com.adobe.animation_video.label": "Video edits",\n "action.com.adobe.combined_assets.description": "Composited or reordered content, or edited with content-sampling tools",\n "action.com.adobe.combined_assets.label": "Combined",\n "action.com.adobe.text.description": "Created or made changes to text, including font family, color, or other styles",\n "action.com.adobe.text.label": "Text edits",\n "alert.missingActivityWarning": "Some edits or activity may not have been recorded. <a>Learn more</a>",\n "assertions.connectAccounts": "Connect accounts",\n "assertions.connectedAccounts": "Connected accounts",\n "assertions.editsActivity": "Edits and activity",\n "assertions.genAI": "Generative AI transparency (required)",\n "assertions.producer": "Producer",\n "assertions.refreshTooltip": "Refresh connected accounts to view ones you\'ve added in your credentials",\n "assertions.refreshing": "Refreshing...",\n "assertions.socialMedia": "Social Media",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "May contain layers that are hidden or not visible in this thumbnail",\n "asset.unknownImage": "Untitled Image",\n "badge.invalidCredentialsTooltip": "Content Credentials unavailable or invalid.",\n "badge.ogpTooltip": "This asset was edited, but the info for it is incomplete or missing.",\n "badge.validCredentialsTooltip": "This asset has attribution and history data.",\n "com.adobe.changesBeforeLoad": "This file\'s Content Credentials will indicate missing edit or activity data because Content Credentials (Beta) loaded after Photoshop or crashed. <a>Learn more</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) doesn\'t support scripts or 3rd-party plugins. <a>Learn more</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) doesn\'t fully support duplicating layers to other files. <a>Learn more</a>",\n "com.adobe.enabledCAI": "This file\'s Content Credentials will indicate missing edits or activity. Edits or activity may have occurred on multiple apps or devices, or while Content Credentials (Beta) was turned off. <a>Learn more</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) doesn\'t support scripts or 3rd-party plugins. <a>Learn more</a>",\n "com.adobe.noCAIData": "This Photoshop file was created without Content Credentials (Beta), so edits and activity will be shown as missing. <a>Learn more</a>",\n "com.adobe.outsideProgram": "This file\'s Content Credentials will indicate missing edits or activity. Edits or activity may have occurred on multiple apps or devices, or while Content Credentials (Beta) was turned off. <a>Learn more</a>",\n "com.adobe.prerelease": "One or more files added to the current document has Content Credentials that are no longer valid. The current document\'s Content Credentials are not affected.",\n "com.adobe.programCrash": "This file\'s Content Credentials will indicate missing edits or activity because Content Credentials (Beta) loaded after Photoshop or crashed. <a>Learn more</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) doesn\'t fully support linked smart objects. <a>Learn more</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) doesn\'t support scripts or 3rd-party plugins. <a>Learn more</a>",\n "com.adobe.upgradedSpec": "This file\'s previous Content Credentials are no longer valid. If you export now and attach or publish Content Credentials, only the most recent edit, activity and attribution information will be included.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "This image combines multiple pieces of content. At least one was generated with an AI tool.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "CONTENT SUMMARY",\n "controls.info": "Choose additional information to include in your Content Credentials when exporting via Export As. <a>Learn more</a>",\n "controls.learnMore": "Content Credentials (Beta) doesn\'t support some Photoshop actions yet, so edits and activity will be shown as missing. <a>Learn more</a>",\n "controls.previewCredentials": "Preview",\n "controls.settingsTab": "Settings",\n "error.caiHelper": "Your file was exported but its Content Credentials couldn’t be published or attached due to connection issues between Content Credentials (Beta) and another service. Please try again later.",\n "error.embed.general": "Your file was exported but its Content Credentials couldn\'t be published or attached due to an error. You can try exporting again.",\n "error.ingredientLoadingEmbedError": "Your file was exported but its Content Credentials couldn\'t be published or attached because document changes were still processing. Please wait a moment and try again.",\n "error.ingredientLoadingSaveError": "Your document and its Content Credentials couldn\'t be saved because changes to the document were still processing. Please try saving again with Save As once changes have finished processing.",\n "error.offline": "Your file was exported but its Content Credentials couldn\'t be published or attached. Please check your network connection and try again.",\n "error.permissionSaveError": "Content Credentials couldn\'t be saved, possibly due to insufficient file or folder permissions.",\n "errorView.defaultError": "Content Credentials (Beta) couldn\'t be enabled due to an error.",\n "errorView.tryAgain": "Try again",\n "errorView.unsupported": "Content Credentials (Beta) doesn\'t support documents using Bitmap or Multichannel image mode. <a>Learn more</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) couldn\'t be enabled, possibly due to insufficient file or folder permissions. <a>Learn more</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) can’t find your file. It may have been deleted, moved, or renamed. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.",\n "fileError.asset.permission": "Content Credentials (Beta) can\'t read or update this file, possibly due to insufficient permissions. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.",\n "fileError.embed.notFound": "Your file was exported but its Content Credentials couldn\'t be published or attached because the file could not be found. It may have been deleted, moved, or renamed. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.",\n "fileError.embed.permission": "Your file was exported but its Content Credentials couldn\'t be published or attached, possibly due to insufficient permissions. Read the “Learn about Content Credentials” article on helpx.adobe.com to learn more.",\n "fileError.embed.tooLarge": \'Your file was exported but its Content Credentials were too large to publish. You can attach them to your file instead by choosing "Attach to file (JPG & PNG)" and exporting again.\',\n "info.openFile": "Open a file to use Content Credentials (Beta).",\n "menu.disableContentCreds": "Disable Content Credentials",\n "menu.goToVerify": "Go to Verify",\n "menu.learnMore": "Learn More",\n "menu.manageConnectedAccounts": "Manage connected accounts",\n "menu.openPreferences": "Preferences",\n "menu.provideFeedback": "Provide Feedback",\n "menu.refreshConnectedAccounts": "Refresh connected accounts",\n "menu.showOnEnable": "Show on enable",\n "offlineView.refresh": "Refresh",\n "panel.disabled.enableDescription": "Get recognized for your work and increase transparency about how it was made by choosing information to share in its Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials are automatically applied if you place fully AI-generated images. <a>Learn more</a>",\n "panel.enable": "Enable Content Credentials",\n "preview.assetsUsedDetail": "Any assets used or added to this content",\n "preview.assetsUsedTitle": "INGREDIENTS",\n "preview.editsActivityDetail": "Changes and actions taken to produce this content",\n "preview.editsActivityTitle": "ACTIONS",\n "preview.genAIModelUsed": "AI TOOLS USED",\n "preview.info": "People will be able to view the following information with your content.",\n "preview.none": "None",\n "preview.producedByDetail": "Chosen name of the person who exported this content",\n "preview.producedByTitle": "PRODUCED BY",\n "preview.producedWithDetail": "Software used to make this content",\n "preview.producedWithTitle": "APP OR DEVICE USED",\n "preview.signedByDetail": "The entity that recorded the Content Credentials (Beta)",\n "preview.signedByTitle": "ISSUED BY",\n "preview.socialMediaDetail": "Social media accounts connected to the producer of this content",\n "preview.socialMediaTitle": "SOCIAL MEDIA ACCOUNTS",\n "preview.web3Detail": "Web3 accounts connected to the producer of this content",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Something went wrong. Please check your internet connection to modify producer and connected accounts settings.",\n "progressive.servicesDownExisting": "One or more settings had trouble syncing and their info may not be current.",\n "progressive.servicesDownNew": "One or more settings aren’t available because they couldn’t be loaded.",\n title: jE,\n "web3Account.copied": "Copied!"\n}, LE = "Content Credentials (Beta)", OE = {\n "action.c2pa.color_adjustments.description": "Se han ajustado propiedades como el tono, la saturación, las curvas, las sombras o las luces",\n "action.c2pa.color_adjustments.label": "Ediciones de color o exposición",\n "action.c2pa.created.description": "Se ha creado un nuevo archivo o contenido",\n "action.c2pa.created.label": "Fecha de creación",\n "action.c2pa.cropped.description": "Se han usado herramientas de recorte, lo que reduce o expande el área de contenido visible",\n "action.c2pa.cropped.label": "Ediciones de recorte",\n "action.c2pa.drawing.description": "Se han usado herramientas como lápices, pinceles, borradores o herramientas de formas, trazados o bolígrafos",\n "action.c2pa.drawing.label": "Ediciones de dibujo",\n "action.c2pa.edited.description": "Se han hecho otros cambios",\n "action.c2pa.edited.label": "Otras ediciones",\n "action.c2pa.filtered.description": "Se han usado herramientas como filtros, estilos o efectos para cambiar la apariencia",\n "action.c2pa.filtered.label": "Ediciones de filtro o estilo",\n "action.c2pa.opened.description": "Se ha abierto un archivo preexistente",\n "action.c2pa.opened.label": "Abierto",\n "action.c2pa.orientation.description": "Se ha cambiado la posición u orientación (girado, volteado, etc.)",\n "action.c2pa.orientation.label": "Ediciones de orientación",\n "action.c2pa.placed.description": "Se ha añadido contenido preexistente a este archivo",\n "action.c2pa.placed.label": "Importado",\n "action.c2pa.resized.description": "Se han modificado las dimensiones o el tamaño del archivo",\n "action.c2pa.resized.label": "Ediciones de cambio de tamaño",\n "action.c2pa.unknown.description": "Se han realizado otras ediciones o actividades que no se han podido reconocer",\n "action.c2pa.unknown.label": "Ediciones o actividad desconocidas",\n "action.com.adobe.3d.description": "Objetos 3D o escenas creados o modificados",\n "action.com.adobe.3d.label": "Ediciones 3D",\n "action.com.adobe.animation_video.description": "Se han creado o modificado elementos de animación, audio u otras propiedades de vídeo",\n "action.com.adobe.animation_video.label": "Ediciones de vídeo",\n "action.com.adobe.combined_assets.description": "Se ha compuesto o reordenado el contenido, o se ha editado con herramientas de muestreo de contenido",\n "action.com.adobe.combined_assets.label": "Combinado",\n "action.com.adobe.text.description": "Se ha creado texto o se le han realizado cambios, lo que incluye la familia de fuentes, el color u otros estilos",\n "action.com.adobe.text.label": "Ediciones de texto",\n "alert.missingActivityWarning": "Es posible que algunas ediciones o actividad no se hayan registrado. <a>Más información</a>",\n "assertions.connectAccounts": "Conectar cuentas",\n "assertions.connectedAccounts": "Cuentas conectadas",\n "assertions.editsActivity": "Ediciones y actividad",\n "assertions.genAI": "Transparencia de IA generativa (obligatorio)",\n "assertions.producer": "Productor",\n "assertions.refreshTooltip": "Actualiza las cuentas conectadas para ver las que has agregado en tus credenciales",\n "assertions.refreshing": "Actualizando...",\n "assertions.socialMedia": "Redes sociales",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Puede contener capas que están ocultas o no visibles en esta miniatura",\n "asset.unknownImage": "Imagen sin título",\n "badge.invalidCredentialsTooltip": "Las Content Credentials no están disponibles o no son válidas.",\n "badge.ogpTooltip": "Este elemento se ha editado, pero falta información o está incompleta.",\n "badge.validCredentialsTooltip": "Este activo tiene datos de atribución e historial.",\n "com.adobe.changesBeforeLoad": "Content Credentials indicará para este archivo que faltan datos de edición o actividad porque Content Credentials (Beta) se cargó después de Photoshop o hubo un error. <a>Más información</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) no admite scripts ni plug-ins de terceros. <a>Más información</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) no es totalmente compatible con la duplicación de capas en otros archivos. <a>Más información</a>",\n "com.adobe.enabledCAI": "Las Content Credentials de este archivo indicarán que no hay ediciones ni actividad. Es posible que se hayan realizado ediciones o haya habido actividad en varias aplicaciones o dispositivos o mientras Content Credentials (Beta) estaba desactivado. <a>Más información</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) no admite scripts ni plug-ins de terceros. <a>Más información</a>",\n "com.adobe.noCAIData": "Este archivo de Photoshop se creó sin Content Credentials (Beta), por lo que las ediciones y la actividad se mostrarán como ausentes. <a>Más información</a>",\n "com.adobe.outsideProgram": "Las Content Credentials de este archivo indicarán que no hay ediciones ni actividad. Es posible que se hayan realizado ediciones o haya habido actividad en varias aplicaciones o dispositivos o mientras Content Credentials (Beta) estaba desactivado. <a>Más información</a>",\n "com.adobe.prerelease": "Hay uno o varios archivos añadidos al documento actual que tienen Content Credentials que ya no son válidas. Las Content Credentials del documento actual no se verán afectadas.",\n "com.adobe.programCrash": "Las Content Credentials de este archivo indicarán que no hay ediciones ni actividad porque Content Credentials (Beta) se cargó después de Photoshop o hubo un error. <a>Más información</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) no es totalmente compatible con los objetos inteligentes vinculados. <a>Más información</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) no admite scripts ni plug-ins de terceros. <a>Más información</a>",\n "com.adobe.upgradedSpec": "Las Content Credentials anteriores de este archivo ya no son válidas. Si lo exportas ahora y adjuntas o publicas las Content Credentials, solo se incluirá la información de ediciones, actividad y atribuciones más reciente.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Esta imagen combina varios contenidos. Al menos uno se ha generado con una herramienta de IA.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "RESUMEN DE CONTENIDO",\n "controls.info": "Elige información adicional para incluir en las Content Credentials al exportar con Exportar como. <a>Más información</a>",\n "controls.learnMore": "Content Credentials (Beta) aún no es compatible con algunas acciones de Photoshop, por lo que las ediciones y la actividad se mostrarán como ausentes. <a>Más información</a>",\n "controls.previewCredentials": "Previsualizar",\n "controls.settingsTab": "Ajustes",\n "error.caiHelper": "Su archivo se ha exportado, pero sus Content Credentials no se pudieron publicar ni asociar debido a problemas de conexión entre Content Credentials (Beta) y otro servicio. Inténtalo de nuevo más tarde.",\n "error.embed.general": "El archivo se ha exportado pero no se han podido publicar ni adjuntar las Content Credentials debido a un error. Intenta exportarlo de nuevo.",\n "error.ingredientLoadingEmbedError": "El archivo se ha exportado, pero las Content Credentials no se han podido publicar ni adjuntar porque los cambios del documento aún estaban en curso. Espera unos momentos y vuelve a intentarlo.",\n "error.ingredientLoadingSaveError": "El documento y las Content Credentials no se han podido guardar porque los cambios en el documento aún estaban en curso. Intenta guardar de nuevo con la opción Guardar como cuando los cambios hayan terminado de procesarse.",\n "error.offline": "El archivo se ha exportado pero no se han podido publicar ni adjuntar las Content Credentials. Verifica tu conexión de red y vuelve a intentarlo.",\n "error.permissionSaveError": "No se han podido guardar las Content Credentials, posiblemente debido a que los permisos de archivo o carpeta son insuficientes.",\n "errorView.defaultError": "Content Credentials (Beta) no se ha podido habilitar debido a un error.",\n "errorView.tryAgain": "Intentar de nuevo",\n "errorView.unsupported": "Content Credentials (Beta) no admite documentos que utilicen el modo de imagen de mapa de bits o multicanal. <a>Más información</a>",\n "errorView.unsupportedPersistance": "No se ha podido habilitar Content Credentials (Beta), posiblemente debido a que los permisos de archivo o carpeta son insuficientes. <a>Más información</a>",\n "fileError.asset.notFound": "No es posible encontrar el archivo con las Content Credentials (Beta). Puede que se haya eliminado, movido o cambiado de nombre. Lee el artículo “Más información sobre las Content Credentials” en helpx.adobe.com para conocer más detalles.",\n "fileError.asset.permission": "No es posible leer o modificar el archivo con las Content Credentials (Beta), posiblemente debido a que falten permisos. Lee el artículo “Más información sobre las Content Credentials” en helpx.adobe.com para conocer más detalles.",\n "fileError.embed.notFound": "El archivo se ha exportado pero las Content Credentials no se han podido publicar ni adjuntar porque no se encuentra el archivo. Es posible que se haya eliminado, movido o cambiado de nombre. Lee el artículo “Más información sobre las Content Credentials” en helpx.adobe.com para conocer más detalles.",\n "fileError.embed.permission": "El archivo se ha exportado pero las Content Credentials no se han podido publicar ni adjuntar debido probablemente a que falten permisos. Lee el artículo “Más información sobre las Content Credentials” en helpx.adobe.com para conocer más detalles.",\n "fileError.embed.tooLarge": "El archivo se ha exportado pero las Content Credentials eran demasiado grandes para publicarse. Puedes adjuntarlas al archivo eligiendo “Adjuntar al archivo (JPG y PNG)” y exportándolo de nuevo.",\n "info.openFile": "Abre un archivo para usar Content Credentials (Beta).",\n "menu.disableContentCreds": "Deshabilitar Content Credentials",\n "menu.goToVerify": "Ir a Verificar",\n "menu.learnMore": "Más información",\n "menu.manageConnectedAccounts": "Administrar cuentas conectadas",\n "menu.openPreferences": "Preferencias",\n "menu.provideFeedback": "Facilitar comentarios",\n "menu.refreshConnectedAccounts": "Actualizar cuentas conectadas",\n "menu.showOnEnable": "Mostrar al activar",\n "offlineView.refresh": "Actualizar",\n "panel.disabled.enableDescription": "Obtén reconocimiento por tu trabajo y aumenta la transparencia sobre cómo se ha realizado compartiendo información en las Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Las Content Credentials se aplican automáticamente si envías imágenes generadas completamente por IA. <a>Más información</a>",\n "panel.enable": "Habilitar Content Credentials",\n "preview.assetsUsedDetail": "Cualquier activo usado o agregado a este contenido",\n "preview.assetsUsedTitle": "INGREDIENTES",\n "preview.editsActivityDetail": "Cambios y acciones realizadas para producir este contenido",\n "preview.editsActivityTitle": "ACCIONES",\n "preview.genAIModelUsed": "HERRAMIENTAS DE IA USADAS",\n "preview.info": "Otras personas podrán ver la siguiente información con tu contenido.",\n "preview.none": "Ninguno",\n "preview.producedByDetail": "Nombre elegido de la persona que exportó este contenido",\n "preview.producedByTitle": "PRODUCIDO POR",\n "preview.producedWithDetail": "Software utilizado para hacer este contenido",\n "preview.producedWithTitle": "APLICACIÓN O DISPOSITIVO UTILIZADO",\n "preview.signedByDetail": "La entidad que registró Content Credentials (Beta)",\n "preview.signedByTitle": "ENVIADO POR",\n "preview.socialMediaDetail": "Cuentas de redes sociales conectadas al productor de este contenido",\n "preview.socialMediaTitle": "REDES SOCIALES CUENTAS",\n "preview.web3Detail": "Cuentas Web3 conectadas al productor de este contenido",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Se ha producido un error. Verifica la conexión a Internet para modificar la configuración de las cuentas conectadas y de productor.",\n "progressive.servicesDownExisting": "Uno o más ajustes han tenido problemas para sincronizarse y es posible que la información no esté actualizada.",\n "progressive.servicesDownNew": "Una o más configuraciones no están disponibles porque no se han podido cargar.",\n title: LE,\n "web3Account.copied": "¡Copiada!"\n}, ME = "Content Credentials (Beta)", FE = {\n "action.c2pa.color_adjustments.description": "Säädetty ominaisuuksia, kuten sävyä, kylläisyyttä, käyriä, varjoja tai kohokohtia",\n "action.c2pa.color_adjustments.label": "Väreihin tai valotukseen liittyvät muokkaukset",\n "action.c2pa.created.description": "Luotu uusi tiedosto tai uutta sisältöä",\n "action.c2pa.created.label": "Luotu",\n "action.c2pa.cropped.description": "Käytetty rajaustyökaluja, vähennetty tai laajennettu näkyvää sisältöaluetta",\n "action.c2pa.cropped.label": "Rajaukseen liittyvät muokkaukset",\n "action.c2pa.drawing.description": "Käytetty työkaluja, kuten kyniä, siveltimiä, pyyhekumeja tai muoto-, reitti- tai kynätyökaluja",\n "action.c2pa.drawing.label": "Piirtämiseen liittyvät muokkaukset",\n "action.c2pa.edited.description": "Tehty muita muutoksia",\n "action.c2pa.edited.label": "Muut muokkaukset",\n "action.c2pa.filtered.description": "Käytetty työkaluja, kuten ulkoasun muuttamiseen tarkoitettuja suodattimia, tyylejä tai tehosteita",\n "action.c2pa.filtered.label": "Suodattimeen tai tyyliin liittyvät muokkaukset",\n "action.c2pa.opened.description": "Avattu olemassa oleva tiedosto",\n "action.c2pa.opened.label": "Avattu",\n "action.c2pa.orientation.description": "Muutettu paikkaa tai suuntaa (kierretty, käännetty jne.)",\n "action.c2pa.orientation.label": "Suuntaan liittyvät muokkaukset",\n "action.c2pa.placed.description": "Lisätty olemassa olevaa sisältöä tähän tiedostoon",\n "action.c2pa.placed.label": "Tuotu",\n "action.c2pa.resized.description": "Muutettu mittasuhteita tai tiedostokokoa",\n "action.c2pa.resized.label": "Koon muuttamiseen liittyvät muokkaukset",\n "action.c2pa.unknown.description": "Suoritettu muita muokkauksia tai toimintoja, joita ei tunnistettu",\n "action.c2pa.unknown.label": "Tuntemattomat muokkaukset tai tuntematon toiminta",\n "action.com.adobe.3d.description": "Luotu 3D-objekteja tai -tilanteita tai tehty niihin muutoksia",\n "action.com.adobe.3d.label": "3D-muokkaukset",\n "action.com.adobe.animation_video.description": "Luotu animaatiota, ääntä tai muita videon ominaisuuksia tai tehty niihin muutoksia",\n "action.com.adobe.animation_video.label": "Videomuokkaukset",\n "action.com.adobe.combined_assets.description": "Koostettu tai järjestelty sisältöä tai tehty muokkauksia sisällön näytteenottotyökaluilla",\n "action.com.adobe.combined_assets.label": "Yhdistetty",\n "action.com.adobe.text.description": "Luotu tekstiä tai tehty muutoksia siihen, muutettu esimerkiksi kirjasinperhettä, väriä tai muita tyylejä",\n "action.com.adobe.text.label": "Tekstiin liittyvät muokkaukset",\n "alert.missingActivityWarning": "Joitakin muokkauksia tai toimintoja ei ehkä ole tallennettu. <a>Lue lisää</a>",\n "assertions.connectAccounts": "Yhdistä tilit",\n "assertions.connectedAccounts": "Yhdistetyt tilit",\n "assertions.editsActivity": "Muokkaukset ja toimenpiteet",\n "assertions.genAI": "Generatiivisen AI:n läpinäkyvyys (pakollinen)",\n "assertions.producer": "Tuottaja",\n "assertions.refreshTooltip": "Päivitä yhdistetyt tilit, jotta voit tarkastella tunnistetietoihisi lisäämiäsi tilejä",\n "assertions.refreshing": "Päivitetään...",\n "assertions.socialMedia": "Sosiaalinen media",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Saattaa sisältää tasoja, jotka on piilotettu tai jotka eivät näy tässä miniatyyrissa",\n "asset.unknownImage": "Nimetön kuva",\n "badge.invalidCredentialsTooltip": "Content Credentialsit eivät ole käytettävissä tai ne ovat virheellisiä.",\n "badge.ogpTooltip": "Tätä resurssia muokattiin, mutta sen tiedot ovat epätäydelliset tai puutteelliset.",\n "badge.validCredentialsTooltip": "Tällä resurssilla on ominaisuus- ja historiatietoja.",\n "com.adobe.changesBeforeLoad": "Tämän tiedoston Content Credentialsit viittaavat puuttuviin muokkaus- tai toimenpidetietoihin, sillä Content Credentials (Beta) ladattiin Photoshopin jälkeen tai se kaatui. <a>Lue lisää</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) ei tue komentosarjoja tai kolmannen osapuolen laajennuksia. <a>Lue lisää</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) ei täysin tue tasojen monistamista muihin tiedostoihin. <a>Lue lisää</a>",\n "com.adobe.enabledCAI": "Tämän tiedoston Content Credentialsit viittaavat puuttuviin muokkauksiin tai toimenpiteisiin. Muokkauksia tai toimenpiteitä on voitu tehdä useissa sovelluksissa tai laitteissa tai Content Credentials (Beta) -sovelluksen ollessa poissa käytöstä. <a>Lue lisää</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) ei tue komentosarjoja tai kolmannen osapuolen laajennuksia. <a>Lue lisää</a>",\n "com.adobe.noCAIData": "Tämä Photoshop-tiedosto luotiin ilman Content Credentials (Beta) -sovellusta, joten muokkaukset ja toimenpiteet näkyvät puuttuvina. <a>Lue lisää</a>",\n "com.adobe.outsideProgram": "Tämän tiedoston Content Credentialsit viittaavat puuttuviin muokkauksiin tai toimenpiteisiin. Muokkauksia tai toimenpiteitä on voitu tehdä useissa sovelluksissa tai laitteissa tai Content Credentials (Beta) -sovelluksen ollessa poissa käytöstä. <a>Lue lisää</a>",\n "com.adobe.prerelease": "Yhden tai useamman nykyiseen dokumenttiin lisätyn tiedoston Content Credentialsit eivät ole enää voimassa. Tällä ei ole vaikutusta nykyisen dokumentin Content Credentialseihin.",\n "com.adobe.programCrash": "Tämän tiedoston Content Credentialsit viittaavat puuttuviin muokkauksiin tai toimenpiteisiin, sillä Content Credentials (Beta) ladattiin Photoshopin jälkeen tai se kaatui. <a>Lue lisää</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) ei täysin tue linkitettyjä älykkäitä objekteja. <a>Lue lisää</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) ei tue komentosarjoja tai kolmannen osapuolen laajennuksia. <a>Lue lisää</a>",\n "com.adobe.upgradedSpec": "Tämän tiedoston aikaisemmat Content Credentialsit eivät enää ole voimassa. Jos viet Content Credentialsit nyt ja liität tai julkaiset ne, vain viimeisimmät muokkaus-, toiminta- ja tekijätiedot sisällytetään.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Tässä kuvassa on useita sisältöjä. Ainakin yksi niistä luotiin tekoälytyökalulla.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "SISÄLLÖN YHTEENVETO",\n "controls.info": "Valitse Content Credentialseihin sisällytettävät lisätiedot, kun sisältö viedään Vie muodossa -toiminnolla. <a>Lue lisää</a>",\n "controls.learnMore": "Content Credentials (Beta) ei vielä tue joitakin Photoshopin toimintoja, joten muokkaukset ja toimenpiteet näkyvät puuttuvina. <a>Lue lisää</a>",\n "controls.previewCredentials": "Esikatselu",\n "controls.settingsTab": "Asetukset",\n "error.caiHelper": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää Content Credentials (Beta) -sovelluksen ja toisen palvelun välisten yhteysongelmien vuoksi. Yritä myöhemmin uudelleen.",\n "error.embed.general": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää virheen vuoksi. Voit yrittää suorittaa viennin uudelleen.",\n "error.ingredientLoadingEmbedError": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää, koska dokumentin muutoksia käsitellään edelleen. Odota hetki ja yritä uudelleen.",\n "error.ingredientLoadingSaveError": "Dokumenttiasi ja sen Content Credentialseja ei voitu tallentaa, koska dokumenttiin tehtyjä muutoksia käsitellään edelleen. Yritä tallentaa uudelleen Tallenna nimellä -toiminnolla, kun muutokset on käsitelty.",\n "error.offline": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää. Tarkista verkkoyhteytesi ja yritä uudelleen.",\n "error.permissionSaveError": "Content Credentialseja ei voitu tallentaa, mahdollisesti tiedoston tai kansion riittämättömien käyttöoikeuksien vuoksi.",\n "errorView.defaultError": "Content Credentials (Beta) -toimintoa ei voitu ottaa käyttöön virheen vuoksi.",\n "errorView.tryAgain": "Yritä uudelleen",\n "errorView.unsupported": "Content Credentials (Beta) ei tue bittikartta- tai monikanavakuvatilaa käyttäviä dokumentteja. <a>Lue lisää</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) -toimintoa ei voitu ottaa käyttöön, mahdollisesti tiedoston tai kansion riittämättömien käyttöoikeuksien vuoksi. <a>Lue lisää</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) ei löydä tiedostoasi. Se on ehkä poistettu, siirretty tai nimetty uudelleen. Saat lisätietoja lukemalla Tietoja Content Credentialsista -artikkelin osoitteessa helpx.adobe.com.",\n "fileError.asset.permission": "Content Credentials (Beta) ei pysty lukemaan tai päivittämään tätä tiedostoa, mahdollisesti riittämättömien käyttöoikeuksien vuoksi. Saat lisätietoja lukemalla Tietoja Content Credentialsista -artikkelin osoitteessa helpx.adobe.com.",\n "fileError.embed.notFound": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää, sillä tiedostoa ei löytynyt. Se on ehkä poistettu, siirretty tai nimetty uudelleen. Saat lisätietoja lukemalla Tietoja Content Credentialseista -artikkelin helpx.adobe.comissa.",\n "fileError.embed.permission": "Tiedostosi vietiin, mutta sen Content Credentialseja ei voitu julkaista tai liittää, mahdollisesti riittämättömien käyttöoikeuksien vuoksi. Saat lisätietoja lukemalla Tietoja Content Credentialseista -artikkelin helpx.adobe.comissa.",\n "fileError.embed.tooLarge": "Tiedostosi vietiin, mutta sen Content Credentialsit olivat liian suuria julkaistavaksi. Voit sen sijaan liittää ne tiedostoosi valitsemalla ”Liitä tiedostoon (JPG ja PNG)” ja viemällä tiedoston uudelleen.",\n "info.openFile": "Avaa tiedosto, jos haluat käyttää Content Credentials (Beta) -sovellusta.",\n "menu.disableContentCreds": "Poista Content Credentialsit käytöstä",\n "menu.goToVerify": "Siirry vahvistukseen",\n "menu.learnMore": "Lue lisää",\n "menu.manageConnectedAccounts": "Yhdistettyjen tilien hallinta",\n "menu.openPreferences": "Asetukset",\n "menu.provideFeedback": "Anna palautetta",\n "menu.refreshConnectedAccounts": "Päivitä yhdistetyt tilit",\n "menu.showOnEnable": "Näytä käyttöön otettaessa",\n "offlineView.refresh": "Päivitä",\n "panel.disabled.enableDescription": "Hanki tunnustusta työstäsi ja lisää sen tekemiseen liittyvää avoimuutta valitsemalla sen Content Credentialseissa jaettavat tiedot.",\n "panel.disabled.genAIDisclaimer": "Content Credentialsit otetaan automaattisesti käyttöön, jos lisäät täysin tekoälyn avulla luotuja kuvia. <a>Lue lisää</a>",\n "panel.enable": "Ota Content Credentialsit käyttöön",\n "preview.assetsUsedDetail": "Kaikki käytetyt tai tähän sisältöön lisätyt resurssit",\n "preview.assetsUsedTitle": "ELEMENTIT",\n "preview.editsActivityDetail": "Tämän sisällön tuottamista varten tehdyt muutokset ja toimenpiteet",\n "preview.editsActivityTitle": "TOIMINNOT",\n "preview.genAIModelUsed": "KÄYTETTY TEKOÄLYTYÖKALUJA",\n "preview.info": "Ihmiset voivat tarkastella seuraavia tietoja yhdessä sisältösi kanssa.",\n "preview.none": "Ei mitään",\n "preview.producedByDetail": "Tämän sisällön vieneen henkilön valittu nimi",\n "preview.producedByTitle": "TUOTTANUT",\n "preview.producedWithDetail": "Tämän sisällön tuottamiseen käytetty ohjelmisto",\n "preview.producedWithTitle": "KÄYTETTY SOVELLUS TAI LAITE",\n "preview.signedByDetail": "Content Credentials (Beta) -sovelluksen tallennukseen käytetty entiteetti",\n "preview.signedByTitle": "MYÖNTÄNYT",\n "preview.socialMediaDetail": "Tämän sisällön tuottajaan yhdistetyt yhteisöpalvelutilit",\n "preview.socialMediaTitle": "YHTEISÖPALVELUTILIT",\n "preview.web3Detail": "Tämän sisällön tuottajaan yhdistetyt Web3-tilit",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Jokin meni vikaan. Tarkista Internet-yhteytesi tuottajan ja yhdistettyjen tilien asetusten muokkaamista varten.",\n "progressive.servicesDownExisting": "Yhden tai useamman asetuksen synkronoinnissa oli ongelmia, joten asetusten tiedot eivät ehkä ole ajan tasalla.",\n "progressive.servicesDownNew": "Yksi tai useampi asetus ei ole käytettävissä, sillä niiden lataaminen epäonnistui.",\n title: ME,\n "web3Account.copied": "Kopioitu!"\n}, $E = "Content Credentials (Beta)", RE = {\n "action.c2pa.color_adjustments.description": "Ajustement des propriétés, comme la tonalité, la saturation, les courbes, les ombres ou les tons clairs",\n "action.c2pa.color_adjustments.label": "Modifications de la couleur ou de l’exposition",\n "action.c2pa.created.description": "Création d’un nouveau fichier ou contenu",\n "action.c2pa.created.label": "Créé",\n "action.c2pa.cropped.description": "Utilisation d’outils de recadrage, réduisant ou élargissant la zone de contenu visible",\n "action.c2pa.cropped.label": "Modifications de recadrage",\n "action.c2pa.drawing.description": "Utilisation d’outils, comme des crayons, des pinceaux, des gommes ou des outils de forme, de tracé ou de plume",\n "action.c2pa.drawing.label": "Modifications du dessin",\n "action.c2pa.edited.description": "Réalisation d’autres modifications",\n "action.c2pa.edited.label": "Autres modifications",\n "action.c2pa.filtered.description": "Utilisation d’outils tels que des filtres, des styles ou des effets pour modifier l’apparence",\n "action.c2pa.filtered.label": "Modifications du filtre ou du style",\n "action.c2pa.opened.description": "Ouverture d’un fichier préexistant",\n "action.c2pa.opened.label": "Ouvert",\n "action.c2pa.orientation.description": "Changement de position ou d’orientation (rotation, renversement, etc.)",\n "action.c2pa.orientation.label": "Orientation Modifications de ",\n "action.c2pa.placed.description": "Ajout du contenu préexistant à ce fichier",\n "action.c2pa.placed.label": "Importé",\n "action.c2pa.resized.description": "Modification des dimensions ou de la taille du fichier",\n "action.c2pa.resized.label": "Modifications du redimensionnement",\n "action.c2pa.unknown.description": "Réalisation d’autres modifications ou activités qui n’ont pas pu être reconnues",\n "action.c2pa.unknown.label": "Modifications ou activité inconnues",\n "action.com.adobe.3d.description": "Création ou modification d’objets ou de scènes 3D",\n "action.com.adobe.3d.label": "Modifications 3D",\n "action.com.adobe.animation_video.description": "Création ou modification de l’animation, de l’audio ou d’autres propriétés vidéo",\n "action.com.adobe.animation_video.label": "Modifications vidéo",\n "action.com.adobe.combined_assets.description": "Composition ou réorganisation du contenu, ou modification de celui-ci avec des outils d’échantillonnage de contenu",\n "action.com.adobe.combined_assets.label": "Combiné",\n "action.com.adobe.text.description": "Création ou modification du texte, notamment de la famille de polices, de la couleur ou d’autres styles",\n "action.com.adobe.text.label": "Modifications du texte",\n "alert.missingActivityWarning": "Certaines modifications ou activités n’ont peut être pas été enregistrées. <a>En savoir plus</a>",\n "assertions.connectAccounts": "Connecter des comptes",\n "assertions.connectedAccounts": "Comptes connectés",\n "assertions.editsActivity": "Modifications et activité",\n "assertions.genAI": "Transparence concernant l’IA générative (obligatoire)",\n "assertions.producer": "Producteur",\n "assertions.refreshTooltip": "Actualisez les comptes connectés pour afficher ceux que vous avez ajoutés avec vos identifiants",\n "assertions.refreshing": "Actualisation…",\n "assertions.socialMedia": "Réseaux sociaux",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Peut contenir des calques masqués ou non visibles dans cette vignette",\n "asset.unknownImage": "Image sans titre",\n "badge.invalidCredentialsTooltip": "Les Content Credentials ne sont soit pas disponibles, soit pas valides.",\n "badge.ogpTooltip": "Cette ressource a été modifiée mais ses informations sont incomplètes ou manquantes.",\n "badge.validCredentialsTooltip": "Cette ressource a des données d’attribution et d’historique.",\n "com.adobe.changesBeforeLoad": "Les Content Credentials de ce fichier indiqueront les données de modification ou d’activité manquantes, car le service Content Credentials (Beta) s’est chargé après Photoshop ou a planté. <a>En savoir plus</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) ne prend pas en charge les scripts ni les plug-ins tiers. <a>En savoir plus</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) ne prend pas entièrement en charge la duplication de calques dans d’autres fichiers. <a>En savoir plus</a>",\n "com.adobe.enabledCAI": "Les Content Credentials de ce fichier indiqueront les modifications ou activités manquantes. Des modifications ou des activités peuvent avoir eu lieu sur plusieurs applications ou appareils, ou pendant que Content Credentials (Beta) était désactivé. <a>En savoir plus</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) ne prend pas en charge les scripts ni les plug-ins tiers. <a>En savoir plus</a>",\n "com.adobe.noCAIData": "Ce fichier Photoshop a été créé sans Content Credentials (Beta). Les données de modifications et d’activité seront donc signalées comme manquantes. <a>En savoir plus</a>",\n "com.adobe.outsideProgram": "Les Content Credentials de ce fichier indiqueront les modifications ou activités manquantes. Des modifications ou des activités peuvent avoir eu lieu sur plusieurs applications ou appareils, ou pendant que Content Credentials (Beta) était désactivé. <a>En savoir plus</a>",\n "com.adobe.prerelease": "Les Content Credentials d’un ou plusieurs fichiers ajoutés au document actif ne sont plus valides. Les Content Credentials du document actif ne sont pas concernées.",\n "com.adobe.programCrash": "Les Content Credentials de ce fichier indiqueront les modifications ou activités manquantes, car Content Credentials (Beta) s’est chargé après Photoshop ou s’est bloqué. <a>En savoir plus</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) ne prend pas totalement en charge les objets dynamiques liés. <a>En savoir plus</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) ne prend pas en charge les scripts ni les plug-ins tiers. <a>En savoir plus</a>",\n "com.adobe.upgradedSpec": "Les précédentes Content Credentials de ce fichier ne sont plus valides. Si vous exportez et liez ou publiez ces informations maintenant, seules les informations les plus récentes relatives à la modification, à l’activité et aux attributions seront incluses.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Cette image combine plusieurs éléments de contenu. Au moins un a été généré avec un outil d’IA.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "RÉSUMÉ DU CONTENU",\n "controls.info": "Choisissez des informations supplémentaires à inclure dans vos Content Credentials lors de l’exportation via Exporter sous. <a>En savoir plus</a>",\n "controls.learnMore": "Content Credentials (Beta) ne prend pas encore en charge certaines actions Photoshop. Les données de modifications et d’activité seront donc signalées comme manquantes. <a>En savoir plus</a>",\n "controls.previewCredentials": "Aperçu",\n "controls.settingsTab": "Paramètres",\n "error.caiHelper": "Votre fichier a bien été exporté, mais la publication ou l’ajout de ses Content Credentials a échoué en raison d’un problème de connexion entre Content Credentials (Beta) et un autre service. Veuillez réessayer ultérieurement.",\n "error.embed.general": "Votre fichier a été exporté, mais ses Content Credentials n’ont pas pu être publiées ou liées en raison d’une erreur. Réessayez d’exporter.",\n "error.ingredientLoadingEmbedError": "Votre fichier a bien été exporté, mais la publication ou l’ajout de ses Content Credentials a échoué, car certaines modifications apportées au document sont encore en cours de traitement. Patientez un peu, et réessayez.",\n "error.ingredientLoadingSaveError": "Votre document et ses Content Credentials n’ont pas pu être enregistrés car les modifications apportées au document sont encore en cours de traitement. Tentez d’enregistrer à nouveau à l’aide de l’option Enregistrer sous une fois le traitement des modifications terminé.",\n "error.offline": "Votre fichier a été exporté, mais ses Content Credentials n’ont pas pu être publiées ou ajoutées. Vérifiez votre connexion au réseau et réessayez.",\n "error.permissionSaveError": "Les Content Credentials n’ont pas pu être enregistrées, probablement en raison d’autorisations insuffisantes sur les fichiers ou les dossiers.",\n "errorView.defaultError": "Content Credentials (Beta) n’a pas pu être activé en raison d’une erreur.",\n "errorView.tryAgain": "Réessayer",\n "errorView.unsupported": "Content Credentials (Beta) ne prend pas en charge les documents utilisant les modes d’image Bitmap et multicanal. <a>En savoir plus</a>",\n "errorView.unsupportedPersistance": "Les Content Credentials (Beta) n’ont pas pu être activées, probablement en raison d’autorisations insuffisantes pour les fichiers ou les dossiers. <a>En savoir plus</a>",\n "fileError.asset.notFound": "Le service Content Credentials (Beta) ne trouve pas votre fichier. Celui-ci a peut-être été supprimé, déplacé ou renommé. Pour plus de détails, lisez l’article « En savoir plus sur Content Credentials » sur helpx.adobe.com.",\n "fileError.asset.permission": "Le service Content Credentials (Beta) ne peut pas lire ni mettre à jour ce fichier, probablement parce qu’il ne dispose pas des autorisations nécessaires. Pour plus de détails, lisez l’article « En savoir plus sur Content Credentials » sur helpx.adobe.com.",\n "fileError.embed.notFound": "Votre fichier a été exporté mais ses Content Credentials n’ont pas pu être publiées ni ajoutées car le fichier est introuvable. Il a pu être supprimé, déplacé ou renommé. Pour plus de détails, lisez l’article « En savoir plus sur Content Credentials » sur helpx.adobe.com.",\n "fileError.embed.permission": "Votre fichier a été exporté mais ses Content Credentials n’ont pas pu être publiées ni ajoutées, probablement car vous ne disposez pas des autorisations nécessaires. Pour en savoir plus, lisez l’article « En savoir plus sur Content Credentials » sur helpx.adobe.com",\n "fileError.embed.tooLarge": "Votre fichier a été exporté mais ses Content Credentials étaient trop volumineuses pour être publiées. Vous pouvez les joindre à votre fichier en choisissant « Joindre au fichier (JPG et PNG) » et en relançant l’exportation.",\n "info.openFile": "Ouvrez un fichier pour utiliser Content Credentials (Beta).",\n "menu.disableContentCreds": "Désactiver Content Credentials",\n "menu.goToVerify": "Accéder à Vérifier",\n "menu.learnMore": "En savoir plus",\n "menu.manageConnectedAccounts": "Gérer les comptes connectés",\n "menu.openPreferences": "Préférences",\n "menu.provideFeedback": "Envoyer des commentaires",\n "menu.refreshConnectedAccounts": "Actualiser les comptes connectés",\n "menu.showOnEnable": "Afficher en cas d’activation",\n "offlineView.refresh": "Actualiser",\n "panel.disabled.enableDescription": "Soyez reconnu pour votre travail et augmentez la transparence sur la façon dont il a été réalisé en choisissant les informations à partager dans ses Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Les Content Credentials sont automatiquement appliquées si vous placez des images entièrement générées par l’IA. <a>En savoir plus</a>",\n "panel.enable": "Activer Content Credentials",\n "preview.assetsUsedDetail": "Tout actif utilisé ou ajouté à ce contenu",\n "preview.assetsUsedTitle": "INGRÉDIENTS",\n "preview.editsActivityDetail": "Modifications et actions entreprises pour produire ce contenu",\n "preview.editsActivityTitle": "ACTIONS",\n "preview.genAIModelUsed": "OUTILS D’IA UTILISÉS",\n "preview.info": "Les informations suivantes seront visibles avec votre contenu.",\n "preview.none": "Aucun",\n "preview.producedByDetail": "Pseudo de la personne qui a exporté ce contenu",\n "preview.producedByTitle": "PRODUIT PAR",\n "preview.producedWithDetail": "Logiciel utilisé pour créer ce contenu",\n "preview.producedWithTitle": "APPLICATION OU APPAREIL UTILISÉ",\n "preview.signedByDetail": "Entité ayant enregistré Content Credentials (Beta)",\n "preview.signedByTitle": "ÉDITÉ PAR",\n "preview.socialMediaDetail": "Comptes de réseaux sociaux associés au créateur de ce contenu",\n "preview.socialMediaTitle": "RÉSEAUX SOCIAUX",\n "preview.web3Detail": "Comptes Web3 associés au producteur de ce contenu",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Une erreur s’est produite. Veuillez vérifier votre connexion Internet, et modifier les paramètres du producteur et des comptes connectés.",\n "progressive.servicesDownExisting": "Un ou plusieurs paramètres ont été affectés par des problèmes de synchronisation. Leurs informations ne sont peut-être pas à jour.",\n "progressive.servicesDownNew": "Un ou plusieurs paramètres ne sont pas disponibles car ils n’ont pas pu être chargés.",\n title: $E,\n "web3Account.copied": "Copie effectuée !"\n}, NE = "Content Credentials (Beta)", WE = {\n "action.c2pa.color_adjustments.description": "Beállított olyan tulajdonságokat mint árnyalat, telítettség, görbék, árnyékok vagy csúcsfények",\n "action.c2pa.color_adjustments.label": "Szín vagy expozíció szerkesztése",\n "action.c2pa.created.description": "Létrehozott egy új fájlt vagy tartalmat",\n "action.c2pa.created.label": "Létrehozva",\n "action.c2pa.cropped.description": "Használt vágóeszközöket, amelyek csökkentik vagy bővítik a tartalom látható területét",\n "action.c2pa.cropped.label": "Vágást használó szerkesztések",\n "action.c2pa.drawing.description": "Használt olyan eszközöket mint ceruzák, ecsetek, radírok vagy alakzat-, görbe- vagy tolleszközök",\n "action.c2pa.drawing.label": "Rajzolást használó szerkesztések",\n "action.c2pa.edited.description": "Egyéb módosítások végrehajtva",\n "action.c2pa.edited.label": "Egyéb szerkesztések",\n "action.c2pa.filtered.description": "Használt olyan eszközöket mint szűrők, stílusok vagy effektusok a megjelenés megváltoztatására",\n "action.c2pa.filtered.label": "Szűrőt vagy stílust használó szerkesztések",\n "action.c2pa.opened.description": "Megnyitott egy már létező fájlt",\n "action.c2pa.opened.label": "Megnyitva",\n "action.c2pa.orientation.description": "Módosította a pozíciót vagy tájolást (elforgatva, megfordítva stb.)",\n "action.c2pa.orientation.label": "Tájolás szerkesztések",\n "action.c2pa.placed.description": "Már létező tartalmat adott hozzá ehhez a fájlhoz",\n "action.c2pa.placed.label": "Importálva",\n "action.c2pa.resized.description": "A méretek vagy a fájl mérete módosult",\n "action.c2pa.resized.label": "Szerkesztések átméretezése",\n "action.c2pa.unknown.description": "Más szerkesztéseket vagy műveleteket hajtott végre, amelyeket nem lehetett felismerni",\n "action.c2pa.unknown.label": "Ismeretlen szerkesztések vagy tevékenység",\n "action.com.adobe.3d.description": "Létrehozott vagy módosított 3D objektumok vagy jelenetek",\n "action.com.adobe.3d.label": "3D szerkesztések",\n "action.com.adobe.animation_video.description": "Létrehozott vagy módosított animáció, hang vagy egyéb videó-tulajdonságok",\n "action.com.adobe.animation_video.label": "Videó szerkesztések",\n "action.com.adobe.combined_assets.description": "Összeállított vagy átrendezett tartalom, vagy tartalom-mintavételező eszközökkel szerkesztve",\n "action.com.adobe.combined_assets.label": "Összevonva",\n "action.com.adobe.text.description": "Szöveg létrehozása vagy módosítása, beleértve a betűtípust, a színt vagy más stílusokat",\n "action.com.adobe.text.label": "Szöveget használó szerkesztések",\n "alert.missingActivityWarning": "Előfordulhat, hogy egyes szerkesztéseket vagy tevékenységeket nem rögzítettek. <a>Bővebben</a>",\n "assertions.connectAccounts": "Fiókok csatlakoztatása",\n "assertions.connectedAccounts": "Csatlakoztatott fiókok",\n "assertions.editsActivity": "Szerkesztések és tevékenység",\n "assertions.genAI": "Generatív AI átlátszóság (kötelező)",\n "assertions.producer": "Gyártó",\n "assertions.refreshTooltip": "Frissítse a csatlakoztatott fiókokat a hitelesítő adataihoz hozzáadott fiókok megtekintéséhez",\n "assertions.refreshing": "Frissítés...",\n "assertions.socialMedia": "Közösségi média",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Rejtett vagy nem látható rétegeket tartalmazhat ezen az indexképen",\n "asset.unknownImage": "Névtelen kép",\n "badge.invalidCredentialsTooltip": "A Content Credentials adatok nem állnak rendelkezésre vagy érvénytelenek.",\n "badge.ogpTooltip": "Ezt az elemet szerkesztették, de a hozzá tartozó információ hiányos vagy hiányzik.",\n "badge.validCredentialsTooltip": "Ez az elem hozzárendelési és előzményadatokkal rendelkezik.",\n "com.adobe.changesBeforeLoad": "Ennek a fájlnak a Content Credentials adatai a hiányzó szerkesztési vagy tevékenységi adatokat jelzik, mert a Content Credentials (Beta) a Photoshop után töltődött be, vagy összeomlott. <a>Bővebben</a>",\n "com.adobe.cppScript": "A Content Credentials (Beta) nem támogatják a szkripteket vagy a harmadik féltől származó beépülő modulokat. <a>Bővebben</a>",\n "com.adobe.duplicatePossibleSmartObject": "A Content Credentials (Beta) nem támogatják teljes mértékben a rétegek más fájlokhoz való másolását. <a>Bővebben</a>",\n "com.adobe.enabledCAI": "Ennek a fájlnak a Content Credentials adatai a hiányzó szerkesztések vagy tevékenységek jelzik. Előfordulhat, hogy több alkalmazáson vagy eszközön szerkesztések vagy tevékenységek történtek, vagy amikor a Content Credentials (Beta) ki voltak kapcsolva. <a>Bővebben</a>",\n "com.adobe.jsxScript": "A Content Credentials (Beta) nem támogatják a szkripteket vagy a harmadik féltől származó beépülő modulokat. <a>Bővebben</a>",\n "com.adobe.noCAIData": "Ez a Photoshop-fájl a Content Credentials (Beta) nélkül jött létre, így a szerkesztések és a tevékenységek hiányzóként jelennek meg. <a>Bővebben</a>",\n "com.adobe.outsideProgram": "Ennek a fájlnak a Content Credentials adatai a hiányzó szerkesztések vagy tevékenységek jelzik. Előfordulhat, hogy több alkalmazáson vagy eszközön szerkesztések vagy tevékenységek történtek, vagy amikor a Content Credentials (Beta) ki voltak kapcsolva. <a>Bővebben</a>",\n "com.adobe.prerelease": "Az aktuális dokumentumhoz hozzáadott egy vagy több fájl Content Credentials adatok már nem érvényesek. Az aktuális dokumentum Content Credentials adatokat ez nem érinti.",\n "com.adobe.programCrash": "Ennek a fájlnak a Content Credentials adatai a hiányzó szerkesztéseket vagy tevékenységeket jelzik, mert a Content Credentials (Beta) a Photoshop után töltődtek be, vagy összeomlottak. <a>Bővebben</a>",\n "com.adobe.smartObject": "A Content Credentials (Beta) nem támogatják teljes mértékben az összekapcsolt intelligens objektumokat. <a>Bővebben</a>",\n "com.adobe.thirdPartyScript": "A Content Credentials (Beta) nem támogatják a szkripteket vagy a harmadik féltől származó beépülő modulokat. <a>Bővebben</a>",\n "com.adobe.upgradedSpec": "A fájl korábbi Content Credentials adatok már nem érvényesek. Ha most exportálja, és csatolja vagy közzéteszi a Content Credentials adatokat, akkor csak a legutóbbi szerkesztési, tevékenységi és hozzárendelési adatok jelennek meg.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Ez a kép több tartalomelemet egyesít. Legalább egyet AI-eszközzel hoztak létre.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "TARTALOM ÖSSZEFOGLALÓJA",\n "controls.info": "Válasszon további információkat, amelyeket bele szeretne foglalni a Content Credentials funkcióba, ha az Exportálás másként funkcióval exportál. <a>Bővebben</a>",\n "controls.learnMore": "A Content Credentials (Beta) még nem támogatják a Photoshop-műveleteket, így a szerkesztések és a tevékenységek hiányzóként jelennek meg. <a>Bővebben</a>",\n "controls.previewCredentials": "Előnézet",\n "controls.settingsTab": "Beállítások",\n "error.caiHelper": "A fájl exportálása megtörtént, de a Content Credentials adatokat nem lehetett közzétenni vagy csatolni a Content Credentials (Beta) és egy másik szolgáltatás közötti kapcsolódási problémák miatt. Kérjük, próbálja újra később.",\n "error.embed.general": "A fájlt exportálták, de a Content Credentials adatokat hiba miatt nem lehetett közzétenni vagy csatolni. Megpróbálhatja újra az exportálást.",\n "error.ingredientLoadingEmbedError": "A fájl exportálása megtörtént, de a Content Credentials adatokat nem lehetett közzétenni vagy csatolni, mert a dokumentummódosítások feldolgozása még folyamatban van. Kérjük, várjon egy kicsit, és próbálja újra.",\n "error.ingredientLoadingSaveError": "A dokumentumot és annak Content Credentials adatokat nem lehetett menteni, mert a dokumentum módosításai még feldolgozás alatt állnak. Kérjük, próbálja meg újra a mentést a Mentés másként funkcióval, miután a módosítások feldolgozása befejeződött.",\n "error.offline": "A fájl exportálása megtörtént, de a Content Credentials adatokat nem lehetett közzétenni vagy csatolni. Kérjük, ellenőrizze a hálózati kapcsolatot, és próbálja újra.",\n "error.permissionSaveError": "A Content Credentials adatok nem menthetők, valószínűleg az elégtelen fájl- vagy mappaengedélyek miatt.",\n "errorView.defaultError": "A Content Credentials (Beta) adatokat egy hiba miatt nem lehetett engedélyezni.",\n "errorView.tryAgain": "Próbálja újra",\n "errorView.unsupported": "A Content Credentials (Beta) nem támogatja a Bitmap vagy a Multichannel képmódot használó dokumentumokat. <a>Bővebben</a>",\n "errorView.unsupportedPersistance": "A Content Credentials (Beta) programot nem lehetett engedélyezni, valószínűleg az elégtelen fájl- vagy mappaengedélyek miatt. <a>Bővebben</a>",\n "fileError.asset.notFound": "A Content Credentials (Beta) nem találja a fájlt. Lehet, hogy törölték, áthelyezték vagy átnevezték. További információért olvassa el a „További információ a Content Credentials-ről” című cikket a helpx.adobe.com webhelyen.",\n "fileError.asset.permission": "A Content Credentials (Beta) nem tudjak olvasni vagy frissíteni a fájlt, valószínűleg elégtelen engedélyek miatt. További információért olvassa el a „További információ a Content Credentials-ről” című cikket a helpx.adobe.com webhelyen.",\n "fileError.embed.notFound": "A fájlt exportálták, de a Content Credentials adatokat nem lehetett közzétenni vagy csatolni, mert a fájl nem található. Lehet, hogy törölték, áthelyezték vagy átnevezték. További információért olvassa el a „További információ a Content Credentials adatokról” című cikket a helpx.adobe.com webhelyen.",\n "fileError.embed.permission": "A fájlt exportáltuk, de a Content Credentials adatokat nem lehetett közzétenni vagy csatolni, valószínűleg elégtelen engedélyek miatt. További információért olvassa el a „További információ a Content Credentials adatokról” című cikket a helpx.adobe.com webhelyen.",\n "fileError.embed.tooLarge": "A fájlt exportáltuk, de a Content Credentials adatok túl nagyok voltak a közzétételhez. Ehelyett csatolhatja őket a fájlhoz, ha kiválasztja a „Csatolás fájlhoz (JPG és PNG)” lehetőséget, és újra exportálja.",\n "info.openFile": "Nyisson meg egy fájlt a Content Credentials (Beta) adatoknak használatához.",\n "menu.disableContentCreds": "A Content Credentials adatoknak letiltása",\n "menu.goToVerify": "Lépjen az Ellenőrzés oldalra",\n "menu.learnMore": "Bővebben",\n "menu.manageConnectedAccounts": "Csatlakoztatott fiókok kezelése",\n "menu.openPreferences": "Beállítások",\n "menu.provideFeedback": "Adjon visszajelzést",\n "menu.refreshConnectedAccounts": "Csatlakoztatott fiókok frissítése",\n "menu.showOnEnable": "Megjelenítés engedélyezéskor",\n "offlineView.refresh": "Frissítés",\n "panel.disabled.enableDescription": "Kapjon elismerést munkájáért, és növelje az átláthatóságot azzal kapcsolatban, hogy az hogyan készült, azáltal, hogy kiválasztja a Content Credentials funkcióval megosztandó információkat.",\n "panel.disabled.genAIDisclaimer": "A rendszer automatikusan alkalmazza a Content Credentials funkciót, ha teljesen mesterséges intelligencia által generált képeket helyez el. <a>Bővebben</a>",\n "panel.enable": "A Content Credentials adatoknak engedélyezése",\n "preview.assetsUsedDetail": "A tartalomhoz használt vagy hozzáadott bármely kellék",\n "preview.assetsUsedTitle": "ÖSSZETEVŐK",\n "preview.editsActivityDetail": "A tartalom létrehozása érdekében végrehajtott változtatások és intézkedések",\n "preview.editsActivityTitle": "MŰVELETEK",\n "preview.genAIModelUsed": "HASZNÁLT MI ESZKÖZÖK",\n "preview.info": "Mások megtekinthetik az alábbi információkat az Ön tartalmával együtt.",\n "preview.none": "Nincs",\n "preview.producedByDetail": "A tartalmat exportáló személy választott neve",\n "preview.producedByTitle": "ELŐÁLLÍTOTTA",\n "preview.producedWithDetail": "A tartalom létrehozásához használt szoftver",\n "preview.producedWithTitle": "HASZNÁLT ALKALMAZÁS VAGY ESZKÖZ",\n "preview.signedByDetail": "A Content Credentials (Beta) adatokat rögzítő entitás",\n "preview.signedByTitle": "KIADTA",\n "preview.socialMediaDetail": "Közösségimédia-fiókok kapcsolódnak a tartalom előállítójához",\n "preview.socialMediaTitle": "KÖZÖSSÉGI MÉDIA FIÓKOK",\n "preview.web3Detail": "Web3-fiókok kapcsolódnak a tartalom előállítójához",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Valami hiba történt. Kérjük, ellenőrizze internetkapcsolatát a gyártó és a kapcsolódó fiókok beállításainak módosításához.",\n "progressive.servicesDownExisting": "Egy vagy több beállítás szinkronizálási problémába ütközött, és előfordulhat, hogy az adatok nem aktuálisak.",\n "progressive.servicesDownNew": "Egy vagy több beállítás nem érhető el, mert nem lehetett betölteni.",\n title: NE,\n "web3Account.copied": "Másolva!"\n}, UE = "Content Credentials (Beta)", HE = {\n "action.c2pa.color_adjustments.description": "Proprietà regolate come tono, saturazione, curve, ombre o luci",\n "action.c2pa.color_adjustments.label": "Modifiche del colore o dell\'esposizione",\n "action.c2pa.created.description": "È stato creato un nuovo file o contenuto",\n "action.c2pa.created.label": "Creato",\n "action.c2pa.cropped.description": "Strumenti di ritaglio utilizzati, riducendo o espandendo l\'area del contenuto visibile",\n "action.c2pa.cropped.label": "Modifiche di ritaglio",\n "action.c2pa.drawing.description": "Strumenti usati come matite, pennelli, gomme o strumenti forma, tracciato o penna",\n "action.c2pa.drawing.label": "Modifiche del disegno",\n "action.c2pa.edited.description": "Sono state apportate altre modifiche",\n "action.c2pa.edited.label": "Altre modifiche",\n "action.c2pa.filtered.description": "Strumenti utilizzati come filtri, stili o effetti per modificare l\'aspetto",\n "action.c2pa.filtered.label": "Modifiche di filtro o stile",\n "action.c2pa.opened.description": "È stato aperto un file preesistente",\n "action.c2pa.opened.label": "Aperto",\n "action.c2pa.orientation.description": "Posizione o orientamento modificati (ruotati, capovolti e così via)",\n "action.c2pa.orientation.label": "Orientamento modifiche",\n "action.c2pa.placed.description": "Aggiunto contenuto preesistente a questo file",\n "action.c2pa.placed.label": "Importato",\n "action.c2pa.resized.description": "Dimensioni o grandezza del file modificate",\n "action.c2pa.resized.label": "Modifiche del ridimensionamento",\n "action.c2pa.unknown.description": "Sono state eseguite altre modifiche o attività che non è stato possibile riconoscere",\n "action.c2pa.unknown.label": "Modifiche o attività sconosciute",\n "action.com.adobe.3d.description": "Creazioni o modifiche di oggetti o scene 3D",\n "action.com.adobe.3d.label": "Modifiche 3D",\n "action.com.adobe.animation_video.description": "Creazioni o modifiche di animazioni, audio o altre proprietà video",\n "action.com.adobe.animation_video.label": "Modifiche video",\n "action.com.adobe.combined_assets.description": "Contenuto composto, riordinato o modificato con strumenti di campionamento del contenuto",\n "action.com.adobe.combined_assets.label": "Combinato",\n "action.com.adobe.text.description": "Sono state create o apportate modifiche del testo, quali la famiglia di font, il colore o altri stili",\n "action.com.adobe.text.label": "Modifiche del testo",\n "alert.missingActivityWarning": "Alcune modifiche o attività potrebbero non essere state registrate. <a>Ulteriori informazioni</a>",\n "assertions.connectAccounts": "Collega account",\n "assertions.connectedAccounts": "Account collegati",\n "assertions.editsActivity": "Modifiche e attività",\n "assertions.genAI": "Trasparenza AI generativa (obbligatorio)",\n "assertions.producer": "Produttore",\n "assertions.refreshTooltip": "Aggiorna gli account collegati per visualizzare quelli che hai aggiunto nelle tue credenziali",\n "assertions.refreshing": "Aggiornamento in corso...",\n "assertions.socialMedia": "Social media",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Può contenere livelli nascosti o non visibili in questa miniatura",\n "asset.unknownImage": "Immagine senza titolo",\n "badge.invalidCredentialsTooltip": "Content Credentials non disponibili o non valide.",\n "badge.ogpTooltip": "Questa risorsa è stata modificata, ma le relative informazioni sono incomplete o mancanti.",\n "badge.validCredentialsTooltip": "Questa risorsa contiene dati di attribuzione e cronologia.",\n "com.adobe.changesBeforeLoad": "Le Content Credentials di questo file indicheranno dati di modifica o attività mancanti perché Content Credentials (Beta) è stato caricato dopo Photoshop o è stato arrestato in modo anomalo. <a>Continua a leggere</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) non supporta script o plug-in di terze parti. <a>Continua a leggere</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) non supporta in modo completo la duplicazione dei livelli in altri file. <a>Continua a leggere</a>",\n "com.adobe.enabledCAI": "Le Content Credentials di questo file indicheranno modifiche o attività mancanti. Modifiche o attività potrebbero essersi verificate su più app o dispositivi o mentre Content Credentials (Beta) era disabilitato. <a>Continua a leggere</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) non supporta script o plug-in di terze parti. <a>Continua a leggere</a>",\n "com.adobe.noCAIData": "Questo file Photoshop è stato creato senza Content Credentials (Beta), pertanto le modifiche e l\'attività verranno visualizzate come mancanti. <a>Continua a leggere</a>",\n "com.adobe.outsideProgram": "Le Content Credentials di questo file indicheranno modifiche o attività mancanti. Modifiche o attività potrebbero essersi verificate su più app o dispositivi o mentre Content Credentials (Beta) era disabilitato. <a>Continua a leggere</a>",\n "com.adobe.prerelease": "Uno o più file aggiunti al documento corrente hanno Content Credentials che non sono più valide. Le Content Credentials del documento corrente non sono interessate.",\n "com.adobe.programCrash": "Le Content Credentials di questo file indicheranno modifiche o attività mancanti perché Content Credentials (Beta) è stato caricato dopo Photoshop o si è verificato un arresto anomalo. <a>Continua a leggere</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) non supporta in modo completo gli oggetti avanzati collegati. <a>Continua a leggere</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) non supporta script o plug-in di terze parti. <a>Continua a leggere</a>",\n "com.adobe.upgradedSpec": "Le precedenti Content Credentials di questo file non sono più valide. Se esporti ora e colleghi o pubblichi le Content Credentials, verranno incluse solo le informazioni di modifica, attività e attribuzione più recenti.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Questa immagine combina più parti di contenuto. Almeno una è stata generata con uno strumento IA.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "RIEPILOGO DEI CONTENUTI",\n "controls.info": "Scegli le informazioni aggiuntive da includere nelle tue Content Credential quando esporti tramite Esporta come. <a>Continua a leggere</a>",\n "controls.learnMore": "Content Credentials (Beta) non supporta ancora alcune azioni di Photoshop, pertanto le modifiche e l\'attività verranno visualizzate come mancanti. <a>Continua a leggere</a>",\n "controls.previewCredentials": "Anteprima",\n "controls.settingsTab": "Impostazioni",\n "error.caiHelper": "Il tuo file è stato esportato ma non è stato possibile pubblicare o allegare le relative Content Credentials a causa di problemi di connessione tra Content Credentials (Beta) e un altro servizio. Riprova più tardi.",\n "error.embed.general": "Il file è stato esportato ma non è stato possibile pubblicare o collegare le relative Content Credentials a causa di un errore. È possibile provare nuovamente a effettuare l\'esportazione.",\n "error.ingredientLoadingEmbedError": "Il file è stato esportato ma non è stato possibile pubblicare o collegare Content Credentials perché le modifiche al documento erano ancora in fase di elaborazione. Attendere qualche minuto e riprovare.",\n "error.ingredientLoadingSaveError": "Non è stato possibile salvare il documento e le relative Content Credentials perché le modifiche al documento erano ancora in fase di elaborazione. Prova a salvare di nuovo con Salva con nome al termine dell\'elaborazione delle modifiche.",\n "error.offline": "Il file è stato esportato ma non è stato possibile pubblicare o collegare Content Credentials. Controlla la connessione di rete e riprova.",\n "error.permissionSaveError": "Non è stato possibile salvare le Content Credentials, probabilmente a causa di autorizzazioni insufficienti per file o cartelle.",\n "errorView.defaultError": "Impossibile abilitare Content Credentials (Beta) a causa di un errore.",\n "errorView.tryAgain": "Riprova",\n "errorView.unsupported": "Content Credentials (Beta) non supporta i documenti che utilizzano la modalità immagine bitmap o multicanale. <a>Continua a leggere</a>",\n "errorView.unsupportedPersistance": "Non è stato possibile abilitare Content Credentials (Beta), probabilmente a causa di autorizzazioni insufficienti per file o cartelle. <a>Continua a leggere</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) non riesce a trovare il file. Potrebbe essere stato eliminato, spostato o rinominato. Leggi l\'articolo “Ulteriori informazioni su Content Credentials” su helpx.adobe.com per ulteriori informazioni.",\n "fileError.asset.permission": "Content Credentials (Beta) non riesce a leggere o ad aggiornare questo file, probabilmente a causa di autorizzazioni insufficienti. Leggi l\'articolo “Ulteriori informazioni su Content Credentials” su helpx.adobe.com per ulteriori informazioni.",\n "fileError.embed.notFound": "Il file è stato esportato ma non è stato possibile pubblicare o collegare le relative Content Credentials poiché non è stato possibile trovare il file. Potrebbe essere stato eliminato, spostato o rinominato. Leggi l\'articolo “Ulteriori informazioni su Content Credentials” su helpx.adobe.com per ulteriori informazioni.",\n "fileError.embed.permission": "Il file è stato esportato ma non è stato possibile pubblicare o collegare le relative Content Credentials probabilmente a causa di autorizzazioni insufficienti. Leggi l\'articolo “Ulteriori informazioni su Content Credentials” su helpx.adobe.com per ulteriori informazioni.",\n "fileError.embed.tooLarge": "Il tuo file è stato esportato ma le sue Content Credentials erano troppo grandi per essere pubblicate. Puoi allegarle al tuo file scegliendo “Allega a file (JPG e PNG)” ed esportare nuovamente il file.",\n "info.openFile": "Apri un file per utilizzare Content Credentials (Beta).",\n "menu.disableContentCreds": "Disabilita Content Credentials",\n "menu.goToVerify": "Vai a Verifica",\n "menu.learnMore": "Ulteriori informazioni",\n "menu.manageConnectedAccounts": "Gestisci account collegati",\n "menu.openPreferences": "Preferenze",\n "menu.provideFeedback": "Fornisci feedback",\n "menu.refreshConnectedAccounts": "Aggiorna account collegati",\n "menu.showOnEnable": "Mostra all\'abilitazione",\n "offlineView.refresh": "Aggiorna",\n "panel.disabled.enableDescription": "Ottieni riconoscimento per il tuo lavoro e aumenta la trasparenza su come è stato realizzato scegliendo le informazioni da condividere nelle rispettive Content Credential.",\n "panel.disabled.genAIDisclaimer": "Le Content Credential vengono applicate automaticamente se inserisci immagini generate completamente dall\'intelligenza artificiale. <a>Continua a leggere</a>",\n "panel.enable": "Abilita Content Credentials",\n "preview.assetsUsedDetail": "Eventuali risorse utilizzate o aggiunte a questo contenuto",\n "preview.assetsUsedTitle": "INGREDIENTI",\n "preview.editsActivityDetail": "Modifiche e azioni eseguite per produrre questo contenuto",\n "preview.editsActivityTitle": "AZIONI",\n "preview.genAIModelUsed": "STRUMENTI AI USATI",\n "preview.info": "Le persone potranno visualizzare le informazioni seguenti con i contenuti.",\n "preview.none": "Nessuno",\n "preview.producedByDetail": "Nome scelto della persona che ha esportato questo contenuto",\n "preview.producedByTitle": "PRODOTTO DA",\n "preview.producedWithDetail": "Software utilizzato per creare questo contenuto",\n "preview.producedWithTitle": "APP O DISPOSITIVO UTILIZZATO",\n "preview.signedByDetail": "L\'entità che ha registrato Content Credentials (Beta)",\n "preview.signedByTitle": "RILASCIATO DA",\n "preview.socialMediaDetail": "Account social media collegati al produttore di questo contenuto",\n "preview.socialMediaTitle": "SOCIAL MEDIA ACCOUNT",\n "preview.web3Detail": "Account Web3 collegati al produttore di questo contenuto",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Si è verificato un problema. Controlla la connessione Internet per modificare le impostazioni del produttore e degli account collegati.",\n "progressive.servicesDownExisting": "Si sono verificati problemi di sincronizzazione in una o più impostazioni e le relative informazioni potrebbero non essere correnti.",\n "progressive.servicesDownNew": "Una o più impostazioni non sono disponibili perché non è stato possibile caricarle.",\n title: UE,\n "web3Account.copied": "Copiato."\n}, GE = "Content Credentials (Beta) ", VE = {\n "action.c2pa.color_adjustments.description": "トーン、彩度、カーブ、シャドウ、ハイライトなどのプロパティを調整",\n "action.c2pa.color_adjustments.label": "カラーまたは露出の編集",\n "action.c2pa.created.description": "新しいファイルまたはコンテンツを作成",\n "action.c2pa.created.label": "作成済み",\n "action.c2pa.cropped.description": "切り抜きツールを使用、表示されているコンテンツ領域の縮小または拡大",\n "action.c2pa.cropped.label": "切り抜きの編集",\n "action.c2pa.drawing.description": "鉛筆、ブラシ、消しゴム、シェイプ、パス、ペンツールなどのツールを使用",\n "action.c2pa.drawing.label": "描画の編集",\n "action.c2pa.edited.description": "その他の変更",\n "action.c2pa.edited.label": "その他の編集",\n "action.c2pa.filtered.description": "フィルター、スタイル、効果などのツールを使用して外観を変更",\n "action.c2pa.filtered.label": "フィルターまたはスタイルの編集",\n "action.c2pa.opened.description": "既存のファイルを開いた",\n "action.c2pa.opened.label": "開いた",\n "action.c2pa.orientation.description": "位置または方向を変更 (回転、反転など)",\n "action.c2pa.orientation.label": "画像方向編集",\n "action.c2pa.placed.description": "このファイルに既存のコンテンツを追加",\n "action.c2pa.placed.label": "読み込み済み",\n "action.c2pa.resized.description": "寸法またはファイルサイズを変更",\n "action.c2pa.resized.label": "サイズ変更の編集",\n "action.c2pa.unknown.description": "認識できない他の編集またはアクティビティを実行",\n "action.c2pa.unknown.label": "不明な編集またはアクティビティ",\n "action.com.adobe.3d.description": "オブジェクトやシーンを作成または変更しました",\n "action.com.adobe.3d.label": "3D 編集",\n "action.com.adobe.animation_video.description": "アニメーション、オーディオ、その他のビデオプロパティを作成または変更",\n "action.com.adobe.animation_video.label": "ビデオ編集",\n "action.com.adobe.combined_assets.description": "コンテンツの合成または並べ替え、またはコンテンツサンプリングツールを使用して編集",\n "action.com.adobe.combined_assets.label": "組み合わせ",\n "action.com.adobe.text.description": "テキストを作成または変更 (フォントファミリー、カラー、その他のスタイルを含む)",\n "action.com.adobe.text.label": "テキストの編集",\n "alert.missingActivityWarning": "一部の編集またはアクティビティは記録されていない可能性があります。<a>詳細情報</a>",\n "assertions.connectAccounts": "アカウントを連携",\n "assertions.connectedAccounts": "アカウントの連携",\n "assertions.editsActivity": "編集とアクティビティ",\n "assertions.genAI": "生成 AI の透明性 (必須)",\n "assertions.producer": "制作元",\n "assertions.refreshTooltip": "連携されているアカウントを更新して、資格情報に追加したアカウントを表示します",\n "assertions.refreshing": "更新中",\n "assertions.socialMedia": "ソーシャルメディア",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "このサムネイルに非表示または表示されていないレイヤーが含まれている可能性があります",\n "asset.unknownImage": "名称未設定画像",\n "badge.invalidCredentialsTooltip": "Content Credentials が利用できないか無効です。",\n "badge.ogpTooltip": "このアセットは編集されましたが、その情報が不完全であるか、欠落しています。",\n "badge.validCredentialsTooltip": "このアセットには帰属データと履歴データがあります。",\n "com.adobe.changesBeforeLoad": "このファイルの Content Credentials は、Content Credentials (Beta) が Photoshop の後で読み込まれたか、クラッシュしたため、編集またはアクティビティデータが欠落していることを示します。<a>詳細情報</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) は、スクリプトまたはサードパーティのプラグインをサポートしていません。<a>詳細情報</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) は、その他のファイルへのレイヤーの複製を完全にはサポートしていません。<a>詳細情報</a>",\n "com.adobe.enabledCAI": "このファイルの Content Credentials は、編集またはアクティビティが欠落していることを示します。編集またはアクティビティは、複数のアプリまたはデバイスで発生したか、Content Credentials (Beta) が無効になっている間に発生した可能性があります。<a>詳細情報</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) は、スクリプトまたはサードパーティのプラグインをサポートしていません。<a>詳細情報</a>",\n "com.adobe.noCAIData": "この Photoshop ファイルは Content Credentials (Beta) なしで作成されているため、編集とアクティビティがない状態で表示されます。<a>詳細情報</a>",\n "com.adobe.outsideProgram": "このファイルの Content Credentials は、編集またはアクティビティが欠落していることを示します。編集またはアクティビティは、複数のアプリまたはデバイスで発生したか、Content Credentials (Beta) が無効になっている間に発生した可能性があります。<a>詳細情報</a>",\n "com.adobe.prerelease": "現在のドキュメントに追加された 1 つまたは複数のファイルに、有効ではない Content Credentials が含まれています。現在のドキュメントの Content Credentials は影響を受けません。",\n "com.adobe.programCrash": "このファイルの Content Credentials は、Content Credentials (Beta) が Photoshop の後で読み込まれたか、クラッシュしたため、編集またはアクティビティが欠落していることを示します。<a>詳細情報</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) は、リンクされたスマートオブジェクトを完全にはサポートしていません。<a>詳細情報</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) は、スクリプトまたはサードパーティのプラグインをサポートしていません。<a>詳細情報</a>",\n "com.adobe.upgradedSpec": "このファイルの以前の Content Credentials は無効になりました。今すぐ書き出して Content Credentials を添付または公開すると、最新の編集、アクティビティ、および属性情報のみが含まれます。",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "この画像は複数のコンテンツを組み合わせたものです。少なくとも 1 つは AI ツールで生成されました。",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "コンテンツの概要",\n "controls.info": "「書き出し形式」から書き出すときに、Content Credentials に含める追加情報を選択します。 <a>詳細を見る</a>",\n "controls.learnMore": "Content Credentials (Beta) はまだ一部の Photoshop アクションをサポートしていないため、編集とアクティビティがない状態で表示されます。<a>詳細情報</a>",\n "controls.previewCredentials": "プレビュー",\n "controls.settingsTab": "設定",\n "error.caiHelper": "ファイルは書き出されましたが、Content Credentials (Beta) と別のサービスとの間の接続の問題により、その Content Credentials を公開または添付できませんでした。後で再試行してください。",\n "error.embed.general": "ファイルは書き出されましたが、エラーのため、その Content Credentials は公開できませんでした。書き出しを再試行してください。",\n "error.ingredientLoadingEmbedError": "ファイルは書き出されましたが、ドキュメントの変更がまだ処理中であったため、Content Credentials を公開または添付できませんでした。しばらく待ってから、再試行してください。",\n "error.ingredientLoadingSaveError": "ドキュメントへの変更がまだ処理中であったため、ドキュメントとその Content Credentials を保存できませんでした。変更の処理が完了したら、「別名で保存」を使用してもう一度保存してください。",\n "error.offline": "ファイルは書き出されましたが、その Content Credentials は公開または添付できませんでした。ネットワーク接続を確認して再試行してください。",\n "error.permissionSaveError": "Content Credentials を保存できませんでした。ファイルまたはフォルダーの権限が不十分である可能性があります。",\n "errorView.defaultError": "エラーのため、Content Credentials (Beta) を有効にできませんでした。",\n "errorView.tryAgain": "再試行",\n "errorView.unsupported": "Content Credentials (Beta) は、ビットマップまたはマルチチャネル画像モードを使用するドキュメントをサポートしていません。<a>詳細情報</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) を有効にできませんでした。ファイルまたはフォルダーの権限が不十分である可能性があります。<a>詳細情報</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) でファイルが見つかりません。削除、移動、または名前が変更された可能性があります。詳しくは、helpx.adobe.com の記事「コンテンツ認証情報について」を参照してください。",\n "fileError.asset.permission": "Content Credentials (Beta) でこのファイルの読み取りまたは更新ができません。権限が十分ではない可能性があります。詳しくは、helpx.adobe.com の記事「コンテンツ認証情報について」を参照してください。",\n "fileError.embed.notFound": "ファイルは書き出されましたが、ファイルが見つからなかったため、その Content Credentials は公開または添付できませんでした。削除、移動、または名前が変更された可能性があります。詳しくは、helpx.adobe.com の記事「Content Credentials について」を参照してください。",\n "fileError.embed.permission": "ファイルは書き出されましたが、その Content Credentials は公開または添付できませんでした。権限が十分ではない可能性があります。詳しくは、helpx.adobe.com の記事「Content Credentials について」を参照してください。",\n "fileError.embed.tooLarge": "ファイルは書き出されましたが、Content Credentials が大きすぎて公開できませんでした。代わりに、「ファイルに添付 (JPG & PNG)」を選択して再度書き出すことで、ファイルに添付することができます。",\n "info.openFile": "ファイルを開いて Content Credentials (Beta) を使用します。",\n "menu.disableContentCreds": "Content Credentials を無効にする",\n "menu.goToVerify": "「確認」に移動",\n "menu.learnMore": "詳細情報",\n "menu.manageConnectedAccounts": "連携されたアカウントを管理",\n "menu.openPreferences": "環境設定",\n "menu.provideFeedback": "フィードバックを提供",\n "menu.refreshConnectedAccounts": "連携されたアカウントを更新",\n "menu.showOnEnable": "有効時に表示",\n "offlineView.refresh": "更新",\n "panel.disabled.enableDescription": "Content Credentials で共有する情報を選択することで、自分の作品が認められ、その作品がどのように作成されたかについての透明性が高まります。",\n "panel.disabled.genAIDisclaimer": "完全に AI で生成された画像を配置すると、Content Credentials が自動的に適用されます。 <a>詳細を見る</a>",\n "panel.enable": "Content Credentials を有効にする",\n "preview.assetsUsedDetail": "このコンテンツで使用または追加されたアセット",\n "preview.assetsUsedTitle": "構成要素",\n "preview.editsActivityDetail": "このコンテンツを作成するために行われた変更とアクション",\n "preview.editsActivityTitle": "アクション",\n "preview.genAIModelUsed": "使用した AI ツール",\n "preview.info": "ユーザーはコンテンツで次の情報を表示することができます。",\n "preview.none": "なし",\n "preview.producedByDetail": "このコンテンツを書き出したユーザーの選択された名前",\n "preview.producedByTitle": "制作元",\n "preview.producedWithDetail": "このコンテンツの作成に使用されたソフトウェア",\n "preview.producedWithTitle": "使用したアプリまたはデバイス",\n "preview.signedByDetail": "Content Credentials (Beta) を記録したエンティティ",\n "preview.signedByTitle": "発行元",\n "preview.socialMediaDetail": "このコンテンツの制作者に関連するソーシャルメディアアカウント",\n "preview.socialMediaTitle": "ソーシャルメディアアカウント",\n "preview.web3Detail": "このコンテンツの制作者に関連する Web3 アカウント",\n "preview.web3Title": "WEB3",\n "progressive.offline": "問題が発生しました。制作者と関連するアカウントの設定を変更するには、インターネット接続を確認してください。",\n "progressive.servicesDownExisting": "1 つ以上の設定で同期に問題が発生したため、情報が最新ではない可能性があります。",\n "progressive.servicesDownNew": "1 つ以上の設定を読み込めなかったため、使用できません。",\n title: GE,\n "web3Account.copied": "コピーしました"\n}, qE = "Content Credentials (Beta)", KE = {\n "action.c2pa.color_adjustments.description": "톤, 채도, 곡선, 그림자 또는 하이라이트와 같은 조정된 속성",\n "action.c2pa.color_adjustments.label": "색상 또는 노출 편집",\n "action.c2pa.created.description": "새 파일 또는 콘텐츠 생성됨",\n "action.c2pa.created.label": "생성됨",\n "action.c2pa.cropped.description": "사용된 자르기 도구, 보이는 콘텐츠 영역 축소 또는 확장",\n "action.c2pa.cropped.label": "자르기 편집",\n "action.c2pa.drawing.description": "연필, 브러시, 지우개 또는 모양, 경로 또는 펜 도구와 같은 사용된 도구",\n "action.c2pa.drawing.label": "그리기 편집",\n "action.c2pa.edited.description": "기타 변경 사항 적용됨",\n "action.c2pa.edited.label": "기타 편집",\n "action.c2pa.filtered.description": "필터, 스타일 또는 효과와 같은 모양 변경에 사용된 도구",\n "action.c2pa.filtered.label": "필터 또는 스타일 편집",\n "action.c2pa.opened.description": "기존 파일 열림",\n "action.c2pa.opened.label": "열림",\n "action.c2pa.orientation.description": "변경된 위치 또는 방향 (회전, 반전 등)",\n "action.c2pa.orientation.label": "방향 편집",\n "action.c2pa.placed.description": "이 파일에 기존 콘텐츠 추가됨",\n "action.c2pa.placed.label": "가져옴",\n "action.c2pa.resized.description": "변경된 치수 또는 파일 크기",\n "action.c2pa.resized.label": "크기 조정 편집",\n "action.c2pa.unknown.description": "수행되었으나 인식할 수 없는 기타 편집 또는 활동",\n "action.c2pa.unknown.label": "알 수 없는 편집 또는 활동",\n "action.com.adobe.3d.description": "3D 오브젝트 또는 장면에 적용된 변경 사항",\n "action.com.adobe.3d.label": "3D 편집",\n "action.com.adobe.animation_video.description": "애니메이션, 오디오 또는 기타 비디오 속성에 적용된 변경 사항",\n "action.com.adobe.animation_video.label": "비디오 편집",\n "action.com.adobe.combined_assets.description": "합성 또는 재정렬된 콘텐츠 또는 콘텐츠 샘플링 도구로 편집됨",\n "action.com.adobe.combined_assets.label": "결합됨",\n "action.com.adobe.text.description": "글꼴 모음, 색상 또는 기타 스타일을 포함하여 텍스트 제작 또는 변경됨",\n "action.com.adobe.text.label": "텍스트 편집",\n "alert.missingActivityWarning": "일부 편집 또는 활동이 기록되지 않았을 수 있습니다. <a>자세히 알아보기</a>",\n "assertions.connectAccounts": "계정 연결",\n "assertions.connectedAccounts": "연결된 계정",\n "assertions.editsActivity": "편집 내용 및 활동",\n "assertions.genAI": "생성 AI 투명도(필수)",\n "assertions.producer": "제작자",\n "assertions.refreshTooltip": "연결된 계정을 새로 고침하여 자격 증명에 추가한 연결된 계정 보기",\n "assertions.refreshing": "새로 고침 중...",\n "assertions.socialMedia": "소셜 미디어",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "숨겨져 있거나 이 썸네일에 표시되지 않은 레이어가 포함될 수 있음",\n "asset.unknownImage": "제목 없는 이미지",\n "badge.invalidCredentialsTooltip": "Content Credentials를 사용할 수 없거나 유효하지 않습니다.",\n "badge.ogpTooltip": "이 에셋이 편집되었지만 해당 정보는 불완전하거나 누락되었습니다.",\n "badge.validCredentialsTooltip": "이 에셋은 속성 및 내역 데이터를 포함합니다.",\n "com.adobe.changesBeforeLoad": "Content Credentials (Beta)이 Photoshop 다음에 로드되었거나 Content Credentials (Beta)에서 충돌이 발생하여 이 파일의 자격 증명에 누락된 편집 또는 활동 데이터가 표시됩니다. <a>자세히 알아보기</a>",\n "com.adobe.cppScript": "Content Credentials (Beta)은 스크립트 또는 서드파티 플러그인을 지원하지 않습니다. <a>자세히 알아보기</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta)은 다른 파일로의 레이어 복제 기능 일부를 지원하지 않습니다. <a>자세히 알아보기</a>",\n "com.adobe.enabledCAI": "이 파일의 Content Credentials에 누락된 편집 또는 활동이 표시됩니다. 편집 또는 활동은 여러 앱 또는 디바이스에서 발생했거나 Content Credentials (Beta)이 비활성화 상태일 때 발생했을 수 있습니다. <a>자세히 알아보기</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta)은 스크립트 또는 서드파티 플러그인을 지원하지 않습니다. <a>자세히 알아보기</a>",\n "com.adobe.noCAIData": "이 Photoshop 파일은 Content Credentials (Beta)을 사용하지 않고 생성되었으므로 편집 내용 및 활동이 누락된 것으로 표시됩니다. <a>자세히 알아보기</a>",\n "com.adobe.outsideProgram": "이 파일의 Content Credentials에 누락된 편집 또는 활동이 표시됩니다. 편집 또는 활동은 여러 앱 또는 디바이스에서 발생했거나 Content Credentials (Beta)이 비활성화 상태일 때 발생했을 수 있습니다. <a>자세히 알아보기</a>",\n "com.adobe.prerelease": "현재 문서에 추가된 하나 이상의 파일에 더 이상 유효하지 않은 Content Credentials가 있습니다. 현재 문서의 Content Credentials은 영향을 받지 않습니다.",\n "com.adobe.programCrash": "Content Credentials (Beta)이 Photoshop 다음에 로드되었거나 Content Credentials (Beta)에서 충돌이 발생하여 이 파일의 자격 증명에 누락된 편집 또는 활동이 표시됩니다. <a>자세히 알아보기</a>",\n "com.adobe.smartObject": "Content Credentials (Beta)은 일부 연결된 스마트 오브젝트를 지원하지 않습니다. <a>자세히 알아보기</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta)은 스크립트 또는 서드파티 플러그인을 지원하지 않습니다. <a>자세히 알아보기</a>",\n "com.adobe.upgradedSpec": "이 파일의 이전 Content Credentials은 더 이상 유효하지 않습니다. 지금 내보내고 Content Credentials를 첨부하거나 게시하면 가장 최근의 편집, 활동 및 속성 정보만 포함됩니다.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "이 이미지는 여러 콘텐츠의 결합으로 이루어져 있습니다. 적어도 하나 이상이 AI 도구로 생성되었습니다.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "콘텐츠 요약",\n "controls.info": "[다음으로 내보내기] 옵션을 통해 내보낼 때 Content Credentials에 포함할 추가 정보를 선택하세요. <a>자세히 알아보기</a>",\n "controls.learnMore": "Content Credentials (Beta)이 아직 일부 Photoshop 작업을 지원하지 않으므로 편집 내용 및 활동이 누락된 것으로 표시됩니다. <a>자세히 알아보기</a>",\n "controls.previewCredentials": "미리보기",\n "controls.settingsTab": "설정",\n "error.caiHelper": "파일을 내보냈지만 Content Credentials (Beta) 및 다른 서비스 간 연결 문제로 인해 해당 Content Credentials를 게시 또는 첨부할 수 없습니다. 나중에 다시 시도하십시오.",\n "error.embed.general": "파일을 내보냈지만 오류로 인해 해당 Content Credentials를 게시하거나 첨부하지 못했습니다. 내보내기를 다시 시도해 보십시오.",\n "error.ingredientLoadingEmbedError": "파일을 내보냈지만 문서 변경이 아직 처리 중이므로 Content Credentials를 게시하거나 첨부하지 못했습니다. 잠시 후 다시 시도해 주십시오.",\n "error.ingredientLoadingSaveError": "문서에 대한 변경 사항이 아직 처리 중이라 문서 및 Content Credentials를 저장할 수 없습니다. 변경 처리가 완료되면 다른 “이름으로 저장” 옵션을 사용하여 다시 저장해 보십시오.",\n "error.offline": "파일을 내보냈지만 해당 Content Credentials를 게시하거나 첨부하지 못했습니다. 네트워크 연결을 확인하고 다시 시도해 주십시오.",\n "error.permissionSaveError": "파일 또는 폴더 권한이 부족하여 Content Credentials를 저장할 수 없습니다.",\n "errorView.defaultError": "오류로 인해 Content Credentials (Beta)을 활성화할 수 없습니다.",\n "errorView.tryAgain": "다시 시도",\n "errorView.unsupported": "Content Credentials (Beta)은 비트맵 또는 다채널 이미지 모드를 사용하는 문서를 지원하지 않습니다. <a>자세히 알아보기</a>",\n "errorView.unsupportedPersistance": "파일 또는 폴더 권한이 부족하여 Content Credentials (Beta)을 활성화할 수 없습니다. <a>자세히 알아보기</a>",\n "fileError.asset.notFound": "Content Credentials(Beta)가 파일을 찾을 수 없습니다. 파일이 삭제되었거나, 이동했거나, 이름이 변경되었을 수 있습니다. 자세히 알아보려면 helpx.adobe.com에서 “Content Credentials에 대해 알아보기” 문서를 살펴보십시오.",\n "fileError.asset.permission": "권한 부족으로 인해 Content Credentials(Beta)가 해당 파일을 읽거나 업데이트할 수 없습니다. 자세히 알아보려면 helpx.adobe.com에서 “Content Credentials에 대해 알아보기” 문서를 살펴보십시오.",\n "fileError.embed.notFound": "파일을 내보냈지만 파일을 찾을 수 없어 해당 Content Credentials를 게시하거나 첨부하지 못했습니다. 파일이 삭제되었거나, 이동했거나, 이름이 변경되었을 수 있습니다. 자세히 알아보려면 helpx.adobe.com에서 “Content Credentials에 대해 알아보기” 문서를 살펴보십시오.",\n "fileError.embed.permission": "파일을 내보냈지만 권한 부족으로 인해 해당 Content Credentials를 게시하거나 첨부하지 못했습니다. 자세히 알아보려면 helpx.adobe.com에서 “Content Credentials에 대해 알아보기” 문서를 살펴보십시오.",\n "fileError.embed.tooLarge": \'파일을 내보냈으나 해당 Content Credentials가 너무 커서 게시할 수 없습니다. 대신 "파일에 첨부(JPG 및 PNG)"를 선택하고 다시 내보내는 방식으로 파일에 첨부하실 수 있습니다.\',\n "info.openFile": "Content Credentials (Beta)을 사용하려면 파일을 엽니다.",\n "menu.disableContentCreds": "Content Credentials 비활성화",\n "menu.goToVerify": "확인하러 가기",\n "menu.learnMore": "자세히 알아보기",\n "menu.manageConnectedAccounts": "연결된 계정 관리",\n "menu.openPreferences": "환경 설정",\n "menu.provideFeedback": "피드백 제공",\n "menu.refreshConnectedAccounts": "연결된 계정 새로 고침",\n "menu.showOnEnable": "활성화 시 표시",\n "offlineView.refresh": "새로 고침",\n "panel.disabled.enableDescription": "Content Credentials에서 공유할 정보를 선택하여 내 작품이 돋보이도록 하고 제작 방식에 대한 투명성을 높이세요.",\n "panel.disabled.genAIDisclaimer": "AI로 생성된 이미지를 배치하면 Content Credentials가 자동으로 적용됩니다. <a>자세히 알아보기</a>",\n "panel.enable": "Content Credentials 활성화",\n "preview.assetsUsedDetail": "이 콘텐츠에 사용 또는 추가된 에셋",\n "preview.assetsUsedTitle": "요소",\n "preview.editsActivityDetail": "이 콘텐츠 제작을 위해 적용된 변경 내용 및 취해진 조치",\n "preview.editsActivityTitle": "작업",\n "preview.genAIModelUsed": "AI 도구 사용됨",\n "preview.info": "사용자가 내 콘텐츠와 함께 다음 정보를 조회할 수 있습니다.",\n "preview.none": "없음",\n "preview.producedByDetail": "이 콘텐츠를 내보낸 사용자의 선택된 이름",\n "preview.producedByTitle": "제작자",\n "preview.producedWithDetail": "이 콘텐츠 제작에 사용된 소프트웨어",\n "preview.producedWithTitle": "사용된 앱 또는 디바이스",\n "preview.signedByDetail": "Content Credentials (Beta)을 기록한 엔티티",\n "preview.signedByTitle": "발행자",\n "preview.socialMediaDetail": "이 콘텐츠의 제작자와 연결된 소셜 미디어 계정",\n "preview.socialMediaTitle": "소셜 미디어 계정",\n "preview.web3Detail": "이 콘텐츠의 제작자와 연결된 Web3 계정",\n "preview.web3Title": "WEB3",\n "progressive.offline": "문제가 발생했습니다. 제작자 및 연결된 계정 설정을 수정하려면 인터넷 연결을 확인하세요.",\n "progressive.servicesDownExisting": "하나 이상의 설정에서 동기화 문제가 발생하여 해당 정보가 최신이 아닐 수 있습니다.",\n "progressive.servicesDownNew": "하나 이상의 설정을 로드할 수 없어 이를 사용할 수 없습니다.",\n title: qE,\n "web3Account.copied": "복사되었습니다."\n}, ZE = "Content Credentials (Beta)", YE = {\n "action.c2pa.color_adjustments.description": "Justerte egenskaper som tone, metning, kurver, skygger eller høylys",\n "action.c2pa.color_adjustments.label": "Farge- eller eksponeringsredigeringer",\n "action.c2pa.created.description": "Opprettet en ny fil eller nytt innhold",\n "action.c2pa.created.label": "Opprettet",\n "action.c2pa.cropped.description": "Brukte beskjæringsverktøy for å redusere eller utvide synlig innholdsområde",\n "action.c2pa.cropped.label": "Beskjæringsredigeringer",\n "action.c2pa.drawing.description": "Brukte verktøy som blyanter, pensler, viskelær eller form-, bane- eller pennverktøy",\n "action.c2pa.drawing.label": "Tegneredigeringer",\n "action.c2pa.edited.description": "Gjorde andre endringer",\n "action.c2pa.edited.label": "Andre redigeringer",\n "action.c2pa.filtered.description": "Brukte verktøy som filtre, stiler eller effekter for å endre utseende",\n "action.c2pa.filtered.label": "Filter- eller stilredigeringer",\n "action.c2pa.opened.description": "Åpnet en eksisterende fil",\n "action.c2pa.opened.label": "Åpnet",\n "action.c2pa.orientation.description": "Endret posisjon eller retning (rotert, snudd osv.)",\n "action.c2pa.orientation.label": "Retnings- redigeringer",\n "action.c2pa.placed.description": "La til eksisterende innhold i denne filen",\n "action.c2pa.placed.label": "Importert",\n "action.c2pa.resized.description": "Endret dimensjoner eller filstørrelse",\n "action.c2pa.resized.label": "Størrelsesendringer",\n "action.c2pa.unknown.description": "Utførte andre redigeringer eller aktiviteter som ikke gjenkjennes",\n "action.c2pa.unknown.label": "Ukjent endring eller aktivitet",\n "action.com.adobe.3d.description": "Opprettet eller gjorde endringer i 3D-objekter eller scener",\n "action.com.adobe.3d.label": "3D-redigeringer",\n "action.com.adobe.animation_video.description": "Opprettet eller gjorde endringer i animasjons-, lyd- eller andre videoegenskaper",\n "action.com.adobe.animation_video.label": "Videoredigeringer",\n "action.com.adobe.combined_assets.description": "Satte sammen eller omorganiserte innhold, eller redigerte med innholdsprøveverktøy",\n "action.com.adobe.combined_assets.label": "Kombinerte",\n "action.com.adobe.text.description": "Skrev eller gjorde endringer i tekst, inkludert skriftfamilie, farge eller andre stiler",\n "action.com.adobe.text.label": "Tekstredigeringer",\n "alert.missingActivityWarning": "Deler av redigeringene eller aktiviteten er kanskje ikke registrert. <a>Finn ut mer</a>",\n "assertions.connectAccounts": "Koble til kontoer",\n "assertions.connectedAccounts": "Tilkoblede kontoer",\n "assertions.editsActivity": "Redigeringer og aktivitet",\n "assertions.genAI": "Åpenhet om generativ KI (påkrevd)",\n "assertions.producer": "Produsent",\n "assertions.refreshTooltip": "Oppdater tilkoblede kontoer for å se de du har lagt til i opplysningene dine",\n "assertions.refreshing": "Oppdaterer ...",\n "assertions.socialMedia": "Sosiale medier",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Kan inneholde lag som er skjult eller ikke synlig i dette miniatyrbildet",\n "asset.unknownImage": "Bilde uten tittel",\n "badge.invalidCredentialsTooltip": "Content Credentials er utilgjengelig eller ugyldig.",\n "badge.ogpTooltip": "Denne ressursen ble redigert, men informasjonen for den er ufullstendig eller mangler.",\n "badge.validCredentialsTooltip": "Denne ressursen har attribusjons- og historikkdata.",\n "com.adobe.changesBeforeLoad": "Filens Content Credentials vil indikere manglende redigerings- eller aktivitetsdata fordi Content Credentials (Beta) ble lastet inn etter Photoshop, eller krasjet. <a>Mer informasjon</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) støtter ikke skript eller plugin-moduler fra tredjepart. <a>Mer informasjon</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) støtter ikke fullt ut duplisering av lag til andre filer. <a>Mer informasjon</a>",\n "com.adobe.enabledCAI": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet. Endringer eller aktivitet kan ha skjedd i flere applikasjoner eller på ulike enheter, eller mens Content Credentials (Beta) var slått av. <a>Mer informasjon</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) støtter ikke skript eller plugin-moduler fra tredjepart. <a>Mer informasjon</a>",\n "com.adobe.noCAIData": "Denne Photoshop-filen ble opprettet uten Content Credentials (Beta), så endringer og aktivitet blir vist som manglende. <a>Mer informasjon</a>",\n "com.adobe.outsideProgram": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet. Endringer eller aktivitet kan ha skjedd i flere applikasjoner eller på ulike enheter, eller mens Content Credentials (Beta) var slått av. <a>Mer informasjon</a>",\n "com.adobe.prerelease": "Én eller flere filer som er lagt til i det gjeldende dokumentet, inneholder Content Credentials som ikke lenger er gyldig. Content Credentials til det gjeldende dokumentet påvirkes ikke.",\n "com.adobe.programCrash": "Filens Content Credentials vil indikere manglende redigeringer eller aktivitet fordi Content Credentials (Beta) ble lastet inn etter Photoshop, eller krasjet. <a>Mer informasjon</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) støtter ikke koblede smartobjekter fullt ut. <a>Mer informasjon</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) støtter ikke skript eller plugin-moduler fra tredjepart. <a>Mer informasjon</a>",\n "com.adobe.upgradedSpec": "Tidligere Content Credentials for denne filen er ikke lenger gyldig. Hvis du eksporterer nå og legger ved eller publiserer Content Credentials, vil bare den nyeste informasjonen om redigering, aktivitet og attribusjon bli inkludert.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Dette bildet består av flere ulike deler. Minst én av dem ble generert med et KI-verktøy.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "INNHOLDSSAMMENDRAG",\n "controls.info": "Velg tilleggsinformasjon som skal inkluderes i Content Credentials når verket eksporteres via Eksporter som. <a>Mer informasjon</a>",\n "controls.learnMore": "Content Credentials (Beta) støtter ikke alle Photoshop-aktiviteter ennå, så endringer og aktivitet blir vist som manglende. <a>Mer informasjon</a>",\n "controls.previewCredentials": "Forhåndsvis",\n "controls.settingsTab": "Innstillinger",\n "error.caiHelper": "Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved på grunn av tilkoblingsproblemer mellom Content Credentials (Beta) og en annen tjeneste. Prøv igjen senere.",\n "error.embed.general": "Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved på grunn av en feil. Du kan prøve på nytt å eksportere.",\n "error.ingredientLoadingEmbedError": "Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved fordi dokumentendringer fortsatt ble behandlet. Vent et øyeblikk og prøv igjen.",\n "error.ingredientLoadingSaveError": "Dokumentet ditt og tilhørende Content Credentials kunne ikke lagres, da endringene i dokumentet fortsatt ble behandlet. Prøv å lagre på nytt med Lagre som så snart endringene er ferdigbehandlet.",\n "error.offline": "Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved. Kontroller nettverkstilkoblingen og prøv igjen.",\n "error.permissionSaveError": "Content Credentials kunne ikke lagres. Årsaken kan være utilstrekkelige fil- eller mappetillatelser.",\n "errorView.defaultError": "Content Credentials (Beta) kunne ikke aktiveres på grunn av en feil.",\n "errorView.tryAgain": "Prøv på nytt",\n "errorView.unsupported": "Content Credentials (Beta) støtter ikke dokumenter som bruker bitmap- eller flerkanalsbildemodus. <a>Mer informasjon</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) kunne ikke aktiveres, muligens på grunn av utilstrekkelige fil- eller mappetillatelser. <a>Mer informasjon</a>",\n "fileError.asset.notFound": \'Content Credentials (Beta) finner ikke filen din. Den kan ha blitt slettet, flyttet eller gitt nytt navn. Les artikkelen "Finn ut mer om Content Credentials" på helpx.adobe.com hvis du vil vite mer.\',\n "fileError.asset.permission": \'Content Credentials (Beta) kan ikke lese eller oppdatere denne filen, muligens fordi tillatelsene er utilstrekkelige. Les artikkelen "Finn ut mer om Content Credentials" på helpx.adobe.com hvis du vil vite mer.\',\n "fileError.embed.notFound": \'Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved, da filen ikke ble funnet. Den kan ha blitt slettet, flyttet eller gitt nytt navn. Les artikkelen "Mer informasjon om Content Credentials" på helpx.adobe.com hvis du vil vite mer.\',\n "fileError.embed.permission": \'Filen din ble eksportert, men tilhørende Content Credentials kunne ikke publiseres eller legges ved. Årsaken kan være utilstrekkelige tillatelser. Les artikkelen "Mer informasjon om Content Credentials" på helpx.adobe.com hvis du vil vite mer.\',\n "fileError.embed.tooLarge": \'Filen din ble eksportert, men Content Credentials var for omfattende til å publiseres. Du kan i stedet legge dem ved filen din ved å velge "Legg ved filer (JPG og PNG)" og eksportere på nytt.\',\n "info.openFile": "Åpne en fil for å bruke Content Credentials (Beta).",\n "menu.disableContentCreds": "Deaktiver Content Credentials",\n "menu.goToVerify": "Gå til Bekreft",\n "menu.learnMore": "Finn ut mer",\n "menu.manageConnectedAccounts": "Administrer tilkoblede kontoer",\n "menu.openPreferences": "Innstillinger",\n "menu.provideFeedback": "Gi tilbakemelding",\n "menu.refreshConnectedAccounts": "Oppdater tilkoblede kontoer",\n "menu.showOnEnable": "Vis ved aktivering",\n "offlineView.refresh": "Oppdater",\n "panel.disabled.enableDescription": "Bli anerkjent for arbeidet ditt og øk åpenheten om hvordan det ble laget, ved å velge å dele informasjon i Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials brukes automatisk hvis du legger inn fullstendig KI-genererte bilder. <a>Mer informasjon</a>",\n "panel.enable": "Aktiver Content Credentials",\n "preview.assetsUsedDetail": "Ressurser som er brukt eller lagt til i dette innholdet",\n "preview.assetsUsedTitle": "BESTANDDELER",\n "preview.editsActivityDetail": "Endringer og handlinger for å produsere dette innholdet",\n "preview.editsActivityTitle": "HANDLINGER",\n "preview.genAIModelUsed": "KI-VERKTØY BRUKT",\n "preview.info": "Folk vil kunne se følgende informasjon sammen med innholdet ditt.",\n "preview.none": "Ingen",\n "preview.producedByDetail": "Valgt navn på personen som eksporterte dette innholdet",\n "preview.producedByTitle": "PRODUSERT AV",\n "preview.producedWithDetail": "Programvare som er brukt til å lage dette innholdet",\n "preview.producedWithTitle": "APPLIKASJON ELLER ENHET SOM ER BRUKT",\n "preview.signedByDetail": "Enheten som registrerte Content Credentials (Beta)",\n "preview.signedByTitle": "UTSTEDT AV",\n "preview.socialMediaDetail": "Sosiale mediekontoer knyttet til produsenten av dette innholdet",\n "preview.socialMediaTitle": "KONTOER I SOSIALE MEDIER",\n "preview.web3Detail": "Web3-kontoer knyttet til produsenten av dette innholdet",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Noe gikk galt. Kontroller nettilkoblingen din for å endre innstillingene for produsent og tilkoblede kontoer.",\n "progressive.servicesDownExisting": "Én eller flere innstillinger hadde problemer med å synkronisere, og vil kanskje inneholde ikke-oppdatert informasjon.",\n "progressive.servicesDownNew": "Én eller flere innstillinger kunne ikke lastes inn og er derfor ikke tilgjengelige.",\n title: ZE,\n "web3Account.copied": "Kopiert!"\n}, JE = "Content Credentials (Beta)", XE = {\n "action.c2pa.color_adjustments.description": "Eigenschappen zoals tint, verzadiging, curven, schaduwen of hooglichten aangepast",\n "action.c2pa.color_adjustments.label": "Kleur- of belichtingsbewerkingen",\n "action.c2pa.created.description": "Een nieuw bestand of content gemaakt",\n "action.c2pa.created.label": "Gemaakt",\n "action.c2pa.cropped.description": "Uitsnedegereedschappen gebruikt om het zichtbare deel van de content te beperken of uit te breiden",\n "action.c2pa.cropped.label": "Uitsnedebewerkingen",\n "action.c2pa.drawing.description": "Gereedschappen gebruikt zoals potloden, penselen, gummetjes, pennen of vorm- of padgereedschappen",\n "action.c2pa.drawing.label": "Tekenbewerkingen",\n "action.c2pa.edited.description": "Andere wijzigingen aangebracht",\n "action.c2pa.edited.label": "Andere bewerkingen",\n "action.c2pa.filtered.description": "Gereedschappen zoals filters, stijlen of effecten gebruikt om het uiterlijk te veranderen",\n "action.c2pa.filtered.label": "Filter- of stijlbewerkingen",\n "action.c2pa.opened.description": "Een bestaand bestand geopend",\n "action.c2pa.opened.label": "Geopend",\n "action.c2pa.orientation.description": "Positie of stand gewijzigd (gedraaid, gespiegeld etc.)",\n "action.c2pa.orientation.label": "Afdrukstand bewerkingen",\n "action.c2pa.placed.description": "Bestaande content aan dit bestand toegevoegd",\n "action.c2pa.placed.label": "Geïmporteerd",\n "action.c2pa.resized.description": "Afmetingen of bestandsgrootte gewijzigd",\n "action.c2pa.resized.label": "Formaatbewerkingen",\n "action.c2pa.unknown.description": "Andere bewerkingen of activiteiten uitgevoerd die niet konden worden herkend",\n "action.c2pa.unknown.label": "Onbekende bewerkingen of activiteiten",\n "action.com.adobe.3d.description": "3D-objecten of -scènes gemaakt of gewijzigd",\n "action.com.adobe.3d.label": "3D-bewerkingen",\n "action.com.adobe.animation_video.description": "Animatie, audio of andere video-eigenschappen gemaakt of gewijzigd",\n "action.com.adobe.animation_video.label": "Videobewerkingen",\n "action.com.adobe.combined_assets.description": "Content samengesteld of opnieuw geordend of bewerkt met tools voor content-sampling",\n "action.com.adobe.combined_assets.label": "Gecombineerd",\n "action.com.adobe.text.description": "Tekst gemaakt of gewijzigd, inclusief lettertypefamilie, kleur of andere stijlen",\n "action.com.adobe.text.label": "Tekstbewerkingen",\n "alert.missingActivityWarning": "Sommige bewerkingen of activiteiten zijn mogelijk niet vastgelegd. <a>Meer informatie</a>",\n "assertions.connectAccounts": "Accounts verbinden",\n "assertions.connectedAccounts": "Verbonden accounts",\n "assertions.editsActivity": "Bewerkingen en activiteiten",\n "assertions.genAI": "Generatieve AI-transparantie (vereist)",\n "assertions.producer": "Maker",\n "assertions.refreshTooltip": "Vernieuw verbonden accounts om de accounts weer te geven die je hebt toegevoegd in je referenties",\n "assertions.refreshing": "Vernieuwen...",\n "assertions.socialMedia": "Social media",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Kan lagen bevatten die verborgen of niet zichtbaar zijn in deze miniatuur",\n "asset.unknownImage": "Naamloze afbeelding",\n "badge.invalidCredentialsTooltip": "Content Credentials niet beschikbaar of ongeldig.",\n "badge.ogpTooltip": "Dit asset is bewerkt, maar de informatie ervoor is onvolledig of ontbreekt.",\n "badge.validCredentialsTooltip": "Dit asset bevat gegevens over naamsvermelding en geschiedenis.",\n "com.adobe.changesBeforeLoad": "De Content Credentials van dit bestand geven aan dat gegevens over bewerkingen of activiteiten ontbreken doordat Content Credentials (Beta) is geladen na Photoshop of is gecrasht. <a>Meer informatie</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) ondersteunt geen scripts of plug-ins van derden. <a>Meer informatie</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) biedt geen volledige ondersteuning voor het dupliceren van lagen naar andere bestanden. <a>Meer informatie</a>",\n "com.adobe.enabledCAI": "De Content Credentials van dit bestand geven aan dat bewerkingen of activiteiten ontbreken. Er zijn mogelijk bewerkingen of activiteiten uitgevoerd in meerdere apps of op meerdere apparaten of terwijl Content Credentials (Beta) was uitgeschakeld. <a>Meer informatie</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) ondersteunt geen scripts of plug-ins van derden. <a>Meer informatie</a>",\n "com.adobe.noCAIData": "Dit Photoshop-bestand is gemaakt zonder Content Credentials (Beta), waardoor bewerkingen en activiteiten worden weergegeven als ontbrekend. <a>Meer informatie</a>",\n "com.adobe.outsideProgram": "De Content Credentials van dit bestand geven aan dat bewerkingen of activiteiten ontbreken. Er zijn mogelijk bewerkingen of activiteiten uitgevoerd in meerdere apps of op meerdere apparaten of terwijl Content Credentials (Beta) was uitgeschakeld. <a>Meer informatie</a>",\n "com.adobe.prerelease": "Een of meer bestanden die aan het huidige document zijn toegevoegd, hebben Content Credentials die niet langer geldig zijn. Dit is niet van invloed op de Content Credentials van het huidige document.",\n "com.adobe.programCrash": "De Content Credentials van dit bestand geven aan dat bewerkingen of activiteiten ontbreken doordat Content Credentials (Beta) is geladen na Photoshop of is gecrasht. <a>Meer informatie</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) biedt geen volledige ondersteuning voor gekoppelde slimme objecten. <a>Meer informatie</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) ondersteunt geen scripts of plug-ins van derden. <a>Meer informatie</a>",\n "com.adobe.upgradedSpec": "De vorige Content Credentials van dit bestand zijn niet langer geldig. Als je nu exporteert en Content Credentials bijvoegt of publiceert, worden alleen de meest recente gegevens over bewerkingen, activiteiten en naamsvermelding opgenomen.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Deze afbeelding combineert meerdere soorten content. Minstens één ervan is gegenereerd met een AI-tool.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "SAMENVATTING CONTENT",\n "controls.info": "Kies aanvullende informatie die je wilt opnemen in je Content Credentials wanneer je exporteert via Exporteren als. <a>Meer informatie</a>",\n "controls.learnMore": "Content Credentials (Beta) ondersteunt sommige Photoshop-handelingen nog niet, waardoor bewerkingen en activiteiten worden weergegeven als ontbrekend. <a>Meer informatie</a>",\n "controls.previewCredentials": "Voorvertoning",\n "controls.settingsTab": "Instellingen",\n "error.caiHelper": "Je bestand is geëxporteerd, maar de Content Credentials kunnen niet worden gepubliceerd of bijgevoegd vanwege verbindingsproblemen tussen Content Credentials (Beta) en een andere service. Probeer het later opnieuw.",\n "error.embed.general": "Je bestand is geëxporteerd, maar de Content Credentials kunnen door een fout niet worden gepubliceerd of bijgevoegd. Probeer het bestand opnieuw te exporteren.",\n "error.ingredientLoadingEmbedError": "Je bestand is geëxporteerd, maar de Content Credentials kunnen niet worden gepubliceerd of bijgevoegd omdat wijzigingen in het document nog worden verwerkt. Wacht even en probeer het opnieuw.",\n "error.ingredientLoadingSaveError": "Je document en de Content Credentials ervan kunnen niet worden opgeslagen omdat de wijzigingen in het document nog worden verwerkt. Probeer opnieuw op te slaan met Opslaan als zodra de wijzigingen zijn verwerkt.",\n "error.offline": "Je bestand is geëxporteerd, maar de Content Credentials kunnen niet worden gepubliceerd of bijgevoegd. Controleer de netwerkverbinding en probeer het opnieuw.",\n "error.permissionSaveError": "Content Credentials kunnen niet worden opgeslagen, mogelijk vanwege onvoldoende bestands- of mapmachtigingen.",\n "errorView.defaultError": "Content Credentials (Beta) kan vanwege een fout niet worden ingeschakeld.",\n "errorView.tryAgain": "Probeer het opnieuw",\n "errorView.unsupported": "Content Credentials (Beta) biedt geen ondersteuning voor documenten die de bitmapmodus of meerkanaals afbeeldingsmodus gebruiken. <a>Meer informatie</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) kan niet worden ingeschakeld, mogelijk vanwege onvoldoende bestands- of mapmachtigingen. <a>Meer informatie</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) kan je bestand niet vinden. Het is mogelijk verwijderd of verplaatst of de naam is gewijzigd. Lees het artikel \'Meer informatie over Content Credentials\' op helpx.adobe.com voor meer informatie.",\n "fileError.asset.permission": "Content Credentials (Beta) kan dit bestand niet lezen of bijwerken, mogelijk wegens onvoldoende rechten. Lees het artikel \'Meer informatie over Content Credentials\' op helpx.adobe.com voor meer informatie.",\n "fileError.embed.notFound": "Je bestand is geëxporteerd met de Content Credentials kunnen niet worden gepubliceerd of bijgevoegd omdat het bestand niet kan bevonden. Het bestand is mogelijk verwijderd of verplaatst of de naam is gewijzigd. Lees het artikel \'Meer informatie over Content Credentials\' op helpx.adobe.com voor meer informatie.",\n "fileError.embed.permission": "Je bestand is geëxporteerd maar de Content Credentials kunnen niet worden gepubliceerd of bijgevoegd, mogelijk wegens onvoldoende rechten. Lees het artikel \'Meer informatie over Content Credentials\' op helpx.adobe.com voor meer informatie.",\n "fileError.embed.tooLarge": "Je bestand is geëxporteerd, maar de Content Credentials ervan zijn te groot om te publiceren. Je kunt ze aan je bestand toevoegen door \'Bijvoegen bij bestand (JPG en PNG)\' te kiezen en opnieuw te exporteren.",\n "info.openFile": "Open een bestand om Content Credentials (Beta) te gebruiken.",\n "menu.disableContentCreds": "Content Credentials uitschakelen",\n "menu.goToVerify": "Naar Verifiëren",\n "menu.learnMore": "Meer informatie",\n "menu.manageConnectedAccounts": "Verbonden accounts beheren",\n "menu.openPreferences": "Voorkeuren",\n "menu.provideFeedback": "Feedback geven",\n "menu.refreshConnectedAccounts": "Verbonden accounts vernieuwen",\n "menu.showOnEnable": "Weergeven bij inschakelen",\n "offlineView.refresh": "Vernieuwen",\n "panel.disabled.enableDescription": "Krijg erkenning voor je werk en vergroot de transparantie over hoe het tot stand is gekomen door informatie te delen in de Content Credentials ervan.",\n "panel.disabled.genAIDisclaimer": "Content Credentials worden automatisch toegepast als je volledig door AI gegenereerde afbeeldingen plaatst. <a>Meer informatie</a>",\n "panel.enable": "Content Credentials inschakelen",\n "preview.assetsUsedDetail": "Assets die zijn gebruikt of toegevoegd aan deze content",\n "preview.assetsUsedTitle": "INGREDIËNTEN",\n "preview.editsActivityDetail": "Wijzigingen en acties die zijn uitgevoerd om deze content te maken",\n "preview.editsActivityTitle": "ACTIES",\n "preview.genAIModelUsed": "GEBRUIKTE AI-TOOLS",\n "preview.info": "Anderen kunnen de volgende informatie met je content bekijken.",\n "preview.none": "Geen",\n "preview.producedByDetail": "Gekozen naam van de persoon die deze content heeft geëxporteerd",\n "preview.producedByTitle": "GEMAAKT DOOR",\n "preview.producedWithDetail": "Software die is gebruikt om deze content te maken",\n "preview.producedWithTitle": "GEBRUIKTE APPS OF APPARATEN",\n "preview.signedByDetail": "De entiteit die de Content Credentials (Beta) heeft vastgelegd",\n "preview.signedByTitle": "UITGEGEVEN DOOR",\n "preview.socialMediaDetail": "Socialmedia-accounts die zijn verbonden met de maker van deze content",\n "preview.socialMediaTitle": "SOCIALMEDIA-ACCOUNTS",\n "preview.web3Detail": "Web3-accounts die zijn verbonden met de maker van deze content",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Er is iets misgegaan. Controleer de internetverbinding om instellingen voor de maker en verbonden accounts te wijzigen.",\n "progressive.servicesDownExisting": "Er is een probleem met de synchronisatie van een of meer instellingen en informatie hierover is mogelijk niet actueel.",\n "progressive.servicesDownNew": "Een of meer instellingen zijn niet beschikbaar omdat ze niet kunnen worden geladen.",\n title: JE,\n "web3Account.copied": "Gekopieerd!"\n}, QE = "Content Credentials (Beta)", eT = {\n "action.c2pa.color_adjustments.description": "Zmodyfikowano właściwości, takie jak tonacja, nasycenie, krzywe, cienie lub światła",\n "action.c2pa.color_adjustments.label": "Wprowadzono zmiany kolorów lub ekspozycji",\n "action.c2pa.created.description": "Utworzono nowy plik lub zawartość",\n "action.c2pa.created.label": "Utworzono",\n "action.c2pa.cropped.description": "Użyto narzędzi do kadrowania w celu zmniejszenia lub rozszerzenia widocznego obszaru zawartości",\n "action.c2pa.cropped.label": "Modyfikacje polegające na kadrowaniu",\n "action.c2pa.drawing.description": "Użyto takich narzędzi, jak ołówki, pędzle i gumki albo narzędzi kształtów, ścieżek lub pióra",\n "action.c2pa.drawing.label": "Modyfikacje rysunkowe",\n "action.c2pa.edited.description": "Wprowadzono inne zmiany",\n "action.c2pa.edited.label": "Inne modyfikacje",\n "action.c2pa.filtered.description": "Użyto narzędzi, takich jak filtry, style lub efekty, aby zmienić wygląd",\n "action.c2pa.filtered.label": "Edycje filtrów lub stylów",\n "action.c2pa.opened.description": "Otwarto wcześniej istniejący plik",\n "action.c2pa.opened.label": "Otwarto",\n "action.c2pa.orientation.description": "Zmieniono pozycję lub orientację (obrócono, odwrócono itp.)",\n "action.c2pa.orientation.label": "Orientacja modyfikacje",\n "action.c2pa.placed.description": "Dodano wcześniej istniejącą zawartość do tego pliku",\n "action.c2pa.placed.label": "Zaimportowano",\n "action.c2pa.resized.description": "Zmieniono wymiary lub rozmiar pliku",\n "action.c2pa.resized.label": "Modyfikacje polegające na zmianie rozmiaru",\n "action.c2pa.unknown.description": "Dokonano innych zmian lub wykonano operacje, których nie można rozpoznać",\n "action.c2pa.unknown.label": "Nieznane zmiany lub operacje",\n "action.com.adobe.3d.description": "Utworzono lub zmodyfikowano obiekty lub sceny 3D",\n "action.com.adobe.3d.label": "Modyfikacje 3D",\n "action.com.adobe.animation_video.description": "Utworzono lub zmodyfikowano właściwości animacji, audio lub inne elementy wideo",\n "action.com.adobe.animation_video.label": "Modyfikacje wideo",\n "action.com.adobe.combined_assets.description": "Zmodyfikowano kolejność zawartości, połączono ją w kompozycję lub zmodyfikowano ją za pomocą narzędzi do próbkowania zawartości",\n "action.com.adobe.combined_assets.label": "Połączono",\n "action.com.adobe.text.description": "Utworzono tekst lub wprowadzono w nim zmiany, w tym modyfikacje rodziny czcionek, koloru lub innych stylów",\n "action.com.adobe.text.label": "Modyfikacje tekstu",\n "alert.missingActivityWarning": "Niektóre zmiany lub działania mogły nie zostać zarejestrowane. <a>Więcej informacji</a>",\n "assertions.connectAccounts": "Połącz konta",\n "assertions.connectedAccounts": "Powiązane konta",\n "assertions.editsActivity": "Modyfikacje i aktywność",\n "assertions.genAI": "Oświadczenie o wykorzystaniu generatywnej sztucznej inteligencji (wymagana)",\n "assertions.producer": "Twórca",\n "assertions.refreshTooltip": "Odśwież powiązane konta, aby wyświetlić te dodane w Twoich poświadczeniach",\n "assertions.refreshing": "Odświeżanie...",\n "assertions.socialMedia": "Media społecznościowe",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Może zawierać warstwy, które są ukryte lub niewidoczne w tej miniaturze",\n "asset.unknownImage": "Obraz bez nazwy",\n "badge.invalidCredentialsTooltip": "Certyfikaty Content Credentials są niedostępne lub nieprawidłowe.",\n "badge.ogpTooltip": "Ten zasób był edytowany, ale informacje o nim są niekompletne lub ich brakuje.",\n "badge.validCredentialsTooltip": "Ten zasób zawiera dane o autorstwie i historii.",\n "com.adobe.changesBeforeLoad": "Certyfikaty Content Credentials tego pliku wykażą brakujące dane edycji lub aktywności, ponieważ usługa Content Credentials (Beta) została wczytana po programie Photoshop lub uległa awarii. <a>Dowiedz się więcej</a>",\n "com.adobe.cppScript": "Usługa Content Credentials (Beta) nie obsługuje skryptów ani wtyczek innych firm. <a>Dowiedz się więcej</a>",\n "com.adobe.duplicatePossibleSmartObject": "Usługa Content Credentials (Beta) nie zapewnia pełnej obsługi powielania warstw do innych plików. <a>Dowiedz się więcej</a>",\n "com.adobe.enabledCAI": "Certyfikaty Content Credentials tego pliku wykażą brak danych dotyczących edycji lub operacji. Zmiany edycyjne lub operacje mogły zostać wykonane w wielu aplikacjach lub na wielu urządzeniach albo wtedy, gdy funkcja Content Credentials (Beta) była wyłączona. <a>Więcej informacji</a>",\n "com.adobe.jsxScript": "Usługa Content Credentials (Beta) nie obsługuje skryptów ani wtyczek innych firm. <a>Dowiedz się więcej</a>",\n "com.adobe.noCAIData": "Ten plik programu Photoshop został utworzony bez usługi Content Credentials (Beta), więc modyfikacje i aktywność będą niedostępne. <a>Dowiedz się więcej</a>",\n "com.adobe.outsideProgram": "Certyfikaty Content Credentials tego pliku wykażą brak danych dotyczących edycji lub operacji. Zmiany edycyjne lub operacje mogły zostać wykonane w wielu aplikacjach lub na wielu urządzeniach albo wtedy, gdy funkcja Content Credentials (Beta) była wyłączona. <a>Więcej informacji</a>",\n "com.adobe.prerelease": "Co najmniej jeden plik dodany do bieżącego dokumentu zawiera certyfikaty Content Credentials, które utraciły ważność. Nie ma to wpływu na certyfikaty Content Credentials bieżącego dokumentu.",\n "com.adobe.programCrash": "Certyfikaty Content Credentials tego pliku wykażą brak danych o edycji lub operacji, ponieważ funkcja Content Credentials (Beta) została wczytana po programie Photoshop lub uległa awarii. <a>Więcej informacji</a>",\n "com.adobe.smartObject": "Usługa Content Credentials (Beta) nie zapewnia pełnej obsługi połączonych obiektów inteligentnych. <a>Dowiedz się więcej</a>",\n "com.adobe.thirdPartyScript": "Usługa Content Credentials (Beta) nie obsługuje skryptów ani wtyczek innych firm. <a>Dowiedz się więcej</a>",\n "com.adobe.upgradedSpec": "Poprzednie certyfikaty Content Credentials tego pliku utraciły ważność. Jeśli wyeksportujesz teraz i dołączysz lub opublikujesz certyfikaty Content Credentials, uwzględnione zostaną tylko najnowsze zmiany edycyjne, informacje o operacjach i autorstwie.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Ta grafika łączy wiele elementów treści. Co najmniej jeden element wygenerowano za pomocą narzędzia sztucznej inteligencji.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "PODSUMOWANIE TREŚCI",\n "controls.info": "Wybierz dodatkowe informacje, które chcesz uwzględnić w swoim certyfikacie Content Credentials podczas eksportowania za pomocą opcji Eksportuj jako. <a>Dowiedz się więcej</a>",\n "controls.learnMore": "Usługa Content Credentials (Beta) nie obsługuje niektórych operacji w programie Photoshop i w związku z tym modyfikacje i operacje będą widoczne jako niedostępne. <a>Dowiedz się więcej</a>",\n "controls.previewCredentials": "Podgląd",\n "controls.settingsTab": "Ustawienia",\n "error.caiHelper": "Twój plik został wyeksportowany, ale z powodu problemów z połączeniem między usługą Content Credentials (Beta) a inną usługą nie można opublikować ani dołączyć jego certyfikatów Content Credentials. Spróbuj ponownie później.",\n "error.embed.general": "Twój plik został wyeksportowany, ale nie można opublikować lub dołączyć jego certyfikatów Content Credentials z powodu błędu. Spróbuj wyeksportować ponownie.",\n "error.ingredientLoadingEmbedError": "Plik został wyeksportowany, ale nie można opublikować ani dołączyć jego certyfikatów Content Credentials, ponieważ nadal trwa przetwarzanie zmian w dokumencie. Poczekaj chwilę i spróbuj ponownie.",\n "error.ingredientLoadingSaveError": "Nie udało się zapisać dokumentu i jego certyfikatów Content Credentials, ponieważ nadal trwało przetwarzanie zmian w dokumencie. Spróbuj zapisać ponownie za pomocą opcji Zapisz jako, gdy zmiany zostaną przetworzone.",\n "error.offline": "Twój plik został wyeksportowany, ale nie można opublikować albo dołączyć jego certyfikatów Content Credentials. Sprawdź połączenie sieciowe i spróbuj ponownie.",\n "error.permissionSaveError": "Nie udało się zapisać certyfikatów Content Credentials — prawdopodobnie z powodu niewystarczających uprawnień do pliku lub folderu.",\n "errorView.defaultError": "Nie można włączyć usługi Content Credentials (Beta) z powodu błędu.",\n "errorView.tryAgain": "Ponów próbę",\n "errorView.unsupported": "Usługa Content Credentials (Beta) nie obsługuje dokumentów korzystających z trybu bitmapy lub obrazu wielokanałowego. <a>Dowiedz się więcej</a>",\n "errorView.unsupportedPersistance": "Nie można włączyć usługi Content Credentials (Beta) — prawdopodobnie z powodu niewystarczających uprawnień do pliku lub folderu. <a>Więcej informacji</a>",\n "fileError.asset.notFound": "Funkcja Content Credentials (Beta) nie może znaleźć pliku. Mógł on zostać usunięty, przeniesiony lub zmieniono jego nazwę. Zobacz „Informacje o Content Credentials” w serwisie helpx.adobe.com.",\n "fileError.asset.permission": "Funkcja Content Credentials (Beta) nie może odczytać lub zaktualizować pliku, co wynika prawdopodobnie z niewystarczających uprawnień. Zobacz „Informacje o Content Credentials” w serwisie helpx.adobe.com.",\n "fileError.embed.notFound": "Plik został wyeksportowany, ale nie można opublikować ani dołączyć jego certyfikatów Content Credentials, ponieważ nie znaleziono pliku. Mógł on zostać usunięty, przeniesiony lub zmieniono jego nazwę. Zobacz „Informacje o certyfikatach Content Credentials” w serwisie helpx.adobe.com.",\n "fileError.embed.permission": "Plik został wyeksportowany, ale nie można opublikować ani dołączyć jego certyfikatów Content Credentials, co wynika prawdopodobnie z niewystarczających uprawnień. Zobacz „Informacje o certyfikatach Content Credentials” w serwisie helpx.adobe.com.",\n "fileError.embed.tooLarge": "Plik został wyeksportowany, ale jego certyfikaty Content Credentials były zbyt duże, aby można je było opublikować. Zamiast tego możesz je dołączyć do swojego pliku, wybierając opcję „Dołącz do pliku (JPG i PNG)” i ponownie eksportując.",\n "info.openFile": "Otwórz plik, aby użyć usługi Content Credentials (Beta).",\n "menu.disableContentCreds": "Wyłącz certyfikaty Content Credentials",\n "menu.goToVerify": "Przejdź do opcji Zweryfikuj",\n "menu.learnMore": "Dowiedz się więcej",\n "menu.manageConnectedAccounts": "Zarządzanie powiązanymi kontami",\n "menu.openPreferences": "Preferencje",\n "menu.provideFeedback": "Przekaż opinię",\n "menu.refreshConnectedAccounts": "Odświeżanie powiązanych kont",\n "menu.showOnEnable": "Pokaż przy włączaniu",\n "offlineView.refresh": "Odśwież",\n "panel.disabled.enableDescription": "Potwierdź swoje autorstwo oraz rzetelnie wyjaśnij, jak grafika została wykonana, wybierając dodatkowe informacje do przekazania w ramach certyfikatu Content Credentials.",\n "panel.disabled.genAIDisclaimer": "W przypadku obrazów w całości wygenerowanych przez sztuczną inteligencję certyfikat Content Credentials jest dodawany automatycznie. <a>Dowiedz się więcej</a>",\n "panel.enable": "Włącz usługę Content Credentials",\n "preview.assetsUsedDetail": "Zasoby użyte w tej zawartości lub do niej dodane",\n "preview.assetsUsedTitle": "SKŁADNIKI",\n "preview.editsActivityDetail": "Zmiany i operacje podjęte w celu przygotowania tej zawartości",\n "preview.editsActivityTitle": "OPERACJE",\n "preview.genAIModelUsed": "UŻYTE NARZĘDZIA SI",\n "preview.info": "Inne osoby będą widzieć następujące informacje wraz z Twoimi treściami.",\n "preview.none": "Brak",\n "preview.producedByDetail": "Wybrana nazwa osoby, która wyeksportowała tę zawartość",\n "preview.producedByTitle": "WYKONAŁ(A)",\n "preview.producedWithDetail": "Oprogramowanie użyte do przygotowania tej zawartości",\n "preview.producedWithTitle": "UŻYTA APLIKACJA LUB URZĄDZENIE",\n "preview.signedByDetail": "Podmiot, który zarejestrował te certyfikaty Content Credentials (Beta)",\n "preview.signedByTitle": "WYSTAWIŁ(A)",\n "preview.socialMediaDetail": "Konta w mediach społecznościowych są powiązane z twórcą tej zawartości",\n "preview.socialMediaTitle": "MEDIA SPOŁECZNOŚCIOWE KONTA",\n "preview.web3Detail": "Konta Web3 są powiązane z twórcą tej zawartości",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Coś poszło nie tak. Sprawdź połączenie internetowe, aby zmodyfikować ustawienia producenta i połączonych kont.",\n "progressive.servicesDownExisting": "W przypadku co najmniej jednego ustawienia wystąpił problem z synchronizacją, dlatego informacje mogą być nieaktualne.",\n "progressive.servicesDownNew": "Co najmniej jedno ustawienie jest niedostępne, ponieważ nie można go wczytać.",\n title: QE,\n "web3Account.copied": "Skopiowano!"\n}, tT = "Content Credentials (Beta)", nT = {\n "action.c2pa.color_adjustments.description": "Propriedades como tom, saturação, curvas, sombras ou realces ajustadas",\n "action.c2pa.color_adjustments.label": "Edições de cor ou exposição",\n "action.c2pa.created.description": "Arquivo ou conteúdo criado",\n "action.c2pa.created.label": "Criado",\n "action.c2pa.cropped.description": "Ferramentas de corte usadas, reduzindo ou expandindo a área de conteúdo visível",\n "action.c2pa.cropped.label": "Edições de corte",\n "action.c2pa.drawing.description": "Ferramentas como lápis, pincéis, borrachas ou ferramentas de forma, caminho ou caneta usadas",\n "action.c2pa.drawing.label": "Edições de desenho",\n "action.c2pa.edited.description": "Outras alterações feitas",\n "action.c2pa.edited.label": "Outras edições",\n "action.c2pa.filtered.description": "Ferramentas como filtros, estilos ou efeitos usadas para alterar a aparência",\n "action.c2pa.filtered.label": "Edições de filtro ou estilo",\n "action.c2pa.opened.description": "Arquivo pré-existente aberto",\n "action.c2pa.opened.label": "Aberto",\n "action.c2pa.orientation.description": "Posição ou orientação alterada (girado, invertido etc.)",\n "action.c2pa.orientation.label": "Edições de orientação",\n "action.c2pa.placed.description": "Conteúdo pré-existente adicionado a este arquivo",\n "action.c2pa.placed.label": "Importado",\n "action.c2pa.resized.description": "Dimensões ou tamanho do arquivo alterados",\n "action.c2pa.resized.label": "Edições de redimensionamento",\n "action.c2pa.unknown.description": "Não foi possível reconhecer outras edições ou atividades realizadas",\n "action.c2pa.unknown.label": "Edições ou atividades desconhecidas",\n "action.com.adobe.3d.description": "Objetos ou cenas 3D criados ou modificados",\n "action.com.adobe.3d.label": "Edições 3D",\n "action.com.adobe.animation_video.description": "Propriedades de animação, áudio ou outras propriedades de vídeo criadas ou modificadas",\n "action.com.adobe.animation_video.label": "Edições de vídeo",\n "action.com.adobe.combined_assets.description": "Conteúdo composto ou reordenado ou editado com ferramentas de amostragem de conteúdo",\n "action.com.adobe.combined_assets.label": "Combinado",\n "action.com.adobe.text.description": "Texto criado ou modificado, incluindo família de fontes, cor ou outros estilos",\n "action.com.adobe.text.label": "Edições de texto",\n "alert.missingActivityWarning": "Algumas edições ou atividades podem não ter sido gravadas. <a>Saiba mais</a>",\n "assertions.connectAccounts": "Conectar contas",\n "assertions.connectedAccounts": "Contas conectadas",\n "assertions.editsActivity": "Edições e atividade",\n "assertions.genAI": "Transparência de IA generativa (obrigatória)",\n "assertions.producer": "Produtor",\n "assertions.refreshTooltip": "Atualize as contas conectadas para exibir as que você adicionou em suas credenciais",\n "assertions.refreshing": "Atualizando...",\n "assertions.socialMedia": "Redes sociais",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Pode conter camadas ocultas ou não visíveis nesta miniatura",\n "asset.unknownImage": "Imagem sem título",\n "badge.invalidCredentialsTooltip": "Content Credentials indisponíveis ou inválidas.",\n "badge.ogpTooltip": "Este ativo foi editado, mas as informações estão incompletas ou ausentes.",\n "badge.validCredentialsTooltip": "Este ativo tem atribuição e dados históricos.",\n "com.adobe.changesBeforeLoad": "As Content Credentials deste arquivo indicarão dados de edição ou de atividade ausentes porque as Content Credentials (beta) foram carregadas após o Photoshop ou falharam. <a>Saiba mais</a>",\n "com.adobe.cppScript": "As Content Credentials (beta) não oferecem suporte a scripts ou plug-ins de terceiros. <a>Saiba mais</a>",\n "com.adobe.duplicatePossibleSmartObject": "As Content Credentials (beta) não oferecem suporte total à duplicação de camadas para outros arquivos. <a>Saiba mais</a>",\n "com.adobe.enabledCAI": "As Content Credentials deste arquivo indicarão edições ou atividades ausentes. Edições ou atividades podem ter ocorrido em vários aplicativos ou dispositivos ou enquanto as Content Credentials (beta) estavam desativadas. <a>Saiba mais</a>",\n "com.adobe.jsxScript": "As Content Credentials (beta) não oferecem suporte a scripts ou plug-ins de terceiros. <a>Saiba mais</a>",\n "com.adobe.noCAIData": "Este arquivo do Photoshop foi criado sem as Content Credentials (beta), portanto, as edições e atividade serão exibidas como ausentes. <a>Saiba mais</a>",\n "com.adobe.outsideProgram": "As Content Credentials deste arquivo indicarão edições ou atividades ausentes. Edições ou atividades podem ter ocorrido em vários aplicativos ou dispositivos ou enquanto as Content Credentials (beta) estavam desativadas. <a>Saiba mais</a>",\n "com.adobe.prerelease": "Um ou mais arquivos adicionados ao documento atual inclui Content Credentials inválidas. As Content Credentials do documento atual não foram afetadas.",\n "com.adobe.programCrash": "As Content Credentials deste arquivo indicarão edições ou atividades ausentes porque as Content Credentials (beta) falharam ou foram carregadas depois do Photoshop. <a>Saiba mais</a>",\n "com.adobe.smartObject": "As Content Credentials (beta) não oferecem suporte total a objetos inteligentes vinculados. <a>Saiba mais</a>",\n "com.adobe.thirdPartyScript": "As Content Credentials (beta) não oferecem suporte a scripts ou plug-ins de terceiros. <a>Saiba mais</a>",\n "com.adobe.upgradedSpec": "As Content Credentials anteriores deste arquivo não são mais válidas. Se você exportá-las agora e anexá-las ou publicá-las, somente as informações mais recentes sobre edições, atividades e atribuições serão incluídas.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Esta imagem combina vários conteúdos. Pelo menos um foi gerado com uma ferramenta de IA.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "RESUMO DO CONTEÚDO",\n "controls.info": "Escolha informações adicionais para incluir em suas Content Credentials ao exportar via Exportar como. <a>Saiba mais</a>",\n "controls.learnMore": "As Content Credentials (beta) ainda não oferecem suporte a algumas ações do Photoshop, portanto, as edições e atividade serão exibidas como ausentes. <a>Saiba mais</a>",\n "controls.previewCredentials": "Visualização",\n "controls.settingsTab": "Configurações",\n "error.caiHelper": "O arquivo foi exportado, mas as Content Credentials não foram publicadas ou anexadas devido a problemas de conexão entre as Content Credentials (beta) e outro serviço. Tente novamente mais tarde.",\n "error.embed.general": "Seu arquivo foi exportado, mas suas Content Credentials não foram publicadas nem anexadas devido a um erro. Tente exportar novamente.",\n "error.ingredientLoadingEmbedError": "Seu arquivo foi exportado, mas suas Content Credentials não puderam ser publicadas ou anexadas porque as alterações do documento ainda estavam em processamento. Aguarde um momento e tente novamente.",\n "error.ingredientLoadingSaveError": "Não foi possível salvar o documento e suas Content Credentials, pois as alterações ainda estavam em processamento. Tente salvá-lo novamente com a opção Salvar como assim que as alterações forem processadas.",\n "error.offline": "Seu arquivo foi exportado, mas suas Content Credentials não foram publicadas nem anexadas. Verifique a conexão de rede e tente novamente.",\n "error.permissionSaveError": "Não foi possível salvar as Content Credentials, possivelmente em razão de permissões insuficientes de arquivo ou pasta.",\n "errorView.defaultError": "Não foi possível habilitar as Content Credentials (beta) devido a um erro.",\n "errorView.tryAgain": "Tentar novamente",\n "errorView.unsupported": "As Content Credentials (beta) não oferecem suporte a documentos que usam o modo de imagem Bitmap ou Multicanal. <a>Saiba mais</a>",\n "errorView.unsupportedPersistance": "Não foi possível ativar as Content Credentials (Beta), possivelmente em razão de permissões insuficientes de arquivo ou pasta. <a>Saiba mais</a>",\n "fileError.asset.notFound": "As Content Credentials (Beta) não encontraram seu arquivo. Ele pode ter sido excluído, movido ou renomeado. Leia o artigo “Saiba mais sobre Content Credentials” em helpx.adobe.com para saber mais.",\n "fileError.asset.permission": "As Content Credentials (Beta) não podem ler nem atualizar este arquivo, possivelmente devido a permissões insuficientes. Leia o artigo “Saiba mais sobre Content Credentials” em helpx.adobe.com para saber mais.",\n "fileError.embed.notFound": "O arquivo foi exportado, mas não foi possível publicar nem anexar as Content Credentials porque o arquivo não foi encontrado. Ele pode ter sido excluído, movido ou renomeado. Leia o artigo “Saiba mais sobre Content Credentials” em helpx.adobe.com para saber mais.",\n "fileError.embed.permission": "O arquivo foi exportado, mas não foi possível publicar nem anexar as Content Credentials devido a permissões insuficientes. Leia o artigo “Saiba mais sobre Content Credentials” em helpx.adobe.com para saber mais.",\n "fileError.embed.tooLarge": "Seu arquivo foi exportado, mas as Content Credentials eram muito grandes para serem publicadas. Para anexá-las ao arquivo, escolha “Anexar ao arquivo (JPG e PNG)” e exporte novamente.",\n "info.openFile": "Abra um arquivo para usar as Content Credentials (beta).",\n "menu.disableContentCreds": "Desativar as Content Credentials",\n "menu.goToVerify": "Ir para Verificar",\n "menu.learnMore": "Saiba mais",\n "menu.manageConnectedAccounts": "Gerenciar contas conectadas",\n "menu.openPreferences": "Preferências",\n "menu.provideFeedback": "Fornecer feedback",\n "menu.refreshConnectedAccounts": "Atualizar contas conectadas",\n "menu.showOnEnable": "Mostrar ao ativar",\n "offlineView.refresh": "Atualizar",\n "panel.disabled.enableDescription": "Seja reconhecido pelo seu trabalho e aumente a transparência sobre como ele foi feito escolhendo informações para compartilhar em suas Content Credentials.",\n "panel.disabled.genAIDisclaimer": "As Content Credentials são aplicadas automaticamente se você inserir imagens totalmente geradas por IA. <a>Saiba mais</a>",\n "panel.enable": "Ativar as Content Credentials",\n "preview.assetsUsedDetail": "Quaisquer ativos usados ou adicionados a este conteúdo",\n "preview.assetsUsedTitle": "INGREDIENTES",\n "preview.editsActivityDetail": "Alterações e ações realizadas para produzir este conteúdo",\n "preview.editsActivityTitle": "AÇÕES",\n "preview.genAIModelUsed": "FERRAMENTAS DE IA USADAS",\n "preview.info": "As pessoas poderão visualizar as seguintes informações com o seu conteúdo:",\n "preview.none": "Nada",\n "preview.producedByDetail": "Nome escolhido da pessoa que exportou este conteúdo",\n "preview.producedByTitle": "PRODUZIDO POR",\n "preview.producedWithDetail": "Software usado para criar este conteúdo",\n "preview.producedWithTitle": "APLICATIVO OU DISPOSITIVO USADO",\n "preview.signedByDetail": "A entidade que registrou as Content Credentials (beta)",\n "preview.signedByTitle": "LANÇADO POR",\n "preview.socialMediaDetail": "Contas de redes sociais conectadas ao produtor deste conteúdo",\n "preview.socialMediaTitle": "REDES SOCIAIS CONTAS",\n "preview.web3Detail": "Contas Web3 conectadas ao produtor deste conteúdo",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Algo deu errado. Verifique sua conexão com a Internet para modificar as configurações de produtores e contas conectadas.",\n "progressive.servicesDownExisting": "Uma ou mais configurações tiveram problemas durante a sincronização e as informações podem não estar atualizadas.",\n "progressive.servicesDownNew": "Uma ou mais configurações não estão disponíveis porque não foram carregadas.",\n title: tT,\n "web3Account.copied": "Copiado."\n}, iT = "Content Credentials (Beta)", rT = {\n "action.c2pa.color_adjustments.description": "Измененные свойства, например тон, насыщенность, кривые, тени или блики.",\n "action.c2pa.color_adjustments.label": "Редактирование цвета или экспозиции",\n "action.c2pa.created.description": "Создан новый файл или контент",\n "action.c2pa.created.label": "Создано",\n "action.c2pa.cropped.description": "Используемые инструменты обрезки, уменьшение или расширение видимой области содержимого",\n "action.c2pa.cropped.label": "Редактирование обрезки",\n "action.c2pa.drawing.description": "Используемые инструменты, например карандаши, кисти, ластики или другие инструменты (форма, контур или перо)",\n "action.c2pa.drawing.label": "Редактирование чертежа",\n "action.c2pa.edited.description": "Внесены другие изменения",\n "action.c2pa.edited.label": "Другие изменения",\n "action.c2pa.filtered.description": "Используемые инструменты для изменения внешнего вида, например фильтры, стили или эффекты",\n "action.c2pa.filtered.label": "Редактирование фильтров или стилей",\n "action.c2pa.opened.description": "Открыт ранее созданный файл",\n "action.c2pa.opened.label": "Открыто",\n "action.c2pa.orientation.description": "Изменено положение или ориентация (повернуто, перевернуто и т. д.)",\n "action.c2pa.orientation.label": "Ориентация правки",\n "action.c2pa.placed.description": "В этот файл добавлен уже существующий контент",\n "action.c2pa.placed.label": "Импортировано",\n "action.c2pa.resized.description": "Изменены размеры изображения или размер файла",\n "action.c2pa.resized.label": "Изменение размеров",\n "action.c2pa.unknown.description": "Внесены другие правки или выполнены иные действия, которые не удалось распознать",\n "action.c2pa.unknown.label": "Неизвестные изменения или действия",\n "action.com.adobe.3d.description": "Изменения, которые созданы или внесены в 3D-объекты или сцены",\n "action.com.adobe.3d.label": "3D-редактирование",\n "action.com.adobe.animation_video.description": "Изменения, которые созданы или внесены в свойства анимации, аудио- или видеоресурсов",\n "action.com.adobe.animation_video.label": "Изменения видео",\n "action.com.adobe.combined_assets.description": "Контент — скомпонованный или переупорядоченный контент либо измененный с помощью инструментов выборки контента",\n "action.com.adobe.combined_assets.label": "Комбинированный",\n "action.com.adobe.text.description": "Созданы или внесены изменения в текст, включая семейство шрифтов, цвет или другие стили.",\n "action.com.adobe.text.label": "Редактирование текста",\n "alert.missingActivityWarning": "Некоторые изменения или действия не могут быть записаны. <a>Подробнее</a>",\n "assertions.connectAccounts": "Привязать учетную запись",\n "assertions.connectedAccounts": "Привязанные учетные записи",\n "assertions.editsActivity": "Изменения и обновления",\n "assertions.genAI": "Уведомление об использовании генеративного ИИ (обязательно)",\n "assertions.producer": "Производитель",\n "assertions.refreshTooltip": "Обновите привязанные учетные записи, чтобы просмотреть те, которые вы добавили в свои учетные данные.",\n "assertions.refreshing": "Обновление...",\n "assertions.socialMedia": "Социальные сети",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Может содержать слои, которые скрыты или не видны на этой миниатюре.",\n "asset.unknownImage": "Изображение без названия",\n "badge.invalidCredentialsTooltip": "Content Credentials недоступны или недействительны.",\n "badge.ogpTooltip": "Ресурс изменен. Информация о нем неполная или отсутствует.",\n "badge.validCredentialsTooltip": "У ресурса есть сведения об атрибуции и истории.",\n "com.adobe.changesBeforeLoad": "Сведения об изменении или обновлении могут не отображаться в Content Credentials потому, что функция Content Credentials (Beta) была загружена после приложения Photoshop или функция со сбоем завершила свою работу. <a>Подробнее</a>",\n "com.adobe.cppScript": "Функция Content Credentials (Beta) не поддерживает скрипты или сторонние плагины. <a>Подробнее</a>",\n "com.adobe.duplicatePossibleSmartObject": "Функция Content Credentials (Beta) частично поддерживает дублирование слоев в другие файлы. <a>Подробнее</a>",\n "com.adobe.enabledCAI": "Сведения об изменении или обновлении могут не отображаться в Content Credentials в этом файле. Редактирование или обновление файла могло осуществляться в разных приложениях или на разных устройствах, а также в момент, когда функция Content Credentials (Beta) была отключена. <a>Подробнее</a>",\n "com.adobe.jsxScript": "Функция Content Credentials (Beta) не поддерживает скрипты или сторонние плагины. <a>Подробнее</a>",\n "com.adobe.noCAIData": "Файл в Photoshop был создан без использования функции Content Credentials (Beta), поэтому сведения об изменении или обновлении файла могут не отображаться. <a>Подробнее</a>",\n "com.adobe.outsideProgram": "Сведения об изменении или обновлении могут не отображаться в Content Credentials в этом файле. Редактирование или обновление файла могло осуществляться в разных приложениях или на разных устройствах, а также в момент, когда функция Content Credentials (Beta) была отключена. <a>Подробнее</a>",\n "com.adobe.prerelease": "Один или несколько файлов, добавленных в текущий документ, содержат недействительные Content Credentials. Это не влияет на Content Credentials текущего документа.",\n "com.adobe.programCrash": "Сведения об изменении или обновлении могут не отображаться в Content Credentials в этом файле потому, что функция Content Credentials (Beta) была загружена после приложения Photoshop или функция со сбоем завершила свою работу. <a>Подробнее</a>",\n "com.adobe.smartObject": "Функция Content Credentials (Beta) частично поддерживает связанные смарт-объекты. <a>Подробнее</a>",\n "com.adobe.thirdPartyScript": "Функция Content Credentials (Beta) не поддерживает скрипты или сторонние плагины. <a>Подробнее</a>",\n "com.adobe.upgradedSpec": "Предыдущие Content Credentials этого файла больше недействительны. Если вы экспортируете их сейчас и прикрепите или опубликуете Content Credentials, вы увидите только самые последние изменения, действия и информацию об атрибуции.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Это изображение состоит из нескольких фрагментов контента, минимум один из которых сгенерирован с помощью ИИ.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "СВОДНАЯ ИНФОРМАЦИЯ О КОНТЕНТЕ",\n "controls.info": "Выберите дополнительную информацию для включения в Content Credentials при экспорте с помощью функции «Экспортировать как». <a>Подробнее</a>",\n "controls.learnMore": "Функция Content Credentials (Beta) пока поддерживает не все действия в Photoshop, поэтому сведения об изменении или обновлении файла могут не отображаться. <a>Подробнее</a>",\n "controls.previewCredentials": "Предварительный просмотр",\n "controls.settingsTab": "Настройки",\n "error.caiHelper": "Файл экспортирован. Content Credentials не удалось опубликовать или прикрепить из-за проблем с подключением между функцией Content Credentials (Beta) и другой службой. Попробуйте позже.",\n "error.embed.general": "Ваш файл экспортирован, но Content Credentials не удалось опубликовать или прикрепить из-за ошибки. Попробуйте экспортировать файл еще раз.",\n "error.ingredientLoadingEmbedError": "Ваш файл экспортирован, но его Content Credentials не удалось опубликовать или прикрепить, поскольку изменения в документе все еще обрабатываются. Подождите немного и повторите попытку.",\n "error.ingredientLoadingSaveError": "Не удалось сохранить ваш документ и его Content Credentials, так как изменения в документе все еще обрабатываются. Попробуйте еще раз сохранить документ, нажав «Сохранить как», как только изменения будут обработаны.",\n "error.offline": "Файл экспортирован. Content Credentials не удалось опубликовать или прикрепить. Проверьте подключение к сети и повторите попытку.",\n "error.permissionSaveError": "Не удалось сохранить Content Credentials, возможно, из-за недостаточных разрешений на файлы или папки.",\n "errorView.defaultError": "Content Credentials (Beta) не могут быть включены из-за ошибки.",\n "errorView.tryAgain": "Повторить попытку",\n "errorView.unsupported": "Функция Content Credentials (Beta) не поддерживает документы с растровыми или многоканальными изображениями. <a>Подробнее</a>",\n "errorView.unsupportedPersistance": "Не удалось включить Content Credentials (Beta), возможно, из-за недостаточных прав доступа к файлам или папкам. <a>Подробнее</a>",\n "fileError.asset.notFound": "Функции Content Credentials (Beta) не удалось найти ваш файл. Возможно, он был удален, перемещен или переименован. Прочтите статью «Подробнее о Content Credentials (Beta)» на сайте helpx.adobe.com, чтобы получить дополнительную информацию.",\n "fileError.asset.permission": "Функции Content Credentials (Beta) не удалось прочитать или обновить файл из-за недостаточных прав. Прочтите статью «Подробнее о Content Credentials (Beta)» на сайте helpx.adobe.com, чтобы получить дополнительную информацию.",\n "fileError.embed.notFound": "Ваш файл экспортирован, но Content Credentials не удалось опубликовать или прикрепить, поскольку файл не найден. Возможно, он был удален, перемещен или переименован. Прочтите статью «Подробнее о Content Credentials» на сайте helpx.adobe.com, чтобы получить дополнительную информацию.",\n "fileError.embed.permission": "Ваш файл экспортирован, но Content Credentials не удалось опубликовать или прикрепить из-за недостаточных прав. Прочтите статью «Подробнее о Content Credentials» на сайте helpx.adobe.com, чтобы получить дополнительную информацию.",\n "fileError.embed.tooLarge": "Ваш файл экспортирован, но размер его Content Credentials оказался слишком большим для публикации. Вместо этого вы можете прикрепить их к своему файлу, выбрав «Прикрепить к файлу (JPG и PNG)», и снова экспортировать.",\n "info.openFile": "Откройте файл, чтобы использовать функцию Content Credentials (Beta).",\n "menu.disableContentCreds": "Выключить функцию Content Credentials",\n "menu.goToVerify": "Перейти к проверке",\n "menu.learnMore": "Подробнее",\n "menu.manageConnectedAccounts": "Управление привязанными учетными записями",\n "menu.openPreferences": "Установки",\n "menu.provideFeedback": "Оставить отзыв",\n "menu.refreshConnectedAccounts": "Обновить привязанные учетные записи",\n "menu.showOnEnable": "Показывать при включении",\n "offlineView.refresh": "Обновить",\n "panel.disabled.enableDescription": "Чтобы получить признание за свою работу и повысить прозрачность её создания, выберите информацию, которой хотите поделиться в Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Функция Content Credentials применяется автоматически, если вы размещаете изображения, полностью созданные с помощью ИИ. <a>Подробнее</a>",\n "panel.enable": "Включить Content Credentials",\n "preview.assetsUsedDetail": "Любые использованные ресурсы или ресурсы, добавленные к этому содержимому",\n "preview.assetsUsedTitle": "КОМПОНЕНТЫ",\n "preview.editsActivityDetail": "Изменения и обновления, предпринятые для создания этого содержимого",\n "preview.editsActivityTitle": "ДЕЙСТВИЯ",\n "preview.genAIModelUsed": "ИСПОЛЬЗОВАНЫ ИНСТРУМЕНТЫ НА БАЗЕ ИИ",\n "preview.info": "Вместе с вашим контентом люди смогут просматривать следующую информацию.",\n "preview.none": "Нет",\n "preview.producedByDetail": "Имя человека, который экспортировал содержимое",\n "preview.producedByTitle": "КЕМ СОЗДАНО",\n "preview.producedWithDetail": "Программное обеспечение, используемое для создания содержимого",\n "preview.producedWithTitle": "ИСПОЛЬЗОВАННОЕ ПРИЛОЖЕНИЕ ИЛИ УСТРОЙСТВО",\n "preview.signedByDetail": "Объект, для которого записаны сведения с помощью функции Content Credentials (Beta)",\n "preview.signedByTitle": "КЕМ ВЫДАНО",\n "preview.socialMediaDetail": "Учетные записи социальных сетей производителя контента",\n "preview.socialMediaTitle": "УЧЕТНЫЕ ЗАПИСИ В СОЦИАЛЬНЫХ СЕТЯХ",\n "preview.web3Detail": "Учетные записи Web3, привязаны к производителю контента",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Произошла. Проверьте подключение к Интернету, чтобы изменить настройки производителя и подключенных учетных записей.",\n "progressive.servicesDownExisting": "Вследствие сбоя синхронизации одной или нескольких настроек информация о них может быть не актуальна.",\n "progressive.servicesDownNew": "Одна или несколько настроек недоступны, так как их не удалось загрузить.",\n title: iT,\n "web3Account.copied": "Скопировано!"\n}, aT = "Content Credentials (Beta)", oT = {\n "action.c2pa.color_adjustments.description": "Justerade egenskaper som ton, mättnad, kurvor, skuggor och högdagrar",\n "action.c2pa.color_adjustments.label": "Redigering av färg eller exponering",\n "action.c2pa.created.description": "Skapade en ny fil eller nytt innehåll",\n "action.c2pa.created.label": "Skapade",\n "action.c2pa.cropped.description": "Använde beskärningsverktyg, minskade eller utökade synligt innehållsområde",\n "action.c2pa.cropped.label": "Redigering av beskärning",\n "action.c2pa.drawing.description": "Använde verktyg som pennor, penslar, suddgummin eller verktygen form, bana eller penna",\n "action.c2pa.drawing.label": "Redigering av teckning",\n "action.c2pa.edited.description": "Gjorde andra ändringar",\n "action.c2pa.edited.label": "Annan redigering",\n "action.c2pa.filtered.description": "Använde verktyg som filter, stilar eller effekter för att ändra utseende",\n "action.c2pa.filtered.label": "Redigering av filter eller stil",\n "action.c2pa.opened.description": "Öppnade en befintlig fil",\n "action.c2pa.opened.label": "Öppnade",\n "action.c2pa.orientation.description": "Ändrade placering eller orientering (roterad, vänd osv.)",\n "action.c2pa.orientation.label": "Orientering redigering",\n "action.c2pa.placed.description": "Lade till befintligt innehåll i den här filen",\n "action.c2pa.placed.label": "Importerade",\n "action.c2pa.resized.description": "Ändrade mått eller filstorlek",\n "action.c2pa.resized.label": "Redigering av storleksändring",\n "action.c2pa.unknown.description": "Utförde andra redigeringar eller aktiviteter som inte kunde identifieras",\n "action.c2pa.unknown.label": "Okänd redigering eller aktivitet",\n "action.com.adobe.3d.description": "Skapade eller ändrade 3D-objekt eller 3D-scener",\n "action.com.adobe.3d.label": "3D-redigering",\n "action.com.adobe.animation_video.description": "Skapade eller ändrade animering, ljud eller andra videoegenskaper",\n "action.com.adobe.animation_video.label": "Videoredigeringar",\n "action.com.adobe.combined_assets.description": "Slog samman eller ordnade om innehåll eller redigerade med verktyg för innehållssampling",\n "action.com.adobe.combined_assets.label": "Kombinerade",\n "action.com.adobe.text.description": "Skapade eller gjorde ändringar i text, inklusive teckensnittsfamilj, färg eller andra format",\n "action.com.adobe.text.label": "Textredigeringar",\n "alert.missingActivityWarning": "Vissa redigeringar eller aktiviteter kanske inte har registrerats. <a>Läs mer</a>",\n "assertions.connectAccounts": "Anslut konton",\n "assertions.connectedAccounts": "Anslutna konton",\n "assertions.editsActivity": "Redigering och aktivitet",\n "assertions.genAI": "Insyn i generativ AI (obligatoriskt)",\n "assertions.producer": "Producent",\n "assertions.refreshTooltip": "Uppdatera anslutna konton för att visa de som du har lagt till i dina autentiseringsuppgifter",\n "assertions.refreshing": "Uppdaterar ...",\n "assertions.socialMedia": "Sociala medier",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Kan innehålla lager som är dolda eller inte synliga i den här miniatyrbilden",\n "asset.unknownImage": "Namnlös bild",\n "badge.invalidCredentialsTooltip": "Content Credentials är inte tillgängliga eller ogiltiga.",\n "badge.ogpTooltip": "Den här resursen har redigerats, men informationen för den är ofullständig eller saknas.",\n "badge.validCredentialsTooltip": "Den här resursen har attribuerings- och historikdata.",\n "com.adobe.changesBeforeLoad": "Den här filens Content Credentials kommer att indikera saknade redigerings- eller aktivitetsdata eftersom Content Credentials (beta) lästes in efter Photoshop eller kraschade. <a>Läs mer</a>",\n "com.adobe.cppScript": "Content Credentials (beta) stöder inte skript eller plugin-program från tredje part. <a>Läs mer</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (beta) har inte fullt stöd för duplicering av lager till andra filer. <a>Läs mer</a>",\n "com.adobe.enabledCAI": "Den här filens Content Credentials kommer att indikera saknade redigerings- eller aktivitetsdata. Redigering eller aktivitet kan ha skett på flera appar eller enheter, eller medan Content Credentials (beta) var inaktiverat. <a>Läs mer</a>",\n "com.adobe.jsxScript": "Content Credentials (beta) stöder inte skript eller plugin-program från tredje part. <a>Läs mer</a>",\n "com.adobe.noCAIData": "Den här Photoshop-filen skapades utan Content Credentials (beta), så redigering och aktivitet kommer att visas som saknad. <a>Läs mer</a>",\n "com.adobe.outsideProgram": "Den här filens Content Credentials kommer att indikera saknade redigerings- eller aktivitetsdata. Redigering eller aktivitet kan ha skett på flera appar eller enheter, eller medan Content Credentials (beta) var inaktiverat. <a>Läs mer</a>",\n "com.adobe.prerelease": "En eller flera filer som har lagts till i det aktuella dokumentet har Content Credentials som inte längre är giltiga. Det aktuella dokumentets Content Credentials påverkas inte.",\n "com.adobe.programCrash": "Den här filens Content Credentials kommer att indikera saknade redigerings- eller aktivitetsdata eftersom Content Credentials (beta) lästes in efter Photoshop eller kraschade. <a>Läs mer</a>",\n "com.adobe.smartObject": "Content Credentials (beta) har inte fullt stöd för länkade smarta objekt. <a>Läs mer</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (beta) stöder inte skript eller plugin-program från tredje part. <a>Läs mer</a>",\n "com.adobe.upgradedSpec": "Den här filens tidigare Content Credentials är inte längre giltiga. Om du exporterar nu och bifogar eller publicerar Content Credentials kommer endast den senaste redigerings-, aktivitets- och tillskrivningsinformationen att inkluderas.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Den här bilden kombinerar flera innehållsdelar. Minst en genererades med ett AI-verktyg.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "SAMMANFATTNING AV INNEHÅLL",\n "controls.info": "Välj ytterligare information att ha med i dina Content Credentials när du exporterar via Exportera som. <a>Läs mer</a>",\n "controls.learnMore": "Content Credentials (beta) stöder inte Photoshop-åtgärder än, så redigeringar och aktivitet kommer att visas som saknade. <a>Läs mer</a>",\n "controls.previewCredentials": "Förh.visa",\n "controls.settingsTab": "Inställningar",\n "error.caiHelper": "Filen exporterades men dess Content Credentials kunde inte publiceras eller bifogas på grund av anslutningsproblem mellan Content Credentials (beta) och en annan tjänst. Försök igen senare.",\n "error.embed.general": "Filen exporterades men dess Content Credentials kunde inte publiceras eller bifogas på grund av ett fel. Försök att exportera igen.",\n "error.ingredientLoadingEmbedError": "Filen exporterades men tillhörande Content Credentials kunde inte publiceras eller bifogas eftersom ändringar i dokumentet fortfarande bearbetades. Vänta en stund och försök igen.",\n "error.ingredientLoadingSaveError": "Ditt dokument och tillhörande Content Credentials kunde inte sparas eftersom ändringar i dokumentet fortfarande bearbetades. Försök att spara igen med Spara som när ändringarna har slutförts.",\n "error.offline": "Filen exporterades men tillhörande Content Credentials kunde inte publiceras eller bifogas. Kontrollera nätverksanslutningen och försök igen.",\n "error.permissionSaveError": "Content Credentials kunde inte sparas, kanske på grund av otillräckliga fil- eller mappbehörigheter.",\n "errorView.defaultError": "Content Credentials (beta) kunde inte aktiveras på grund av ett fel.",\n "errorView.tryAgain": "Försök igen",\n "errorView.unsupported": "Content Credentials (beta) stöder inte dokument som använder läge för bitmappsbild eller flerkanalsbild. <a>Läs mer</a>",\n "errorView.unsupportedPersistance": "Content Credentials (beta) kunde inte aktiveras, kanske på grund av otillräckliga fil- eller mappbehörigheter. <a>Läs mer</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) kan inte hitta din fil. Den kan ha tagits bort, flyttats eller bytt namn. Läs artikeln ”Läs mer om Content Credentials” på helpx.adobe.com för att lära dig mer.",\n "fileError.asset.permission": "Content Credentials (Beta) kan inte läsa eller uppdatera den här filen. Det beror troligen på otillräcklig behörighet. Läs artikeln ”Läs mer om Content Credentials” på helpx.adobe.com för att lära dig mer.",\n "fileError.embed.notFound": "Filen exporterades men tillhörande Content Credentials kunde inte publiceras eller bifogas på grund av att din fil inte hittades. Den kan ha tagits bort, flyttats eller bytt namn. Läs artikeln ”Läs mer om Content Credentials” på helpx.adobe.com för mer information.",\n "fileError.embed.permission": "Filen exporterades med tillhörande Content Credentials kunde inte publiceras eller bifogas, troligen på grund av otillräckliga behörigheter. Läs artikeln ”Läs mer om Content Credentials” på helpx.adobe.com för mer information.",\n "fileError.embed.tooLarge": "Filen exporterades men dess Content Credentials var för stora för att publiceras. Du kan bifoga dem till filen i stället genom att välja Bifoga till filer (JPG & PNG) och exportera igen.",\n "info.openFile": "Öppna en fil för att använda Content Credentials (beta).",\n "menu.disableContentCreds": "Inaktivera Content Credentials",\n "menu.goToVerify": "Gå till Verifiera",\n "menu.learnMore": "Läs mer",\n "menu.manageConnectedAccounts": "Hantera anslutna konton",\n "menu.openPreferences": "Preferenser",\n "menu.provideFeedback": "Ge feedback",\n "menu.refreshConnectedAccounts": "Uppdatera anslutna konton",\n "menu.showOnEnable": "Visa på aktivering",\n "offlineView.refresh": "Uppdatera",\n "panel.disabled.enableDescription": "Bli uppskattad för det du gör och öka insynen i hur du gjorde genom att välja information att dela i verkens Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials tillämpas automatiskt om du monterar AI-genererade bilder. <a>Läs mer</a>",\n "panel.enable": "Aktivera Content Credentials",\n "preview.assetsUsedDetail": "Alla resurser som används eller läggs till i det här innehållet",\n "preview.assetsUsedTitle": "INGREDIENSER",\n "preview.editsActivityDetail": "Ändringar och åtgärder som vidtagits för att producera det här innehållet",\n "preview.editsActivityTitle": "ÅTGÄRDER",\n "preview.genAIModelUsed": "NYTTJADE AI-VERKTYG",\n "preview.info": "Folk kommer att kunna se följande information med ditt innehåll.",\n "preview.none": "Inget",\n "preview.producedByDetail": "Valt namn på personen som exporterade det här innehållet",\n "preview.producedByTitle": "PRODUCERAT AV",\n "preview.producedWithDetail": "Programvara som används för att göra det här innehållet",\n "preview.producedWithTitle": "BEGAGNAD APP ELLER ENHET",\n "preview.signedByDetail": "Enheten som registrerade Content Credentials (beta)",\n "preview.signedByTitle": "UTFÄRDAT AV",\n "preview.socialMediaDetail": "Sociala mediekonton kopplade till producenten av det här innehållet",\n "preview.socialMediaTitle": "KONTON I SOCIALA MEDIER",\n "preview.web3Detail": "Web3-konton kopplade till producenten av det här innehållet",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Ett fel uppstod. Kontrollera din internetanslutning för att ändra inställningar för producent och anslutna konton.",\n "progressive.servicesDownExisting": "En eller flera inställningar kunde inte synkroniseras och deras information kanske inte är aktuell.",\n "progressive.servicesDownNew": "En eller flera inställningar är inte tillgängliga eftersom de inte kunde läsas in.",\n title: aT,\n "web3Account.copied": "Kopierat!"\n}, sT = "Content Credentials (Beta)", lT = {\n "action.c2pa.color_adjustments.description": "Ton, doygunluk, eğriler, gölgeler veya vurgular gibi ayarlanmış özellikler",\n "action.c2pa.color_adjustments.label": "Renk veya pozlama düzenlemeleri",\n "action.c2pa.created.description": "Yeni bir dosya veya içerik oluşturuldu",\n "action.c2pa.created.label": "Oluşturuldu",\n "action.c2pa.cropped.description": "Kırpma araçları kullanılarak görünür içerik alanı küçültüldü veya genişletildi",\n "action.c2pa.cropped.label": "Kırpma düzenlemeleri",\n "action.c2pa.drawing.description": "Kurşun kalem, fırça, silgi veya şekil, yol ya da kalem araçları gibi araçlar kullandığında",\n "action.c2pa.drawing.label": "Çizim düzenlemeleri",\n "action.c2pa.edited.description": "Diğer değişiklikler yapıldı",\n "action.c2pa.edited.label": "Diğer düzenlemeler",\n "action.c2pa.filtered.description": "Görünümü değiştirmek için filtre, stil veya efekt gibi araçlar kullanıldı",\n "action.c2pa.filtered.label": "Filtre veya stil düzenlemeleri",\n "action.c2pa.opened.description": "Mevcut bir dosya açıldı",\n "action.c2pa.opened.label": "Açıldı",\n "action.c2pa.orientation.description": "Konum veya yönlendirme değiştirildi (döndürüldü, ters çevrildi vb.)",\n "action.c2pa.orientation.label": "Yönlendirme düzenlemeleri",\n "action.c2pa.placed.description": "Mevcut içerik bu dosyaya eklendi",\n "action.c2pa.placed.label": "İçe aktarıldı",\n "action.c2pa.resized.description": "Boyutlar veya dosya boyutu değiştirildi",\n "action.c2pa.resized.label": "Yeniden boyutlandırma düzenlemeleri",\n "action.c2pa.unknown.description": "Algılanamayan başka düzenlemeler veya etkinlikler gerçekleştirildi",\n "action.c2pa.unknown.label": "Bilinmeyen düzenlemeler veya etkinlikler",\n "action.com.adobe.3d.description": "3D nesneleri veya sahneleri oluşturduğunda ya da değişiklik yaptığında",\n "action.com.adobe.3d.label": "3D düzenlemeleri",\n "action.com.adobe.animation_video.description": "Animasyon, ses veya başka video özellikleri oluşturuldu ya da bunlarda değişiklik yapıldı",\n "action.com.adobe.animation_video.label": "Video düzenlemeleri",\n "action.com.adobe.combined_assets.description": "İçerik birleştirildi veya yeniden sıralandı ya da içerik örnekleme araçlarıyla düzenlendi",\n "action.com.adobe.combined_assets.label": "Birleştirilmiş",\n "action.com.adobe.text.description": "Font ailesi, renk veya diğer stiller dahil olmak üzere metin oluşturuldu ya da metinde değişiklikler yapıldı",\n "action.com.adobe.text.label": "Metin düzenlemeleri",\n "alert.missingActivityWarning": "Bazı düzenlemeler veya etkinlikler kaydedilmemiş olabilir. <a>Daha fazla bilgi</a>",\n "assertions.connectAccounts": "Hesapları bağla",\n "assertions.connectedAccounts": "Bağlı hesaplar",\n "assertions.editsActivity": "Düzenlemeler ve etkinlik",\n "assertions.genAI": "Üretken AI saydamlığı (gerekli)",\n "assertions.producer": "Üretici",\n "assertions.refreshTooltip": "Kimlik bilgilerinize eklediğiniz bağlantılı hesapları görüntülemek için hesapları yenileyin",\n "assertions.refreshing": "Yenileniyor...",\n "assertions.socialMedia": "Sosyal Medya",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Bu minik resimde gizlenen veya görünmeyen katmanlar içerebilir",\n "asset.unknownImage": "Başlıksız Görüntü",\n "badge.invalidCredentialsTooltip": "Content Credentials mevcut değil veya geçersiz.",\n "badge.ogpTooltip": "Bu varlık düzenlendi ancak bilgileri tamamlanmamış veya eksik.",\n "badge.validCredentialsTooltip": "Bu varlığın atıf ve geçmiş verileri var.",\n "com.adobe.changesBeforeLoad": "Bu dosyanın Content Credentials içeriğinde, Photoshop\'tan sonra yüklenen veya çöken Content Credentials (Beta) nedeniyle eksik düzenleme ya da etkinlik verileri olduğu belirtilecek. <a>Daha fazla bilgi</a>",\n "com.adobe.cppScript": "Content Credentials (Beta), komut dosyalarını veya 3. taraf eklentileri desteklemez. <a>Daha fazla bilgi</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta), katmanların diğer dosyalara çoğaltılmasını tam olarak desteklemez. <a>Daha fazla bilgi</a>",\n "com.adobe.enabledCAI": "Bu dosyanın Content Credentials içeriğinde, eksik düzenlemeler veya etkinlik olduğu belirtilecek. Düzenlemeler veya etkinlik, birden çok uygulama ya da cihazda veya Content Credentials (Beta) kapalıyken gerçekleşmiş olabilir. <a>Daha fazla bilgi</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta), komut dosyalarını veya 3. taraf eklentileri desteklemez. <a>Daha fazla bilgi</a>",\n "com.adobe.noCAIData": "Bu Photoshop dosyası, Content Credentials (Beta) olmadan oluşturulduğu için düzenlemeler ve etkinlik eksik olarak gösterilecek. <a>Daha fazla bilgi</a>",\n "com.adobe.outsideProgram": "Bu dosyanın Content Credentials içeriğinde, eksik düzenlemeler veya etkinlik olduğu belirtilecek. Düzenlemeler veya etkinlik, birden çok uygulama ya da cihazda veya Content Credentials (Beta) kapalıyken gerçekleşmiş olabilir. <a>Daha fazla bilgi</a>",\n "com.adobe.prerelease": "Geçerli belgeye eklenen bir veya daha fazla dosyada artık geçerli olmayan Content Credentials var. Geçerli belgenin Content Credentials etkilenmez.",\n "com.adobe.programCrash": "Bu dosyanın Content Credentials içeriğinde, Photoshop\'tan sonra yüklenen veya çöken Content Credentials (Beta) nedeniyle eksik düzenlemeler ya da etkinlik olduğu belirtilecek. <a>Daha fazla bilgi</a>",\n "com.adobe.smartObject": "Content Credentials (Beta), bağlantılı akıllı nesneleri tam olarak desteklemez. <a>Daha fazla bilgi</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta), komut dosyalarını veya 3. taraf eklentileri desteklemez. <a>Daha fazla bilgi</a>",\n "com.adobe.upgradedSpec": "Bu dosyanın önceki Content Credentials içeriği artık geçerli değil. Şimdi dışa aktarıp Content Credentials\'ı ekler veya yayımlarsanız yalnızca en son düzenleme, etkinlik ve atıf bilgileri dahil edilecektir.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Bu görüntüde birden fazla içerik parçası birleştirilmiştir. En az bir tanesi bir yapay zeka aracı ile oluşturulmuştur.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "İÇERİK ÖZETİ",\n "controls.info": "Farklı Dışa Aktar aracılığıyla dışa aktarırken Content Credentials\'a eklenecek ek bilgileri seçin. <a>Daha fazla bilgi</a>",\n "controls.learnMore": "Content Credentials (Beta), bazı Photoshop eylemlerini henüz desteklemediği için düzenlemeler ve etkinlik eksik olarak gösterilecek. <a>Daha fazla bilgi</a>",\n "controls.previewCredentials": "Önizleme",\n "controls.settingsTab": "Ayarlar",\n "error.caiHelper": "Dosyanız dışa aktarıldı ancak Content Credentials (Beta) ile başka bir hizmet arasındaki bağlantı sorunları nedeniyle Content Credentials yayımlanamadı veya eklenemedi. Lütfen daha sonra tekrar deneyin.",\n "error.embed.general": "Dosyanız dışa aktarıldı ancak bir hata nedeniyle Content Credentials yayımlanamadı veya eklenemedi. Tekrar dışa aktarmayı deneyebilirsiniz.",\n "error.ingredientLoadingEmbedError": "Dosyanız dışa aktarıldı ancak belge değişiklikleri işlenmeye devam ettiğinden Content Credentials yayımlanamadı veya eklenemedi. Lütfen biraz bekleyin ve tekrar deneyin.",\n "error.ingredientLoadingSaveError": "Belgede yapılan değişiklikler işlenmeye devam ettiğinden belgeniz ve Content Credentials kaydedilemedi. Değişikliklerin işlenmesi tamamlandığında Farklı Kaydet ile tekrar kaydetmeyi deneyin.",\n "error.offline": "Dosyanız dışa aktarıldı ancak Content Credentials yayımlanamadı veya eklenemedi. Lütfen ağ bağlantınızı kontrol edin ve tekrar deneyin.",\n "error.permissionSaveError": "Content Credentials, muhtemelen yetersiz dosya veya klasör izinleri nedeniyle kaydedilemedi.",\n "errorView.defaultError": "Bir hata nedeniyle Content Credentials (Beta) etkinleştirilemedi.",\n "errorView.tryAgain": "Yeniden deneyin",\n "errorView.unsupported": "Content Credentials (Beta), Bitmap veya Çok Kanallı görüntü modu kullanılan belgeleri desteklemez. <a>Daha fazla bilgi</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) muhtemelen yetersiz dosya veya klasör izinleri nedeniyle etkinleştirilemedi. <a>Daha fazla bilgi</a>",\n "fileError.asset.notFound": "Content Credentials (Beta), dosyanızı bulamıyor. Dosya silinmiş, taşınmış veya yeniden adlandırılmış olabilir. Daha fazla bilgi edinmek için helpx.adobe.com adresindeki “Content Credentials hakkında bilgi edinin” makalesini okuyun.",\n "fileError.asset.permission": "Content Credentials (Beta), dosyanızı bulamıyor. Dosya silinmiş, taşınmış veya yeniden adlandırılmış olabilir. Daha fazla bilgi edinmek için helpx.adobe.com adresindeki “Content Credentials hakkında bilgi edinin” makalesini okuyun.",\n "fileError.embed.notFound": "Dosyanız dışa aktarıldı ancak dosya bulunamadığından Content Credentials yayımlanamadı veya eklenemedi. Dosya silinmiş, taşınmış veya yeniden adlandırılmış olabilir. Daha fazla bilgi edinmek için helpx.adobe.com adresindeki “Content Credentials hakkında bilgi edinin” makalesini okuyun.",\n "fileError.embed.permission": "Dosyanız dışa aktarıldı ancak muhtemelen yetersiz izinler nedeniyle Content Credentials yayımlanamadı veya eklenemedi. Daha fazla bilgi edinmek için helpx.adobe.com adresindeki “Content Credentials hakkında bilgi edinin” makalesini okuyun.",\n "fileError.embed.tooLarge": "Dosyanız dışa aktarıldı ancak Content Credentials çok büyük olduğu için yayımlanamadı. “Dosyalara ekle (JPG ve PNG)” seçeneğini belirleyip tekrar dışarı aktararak bu bilgileri dosyanıza ekleyebilirsiniz.",\n "info.openFile": "Content Credentials\'ı (Beta) kullanmak için bir dosya açın.",\n "menu.disableContentCreds": "Content Credentials\'ı Devre Dışı Bırak",\n "menu.goToVerify": "Doğrulamaya Git",\n "menu.learnMore": "Daha Fazla Bilgi",\n "menu.manageConnectedAccounts": "Bağlı hesapları yönet",\n "menu.openPreferences": "Tercihler",\n "menu.provideFeedback": "Geri Bildirim Sağla",\n "menu.refreshConnectedAccounts": "Bağlı hesapları yenile",\n "menu.showOnEnable": "Etkinleştirildiğinde göster",\n "offlineView.refresh": "Yenile",\n "panel.disabled.enableDescription": "Content Credentials olarak paylaşılacak bilgileri seçerek çalışmanızın tanınmasını sağlayın ve çalışmanın nasıl yapıldığına ilişkin şeffaflığı artırın.",\n "panel.disabled.genAIDisclaimer": "Tamamen yapay zeka tarafından oluşturulan görüntüleri yerleştirirseniz Content Credentials otomatik olarak uygulanır. <a>Daha fazla bilgi</a>",\n "panel.enable": "Content Credentials\'ı Etkinleştir",\n "preview.assetsUsedDetail": "Kullanılan veya bu içeriğe eklenen tüm varlıklar",\n "preview.assetsUsedTitle": "MALZEMELER",\n "preview.editsActivityDetail": "Bu içeriği oluşturmak için yapılan değişiklikler ve eylemler",\n "preview.editsActivityTitle": "EYLEMLER",\n "preview.genAIModelUsed": "YAPAY ZEKA ARAÇLARI KULLANILDI",\n "preview.info": "Kişiler, içeriğinizle birlikte aşağıdaki bilgileri görüntüleyebilecek.",\n "preview.none": "Yok",\n "preview.producedByDetail": "Bu içeriği dışa aktaran kişinin seçilen adı",\n "preview.producedByTitle": "ÜRETEN",\n "preview.producedWithDetail": "Bu içeriği oluşturmak için kullanılan yazılım",\n "preview.producedWithTitle": "KULLANILAN UYGULAMA VEYA CİHAZ",\n "preview.signedByDetail": "Content Credentials\'ı (Beta) kaydeden varlık",\n "preview.signedByTitle": "YAYIMLAYAN",\n "preview.socialMediaDetail": "Bu içeriğin üreticisine bağlı sosyal medya hesapları",\n "preview.socialMediaTitle": "SOSYAL MEDYA HESAPLARI",\n "preview.web3Detail": "Bu içeriğin üreticisine bağlı Web3 hesapları",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Bir sorun oluştu. Üretici ve bağlı hesap ayarlarını değiştirmek için lütfen internet bağlantınızı kontrol edin.",\n "progressive.servicesDownExisting": "Bir veya daha fazla ayar eşitlenirken sorun oluştu ve bilgiler güncel olmayabilir.",\n "progressive.servicesDownNew": "Bir veya daha fazla ayar yüklenemediği için kullanılamıyor.",\n title: sT,\n "web3Account.copied": "Kopyalandı!"\n}, dT = "Content Credentials (Beta)", cT = {\n "action.c2pa.color_adjustments.description": "Скориговано властивості, як-от тон, насиченість, криві, тіні або підсвічування",\n "action.c2pa.color_adjustments.label": "Зміни кольору або експозиції",\n "action.c2pa.created.description": "Створено новий файл або вміст",\n "action.c2pa.created.label": "Створено",\n "action.c2pa.cropped.description": "Використано інструменти кадрування, зменшення або розширення області видимого вмісту",\n "action.c2pa.cropped.label": "Зміни кадрування",\n "action.c2pa.drawing.description": "Використано інструменти, як-от олівці, пензлі, гумки, або інструменти для форм, контурів або пера",\n "action.c2pa.drawing.label": "Зміни малювання",\n "action.c2pa.edited.description": "Внесено інші зміни",\n "action.c2pa.edited.label": "Інші зміни",\n "action.c2pa.filtered.description": "Використано інструменти, як-от фільтри, стилі чи ефекти для зміни вигляду",\n "action.c2pa.filtered.label": "Зміни фільтру або стилю",\n "action.c2pa.opened.description": "Відкрито вже існуючий файл",\n "action.c2pa.opened.label": "Відкрито",\n "action.c2pa.orientation.description": "Змінено положення або орієнтація (повернуто, віддзеркалено тощо)",\n "action.c2pa.orientation.label": "Зміни орієнтації",\n "action.c2pa.placed.description": "Додано вже існуючий вміст до цього файлу",\n "action.c2pa.placed.label": "Імпортовано",\n "action.c2pa.resized.description": "Змінено геометричні розміри або розмір файлу",\n "action.c2pa.resized.label": "Зміни розміру",\n "action.c2pa.unknown.description": "Виконано інші зміни або дії, які не вдалося розпізнати",\n "action.c2pa.unknown.label": "Невідомі зміни чи дії",\n "action.com.adobe.3d.description": "Створено або відредаговано 3D-об’єкти або сцени",\n "action.com.adobe.3d.label": "Зміни 3D",\n "action.com.adobe.animation_video.description": "Створено або відредаговано анімацію, аудіо або інші властивості відео",\n "action.com.adobe.animation_video.label": "Редагування відео",\n "action.com.adobe.combined_assets.description": "Складено або перевпорядковано вміст або змінено за допомогою інструментів вибірки вмісту",\n "action.com.adobe.combined_assets.label": "Комбіновано",\n "action.com.adobe.text.description": "Створено текст або внесено зміни в нього, зокрема в сімейство шрифтів, колір або інші стилі",\n "action.com.adobe.text.label": "Зміни тексту",\n "alert.missingActivityWarning": "Можливо, деякі правки чи дії не були записані. <a>Докладніше</a>",\n "assertions.connectAccounts": "Підключити облікові записи",\n "assertions.connectedAccounts": "Підключені облікові записи",\n "assertions.editsActivity": "Правки й активність",\n "assertions.genAI": "Підтвердження застосування генеративного ШІ (обов’язково)",\n "assertions.producer": "Виробник",\n "assertions.refreshTooltip": "Оновіть підключені облікові записи, щоб переглянути ті, які ви додали у своїх облікових даних",\n "assertions.refreshing": "Оновлення…",\n "assertions.socialMedia": "Соціальні мережі",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Може містити шари, приховані або невидимі на цьому ескізі",\n "asset.unknownImage": "Зображення без назви",\n "badge.invalidCredentialsTooltip": "Content Credentials недоступні або недійсні.",\n "badge.ogpTooltip": "Цей ресурс було відредаговано, але інформація про нього неповна або відсутня.",\n "badge.validCredentialsTooltip": "Цей ресурс має дані про атрибуцію та історію.",\n "com.adobe.changesBeforeLoad": "Content Credentials цього файлу вказуватимуть на відсутність даних про редагування чи активність, оскільки Content Credentials (Beta) завантажилися після Photoshop або аварійно завершили роботу. <a>Докладніше</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) не підтримують сценарії та сторонні плагіни. <a>Докладніше</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) не повністю підтримують копіювання шарів до інших файлів. <a>Докладніше</a>",\n "com.adobe.enabledCAI": "Content Credentials цього файлу вказуватимуть на відсутність правок чи дій. Правки чи дії могли виконуватися в кількох програмах чи на кількох пристроях або коли Content Credentials (Beta) було вимкнено. <a>Докладніше</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) не підтримують сценарії та сторонні плагіни. <a>Докладніше</a>",\n "com.adobe.noCAIData": "Цей файл Photoshop було створено без Content Credentials (Beta), тому правки й активність відображатимуться як відсутні. <a>Докладніше</a>",\n "com.adobe.outsideProgram": "Content Credentials цього файлу вказуватимуть на відсутність правок чи дій. Правки чи дії могли виконуватися в кількох програмах чи на кількох пристроях або коли Content Credentials (Beta) було вимкнено. <a>Докладніше</a>",\n "com.adobe.prerelease": "Принаймні один файл, доданий до поточного документа, містить більше не дійсні Content Credentials. Це не впливає на Content Credentials поточного документа.",\n "com.adobe.programCrash": "Content Credentials цього файлу вказуватимуть на відсутність правок чи дій, оскільки Content Credentials (Beta) завантажилися після Photoshop або аварійно завершили роботу. <a>Докладніше</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) не повністю підтримують пов’язані смарт-об’єкти. <a>Докладніше</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) не підтримують сценарії та сторонні плагіни. <a>Докладніше</a>",\n "com.adobe.upgradedSpec": "Попередні Content Credentials цього файлу більше не дійсні. Якщо ви експортуєте зараз і прикріпите або опублікуєте Content Credentials, буде включено інформацію лише про останню правку, дію та атрибуцію.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Це зображення поєднує в собі кілька частин вмісту. Принаймні одну з них створено за допомогою інструменту ШІ.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "ЗВЕДЕННЯ ДАНИХ ВМІСТУ",\n "controls.info": "Виберіть додаткову інформацію, яку потрібно включити до ваших Content Credentials під час експорту за командою «Експортувати як». <a>Докладніше</a>",\n "controls.learnMore": "Content Credentials (Beta) поки що не підтримують деякі дії Photoshop, тому правки й активність відображатимуться як відсутні. <a>Докладніше</a>",\n "controls.previewCredentials": "Перегляд",\n "controls.settingsTab": "Параметри",\n "error.caiHelper": "Ваш файл було експортовано, але його Content Credentials не вдалось опублікувати чи прикріпити через проблеми з’єднання між Content Credentials (Beta) та іншою службою. Спробуйте ще раз пізніше.",\n "error.embed.general": "Ваш файл експортовано, але не вдалось опублікувати чи прикріпити його Content Credentials через помилку. Спробуйте експортувати ще раз.",\n "error.ingredientLoadingEmbedError": "Ваш файл експортовано, але його Content Credentials не вдалось опублікувати чи прикріпити, оскільки зміни в документі ще оброблялися. Зачекайте трохи та спробуйте ще раз.",\n "error.ingredientLoadingSaveError": "Не вдалося зберегти ваш документ і його Content Credentials, оскільки зміни в документі ще оброблялися. Спробуйте зберегти знову командою «Зберегти як», коли обробка змін завершиться.",\n "error.offline": "Ваш файл експортовано, але не вдалось опублікувати чи прикріпити його Content Credentials. Перевірте підключення до мережі та спробуйте ще раз.",\n "error.permissionSaveError": "Не вдалося зберегти Content Credentials, можливо, через недостатні дозволи на файл або папку.",\n "errorView.defaultError": "Не вдалося ввімкнути Content Credentials (Beta) через помилку.",\n "errorView.tryAgain": "Повторити спробу",\n "errorView.unsupported": "Content Credentials (Beta) не підтримують документи, що використовують режим растрового чи багатоканального зображення. <a>Докладніше</a>",\n "errorView.unsupportedPersistance": "Не вдалося ввімкнути Content Credentials (Beta), можливо, через недостатні дозволи на файл або папку. <a>Докладніше</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) не можуть знайти ваш файл. Можливо, його було видалено, переміщено або перейменовано. Докладніше див. в статті «Відомості про Content Credentials» на сайті helpx.adobe.com.",\n "fileError.asset.permission": "Content Credentials (Beta) не можуть прочитати чи оновити цей файл, можливо, через брак дозволів. Докладніше див. в статті «Відомості про Content Credentials» на сайті helpx.adobe.com.",\n "fileError.embed.notFound": "Ваш файл експортовано, але не вдалось опублікувати чи прикріпити його Content Credentials, оскільки файл не знайдено. Можливо, його було видалено, переміщено або перейменовано. Докладніше див. в статті «Відомості про Content Credentials» на сайті helpx.adobe.com.",\n "fileError.embed.permission": "Ваш файл експортовано, але не вдалось опублікувати чи прикріпити його Content Credentials, можливо, через брак дозволів. Докладніше див. в статті «Відомості про Content Credentials» на сайті helpx.adobe.com.",\n "fileError.embed.tooLarge": "Ваш файл було експортовано, але його Content Credentials завеликі для публікації. Натомість ви можете приєднати їх до файлу, вибравши «Прикріпити до файлів (JPG і PNG)» і експортувавши знову.",\n "info.openFile": "Відкрийте файл, щоб використовувати Content Credentials (Beta).",\n "menu.disableContentCreds": "Вимкнення Content Credentials",\n "menu.goToVerify": "Перейдіть до «Підтвердити»",\n "menu.learnMore": "Докладніше",\n "menu.manageConnectedAccounts": "Керувати підключеними обліковими записами",\n "menu.openPreferences": "Уподобання",\n "menu.provideFeedback": "Надіслати відгук",\n "menu.refreshConnectedAccounts": "Оновити підключені облікові записи",\n "menu.showOnEnable": "Показати при включенні",\n "offlineView.refresh": "Оновити",\n "panel.disabled.enableDescription": "Отримайте визнання за свою роботу та підвищте прозорість процесу її створення, вибравши інформацію для включення в Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials застосовуються автоматично, якщо ви розміщуєте зображення, повністю згенеровані з використанням ШІ. <a>Докладніше</a>",\n "panel.enable": "Увімкнення Content Credentials",\n "preview.assetsUsedDetail": "Будь-які ресурси, використані або додані до цього вмісту",\n "preview.assetsUsedTitle": "КОМПОНЕНТИ",\n "preview.editsActivityDetail": "Зміни та дії, виконані для створення цього вмісту",\n "preview.editsActivityTitle": "ДІЇ",\n "preview.genAIModelUsed": "ВИКОРИСТАНО ІНСТРУМЕНТИ ШІ",\n "preview.info": "Люди зможуть переглядати наведену далі інформацію разом із вашим вмістом.",\n "preview.none": "Немає",\n "preview.producedByDetail": "Вибране ім’я особи, яка експортувала цей вміст",\n "preview.producedByTitle": "ВИРОБНИК",\n "preview.producedWithDetail": "Програмне забезпечення, використане для створення цього вмісту",\n "preview.producedWithTitle": "ВИКОРИСТАНА ПРОГРАМА АБО ПРИСТРІЙ",\n "preview.signedByDetail": "Організація, яка записала Content Credentials (Beta)",\n "preview.signedByTitle": "АВТОР",\n "preview.socialMediaDetail": "Облікові записи в соціальних мережах, підключені до виробника цього вмісту",\n "preview.socialMediaTitle": "ОБЛІКОВІ ЗАПИСИ У СОЦІАЛЬНИХ МЕРЕЖАХ",\n "preview.web3Detail": "Облікові записи Web3, підключені до виробника цього вмісту",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Сталася помилка. Перевірте підключення до інтернету, щоб змінити параметри виробника та підключених облікових записів.",\n "progressive.servicesDownExisting": "Сталася помилка синхронізації принаймні одного з параметрів, і їхні відомості, можливо, неактуальні.",\n "progressive.servicesDownNew": "Принаймні один із параметрів недоступний, оскільки його не вдалося завантажити.",\n title: dT,\n "web3Account.copied": "Скопійовано!"\n}, uT = "Content Credentials (Beta)", pT = {\n "action.c2pa.color_adjustments.description": "调整后的属性,如色调、饱和度、曲线、阴影或高光",\n "action.c2pa.color_adjustments.label": "颜色或曝光度编辑",\n "action.c2pa.created.description": "已创建新文件或内容",\n "action.c2pa.created.label": "已创建",\n "action.c2pa.cropped.description": "已使用的裁切工具(用于减少或扩大可见内容区域)",\n "action.c2pa.cropped.label": "裁切编辑",\n "action.c2pa.drawing.description": "已使用的工具,如铅笔、画笔、橡皮擦、形状、路径或钢笔工具",\n "action.c2pa.drawing.label": "绘图编辑",\n "action.c2pa.edited.description": "已执行其他更改",\n "action.c2pa.edited.label": "其他编辑",\n "action.c2pa.filtered.description": "已使用滤镜、样式或效果等工具来更改外观",\n "action.c2pa.filtered.label": "滤镜或样式编辑",\n "action.c2pa.opened.description": "已打开一个预先存在的文件",\n "action.c2pa.opened.label": "已打开",\n "action.c2pa.orientation.description": "已改变位置或方向(旋转、翻转等)",\n "action.c2pa.orientation.label": "方向 编辑",\n "action.c2pa.placed.description": "已向此文件添加预先存在的内容",\n "action.c2pa.placed.label": "已导入",\n "action.c2pa.resized.description": "已更改尺寸或文件大小",\n "action.c2pa.resized.label": "调整编辑大小",\n "action.c2pa.unknown.description": "已执行其他无法识别的编辑或活动",\n "action.c2pa.unknown.label": "未知的编辑或活动",\n "action.com.adobe.3d.description": "创建了 3D 对象或场景或对其作出了更改",\n "action.com.adobe.3d.label": "3D 编辑",\n "action.com.adobe.animation_video.description": "已创建动画、音频或其他视频属性或者对这些属性进行了更改",\n "action.com.adobe.animation_video.label": "视频编辑",\n "action.com.adobe.combined_assets.description": "已合成或重新排序内容,或使用内容取样工具进行了编辑",\n "action.com.adobe.combined_assets.label": "已合并",\n "action.com.adobe.text.description": "已创建或更改文本,包括字体系列、颜色或其他样式",\n "action.com.adobe.text.label": "文本编辑",\n "alert.missingActivityWarning": "一些编辑或活动可能未被记录下来。<a>了解详情</a>",\n "assertions.connectAccounts": "连接账户",\n "assertions.connectedAccounts": "已连接的账户",\n "assertions.editsActivity": "编辑和活动",\n "assertions.genAI": "生成式人工智能透明度(必需)",\n "assertions.producer": "制作者",\n "assertions.refreshTooltip": "刷新已连接的帐户,可查看您在凭据中添加的帐户",\n "assertions.refreshing": "正在刷新...",\n "assertions.socialMedia": "社交媒体",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "可能包含在此缩略图中隐藏或不可见的图层",\n "asset.unknownImage": "无标题图像",\n "badge.invalidCredentialsTooltip": "Content Credentials 不可用或无效。",\n "badge.ogpTooltip": "此资产已编辑,但其信息不完整或缺失。",\n "badge.validCredentialsTooltip": "此资源具有属性和历史数据。",\n "com.adobe.changesBeforeLoad": "此文件的 Content Credentials 将指示缺少编辑或活动数据,因为 Content Credentials (Beta) 在 Photoshop 之后加载或崩溃。<a>了解详情</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) 不支持脚本或第三方插件。<a>了解详情</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) 不完全支持将图层复制到其他文件。<a>了解详情</a>",\n "com.adobe.enabledCAI": "此文件的 Content Credentials 将指示缺少编辑或活动。编辑或活动可能发生在多个应用程序或设备上,或者 Content Credentials (Beta) 被禁用时。<a>了解详情</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) 不支持脚本或第三方插件。<a>了解详情</a>",\n "com.adobe.noCAIData": "此 Photoshop 文件是在没有 Content Credentials (Beta) 的情况下创建的,因此编辑和活动将显示为缺失。<a>了解详情</a>",\n "com.adobe.outsideProgram": "此文件的 Content Credentials 将指示缺少编辑或活动。编辑或活动可能发生在多个应用程序或设备上,或者 Content Credentials (Beta) 被禁用时。<a>了解详情</a>",\n "com.adobe.prerelease": "添加到当前文档的一个或多个文件的 Content Credentials 已失效。当前文档的 Content Credentials 不受影响。",\n "com.adobe.programCrash": "此文件的 Content Credentials 将指示缺少编辑或活动,因为 Content Credentials (Beta) 在 Photoshop 之后加载或崩溃。<a>了解详情</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) 不完全支持链接的智能对象。<a>了解详情</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) 不支持脚本或第三方插件。<a>了解详情</a>",\n "com.adobe.upgradedSpec": "此文件以前的 Content Credentials 不再有效。如果您现在导出并附加或发布 Content Credentials,则只会包括最近的编辑、活动和属性信息。",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "此图像组合了多个内容。至少一个是通过 AI 工具生成的。",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "内容摘要",\n "controls.info": "通过 Export As 导出时,选择要包含在 Content Credentials 中的其他信息。<a>了解详情</a>",\n "controls.learnMore": "Content Credentials (Beta) 尚不支持某些 Photoshop 操作,因此编辑和活动将显示为缺失。<a>了解详情</a>",\n "controls.previewCredentials": "预览",\n "controls.settingsTab": "设置",\n "error.caiHelper": "您的文件已导出,但由于 Content Credentials (Beta) 与其他服务之间的连接问题,无法发布或附加其 Content Credentials。请稍后再试。",\n "error.embed.general": "您的文件已导出,但由于错误,无法发布或附加其 Content Credentials。您可以再次尝试导出。",\n "error.ingredientLoadingEmbedError": "您的文件已导出,但无法发布或附加其 Content Credentials,因为文档更改仍在处理中。请稍等片刻,然后重试。",\n "error.ingredientLoadingSaveError": "无法保存您的文档及其 Content Credentials,因为对文档的更改仍在处理中。请在更改处理完成后再次尝试使用“另存为”进行保存。",\n "error.offline": "您的文件已导出,但无法发布或附加其 Content Credentials。请检查您的网络连接并重试。",\n "error.permissionSaveError": "无法保存 Content Credentials,可能是由于文件或文件夹权限不足。",\n "errorView.defaultError": "由于错误,无法启用 Content Credentials (Beta)。",\n "errorView.tryAgain": "重试",\n "errorView.unsupported": "Content Credentials (Beta) 不支持使用位图或多渠道图像模式的文档。<a>了解详情</a>",\n "errorView.unsupportedPersistance": "无法启用 Content Credentials (Beta),可能是由于文件或文件夹权限不足。<a>了解详情</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) 无法找到您的文件。它可能已被删除,移动或重命名。请阅读 helpx.adobe.com 上的“了解内容凭据”一文,了解详情。",\n "fileError.asset.permission": "Content Credentials (Beta) 无法读取或更新该文件,可能是由于权限不足。请阅读 helpx.adobe.com 上的“了解内容凭据”一文,了解详情。",\n "fileError.embed.notFound": "您的文件已导出,但无法发布或附加其 Content Credentials (Beta),因为未找到该文件。它可能已被删除,移动或重命名。请阅读 helpx.adobe.com 上的“了解 Content Credentials”一文,了解详情。",\n "fileError.embed.permission": "您的文件已导出,但无法发布或附加其 Content Credentials,可能是由于权限不足。请阅读 helpx.adobe.com 上的“了解 Content Credentials”一文,了解详情。",\n "fileError.embed.tooLarge": "您的文件已导出,但其 Content Credentials 因太大而无法发布。您可以通过选择“附加到文件(JPG 和 PNG)”并再次导出来将它们附加到您的文件。",\n "info.openFile": "打开文件以使用 Content Credentials (Beta)。",\n "menu.disableContentCreds": "禁用 Content Credentials",\n "menu.goToVerify": "前往验证",\n "menu.learnMore": "了解详情",\n "menu.manageConnectedAccounts": "管理已连接的账户",\n "menu.openPreferences": "偏好设置",\n "menu.provideFeedback": "提供反馈",\n "menu.refreshConnectedAccounts": "刷新已连接的账户",\n "menu.showOnEnable": "显示启用",\n "offlineView.refresh": "刷新",\n "panel.disabled.enableDescription": "通过选择在 Content Credentials 中分享的信息,让您的工作获得认可,并提高工作完成情况的透明度。",\n "panel.disabled.genAIDisclaimer": "如果您放置完全由 AI 生成的图像,则会自动应用 Content Credentials。<a>了解详情</a>",\n "panel.enable": "启用 Content Credentials",\n "preview.assetsUsedDetail": "使用或添加到此内容的任何资源",\n "preview.assetsUsedTitle": "元素",\n "preview.editsActivityDetail": "为制作此内容而采取的更改和操作",\n "preview.editsActivityTitle": "操作",\n "preview.genAIModelUsed": "使用的 AI 工具",\n "preview.info": `人们将能够通过您的内容查看以下信息。\n`,\n "preview.none": "无",\n "preview.producedByDetail": "导出此内容的人的选定姓名",\n "preview.producedByTitle": "制作者",\n "preview.producedWithDetail": "用于制作此内容的软件",\n "preview.producedWithTitle": "使用的应用程序或设备",\n "preview.signedByDetail": "记录 Content Credentials (Beta) 的实体",\n "preview.signedByTitle": "颁发者",\n "preview.socialMediaDetail": "连接到此内容制作者的社交媒体帐户",\n "preview.socialMediaTitle": "社交媒体帐户",\n "preview.web3Detail": "连接到此内容制作者的 Web3 帐户",\n "preview.web3Title": "WEB3",\n "progressive.offline": "出现了问题。请检查您的 Internet 连接以修改制作者和连接的帐户设置。",\n "progressive.servicesDownExisting": "一项或多项设置在同步时遇到问题,它们的信息可能不是最新的。",\n "progressive.servicesDownNew": "由于无法加载一项或多项设置,因此这些设置不可用。",\n title: uT,\n "web3Account.copied": "已复制!"\n}, fT = "Content Credentials (Beta)", mT = {\n "action.c2pa.color_adjustments.description": "調整了屬性,如色調、飽和度、曲線、陰影或亮部",\n "action.c2pa.color_adjustments.label": "顏色或曝光編輯",\n "action.c2pa.created.description": "建立了新檔案或內容",\n "action.c2pa.created.label": "已建立",\n "action.c2pa.cropped.description": "使用了裁切工具,縮減或擴大可見內容區域",\n "action.c2pa.cropped.label": "裁切編輯",\n "action.c2pa.drawing.description": "使用了鉛筆、筆刷、橡皮擦等工具,或是形狀、路徑或鋼筆工具",\n "action.c2pa.drawing.label": "繪圖編輯",\n "action.c2pa.edited.description": "進行了其他變更",\n "action.c2pa.edited.label": "其他編輯",\n "action.c2pa.filtered.description": "使用了濾鏡、風格或效果等工具來變更外觀",\n "action.c2pa.filtered.label": "濾鏡或風格編輯",\n "action.c2pa.opened.description": "開啟了已存在的檔案",\n "action.c2pa.opened.label": "已開啟",\n "action.c2pa.orientation.description": "變更了位置或方向 (旋轉、翻轉等)",\n "action.c2pa.orientation.label": "方向編輯",\n "action.c2pa.placed.description": "對此檔案新增了已存在的內容",\n "action.c2pa.placed.label": "已讀入",\n "action.c2pa.resized.description": "變更了尺寸或檔案大小",\n "action.c2pa.resized.label": "調整大小編輯",\n "action.c2pa.unknown.description": "執行了其他無法辨識的編輯或活動",\n "action.c2pa.unknown.label": "未知的編輯或活動",\n "action.com.adobe.3d.description": "建立或變更了 3D 物件或場景",\n "action.com.adobe.3d.label": "3D 編輯",\n "action.com.adobe.animation_video.description": "建立或變更了動畫、音訊或其他影片屬性",\n "action.com.adobe.animation_video.label": "影片編輯",\n "action.com.adobe.combined_assets.description": "複合或重新排序了內容,或使用內容取樣工具進行了編輯",\n "action.com.adobe.combined_assets.label": "已組合",\n "action.com.adobe.text.description": "建立或變更了文字,包括字體系列、顏色或其他樣式",\n "action.com.adobe.text.label": "文字編輯",\n "alert.missingActivityWarning": "部分編輯或活動可能尚未記錄。<a>了解更多</a>",\n "assertions.connectAccounts": "連接帳戶",\n "assertions.connectedAccounts": "已連接的帳戶",\n "assertions.editsActivity": "編輯和活動",\n "assertions.genAI": "生成式 AI 透明度 (必要)",\n "assertions.producer": "製作者",\n "assertions.refreshTooltip": "重新整理已連接的帳戶以檢視您已在憑證中新增的帳戶",\n "assertions.refreshing": "正在重新整理...",\n "assertions.socialMedia": "社交媒體",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "可能包含在此縮圖中隱藏或不可見的圖層",\n "asset.unknownImage": "未命名的影像",\n "badge.invalidCredentialsTooltip": "Content Credentials 無法使用或無效。",\n "badge.ogpTooltip": "此資產已編輯,但其資訊不完整或遺失。",\n "badge.validCredentialsTooltip": "此資產有署名和步驟記錄資料。",\n "com.adobe.changesBeforeLoad": "此檔案的 Content Credentials 將指示編輯或活動資料遺失,因為 Content Credentials (Beta) 在 Photoshop 之後載入或當機。<a>了解更多</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) 不支援指令碼或第三方外掛程式。<a>了解更多</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) 不完全支援將圖層複製到其他檔案。<a>了解更多</a>",\n "com.adobe.enabledCAI": "此檔案的 Content Credentials 將指示遺失編輯或活動。編輯或活動可能發生在多個應用程式或裝置上,或者 Content Credentials (Beta) 關閉時。<a>了解更多</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) 不支援指令碼或第三方外掛程式。<a>了解更多</a>",\n "com.adobe.noCAIData": "此 Photoshop 檔案是在沒有 Content Credentials (Beta) 的情況下建立,因此編輯和活動將顯示為遺失。<a>了解更多</a>",\n "com.adobe.outsideProgram": "此檔案的 Content Credentials 將指示遺失編輯或活動。編輯或活動可能發生在多個應用程式或裝置上,或者 Content Credentials (Beta) 關閉時。<a>了解更多</a>",\n "com.adobe.prerelease": "新增至目前文件的一個或多個檔案具有不再有效的 Content Credentials。目前文件的 Content Credentials 不受影響。",\n "com.adobe.programCrash": "此檔案的 Content Credentials 將指示遺失編輯或活動,因為 Content Credentials (Beta) 在 Photoshop 之後載入或當機。<a>了解更多</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) 不完全支援連結的智慧型物件。<a>了解更多</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) 不支援指令碼或第三方外掛程式。<a>了解更多</a>",\n "com.adobe.upgradedSpec": "此檔案先前的 Content Credentials 已不再有效。如果您現在轉存並附加或發佈 Content Credentials,則只會包含最近的編輯、活動和署名資訊。",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "此影像組合了多個內容。至少有一個內容是使用 AI 工具所產生。",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "內容摘要",\n "controls.info": "透過「匯出為」匯出時,選擇要包含在 Content Credentials 中的額外資訊。<a>了解更多</a>",\n "controls.learnMore": "Content Credentials (Beta) 尚不支援某些 Photoshop 動作,因此編輯和活動將顯示為遺失。<a>了解更多</a>",\n "controls.previewCredentials": "預覽",\n "controls.settingsTab": "設定",\n "error.caiHelper": "您的檔案已轉存,但由於 Content Credentials (Beta) 與其他服務之間的連線問題,無法發佈或附加其 Content Credentials。請稍後再試。",\n "error.embed.general": "您的檔案已轉存,但由於發生錯誤,因此無法發佈或附加其 Content Credentials。您可以再次嘗試轉存。",\n "error.ingredientLoadingEmbedError": "您的檔案已轉存,但由於文件變更仍在處理中,因此無法發佈或附加其 Content Credentials。請稍候片刻,然後再試一次。",\n "error.ingredientLoadingSaveError": "由於對文件的變更仍在處理中,因此無法儲存您的文件及其 Content Credentials。請在變更處理完成後,再次嘗試使用「另存檔案」進行儲存。",\n "error.offline": "您的檔案已轉存,但無法發佈或附加其 Content Credentials。請檢查您的網路連線,然後再試一次。",\n "error.permissionSaveError": "無法儲存 Content Credentials,這可能是因為檔案或檔案夾權限不足。",\n "errorView.defaultError": "由於發生錯誤,無法啟用 Content Credentials (Beta)。",\n "errorView.tryAgain": "再試一次",\n "errorView.unsupported": "Content Credentials (Beta) 不支援使用點陣圖或多重色版影像模式的文件。<a>了解更多</a>",\n "errorView.unsupportedPersistance": "無法啟用 Content Credentials (Beta),可能是由於檔案或檔案夾權限不足。<a>了解更多</a>",\n "fileError.asset.notFound": "Content Credentials (Beta) 找不到您的檔案。該檔案可能已刪除、移動或重新命名。若要了解更多資訊,請閱讀 helpx.adobe.com 上的「了解 Content Credentials」一文。",\n "fileError.asset.permission": "可能由於權限不足,Content Credentials (Beta) 無法讀取或更新此檔案。若要了解更多資訊,請閱讀 helpx.adobe.com 上的「了解 Content Credentials」一文。",\n "fileError.embed.notFound": "您的檔案已轉存,但由於找不到該檔案,因此無法發佈或附加其 Content Credentials。檔案可能已刪除、移動或重新命名。若要了解更多資訊,請閱讀 helpx.adobe.com 上的「了解 Content Credentials」一文。",\n "fileError.embed.permission": "您的檔案已轉存,但可能由於權限不足,因此無法發佈或附加其 Content Credentials。若要了解更多資訊,請閱讀 helpx.adobe.com 上的「了解 Content Credentials」一文。",\n "fileError.embed.tooLarge": "您的檔案已轉存,但其 Content Credentials 太大而無法發佈。您可以選擇「附加到檔案 (JPG 和 PNG)」並再次轉存,以將它們附加到您的檔案。",\n "info.openFile": "開啟檔案以使用 Content Credentials (Beta)。",\n "menu.disableContentCreds": "停用 Content Credentials",\n "menu.goToVerify": "前往驗證",\n "menu.learnMore": "了解更多",\n "menu.manageConnectedAccounts": "管理已連接的帳戶",\n "menu.openPreferences": "偏好設定",\n "menu.provideFeedback": "提供回饋意見",\n "menu.refreshConnectedAccounts": "重新整理已連接的帳戶",\n "menu.showOnEnable": "啟用時顯示",\n "offlineView.refresh": "重新整理",\n "panel.disabled.enableDescription": "透過選擇要在 Content Credentials 中分享的資訊,獲得對您作品的認可並提高其製作方式的透明度。",\n "panel.disabled.genAIDisclaimer": "如果您置入完全由 AI 產生的影像,則會自動套用 Content Credentials。<a>了解更多</a>",\n "panel.enable": "啟用 Content Credentials",\n "preview.assetsUsedDetail": "使用或新增至此內容的任何資產",\n "preview.assetsUsedTitle": "元素",\n "preview.editsActivityDetail": "為製作此內容而採取的變更和動作",\n "preview.editsActivityTitle": "動作",\n "preview.genAIModelUsed": "使用的 AI 工具",\n "preview.info": "人們將能夠透過您的內容檢視以下資訊。",\n "preview.none": "無",\n "preview.producedByDetail": "轉存此內容的人員的選定名稱",\n "preview.producedByTitle": "製作者",\n "preview.producedWithDetail": "用於製作此內容的軟體",\n "preview.producedWithTitle": "使用的應用程式或裝置",\n "preview.signedByDetail": "記錄 Content Credentials (Beta) 的實體",\n "preview.signedByTitle": "核發者",\n "preview.socialMediaDetail": "連接至此內容製作者的社交媒體帳戶",\n "preview.socialMediaTitle": "社交媒體帳戶",\n "preview.web3Detail": "連接至此內容製作者的 Web3 帳戶",\n "preview.web3Title": "WEB3",\n "progressive.offline": "發生錯誤。請檢查您的網際網路連線,以修改製作者和已連接帳戶設定。",\n "progressive.servicesDownExisting": "一項或多項設定無法同步,它們的資訊可能不是最新的。",\n "progressive.servicesDownNew": "一項或多項設定無法使用,因為無法載入。",\n title: fT,\n "web3Account.copied": "已拷貝!"\n}, hT = "Content Credentials (Beta)", vT = {\n "action.c2pa.color_adjustments.description": "Menyesuaikan properti seperti nada, saturasi, kurva, bayangan, atau sorotan",\n "action.c2pa.color_adjustments.label": "Pengeditan warna atau eksposur",\n "action.c2pa.created.description": "Membuat file atau konten baru",\n "action.c2pa.created.label": "Dibuat",\n "action.c2pa.cropped.description": "Menggunakan alat pemangkasan, mengurangi atau memperluas area konten yang terlihat",\n "action.c2pa.cropped.label": "Memangkas hasil edit",\n "action.c2pa.drawing.description": "Menggunakan alat seperti pensil, kuas, penghapus, atau alat bentuk, jalur, atau pena",\n "action.c2pa.drawing.label": "Pengeditan gambar",\n "action.c2pa.edited.description": "Membuat perubahan lain",\n "action.c2pa.edited.label": "Pengeditan lainnya",\n "action.c2pa.filtered.description": "Menggunakan alat seperti filter, gaya, atau efek untuk mengubah tampilan",\n "action.c2pa.filtered.label": "Filter atau pengeditan gaya",\n "action.c2pa.opened.description": "Membuka file yang sudah ada",\n "action.c2pa.opened.label": "Dibuka",\n "action.c2pa.orientation.description": "Mengubah posisi atau orientasi (diputar, dibalik, dll.)",\n "action.c2pa.orientation.label": "Pengeditan orientasi",\n "action.c2pa.placed.description": "Menambahkan konten yang sudah ada ke file ini",\n "action.c2pa.placed.label": "Diimpor",\n "action.c2pa.resized.description": "Mengubah dimensi atau ukuran file",\n "action.c2pa.resized.label": "Mengubah ukuran hasil edit",\n "action.c2pa.unknown.description": "Melakukan pengeditan atau aktivitas lain yang tidak dapat dikenali",\n "action.c2pa.unknown.label": "Pengeditan atau aktivitas tidak diketahui",\n "action.com.adobe.3d.description": "Membuat atau melakukan pengubahan pada objek 3D atau pemandangan",\n "action.com.adobe.3d.label": "Pengeditan 3D",\n "action.com.adobe.animation_video.description": "Membuat atau membuat perubahan pada animasi, audio, atau properti video lainnya",\n "action.com.adobe.animation_video.label": "Pengeditan video",\n "action.com.adobe.combined_assets.description": "Menggabungkan atau menyusun ulang konten, atau mengedit dengan alat pengambilan sampel konten",\n "action.com.adobe.combined_assets.label": "Digabungkan",\n "action.com.adobe.text.description": "Membuat atau membuat perubahan pada teks, termasuk kelompok font, warna, atau gaya lainnya",\n "action.com.adobe.text.label": "Pengeditan teks",\n "alert.missingActivityWarning": "Beberapa pengeditan atau aktivitas mungkin tidak dicatat. <a>Selengkapnya</a>",\n "assertions.connectAccounts": "Hubungkan akun",\n "assertions.connectedAccounts": "Akun yang terhubung",\n "assertions.editsActivity": "Pengeditan dan aktivitas",\n "assertions.genAI": "Transparansi AI generatif (wajib)",\n "assertions.producer": "Produser",\n "assertions.refreshTooltip": "Segarkan akun yang terhubung untuk melihat akun yang telah ditambahkan di kredensial Anda",\n "assertions.refreshing": "Menyegarkan...",\n "assertions.socialMedia": "Media Sosial",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Mungkin berisi lapisan yang tersembunyi atau tidak terlihat di gambar mini ini",\n "asset.unknownImage": "Citra Tanpa Judul",\n "badge.invalidCredentialsTooltip": "Content Credentials tidak tersedia atau tidak valid.",\n "badge.ogpTooltip": "Aset ini telah diedit, tetapi informasinya tidak lengkap atau tidak ada.",\n "badge.validCredentialsTooltip": "Aset ini memiliki data atribusi dan riwayat.",\n "com.adobe.changesBeforeLoad": "Content Credentials file ini akan menunjukkan data aktivitas atau pengeditan yang tidak ada karena Content Credentials (Beta) dimuat setelah Photoshop atau macet. <a>Selengkapnya</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) tidak mendukung skrip atau plugin pihak ketiga. <a>Selengkapnya</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) tidak sepenuhnya mendukung duplikasi lapisan ke file lain. <a>Selengkapnya</a>",\n "com.adobe.enabledCAI": "Content Credentials file ini akan menunjukkan pengeditan atau aktivitas yang tidak ada. Pengeditan atau aktivitas mungkin terjadi di beberapa aplikasi atau perangkat, atau saat Content Credentials (Beta) dinonaktifkan. <a>Selengkapnya</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) tidak mendukung skrip atau plugin pihak ketiga. <a>Selengkapnya</a>",\n "com.adobe.noCAIData": "File Photoshop ini dibuat tanpa Content Credentials (Beta), sehingga pengeditan dan aktivitas akan ditampilkan sebagai tidak ada. <a>Selengkapnya</a>",\n "com.adobe.outsideProgram": "Content Credentials file ini akan menunjukkan pengeditan atau aktivitas yang tidak ada. Pengeditan atau aktivitas mungkin terjadi di beberapa aplikasi atau perangkat, atau saat Content Credentials (Beta) dinonaktifkan. <a>Selengkapnya</a>",\n "com.adobe.prerelease": "Satu atau beberapa file yang ditambahkan ke dokumen saat ini memiliki Content Credentials yang tidak valid lagi. Content Credentials dokumen saat ini tidak terpengaruh.",\n "com.adobe.programCrash": "Content Credentials file ini akan menunjukkan pengeditan atau aktivitas yang tidak ada karena Content Credentials (Beta) dimuat setelah Photoshop atau macet. <a>Selengkapnya</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) tidak sepenuhnya mendukung objek cerdas yang ditautkan. <a>Selengkapnya</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) tidak mendukung skrip atau plugin pihak ketiga. <a>Selengkapnya</a>",\n "com.adobe.upgradedSpec": "Content Credentials sebelumnya dari file ini tidak valid lagi. Jika Anda mengekspor sekarang dan melampirkan atau menerbitkan Content Credentials, hanya informasi edit, aktivitas, dan atribusi terbaru yang akan disertakan.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Citra ini memadukan beberapa konten. Setidaknya satu dibuat dengan alat AI.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "RINGKASAN KONTEN",\n "controls.info": "Pilih informasi tambahan untuk disertakan dalam Content Credentials Anda saat mengekspor melalui Ekspor Sebagai. <a>Selengkapnya</a>",\n "controls.learnMore": "Content Credentials (Beta) belum mendukung beberapa tindakan Photoshop, sehingga pengeditan dan aktivitas akan ditampilkan sebagai tidak ada. <a>Selengkapnya</a>",\n "controls.previewCredentials": "Pratinjau",\n "controls.settingsTab": "Pengaturan",\n "error.caiHelper": "File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan karena masalah koneksi antara Content Credentials (Beta) dan layanan lain. Coba lagi nanti.",\n "error.embed.general": "File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan karena terjadi kesalahan. Anda dapat mencoba mengekspor lagi.",\n "error.ingredientLoadingEmbedError": "File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan karena perubahan dokumen masih diproses. Tunggu sebentar dan coba lagi.",\n "error.ingredientLoadingSaveError": "Dokumen Anda dan Content Credentials-nya tidak dapat disimpan karena perubahan pada dokumen masih diproses. Coba menyimpan lagi dengan Simpan Sebagai setelah perubahan selesai diproses.",\n "error.offline": "File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan. Periksa koneksi jaringan Anda dan coba lagi.",\n "error.permissionSaveError": "Content Credentials tidak dapat disimpan, mungkin karena izin file atau folder tidak memadai.",\n "errorView.defaultError": "Content Credentials (Beta) tidak dapat diaktifkan karena terjadi kesalahan.",\n "errorView.tryAgain": "Coba lagi",\n "errorView.unsupported": "Content Credentials (Beta) tidak mendukung dokumen yang menggunakan mode gambar Bitmap atau Multisaluran. <a>Selengkapnya</a>",\n "errorView.unsupportedPersistance": "Content Credentials (Beta) tidak dapat diaktifkan, mungkin karena izin file atau folder tidak memadai. <a>Selengkapnya</a>",\n "fileError.asset.notFound": \'Content Credentials (Beta) tidak dapat menemukan file Anda. File mungkin telah dihapus, dipindahkan, atau diganti namanya. Baca artikel "Pelajari tentang Content Credentials" di helpx.adobe.com untuk selengkapnya.\',\n "fileError.asset.permission": \'Content Credentials (Beta) tidak dapat membaca atau memperbarui file ini, mungkin karena izin yang tidak memadai. Baca artikel "Pelajari tentang Content Credentials" di helpx.adobe.com untuk mengetahui selengkapnya.\',\n "fileError.embed.notFound": \'File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan karena file tidak dapat ditemukan. File mungkin telah dihapus, dipindahkan, atau diganti namanya. Baca artikel "Pelajari tentang Content Credentials" di helpx.adobe.com untuk mengetahui selengkapnya.\',\n "fileError.embed.permission": \'File Anda telah diekspor tetapi Content Credentials-nya tidak dapat dipublikasikan atau dilampirkan, mungkin karena izin yang tidak memadai. Baca artikel "Pelajari tentang Content Credentials" di helpx.adobe.com untuk mengetahui selengkapnya.\',\n "fileError.embed.tooLarge": \'File Anda telah diekspor tetapi Content Credentials-nya terlalu besar untuk dipublikasikan. Anda dapat melampirkannya ke file Anda dengan memilih "Lampirkan ke file (JPG & PNG)" dan mengekspor lagi.\',\n "info.openFile": "Buka file untuk menggunakan Content Credentials (Beta).",\n "menu.disableContentCreds": "Nonaktifkan Content Credentials",\n "menu.goToVerify": "Buka Verifikasi",\n "menu.learnMore": "Selengkapnya",\n "menu.manageConnectedAccounts": "Kelola akun yang terhubung",\n "menu.openPreferences": "Preferensi",\n "menu.provideFeedback": "Berikan Umpan Balik",\n "menu.refreshConnectedAccounts": "Segarkan akun yang terhubung",\n "menu.showOnEnable": "Tampilkan saat diaktifkan",\n "offlineView.refresh": "Segarkan",\n "panel.disabled.enableDescription": "Dapatkan pengakuan atas karya Anda dan tingkatkan transparansi tentang cara pembuatannya dengan memilih informasi untuk dibagikan dalam Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials diterapkan secara otomatis jika Anda menempatkan gambar yang sepenuhnya dihasilkan oleh AI. <a>Selengkapnya</a>",\n "panel.enable": "Aktifkan Content Credentials",\n "preview.assetsUsedDetail": "Aset apa pun yang digunakan atau ditambahkan ke konten ini",\n "preview.assetsUsedTitle": "MATERI",\n "preview.editsActivityDetail": "Pengubahan dan tindakan yang dilakukan untuk menghasilkan konten ini",\n "preview.editsActivityTitle": "TINDAKAN",\n "preview.genAIModelUsed": "ALAT AI YANG DIGUNAKAN",\n "preview.info": "Orang-orang akan dapat melihat informasi berikut dengan konten Anda.",\n "preview.none": "Tidak ada",\n "preview.producedByDetail": "Nama orang yang mengekspor konten ini dipilih",\n "preview.producedByTitle": "DIPRODUKSI OLEH",\n "preview.producedWithDetail": "Perangkat lunak yang digunakan untuk membuat konten ini",\n "preview.producedWithTitle": "APLIKASI ATAU PERANGKAT YANG DIGUNAKAN",\n "preview.signedByDetail": "Entitas yang mencatat Content Credentials (Beta)",\n "preview.signedByTitle": "DIKELUARKAN OLEH",\n "preview.socialMediaDetail": "Akun media sosial terhubung ke produser konten ini",\n "preview.socialMediaTitle": "AKUN MEDIA SOSIAL",\n "preview.web3Detail": "Akun Web3 terhubung ke produser konten ini",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Terjadi kesalahan. Periksa koneksi internet Anda untuk mengubah pengaturan akun yang terhubung dan produser.",\n "progressive.servicesDownExisting": "Satu atau beberapa pengaturan mengalami masalah saat disinkronkan dan informasinya mungkin tidak terbaru.",\n "progressive.servicesDownNew": "Satu atau beberapa pengaturan tidak tersedia karena tidak dapat dimuat.",\n title: hT,\n "web3Account.copied": "Disalin!"\n}, gT = "Content Credentials (Beta)", bT = {\n "action.c2pa.color_adjustments.description": "Các thuộc tính được điều chỉnh như tông màu, độ bão hòa, đường cong, bóng hoặc vùng sáng",\n "action.c2pa.color_adjustments.label": "Chỉnh sửa màu sắc hoặc độ phơi sáng",\n "action.c2pa.created.description": "Đã tạo một tệp hoặc nội dung mới",\n "action.c2pa.created.label": "Đã tạo",\n "action.c2pa.cropped.description": "Đã sử dụng các công cụ cắt xén, giảm hoặc mở rộng vùng nội dung hiển thị",\n "action.c2pa.cropped.label": "Chỉnh sửa cắt xén",\n "action.c2pa.drawing.description": "Đã sử dụng các công cụ như bút chì, bút vẽ, tẩy hoặc công cụ hình dạng, đường dẫn hoặc bút",\n "action.c2pa.drawing.label": "Chỉnh sửa bản vẽ",\n "action.c2pa.edited.description": "Thực hiện các thay đổi khác",\n "action.c2pa.edited.label": "Các chỉnh sửa khác",\n "action.c2pa.filtered.description": "Đã sử dụng các công cụ như bộ lọc, kiểu hoặc hiệu ứng để thay đổi giao diện",\n "action.c2pa.filtered.label": "Chỉnh sửa bộ lọc hoặc kiểu",\n "action.c2pa.opened.description": "Đã mở một tệp có sẵn",\n "action.c2pa.opened.label": "Đã mở",\n "action.c2pa.orientation.description": "Đã thay đổi vị trí hoặc hướng (xoay, lật, v.v.)",\n "action.c2pa.orientation.label": "Chỉnh sửa hướng",\n "action.c2pa.placed.description": "Đã thêm nội dung có sẵn vào tệp này",\n "action.c2pa.placed.label": "Đã nhập",\n "action.c2pa.resized.description": "Đã thay đổi kích thước hoặc kích thước tệp",\n "action.c2pa.resized.label": "Chỉnh sửa thay đổi kích thước",\n "action.c2pa.unknown.description": "Đã thực hiện các chỉnh sửa hoặc hoạt động khác không nhận diện được",\n "action.c2pa.unknown.label": "Các chỉnh sửa hoặc hoạt động không xác định",\n "action.com.adobe.3d.description": "Đã tạo hoặc thực hiện các thay đổi đối với đối tượng hoặc cảnh 3D",\n "action.com.adobe.3d.label": "Chỉnh sửa 3D",\n "action.com.adobe.animation_video.description": "Đã tạo hoặc thực hiện thay đổi đối với hoạt ảnh, âm thanh hoặc thuộc tính video khác",\n "action.com.adobe.animation_video.label": "Chỉnh sửa video",\n "action.com.adobe.combined_assets.description": "Đã bố cục lại hoặc sắp xếp lại nội dung, hoặc chỉnh sửa bằng các công cụ lấy mẫu nội dung",\n "action.com.adobe.combined_assets.label": "Đã kết hợp",\n "action.com.adobe.text.description": "Đã tạo hoặc thực hiện các thay đổi đối với văn bản, bao gồm họ phông chữ, màu sắc hoặc các kiểu khác",\n "action.com.adobe.text.label": "Chỉnh sửa văn bản",\n "alert.missingActivityWarning": "Một số nội dung chỉnh sửa hoặc hoạt động có thể chưa được ghi lại. <a>Tìm hiểu thêm</a>",\n "assertions.connectAccounts": "Kết nối tài khoản",\n "assertions.connectedAccounts": "Tài khoản được kết nối",\n "assertions.editsActivity": "Chỉnh sửa và hoạt động",\n "assertions.genAI": "Thông tin minh bạch về AI tạo sinh (bắt buộc)",\n "assertions.producer": "Nhà sản xuất",\n "assertions.refreshTooltip": "Làm mới tài khoản được kết nối để xem tài khoản bạn đã thêm vào thông tin tác quyền",\n "assertions.refreshing": "Đang làm mới...",\n "assertions.socialMedia": "Mạng xã hội",\n "assertions.web3": "WEB3",\n "asset.hiddenLayerWarning": "Có thể chứa những lớp bị ẩn hoặc không hiển thị trong hình thu nhỏ này",\n "asset.unknownImage": "Hình ảnh không có tiêu đề",\n "badge.invalidCredentialsTooltip": "Content Credentials không có sẵn hoặc không hợp lệ.",\n "badge.ogpTooltip": "Tài nguyên này đã được chỉnh sửa, nhưng thông tin về việc chỉnh sửa không đầy đủ hoặc bị thiếu.",\n "badge.validCredentialsTooltip": "Tài nguyên này có dữ liệu lịch sử và nguồn gốc.",\n "com.adobe.changesBeforeLoad": "Content Credentials của tệp này sẽ cho biết là thiếu nội dung chỉnh sửa hoặc hoạt động vì Content Credentials (Beta) được tải sau khi Photoshop khởi chạy hoặc bị lỗi. <a>Tìm hiểu thêm</a>",\n "com.adobe.cppScript": "Content Credentials (Beta) không hỗ trợ tập lệnh hoặc plugin của bên thứ ba. <a>Tìm hiểu thêm</a>",\n "com.adobe.duplicatePossibleSmartObject": "Content Credentials (Beta) hiện chưa hỗ trợ đầy đủ việc sao chép các lớp sang tệp khác. <a>Tìm hiểu thêm</a>",\n "com.adobe.enabledCAI": "Content Credentials của tệp này sẽ cho biết là thiếu nội dung chỉnh sửa hoặc hoạt động. Nội dung chỉnh sửa hoặc hoạt động có thể đã diễn ra trên nhiều ứng dụng/thiết bị hoặc khi Content Credentials (Beta) bị tắt. <a>Tìm hiểu thêm</a>",\n "com.adobe.jsxScript": "Content Credentials (Beta) không hỗ trợ tập lệnh hoặc plugin của bên thứ ba. <a>Tìm hiểu thêm</a>",\n "com.adobe.noCAIData": "Tệp Photoshop này được tạo mà không có Content Credentials (Beta), vì vậy, nội dung chỉnh sửa và hoạt động sẽ được hiển thị là bị thiếu. <a>Tìm hiểu thêm</a>",\n "com.adobe.outsideProgram": "Content Credentials của tệp này sẽ cho biết là thiếu nội dung chỉnh sửa hoặc hoạt động. Nội dung chỉnh sửa hoặc hoạt động có thể đã diễn ra trên nhiều ứng dụng/thiết bị hoặc khi Content Credentials (Beta) bị tắt. <a>Tìm hiểu thêm</a>",\n "com.adobe.prerelease": "Một hoặc nhiều tệp được thêm vào tài liệu hiện tại có Content Credentials không còn hợp lệ. Content Credentials của tài liệu hiện tại không bị ảnh hưởng.",\n "com.adobe.programCrash": "Content Credentials của tệp này sẽ cho biết là thiếu nội dung chỉnh sửa hoặc hoạt động vì Content Credentials (Beta) được tải sau khi Photoshop khởi chạy hoặc bị lỗi. <a>Tìm hiểu thêm</a>",\n "com.adobe.smartObject": "Content Credentials (Beta) không hỗ trợ đầy đủ các đối tượng thông minh được liên kết. <a>Tìm hiểu thêm</a>",\n "com.adobe.thirdPartyScript": "Content Credentials (Beta) không hỗ trợ tập lệnh hoặc plugin của bên thứ ba. <a>Tìm hiểu thêm</a>",\n "com.adobe.upgradedSpec": "Content Credentials trước đó của tệp này không còn hợp lệ. Nếu bạn xuất tệp bây giờ và đính kèm hoặc xuất bản Content Credentials, thì chỉ có thông tin chỉnh sửa, hoạt động và tác quyền gần đây nhất sẽ được đưa vào.",\n "contentSummary.summary.algorithmicallyEnhanced": "",\n "contentSummary.summary.compositeSynthetic": "",\n "contentSummary.summary.compositeWithTrainedAlgorithmicMedia": "Hình ảnh này kết hợp nhiều nội dung khác nhau. Ít nhất một trong số đó được tạo bằng công cụ AI.",\n "contentSummary.summary.digitalCapture": "",\n "contentSummary.summary.trainedAlgorithmicMedia": "",\n "contentSummary.title": "TÓM TẮT NỘI DUNG",\n "controls.info": "Chọn thông tin bổ sung để đưa vào Content Credentials của bạn khi xuất qua tính năng Xuất dưới dạng. <a>Tìm hiểu thêm</a>",\n "controls.learnMore": "Content Credentials (Beta) hiện chưa hỗ trợ một số hành động trong Photoshop, vì vậy, các chỉnh sửa và hoạt động có thể sẽ hiển thị là bị thiếu. <a>Tìm hiểu thêm</a>",\n "controls.previewCredentials": "Xem trước",\n "controls.settingsTab": "Thiết đặt",\n "error.caiHelper": "Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp do sự cố kết nối giữa Content Credentials (Beta) và dịch vụ khác. Vui lòng thử lại sau.",\n "error.embed.general": "Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp do lỗi. Bạn có thể thử xuất lại.",\n "error.ingredientLoadingEmbedError": "Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp vì các thay đổi đối với tài liệu vẫn đang được xử lý. Vui lòng đợi một lát rồi thử lại.",\n "error.ingredientLoadingSaveError": "Không thể lưu tài liệu của bạn và Content Credentials của tài liệu vì các thay đổi trên văn bản vẫn đang được xử lý. Vui lòng thử lưu lại bằng chế độ Lưu làm sau khi quá trình xử lý hoàn tất.",\n "error.offline": "Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp đó. Vui lòng kiểm tra kết nối mạng rồi thử lại.",\n "error.permissionSaveError": "Không thể lưu Content Credentials, có thể là do không đủ quyền đối với tệp hoặc thư mục.",\n "errorView.defaultError": "Không thể bật Content Credentials (Beta) do có lỗi.",\n "errorView.tryAgain": "Thử lại",\n "errorView.unsupported": "Content Credentials (Beta) không hỗ trợ những tài liệu sử dụng chế độ hình ảnh Bitmap hoặc Đa kênh. <a>Tìm hiểu thêm</a>",\n "errorView.unsupportedPersistance": "Không thể bật Content Credentials (Beta), có thể là do không đủ quyền đối với tệp hoặc thư mục. <a>Tìm hiểu thêm</a>",\n "fileError.asset.notFound": \'Content Credentials (Beta) không tìm thấy tệp của bạn. Tệp có thể đã bị xóa, di chuyển hoặc đổi tên. Hãy đọc bài viết "Tìm hiểu về Content Credentials" trên helpx.adobe.com để tìm hiểu thêm.\',\n "fileError.asset.permission": \'Content Credentials (Beta) không thể đọc hoặc cập nhật tệp này, có thể là do không đủ quyền. Hãy đọc bài viết "Tìm hiểu về Content Credentials" trên helpx.adobe.com để tìm hiểu thêm.\',\n "fileError.embed.notFound": \'Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp vì không thể tìm thấy tệp. Tệp có thể đã bị xóa, di chuyển hoặc đổi tên. Hãy đọc bài viết "Tìm hiểu về Content Credentials" trên helpx.adobe.com để tìm hiểu thêm.\',\n "fileError.embed.permission": \'Tệp đã được xuất nhưng không thể xuất bản hoặc đính kèm Content Credentials của tệp đó, có thể là do không đủ quyền. Hãy đọc bài viết "Tìm hiểu về Content Credentials" trên helpx.adobe.com để tìm hiểu thêm.\',\n "fileError.embed.tooLarge": \'Tệp đã được xuất nhưng Content Credentials của tệp quá lớn để xuất bản. Thay vào đó, bạn có thể đính kèm chúng vào tệp bằng cách chọn "Đính kèm tệp (JPG & PNG)" rồi xuất lại.\',\n "info.openFile": "Mở một tệp để sử dụng Content Credentials (Beta).",\n "menu.disableContentCreds": "Tắt Content Credentials",\n "menu.goToVerify": "Chuyển tới trang Xác minh",\n "menu.learnMore": "Tìm hiểu thêm",\n "menu.manageConnectedAccounts": "Quản lý tài khoản được kết nối",\n "menu.openPreferences": "Lựa chọn ưu tiên",\n "menu.provideFeedback": "Cung cấp phản hồi",\n "menu.refreshConnectedAccounts": "Làm mới tài khoản được kết nối",\n "menu.showOnEnable": "Hiển thị khi bật",\n "offlineView.refresh": "Làm mới",\n "panel.disabled.enableDescription": "Được công nhận cho tác phẩm của bạn và tăng tính minh bạch về cách tạo ra tác phẩm bằng cách chọn thông tin để chia sẻ trong Content Credentials.",\n "panel.disabled.genAIDisclaimer": "Content Credentials tự động được áp dụng nếu bạn đặt hình ảnh được tạo hoàn toàn bằng AI. <a>Tìm hiểu thêm</a>",\n "panel.enable": "Bật Content Credentials",\n "preview.assetsUsedDetail": "Bất kỳ tài nguyên nào được sử dụng hoặc thêm vào nội dung này",\n "preview.assetsUsedTitle": "THÀNH PHẦN",\n "preview.editsActivityDetail": "Những thay đổi và hành động được thực hiện để tạo ra nội dung này",\n "preview.editsActivityTitle": "HÀNH ĐỘNG",\n "preview.genAIModelUsed": "CÔNG CỤ AI ĐƯỢC SỬ DỤNG",\n "preview.info": "Mọi người sẽ có thể xem thông tin sau với nội dung của bạn.",\n "preview.none": "Không có",\n "preview.producedByDetail": "Tên được chọn của người xuất nội dung này",\n "preview.producedByTitle": "SẢN XUẤT BỞI",\n "preview.producedWithDetail": "Phần mềm được dùng để tạo nội dung này",\n "preview.producedWithTitle": "ỨNG DỤNG HOẶC THIẾT BỊ ĐƯỢC SỬ DỤNG",\n "preview.signedByDetail": "Thực thể đã ghi lại Content Credentials (Beta)",\n "preview.signedByTitle": "PHÁT HÀNH BỞI",\n "preview.socialMediaDetail": "Các tài khoản mạng xã hội được kết nối với nhà sản xuất nội dung này",\n "preview.socialMediaTitle": "TÀI KHOẢN TRUYỀN THÔNG Xà HỘI",\n "preview.web3Detail": "Tài khoản Web3 được kết nối với nhà sản xuất nội dung này",\n "preview.web3Title": "WEB3",\n "progressive.offline": "Đã xảy ra lỗi. Vui lòng kiểm tra kết nối Internet để sửa đổi chế độ cài đặt tài khoản nhà sản xuất và tài khoản được kết nối.",\n "progressive.servicesDownExisting": "Một hoặc nhiều chế độ cài đặt đã gặp sự cố khi đồng bộ hóa và thông tin của chúng có thể không cập nhật.",\n "progressive.servicesDownNew": "Một hoặc nhiều chế độ cài đặt không có sẵn vì không thể tải chúng.",\n title: gT,\n "web3Account.copied": "Đã sao chép!"\n}, CT = () => {\n const e = {\n cs_CZ: xE,\n da_DK: DE,\n de_DE: IE,\n en_US: PE,\n es_ES: OE,\n fi_FI: FE,\n fr_FR: RE,\n hu_HU: WE,\n it_IT: HE,\n ja_JP: VE,\n ko_KR: KE,\n nb_NO: YE,\n nl_NL: XE,\n pl_PL: eT,\n pt_BR: nT,\n ru_RU: rT,\n sv_SE: oT,\n tr_TR: lT,\n uk_UA: cT,\n zh_CN: pT,\n zh_TW: mT,\n id_ID: vT,\n vi_VN: bT\n }, i = {};\n return Object.keys(e).forEach((r) => {\n const o = r.replace("_", "-");\n i[o] = e[r];\n }), i;\n}, yT = {\n "cs-CZ": "cz",\n "da-DK": "dk",\n "en-US": "en",\n "ja-JP": "jp",\n "fr-FR": "fr",\n "de-DE": "de",\n "en-AU": "au",\n "en-BE": "en",\n "en-GB": "en",\n "en-AE": "ae",\n "en-IL": "il",\n "fr-BE": "fr",\n "en-CA": "en",\n "fr-CA": "fr",\n "de-CH": "de",\n "fr-CH": "fr",\n "en-CY": "en",\n "en-GR": "en",\n "en-HK": "en",\n "es-ES": "es",\n "es-MX": "mx",\n "fi-FI": "fi",\n "fr-MA": "fr",\n "hu-HU": "hu",\n "it-IT": "it",\n "ko-KR": "kr",\n "nb-NO": "no",\n "nl-NL": "nl",\n "pl-PL": "pl",\n "pt-BR": "br",\n "ru-RU": "ru",\n "sv-SE": "se",\n "tr-TR": "tr",\n "uk-UA": "ua",\n "zh-CN": "cn",\n "zh-TW": "tw",\n "vi-VN": "vn",\n "id-ID": "id"\n};\n/*!*************************************************************************\n * Copyright 2021 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this file in\n * accordance with the terms of the Adobe license agreement accompanying\n * it. \n **************************************************************************/\nvar Nt = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : {};\nfunction AT(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;\n}\nvar rl = { exports: {} }, Ho, op;\nfunction kT() {\n if (op)\n return Ho;\n op = 1;\n var e = 1e3, i = e * 60, r = i * 60, o = r * 24, l = o * 7, d = o * 365.25;\n Ho = function(v, g) {\n g = g || {};\n var w = typeof v;\n if (w === "string" && v.length > 0)\n return u(v);\n if (w === "number" && isFinite(v))\n return g.long ? h(v) : m(v);\n throw new Error(\n "val is not a non-empty string or a valid number. val=" + JSON.stringify(v)\n );\n };\n function u(v) {\n if (v = String(v), !(v.length > 100)) {\n var g = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n v\n );\n if (g) {\n var w = parseFloat(g[1]), B = (g[2] || "ms").toLowerCase();\n switch (B) {\n case "years":\n case "year":\n case "yrs":\n case "yr":\n case "y":\n return w * d;\n case "weeks":\n case "week":\n case "w":\n return w * l;\n case "days":\n case "day":\n case "d":\n return w * o;\n case "hours":\n case "hour":\n case "hrs":\n case "hr":\n case "h":\n return w * r;\n case "minutes":\n case "minute":\n case "mins":\n case "min":\n case "m":\n return w * i;\n case "seconds":\n case "second":\n case "secs":\n case "sec":\n case "s":\n return w * e;\n case "milliseconds":\n case "millisecond":\n case "msecs":\n case "msec":\n case "ms":\n return w;\n default:\n return;\n }\n }\n }\n }\n function m(v) {\n var g = Math.abs(v);\n return g >= o ? Math.round(v / o) + "d" : g >= r ? Math.round(v / r) + "h" : g >= i ? Math.round(v / i) + "m" : g >= e ? Math.round(v / e) + "s" : v + "ms";\n }\n function h(v) {\n var g = Math.abs(v);\n return g >= o ? b(v, g, o, "day") : g >= r ? b(v, g, r, "hour") : g >= i ? b(v, g, i, "minute") : g >= e ? b(v, g, e, "second") : v + " ms";\n }\n function b(v, g, w, B) {\n var D = g >= w * 1.5;\n return Math.round(v / w) + " " + B + (D ? "s" : "");\n }\n return Ho;\n}\nfunction wT(e) {\n r.debug = r, r.default = r, r.coerce = h, r.disable = d, r.enable = l, r.enabled = u, r.humanize = kT(), r.destroy = b, Object.keys(e).forEach((v) => {\n r[v] = e[v];\n }), r.names = [], r.skips = [], r.formatters = {};\n function i(v) {\n let g = 0;\n for (let w = 0; w < v.length; w++)\n g = (g << 5) - g + v.charCodeAt(w), g |= 0;\n return r.colors[Math.abs(g) % r.colors.length];\n }\n r.selectColor = i;\n function r(v) {\n let g, w = null, B, D;\n function I(...x) {\n if (!I.enabled)\n return;\n const j = I, M = Number(/* @__PURE__ */ new Date()), W = M - (g || M);\n j.diff = W, j.prev = g, j.curr = M, g = M, x[0] = r.coerce(x[0]), typeof x[0] != "string" && x.unshift("%O");\n let K = 0;\n x[0] = x[0].replace(/%([a-zA-Z%])/g, (de, ge) => {\n if (de === "%%")\n return "%";\n K++;\n const xe = r.formatters[ge];\n if (typeof xe == "function") {\n const en = x[K];\n de = xe.call(j, en), x.splice(K, 1), K--;\n }\n return de;\n }), r.formatArgs.call(j, x), (j.log || r.log).apply(j, x);\n }\n return I.namespace = v, I.useColors = r.useColors(), I.color = r.selectColor(v), I.extend = o, I.destroy = r.destroy, Object.defineProperty(I, "enabled", {\n enumerable: !0,\n configurable: !1,\n get: () => w !== null ? w : (B !== r.namespaces && (B = r.namespaces, D = r.enabled(v)), D),\n set: (x) => {\n w = x;\n }\n }), typeof r.init == "function" && r.init(I), I;\n }\n function o(v, g) {\n const w = r(this.namespace + (typeof g == "undefined" ? ":" : g) + v);\n return w.log = this.log, w;\n }\n function l(v) {\n r.save(v), r.namespaces = v, r.names = [], r.skips = [];\n let g;\n const w = (typeof v == "string" ? v : "").split(/[\\s,]+/), B = w.length;\n for (g = 0; g < B; g++)\n w[g] && (v = w[g].replace(/\\*/g, ".*?"), v[0] === "-" ? r.skips.push(new RegExp("^" + v.slice(1) + "$")) : r.names.push(new RegExp("^" + v + "$")));\n }\n function d() {\n const v = [\n ...r.names.map(m),\n ...r.skips.map(m).map((g) => "-" + g)\n ].join(",");\n return r.enable(""), v;\n }\n function u(v) {\n if (v[v.length - 1] === "*")\n return !0;\n let g, w;\n for (g = 0, w = r.skips.length; g < w; g++)\n if (r.skips[g].test(v))\n return !1;\n for (g = 0, w = r.names.length; g < w; g++)\n if (r.names[g].test(v))\n return !0;\n return !1;\n }\n function m(v) {\n return v.toString().substring(2, v.toString().length - 2).replace(/\\.\\*\\?$/, "*");\n }\n function h(v) {\n return v instanceof Error ? v.stack || v.message : v;\n }\n function b() {\n console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");\n }\n return r.enable(r.load()), r;\n}\nvar _T = wT;\n(function(e, i) {\n i.formatArgs = o, i.save = l, i.load = d, i.useColors = r, i.storage = u(), i.destroy = (() => {\n let h = !1;\n return () => {\n h || (h = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));\n };\n })(), i.colors = [\n "#0000CC",\n "#0000FF",\n "#0033CC",\n "#0033FF",\n "#0066CC",\n "#0066FF",\n "#0099CC",\n "#0099FF",\n "#00CC00",\n "#00CC33",\n "#00CC66",\n "#00CC99",\n "#00CCCC",\n "#00CCFF",\n "#3300CC",\n "#3300FF",\n "#3333CC",\n "#3333FF",\n "#3366CC",\n "#3366FF",\n "#3399CC",\n "#3399FF",\n "#33CC00",\n "#33CC33",\n "#33CC66",\n "#33CC99",\n "#33CCCC",\n "#33CCFF",\n "#6600CC",\n "#6600FF",\n "#6633CC",\n "#6633FF",\n "#66CC00",\n "#66CC33",\n "#9900CC",\n "#9900FF",\n "#9933CC",\n "#9933FF",\n "#99CC00",\n "#99CC33",\n "#CC0000",\n "#CC0033",\n "#CC0066",\n "#CC0099",\n "#CC00CC",\n "#CC00FF",\n "#CC3300",\n "#CC3333",\n "#CC3366",\n "#CC3399",\n "#CC33CC",\n "#CC33FF",\n "#CC6600",\n "#CC6633",\n "#CC9900",\n "#CC9933",\n "#CCCC00",\n "#CCCC33",\n "#FF0000",\n "#FF0033",\n "#FF0066",\n "#FF0099",\n "#FF00CC",\n "#FF00FF",\n "#FF3300",\n "#FF3333",\n "#FF3366",\n "#FF3399",\n "#FF33CC",\n "#FF33FF",\n "#FF6600",\n "#FF6633",\n "#FF9900",\n "#FF9933",\n "#FFCC00",\n "#FFCC33"\n ];\n function r() {\n return typeof window != "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs) ? !0 : typeof navigator != "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/) ? !1 : typeof document != "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773\n typeof window != "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator != "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker\n typeof navigator != "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n }\n function o(h) {\n if (h[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + h[0] + (this.useColors ? "%c " : " ") + "+" + e.exports.humanize(this.diff), !this.useColors)\n return;\n const b = "color: " + this.color;\n h.splice(1, 0, b, "color: inherit");\n let v = 0, g = 0;\n h[0].replace(/%[a-zA-Z%]/g, (w) => {\n w !== "%%" && (v++, w === "%c" && (g = v));\n }), h.splice(g, 0, b);\n }\n i.log = console.debug || console.log || (() => {\n });\n function l(h) {\n try {\n h ? i.storage.setItem("debug", h) : i.storage.removeItem("debug");\n } catch (b) {\n }\n }\n function d() {\n let h;\n try {\n h = i.storage.getItem("debug");\n } catch (b) {\n }\n return !h && typeof process != "undefined" && "env" in process && (h = process.env.DEBUG), h;\n }\n function u() {\n try {\n return localStorage;\n } catch (h) {\n }\n }\n e.exports = _T(i);\n const { formatters: m } = e.exports;\n m.j = function(h) {\n try {\n return JSON.stringify(h);\n } catch (b) {\n return "[UnexpectedJSONParseError]: " + b.message;\n }\n };\n})(rl, rl.exports);\nvar Ut = rl.exports, sp = { exports: {} };\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(e, i) {\n (function() {\n var r, o = "4.17.21", l = 200, d = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", u = "Expected a function", m = "Invalid `variable` option passed into `_.template`", h = "__lodash_hash_undefined__", b = 500, v = "__lodash_placeholder__", g = 1, w = 2, B = 4, D = 1, I = 2, x = 1, j = 2, M = 4, W = 8, K = 16, re = 32, de = 64, ge = 128, xe = 256, en = 512, Ui = 30, ua = "...", pa = 800, fa = 16, ai = 1, Hi = 2, ma = 3, Dt = 1 / 0, ht = 9007199254740991, ha = 17976931348623157e292, _n = 0 / 0, Je = 4294967295, Gi = Je - 1, Fe = Je >>> 1, tn = [\n ["ary", ge],\n ["bind", x],\n ["bindKey", j],\n ["curry", W],\n ["curryRight", K],\n ["flip", en],\n ["partial", re],\n ["partialRight", de],\n ["rearg", xe]\n ], $ = "[object Arguments]", L = "[object Array]", F = "[object AsyncFunction]", G = "[object Boolean]", Y = "[object Date]", De = "[object DOMException]", $e = "[object Error]", Be = "[object Function]", Xe = "[object GeneratorFunction]", He = "[object Map]", nn = "[object Number]", Eh = "[object Null]", Bt = "[object Object]", Zl = "[object Promise]", Th = "[object Proxy]", oi = "[object RegExp]", vt = "[object Set]", si = "[object String]", Vi = "[object Symbol]", Sh = "[object Undefined]", li = "[object WeakMap]", xh = "[object WeakSet]", di = "[object ArrayBuffer]", En = "[object DataView]", va = "[object Float32Array]", ga = "[object Float64Array]", ba = "[object Int8Array]", Ca = "[object Int16Array]", ya = "[object Int32Array]", Aa = "[object Uint8Array]", ka = "[object Uint8ClampedArray]", wa = "[object Uint16Array]", _a = "[object Uint32Array]", zh = /\\b__p \\+= \'\';/g, Dh = /\\b(__p \\+=) \'\' \\+/g, Bh = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n\'\';/g, Yl = /&(?:amp|lt|gt|quot|#39);/g, Jl = /[&<>"\']/g, Ih = RegExp(Yl.source), jh = RegExp(Jl.source), Ph = /<%-([\\s\\S]+?)%>/g, Lh = /<%([\\s\\S]+?)%>/g, Xl = /<%=([\\s\\S]+?)%>/g, Oh = /\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, Mh = /^\\w*$/, Fh = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, Ea = /[\\\\^$.*+?()[\\]{}|]/g, $h = RegExp(Ea.source), Ta = /^\\s+/, Rh = /\\s/, Nh = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/, Wh = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/, Uh = /,? & /, Hh = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g, Gh = /[()=,{}\\[\\]\\/\\s]/, Vh = /\\\\(\\\\)?/g, qh = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g, Ql = /\\w*$/, Kh = /^[-+]0x[0-9a-f]+$/i, Zh = /^0b[01]+$/i, Yh = /^\\[object .+?Constructor\\]$/, Jh = /^0o[0-7]+$/i, Xh = /^(?:0|[1-9]\\d*)$/, Qh = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g, qi = /($^)/, ev = /[\'\\n\\r\\u2028\\u2029\\\\]/g, Ki = "\\\\ud800-\\\\udfff", tv = "\\\\u0300-\\\\u036f", nv = "\\\\ufe20-\\\\ufe2f", iv = "\\\\u20d0-\\\\u20ff", ed = tv + nv + iv, td = "\\\\u2700-\\\\u27bf", nd = "a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff", rv = "\\\\xac\\\\xb1\\\\xd7\\\\xf7", av = "\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf", ov = "\\\\u2000-\\\\u206f", sv = " \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000", id = "A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde", rd = "\\\\ufe0e\\\\ufe0f", ad = rv + av + ov + sv, Sa = "[\'’]", lv = "[" + Ki + "]", od = "[" + ad + "]", Zi = "[" + ed + "]", sd = "\\\\d+", dv = "[" + td + "]", ld = "[" + nd + "]", dd = "[^" + Ki + ad + sd + td + nd + id + "]", xa = "\\\\ud83c[\\\\udffb-\\\\udfff]", cv = "(?:" + Zi + "|" + xa + ")", cd = "[^" + Ki + "]", za = "(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}", Da = "[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]", Tn = "[" + id + "]", ud = "\\\\u200d", pd = "(?:" + ld + "|" + dd + ")", uv = "(?:" + Tn + "|" + dd + ")", fd = "(?:" + Sa + "(?:d|ll|m|re|s|t|ve))?", md = "(?:" + Sa + "(?:D|LL|M|RE|S|T|VE))?", hd = cv + "?", vd = "[" + rd + "]?", pv = "(?:" + ud + "(?:" + [cd, za, Da].join("|") + ")" + vd + hd + ")*", fv = "\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])", mv = "\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])", gd = vd + hd + pv, hv = "(?:" + [dv, za, Da].join("|") + ")" + gd, vv = "(?:" + [cd + Zi + "?", Zi, za, Da, lv].join("|") + ")", gv = RegExp(Sa, "g"), bv = RegExp(Zi, "g"), Ba = RegExp(xa + "(?=" + xa + ")|" + vv + gd, "g"), Cv = RegExp([\n Tn + "?" + ld + "+" + fd + "(?=" + [od, Tn, "$"].join("|") + ")",\n uv + "+" + md + "(?=" + [od, Tn + pd, "$"].join("|") + ")",\n Tn + "?" + pd + "+" + fd,\n Tn + "+" + md,\n mv,\n fv,\n sd,\n hv\n ].join("|"), "g"), yv = RegExp("[" + ud + Ki + ed + rd + "]"), Av = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, kv = [\n "Array",\n "Buffer",\n "DataView",\n "Date",\n "Error",\n "Float32Array",\n "Float64Array",\n "Function",\n "Int8Array",\n "Int16Array",\n "Int32Array",\n "Map",\n "Math",\n "Object",\n "Promise",\n "RegExp",\n "Set",\n "String",\n "Symbol",\n "TypeError",\n "Uint8Array",\n "Uint8ClampedArray",\n "Uint16Array",\n "Uint32Array",\n "WeakMap",\n "_",\n "clearTimeout",\n "isFinite",\n "parseInt",\n "setTimeout"\n ], wv = -1, fe = {};\n fe[va] = fe[ga] = fe[ba] = fe[Ca] = fe[ya] = fe[Aa] = fe[ka] = fe[wa] = fe[_a] = !0, fe[$] = fe[L] = fe[di] = fe[G] = fe[En] = fe[Y] = fe[$e] = fe[Be] = fe[He] = fe[nn] = fe[Bt] = fe[oi] = fe[vt] = fe[si] = fe[li] = !1;\n var ce = {};\n ce[$] = ce[L] = ce[di] = ce[En] = ce[G] = ce[Y] = ce[va] = ce[ga] = ce[ba] = ce[Ca] = ce[ya] = ce[He] = ce[nn] = ce[Bt] = ce[oi] = ce[vt] = ce[si] = ce[Vi] = ce[Aa] = ce[ka] = ce[wa] = ce[_a] = !0, ce[$e] = ce[Be] = ce[li] = !1;\n var _v = {\n // Latin-1 Supplement block.\n À: "A",\n Á: "A",\n Â: "A",\n Ã: "A",\n Ä: "A",\n Å: "A",\n à: "a",\n á: "a",\n â: "a",\n ã: "a",\n ä: "a",\n å: "a",\n Ç: "C",\n ç: "c",\n Ð: "D",\n ð: "d",\n È: "E",\n É: "E",\n Ê: "E",\n Ë: "E",\n è: "e",\n é: "e",\n ê: "e",\n ë: "e",\n Ì: "I",\n Í: "I",\n Î: "I",\n Ï: "I",\n ì: "i",\n í: "i",\n î: "i",\n ï: "i",\n Ñ: "N",\n ñ: "n",\n Ò: "O",\n Ó: "O",\n Ô: "O",\n Õ: "O",\n Ö: "O",\n Ø: "O",\n ò: "o",\n ó: "o",\n ô: "o",\n õ: "o",\n ö: "o",\n ø: "o",\n Ù: "U",\n Ú: "U",\n Û: "U",\n Ü: "U",\n ù: "u",\n ú: "u",\n û: "u",\n ü: "u",\n Ý: "Y",\n ý: "y",\n ÿ: "y",\n Æ: "Ae",\n æ: "ae",\n Þ: "Th",\n þ: "th",\n ß: "ss",\n // Latin Extended-A block.\n Ā: "A",\n Ă: "A",\n Ą: "A",\n ā: "a",\n ă: "a",\n ą: "a",\n Ć: "C",\n Ĉ: "C",\n Ċ: "C",\n Č: "C",\n ć: "c",\n ĉ: "c",\n ċ: "c",\n č: "c",\n Ď: "D",\n Đ: "D",\n ď: "d",\n đ: "d",\n Ē: "E",\n Ĕ: "E",\n Ė: "E",\n Ę: "E",\n Ě: "E",\n ē: "e",\n ĕ: "e",\n ė: "e",\n ę: "e",\n ě: "e",\n Ĝ: "G",\n Ğ: "G",\n Ġ: "G",\n Ģ: "G",\n ĝ: "g",\n ğ: "g",\n ġ: "g",\n ģ: "g",\n Ĥ: "H",\n Ħ: "H",\n ĥ: "h",\n ħ: "h",\n Ĩ: "I",\n Ī: "I",\n Ĭ: "I",\n Į: "I",\n İ: "I",\n ĩ: "i",\n ī: "i",\n ĭ: "i",\n į: "i",\n ı: "i",\n Ĵ: "J",\n ĵ: "j",\n Ķ: "K",\n ķ: "k",\n ĸ: "k",\n Ĺ: "L",\n Ļ: "L",\n Ľ: "L",\n Ŀ: "L",\n Ł: "L",\n ĺ: "l",\n ļ: "l",\n ľ: "l",\n ŀ: "l",\n ł: "l",\n Ń: "N",\n Ņ: "N",\n Ň: "N",\n Ŋ: "N",\n ń: "n",\n ņ: "n",\n ň: "n",\n ŋ: "n",\n Ō: "O",\n Ŏ: "O",\n Ő: "O",\n ō: "o",\n ŏ: "o",\n ő: "o",\n Ŕ: "R",\n Ŗ: "R",\n Ř: "R",\n ŕ: "r",\n ŗ: "r",\n ř: "r",\n Ś: "S",\n Ŝ: "S",\n Ş: "S",\n Š: "S",\n ś: "s",\n ŝ: "s",\n ş: "s",\n š: "s",\n Ţ: "T",\n Ť: "T",\n Ŧ: "T",\n ţ: "t",\n ť: "t",\n ŧ: "t",\n Ũ: "U",\n Ū: "U",\n Ŭ: "U",\n Ů: "U",\n Ű: "U",\n Ų: "U",\n ũ: "u",\n ū: "u",\n ŭ: "u",\n ů: "u",\n ű: "u",\n ų: "u",\n Ŵ: "W",\n ŵ: "w",\n Ŷ: "Y",\n ŷ: "y",\n Ÿ: "Y",\n Ź: "Z",\n Ż: "Z",\n Ž: "Z",\n ź: "z",\n ż: "z",\n ž: "z",\n IJ: "IJ",\n ij: "ij",\n Œ: "Oe",\n œ: "oe",\n ʼn: "\'n",\n ſ: "s"\n }, Ev = {\n "&": "&",\n "<": "<",\n ">": ">",\n \'"\': """,\n "\'": "'"\n }, Tv = {\n "&": "&",\n "<": "<",\n ">": ">",\n """: \'"\',\n "'": "\'"\n }, Sv = {\n "\\\\": "\\\\",\n "\'": "\'",\n "\\n": "n",\n "\\r": "r",\n "\\u2028": "u2028",\n "\\u2029": "u2029"\n }, xv = parseFloat, zv = parseInt, bd = typeof Nt == "object" && Nt && Nt.Object === Object && Nt, Dv = typeof self == "object" && self && self.Object === Object && self, Ie = bd || Dv || Function("return this")(), Ia = i && !i.nodeType && i, rn = Ia && !0 && e && !e.nodeType && e, Cd = rn && rn.exports === Ia, ja = Cd && bd.process, at = function() {\n try {\n var A = rn && rn.require && rn.require("util").types;\n return A || ja && ja.binding && ja.binding("util");\n } catch (E) {\n }\n }(), yd = at && at.isArrayBuffer, Ad = at && at.isDate, kd = at && at.isMap, wd = at && at.isRegExp, _d = at && at.isSet, Ed = at && at.isTypedArray;\n function Qe(A, E, _) {\n switch (_.length) {\n case 0:\n return A.call(E);\n case 1:\n return A.call(E, _[0]);\n case 2:\n return A.call(E, _[0], _[1]);\n case 3:\n return A.call(E, _[0], _[1], _[2]);\n }\n return A.apply(E, _);\n }\n function Bv(A, E, _, O) {\n for (var V = -1, ae = A == null ? 0 : A.length; ++V < ae; ) {\n var Ee = A[V];\n E(O, Ee, _(Ee), A);\n }\n return O;\n }\n function ot(A, E) {\n for (var _ = -1, O = A == null ? 0 : A.length; ++_ < O && E(A[_], _, A) !== !1; )\n ;\n return A;\n }\n function Iv(A, E) {\n for (var _ = A == null ? 0 : A.length; _-- && E(A[_], _, A) !== !1; )\n ;\n return A;\n }\n function Td(A, E) {\n for (var _ = -1, O = A == null ? 0 : A.length; ++_ < O; )\n if (!E(A[_], _, A))\n return !1;\n return !0;\n }\n function Ht(A, E) {\n for (var _ = -1, O = A == null ? 0 : A.length, V = 0, ae = []; ++_ < O; ) {\n var Ee = A[_];\n E(Ee, _, A) && (ae[V++] = Ee);\n }\n return ae;\n }\n function Yi(A, E) {\n var _ = A == null ? 0 : A.length;\n return !!_ && Sn(A, E, 0) > -1;\n }\n function Pa(A, E, _) {\n for (var O = -1, V = A == null ? 0 : A.length; ++O < V; )\n if (_(E, A[O]))\n return !0;\n return !1;\n }\n function be(A, E) {\n for (var _ = -1, O = A == null ? 0 : A.length, V = Array(O); ++_ < O; )\n V[_] = E(A[_], _, A);\n return V;\n }\n function Gt(A, E) {\n for (var _ = -1, O = E.length, V = A.length; ++_ < O; )\n A[V + _] = E[_];\n return A;\n }\n function La(A, E, _, O) {\n var V = -1, ae = A == null ? 0 : A.length;\n for (O && ae && (_ = A[++V]); ++V < ae; )\n _ = E(_, A[V], V, A);\n return _;\n }\n function jv(A, E, _, O) {\n var V = A == null ? 0 : A.length;\n for (O && V && (_ = A[--V]); V--; )\n _ = E(_, A[V], V, A);\n return _;\n }\n function Oa(A, E) {\n for (var _ = -1, O = A == null ? 0 : A.length; ++_ < O; )\n if (E(A[_], _, A))\n return !0;\n return !1;\n }\n var Pv = Ma("length");\n function Lv(A) {\n return A.split("");\n }\n function Ov(A) {\n return A.match(Hh) || [];\n }\n function Sd(A, E, _) {\n var O;\n return _(A, function(V, ae, Ee) {\n if (E(V, ae, Ee))\n return O = ae, !1;\n }), O;\n }\n function Ji(A, E, _, O) {\n for (var V = A.length, ae = _ + (O ? 1 : -1); O ? ae-- : ++ae < V; )\n if (E(A[ae], ae, A))\n return ae;\n return -1;\n }\n function Sn(A, E, _) {\n return E === E ? Kv(A, E, _) : Ji(A, xd, _);\n }\n function Mv(A, E, _, O) {\n for (var V = _ - 1, ae = A.length; ++V < ae; )\n if (O(A[V], E))\n return V;\n return -1;\n }\n function xd(A) {\n return A !== A;\n }\n function zd(A, E) {\n var _ = A == null ? 0 : A.length;\n return _ ? $a(A, E) / _ : _n;\n }\n function Ma(A) {\n return function(E) {\n return E == null ? r : E[A];\n };\n }\n function Fa(A) {\n return function(E) {\n return A == null ? r : A[E];\n };\n }\n function Dd(A, E, _, O, V) {\n return V(A, function(ae, Ee, le) {\n _ = O ? (O = !1, ae) : E(_, ae, Ee, le);\n }), _;\n }\n function Fv(A, E) {\n var _ = A.length;\n for (A.sort(E); _--; )\n A[_] = A[_].value;\n return A;\n }\n function $a(A, E) {\n for (var _, O = -1, V = A.length; ++O < V; ) {\n var ae = E(A[O]);\n ae !== r && (_ = _ === r ? ae : _ + ae);\n }\n return _;\n }\n function Ra(A, E) {\n for (var _ = -1, O = Array(A); ++_ < A; )\n O[_] = E(_);\n return O;\n }\n function $v(A, E) {\n return be(E, function(_) {\n return [_, A[_]];\n });\n }\n function Bd(A) {\n return A && A.slice(0, Ld(A) + 1).replace(Ta, "");\n }\n function et(A) {\n return function(E) {\n return A(E);\n };\n }\n function Na(A, E) {\n return be(E, function(_) {\n return A[_];\n });\n }\n function ci(A, E) {\n return A.has(E);\n }\n function Id(A, E) {\n for (var _ = -1, O = A.length; ++_ < O && Sn(E, A[_], 0) > -1; )\n ;\n return _;\n }\n function jd(A, E) {\n for (var _ = A.length; _-- && Sn(E, A[_], 0) > -1; )\n ;\n return _;\n }\n function Rv(A, E) {\n for (var _ = A.length, O = 0; _--; )\n A[_] === E && ++O;\n return O;\n }\n var Nv = Fa(_v), Wv = Fa(Ev);\n function Uv(A) {\n return "\\\\" + Sv[A];\n }\n function Hv(A, E) {\n return A == null ? r : A[E];\n }\n function xn(A) {\n return yv.test(A);\n }\n function Gv(A) {\n return Av.test(A);\n }\n function Vv(A) {\n for (var E, _ = []; !(E = A.next()).done; )\n _.push(E.value);\n return _;\n }\n function Wa(A) {\n var E = -1, _ = Array(A.size);\n return A.forEach(function(O, V) {\n _[++E] = [V, O];\n }), _;\n }\n function Pd(A, E) {\n return function(_) {\n return A(E(_));\n };\n }\n function Vt(A, E) {\n for (var _ = -1, O = A.length, V = 0, ae = []; ++_ < O; ) {\n var Ee = A[_];\n (Ee === E || Ee === v) && (A[_] = v, ae[V++] = _);\n }\n return ae;\n }\n function Xi(A) {\n var E = -1, _ = Array(A.size);\n return A.forEach(function(O) {\n _[++E] = O;\n }), _;\n }\n function qv(A) {\n var E = -1, _ = Array(A.size);\n return A.forEach(function(O) {\n _[++E] = [O, O];\n }), _;\n }\n function Kv(A, E, _) {\n for (var O = _ - 1, V = A.length; ++O < V; )\n if (A[O] === E)\n return O;\n return -1;\n }\n function Zv(A, E, _) {\n for (var O = _ + 1; O--; )\n if (A[O] === E)\n return O;\n return O;\n }\n function zn(A) {\n return xn(A) ? Jv(A) : Pv(A);\n }\n function gt(A) {\n return xn(A) ? Xv(A) : Lv(A);\n }\n function Ld(A) {\n for (var E = A.length; E-- && Rh.test(A.charAt(E)); )\n ;\n return E;\n }\n var Yv = Fa(Tv);\n function Jv(A) {\n for (var E = Ba.lastIndex = 0; Ba.test(A); )\n ++E;\n return E;\n }\n function Xv(A) {\n return A.match(Ba) || [];\n }\n function Qv(A) {\n return A.match(Cv) || [];\n }\n var eg = function A(E) {\n E = E == null ? Ie : Dn.defaults(Ie.Object(), E, Dn.pick(Ie, kv));\n var _ = E.Array, O = E.Date, V = E.Error, ae = E.Function, Ee = E.Math, le = E.Object, Ua = E.RegExp, tg = E.String, st = E.TypeError, Qi = _.prototype, ng = ae.prototype, Bn = le.prototype, er = E["__core-js_shared__"], tr = ng.toString, se = Bn.hasOwnProperty, ig = 0, Od = function() {\n var t = /[^.]+$/.exec(er && er.keys && er.keys.IE_PROTO || "");\n return t ? "Symbol(src)_1." + t : "";\n }(), nr = Bn.toString, rg = tr.call(le), ag = Ie._, og = Ua(\n "^" + tr.call(se).replace(Ea, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n ), ir = Cd ? E.Buffer : r, qt = E.Symbol, rr = E.Uint8Array, Md = ir ? ir.allocUnsafe : r, ar = Pd(le.getPrototypeOf, le), Fd = le.create, $d = Bn.propertyIsEnumerable, or = Qi.splice, Rd = qt ? qt.isConcatSpreadable : r, ui = qt ? qt.iterator : r, an = qt ? qt.toStringTag : r, sr = function() {\n try {\n var t = cn(le, "defineProperty");\n return t({}, "", {}), t;\n } catch (n) {\n }\n }(), sg = E.clearTimeout !== Ie.clearTimeout && E.clearTimeout, lg = O && O.now !== Ie.Date.now && O.now, dg = E.setTimeout !== Ie.setTimeout && E.setTimeout, lr = Ee.ceil, dr = Ee.floor, Ha = le.getOwnPropertySymbols, cg = ir ? ir.isBuffer : r, Nd = E.isFinite, ug = Qi.join, pg = Pd(le.keys, le), Te = Ee.max, Le = Ee.min, fg = O.now, mg = E.parseInt, Wd = Ee.random, hg = Qi.reverse, Ga = cn(E, "DataView"), pi = cn(E, "Map"), Va = cn(E, "Promise"), In = cn(E, "Set"), fi = cn(E, "WeakMap"), mi = cn(le, "create"), cr = fi && new fi(), jn = {}, vg = un(Ga), gg = un(pi), bg = un(Va), Cg = un(In), yg = un(fi), ur = qt ? qt.prototype : r, hi = ur ? ur.valueOf : r, Ud = ur ? ur.toString : r;\n function p(t) {\n if (Ae(t) && !q(t) && !(t instanceof ee)) {\n if (t instanceof lt)\n return t;\n if (se.call(t, "__wrapped__"))\n return Hc(t);\n }\n return new lt(t);\n }\n var Pn = function() {\n function t() {\n }\n return function(n) {\n if (!ye(n))\n return {};\n if (Fd)\n return Fd(n);\n t.prototype = n;\n var a = new t();\n return t.prototype = r, a;\n };\n }();\n function pr() {\n }\n function lt(t, n) {\n this.__wrapped__ = t, this.__actions__ = [], this.__chain__ = !!n, this.__index__ = 0, this.__values__ = r;\n }\n p.templateSettings = {\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n escape: Ph,\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n evaluate: Lh,\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n interpolate: Xl,\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n variable: "",\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n imports: {\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n _: p\n }\n }, p.prototype = pr.prototype, p.prototype.constructor = p, lt.prototype = Pn(pr.prototype), lt.prototype.constructor = lt;\n function ee(t) {\n this.__wrapped__ = t, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Je, this.__views__ = [];\n }\n function Ag() {\n var t = new ee(this.__wrapped__);\n return t.__actions__ = Ge(this.__actions__), t.__dir__ = this.__dir__, t.__filtered__ = this.__filtered__, t.__iteratees__ = Ge(this.__iteratees__), t.__takeCount__ = this.__takeCount__, t.__views__ = Ge(this.__views__), t;\n }\n function kg() {\n if (this.__filtered__) {\n var t = new ee(this);\n t.__dir__ = -1, t.__filtered__ = !0;\n } else\n t = this.clone(), t.__dir__ *= -1;\n return t;\n }\n function wg() {\n var t = this.__wrapped__.value(), n = this.__dir__, a = q(t), s = n < 0, c = a ? t.length : 0, f = Lb(0, c, this.__views__), C = f.start, y = f.end, k = y - C, T = s ? y : C - 1, S = this.__iteratees__, z = S.length, P = 0, R = Le(k, this.__takeCount__);\n if (!a || !s && c == k && R == k)\n return fc(t, this.__actions__);\n var U = [];\n e:\n for (; k-- && P < R; ) {\n T += n;\n for (var J = -1, H = t[T]; ++J < z; ) {\n var Q = S[J], te = Q.iteratee, it = Q.type, We = te(H);\n if (it == Hi)\n H = We;\n else if (!We) {\n if (it == ai)\n continue e;\n break e;\n }\n }\n U[P++] = H;\n }\n return U;\n }\n ee.prototype = Pn(pr.prototype), ee.prototype.constructor = ee;\n function on(t) {\n var n = -1, a = t == null ? 0 : t.length;\n for (this.clear(); ++n < a; ) {\n var s = t[n];\n this.set(s[0], s[1]);\n }\n }\n function _g() {\n this.__data__ = mi ? mi(null) : {}, this.size = 0;\n }\n function Eg(t) {\n var n = this.has(t) && delete this.__data__[t];\n return this.size -= n ? 1 : 0, n;\n }\n function Tg(t) {\n var n = this.__data__;\n if (mi) {\n var a = n[t];\n return a === h ? r : a;\n }\n return se.call(n, t) ? n[t] : r;\n }\n function Sg(t) {\n var n = this.__data__;\n return mi ? n[t] !== r : se.call(n, t);\n }\n function xg(t, n) {\n var a = this.__data__;\n return this.size += this.has(t) ? 0 : 1, a[t] = mi && n === r ? h : n, this;\n }\n on.prototype.clear = _g, on.prototype.delete = Eg, on.prototype.get = Tg, on.prototype.has = Sg, on.prototype.set = xg;\n function It(t) {\n var n = -1, a = t == null ? 0 : t.length;\n for (this.clear(); ++n < a; ) {\n var s = t[n];\n this.set(s[0], s[1]);\n }\n }\n function zg() {\n this.__data__ = [], this.size = 0;\n }\n function Dg(t) {\n var n = this.__data__, a = fr(n, t);\n if (a < 0)\n return !1;\n var s = n.length - 1;\n return a == s ? n.pop() : or.call(n, a, 1), --this.size, !0;\n }\n function Bg(t) {\n var n = this.__data__, a = fr(n, t);\n return a < 0 ? r : n[a][1];\n }\n function Ig(t) {\n return fr(this.__data__, t) > -1;\n }\n function jg(t, n) {\n var a = this.__data__, s = fr(a, t);\n return s < 0 ? (++this.size, a.push([t, n])) : a[s][1] = n, this;\n }\n It.prototype.clear = zg, It.prototype.delete = Dg, It.prototype.get = Bg, It.prototype.has = Ig, It.prototype.set = jg;\n function jt(t) {\n var n = -1, a = t == null ? 0 : t.length;\n for (this.clear(); ++n < a; ) {\n var s = t[n];\n this.set(s[0], s[1]);\n }\n }\n function Pg() {\n this.size = 0, this.__data__ = {\n hash: new on(),\n map: new (pi || It)(),\n string: new on()\n };\n }\n function Lg(t) {\n var n = Er(this, t).delete(t);\n return this.size -= n ? 1 : 0, n;\n }\n function Og(t) {\n return Er(this, t).get(t);\n }\n function Mg(t) {\n return Er(this, t).has(t);\n }\n function Fg(t, n) {\n var a = Er(this, t), s = a.size;\n return a.set(t, n), this.size += a.size == s ? 0 : 1, this;\n }\n jt.prototype.clear = Pg, jt.prototype.delete = Lg, jt.prototype.get = Og, jt.prototype.has = Mg, jt.prototype.set = Fg;\n function sn(t) {\n var n = -1, a = t == null ? 0 : t.length;\n for (this.__data__ = new jt(); ++n < a; )\n this.add(t[n]);\n }\n function $g(t) {\n return this.__data__.set(t, h), this;\n }\n function Rg(t) {\n return this.__data__.has(t);\n }\n sn.prototype.add = sn.prototype.push = $g, sn.prototype.has = Rg;\n function bt(t) {\n var n = this.__data__ = new It(t);\n this.size = n.size;\n }\n function Ng() {\n this.__data__ = new It(), this.size = 0;\n }\n function Wg(t) {\n var n = this.__data__, a = n.delete(t);\n return this.size = n.size, a;\n }\n function Ug(t) {\n return this.__data__.get(t);\n }\n function Hg(t) {\n return this.__data__.has(t);\n }\n function Gg(t, n) {\n var a = this.__data__;\n if (a instanceof It) {\n var s = a.__data__;\n if (!pi || s.length < l - 1)\n return s.push([t, n]), this.size = ++a.size, this;\n a = this.__data__ = new jt(s);\n }\n return a.set(t, n), this.size = a.size, this;\n }\n bt.prototype.clear = Ng, bt.prototype.delete = Wg, bt.prototype.get = Ug, bt.prototype.has = Hg, bt.prototype.set = Gg;\n function Hd(t, n) {\n var a = q(t), s = !a && pn(t), c = !a && !s && Xt(t), f = !a && !s && !c && Fn(t), C = a || s || c || f, y = C ? Ra(t.length, tg) : [], k = y.length;\n for (var T in t)\n (n || se.call(t, T)) && !(C && // Safari 9 has enumerable `arguments.length` in strict mode.\n (T == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n c && (T == "offset" || T == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n f && (T == "buffer" || T == "byteLength" || T == "byteOffset") || // Skip index properties.\n Mt(T, k))) && y.push(T);\n return y;\n }\n function Gd(t) {\n var n = t.length;\n return n ? t[io(0, n - 1)] : r;\n }\n function Vg(t, n) {\n return Tr(Ge(t), ln(n, 0, t.length));\n }\n function qg(t) {\n return Tr(Ge(t));\n }\n function qa(t, n, a) {\n (a !== r && !Ct(t[n], a) || a === r && !(n in t)) && Pt(t, n, a);\n }\n function vi(t, n, a) {\n var s = t[n];\n (!(se.call(t, n) && Ct(s, a)) || a === r && !(n in t)) && Pt(t, n, a);\n }\n function fr(t, n) {\n for (var a = t.length; a--; )\n if (Ct(t[a][0], n))\n return a;\n return -1;\n }\n function Kg(t, n, a, s) {\n return Kt(t, function(c, f, C) {\n n(s, c, a(c), C);\n }), s;\n }\n function Vd(t, n) {\n return t && kt(n, ze(n), t);\n }\n function Zg(t, n) {\n return t && kt(n, qe(n), t);\n }\n function Pt(t, n, a) {\n n == "__proto__" && sr ? sr(t, n, {\n configurable: !0,\n enumerable: !0,\n value: a,\n writable: !0\n }) : t[n] = a;\n }\n function Ka(t, n) {\n for (var a = -1, s = n.length, c = _(s), f = t == null; ++a < s; )\n c[a] = f ? r : zo(t, n[a]);\n return c;\n }\n function ln(t, n, a) {\n return t === t && (a !== r && (t = t <= a ? t : a), n !== r && (t = t >= n ? t : n)), t;\n }\n function dt(t, n, a, s, c, f) {\n var C, y = n & g, k = n & w, T = n & B;\n if (a && (C = c ? a(t, s, c, f) : a(t)), C !== r)\n return C;\n if (!ye(t))\n return t;\n var S = q(t);\n if (S) {\n if (C = Mb(t), !y)\n return Ge(t, C);\n } else {\n var z = Oe(t), P = z == Be || z == Xe;\n if (Xt(t))\n return vc(t, y);\n if (z == Bt || z == $ || P && !c) {\n if (C = k || P ? {} : Lc(t), !y)\n return k ? Tb(t, Zg(C, t)) : Eb(t, Vd(C, t));\n } else {\n if (!ce[z])\n return c ? t : {};\n C = Fb(t, z, y);\n }\n }\n f || (f = new bt());\n var R = f.get(t);\n if (R)\n return R;\n f.set(t, C), cu(t) ? t.forEach(function(H) {\n C.add(dt(H, n, a, H, t, f));\n }) : lu(t) && t.forEach(function(H, Q) {\n C.set(Q, dt(H, n, a, Q, t, f));\n });\n var U = T ? k ? ho : mo : k ? qe : ze, J = S ? r : U(t);\n return ot(J || t, function(H, Q) {\n J && (Q = H, H = t[Q]), vi(C, Q, dt(H, n, a, Q, t, f));\n }), C;\n }\n function Yg(t) {\n var n = ze(t);\n return function(a) {\n return qd(a, t, n);\n };\n }\n function qd(t, n, a) {\n var s = a.length;\n if (t == null)\n return !s;\n for (t = le(t); s--; ) {\n var c = a[s], f = n[c], C = t[c];\n if (C === r && !(c in t) || !f(C))\n return !1;\n }\n return !0;\n }\n function Kd(t, n, a) {\n if (typeof t != "function")\n throw new st(u);\n return wi(function() {\n t.apply(r, a);\n }, n);\n }\n function gi(t, n, a, s) {\n var c = -1, f = Yi, C = !0, y = t.length, k = [], T = n.length;\n if (!y)\n return k;\n a && (n = be(n, et(a))), s ? (f = Pa, C = !1) : n.length >= l && (f = ci, C = !1, n = new sn(n));\n e:\n for (; ++c < y; ) {\n var S = t[c], z = a == null ? S : a(S);\n if (S = s || S !== 0 ? S : 0, C && z === z) {\n for (var P = T; P--; )\n if (n[P] === z)\n continue e;\n k.push(S);\n } else\n f(n, z, s) || k.push(S);\n }\n return k;\n }\n var Kt = Ac(At), Zd = Ac(Ya, !0);\n function Jg(t, n) {\n var a = !0;\n return Kt(t, function(s, c, f) {\n return a = !!n(s, c, f), a;\n }), a;\n }\n function mr(t, n, a) {\n for (var s = -1, c = t.length; ++s < c; ) {\n var f = t[s], C = n(f);\n if (C != null && (y === r ? C === C && !nt(C) : a(C, y)))\n var y = C, k = f;\n }\n return k;\n }\n function Xg(t, n, a, s) {\n var c = t.length;\n for (a = Z(a), a < 0 && (a = -a > c ? 0 : c + a), s = s === r || s > c ? c : Z(s), s < 0 && (s += c), s = a > s ? 0 : pu(s); a < s; )\n t[a++] = n;\n return t;\n }\n function Yd(t, n) {\n var a = [];\n return Kt(t, function(s, c, f) {\n n(s, c, f) && a.push(s);\n }), a;\n }\n function je(t, n, a, s, c) {\n var f = -1, C = t.length;\n for (a || (a = Rb), c || (c = []); ++f < C; ) {\n var y = t[f];\n n > 0 && a(y) ? n > 1 ? je(y, n - 1, a, s, c) : Gt(c, y) : s || (c[c.length] = y);\n }\n return c;\n }\n var Za = kc(), Jd = kc(!0);\n function At(t, n) {\n return t && Za(t, n, ze);\n }\n function Ya(t, n) {\n return t && Jd(t, n, ze);\n }\n function hr(t, n) {\n return Ht(n, function(a) {\n return Ft(t[a]);\n });\n }\n function dn(t, n) {\n n = Yt(n, t);\n for (var a = 0, s = n.length; t != null && a < s; )\n t = t[wt(n[a++])];\n return a && a == s ? t : r;\n }\n function Xd(t, n, a) {\n var s = n(t);\n return q(t) ? s : Gt(s, a(t));\n }\n function Re(t) {\n return t == null ? t === r ? Sh : Eh : an && an in le(t) ? Pb(t) : qb(t);\n }\n function Ja(t, n) {\n return t > n;\n }\n function Qg(t, n) {\n return t != null && se.call(t, n);\n }\n function eb(t, n) {\n return t != null && n in le(t);\n }\n function tb(t, n, a) {\n return t >= Le(n, a) && t < Te(n, a);\n }\n function Xa(t, n, a) {\n for (var s = a ? Pa : Yi, c = t[0].length, f = t.length, C = f, y = _(f), k = 1 / 0, T = []; C--; ) {\n var S = t[C];\n C && n && (S = be(S, et(n))), k = Le(S.length, k), y[C] = !a && (n || c >= 120 && S.length >= 120) ? new sn(C && S) : r;\n }\n S = t[0];\n var z = -1, P = y[0];\n e:\n for (; ++z < c && T.length < k; ) {\n var R = S[z], U = n ? n(R) : R;\n if (R = a || R !== 0 ? R : 0, !(P ? ci(P, U) : s(T, U, a))) {\n for (C = f; --C; ) {\n var J = y[C];\n if (!(J ? ci(J, U) : s(t[C], U, a)))\n continue e;\n }\n P && P.push(U), T.push(R);\n }\n }\n return T;\n }\n function nb(t, n, a, s) {\n return At(t, function(c, f, C) {\n n(s, a(c), f, C);\n }), s;\n }\n function bi(t, n, a) {\n n = Yt(n, t), t = $c(t, n);\n var s = t == null ? t : t[wt(ut(n))];\n return s == null ? r : Qe(s, t, a);\n }\n function Qd(t) {\n return Ae(t) && Re(t) == $;\n }\n function ib(t) {\n return Ae(t) && Re(t) == di;\n }\n function rb(t) {\n return Ae(t) && Re(t) == Y;\n }\n function Ci(t, n, a, s, c) {\n return t === n ? !0 : t == null || n == null || !Ae(t) && !Ae(n) ? t !== t && n !== n : ab(t, n, a, s, Ci, c);\n }\n function ab(t, n, a, s, c, f) {\n var C = q(t), y = q(n), k = C ? L : Oe(t), T = y ? L : Oe(n);\n k = k == $ ? Bt : k, T = T == $ ? Bt : T;\n var S = k == Bt, z = T == Bt, P = k == T;\n if (P && Xt(t)) {\n if (!Xt(n))\n return !1;\n C = !0, S = !1;\n }\n if (P && !S)\n return f || (f = new bt()), C || Fn(t) ? Ic(t, n, a, s, c, f) : Ib(t, n, k, a, s, c, f);\n if (!(a & D)) {\n var R = S && se.call(t, "__wrapped__"), U = z && se.call(n, "__wrapped__");\n if (R || U) {\n var J = R ? t.value() : t, H = U ? n.value() : n;\n return f || (f = new bt()), c(J, H, a, s, f);\n }\n }\n return P ? (f || (f = new bt()), jb(t, n, a, s, c, f)) : !1;\n }\n function ob(t) {\n return Ae(t) && Oe(t) == He;\n }\n function Qa(t, n, a, s) {\n var c = a.length, f = c, C = !s;\n if (t == null)\n return !f;\n for (t = le(t); c--; ) {\n var y = a[c];\n if (C && y[2] ? y[1] !== t[y[0]] : !(y[0] in t))\n return !1;\n }\n for (; ++c < f; ) {\n y = a[c];\n var k = y[0], T = t[k], S = y[1];\n if (C && y[2]) {\n if (T === r && !(k in t))\n return !1;\n } else {\n var z = new bt();\n if (s)\n var P = s(T, S, k, t, n, z);\n if (!(P === r ? Ci(S, T, D | I, s, z) : P))\n return !1;\n }\n }\n return !0;\n }\n function ec(t) {\n if (!ye(t) || Wb(t))\n return !1;\n var n = Ft(t) ? og : Yh;\n return n.test(un(t));\n }\n function sb(t) {\n return Ae(t) && Re(t) == oi;\n }\n function lb(t) {\n return Ae(t) && Oe(t) == vt;\n }\n function db(t) {\n return Ae(t) && Ir(t.length) && !!fe[Re(t)];\n }\n function tc(t) {\n return typeof t == "function" ? t : t == null ? Ke : typeof t == "object" ? q(t) ? rc(t[0], t[1]) : ic(t) : wu(t);\n }\n function eo(t) {\n if (!ki(t))\n return pg(t);\n var n = [];\n for (var a in le(t))\n se.call(t, a) && a != "constructor" && n.push(a);\n return n;\n }\n function cb(t) {\n if (!ye(t))\n return Vb(t);\n var n = ki(t), a = [];\n for (var s in t)\n s == "constructor" && (n || !se.call(t, s)) || a.push(s);\n return a;\n }\n function to(t, n) {\n return t < n;\n }\n function nc(t, n) {\n var a = -1, s = Ve(t) ? _(t.length) : [];\n return Kt(t, function(c, f, C) {\n s[++a] = n(c, f, C);\n }), s;\n }\n function ic(t) {\n var n = go(t);\n return n.length == 1 && n[0][2] ? Mc(n[0][0], n[0][1]) : function(a) {\n return a === t || Qa(a, t, n);\n };\n }\n function rc(t, n) {\n return Co(t) && Oc(n) ? Mc(wt(t), n) : function(a) {\n var s = zo(a, t);\n return s === r && s === n ? Do(a, t) : Ci(n, s, D | I);\n };\n }\n function vr(t, n, a, s, c) {\n t !== n && Za(n, function(f, C) {\n if (c || (c = new bt()), ye(f))\n ub(t, n, C, a, vr, s, c);\n else {\n var y = s ? s(Ao(t, C), f, C + "", t, n, c) : r;\n y === r && (y = f), qa(t, C, y);\n }\n }, qe);\n }\n function ub(t, n, a, s, c, f, C) {\n var y = Ao(t, a), k = Ao(n, a), T = C.get(k);\n if (T) {\n qa(t, a, T);\n return;\n }\n var S = f ? f(y, k, a + "", t, n, C) : r, z = S === r;\n if (z) {\n var P = q(k), R = !P && Xt(k), U = !P && !R && Fn(k);\n S = k, P || R || U ? q(y) ? S = y : we(y) ? S = Ge(y) : R ? (z = !1, S = vc(k, !0)) : U ? (z = !1, S = gc(k, !0)) : S = [] : _i(k) || pn(k) ? (S = y, pn(y) ? S = fu(y) : (!ye(y) || Ft(y)) && (S = Lc(k))) : z = !1;\n }\n z && (C.set(k, S), c(S, k, s, f, C), C.delete(k)), qa(t, a, S);\n }\n function ac(t, n) {\n var a = t.length;\n if (a)\n return n += n < 0 ? a : 0, Mt(n, a) ? t[n] : r;\n }\n function oc(t, n, a) {\n n.length ? n = be(n, function(f) {\n return q(f) ? function(C) {\n return dn(C, f.length === 1 ? f[0] : f);\n } : f;\n }) : n = [Ke];\n var s = -1;\n n = be(n, et(N()));\n var c = nc(t, function(f, C, y) {\n var k = be(n, function(T) {\n return T(f);\n });\n return { criteria: k, index: ++s, value: f };\n });\n return Fv(c, function(f, C) {\n return _b(f, C, a);\n });\n }\n function pb(t, n) {\n return sc(t, n, function(a, s) {\n return Do(t, s);\n });\n }\n function sc(t, n, a) {\n for (var s = -1, c = n.length, f = {}; ++s < c; ) {\n var C = n[s], y = dn(t, C);\n a(y, C) && yi(f, Yt(C, t), y);\n }\n return f;\n }\n function fb(t) {\n return function(n) {\n return dn(n, t);\n };\n }\n function no(t, n, a, s) {\n var c = s ? Mv : Sn, f = -1, C = n.length, y = t;\n for (t === n && (n = Ge(n)), a && (y = be(t, et(a))); ++f < C; )\n for (var k = 0, T = n[f], S = a ? a(T) : T; (k = c(y, S, k, s)) > -1; )\n y !== t && or.call(y, k, 1), or.call(t, k, 1);\n return t;\n }\n function lc(t, n) {\n for (var a = t ? n.length : 0, s = a - 1; a--; ) {\n var c = n[a];\n if (a == s || c !== f) {\n var f = c;\n Mt(c) ? or.call(t, c, 1) : oo(t, c);\n }\n }\n return t;\n }\n function io(t, n) {\n return t + dr(Wd() * (n - t + 1));\n }\n function mb(t, n, a, s) {\n for (var c = -1, f = Te(lr((n - t) / (a || 1)), 0), C = _(f); f--; )\n C[s ? f : ++c] = t, t += a;\n return C;\n }\n function ro(t, n) {\n var a = "";\n if (!t || n < 1 || n > ht)\n return a;\n do\n n % 2 && (a += t), n = dr(n / 2), n && (t += t);\n while (n);\n return a;\n }\n function X(t, n) {\n return ko(Fc(t, n, Ke), t + "");\n }\n function hb(t) {\n return Gd($n(t));\n }\n function vb(t, n) {\n var a = $n(t);\n return Tr(a, ln(n, 0, a.length));\n }\n function yi(t, n, a, s) {\n if (!ye(t))\n return t;\n n = Yt(n, t);\n for (var c = -1, f = n.length, C = f - 1, y = t; y != null && ++c < f; ) {\n var k = wt(n[c]), T = a;\n if (k === "__proto__" || k === "constructor" || k === "prototype")\n return t;\n if (c != C) {\n var S = y[k];\n T = s ? s(S, k, y) : r, T === r && (T = ye(S) ? S : Mt(n[c + 1]) ? [] : {});\n }\n vi(y, k, T), y = y[k];\n }\n return t;\n }\n var dc = cr ? function(t, n) {\n return cr.set(t, n), t;\n } : Ke, gb = sr ? function(t, n) {\n return sr(t, "toString", {\n configurable: !0,\n enumerable: !1,\n value: Io(n),\n writable: !0\n });\n } : Ke;\n function bb(t) {\n return Tr($n(t));\n }\n function ct(t, n, a) {\n var s = -1, c = t.length;\n n < 0 && (n = -n > c ? 0 : c + n), a = a > c ? c : a, a < 0 && (a += c), c = n > a ? 0 : a - n >>> 0, n >>>= 0;\n for (var f = _(c); ++s < c; )\n f[s] = t[s + n];\n return f;\n }\n function Cb(t, n) {\n var a;\n return Kt(t, function(s, c, f) {\n return a = n(s, c, f), !a;\n }), !!a;\n }\n function gr(t, n, a) {\n var s = 0, c = t == null ? s : t.length;\n if (typeof n == "number" && n === n && c <= Fe) {\n for (; s < c; ) {\n var f = s + c >>> 1, C = t[f];\n C !== null && !nt(C) && (a ? C <= n : C < n) ? s = f + 1 : c = f;\n }\n return c;\n }\n return ao(t, n, Ke, a);\n }\n function ao(t, n, a, s) {\n var c = 0, f = t == null ? 0 : t.length;\n if (f === 0)\n return 0;\n n = a(n);\n for (var C = n !== n, y = n === null, k = nt(n), T = n === r; c < f; ) {\n var S = dr((c + f) / 2), z = a(t[S]), P = z !== r, R = z === null, U = z === z, J = nt(z);\n if (C)\n var H = s || U;\n else\n T ? H = U && (s || P) : y ? H = U && P && (s || !R) : k ? H = U && P && !R && (s || !J) : R || J ? H = !1 : H = s ? z <= n : z < n;\n H ? c = S + 1 : f = S;\n }\n return Le(f, Gi);\n }\n function cc(t, n) {\n for (var a = -1, s = t.length, c = 0, f = []; ++a < s; ) {\n var C = t[a], y = n ? n(C) : C;\n if (!a || !Ct(y, k)) {\n var k = y;\n f[c++] = C === 0 ? 0 : C;\n }\n }\n return f;\n }\n function uc(t) {\n return typeof t == "number" ? t : nt(t) ? _n : +t;\n }\n function tt(t) {\n if (typeof t == "string")\n return t;\n if (q(t))\n return be(t, tt) + "";\n if (nt(t))\n return Ud ? Ud.call(t) : "";\n var n = t + "";\n return n == "0" && 1 / t == -Dt ? "-0" : n;\n }\n function Zt(t, n, a) {\n var s = -1, c = Yi, f = t.length, C = !0, y = [], k = y;\n if (a)\n C = !1, c = Pa;\n else if (f >= l) {\n var T = n ? null : Db(t);\n if (T)\n return Xi(T);\n C = !1, c = ci, k = new sn();\n } else\n k = n ? [] : y;\n e:\n for (; ++s < f; ) {\n var S = t[s], z = n ? n(S) : S;\n if (S = a || S !== 0 ? S : 0, C && z === z) {\n for (var P = k.length; P--; )\n if (k[P] === z)\n continue e;\n n && k.push(z), y.push(S);\n } else\n c(k, z, a) || (k !== y && k.push(z), y.push(S));\n }\n return y;\n }\n function oo(t, n) {\n return n = Yt(n, t), t = $c(t, n), t == null || delete t[wt(ut(n))];\n }\n function pc(t, n, a, s) {\n return yi(t, n, a(dn(t, n)), s);\n }\n function br(t, n, a, s) {\n for (var c = t.length, f = s ? c : -1; (s ? f-- : ++f < c) && n(t[f], f, t); )\n ;\n return a ? ct(t, s ? 0 : f, s ? f + 1 : c) : ct(t, s ? f + 1 : 0, s ? c : f);\n }\n function fc(t, n) {\n var a = t;\n return a instanceof ee && (a = a.value()), La(n, function(s, c) {\n return c.func.apply(c.thisArg, Gt([s], c.args));\n }, a);\n }\n function so(t, n, a) {\n var s = t.length;\n if (s < 2)\n return s ? Zt(t[0]) : [];\n for (var c = -1, f = _(s); ++c < s; )\n for (var C = t[c], y = -1; ++y < s; )\n y != c && (f[c] = gi(f[c] || C, t[y], n, a));\n return Zt(je(f, 1), n, a);\n }\n function mc(t, n, a) {\n for (var s = -1, c = t.length, f = n.length, C = {}; ++s < c; ) {\n var y = s < f ? n[s] : r;\n a(C, t[s], y);\n }\n return C;\n }\n function lo(t) {\n return we(t) ? t : [];\n }\n function co(t) {\n return typeof t == "function" ? t : Ke;\n }\n function Yt(t, n) {\n return q(t) ? t : Co(t, n) ? [t] : Uc(oe(t));\n }\n var yb = X;\n function Jt(t, n, a) {\n var s = t.length;\n return a = a === r ? s : a, !n && a >= s ? t : ct(t, n, a);\n }\n var hc = sg || function(t) {\n return Ie.clearTimeout(t);\n };\n function vc(t, n) {\n if (n)\n return t.slice();\n var a = t.length, s = Md ? Md(a) : new t.constructor(a);\n return t.copy(s), s;\n }\n function uo(t) {\n var n = new t.constructor(t.byteLength);\n return new rr(n).set(new rr(t)), n;\n }\n function Ab(t, n) {\n var a = n ? uo(t.buffer) : t.buffer;\n return new t.constructor(a, t.byteOffset, t.byteLength);\n }\n function kb(t) {\n var n = new t.constructor(t.source, Ql.exec(t));\n return n.lastIndex = t.lastIndex, n;\n }\n function wb(t) {\n return hi ? le(hi.call(t)) : {};\n }\n function gc(t, n) {\n var a = n ? uo(t.buffer) : t.buffer;\n return new t.constructor(a, t.byteOffset, t.length);\n }\n function bc(t, n) {\n if (t !== n) {\n var a = t !== r, s = t === null, c = t === t, f = nt(t), C = n !== r, y = n === null, k = n === n, T = nt(n);\n if (!y && !T && !f && t > n || f && C && k && !y && !T || s && C && k || !a && k || !c)\n return 1;\n if (!s && !f && !T && t < n || T && a && c && !s && !f || y && a && c || !C && c || !k)\n return -1;\n }\n return 0;\n }\n function _b(t, n, a) {\n for (var s = -1, c = t.criteria, f = n.criteria, C = c.length, y = a.length; ++s < C; ) {\n var k = bc(c[s], f[s]);\n if (k) {\n if (s >= y)\n return k;\n var T = a[s];\n return k * (T == "desc" ? -1 : 1);\n }\n }\n return t.index - n.index;\n }\n function Cc(t, n, a, s) {\n for (var c = -1, f = t.length, C = a.length, y = -1, k = n.length, T = Te(f - C, 0), S = _(k + T), z = !s; ++y < k; )\n S[y] = n[y];\n for (; ++c < C; )\n (z || c < f) && (S[a[c]] = t[c]);\n for (; T--; )\n S[y++] = t[c++];\n return S;\n }\n function yc(t, n, a, s) {\n for (var c = -1, f = t.length, C = -1, y = a.length, k = -1, T = n.length, S = Te(f - y, 0), z = _(S + T), P = !s; ++c < S; )\n z[c] = t[c];\n for (var R = c; ++k < T; )\n z[R + k] = n[k];\n for (; ++C < y; )\n (P || c < f) && (z[R + a[C]] = t[c++]);\n return z;\n }\n function Ge(t, n) {\n var a = -1, s = t.length;\n for (n || (n = _(s)); ++a < s; )\n n[a] = t[a];\n return n;\n }\n function kt(t, n, a, s) {\n var c = !a;\n a || (a = {});\n for (var f = -1, C = n.length; ++f < C; ) {\n var y = n[f], k = s ? s(a[y], t[y], y, a, t) : r;\n k === r && (k = t[y]), c ? Pt(a, y, k) : vi(a, y, k);\n }\n return a;\n }\n function Eb(t, n) {\n return kt(t, bo(t), n);\n }\n function Tb(t, n) {\n return kt(t, jc(t), n);\n }\n function Cr(t, n) {\n return function(a, s) {\n var c = q(a) ? Bv : Kg, f = n ? n() : {};\n return c(a, t, N(s, 2), f);\n };\n }\n function Ln(t) {\n return X(function(n, a) {\n var s = -1, c = a.length, f = c > 1 ? a[c - 1] : r, C = c > 2 ? a[2] : r;\n for (f = t.length > 3 && typeof f == "function" ? (c--, f) : r, C && Ne(a[0], a[1], C) && (f = c < 3 ? r : f, c = 1), n = le(n); ++s < c; ) {\n var y = a[s];\n y && t(n, y, s, f);\n }\n return n;\n });\n }\n function Ac(t, n) {\n return function(a, s) {\n if (a == null)\n return a;\n if (!Ve(a))\n return t(a, s);\n for (var c = a.length, f = n ? c : -1, C = le(a); (n ? f-- : ++f < c) && s(C[f], f, C) !== !1; )\n ;\n return a;\n };\n }\n function kc(t) {\n return function(n, a, s) {\n for (var c = -1, f = le(n), C = s(n), y = C.length; y--; ) {\n var k = C[t ? y : ++c];\n if (a(f[k], k, f) === !1)\n break;\n }\n return n;\n };\n }\n function Sb(t, n, a) {\n var s = n & x, c = Ai(t);\n function f() {\n var C = this && this !== Ie && this instanceof f ? c : t;\n return C.apply(s ? a : this, arguments);\n }\n return f;\n }\n function wc(t) {\n return function(n) {\n n = oe(n);\n var a = xn(n) ? gt(n) : r, s = a ? a[0] : n.charAt(0), c = a ? Jt(a, 1).join("") : n.slice(1);\n return s[t]() + c;\n };\n }\n function On(t) {\n return function(n) {\n return La(Au(yu(n).replace(gv, "")), t, "");\n };\n }\n function Ai(t) {\n return function() {\n var n = arguments;\n switch (n.length) {\n case 0:\n return new t();\n case 1:\n return new t(n[0]);\n case 2:\n return new t(n[0], n[1]);\n case 3:\n return new t(n[0], n[1], n[2]);\n case 4:\n return new t(n[0], n[1], n[2], n[3]);\n case 5:\n return new t(n[0], n[1], n[2], n[3], n[4]);\n case 6:\n return new t(n[0], n[1], n[2], n[3], n[4], n[5]);\n case 7:\n return new t(n[0], n[1], n[2], n[3], n[4], n[5], n[6]);\n }\n var a = Pn(t.prototype), s = t.apply(a, n);\n return ye(s) ? s : a;\n };\n }\n function xb(t, n, a) {\n var s = Ai(t);\n function c() {\n for (var f = arguments.length, C = _(f), y = f, k = Mn(c); y--; )\n C[y] = arguments[y];\n var T = f < 3 && C[0] !== k && C[f - 1] !== k ? [] : Vt(C, k);\n if (f -= T.length, f < a)\n return xc(\n t,\n n,\n yr,\n c.placeholder,\n r,\n C,\n T,\n r,\n r,\n a - f\n );\n var S = this && this !== Ie && this instanceof c ? s : t;\n return Qe(S, this, C);\n }\n return c;\n }\n function _c(t) {\n return function(n, a, s) {\n var c = le(n);\n if (!Ve(n)) {\n var f = N(a, 3);\n n = ze(n), a = function(y) {\n return f(c[y], y, c);\n };\n }\n var C = t(n, a, s);\n return C > -1 ? c[f ? n[C] : C] : r;\n };\n }\n function Ec(t) {\n return Ot(function(n) {\n var a = n.length, s = a, c = lt.prototype.thru;\n for (t && n.reverse(); s--; ) {\n var f = n[s];\n if (typeof f != "function")\n throw new st(u);\n if (c && !C && _r(f) == "wrapper")\n var C = new lt([], !0);\n }\n for (s = C ? s : a; ++s < a; ) {\n f = n[s];\n var y = _r(f), k = y == "wrapper" ? vo(f) : r;\n k && yo(k[0]) && k[1] == (ge | W | re | xe) && !k[4].length && k[9] == 1 ? C = C[_r(k[0])].apply(C, k[3]) : C = f.length == 1 && yo(f) ? C[y]() : C.thru(f);\n }\n return function() {\n var T = arguments, S = T[0];\n if (C && T.length == 1 && q(S))\n return C.plant(S).value();\n for (var z = 0, P = a ? n[z].apply(this, T) : S; ++z < a; )\n P = n[z].call(this, P);\n return P;\n };\n });\n }\n function yr(t, n, a, s, c, f, C, y, k, T) {\n var S = n & ge, z = n & x, P = n & j, R = n & (W | K), U = n & en, J = P ? r : Ai(t);\n function H() {\n for (var Q = arguments.length, te = _(Q), it = Q; it--; )\n te[it] = arguments[it];\n if (R)\n var We = Mn(H), rt = Rv(te, We);\n if (s && (te = Cc(te, s, c, R)), f && (te = yc(te, f, C, R)), Q -= rt, R && Q < T) {\n var _e = Vt(te, We);\n return xc(\n t,\n n,\n yr,\n H.placeholder,\n a,\n te,\n _e,\n y,\n k,\n T - Q\n );\n }\n var yt = z ? a : this, Rt = P ? yt[t] : t;\n return Q = te.length, y ? te = Kb(te, y) : U && Q > 1 && te.reverse(), S && k < Q && (te.length = k), this && this !== Ie && this instanceof H && (Rt = J || Ai(Rt)), Rt.apply(yt, te);\n }\n return H;\n }\n function Tc(t, n) {\n return function(a, s) {\n return nb(a, t, n(s), {});\n };\n }\n function Ar(t, n) {\n return function(a, s) {\n var c;\n if (a === r && s === r)\n return n;\n if (a !== r && (c = a), s !== r) {\n if (c === r)\n return s;\n typeof a == "string" || typeof s == "string" ? (a = tt(a), s = tt(s)) : (a = uc(a), s = uc(s)), c = t(a, s);\n }\n return c;\n };\n }\n function po(t) {\n return Ot(function(n) {\n return n = be(n, et(N())), X(function(a) {\n var s = this;\n return t(n, function(c) {\n return Qe(c, s, a);\n });\n });\n });\n }\n function kr(t, n) {\n n = n === r ? " " : tt(n);\n var a = n.length;\n if (a < 2)\n return a ? ro(n, t) : n;\n var s = ro(n, lr(t / zn(n)));\n return xn(n) ? Jt(gt(s), 0, t).join("") : s.slice(0, t);\n }\n function zb(t, n, a, s) {\n var c = n & x, f = Ai(t);\n function C() {\n for (var y = -1, k = arguments.length, T = -1, S = s.length, z = _(S + k), P = this && this !== Ie && this instanceof C ? f : t; ++T < S; )\n z[T] = s[T];\n for (; k--; )\n z[T++] = arguments[++y];\n return Qe(P, c ? a : this, z);\n }\n return C;\n }\n function Sc(t) {\n return function(n, a, s) {\n return s && typeof s != "number" && Ne(n, a, s) && (a = s = r), n = $t(n), a === r ? (a = n, n = 0) : a = $t(a), s = s === r ? n < a ? 1 : -1 : $t(s), mb(n, a, s, t);\n };\n }\n function wr(t) {\n return function(n, a) {\n return typeof n == "string" && typeof a == "string" || (n = pt(n), a = pt(a)), t(n, a);\n };\n }\n function xc(t, n, a, s, c, f, C, y, k, T) {\n var S = n & W, z = S ? C : r, P = S ? r : C, R = S ? f : r, U = S ? r : f;\n n |= S ? re : de, n &= ~(S ? de : re), n & M || (n &= ~(x | j));\n var J = [\n t,\n n,\n c,\n R,\n z,\n U,\n P,\n y,\n k,\n T\n ], H = a.apply(r, J);\n return yo(t) && Rc(H, J), H.placeholder = s, Nc(H, t, n);\n }\n function fo(t) {\n var n = Ee[t];\n return function(a, s) {\n if (a = pt(a), s = s == null ? 0 : Le(Z(s), 292), s && Nd(a)) {\n var c = (oe(a) + "e").split("e"), f = n(c[0] + "e" + (+c[1] + s));\n return c = (oe(f) + "e").split("e"), +(c[0] + "e" + (+c[1] - s));\n }\n return n(a);\n };\n }\n var Db = In && 1 / Xi(new In([, -0]))[1] == Dt ? function(t) {\n return new In(t);\n } : Lo;\n function zc(t) {\n return function(n) {\n var a = Oe(n);\n return a == He ? Wa(n) : a == vt ? qv(n) : $v(n, t(n));\n };\n }\n function Lt(t, n, a, s, c, f, C, y) {\n var k = n & j;\n if (!k && typeof t != "function")\n throw new st(u);\n var T = s ? s.length : 0;\n if (T || (n &= ~(re | de), s = c = r), C = C === r ? C : Te(Z(C), 0), y = y === r ? y : Z(y), T -= c ? c.length : 0, n & de) {\n var S = s, z = c;\n s = c = r;\n }\n var P = k ? r : vo(t), R = [\n t,\n n,\n a,\n s,\n c,\n S,\n z,\n f,\n C,\n y\n ];\n if (P && Gb(R, P), t = R[0], n = R[1], a = R[2], s = R[3], c = R[4], y = R[9] = R[9] === r ? k ? 0 : t.length : Te(R[9] - T, 0), !y && n & (W | K) && (n &= ~(W | K)), !n || n == x)\n var U = Sb(t, n, a);\n else\n n == W || n == K ? U = xb(t, n, y) : (n == re || n == (x | re)) && !c.length ? U = zb(t, n, a, s) : U = yr.apply(r, R);\n var J = P ? dc : Rc;\n return Nc(J(U, R), t, n);\n }\n function Dc(t, n, a, s) {\n return t === r || Ct(t, Bn[a]) && !se.call(s, a) ? n : t;\n }\n function Bc(t, n, a, s, c, f) {\n return ye(t) && ye(n) && (f.set(n, t), vr(t, n, r, Bc, f), f.delete(n)), t;\n }\n function Bb(t) {\n return _i(t) ? r : t;\n }\n function Ic(t, n, a, s, c, f) {\n var C = a & D, y = t.length, k = n.length;\n if (y != k && !(C && k > y))\n return !1;\n var T = f.get(t), S = f.get(n);\n if (T && S)\n return T == n && S == t;\n var z = -1, P = !0, R = a & I ? new sn() : r;\n for (f.set(t, n), f.set(n, t); ++z < y; ) {\n var U = t[z], J = n[z];\n if (s)\n var H = C ? s(J, U, z, n, t, f) : s(U, J, z, t, n, f);\n if (H !== r) {\n if (H)\n continue;\n P = !1;\n break;\n }\n if (R) {\n if (!Oa(n, function(Q, te) {\n if (!ci(R, te) && (U === Q || c(U, Q, a, s, f)))\n return R.push(te);\n })) {\n P = !1;\n break;\n }\n } else if (!(U === J || c(U, J, a, s, f))) {\n P = !1;\n break;\n }\n }\n return f.delete(t), f.delete(n), P;\n }\n function Ib(t, n, a, s, c, f, C) {\n switch (a) {\n case En:\n if (t.byteLength != n.byteLength || t.byteOffset != n.byteOffset)\n return !1;\n t = t.buffer, n = n.buffer;\n case di:\n return !(t.byteLength != n.byteLength || !f(new rr(t), new rr(n)));\n case G:\n case Y:\n case nn:\n return Ct(+t, +n);\n case $e:\n return t.name == n.name && t.message == n.message;\n case oi:\n case si:\n return t == n + "";\n case He:\n var y = Wa;\n case vt:\n var k = s & D;\n if (y || (y = Xi), t.size != n.size && !k)\n return !1;\n var T = C.get(t);\n if (T)\n return T == n;\n s |= I, C.set(t, n);\n var S = Ic(y(t), y(n), s, c, f, C);\n return C.delete(t), S;\n case Vi:\n if (hi)\n return hi.call(t) == hi.call(n);\n }\n return !1;\n }\n function jb(t, n, a, s, c, f) {\n var C = a & D, y = mo(t), k = y.length, T = mo(n), S = T.length;\n if (k != S && !C)\n return !1;\n for (var z = k; z--; ) {\n var P = y[z];\n if (!(C ? P in n : se.call(n, P)))\n return !1;\n }\n var R = f.get(t), U = f.get(n);\n if (R && U)\n return R == n && U == t;\n var J = !0;\n f.set(t, n), f.set(n, t);\n for (var H = C; ++z < k; ) {\n P = y[z];\n var Q = t[P], te = n[P];\n if (s)\n var it = C ? s(te, Q, P, n, t, f) : s(Q, te, P, t, n, f);\n if (!(it === r ? Q === te || c(Q, te, a, s, f) : it)) {\n J = !1;\n break;\n }\n H || (H = P == "constructor");\n }\n if (J && !H) {\n var We = t.constructor, rt = n.constructor;\n We != rt && "constructor" in t && "constructor" in n && !(typeof We == "function" && We instanceof We && typeof rt == "function" && rt instanceof rt) && (J = !1);\n }\n return f.delete(t), f.delete(n), J;\n }\n function Ot(t) {\n return ko(Fc(t, r, qc), t + "");\n }\n function mo(t) {\n return Xd(t, ze, bo);\n }\n function ho(t) {\n return Xd(t, qe, jc);\n }\n var vo = cr ? function(t) {\n return cr.get(t);\n } : Lo;\n function _r(t) {\n for (var n = t.name + "", a = jn[n], s = se.call(jn, n) ? a.length : 0; s--; ) {\n var c = a[s], f = c.func;\n if (f == null || f == t)\n return c.name;\n }\n return n;\n }\n function Mn(t) {\n var n = se.call(p, "placeholder") ? p : t;\n return n.placeholder;\n }\n function N() {\n var t = p.iteratee || jo;\n return t = t === jo ? tc : t, arguments.length ? t(arguments[0], arguments[1]) : t;\n }\n function Er(t, n) {\n var a = t.__data__;\n return Nb(n) ? a[typeof n == "string" ? "string" : "hash"] : a.map;\n }\n function go(t) {\n for (var n = ze(t), a = n.length; a--; ) {\n var s = n[a], c = t[s];\n n[a] = [s, c, Oc(c)];\n }\n return n;\n }\n function cn(t, n) {\n var a = Hv(t, n);\n return ec(a) ? a : r;\n }\n function Pb(t) {\n var n = se.call(t, an), a = t[an];\n try {\n t[an] = r;\n var s = !0;\n } catch (f) {\n }\n var c = nr.call(t);\n return s && (n ? t[an] = a : delete t[an]), c;\n }\n var bo = Ha ? function(t) {\n return t == null ? [] : (t = le(t), Ht(Ha(t), function(n) {\n return $d.call(t, n);\n }));\n } : Oo, jc = Ha ? function(t) {\n for (var n = []; t; )\n Gt(n, bo(t)), t = ar(t);\n return n;\n } : Oo, Oe = Re;\n (Ga && Oe(new Ga(new ArrayBuffer(1))) != En || pi && Oe(new pi()) != He || Va && Oe(Va.resolve()) != Zl || In && Oe(new In()) != vt || fi && Oe(new fi()) != li) && (Oe = function(t) {\n var n = Re(t), a = n == Bt ? t.constructor : r, s = a ? un(a) : "";\n if (s)\n switch (s) {\n case vg:\n return En;\n case gg:\n return He;\n case bg:\n return Zl;\n case Cg:\n return vt;\n case yg:\n return li;\n }\n return n;\n });\n function Lb(t, n, a) {\n for (var s = -1, c = a.length; ++s < c; ) {\n var f = a[s], C = f.size;\n switch (f.type) {\n case "drop":\n t += C;\n break;\n case "dropRight":\n n -= C;\n break;\n case "take":\n n = Le(n, t + C);\n break;\n case "takeRight":\n t = Te(t, n - C);\n break;\n }\n }\n return { start: t, end: n };\n }\n function Ob(t) {\n var n = t.match(Wh);\n return n ? n[1].split(Uh) : [];\n }\n function Pc(t, n, a) {\n n = Yt(n, t);\n for (var s = -1, c = n.length, f = !1; ++s < c; ) {\n var C = wt(n[s]);\n if (!(f = t != null && a(t, C)))\n break;\n t = t[C];\n }\n return f || ++s != c ? f : (c = t == null ? 0 : t.length, !!c && Ir(c) && Mt(C, c) && (q(t) || pn(t)));\n }\n function Mb(t) {\n var n = t.length, a = new t.constructor(n);\n return n && typeof t[0] == "string" && se.call(t, "index") && (a.index = t.index, a.input = t.input), a;\n }\n function Lc(t) {\n return typeof t.constructor == "function" && !ki(t) ? Pn(ar(t)) : {};\n }\n function Fb(t, n, a) {\n var s = t.constructor;\n switch (n) {\n case di:\n return uo(t);\n case G:\n case Y:\n return new s(+t);\n case En:\n return Ab(t, a);\n case va:\n case ga:\n case ba:\n case Ca:\n case ya:\n case Aa:\n case ka:\n case wa:\n case _a:\n return gc(t, a);\n case He:\n return new s();\n case nn:\n case si:\n return new s(t);\n case oi:\n return kb(t);\n case vt:\n return new s();\n case Vi:\n return wb(t);\n }\n }\n function $b(t, n) {\n var a = n.length;\n if (!a)\n return t;\n var s = a - 1;\n return n[s] = (a > 1 ? "& " : "") + n[s], n = n.join(a > 2 ? ", " : " "), t.replace(Nh, `{\n/* [wrapped with ` + n + `] */\n`);\n }\n function Rb(t) {\n return q(t) || pn(t) || !!(Rd && t && t[Rd]);\n }\n function Mt(t, n) {\n var a = typeof t;\n return n = n == null ? ht : n, !!n && (a == "number" || a != "symbol" && Xh.test(t)) && t > -1 && t % 1 == 0 && t < n;\n }\n function Ne(t, n, a) {\n if (!ye(a))\n return !1;\n var s = typeof n;\n return (s == "number" ? Ve(a) && Mt(n, a.length) : s == "string" && n in a) ? Ct(a[n], t) : !1;\n }\n function Co(t, n) {\n if (q(t))\n return !1;\n var a = typeof t;\n return a == "number" || a == "symbol" || a == "boolean" || t == null || nt(t) ? !0 : Mh.test(t) || !Oh.test(t) || n != null && t in le(n);\n }\n function Nb(t) {\n var n = typeof t;\n return n == "string" || n == "number" || n == "symbol" || n == "boolean" ? t !== "__proto__" : t === null;\n }\n function yo(t) {\n var n = _r(t), a = p[n];\n if (typeof a != "function" || !(n in ee.prototype))\n return !1;\n if (t === a)\n return !0;\n var s = vo(a);\n return !!s && t === s[0];\n }\n function Wb(t) {\n return !!Od && Od in t;\n }\n var Ub = er ? Ft : Mo;\n function ki(t) {\n var n = t && t.constructor, a = typeof n == "function" && n.prototype || Bn;\n return t === a;\n }\n function Oc(t) {\n return t === t && !ye(t);\n }\n function Mc(t, n) {\n return function(a) {\n return a == null ? !1 : a[t] === n && (n !== r || t in le(a));\n };\n }\n function Hb(t) {\n var n = Dr(t, function(s) {\n return a.size === b && a.clear(), s;\n }), a = n.cache;\n return n;\n }\n function Gb(t, n) {\n var a = t[1], s = n[1], c = a | s, f = c < (x | j | ge), C = s == ge && a == W || s == ge && a == xe && t[7].length <= n[8] || s == (ge | xe) && n[7].length <= n[8] && a == W;\n if (!(f || C))\n return t;\n s & x && (t[2] = n[2], c |= a & x ? 0 : M);\n var y = n[3];\n if (y) {\n var k = t[3];\n t[3] = k ? Cc(k, y, n[4]) : y, t[4] = k ? Vt(t[3], v) : n[4];\n }\n return y = n[5], y && (k = t[5], t[5] = k ? yc(k, y, n[6]) : y, t[6] = k ? Vt(t[5], v) : n[6]), y = n[7], y && (t[7] = y), s & ge && (t[8] = t[8] == null ? n[8] : Le(t[8], n[8])), t[9] == null && (t[9] = n[9]), t[0] = n[0], t[1] = c, t;\n }\n function Vb(t) {\n var n = [];\n if (t != null)\n for (var a in le(t))\n n.push(a);\n return n;\n }\n function qb(t) {\n return nr.call(t);\n }\n function Fc(t, n, a) {\n return n = Te(n === r ? t.length - 1 : n, 0), function() {\n for (var s = arguments, c = -1, f = Te(s.length - n, 0), C = _(f); ++c < f; )\n C[c] = s[n + c];\n c = -1;\n for (var y = _(n + 1); ++c < n; )\n y[c] = s[c];\n return y[n] = a(C), Qe(t, this, y);\n };\n }\n function $c(t, n) {\n return n.length < 2 ? t : dn(t, ct(n, 0, -1));\n }\n function Kb(t, n) {\n for (var a = t.length, s = Le(n.length, a), c = Ge(t); s--; ) {\n var f = n[s];\n t[s] = Mt(f, a) ? c[f] : r;\n }\n return t;\n }\n function Ao(t, n) {\n if (!(n === "constructor" && typeof t[n] == "function") && n != "__proto__")\n return t[n];\n }\n var Rc = Wc(dc), wi = dg || function(t, n) {\n return Ie.setTimeout(t, n);\n }, ko = Wc(gb);\n function Nc(t, n, a) {\n var s = n + "";\n return ko(t, $b(s, Zb(Ob(s), a)));\n }\n function Wc(t) {\n var n = 0, a = 0;\n return function() {\n var s = fg(), c = fa - (s - a);\n if (a = s, c > 0) {\n if (++n >= pa)\n return arguments[0];\n } else\n n = 0;\n return t.apply(r, arguments);\n };\n }\n function Tr(t, n) {\n var a = -1, s = t.length, c = s - 1;\n for (n = n === r ? s : n; ++a < n; ) {\n var f = io(a, c), C = t[f];\n t[f] = t[a], t[a] = C;\n }\n return t.length = n, t;\n }\n var Uc = Hb(function(t) {\n var n = [];\n return t.charCodeAt(0) === 46 && n.push(""), t.replace(Fh, function(a, s, c, f) {\n n.push(c ? f.replace(Vh, "$1") : s || a);\n }), n;\n });\n function wt(t) {\n if (typeof t == "string" || nt(t))\n return t;\n var n = t + "";\n return n == "0" && 1 / t == -Dt ? "-0" : n;\n }\n function un(t) {\n if (t != null) {\n try {\n return tr.call(t);\n } catch (n) {\n }\n try {\n return t + "";\n } catch (n) {\n }\n }\n return "";\n }\n function Zb(t, n) {\n return ot(tn, function(a) {\n var s = "_." + a[0];\n n & a[1] && !Yi(t, s) && t.push(s);\n }), t.sort();\n }\n function Hc(t) {\n if (t instanceof ee)\n return t.clone();\n var n = new lt(t.__wrapped__, t.__chain__);\n return n.__actions__ = Ge(t.__actions__), n.__index__ = t.__index__, n.__values__ = t.__values__, n;\n }\n function Yb(t, n, a) {\n (a ? Ne(t, n, a) : n === r) ? n = 1 : n = Te(Z(n), 0);\n var s = t == null ? 0 : t.length;\n if (!s || n < 1)\n return [];\n for (var c = 0, f = 0, C = _(lr(s / n)); c < s; )\n C[f++] = ct(t, c, c += n);\n return C;\n }\n function Jb(t) {\n for (var n = -1, a = t == null ? 0 : t.length, s = 0, c = []; ++n < a; ) {\n var f = t[n];\n f && (c[s++] = f);\n }\n return c;\n }\n function Xb() {\n var t = arguments.length;\n if (!t)\n return [];\n for (var n = _(t - 1), a = arguments[0], s = t; s--; )\n n[s - 1] = arguments[s];\n return Gt(q(a) ? Ge(a) : [a], je(n, 1));\n }\n var Qb = X(function(t, n) {\n return we(t) ? gi(t, je(n, 1, we, !0)) : [];\n }), eC = X(function(t, n) {\n var a = ut(n);\n return we(a) && (a = r), we(t) ? gi(t, je(n, 1, we, !0), N(a, 2)) : [];\n }), tC = X(function(t, n) {\n var a = ut(n);\n return we(a) && (a = r), we(t) ? gi(t, je(n, 1, we, !0), r, a) : [];\n });\n function nC(t, n, a) {\n var s = t == null ? 0 : t.length;\n return s ? (n = a || n === r ? 1 : Z(n), ct(t, n < 0 ? 0 : n, s)) : [];\n }\n function iC(t, n, a) {\n var s = t == null ? 0 : t.length;\n return s ? (n = a || n === r ? 1 : Z(n), n = s - n, ct(t, 0, n < 0 ? 0 : n)) : [];\n }\n function rC(t, n) {\n return t && t.length ? br(t, N(n, 3), !0, !0) : [];\n }\n function aC(t, n) {\n return t && t.length ? br(t, N(n, 3), !0) : [];\n }\n function oC(t, n, a, s) {\n var c = t == null ? 0 : t.length;\n return c ? (a && typeof a != "number" && Ne(t, n, a) && (a = 0, s = c), Xg(t, n, a, s)) : [];\n }\n function Gc(t, n, a) {\n var s = t == null ? 0 : t.length;\n if (!s)\n return -1;\n var c = a == null ? 0 : Z(a);\n return c < 0 && (c = Te(s + c, 0)), Ji(t, N(n, 3), c);\n }\n function Vc(t, n, a) {\n var s = t == null ? 0 : t.length;\n if (!s)\n return -1;\n var c = s - 1;\n return a !== r && (c = Z(a), c = a < 0 ? Te(s + c, 0) : Le(c, s - 1)), Ji(t, N(n, 3), c, !0);\n }\n function qc(t) {\n var n = t == null ? 0 : t.length;\n return n ? je(t, 1) : [];\n }\n function sC(t) {\n var n = t == null ? 0 : t.length;\n return n ? je(t, Dt) : [];\n }\n function lC(t, n) {\n var a = t == null ? 0 : t.length;\n return a ? (n = n === r ? 1 : Z(n), je(t, n)) : [];\n }\n function dC(t) {\n for (var n = -1, a = t == null ? 0 : t.length, s = {}; ++n < a; ) {\n var c = t[n];\n s[c[0]] = c[1];\n }\n return s;\n }\n function Kc(t) {\n return t && t.length ? t[0] : r;\n }\n function cC(t, n, a) {\n var s = t == null ? 0 : t.length;\n if (!s)\n return -1;\n var c = a == null ? 0 : Z(a);\n return c < 0 && (c = Te(s + c, 0)), Sn(t, n, c);\n }\n function uC(t) {\n var n = t == null ? 0 : t.length;\n return n ? ct(t, 0, -1) : [];\n }\n var pC = X(function(t) {\n var n = be(t, lo);\n return n.length && n[0] === t[0] ? Xa(n) : [];\n }), fC = X(function(t) {\n var n = ut(t), a = be(t, lo);\n return n === ut(a) ? n = r : a.pop(), a.length && a[0] === t[0] ? Xa(a, N(n, 2)) : [];\n }), mC = X(function(t) {\n var n = ut(t), a = be(t, lo);\n return n = typeof n == "function" ? n : r, n && a.pop(), a.length && a[0] === t[0] ? Xa(a, r, n) : [];\n });\n function hC(t, n) {\n return t == null ? "" : ug.call(t, n);\n }\n function ut(t) {\n var n = t == null ? 0 : t.length;\n return n ? t[n - 1] : r;\n }\n function vC(t, n, a) {\n var s = t == null ? 0 : t.length;\n if (!s)\n return -1;\n var c = s;\n return a !== r && (c = Z(a), c = c < 0 ? Te(s + c, 0) : Le(c, s - 1)), n === n ? Zv(t, n, c) : Ji(t, xd, c, !0);\n }\n function gC(t, n) {\n return t && t.length ? ac(t, Z(n)) : r;\n }\n var bC = X(Zc);\n function Zc(t, n) {\n return t && t.length && n && n.length ? no(t, n) : t;\n }\n function CC(t, n, a) {\n return t && t.length && n && n.length ? no(t, n, N(a, 2)) : t;\n }\n function yC(t, n, a) {\n return t && t.length && n && n.length ? no(t, n, r, a) : t;\n }\n var AC = Ot(function(t, n) {\n var a = t == null ? 0 : t.length, s = Ka(t, n);\n return lc(t, be(n, function(c) {\n return Mt(c, a) ? +c : c;\n }).sort(bc)), s;\n });\n function kC(t, n) {\n var a = [];\n if (!(t && t.length))\n return a;\n var s = -1, c = [], f = t.length;\n for (n = N(n, 3); ++s < f; ) {\n var C = t[s];\n n(C, s, t) && (a.push(C), c.push(s));\n }\n return lc(t, c), a;\n }\n function wo(t) {\n return t == null ? t : hg.call(t);\n }\n function wC(t, n, a) {\n var s = t == null ? 0 : t.length;\n return s ? (a && typeof a != "number" && Ne(t, n, a) ? (n = 0, a = s) : (n = n == null ? 0 : Z(n), a = a === r ? s : Z(a)), ct(t, n, a)) : [];\n }\n function _C(t, n) {\n return gr(t, n);\n }\n function EC(t, n, a) {\n return ao(t, n, N(a, 2));\n }\n function TC(t, n) {\n var a = t == null ? 0 : t.length;\n if (a) {\n var s = gr(t, n);\n if (s < a && Ct(t[s], n))\n return s;\n }\n return -1;\n }\n function SC(t, n) {\n return gr(t, n, !0);\n }\n function xC(t, n, a) {\n return ao(t, n, N(a, 2), !0);\n }\n function zC(t, n) {\n var a = t == null ? 0 : t.length;\n if (a) {\n var s = gr(t, n, !0) - 1;\n if (Ct(t[s], n))\n return s;\n }\n return -1;\n }\n function DC(t) {\n return t && t.length ? cc(t) : [];\n }\n function BC(t, n) {\n return t && t.length ? cc(t, N(n, 2)) : [];\n }\n function IC(t) {\n var n = t == null ? 0 : t.length;\n return n ? ct(t, 1, n) : [];\n }\n function jC(t, n, a) {\n return t && t.length ? (n = a || n === r ? 1 : Z(n), ct(t, 0, n < 0 ? 0 : n)) : [];\n }\n function PC(t, n, a) {\n var s = t == null ? 0 : t.length;\n return s ? (n = a || n === r ? 1 : Z(n), n = s - n, ct(t, n < 0 ? 0 : n, s)) : [];\n }\n function LC(t, n) {\n return t && t.length ? br(t, N(n, 3), !1, !0) : [];\n }\n function OC(t, n) {\n return t && t.length ? br(t, N(n, 3)) : [];\n }\n var MC = X(function(t) {\n return Zt(je(t, 1, we, !0));\n }), FC = X(function(t) {\n var n = ut(t);\n return we(n) && (n = r), Zt(je(t, 1, we, !0), N(n, 2));\n }), $C = X(function(t) {\n var n = ut(t);\n return n = typeof n == "function" ? n : r, Zt(je(t, 1, we, !0), r, n);\n });\n function RC(t) {\n return t && t.length ? Zt(t) : [];\n }\n function NC(t, n) {\n return t && t.length ? Zt(t, N(n, 2)) : [];\n }\n function WC(t, n) {\n return n = typeof n == "function" ? n : r, t && t.length ? Zt(t, r, n) : [];\n }\n function _o(t) {\n if (!(t && t.length))\n return [];\n var n = 0;\n return t = Ht(t, function(a) {\n if (we(a))\n return n = Te(a.length, n), !0;\n }), Ra(n, function(a) {\n return be(t, Ma(a));\n });\n }\n function Yc(t, n) {\n if (!(t && t.length))\n return [];\n var a = _o(t);\n return n == null ? a : be(a, function(s) {\n return Qe(n, r, s);\n });\n }\n var UC = X(function(t, n) {\n return we(t) ? gi(t, n) : [];\n }), HC = X(function(t) {\n return so(Ht(t, we));\n }), GC = X(function(t) {\n var n = ut(t);\n return we(n) && (n = r), so(Ht(t, we), N(n, 2));\n }), VC = X(function(t) {\n var n = ut(t);\n return n = typeof n == "function" ? n : r, so(Ht(t, we), r, n);\n }), qC = X(_o);\n function KC(t, n) {\n return mc(t || [], n || [], vi);\n }\n function ZC(t, n) {\n return mc(t || [], n || [], yi);\n }\n var YC = X(function(t) {\n var n = t.length, a = n > 1 ? t[n - 1] : r;\n return a = typeof a == "function" ? (t.pop(), a) : r, Yc(t, a);\n });\n function Jc(t) {\n var n = p(t);\n return n.__chain__ = !0, n;\n }\n function JC(t, n) {\n return n(t), t;\n }\n function Sr(t, n) {\n return n(t);\n }\n var XC = Ot(function(t) {\n var n = t.length, a = n ? t[0] : 0, s = this.__wrapped__, c = function(f) {\n return Ka(f, t);\n };\n return n > 1 || this.__actions__.length || !(s instanceof ee) || !Mt(a) ? this.thru(c) : (s = s.slice(a, +a + (n ? 1 : 0)), s.__actions__.push({\n func: Sr,\n args: [c],\n thisArg: r\n }), new lt(s, this.__chain__).thru(function(f) {\n return n && !f.length && f.push(r), f;\n }));\n });\n function QC() {\n return Jc(this);\n }\n function ey() {\n return new lt(this.value(), this.__chain__);\n }\n function ty() {\n this.__values__ === r && (this.__values__ = uu(this.value()));\n var t = this.__index__ >= this.__values__.length, n = t ? r : this.__values__[this.__index__++];\n return { done: t, value: n };\n }\n function ny() {\n return this;\n }\n function iy(t) {\n for (var n, a = this; a instanceof pr; ) {\n var s = Hc(a);\n s.__index__ = 0, s.__values__ = r, n ? c.__wrapped__ = s : n = s;\n var c = s;\n a = a.__wrapped__;\n }\n return c.__wrapped__ = t, n;\n }\n function ry() {\n var t = this.__wrapped__;\n if (t instanceof ee) {\n var n = t;\n return this.__actions__.length && (n = new ee(this)), n = n.reverse(), n.__actions__.push({\n func: Sr,\n args: [wo],\n thisArg: r\n }), new lt(n, this.__chain__);\n }\n return this.thru(wo);\n }\n function ay() {\n return fc(this.__wrapped__, this.__actions__);\n }\n var oy = Cr(function(t, n, a) {\n se.call(t, a) ? ++t[a] : Pt(t, a, 1);\n });\n function sy(t, n, a) {\n var s = q(t) ? Td : Jg;\n return a && Ne(t, n, a) && (n = r), s(t, N(n, 3));\n }\n function ly(t, n) {\n var a = q(t) ? Ht : Yd;\n return a(t, N(n, 3));\n }\n var dy = _c(Gc), cy = _c(Vc);\n function uy(t, n) {\n return je(xr(t, n), 1);\n }\n function py(t, n) {\n return je(xr(t, n), Dt);\n }\n function fy(t, n, a) {\n return a = a === r ? 1 : Z(a), je(xr(t, n), a);\n }\n function Xc(t, n) {\n var a = q(t) ? ot : Kt;\n return a(t, N(n, 3));\n }\n function Qc(t, n) {\n var a = q(t) ? Iv : Zd;\n return a(t, N(n, 3));\n }\n var my = Cr(function(t, n, a) {\n se.call(t, a) ? t[a].push(n) : Pt(t, a, [n]);\n });\n function hy(t, n, a, s) {\n t = Ve(t) ? t : $n(t), a = a && !s ? Z(a) : 0;\n var c = t.length;\n return a < 0 && (a = Te(c + a, 0)), jr(t) ? a <= c && t.indexOf(n, a) > -1 : !!c && Sn(t, n, a) > -1;\n }\n var vy = X(function(t, n, a) {\n var s = -1, c = typeof n == "function", f = Ve(t) ? _(t.length) : [];\n return Kt(t, function(C) {\n f[++s] = c ? Qe(n, C, a) : bi(C, n, a);\n }), f;\n }), gy = Cr(function(t, n, a) {\n Pt(t, a, n);\n });\n function xr(t, n) {\n var a = q(t) ? be : nc;\n return a(t, N(n, 3));\n }\n function by(t, n, a, s) {\n return t == null ? [] : (q(n) || (n = n == null ? [] : [n]), a = s ? r : a, q(a) || (a = a == null ? [] : [a]), oc(t, n, a));\n }\n var Cy = Cr(function(t, n, a) {\n t[a ? 0 : 1].push(n);\n }, function() {\n return [[], []];\n });\n function yy(t, n, a) {\n var s = q(t) ? La : Dd, c = arguments.length < 3;\n return s(t, N(n, 4), a, c, Kt);\n }\n function Ay(t, n, a) {\n var s = q(t) ? jv : Dd, c = arguments.length < 3;\n return s(t, N(n, 4), a, c, Zd);\n }\n function ky(t, n) {\n var a = q(t) ? Ht : Yd;\n return a(t, Br(N(n, 3)));\n }\n function wy(t) {\n var n = q(t) ? Gd : hb;\n return n(t);\n }\n function _y(t, n, a) {\n (a ? Ne(t, n, a) : n === r) ? n = 1 : n = Z(n);\n var s = q(t) ? Vg : vb;\n return s(t, n);\n }\n function Ey(t) {\n var n = q(t) ? qg : bb;\n return n(t);\n }\n function Ty(t) {\n if (t == null)\n return 0;\n if (Ve(t))\n return jr(t) ? zn(t) : t.length;\n var n = Oe(t);\n return n == He || n == vt ? t.size : eo(t).length;\n }\n function Sy(t, n, a) {\n var s = q(t) ? Oa : Cb;\n return a && Ne(t, n, a) && (n = r), s(t, N(n, 3));\n }\n var xy = X(function(t, n) {\n if (t == null)\n return [];\n var a = n.length;\n return a > 1 && Ne(t, n[0], n[1]) ? n = [] : a > 2 && Ne(n[0], n[1], n[2]) && (n = [n[0]]), oc(t, je(n, 1), []);\n }), zr = lg || function() {\n return Ie.Date.now();\n };\n function zy(t, n) {\n if (typeof n != "function")\n throw new st(u);\n return t = Z(t), function() {\n if (--t < 1)\n return n.apply(this, arguments);\n };\n }\n function eu(t, n, a) {\n return n = a ? r : n, n = t && n == null ? t.length : n, Lt(t, ge, r, r, r, r, n);\n }\n function tu(t, n) {\n var a;\n if (typeof n != "function")\n throw new st(u);\n return t = Z(t), function() {\n return --t > 0 && (a = n.apply(this, arguments)), t <= 1 && (n = r), a;\n };\n }\n var Eo = X(function(t, n, a) {\n var s = x;\n if (a.length) {\n var c = Vt(a, Mn(Eo));\n s |= re;\n }\n return Lt(t, s, n, a, c);\n }), nu = X(function(t, n, a) {\n var s = x | j;\n if (a.length) {\n var c = Vt(a, Mn(nu));\n s |= re;\n }\n return Lt(n, s, t, a, c);\n });\n function iu(t, n, a) {\n n = a ? r : n;\n var s = Lt(t, W, r, r, r, r, r, n);\n return s.placeholder = iu.placeholder, s;\n }\n function ru(t, n, a) {\n n = a ? r : n;\n var s = Lt(t, K, r, r, r, r, r, n);\n return s.placeholder = ru.placeholder, s;\n }\n function au(t, n, a) {\n var s, c, f, C, y, k, T = 0, S = !1, z = !1, P = !0;\n if (typeof t != "function")\n throw new st(u);\n n = pt(n) || 0, ye(a) && (S = !!a.leading, z = "maxWait" in a, f = z ? Te(pt(a.maxWait) || 0, n) : f, P = "trailing" in a ? !!a.trailing : P);\n function R(_e) {\n var yt = s, Rt = c;\n return s = c = r, T = _e, C = t.apply(Rt, yt), C;\n }\n function U(_e) {\n return T = _e, y = wi(Q, n), S ? R(_e) : C;\n }\n function J(_e) {\n var yt = _e - k, Rt = _e - T, _u = n - yt;\n return z ? Le(_u, f - Rt) : _u;\n }\n function H(_e) {\n var yt = _e - k, Rt = _e - T;\n return k === r || yt >= n || yt < 0 || z && Rt >= f;\n }\n function Q() {\n var _e = zr();\n if (H(_e))\n return te(_e);\n y = wi(Q, J(_e));\n }\n function te(_e) {\n return y = r, P && s ? R(_e) : (s = c = r, C);\n }\n function it() {\n y !== r && hc(y), T = 0, s = k = c = y = r;\n }\n function We() {\n return y === r ? C : te(zr());\n }\n function rt() {\n var _e = zr(), yt = H(_e);\n if (s = arguments, c = this, k = _e, yt) {\n if (y === r)\n return U(k);\n if (z)\n return hc(y), y = wi(Q, n), R(k);\n }\n return y === r && (y = wi(Q, n)), C;\n }\n return rt.cancel = it, rt.flush = We, rt;\n }\n var Dy = X(function(t, n) {\n return Kd(t, 1, n);\n }), By = X(function(t, n, a) {\n return Kd(t, pt(n) || 0, a);\n });\n function Iy(t) {\n return Lt(t, en);\n }\n function Dr(t, n) {\n if (typeof t != "function" || n != null && typeof n != "function")\n throw new st(u);\n var a = function() {\n var s = arguments, c = n ? n.apply(this, s) : s[0], f = a.cache;\n if (f.has(c))\n return f.get(c);\n var C = t.apply(this, s);\n return a.cache = f.set(c, C) || f, C;\n };\n return a.cache = new (Dr.Cache || jt)(), a;\n }\n Dr.Cache = jt;\n function Br(t) {\n if (typeof t != "function")\n throw new st(u);\n return function() {\n var n = arguments;\n switch (n.length) {\n case 0:\n return !t.call(this);\n case 1:\n return !t.call(this, n[0]);\n case 2:\n return !t.call(this, n[0], n[1]);\n case 3:\n return !t.call(this, n[0], n[1], n[2]);\n }\n return !t.apply(this, n);\n };\n }\n function jy(t) {\n return tu(2, t);\n }\n var Py = yb(function(t, n) {\n n = n.length == 1 && q(n[0]) ? be(n[0], et(N())) : be(je(n, 1), et(N()));\n var a = n.length;\n return X(function(s) {\n for (var c = -1, f = Le(s.length, a); ++c < f; )\n s[c] = n[c].call(this, s[c]);\n return Qe(t, this, s);\n });\n }), To = X(function(t, n) {\n var a = Vt(n, Mn(To));\n return Lt(t, re, r, n, a);\n }), ou = X(function(t, n) {\n var a = Vt(n, Mn(ou));\n return Lt(t, de, r, n, a);\n }), Ly = Ot(function(t, n) {\n return Lt(t, xe, r, r, r, n);\n });\n function Oy(t, n) {\n if (typeof t != "function")\n throw new st(u);\n return n = n === r ? n : Z(n), X(t, n);\n }\n function My(t, n) {\n if (typeof t != "function")\n throw new st(u);\n return n = n == null ? 0 : Te(Z(n), 0), X(function(a) {\n var s = a[n], c = Jt(a, 0, n);\n return s && Gt(c, s), Qe(t, this, c);\n });\n }\n function Fy(t, n, a) {\n var s = !0, c = !0;\n if (typeof t != "function")\n throw new st(u);\n return ye(a) && (s = "leading" in a ? !!a.leading : s, c = "trailing" in a ? !!a.trailing : c), au(t, n, {\n leading: s,\n maxWait: n,\n trailing: c\n });\n }\n function $y(t) {\n return eu(t, 1);\n }\n function Ry(t, n) {\n return To(co(n), t);\n }\n function Ny() {\n if (!arguments.length)\n return [];\n var t = arguments[0];\n return q(t) ? t : [t];\n }\n function Wy(t) {\n return dt(t, B);\n }\n function Uy(t, n) {\n return n = typeof n == "function" ? n : r, dt(t, B, n);\n }\n function Hy(t) {\n return dt(t, g | B);\n }\n function Gy(t, n) {\n return n = typeof n == "function" ? n : r, dt(t, g | B, n);\n }\n function Vy(t, n) {\n return n == null || qd(t, n, ze(n));\n }\n function Ct(t, n) {\n return t === n || t !== t && n !== n;\n }\n var qy = wr(Ja), Ky = wr(function(t, n) {\n return t >= n;\n }), pn = Qd(function() {\n return arguments;\n }()) ? Qd : function(t) {\n return Ae(t) && se.call(t, "callee") && !$d.call(t, "callee");\n }, q = _.isArray, Zy = yd ? et(yd) : ib;\n function Ve(t) {\n return t != null && Ir(t.length) && !Ft(t);\n }\n function we(t) {\n return Ae(t) && Ve(t);\n }\n function Yy(t) {\n return t === !0 || t === !1 || Ae(t) && Re(t) == G;\n }\n var Xt = cg || Mo, Jy = Ad ? et(Ad) : rb;\n function Xy(t) {\n return Ae(t) && t.nodeType === 1 && !_i(t);\n }\n function Qy(t) {\n if (t == null)\n return !0;\n if (Ve(t) && (q(t) || typeof t == "string" || typeof t.splice == "function" || Xt(t) || Fn(t) || pn(t)))\n return !t.length;\n var n = Oe(t);\n if (n == He || n == vt)\n return !t.size;\n if (ki(t))\n return !eo(t).length;\n for (var a in t)\n if (se.call(t, a))\n return !1;\n return !0;\n }\n function e0(t, n) {\n return Ci(t, n);\n }\n function t0(t, n, a) {\n a = typeof a == "function" ? a : r;\n var s = a ? a(t, n) : r;\n return s === r ? Ci(t, n, r, a) : !!s;\n }\n function So(t) {\n if (!Ae(t))\n return !1;\n var n = Re(t);\n return n == $e || n == De || typeof t.message == "string" && typeof t.name == "string" && !_i(t);\n }\n function n0(t) {\n return typeof t == "number" && Nd(t);\n }\n function Ft(t) {\n if (!ye(t))\n return !1;\n var n = Re(t);\n return n == Be || n == Xe || n == F || n == Th;\n }\n function su(t) {\n return typeof t == "number" && t == Z(t);\n }\n function Ir(t) {\n return typeof t == "number" && t > -1 && t % 1 == 0 && t <= ht;\n }\n function ye(t) {\n var n = typeof t;\n return t != null && (n == "object" || n == "function");\n }\n function Ae(t) {\n return t != null && typeof t == "object";\n }\n var lu = kd ? et(kd) : ob;\n function i0(t, n) {\n return t === n || Qa(t, n, go(n));\n }\n function r0(t, n, a) {\n return a = typeof a == "function" ? a : r, Qa(t, n, go(n), a);\n }\n function a0(t) {\n return du(t) && t != +t;\n }\n function o0(t) {\n if (Ub(t))\n throw new V(d);\n return ec(t);\n }\n function s0(t) {\n return t === null;\n }\n function l0(t) {\n return t == null;\n }\n function du(t) {\n return typeof t == "number" || Ae(t) && Re(t) == nn;\n }\n function _i(t) {\n if (!Ae(t) || Re(t) != Bt)\n return !1;\n var n = ar(t);\n if (n === null)\n return !0;\n var a = se.call(n, "constructor") && n.constructor;\n return typeof a == "function" && a instanceof a && tr.call(a) == rg;\n }\n var xo = wd ? et(wd) : sb;\n function d0(t) {\n return su(t) && t >= -ht && t <= ht;\n }\n var cu = _d ? et(_d) : lb;\n function jr(t) {\n return typeof t == "string" || !q(t) && Ae(t) && Re(t) == si;\n }\n function nt(t) {\n return typeof t == "symbol" || Ae(t) && Re(t) == Vi;\n }\n var Fn = Ed ? et(Ed) : db;\n function c0(t) {\n return t === r;\n }\n function u0(t) {\n return Ae(t) && Oe(t) == li;\n }\n function p0(t) {\n return Ae(t) && Re(t) == xh;\n }\n var f0 = wr(to), m0 = wr(function(t, n) {\n return t <= n;\n });\n function uu(t) {\n if (!t)\n return [];\n if (Ve(t))\n return jr(t) ? gt(t) : Ge(t);\n if (ui && t[ui])\n return Vv(t[ui]());\n var n = Oe(t), a = n == He ? Wa : n == vt ? Xi : $n;\n return a(t);\n }\n function $t(t) {\n if (!t)\n return t === 0 ? t : 0;\n if (t = pt(t), t === Dt || t === -Dt) {\n var n = t < 0 ? -1 : 1;\n return n * ha;\n }\n return t === t ? t : 0;\n }\n function Z(t) {\n var n = $t(t), a = n % 1;\n return n === n ? a ? n - a : n : 0;\n }\n function pu(t) {\n return t ? ln(Z(t), 0, Je) : 0;\n }\n function pt(t) {\n if (typeof t == "number")\n return t;\n if (nt(t))\n return _n;\n if (ye(t)) {\n var n = typeof t.valueOf == "function" ? t.valueOf() : t;\n t = ye(n) ? n + "" : n;\n }\n if (typeof t != "string")\n return t === 0 ? t : +t;\n t = Bd(t);\n var a = Zh.test(t);\n return a || Jh.test(t) ? zv(t.slice(2), a ? 2 : 8) : Kh.test(t) ? _n : +t;\n }\n function fu(t) {\n return kt(t, qe(t));\n }\n function h0(t) {\n return t ? ln(Z(t), -ht, ht) : t === 0 ? t : 0;\n }\n function oe(t) {\n return t == null ? "" : tt(t);\n }\n var v0 = Ln(function(t, n) {\n if (ki(n) || Ve(n)) {\n kt(n, ze(n), t);\n return;\n }\n for (var a in n)\n se.call(n, a) && vi(t, a, n[a]);\n }), mu = Ln(function(t, n) {\n kt(n, qe(n), t);\n }), Pr = Ln(function(t, n, a, s) {\n kt(n, qe(n), t, s);\n }), g0 = Ln(function(t, n, a, s) {\n kt(n, ze(n), t, s);\n }), b0 = Ot(Ka);\n function C0(t, n) {\n var a = Pn(t);\n return n == null ? a : Vd(a, n);\n }\n var y0 = X(function(t, n) {\n t = le(t);\n var a = -1, s = n.length, c = s > 2 ? n[2] : r;\n for (c && Ne(n[0], n[1], c) && (s = 1); ++a < s; )\n for (var f = n[a], C = qe(f), y = -1, k = C.length; ++y < k; ) {\n var T = C[y], S = t[T];\n (S === r || Ct(S, Bn[T]) && !se.call(t, T)) && (t[T] = f[T]);\n }\n return t;\n }), A0 = X(function(t) {\n return t.push(r, Bc), Qe(hu, r, t);\n });\n function k0(t, n) {\n return Sd(t, N(n, 3), At);\n }\n function w0(t, n) {\n return Sd(t, N(n, 3), Ya);\n }\n function _0(t, n) {\n return t == null ? t : Za(t, N(n, 3), qe);\n }\n function E0(t, n) {\n return t == null ? t : Jd(t, N(n, 3), qe);\n }\n function T0(t, n) {\n return t && At(t, N(n, 3));\n }\n function S0(t, n) {\n return t && Ya(t, N(n, 3));\n }\n function x0(t) {\n return t == null ? [] : hr(t, ze(t));\n }\n function z0(t) {\n return t == null ? [] : hr(t, qe(t));\n }\n function zo(t, n, a) {\n var s = t == null ? r : dn(t, n);\n return s === r ? a : s;\n }\n function D0(t, n) {\n return t != null && Pc(t, n, Qg);\n }\n function Do(t, n) {\n return t != null && Pc(t, n, eb);\n }\n var B0 = Tc(function(t, n, a) {\n n != null && typeof n.toString != "function" && (n = nr.call(n)), t[n] = a;\n }, Io(Ke)), I0 = Tc(function(t, n, a) {\n n != null && typeof n.toString != "function" && (n = nr.call(n)), se.call(t, n) ? t[n].push(a) : t[n] = [a];\n }, N), j0 = X(bi);\n function ze(t) {\n return Ve(t) ? Hd(t) : eo(t);\n }\n function qe(t) {\n return Ve(t) ? Hd(t, !0) : cb(t);\n }\n function P0(t, n) {\n var a = {};\n return n = N(n, 3), At(t, function(s, c, f) {\n Pt(a, n(s, c, f), s);\n }), a;\n }\n function L0(t, n) {\n var a = {};\n return n = N(n, 3), At(t, function(s, c, f) {\n Pt(a, c, n(s, c, f));\n }), a;\n }\n var O0 = Ln(function(t, n, a) {\n vr(t, n, a);\n }), hu = Ln(function(t, n, a, s) {\n vr(t, n, a, s);\n }), M0 = Ot(function(t, n) {\n var a = {};\n if (t == null)\n return a;\n var s = !1;\n n = be(n, function(f) {\n return f = Yt(f, t), s || (s = f.length > 1), f;\n }), kt(t, ho(t), a), s && (a = dt(a, g | w | B, Bb));\n for (var c = n.length; c--; )\n oo(a, n[c]);\n return a;\n });\n function F0(t, n) {\n return vu(t, Br(N(n)));\n }\n var $0 = Ot(function(t, n) {\n return t == null ? {} : pb(t, n);\n });\n function vu(t, n) {\n if (t == null)\n return {};\n var a = be(ho(t), function(s) {\n return [s];\n });\n return n = N(n), sc(t, a, function(s, c) {\n return n(s, c[0]);\n });\n }\n function R0(t, n, a) {\n n = Yt(n, t);\n var s = -1, c = n.length;\n for (c || (c = 1, t = r); ++s < c; ) {\n var f = t == null ? r : t[wt(n[s])];\n f === r && (s = c, f = a), t = Ft(f) ? f.call(t) : f;\n }\n return t;\n }\n function N0(t, n, a) {\n return t == null ? t : yi(t, n, a);\n }\n function W0(t, n, a, s) {\n return s = typeof s == "function" ? s : r, t == null ? t : yi(t, n, a, s);\n }\n var gu = zc(ze), bu = zc(qe);\n function U0(t, n, a) {\n var s = q(t), c = s || Xt(t) || Fn(t);\n if (n = N(n, 4), a == null) {\n var f = t && t.constructor;\n c ? a = s ? new f() : [] : ye(t) ? a = Ft(f) ? Pn(ar(t)) : {} : a = {};\n }\n return (c ? ot : At)(t, function(C, y, k) {\n return n(a, C, y, k);\n }), a;\n }\n function H0(t, n) {\n return t == null ? !0 : oo(t, n);\n }\n function G0(t, n, a) {\n return t == null ? t : pc(t, n, co(a));\n }\n function V0(t, n, a, s) {\n return s = typeof s == "function" ? s : r, t == null ? t : pc(t, n, co(a), s);\n }\n function $n(t) {\n return t == null ? [] : Na(t, ze(t));\n }\n function q0(t) {\n return t == null ? [] : Na(t, qe(t));\n }\n function K0(t, n, a) {\n return a === r && (a = n, n = r), a !== r && (a = pt(a), a = a === a ? a : 0), n !== r && (n = pt(n), n = n === n ? n : 0), ln(pt(t), n, a);\n }\n function Z0(t, n, a) {\n return n = $t(n), a === r ? (a = n, n = 0) : a = $t(a), t = pt(t), tb(t, n, a);\n }\n function Y0(t, n, a) {\n if (a && typeof a != "boolean" && Ne(t, n, a) && (n = a = r), a === r && (typeof n == "boolean" ? (a = n, n = r) : typeof t == "boolean" && (a = t, t = r)), t === r && n === r ? (t = 0, n = 1) : (t = $t(t), n === r ? (n = t, t = 0) : n = $t(n)), t > n) {\n var s = t;\n t = n, n = s;\n }\n if (a || t % 1 || n % 1) {\n var c = Wd();\n return Le(t + c * (n - t + xv("1e-" + ((c + "").length - 1))), n);\n }\n return io(t, n);\n }\n var J0 = On(function(t, n, a) {\n return n = n.toLowerCase(), t + (a ? Cu(n) : n);\n });\n function Cu(t) {\n return Bo(oe(t).toLowerCase());\n }\n function yu(t) {\n return t = oe(t), t && t.replace(Qh, Nv).replace(bv, "");\n }\n function X0(t, n, a) {\n t = oe(t), n = tt(n);\n var s = t.length;\n a = a === r ? s : ln(Z(a), 0, s);\n var c = a;\n return a -= n.length, a >= 0 && t.slice(a, c) == n;\n }\n function Q0(t) {\n return t = oe(t), t && jh.test(t) ? t.replace(Jl, Wv) : t;\n }\n function eA(t) {\n return t = oe(t), t && $h.test(t) ? t.replace(Ea, "\\\\$&") : t;\n }\n var tA = On(function(t, n, a) {\n return t + (a ? "-" : "") + n.toLowerCase();\n }), nA = On(function(t, n, a) {\n return t + (a ? " " : "") + n.toLowerCase();\n }), iA = wc("toLowerCase");\n function rA(t, n, a) {\n t = oe(t), n = Z(n);\n var s = n ? zn(t) : 0;\n if (!n || s >= n)\n return t;\n var c = (n - s) / 2;\n return kr(dr(c), a) + t + kr(lr(c), a);\n }\n function aA(t, n, a) {\n t = oe(t), n = Z(n);\n var s = n ? zn(t) : 0;\n return n && s < n ? t + kr(n - s, a) : t;\n }\n function oA(t, n, a) {\n t = oe(t), n = Z(n);\n var s = n ? zn(t) : 0;\n return n && s < n ? kr(n - s, a) + t : t;\n }\n function sA(t, n, a) {\n return a || n == null ? n = 0 : n && (n = +n), mg(oe(t).replace(Ta, ""), n || 0);\n }\n function lA(t, n, a) {\n return (a ? Ne(t, n, a) : n === r) ? n = 1 : n = Z(n), ro(oe(t), n);\n }\n function dA() {\n var t = arguments, n = oe(t[0]);\n return t.length < 3 ? n : n.replace(t[1], t[2]);\n }\n var cA = On(function(t, n, a) {\n return t + (a ? "_" : "") + n.toLowerCase();\n });\n function uA(t, n, a) {\n return a && typeof a != "number" && Ne(t, n, a) && (n = a = r), a = a === r ? Je : a >>> 0, a ? (t = oe(t), t && (typeof n == "string" || n != null && !xo(n)) && (n = tt(n), !n && xn(t)) ? Jt(gt(t), 0, a) : t.split(n, a)) : [];\n }\n var pA = On(function(t, n, a) {\n return t + (a ? " " : "") + Bo(n);\n });\n function fA(t, n, a) {\n return t = oe(t), a = a == null ? 0 : ln(Z(a), 0, t.length), n = tt(n), t.slice(a, a + n.length) == n;\n }\n function mA(t, n, a) {\n var s = p.templateSettings;\n a && Ne(t, n, a) && (n = r), t = oe(t), n = Pr({}, n, s, Dc);\n var c = Pr({}, n.imports, s.imports, Dc), f = ze(c), C = Na(c, f), y, k, T = 0, S = n.interpolate || qi, z = "__p += \'", P = Ua(\n (n.escape || qi).source + "|" + S.source + "|" + (S === Xl ? qh : qi).source + "|" + (n.evaluate || qi).source + "|$",\n "g"\n ), R = "//# sourceURL=" + (se.call(n, "sourceURL") ? (n.sourceURL + "").replace(/\\s/g, " ") : "lodash.templateSources[" + ++wv + "]") + `\n`;\n t.replace(P, function(H, Q, te, it, We, rt) {\n return te || (te = it), z += t.slice(T, rt).replace(ev, Uv), Q && (y = !0, z += `\' +\n__e(` + Q + `) +\n\'`), We && (k = !0, z += `\';\n` + We + `;\n__p += \'`), te && (z += `\' +\n((__t = (` + te + `)) == null ? \'\' : __t) +\n\'`), T = rt + H.length, H;\n }), z += `\';\n`;\n var U = se.call(n, "variable") && n.variable;\n if (!U)\n z = `with (obj) {\n` + z + `\n}\n`;\n else if (Gh.test(U))\n throw new V(m);\n z = (k ? z.replace(zh, "") : z).replace(Dh, "$1").replace(Bh, "$1;"), z = "function(" + (U || "obj") + `) {\n` + (U ? "" : `obj || (obj = {});\n`) + "var __t, __p = \'\'" + (y ? ", __e = _.escape" : "") + (k ? `, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, \'\') }\n` : `;\n`) + z + `return __p\n}`;\n var J = ku(function() {\n return ae(f, R + "return " + z).apply(r, C);\n });\n if (J.source = z, So(J))\n throw J;\n return J;\n }\n function hA(t) {\n return oe(t).toLowerCase();\n }\n function vA(t) {\n return oe(t).toUpperCase();\n }\n function gA(t, n, a) {\n if (t = oe(t), t && (a || n === r))\n return Bd(t);\n if (!t || !(n = tt(n)))\n return t;\n var s = gt(t), c = gt(n), f = Id(s, c), C = jd(s, c) + 1;\n return Jt(s, f, C).join("");\n }\n function bA(t, n, a) {\n if (t = oe(t), t && (a || n === r))\n return t.slice(0, Ld(t) + 1);\n if (!t || !(n = tt(n)))\n return t;\n var s = gt(t), c = jd(s, gt(n)) + 1;\n return Jt(s, 0, c).join("");\n }\n function CA(t, n, a) {\n if (t = oe(t), t && (a || n === r))\n return t.replace(Ta, "");\n if (!t || !(n = tt(n)))\n return t;\n var s = gt(t), c = Id(s, gt(n));\n return Jt(s, c).join("");\n }\n function yA(t, n) {\n var a = Ui, s = ua;\n if (ye(n)) {\n var c = "separator" in n ? n.separator : c;\n a = "length" in n ? Z(n.length) : a, s = "omission" in n ? tt(n.omission) : s;\n }\n t = oe(t);\n var f = t.length;\n if (xn(t)) {\n var C = gt(t);\n f = C.length;\n }\n if (a >= f)\n return t;\n var y = a - zn(s);\n if (y < 1)\n return s;\n var k = C ? Jt(C, 0, y).join("") : t.slice(0, y);\n if (c === r)\n return k + s;\n if (C && (y += k.length - y), xo(c)) {\n if (t.slice(y).search(c)) {\n var T, S = k;\n for (c.global || (c = Ua(c.source, oe(Ql.exec(c)) + "g")), c.lastIndex = 0; T = c.exec(S); )\n var z = T.index;\n k = k.slice(0, z === r ? y : z);\n }\n } else if (t.indexOf(tt(c), y) != y) {\n var P = k.lastIndexOf(c);\n P > -1 && (k = k.slice(0, P));\n }\n return k + s;\n }\n function AA(t) {\n return t = oe(t), t && Ih.test(t) ? t.replace(Yl, Yv) : t;\n }\n var kA = On(function(t, n, a) {\n return t + (a ? " " : "") + n.toUpperCase();\n }), Bo = wc("toUpperCase");\n function Au(t, n, a) {\n return t = oe(t), n = a ? r : n, n === r ? Gv(t) ? Qv(t) : Ov(t) : t.match(n) || [];\n }\n var ku = X(function(t, n) {\n try {\n return Qe(t, r, n);\n } catch (a) {\n return So(a) ? a : new V(a);\n }\n }), wA = Ot(function(t, n) {\n return ot(n, function(a) {\n a = wt(a), Pt(t, a, Eo(t[a], t));\n }), t;\n });\n function _A(t) {\n var n = t == null ? 0 : t.length, a = N();\n return t = n ? be(t, function(s) {\n if (typeof s[1] != "function")\n throw new st(u);\n return [a(s[0]), s[1]];\n }) : [], X(function(s) {\n for (var c = -1; ++c < n; ) {\n var f = t[c];\n if (Qe(f[0], this, s))\n return Qe(f[1], this, s);\n }\n });\n }\n function EA(t) {\n return Yg(dt(t, g));\n }\n function Io(t) {\n return function() {\n return t;\n };\n }\n function TA(t, n) {\n return t == null || t !== t ? n : t;\n }\n var SA = Ec(), xA = Ec(!0);\n function Ke(t) {\n return t;\n }\n function jo(t) {\n return tc(typeof t == "function" ? t : dt(t, g));\n }\n function zA(t) {\n return ic(dt(t, g));\n }\n function DA(t, n) {\n return rc(t, dt(n, g));\n }\n var BA = X(function(t, n) {\n return function(a) {\n return bi(a, t, n);\n };\n }), IA = X(function(t, n) {\n return function(a) {\n return bi(t, a, n);\n };\n });\n function Po(t, n, a) {\n var s = ze(n), c = hr(n, s);\n a == null && !(ye(n) && (c.length || !s.length)) && (a = n, n = t, t = this, c = hr(n, ze(n)));\n var f = !(ye(a) && "chain" in a) || !!a.chain, C = Ft(t);\n return ot(c, function(y) {\n var k = n[y];\n t[y] = k, C && (t.prototype[y] = function() {\n var T = this.__chain__;\n if (f || T) {\n var S = t(this.__wrapped__), z = S.__actions__ = Ge(this.__actions__);\n return z.push({ func: k, args: arguments, thisArg: t }), S.__chain__ = T, S;\n }\n return k.apply(t, Gt([this.value()], arguments));\n });\n }), t;\n }\n function jA() {\n return Ie._ === this && (Ie._ = ag), this;\n }\n function Lo() {\n }\n function PA(t) {\n return t = Z(t), X(function(n) {\n return ac(n, t);\n });\n }\n var LA = po(be), OA = po(Td), MA = po(Oa);\n function wu(t) {\n return Co(t) ? Ma(wt(t)) : fb(t);\n }\n function FA(t) {\n return function(n) {\n return t == null ? r : dn(t, n);\n };\n }\n var $A = Sc(), RA = Sc(!0);\n function Oo() {\n return [];\n }\n function Mo() {\n return !1;\n }\n function NA() {\n return {};\n }\n function WA() {\n return "";\n }\n function UA() {\n return !0;\n }\n function HA(t, n) {\n if (t = Z(t), t < 1 || t > ht)\n return [];\n var a = Je, s = Le(t, Je);\n n = N(n), t -= Je;\n for (var c = Ra(s, n); ++a < t; )\n n(a);\n return c;\n }\n function GA(t) {\n return q(t) ? be(t, wt) : nt(t) ? [t] : Ge(Uc(oe(t)));\n }\n function VA(t) {\n var n = ++ig;\n return oe(t) + n;\n }\n var qA = Ar(function(t, n) {\n return t + n;\n }, 0), KA = fo("ceil"), ZA = Ar(function(t, n) {\n return t / n;\n }, 1), YA = fo("floor");\n function JA(t) {\n return t && t.length ? mr(t, Ke, Ja) : r;\n }\n function XA(t, n) {\n return t && t.length ? mr(t, N(n, 2), Ja) : r;\n }\n function QA(t) {\n return zd(t, Ke);\n }\n function ek(t, n) {\n return zd(t, N(n, 2));\n }\n function tk(t) {\n return t && t.length ? mr(t, Ke, to) : r;\n }\n function nk(t, n) {\n return t && t.length ? mr(t, N(n, 2), to) : r;\n }\n var ik = Ar(function(t, n) {\n return t * n;\n }, 1), rk = fo("round"), ak = Ar(function(t, n) {\n return t - n;\n }, 0);\n function ok(t) {\n return t && t.length ? $a(t, Ke) : 0;\n }\n function sk(t, n) {\n return t && t.length ? $a(t, N(n, 2)) : 0;\n }\n return p.after = zy, p.ary = eu, p.assign = v0, p.assignIn = mu, p.assignInWith = Pr, p.assignWith = g0, p.at = b0, p.before = tu, p.bind = Eo, p.bindAll = wA, p.bindKey = nu, p.castArray = Ny, p.chain = Jc, p.chunk = Yb, p.compact = Jb, p.concat = Xb, p.cond = _A, p.conforms = EA, p.constant = Io, p.countBy = oy, p.create = C0, p.curry = iu, p.curryRight = ru, p.debounce = au, p.defaults = y0, p.defaultsDeep = A0, p.defer = Dy, p.delay = By, p.difference = Qb, p.differenceBy = eC, p.differenceWith = tC, p.drop = nC, p.dropRight = iC, p.dropRightWhile = rC, p.dropWhile = aC, p.fill = oC, p.filter = ly, p.flatMap = uy, p.flatMapDeep = py, p.flatMapDepth = fy, p.flatten = qc, p.flattenDeep = sC, p.flattenDepth = lC, p.flip = Iy, p.flow = SA, p.flowRight = xA, p.fromPairs = dC, p.functions = x0, p.functionsIn = z0, p.groupBy = my, p.initial = uC, p.intersection = pC, p.intersectionBy = fC, p.intersectionWith = mC, p.invert = B0, p.invertBy = I0, p.invokeMap = vy, p.iteratee = jo, p.keyBy = gy, p.keys = ze, p.keysIn = qe, p.map = xr, p.mapKeys = P0, p.mapValues = L0, p.matches = zA, p.matchesProperty = DA, p.memoize = Dr, p.merge = O0, p.mergeWith = hu, p.method = BA, p.methodOf = IA, p.mixin = Po, p.negate = Br, p.nthArg = PA, p.omit = M0, p.omitBy = F0, p.once = jy, p.orderBy = by, p.over = LA, p.overArgs = Py, p.overEvery = OA, p.overSome = MA, p.partial = To, p.partialRight = ou, p.partition = Cy, p.pick = $0, p.pickBy = vu, p.property = wu, p.propertyOf = FA, p.pull = bC, p.pullAll = Zc, p.pullAllBy = CC, p.pullAllWith = yC, p.pullAt = AC, p.range = $A, p.rangeRight = RA, p.rearg = Ly, p.reject = ky, p.remove = kC, p.rest = Oy, p.reverse = wo, p.sampleSize = _y, p.set = N0, p.setWith = W0, p.shuffle = Ey, p.slice = wC, p.sortBy = xy, p.sortedUniq = DC, p.sortedUniqBy = BC, p.split = uA, p.spread = My, p.tail = IC, p.take = jC, p.takeRight = PC, p.takeRightWhile = LC, p.takeWhile = OC, p.tap = JC, p.throttle = Fy, p.thru = Sr, p.toArray = uu, p.toPairs = gu, p.toPairsIn = bu, p.toPath = GA, p.toPlainObject = fu, p.transform = U0, p.unary = $y, p.union = MC, p.unionBy = FC, p.unionWith = $C, p.uniq = RC, p.uniqBy = NC, p.uniqWith = WC, p.unset = H0, p.unzip = _o, p.unzipWith = Yc, p.update = G0, p.updateWith = V0, p.values = $n, p.valuesIn = q0, p.without = UC, p.words = Au, p.wrap = Ry, p.xor = HC, p.xorBy = GC, p.xorWith = VC, p.zip = qC, p.zipObject = KC, p.zipObjectDeep = ZC, p.zipWith = YC, p.entries = gu, p.entriesIn = bu, p.extend = mu, p.extendWith = Pr, Po(p, p), p.add = qA, p.attempt = ku, p.camelCase = J0, p.capitalize = Cu, p.ceil = KA, p.clamp = K0, p.clone = Wy, p.cloneDeep = Hy, p.cloneDeepWith = Gy, p.cloneWith = Uy, p.conformsTo = Vy, p.deburr = yu, p.defaultTo = TA, p.divide = ZA, p.endsWith = X0, p.eq = Ct, p.escape = Q0, p.escapeRegExp = eA, p.every = sy, p.find = dy, p.findIndex = Gc, p.findKey = k0, p.findLast = cy, p.findLastIndex = Vc, p.findLastKey = w0, p.floor = YA, p.forEach = Xc, p.forEachRight = Qc, p.forIn = _0, p.forInRight = E0, p.forOwn = T0, p.forOwnRight = S0, p.get = zo, p.gt = qy, p.gte = Ky, p.has = D0, p.hasIn = Do, p.head = Kc, p.identity = Ke, p.includes = hy, p.indexOf = cC, p.inRange = Z0, p.invoke = j0, p.isArguments = pn, p.isArray = q, p.isArrayBuffer = Zy, p.isArrayLike = Ve, p.isArrayLikeObject = we, p.isBoolean = Yy, p.isBuffer = Xt, p.isDate = Jy, p.isElement = Xy, p.isEmpty = Qy, p.isEqual = e0, p.isEqualWith = t0, p.isError = So, p.isFinite = n0, p.isFunction = Ft, p.isInteger = su, p.isLength = Ir, p.isMap = lu, p.isMatch = i0, p.isMatchWith = r0, p.isNaN = a0, p.isNative = o0, p.isNil = l0, p.isNull = s0, p.isNumber = du, p.isObject = ye, p.isObjectLike = Ae, p.isPlainObject = _i, p.isRegExp = xo, p.isSafeInteger = d0, p.isSet = cu, p.isString = jr, p.isSymbol = nt, p.isTypedArray = Fn, p.isUndefined = c0, p.isWeakMap = u0, p.isWeakSet = p0, p.join = hC, p.kebabCase = tA, p.last = ut, p.lastIndexOf = vC, p.lowerCase = nA, p.lowerFirst = iA, p.lt = f0, p.lte = m0, p.max = JA, p.maxBy = XA, p.mean = QA, p.meanBy = ek, p.min = tk, p.minBy = nk, p.stubArray = Oo, p.stubFalse = Mo, p.stubObject = NA, p.stubString = WA, p.stubTrue = UA, p.multiply = ik, p.nth = gC, p.noConflict = jA, p.noop = Lo, p.now = zr, p.pad = rA, p.padEnd = aA, p.padStart = oA, p.parseInt = sA, p.random = Y0, p.reduce = yy, p.reduceRight = Ay, p.repeat = lA, p.replace = dA, p.result = R0, p.round = rk, p.runInContext = A, p.sample = wy, p.size = Ty, p.snakeCase = cA, p.some = Sy, p.sortedIndex = _C, p.sortedIndexBy = EC, p.sortedIndexOf = TC, p.sortedLastIndex = SC, p.sortedLastIndexBy = xC, p.sortedLastIndexOf = zC, p.startCase = pA, p.startsWith = fA, p.subtract = ak, p.sum = ok, p.sumBy = sk, p.template = mA, p.times = HA, p.toFinite = $t, p.toInteger = Z, p.toLength = pu, p.toLower = hA, p.toNumber = pt, p.toSafeInteger = h0, p.toString = oe, p.toUpper = vA, p.trim = gA, p.trimEnd = bA, p.trimStart = CA, p.truncate = yA, p.unescape = AA, p.uniqueId = VA, p.upperCase = kA, p.upperFirst = Bo, p.each = Xc, p.eachRight = Qc, p.first = Kc, Po(p, function() {\n var t = {};\n return At(p, function(n, a) {\n se.call(p.prototype, a) || (t[a] = n);\n }), t;\n }(), { chain: !1 }), p.VERSION = o, ot(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(t) {\n p[t].placeholder = p;\n }), ot(["drop", "take"], function(t, n) {\n ee.prototype[t] = function(a) {\n a = a === r ? 1 : Te(Z(a), 0);\n var s = this.__filtered__ && !n ? new ee(this) : this.clone();\n return s.__filtered__ ? s.__takeCount__ = Le(a, s.__takeCount__) : s.__views__.push({\n size: Le(a, Je),\n type: t + (s.__dir__ < 0 ? "Right" : "")\n }), s;\n }, ee.prototype[t + "Right"] = function(a) {\n return this.reverse()[t](a).reverse();\n };\n }), ot(["filter", "map", "takeWhile"], function(t, n) {\n var a = n + 1, s = a == ai || a == ma;\n ee.prototype[t] = function(c) {\n var f = this.clone();\n return f.__iteratees__.push({\n iteratee: N(c, 3),\n type: a\n }), f.__filtered__ = f.__filtered__ || s, f;\n };\n }), ot(["head", "last"], function(t, n) {\n var a = "take" + (n ? "Right" : "");\n ee.prototype[t] = function() {\n return this[a](1).value()[0];\n };\n }), ot(["initial", "tail"], function(t, n) {\n var a = "drop" + (n ? "" : "Right");\n ee.prototype[t] = function() {\n return this.__filtered__ ? new ee(this) : this[a](1);\n };\n }), ee.prototype.compact = function() {\n return this.filter(Ke);\n }, ee.prototype.find = function(t) {\n return this.filter(t).head();\n }, ee.prototype.findLast = function(t) {\n return this.reverse().find(t);\n }, ee.prototype.invokeMap = X(function(t, n) {\n return typeof t == "function" ? new ee(this) : this.map(function(a) {\n return bi(a, t, n);\n });\n }), ee.prototype.reject = function(t) {\n return this.filter(Br(N(t)));\n }, ee.prototype.slice = function(t, n) {\n t = Z(t);\n var a = this;\n return a.__filtered__ && (t > 0 || n < 0) ? new ee(a) : (t < 0 ? a = a.takeRight(-t) : t && (a = a.drop(t)), n !== r && (n = Z(n), a = n < 0 ? a.dropRight(-n) : a.take(n - t)), a);\n }, ee.prototype.takeRightWhile = function(t) {\n return this.reverse().takeWhile(t).reverse();\n }, ee.prototype.toArray = function() {\n return this.take(Je);\n }, At(ee.prototype, function(t, n) {\n var a = /^(?:filter|find|map|reject)|While$/.test(n), s = /^(?:head|last)$/.test(n), c = p[s ? "take" + (n == "last" ? "Right" : "") : n], f = s || /^find/.test(n);\n c && (p.prototype[n] = function() {\n var C = this.__wrapped__, y = s ? [1] : arguments, k = C instanceof ee, T = y[0], S = k || q(C), z = function(Q) {\n var te = c.apply(p, Gt([Q], y));\n return s && P ? te[0] : te;\n };\n S && a && typeof T == "function" && T.length != 1 && (k = S = !1);\n var P = this.__chain__, R = !!this.__actions__.length, U = f && !P, J = k && !R;\n if (!f && S) {\n C = J ? C : new ee(this);\n var H = t.apply(C, y);\n return H.__actions__.push({ func: Sr, args: [z], thisArg: r }), new lt(H, P);\n }\n return U && J ? t.apply(this, y) : (H = this.thru(z), U ? s ? H.value()[0] : H.value() : H);\n });\n }), ot(["pop", "push", "shift", "sort", "splice", "unshift"], function(t) {\n var n = Qi[t], a = /^(?:push|sort|unshift)$/.test(t) ? "tap" : "thru", s = /^(?:pop|shift)$/.test(t);\n p.prototype[t] = function() {\n var c = arguments;\n if (s && !this.__chain__) {\n var f = this.value();\n return n.apply(q(f) ? f : [], c);\n }\n return this[a](function(C) {\n return n.apply(q(C) ? C : [], c);\n });\n };\n }), At(ee.prototype, function(t, n) {\n var a = p[n];\n if (a) {\n var s = a.name + "";\n se.call(jn, s) || (jn[s] = []), jn[s].push({ name: n, func: a });\n }\n }), jn[yr(r, j).name] = [{\n name: "wrapper",\n func: r\n }], ee.prototype.clone = Ag, ee.prototype.reverse = kg, ee.prototype.value = wg, p.prototype.at = XC, p.prototype.chain = QC, p.prototype.commit = ey, p.prototype.next = ty, p.prototype.plant = iy, p.prototype.reverse = ry, p.prototype.toJSON = p.prototype.valueOf = p.prototype.value = ay, p.prototype.first = p.prototype.head, ui && (p.prototype[ui] = ny), p;\n }, Dn = eg();\n rn ? ((rn.exports = Dn)._ = Dn, Ia._ = Dn) : Ie._ = Dn;\n }).call(Nt);\n})(sp, sp.exports);\nvar gn = { exports: {} };\n(function(e, i) {\n var r = typeof Reflect != "undefined" ? Reflect.construct : void 0, o = Object.defineProperty, l = Error.captureStackTrace;\n l === void 0 && (l = function(b) {\n var v = new Error();\n o(b, "stack", {\n configurable: !0,\n get: function() {\n var w = v.stack;\n return o(this, "stack", {\n configurable: !0,\n value: w,\n writable: !0\n }), w;\n },\n set: function(w) {\n o(b, "stack", {\n configurable: !0,\n value: w,\n writable: !0\n });\n }\n });\n });\n function d(h) {\n h !== void 0 && o(this, "message", {\n configurable: !0,\n value: h,\n writable: !0\n });\n var b = this.constructor.name;\n b !== void 0 && b !== this.name && o(this, "name", {\n configurable: !0,\n value: b,\n writable: !0\n }), l(this, this.constructor);\n }\n d.prototype = Object.create(Error.prototype, {\n // See: https://github.com/JsCommunity/make-error/issues/4\n constructor: {\n configurable: !0,\n value: d,\n writable: !0\n }\n });\n var u = function() {\n function h(v, g) {\n return o(v, "name", {\n configurable: !0,\n value: g\n });\n }\n try {\n var b = function() {\n };\n if (h(b, "foo"), b.name === "foo")\n return h;\n } catch (v) {\n }\n }();\n function m(h, b) {\n if (b == null || b === Error)\n b = d;\n else if (typeof b != "function")\n throw new TypeError("super_ should be a function");\n var v;\n if (typeof h == "string")\n v = h, h = r !== void 0 ? function() {\n return r(b, arguments, this.constructor);\n } : function() {\n b.apply(this, arguments);\n }, u !== void 0 && (u(h, v), v = void 0);\n else if (typeof h != "function")\n throw new TypeError("constructor should be either a string or a function");\n h.super_ = h.super = b;\n var g = {\n constructor: {\n configurable: !0,\n value: h,\n writable: !0\n }\n };\n return v !== void 0 && (g.name = {\n configurable: !0,\n value: v,\n writable: !0\n }), h.prototype = Object.create(b.prototype, g), h;\n }\n i = e.exports = m, i.BaseError = d;\n})(gn, gn.exports);\nclass n4 extends gn.exports.BaseError {\n constructor() {\n super("The browser you are using isn\'t compatible with this application, or HTTPS is not being used on a non-localhost domain.");\n }\n}\nclass i4 extends gn.exports.BaseError {\n constructor(i, r, o) {\n super(`Could not fetch web worker from ${i}`), this.url = i, this.response = r, this.originalError = o != null ? o : null;\n }\n}\nclass r4 extends gn.exports.BaseError {\n constructor() {\n super("Invalid input passed");\n }\n}\nclass a4 extends gn.exports.BaseError {\n constructor(i) {\n super("Invalid mime type found on asset"), this.mimeType = i;\n }\n}\nclass o4 extends gn.exports.BaseError {\n constructor(i, r, o) {\n super(`Could not fetch resource from ${i}`), this.url = i, this.response = r, this.originalError = o != null ? o : null;\n }\n}\nUt("c2pa:Validator");\nfunction ET() {\n this.__data__ = [], this.size = 0;\n}\nvar TT = ET;\nfunction ST(e, i) {\n return e === i || e !== e && i !== i;\n}\nvar Li = ST, xT = Li;\nfunction zT(e, i) {\n for (var r = e.length; r--; )\n if (xT(e[r][0], i))\n return r;\n return -1;\n}\nvar Kr = zT, DT = Kr, BT = Array.prototype, IT = BT.splice;\nfunction jT(e) {\n var i = this.__data__, r = DT(i, e);\n if (r < 0)\n return !1;\n var o = i.length - 1;\n return r == o ? i.pop() : IT.call(i, r, 1), --this.size, !0;\n}\nvar PT = jT, LT = Kr;\nfunction OT(e) {\n var i = this.__data__, r = LT(i, e);\n return r < 0 ? void 0 : i[r][1];\n}\nvar MT = OT, FT = Kr;\nfunction $T(e) {\n return FT(this.__data__, e) > -1;\n}\nvar RT = $T, NT = Kr;\nfunction WT(e, i) {\n var r = this.__data__, o = NT(r, e);\n return o < 0 ? (++this.size, r.push([e, i])) : r[o][1] = i, this;\n}\nvar UT = WT, HT = TT, GT = PT, VT = MT, qT = RT, KT = UT;\nfunction Kn(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nKn.prototype.clear = HT;\nKn.prototype.delete = GT;\nKn.prototype.get = VT;\nKn.prototype.has = qT;\nKn.prototype.set = KT;\nvar Zr = Kn, ZT = Zr;\nfunction YT() {\n this.__data__ = new ZT(), this.size = 0;\n}\nvar JT = YT;\nfunction XT(e) {\n var i = this.__data__, r = i.delete(e);\n return this.size = i.size, r;\n}\nvar QT = XT;\nfunction eS(e) {\n return this.__data__.get(e);\n}\nvar tS = eS;\nfunction nS(e) {\n return this.__data__.has(e);\n}\nvar iS = nS, rS = typeof Nt == "object" && Nt && Nt.Object === Object && Nt, om = rS, aS = om, oS = typeof self == "object" && self && self.Object === Object && self, sS = aS || oS || Function("return this")(), Ye = sS, Go, lp;\nfunction Zn() {\n if (lp)\n return Go;\n lp = 1;\n var e = Ye, i = e.Symbol;\n return Go = i, Go;\n}\nvar dp = Zn(), sm = Object.prototype, lS = sm.hasOwnProperty, dS = sm.toString, Ti = dp ? dp.toStringTag : void 0;\nfunction cS(e) {\n var i = lS.call(e, Ti), r = e[Ti];\n try {\n e[Ti] = void 0;\n var o = !0;\n } catch (d) {\n }\n var l = dS.call(e);\n return o && (i ? e[Ti] = r : delete e[Ti]), l;\n}\nvar uS = cS, pS = Object.prototype, fS = pS.toString;\nfunction mS(e) {\n return fS.call(e);\n}\nvar hS = mS, cp = Zn(), vS = uS, gS = hS, bS = "[object Null]", CS = "[object Undefined]", up = cp ? cp.toStringTag : void 0;\nfunction yS(e) {\n return e == null ? e === void 0 ? CS : bS : up && up in Object(e) ? vS(e) : gS(e);\n}\nvar kn = yS;\nfunction AS(e) {\n var i = typeof e;\n return e != null && (i == "object" || i == "function");\n}\nvar ft = AS, kS = kn, wS = ft, _S = "[object AsyncFunction]", ES = "[object Function]", TS = "[object GeneratorFunction]", SS = "[object Proxy]";\nfunction xS(e) {\n if (!wS(e))\n return !1;\n var i = kS(e);\n return i == ES || i == TS || i == _S || i == SS;\n}\nvar Yr = xS, zS = Ye, DS = zS["__core-js_shared__"], BS = DS, Vo = BS, pp = function() {\n var e = /[^.]+$/.exec(Vo && Vo.keys && Vo.keys.IE_PROTO || "");\n return e ? "Symbol(src)_1." + e : "";\n}();\nfunction IS(e) {\n return !!pp && pp in e;\n}\nvar jS = IS, PS = Function.prototype, LS = PS.toString;\nfunction OS(e) {\n if (e != null) {\n try {\n return LS.call(e);\n } catch (i) {\n }\n try {\n return e + "";\n } catch (i) {\n }\n }\n return "";\n}\nvar lm = OS, MS = Yr, FS = jS, $S = ft, RS = lm, NS = /[\\\\^$.*+?()[\\]{}|]/g, WS = /^\\[object .+?Constructor\\]$/, US = Function.prototype, HS = Object.prototype, GS = US.toString, VS = HS.hasOwnProperty, qS = RegExp(\n "^" + GS.call(VS).replace(NS, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n);\nfunction KS(e) {\n if (!$S(e) || FS(e))\n return !1;\n var i = MS(e) ? qS : WS;\n return i.test(RS(e));\n}\nvar ZS = KS;\nfunction YS(e, i) {\n return e == null ? void 0 : e[i];\n}\nvar JS = YS, XS = ZS, QS = JS;\nfunction e5(e, i) {\n var r = QS(e, i);\n return XS(r) ? r : void 0;\n}\nvar wn = e5, t5 = wn, n5 = Ye, i5 = t5(n5, "Map"), wl = i5, r5 = wn, a5 = r5(Object, "create"), Jr = a5, fp = Jr;\nfunction o5() {\n this.__data__ = fp ? fp(null) : {}, this.size = 0;\n}\nvar s5 = o5;\nfunction l5(e) {\n var i = this.has(e) && delete this.__data__[e];\n return this.size -= i ? 1 : 0, i;\n}\nvar d5 = l5, c5 = Jr, u5 = "__lodash_hash_undefined__", p5 = Object.prototype, f5 = p5.hasOwnProperty;\nfunction m5(e) {\n var i = this.__data__;\n if (c5) {\n var r = i[e];\n return r === u5 ? void 0 : r;\n }\n return f5.call(i, e) ? i[e] : void 0;\n}\nvar h5 = m5, v5 = Jr, g5 = Object.prototype, b5 = g5.hasOwnProperty;\nfunction C5(e) {\n var i = this.__data__;\n return v5 ? i[e] !== void 0 : b5.call(i, e);\n}\nvar y5 = C5, A5 = Jr, k5 = "__lodash_hash_undefined__";\nfunction w5(e, i) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = A5 && i === void 0 ? k5 : i, this;\n}\nvar _5 = w5, E5 = s5, T5 = d5, S5 = h5, x5 = y5, z5 = _5;\nfunction Yn(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nYn.prototype.clear = E5;\nYn.prototype.delete = T5;\nYn.prototype.get = S5;\nYn.prototype.has = x5;\nYn.prototype.set = z5;\nvar D5 = Yn, mp = D5, B5 = Zr, I5 = wl;\nfunction j5() {\n this.size = 0, this.__data__ = {\n hash: new mp(),\n map: new (I5 || B5)(),\n string: new mp()\n };\n}\nvar P5 = j5;\nfunction L5(e) {\n var i = typeof e;\n return i == "string" || i == "number" || i == "symbol" || i == "boolean" ? e !== "__proto__" : e === null;\n}\nvar O5 = L5, M5 = O5;\nfunction F5(e, i) {\n var r = e.__data__;\n return M5(i) ? r[typeof i == "string" ? "string" : "hash"] : r.map;\n}\nvar Xr = F5, $5 = Xr;\nfunction R5(e) {\n var i = $5(this, e).delete(e);\n return this.size -= i ? 1 : 0, i;\n}\nvar N5 = R5, W5 = Xr;\nfunction U5(e) {\n return W5(this, e).get(e);\n}\nvar H5 = U5, G5 = Xr;\nfunction V5(e) {\n return G5(this, e).has(e);\n}\nvar q5 = V5, K5 = Xr;\nfunction Z5(e, i) {\n var r = K5(this, e), o = r.size;\n return r.set(e, i), this.size += r.size == o ? 0 : 1, this;\n}\nvar Y5 = Z5, J5 = P5, X5 = N5, Q5 = H5, ex = q5, tx = Y5;\nfunction Jn(e) {\n var i = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++i < r; ) {\n var o = e[i];\n this.set(o[0], o[1]);\n }\n}\nJn.prototype.clear = J5;\nJn.prototype.delete = X5;\nJn.prototype.get = Q5;\nJn.prototype.has = ex;\nJn.prototype.set = tx;\nvar _l = Jn, nx = Zr, ix = wl, rx = _l, ax = 200;\nfunction ox(e, i) {\n var r = this.__data__;\n if (r instanceof nx) {\n var o = r.__data__;\n if (!ix || o.length < ax - 1)\n return o.push([e, i]), this.size = ++r.size, this;\n r = this.__data__ = new rx(o);\n }\n return r.set(e, i), this.size = r.size, this;\n}\nvar sx = ox, lx = Zr, dx = JT, cx = QT, ux = tS, px = iS, fx = sx;\nfunction Xn(e) {\n var i = this.__data__ = new lx(e);\n this.size = i.size;\n}\nXn.prototype.clear = dx;\nXn.prototype.delete = cx;\nXn.prototype.get = ux;\nXn.prototype.has = px;\nXn.prototype.set = fx;\nvar Qr = Xn, mx = wn, hx = function() {\n try {\n var e = mx(Object, "defineProperty");\n return e({}, "", {}), e;\n } catch (i) {\n }\n}(), dm = hx, hp = dm;\nfunction vx(e, i, r) {\n i == "__proto__" && hp ? hp(e, i, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[i] = r;\n}\nvar ea = vx, gx = ea, bx = Li;\nfunction Cx(e, i, r) {\n (r !== void 0 && !bx(e[i], r) || r === void 0 && !(i in e)) && gx(e, i, r);\n}\nvar cm = Cx;\nfunction yx(e) {\n return function(i, r, o) {\n for (var l = -1, d = Object(i), u = o(i), m = u.length; m--; ) {\n var h = u[e ? m : ++l];\n if (r(d[h], h, d) === !1)\n break;\n }\n return i;\n };\n}\nvar Ax = yx, kx = Ax, wx = kx(), um = wx, Wr = { exports: {} };\n(function(e, i) {\n var r = Ye, o = i && !i.nodeType && i, l = o && !0 && e && !e.nodeType && e, d = l && l.exports === o, u = d ? r.Buffer : void 0, m = u ? u.allocUnsafe : void 0;\n function h(b, v) {\n if (v)\n return b.slice();\n var g = b.length, w = m ? m(g) : new b.constructor(g);\n return b.copy(w), w;\n }\n e.exports = h;\n})(Wr, Wr.exports);\nvar _x = Ye, Ex = _x.Uint8Array, pm = Ex, vp = pm;\nfunction Tx(e) {\n var i = new e.constructor(e.byteLength);\n return new vp(i).set(new vp(e)), i;\n}\nvar El = Tx, Sx = El;\nfunction xx(e, i) {\n var r = i ? Sx(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.length);\n}\nvar fm = xx;\nfunction zx(e, i) {\n var r = -1, o = e.length;\n for (i || (i = Array(o)); ++r < o; )\n i[r] = e[r];\n return i;\n}\nvar Oi = zx, Dx = ft, gp = Object.create, Bx = function() {\n function e() {\n }\n return function(i) {\n if (!Dx(i))\n return {};\n if (gp)\n return gp(i);\n e.prototype = i;\n var r = new e();\n return e.prototype = void 0, r;\n };\n}(), ta = Bx;\nfunction Ix(e, i) {\n return function(r) {\n return e(i(r));\n };\n}\nvar mm = Ix, jx = mm, Px = jx(Object.getPrototypeOf, Object), Tl = Px, Lx = Object.prototype;\nfunction Ox(e) {\n var i = e && e.constructor, r = typeof i == "function" && i.prototype || Lx;\n return e === r;\n}\nvar Sl = Ox, Mx = ta, Fx = Tl, $x = Sl;\nfunction Rx(e) {\n return typeof e.constructor == "function" && !$x(e) ? Mx(Fx(e)) : {};\n}\nvar hm = Rx;\nfunction Nx(e) {\n return e != null && typeof e == "object";\n}\nvar mt = Nx, Wx = kn, Ux = mt, Hx = "[object Arguments]";\nfunction Gx(e) {\n return Ux(e) && Wx(e) == Hx;\n}\nvar Vx = Gx, bp = Vx, qx = mt, vm = Object.prototype, Kx = vm.hasOwnProperty, Zx = vm.propertyIsEnumerable, Yx = bp(function() {\n return arguments;\n}()) ? bp : function(e) {\n return qx(e) && Kx.call(e, "callee") && !Zx.call(e, "callee");\n}, na = Yx, Jx = Array.isArray, Pe = Jx, Xx = 9007199254740991;\nfunction Qx(e) {\n return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Xx;\n}\nvar xl = Qx, ez = Yr, tz = xl;\nfunction nz(e) {\n return e != null && tz(e.length) && !ez(e);\n}\nvar Qn = nz, iz = Qn, rz = mt;\nfunction az(e) {\n return rz(e) && iz(e);\n}\nvar oz = az, Gn = { exports: {} };\nfunction sz() {\n return !1;\n}\nvar lz = sz;\n(function(e, i) {\n var r = Ye, o = lz, l = i && !i.nodeType && i, d = l && !0 && e && !e.nodeType && e, u = d && d.exports === l, m = u ? r.Buffer : void 0, h = m ? m.isBuffer : void 0, b = h || o;\n e.exports = b;\n})(Gn, Gn.exports);\nvar dz = kn, cz = Tl, uz = mt, pz = "[object Object]", fz = Function.prototype, mz = Object.prototype, gm = fz.toString, hz = mz.hasOwnProperty, vz = gm.call(Object);\nfunction gz(e) {\n if (!uz(e) || dz(e) != pz)\n return !1;\n var i = cz(e);\n if (i === null)\n return !0;\n var r = hz.call(i, "constructor") && i.constructor;\n return typeof r == "function" && r instanceof r && gm.call(r) == vz;\n}\nvar bm = gz, bz = kn, Cz = xl, yz = mt, Az = "[object Arguments]", kz = "[object Array]", wz = "[object Boolean]", _z = "[object Date]", Ez = "[object Error]", Tz = "[object Function]", Sz = "[object Map]", xz = "[object Number]", zz = "[object Object]", Dz = "[object RegExp]", Bz = "[object Set]", Iz = "[object String]", jz = "[object WeakMap]", Pz = "[object ArrayBuffer]", Lz = "[object DataView]", Oz = "[object Float32Array]", Mz = "[object Float64Array]", Fz = "[object Int8Array]", $z = "[object Int16Array]", Rz = "[object Int32Array]", Nz = "[object Uint8Array]", Wz = "[object Uint8ClampedArray]", Uz = "[object Uint16Array]", Hz = "[object Uint32Array]", he = {};\nhe[Oz] = he[Mz] = he[Fz] = he[$z] = he[Rz] = he[Nz] = he[Wz] = he[Uz] = he[Hz] = !0;\nhe[Az] = he[kz] = he[Pz] = he[wz] = he[Lz] = he[_z] = he[Ez] = he[Tz] = he[Sz] = he[xz] = he[zz] = he[Dz] = he[Bz] = he[Iz] = he[jz] = !1;\nfunction Gz(e) {\n return yz(e) && Cz(e.length) && !!he[bz(e)];\n}\nvar Vz = Gz, qo, Cp;\nfunction ia() {\n if (Cp)\n return qo;\n Cp = 1;\n function e(i) {\n return function(r) {\n return i(r);\n };\n }\n return qo = e, qo;\n}\nvar Bi = { exports: {} };\n(function(e, i) {\n var r = om, o = i && !i.nodeType && i, l = o && !0 && e && !e.nodeType && e, d = l && l.exports === o, u = d && r.process, m = function() {\n try {\n var h = l && l.require && l.require("util").types;\n return h || u && u.binding && u.binding("util");\n } catch (b) {\n }\n }();\n e.exports = m;\n})(Bi, Bi.exports);\nvar qz = Vz, Kz = ia(), yp = Bi.exports, Ap = yp && yp.isTypedArray, Zz = Ap ? Kz(Ap) : qz, zl = Zz;\nfunction Yz(e, i) {\n if (!(i === "constructor" && typeof e[i] == "function") && i != "__proto__")\n return e[i];\n}\nvar Cm = Yz, Jz = ea, Xz = Li, Qz = Object.prototype, eD = Qz.hasOwnProperty;\nfunction tD(e, i, r) {\n var o = e[i];\n (!(eD.call(e, i) && Xz(o, r)) || r === void 0 && !(i in e)) && Jz(e, i, r);\n}\nvar Dl = tD, nD = Dl, iD = ea;\nfunction rD(e, i, r, o) {\n var l = !r;\n r || (r = {});\n for (var d = -1, u = i.length; ++d < u; ) {\n var m = i[d], h = o ? o(r[m], e[m], m, r, e) : void 0;\n h === void 0 && (h = e[m]), l ? iD(r, m, h) : nD(r, m, h);\n }\n return r;\n}\nvar Mi = rD;\nfunction aD(e, i) {\n for (var r = -1, o = Array(e); ++r < e; )\n o[r] = i(r);\n return o;\n}\nvar oD = aD, sD = 9007199254740991, lD = /^(?:0|[1-9]\\d*)$/;\nfunction dD(e, i) {\n var r = typeof e;\n return i = i == null ? sD : i, !!i && (r == "number" || r != "symbol" && lD.test(e)) && e > -1 && e % 1 == 0 && e < i;\n}\nvar Fi = dD, cD = oD, uD = na, pD = Pe, fD = Gn.exports, mD = Fi, hD = zl, vD = Object.prototype, gD = vD.hasOwnProperty;\nfunction bD(e, i) {\n var r = pD(e), o = !r && uD(e), l = !r && !o && fD(e), d = !r && !o && !l && hD(e), u = r || o || l || d, m = u ? cD(e.length, String) : [], h = m.length;\n for (var b in e)\n (i || gD.call(e, b)) && !(u && // Safari 9 has enumerable `arguments.length` in strict mode.\n (b == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n l && (b == "offset" || b == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n d && (b == "buffer" || b == "byteLength" || b == "byteOffset") || // Skip index properties.\n mD(b, h))) && m.push(b);\n return m;\n}\nvar ym = bD;\nfunction CD(e) {\n var i = [];\n if (e != null)\n for (var r in Object(e))\n i.push(r);\n return i;\n}\nvar yD = CD, AD = ft, kD = Sl, wD = yD, _D = Object.prototype, ED = _D.hasOwnProperty;\nfunction TD(e) {\n if (!AD(e))\n return wD(e);\n var i = kD(e), r = [];\n for (var o in e)\n o == "constructor" && (i || !ED.call(e, o)) || r.push(o);\n return r;\n}\nvar SD = TD, xD = ym, zD = SD, DD = Qn;\nfunction BD(e) {\n return DD(e) ? xD(e, !0) : zD(e);\n}\nvar $i = BD, ID = Mi, jD = $i;\nfunction PD(e) {\n return ID(e, jD(e));\n}\nvar LD = PD, kp = cm, OD = Wr.exports, MD = fm, FD = Oi, $D = hm, wp = na, _p = Pe, RD = oz, ND = Gn.exports, WD = Yr, UD = ft, HD = bm, GD = zl, Ep = Cm, VD = LD;\nfunction qD(e, i, r, o, l, d, u) {\n var m = Ep(e, r), h = Ep(i, r), b = u.get(h);\n if (b) {\n kp(e, r, b);\n return;\n }\n var v = d ? d(m, h, r + "", e, i, u) : void 0, g = v === void 0;\n if (g) {\n var w = _p(h), B = !w && ND(h), D = !w && !B && GD(h);\n v = h, w || B || D ? _p(m) ? v = m : RD(m) ? v = FD(m) : B ? (g = !1, v = OD(h, !0)) : D ? (g = !1, v = MD(h, !0)) : v = [] : HD(h) || wp(h) ? (v = m, wp(m) ? v = VD(m) : (!UD(m) || WD(m)) && (v = $D(h))) : g = !1;\n }\n g && (u.set(h, v), l(v, h, o, d, u), u.delete(h)), kp(e, r, v);\n}\nvar KD = qD, ZD = Qr, YD = cm, JD = um, XD = KD, QD = ft, eB = $i, tB = Cm;\nfunction Am(e, i, r, o, l) {\n e !== i && JD(i, function(d, u) {\n if (l || (l = new ZD()), QD(d))\n XD(e, i, u, r, Am, o, l);\n else {\n var m = o ? o(tB(e, u), d, u + "", e, i, l) : void 0;\n m === void 0 && (m = d), YD(e, u, m);\n }\n }, eB);\n}\nvar nB = Am;\nfunction iB(e) {\n return e;\n}\nvar ei = iB;\nfunction rB(e, i, r) {\n switch (r.length) {\n case 0:\n return e.call(i);\n case 1:\n return e.call(i, r[0]);\n case 2:\n return e.call(i, r[0], r[1]);\n case 3:\n return e.call(i, r[0], r[1], r[2]);\n }\n return e.apply(i, r);\n}\nvar Bl = rB, aB = Bl, Tp = Math.max;\nfunction oB(e, i, r) {\n return i = Tp(i === void 0 ? e.length - 1 : i, 0), function() {\n for (var o = arguments, l = -1, d = Tp(o.length - i, 0), u = Array(d); ++l < d; )\n u[l] = o[i + l];\n l = -1;\n for (var m = Array(i + 1); ++l < i; )\n m[l] = o[l];\n return m[i] = r(u), aB(e, this, m);\n };\n}\nvar km = oB;\nfunction sB(e) {\n return function() {\n return e;\n };\n}\nvar lB = sB, dB = lB, Sp = dm, cB = ei, uB = Sp ? function(e, i) {\n return Sp(e, "toString", {\n configurable: !0,\n enumerable: !1,\n value: dB(i),\n writable: !0\n });\n} : cB, pB = uB, fB = 800, mB = 16, hB = Date.now;\nfunction vB(e) {\n var i = 0, r = 0;\n return function() {\n var o = hB(), l = mB - (o - r);\n if (r = o, l > 0) {\n if (++i >= fB)\n return arguments[0];\n } else\n i = 0;\n return e.apply(void 0, arguments);\n };\n}\nvar wm = vB, gB = pB, bB = wm, CB = bB(gB), Il = CB, yB = ei, AB = km, kB = Il;\nfunction wB(e, i) {\n return kB(AB(e, i, yB), e + "");\n}\nvar _m = wB, _B = Li, EB = Qn, TB = Fi, SB = ft;\nfunction xB(e, i, r) {\n if (!SB(r))\n return !1;\n var o = typeof i;\n return (o == "number" ? EB(r) && TB(i, r.length) : o == "string" && i in r) ? _B(r[i], e) : !1;\n}\nvar Em = xB, zB = _m, DB = Em;\nfunction BB(e) {\n return zB(function(i, r) {\n var o = -1, l = r.length, d = l > 1 ? r[l - 1] : void 0, u = l > 2 ? r[2] : void 0;\n for (d = e.length > 3 && typeof d == "function" ? (l--, d) : void 0, u && DB(r[0], r[1], u) && (d = l < 3 ? void 0 : d, l = 1), i = Object(i); ++o < l; ) {\n var m = r[o];\n m && e(i, m, o, d);\n }\n return i;\n });\n}\nvar IB = BB, jB = nB, PB = IB, LB = PB(function(e, i, r) {\n jB(e, i, r);\n}), OB = LB;\nUt("c2pa:Downloader");\nUt("c2pa:Downloader:Cache");\nUt("c2pa:workers");\nUt("c2pa:wasm");\nfunction ti(e) {\n return Object.prototype.toString.call(e);\n}\nfunction MB(e) {\n return ti(e) === "[object Date]";\n}\nfunction FB(e) {\n return ti(e) === "[object RegExp]";\n}\nfunction $B(e) {\n return ti(e) === "[object Error]";\n}\nfunction RB(e) {\n return ti(e) === "[object Boolean]";\n}\nfunction NB(e) {\n return ti(e) === "[object Number]";\n}\nfunction WB(e) {\n return ti(e) === "[object String]";\n}\nvar Tm = Array.isArray || function(i) {\n return Object.prototype.toString.call(i) === "[object Array]";\n};\nfunction ra(e, i) {\n if (e.forEach)\n return e.forEach(i);\n for (var r = 0; r < e.length; r++)\n i(e[r], r, e);\n}\nvar aa = Object.keys || function(i) {\n var r = [];\n for (var o in i)\n r.push(o);\n return r;\n}, oa = Object.prototype.hasOwnProperty || function(e, i) {\n return i in e;\n};\nfunction Sm(e) {\n if (typeof e == "object" && e !== null) {\n var i;\n if (Tm(e))\n i = [];\n else if (MB(e))\n i = new Date(e.getTime ? e.getTime() : e);\n else if (FB(e))\n i = new RegExp(e);\n else if ($B(e))\n i = { message: e.message };\n else if (RB(e) || NB(e) || WB(e))\n i = Object(e);\n else if (Object.create && Object.getPrototypeOf)\n i = Object.create(Object.getPrototypeOf(e));\n else if (e.constructor === Object)\n i = {};\n else {\n var r = e.constructor && e.constructor.prototype || e.__proto__ || {}, o = function() {\n };\n o.prototype = r, i = new o();\n }\n return ra(aa(e), function(l) {\n i[l] = e[l];\n }), i;\n }\n return e;\n}\nfunction xm(e, i, r) {\n var o = [], l = [], d = !0;\n return function u(m) {\n var h = r ? Sm(m) : m, b = {}, v = !0, g = {\n node: h,\n node_: m,\n path: [].concat(o),\n parent: l[l.length - 1],\n parents: l,\n key: o[o.length - 1],\n isRoot: o.length === 0,\n level: o.length,\n circular: null,\n update: function(D, I) {\n g.isRoot || (g.parent.node[g.key] = D), g.node = D, I && (v = !1);\n },\n delete: function(D) {\n delete g.parent.node[g.key], D && (v = !1);\n },\n remove: function(D) {\n Tm(g.parent.node) ? g.parent.node.splice(g.key, 1) : delete g.parent.node[g.key], D && (v = !1);\n },\n keys: null,\n before: function(D) {\n b.before = D;\n },\n after: function(D) {\n b.after = D;\n },\n pre: function(D) {\n b.pre = D;\n },\n post: function(D) {\n b.post = D;\n },\n stop: function() {\n d = !1;\n },\n block: function() {\n v = !1;\n }\n };\n if (!d)\n return g;\n function w() {\n if (typeof g.node == "object" && g.node !== null) {\n (!g.keys || g.node_ !== g.node) && (g.keys = aa(g.node)), g.isLeaf = g.keys.length === 0;\n for (var D = 0; D < l.length; D++)\n if (l[D].node_ === m) {\n g.circular = l[D];\n break;\n }\n } else\n g.isLeaf = !0, g.keys = null;\n g.notLeaf = !g.isLeaf, g.notRoot = !g.isRoot;\n }\n w();\n var B = i.call(g, g.node);\n return B !== void 0 && g.update && g.update(B), b.before && b.before.call(g, g.node), v && (typeof g.node == "object" && g.node !== null && !g.circular && (l.push(g), w(), ra(g.keys, function(D, I) {\n o.push(D), b.pre && b.pre.call(g, g.node[D], D);\n var x = u(g.node[D]);\n r && oa.call(g.node, D) && (g.node[D] = x.node), x.isLast = I === g.keys.length - 1, x.isFirst = I === 0, b.post && b.post.call(g, x), o.pop();\n }), l.pop()), b.after && b.after.call(g, g.node)), g;\n }(e).node;\n}\nfunction zt(e) {\n this.value = e;\n}\nzt.prototype.get = function(e) {\n for (var i = this.value, r = 0; r < e.length; r++) {\n var o = e[r];\n if (!i || !oa.call(i, o))\n return;\n i = i[o];\n }\n return i;\n};\nzt.prototype.has = function(e) {\n for (var i = this.value, r = 0; r < e.length; r++) {\n var o = e[r];\n if (!i || !oa.call(i, o))\n return !1;\n i = i[o];\n }\n return !0;\n};\nzt.prototype.set = function(e, i) {\n for (var r = this.value, o = 0; o < e.length - 1; o++) {\n var l = e[o];\n oa.call(r, l) || (r[l] = {}), r = r[l];\n }\n return r[e[o]] = i, i;\n};\nzt.prototype.map = function(e) {\n return xm(this.value, e, !0);\n};\nzt.prototype.forEach = function(e) {\n return this.value = xm(this.value, e, !1), this.value;\n};\nzt.prototype.reduce = function(e, i) {\n var r = arguments.length === 1, o = r ? this.value : i;\n return this.forEach(function(l) {\n (!this.isRoot || !r) && (o = e.call(this, o, l));\n }), o;\n};\nzt.prototype.paths = function() {\n var e = [];\n return this.forEach(function() {\n e.push(this.path);\n }), e;\n};\nzt.prototype.nodes = function() {\n var e = [];\n return this.forEach(function() {\n e.push(this.node);\n }), e;\n};\nzt.prototype.clone = function() {\n var e = [], i = [];\n return function r(o) {\n for (var l = 0; l < e.length; l++)\n if (e[l] === o)\n return i[l];\n if (typeof o == "object" && o !== null) {\n var d = Sm(o);\n return e.push(o), i.push(d), ra(aa(o), function(u) {\n d[u] = r(o[u]);\n }), e.pop(), i.pop(), d;\n }\n return o;\n }(this.value);\n};\nra(aa(zt.prototype), function(e) {\n});\nUt("c2pa:manifestStore");\nUt("c2pa");\nUt("c2pa:task");\nvar zm = { exports: {} };\nfunction UB(e, i) {\n for (var r = -1, o = e == null ? 0 : e.length; ++r < o && i(e[r], r, e) !== !1; )\n ;\n return e;\n}\nvar sa = UB, HB = mm, GB = HB(Object.keys, Object), VB = GB, qB = Sl, KB = VB, ZB = Object.prototype, YB = ZB.hasOwnProperty;\nfunction JB(e) {\n if (!qB(e))\n return KB(e);\n var i = [];\n for (var r in Object(e))\n YB.call(e, r) && r != "constructor" && i.push(r);\n return i;\n}\nvar Dm = JB, XB = ym, QB = Dm, eI = Qn;\nfunction tI(e) {\n return eI(e) ? XB(e) : QB(e);\n}\nvar Ri = tI, nI = um, iI = Ri;\nfunction rI(e, i) {\n return e && nI(e, i, iI);\n}\nvar Bm = rI, aI = Qn;\nfunction oI(e, i) {\n return function(r, o) {\n if (r == null)\n return r;\n if (!aI(r))\n return e(r, o);\n for (var l = r.length, d = i ? l : -1, u = Object(r); (i ? d-- : ++d < l) && o(u[d], d, u) !== !1; )\n ;\n return r;\n };\n}\nvar sI = oI, lI = Bm, dI = sI, cI = dI(lI), Im = cI, uI = ei;\nfunction pI(e) {\n return typeof e == "function" ? e : uI;\n}\nvar fI = pI, mI = sa, hI = Im, vI = fI, gI = Pe;\nfunction bI(e, i) {\n var r = gI(e) ? mI : hI;\n return r(e, vI(i));\n}\nvar CI = bI;\n(function(e) {\n e.exports = CI;\n})(zm);\nvar xp = /* @__PURE__ */ AT(zm.exports), jm = {};\n(function(e) {\n e.aliasToReal = {\n // Lodash aliases.\n each: "forEach",\n eachRight: "forEachRight",\n entries: "toPairs",\n entriesIn: "toPairsIn",\n extend: "assignIn",\n extendAll: "assignInAll",\n extendAllWith: "assignInAllWith",\n extendWith: "assignInWith",\n first: "head",\n // Methods that are curried variants of others.\n conforms: "conformsTo",\n matches: "isMatch",\n property: "get",\n // Ramda aliases.\n __: "placeholder",\n F: "stubFalse",\n T: "stubTrue",\n all: "every",\n allPass: "overEvery",\n always: "constant",\n any: "some",\n anyPass: "overSome",\n apply: "spread",\n assoc: "set",\n assocPath: "set",\n complement: "negate",\n compose: "flowRight",\n contains: "includes",\n dissoc: "unset",\n dissocPath: "unset",\n dropLast: "dropRight",\n dropLastWhile: "dropRightWhile",\n equals: "isEqual",\n identical: "eq",\n indexBy: "keyBy",\n init: "initial",\n invertObj: "invert",\n juxt: "over",\n omitAll: "omit",\n nAry: "ary",\n path: "get",\n pathEq: "matchesProperty",\n pathOr: "getOr",\n paths: "at",\n pickAll: "pick",\n pipe: "flow",\n pluck: "map",\n prop: "get",\n propEq: "matchesProperty",\n propOr: "getOr",\n props: "at",\n symmetricDifference: "xor",\n symmetricDifferenceBy: "xorBy",\n symmetricDifferenceWith: "xorWith",\n takeLast: "takeRight",\n takeLastWhile: "takeRightWhile",\n unapply: "rest",\n unnest: "flatten",\n useWith: "overArgs",\n where: "conformsTo",\n whereEq: "isMatch",\n zipObj: "zipObject"\n }, e.aryMethod = {\n 1: [\n "assignAll",\n "assignInAll",\n "attempt",\n "castArray",\n "ceil",\n "create",\n "curry",\n "curryRight",\n "defaultsAll",\n "defaultsDeepAll",\n "floor",\n "flow",\n "flowRight",\n "fromPairs",\n "invert",\n "iteratee",\n "memoize",\n "method",\n "mergeAll",\n "methodOf",\n "mixin",\n "nthArg",\n "over",\n "overEvery",\n "overSome",\n "rest",\n "reverse",\n "round",\n "runInContext",\n "spread",\n "template",\n "trim",\n "trimEnd",\n "trimStart",\n "uniqueId",\n "words",\n "zipAll"\n ],\n 2: [\n "add",\n "after",\n "ary",\n "assign",\n "assignAllWith",\n "assignIn",\n "assignInAllWith",\n "at",\n "before",\n "bind",\n "bindAll",\n "bindKey",\n "chunk",\n "cloneDeepWith",\n "cloneWith",\n "concat",\n "conformsTo",\n "countBy",\n "curryN",\n "curryRightN",\n "debounce",\n "defaults",\n "defaultsDeep",\n "defaultTo",\n "delay",\n "difference",\n "divide",\n "drop",\n "dropRight",\n "dropRightWhile",\n "dropWhile",\n "endsWith",\n "eq",\n "every",\n "filter",\n "find",\n "findIndex",\n "findKey",\n "findLast",\n "findLastIndex",\n "findLastKey",\n "flatMap",\n "flatMapDeep",\n "flattenDepth",\n "forEach",\n "forEachRight",\n "forIn",\n "forInRight",\n "forOwn",\n "forOwnRight",\n "get",\n "groupBy",\n "gt",\n "gte",\n "has",\n "hasIn",\n "includes",\n "indexOf",\n "intersection",\n "invertBy",\n "invoke",\n "invokeMap",\n "isEqual",\n "isMatch",\n "join",\n "keyBy",\n "lastIndexOf",\n "lt",\n "lte",\n "map",\n "mapKeys",\n "mapValues",\n "matchesProperty",\n "maxBy",\n "meanBy",\n "merge",\n "mergeAllWith",\n "minBy",\n "multiply",\n "nth",\n "omit",\n "omitBy",\n "overArgs",\n "pad",\n "padEnd",\n "padStart",\n "parseInt",\n "partial",\n "partialRight",\n "partition",\n "pick",\n "pickBy",\n "propertyOf",\n "pull",\n "pullAll",\n "pullAt",\n "random",\n "range",\n "rangeRight",\n "rearg",\n "reject",\n "remove",\n "repeat",\n "restFrom",\n "result",\n "sampleSize",\n "some",\n "sortBy",\n "sortedIndex",\n "sortedIndexOf",\n "sortedLastIndex",\n "sortedLastIndexOf",\n "sortedUniqBy",\n "split",\n "spreadFrom",\n "startsWith",\n "subtract",\n "sumBy",\n "take",\n "takeRight",\n "takeRightWhile",\n "takeWhile",\n "tap",\n "throttle",\n "thru",\n "times",\n "trimChars",\n "trimCharsEnd",\n "trimCharsStart",\n "truncate",\n "union",\n "uniqBy",\n "uniqWith",\n "unset",\n "unzipWith",\n "without",\n "wrap",\n "xor",\n "zip",\n "zipObject",\n "zipObjectDeep"\n ],\n 3: [\n "assignInWith",\n "assignWith",\n "clamp",\n "differenceBy",\n "differenceWith",\n "findFrom",\n "findIndexFrom",\n "findLastFrom",\n "findLastIndexFrom",\n "getOr",\n "includesFrom",\n "indexOfFrom",\n "inRange",\n "intersectionBy",\n "intersectionWith",\n "invokeArgs",\n "invokeArgsMap",\n "isEqualWith",\n "isMatchWith",\n "flatMapDepth",\n "lastIndexOfFrom",\n "mergeWith",\n "orderBy",\n "padChars",\n "padCharsEnd",\n "padCharsStart",\n "pullAllBy",\n "pullAllWith",\n "rangeStep",\n "rangeStepRight",\n "reduce",\n "reduceRight",\n "replace",\n "set",\n "slice",\n "sortedIndexBy",\n "sortedLastIndexBy",\n "transform",\n "unionBy",\n "unionWith",\n "update",\n "xorBy",\n "xorWith",\n "zipWith"\n ],\n 4: [\n "fill",\n "setWith",\n "updateWith"\n ]\n }, e.aryRearg = {\n 2: [1, 0],\n 3: [2, 0, 1],\n 4: [3, 2, 0, 1]\n }, e.iterateeAry = {\n dropRightWhile: 1,\n dropWhile: 1,\n every: 1,\n filter: 1,\n find: 1,\n findFrom: 1,\n findIndex: 1,\n findIndexFrom: 1,\n findKey: 1,\n findLast: 1,\n findLastFrom: 1,\n findLastIndex: 1,\n findLastIndexFrom: 1,\n findLastKey: 1,\n flatMap: 1,\n flatMapDeep: 1,\n flatMapDepth: 1,\n forEach: 1,\n forEachRight: 1,\n forIn: 1,\n forInRight: 1,\n forOwn: 1,\n forOwnRight: 1,\n map: 1,\n mapKeys: 1,\n mapValues: 1,\n partition: 1,\n reduce: 2,\n reduceRight: 2,\n reject: 1,\n remove: 1,\n some: 1,\n takeRightWhile: 1,\n takeWhile: 1,\n times: 1,\n transform: 2\n }, e.iterateeRearg = {\n mapKeys: [1],\n reduceRight: [1, 0]\n }, e.methodRearg = {\n assignInAllWith: [1, 0],\n assignInWith: [1, 2, 0],\n assignAllWith: [1, 0],\n assignWith: [1, 2, 0],\n differenceBy: [1, 2, 0],\n differenceWith: [1, 2, 0],\n getOr: [2, 1, 0],\n intersectionBy: [1, 2, 0],\n intersectionWith: [1, 2, 0],\n isEqualWith: [1, 2, 0],\n isMatchWith: [2, 1, 0],\n mergeAllWith: [1, 0],\n mergeWith: [1, 2, 0],\n padChars: [2, 1, 0],\n padCharsEnd: [2, 1, 0],\n padCharsStart: [2, 1, 0],\n pullAllBy: [2, 1, 0],\n pullAllWith: [2, 1, 0],\n rangeStep: [1, 2, 0],\n rangeStepRight: [1, 2, 0],\n setWith: [3, 1, 2, 0],\n sortedIndexBy: [2, 1, 0],\n sortedLastIndexBy: [2, 1, 0],\n unionBy: [1, 2, 0],\n unionWith: [1, 2, 0],\n updateWith: [3, 1, 2, 0],\n xorBy: [1, 2, 0],\n xorWith: [1, 2, 0],\n zipWith: [1, 2, 0]\n }, e.methodSpread = {\n assignAll: { start: 0 },\n assignAllWith: { start: 0 },\n assignInAll: { start: 0 },\n assignInAllWith: { start: 0 },\n defaultsAll: { start: 0 },\n defaultsDeepAll: { start: 0 },\n invokeArgs: { start: 2 },\n invokeArgsMap: { start: 2 },\n mergeAll: { start: 0 },\n mergeAllWith: { start: 0 },\n partial: { start: 1 },\n partialRight: { start: 1 },\n without: { start: 1 },\n zipAll: { start: 0 }\n }, e.mutate = {\n array: {\n fill: !0,\n pull: !0,\n pullAll: !0,\n pullAllBy: !0,\n pullAllWith: !0,\n pullAt: !0,\n remove: !0,\n reverse: !0\n },\n object: {\n assign: !0,\n assignAll: !0,\n assignAllWith: !0,\n assignIn: !0,\n assignInAll: !0,\n assignInAllWith: !0,\n assignInWith: !0,\n assignWith: !0,\n defaults: !0,\n defaultsAll: !0,\n defaultsDeep: !0,\n defaultsDeepAll: !0,\n merge: !0,\n mergeAll: !0,\n mergeAllWith: !0,\n mergeWith: !0\n },\n set: {\n set: !0,\n setWith: !0,\n unset: !0,\n update: !0,\n updateWith: !0\n }\n }, e.realToAlias = function() {\n var i = Object.prototype.hasOwnProperty, r = e.aliasToReal, o = {};\n for (var l in r) {\n var d = r[l];\n i.call(o, d) ? o[d].push(l) : o[d] = [l];\n }\n return o;\n }(), e.remap = {\n assignAll: "assign",\n assignAllWith: "assignWith",\n assignInAll: "assignIn",\n assignInAllWith: "assignInWith",\n curryN: "curry",\n curryRightN: "curryRight",\n defaultsAll: "defaults",\n defaultsDeepAll: "defaultsDeep",\n findFrom: "find",\n findIndexFrom: "findIndex",\n findLastFrom: "findLast",\n findLastIndexFrom: "findLastIndex",\n getOr: "get",\n includesFrom: "includes",\n indexOfFrom: "indexOf",\n invokeArgs: "invoke",\n invokeArgsMap: "invokeMap",\n lastIndexOfFrom: "lastIndexOf",\n mergeAll: "merge",\n mergeAllWith: "mergeWith",\n padChars: "pad",\n padCharsEnd: "padEnd",\n padCharsStart: "padStart",\n propertyOf: "get",\n rangeStep: "range",\n rangeStepRight: "rangeRight",\n restFrom: "rest",\n spreadFrom: "spread",\n trimChars: "trim",\n trimCharsEnd: "trimEnd",\n trimCharsStart: "trimStart",\n zipAll: "zip"\n }, e.skipFixed = {\n castArray: !0,\n flow: !0,\n flowRight: !0,\n iteratee: !0,\n mixin: !0,\n rearg: !0,\n runInContext: !0\n }, e.skipRearg = {\n add: !0,\n assign: !0,\n assignIn: !0,\n bind: !0,\n bindKey: !0,\n concat: !0,\n difference: !0,\n divide: !0,\n eq: !0,\n gt: !0,\n gte: !0,\n isEqual: !0,\n lt: !0,\n lte: !0,\n matchesProperty: !0,\n merge: !0,\n multiply: !0,\n overArgs: !0,\n partial: !0,\n partialRight: !0,\n propertyOf: !0,\n random: !0,\n range: !0,\n rangeRight: !0,\n subtract: !0,\n zip: !0,\n zipObject: !0,\n zipObjectDeep: !0\n };\n})(jm);\nvar Ko, zp;\nfunction Ni() {\n return zp || (zp = 1, Ko = {}), Ko;\n}\nvar Se = jm, yI = Ni(), Dp = Array.prototype.push;\nfunction AI(e, i) {\n return i == 2 ? function(r, o) {\n return e.apply(void 0, arguments);\n } : function(r) {\n return e.apply(void 0, arguments);\n };\n}\nfunction Zo(e, i) {\n return i == 2 ? function(r, o) {\n return e(r, o);\n } : function(r) {\n return e(r);\n };\n}\nfunction Bp(e) {\n for (var i = e ? e.length : 0, r = Array(i); i--; )\n r[i] = e[i];\n return r;\n}\nfunction kI(e) {\n return function(i) {\n return e({}, i);\n };\n}\nfunction wI(e, i) {\n return function() {\n for (var r = arguments.length, o = r - 1, l = Array(r); r--; )\n l[r] = arguments[r];\n var d = l[i], u = l.slice(0, i);\n return d && Dp.apply(u, d), i != o && Dp.apply(u, l.slice(i + 1)), e.apply(this, u);\n };\n}\nfunction Yo(e, i) {\n return function() {\n var r = arguments.length;\n if (r) {\n for (var o = Array(r); r--; )\n o[r] = arguments[r];\n var l = o[0] = i.apply(void 0, o);\n return e.apply(void 0, o), l;\n }\n };\n}\nfunction al(e, i, r, o) {\n var l = typeof i == "function", d = i === Object(i);\n if (d && (o = r, r = i, i = void 0), r == null)\n throw new TypeError();\n o || (o = {});\n var u = {\n cap: "cap" in o ? o.cap : !0,\n curry: "curry" in o ? o.curry : !0,\n fixed: "fixed" in o ? o.fixed : !0,\n immutable: "immutable" in o ? o.immutable : !0,\n rearg: "rearg" in o ? o.rearg : !0\n }, m = l ? r : yI, h = "curry" in o && o.curry, b = "fixed" in o && o.fixed, v = "rearg" in o && o.rearg, g = l ? r.runInContext() : void 0, w = l ? r : {\n ary: e.ary,\n assign: e.assign,\n clone: e.clone,\n curry: e.curry,\n forEach: e.forEach,\n isArray: e.isArray,\n isError: e.isError,\n isFunction: e.isFunction,\n isWeakMap: e.isWeakMap,\n iteratee: e.iteratee,\n keys: e.keys,\n rearg: e.rearg,\n toInteger: e.toInteger,\n toPath: e.toPath\n }, B = w.ary, D = w.assign, I = w.clone, x = w.curry, j = w.forEach, M = w.isArray, W = w.isError, K = w.isFunction, re = w.isWeakMap, de = w.keys, ge = w.rearg, xe = w.toInteger, en = w.toPath, Ui = de(Se.aryMethod), ua = {\n castArray: function($) {\n return function() {\n var L = arguments[0];\n return M(L) ? $(Bp(L)) : $.apply(void 0, arguments);\n };\n },\n iteratee: function($) {\n return function() {\n var L = arguments[0], F = arguments[1], G = $(L, F), Y = G.length;\n return u.cap && typeof F == "number" ? (F = F > 2 ? F - 2 : 1, Y && Y <= F ? G : Zo(G, F)) : G;\n };\n },\n mixin: function($) {\n return function(L) {\n var F = this;\n if (!K(F))\n return $(F, Object(L));\n var G = [];\n return j(de(L), function(Y) {\n K(L[Y]) && G.push([Y, F.prototype[Y]]);\n }), $(F, Object(L)), j(G, function(Y) {\n var De = Y[1];\n K(De) ? F.prototype[Y[0]] = De : delete F.prototype[Y[0]];\n }), F;\n };\n },\n nthArg: function($) {\n return function(L) {\n var F = L < 0 ? 1 : xe(L) + 1;\n return x($(L), F);\n };\n },\n rearg: function($) {\n return function(L, F) {\n var G = F ? F.length : 0;\n return x($(L, F), G);\n };\n },\n runInContext: function($) {\n return function(L) {\n return al(e, $(L), o);\n };\n }\n };\n function pa($, L) {\n if (u.cap) {\n var F = Se.iterateeRearg[$];\n if (F)\n return _n(L, F);\n var G = !l && Se.iterateeAry[$];\n if (G)\n return ha(L, G);\n }\n return L;\n }\n function fa($, L, F) {\n return h || u.curry && F > 1 ? x(L, F) : L;\n }\n function ai($, L, F) {\n if (u.fixed && (b || !Se.skipFixed[$])) {\n var G = Se.methodSpread[$], Y = G && G.start;\n return Y === void 0 ? B(L, F) : wI(L, Y);\n }\n return L;\n }\n function Hi($, L, F) {\n return u.rearg && F > 1 && (v || !Se.skipRearg[$]) ? ge(L, Se.methodRearg[$] || Se.aryRearg[F]) : L;\n }\n function ma($, L) {\n L = en(L);\n for (var F = -1, G = L.length, Y = G - 1, De = I(Object($)), $e = De; $e != null && ++F < G; ) {\n var Be = L[F], Xe = $e[Be];\n Xe != null && !(K(Xe) || W(Xe) || re(Xe)) && ($e[Be] = I(F == Y ? Xe : Object(Xe))), $e = $e[Be];\n }\n return De;\n }\n function Dt($) {\n return Fe.runInContext.convert($)(void 0);\n }\n function ht($, L) {\n var F = Se.aliasToReal[$] || $, G = Se.remap[F] || F, Y = o;\n return function(De) {\n var $e = l ? g : w, Be = l ? g[G] : L, Xe = D(D({}, Y), De);\n return al($e, F, Be, Xe);\n };\n }\n function ha($, L) {\n return Je($, function(F) {\n return typeof F == "function" ? Zo(F, L) : F;\n });\n }\n function _n($, L) {\n return Je($, function(F) {\n var G = L.length;\n return AI(ge(Zo(F, G), L), G);\n });\n }\n function Je($, L) {\n return function() {\n var F = arguments.length;\n if (!F)\n return $();\n for (var G = Array(F); F--; )\n G[F] = arguments[F];\n var Y = u.rearg ? 0 : F - 1;\n return G[Y] = L(G[Y]), $.apply(void 0, G);\n };\n }\n function Gi($, L, F) {\n var G, Y = Se.aliasToReal[$] || $, De = L, $e = ua[Y];\n return $e ? De = $e(L) : u.immutable && (Se.mutate.array[Y] ? De = Yo(L, Bp) : Se.mutate.object[Y] ? De = Yo(L, kI(L)) : Se.mutate.set[Y] && (De = Yo(L, ma))), j(Ui, function(Be) {\n return j(Se.aryMethod[Be], function(Xe) {\n if (Y == Xe) {\n var He = Se.methodSpread[Y], nn = He && He.afterRearg;\n return G = nn ? ai(Y, Hi(Y, De, Be), Be) : Hi(Y, ai(Y, De, Be), Be), G = pa(Y, G), G = fa(Y, G, Be), !1;\n }\n }), !G;\n }), G || (G = De), G == L && (G = h ? x(G, 1) : function() {\n return L.apply(this, arguments);\n }), G.convert = ht(Y, L), G.placeholder = L.placeholder = F, G;\n }\n if (!d)\n return Gi(i, r, m);\n var Fe = r, tn = [];\n return j(Ui, function($) {\n j(Se.aryMethod[$], function(L) {\n var F = Fe[Se.remap[L] || L];\n F && tn.push([L, Gi(L, F, Fe)]);\n });\n }), j(de(Fe), function($) {\n var L = Fe[$];\n if (typeof L == "function") {\n for (var F = tn.length; F--; )\n if (tn[F][0] == $)\n return;\n L.convert = ht($, L), tn.push([$, L]);\n }\n }), j(tn, function($) {\n Fe[$[0]] = $[1];\n }), Fe.convert = Dt, Fe.placeholder = Fe, j(de(Fe), function($) {\n j(Se.realToAlias[$] || [], function(L) {\n Fe[L] = Fe[$];\n });\n }), Fe;\n}\nvar _I = al, EI = wn, TI = Ye, SI = EI(TI, "WeakMap"), Pm = SI, Jo, Ip;\nfunction Lm() {\n if (Ip)\n return Jo;\n Ip = 1;\n var e = Pm, i = e && new e();\n return Jo = i, Jo;\n}\nvar xI = ei, jp = Lm(), zI = jp ? function(e, i) {\n return jp.set(e, i), e;\n} : xI, Om = zI, DI = ta, BI = ft;\nfunction II(e) {\n return function() {\n var i = arguments;\n switch (i.length) {\n case 0:\n return new e();\n case 1:\n return new e(i[0]);\n case 2:\n return new e(i[0], i[1]);\n case 3:\n return new e(i[0], i[1], i[2]);\n case 4:\n return new e(i[0], i[1], i[2], i[3]);\n case 5:\n return new e(i[0], i[1], i[2], i[3], i[4]);\n case 6:\n return new e(i[0], i[1], i[2], i[3], i[4], i[5]);\n case 7:\n return new e(i[0], i[1], i[2], i[3], i[4], i[5], i[6]);\n }\n var r = DI(e.prototype), o = e.apply(r, i);\n return BI(o) ? o : r;\n };\n}\nvar la = II, jI = la, PI = Ye, LI = 1;\nfunction OI(e, i, r) {\n var o = i & LI, l = jI(e);\n function d() {\n var u = this && this !== PI && this instanceof d ? l : e;\n return u.apply(o ? r : this, arguments);\n }\n return d;\n}\nvar MI = OI, FI = Math.max;\nfunction $I(e, i, r, o) {\n for (var l = -1, d = e.length, u = r.length, m = -1, h = i.length, b = FI(d - u, 0), v = Array(h + b), g = !o; ++m < h; )\n v[m] = i[m];\n for (; ++l < u; )\n (g || l < d) && (v[r[l]] = e[l]);\n for (; b--; )\n v[m++] = e[l++];\n return v;\n}\nvar Mm = $I, RI = Math.max;\nfunction NI(e, i, r, o) {\n for (var l = -1, d = e.length, u = -1, m = r.length, h = -1, b = i.length, v = RI(d - m, 0), g = Array(v + b), w = !o; ++l < v; )\n g[l] = e[l];\n for (var B = l; ++h < b; )\n g[B + h] = i[h];\n for (; ++u < m; )\n (w || l < d) && (g[B + r[u]] = e[l++]);\n return g;\n}\nvar Fm = NI;\nfunction WI(e, i) {\n for (var r = e.length, o = 0; r--; )\n e[r] === i && ++o;\n return o;\n}\nvar UI = WI, Xo, Pp;\nfunction jl() {\n if (Pp)\n return Xo;\n Pp = 1;\n function e() {\n }\n return Xo = e, Xo;\n}\nvar Qo, Lp;\nfunction Pl() {\n if (Lp)\n return Qo;\n Lp = 1;\n var e = ta, i = jl(), r = 4294967295;\n function o(l) {\n this.__wrapped__ = l, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = r, this.__views__ = [];\n }\n return o.prototype = e(i.prototype), o.prototype.constructor = o, Qo = o, Qo;\n}\nvar es, Op;\nfunction $m() {\n if (Op)\n return es;\n Op = 1;\n function e() {\n }\n return es = e, es;\n}\nvar ts, Mp;\nfunction Ll() {\n if (Mp)\n return ts;\n Mp = 1;\n var e = Lm(), i = $m(), r = e ? function(o) {\n return e.get(o);\n } : i;\n return ts = r, ts;\n}\nvar ns, Fp;\nfunction HI() {\n if (Fp)\n return ns;\n Fp = 1;\n var e = {};\n return ns = e, ns;\n}\nvar is, $p;\nfunction Rm() {\n if ($p)\n return is;\n $p = 1;\n var e = HI(), i = Object.prototype, r = i.hasOwnProperty;\n function o(l) {\n for (var d = l.name + "", u = e[d], m = r.call(e, d) ? u.length : 0; m--; ) {\n var h = u[m], b = h.func;\n if (b == null || b == l)\n return h.name;\n }\n return d;\n }\n return is = o, is;\n}\nvar rs, Rp;\nfunction Ol() {\n if (Rp)\n return rs;\n Rp = 1;\n var e = ta, i = jl();\n function r(o, l) {\n this.__wrapped__ = o, this.__actions__ = [], this.__chain__ = !!l, this.__index__ = 0, this.__values__ = void 0;\n }\n return r.prototype = e(i.prototype), r.prototype.constructor = r, rs = r, rs;\n}\nvar as, Np;\nfunction GI() {\n if (Np)\n return as;\n Np = 1;\n var e = Pl(), i = Ol(), r = Oi;\n function o(l) {\n if (l instanceof e)\n return l.clone();\n var d = new i(l.__wrapped__, l.__chain__);\n return d.__actions__ = r(l.__actions__), d.__index__ = l.__index__, d.__values__ = l.__values__, d;\n }\n return as = o, as;\n}\nvar os, Wp;\nfunction VI() {\n if (Wp)\n return os;\n Wp = 1;\n var e = Pl(), i = Ol(), r = jl(), o = Pe, l = mt, d = GI(), u = Object.prototype, m = u.hasOwnProperty;\n function h(b) {\n if (l(b) && !o(b) && !(b instanceof e)) {\n if (b instanceof i)\n return b;\n if (m.call(b, "__wrapped__"))\n return d(b);\n }\n return new i(b);\n }\n return h.prototype = r.prototype, h.prototype.constructor = h, os = h, os;\n}\nvar ss, Up;\nfunction Nm() {\n if (Up)\n return ss;\n Up = 1;\n var e = Pl(), i = Ll(), r = Rm(), o = VI();\n function l(d) {\n var u = r(d), m = o[u];\n if (typeof m != "function" || !(u in e.prototype))\n return !1;\n if (d === m)\n return !0;\n var h = i(m);\n return !!h && d === h[0];\n }\n return ss = l, ss;\n}\nvar qI = Om, KI = wm, ZI = KI(qI), Wm = ZI, YI = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/, JI = /,? & /;\nfunction XI(e) {\n var i = e.match(YI);\n return i ? i[1].split(JI) : [];\n}\nvar QI = XI, ej = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\nfunction tj(e, i) {\n var r = i.length;\n if (!r)\n return e;\n var o = r - 1;\n return i[o] = (r > 1 ? "& " : "") + i[o], i = i.join(r > 2 ? ", " : " "), e.replace(ej, `{\n/* [wrapped with ` + i + `] */\n`);\n}\nvar nj = tj, ls, Hp;\nfunction ij() {\n if (Hp)\n return ls;\n Hp = 1;\n function e(i, r, o, l) {\n for (var d = i.length, u = o + (l ? 1 : -1); l ? u-- : ++u < d; )\n if (r(i[u], u, i))\n return u;\n return -1;\n }\n return ls = e, ls;\n}\nvar ds, Gp;\nfunction rj() {\n if (Gp)\n return ds;\n Gp = 1;\n function e(i) {\n return i !== i;\n }\n return ds = e, ds;\n}\nvar cs, Vp;\nfunction aj() {\n if (Vp)\n return cs;\n Vp = 1;\n function e(i, r, o) {\n for (var l = o - 1, d = i.length; ++l < d; )\n if (i[l] === r)\n return l;\n return -1;\n }\n return cs = e, cs;\n}\nvar us, qp;\nfunction oj() {\n if (qp)\n return us;\n qp = 1;\n var e = ij(), i = rj(), r = aj();\n function o(l, d, u) {\n return d === d ? r(l, d, u) : e(l, i, u);\n }\n return us = o, us;\n}\nvar ps, Kp;\nfunction Um() {\n if (Kp)\n return ps;\n Kp = 1;\n var e = oj();\n function i(r, o) {\n var l = r == null ? 0 : r.length;\n return !!l && e(r, o, 0) > -1;\n }\n return ps = i, ps;\n}\nvar sj = sa, lj = Um(), dj = 1, cj = 2, uj = 8, pj = 16, fj = 32, mj = 64, hj = 128, vj = 256, gj = 512, bj = [\n ["ary", hj],\n ["bind", dj],\n ["bindKey", cj],\n ["curry", uj],\n ["curryRight", pj],\n ["flip", gj],\n ["partial", fj],\n ["partialRight", mj],\n ["rearg", vj]\n];\nfunction Cj(e, i) {\n return sj(bj, function(r) {\n var o = "_." + r[0];\n i & r[1] && !lj(e, o) && e.push(o);\n }), e.sort();\n}\nvar yj = Cj, Aj = QI, kj = nj, wj = Il, _j = yj;\nfunction Ej(e, i, r) {\n var o = i + "";\n return wj(e, kj(o, _j(Aj(o), r)));\n}\nvar Hm = Ej, Tj = Nm(), Sj = Wm, xj = Hm, zj = 1, Dj = 2, Bj = 4, Ij = 8, Zp = 32, Yp = 64;\nfunction jj(e, i, r, o, l, d, u, m, h, b) {\n var v = i & Ij, g = v ? u : void 0, w = v ? void 0 : u, B = v ? d : void 0, D = v ? void 0 : d;\n i |= v ? Zp : Yp, i &= ~(v ? Yp : Zp), i & Bj || (i &= ~(zj | Dj));\n var I = [\n e,\n i,\n l,\n B,\n g,\n D,\n w,\n m,\n h,\n b\n ], x = r.apply(void 0, I);\n return Tj(e) && Sj(x, I), x.placeholder = o, xj(x, e, i);\n}\nvar Gm = jj;\nfunction Pj(e) {\n var i = e;\n return i.placeholder;\n}\nvar Vm = Pj, Lj = Oi, Oj = Fi, Mj = Math.min;\nfunction Fj(e, i) {\n for (var r = e.length, o = Mj(i.length, r), l = Lj(e); o--; ) {\n var d = i[o];\n e[o] = Oj(d, r) ? l[d] : void 0;\n }\n return e;\n}\nvar $j = Fj, Jp = "__lodash_placeholder__";\nfunction Rj(e, i) {\n for (var r = -1, o = e.length, l = 0, d = []; ++r < o; ) {\n var u = e[r];\n (u === i || u === Jp) && (e[r] = Jp, d[l++] = r);\n }\n return d;\n}\nvar Ml = Rj, Nj = Mm, Wj = Fm, Uj = UI, Xp = la, Hj = Gm, Gj = Vm, Vj = $j, qj = Ml, Kj = Ye, Zj = 1, Yj = 2, Jj = 8, Xj = 16, Qj = 128, eP = 512;\nfunction qm(e, i, r, o, l, d, u, m, h, b) {\n var v = i & Qj, g = i & Zj, w = i & Yj, B = i & (Jj | Xj), D = i & eP, I = w ? void 0 : Xp(e);\n function x() {\n for (var j = arguments.length, M = Array(j), W = j; W--; )\n M[W] = arguments[W];\n if (B)\n var K = Gj(x), re = Uj(M, K);\n if (o && (M = Nj(M, o, l, B)), d && (M = Wj(M, d, u, B)), j -= re, B && j < b) {\n var de = qj(M, K);\n return Hj(\n e,\n i,\n qm,\n x.placeholder,\n r,\n M,\n de,\n m,\n h,\n b - j\n );\n }\n var ge = g ? r : this, xe = w ? ge[e] : e;\n return j = M.length, m ? M = Vj(M, m) : D && j > 1 && M.reverse(), v && h < j && (M.length = h), this && this !== Kj && this instanceof x && (xe = I || Xp(xe)), xe.apply(ge, M);\n }\n return x;\n}\nvar Km = qm, tP = Bl, nP = la, iP = Km, rP = Gm, aP = Vm, oP = Ml, sP = Ye;\nfunction lP(e, i, r) {\n var o = nP(e);\n function l() {\n for (var d = arguments.length, u = Array(d), m = d, h = aP(l); m--; )\n u[m] = arguments[m];\n var b = d < 3 && u[0] !== h && u[d - 1] !== h ? [] : oP(u, h);\n if (d -= b.length, d < r)\n return rP(\n e,\n i,\n iP,\n l.placeholder,\n void 0,\n u,\n b,\n void 0,\n void 0,\n r - d\n );\n var v = this && this !== sP && this instanceof l ? o : e;\n return tP(v, this, u);\n }\n return l;\n}\nvar dP = lP, cP = Bl, uP = la, pP = Ye, fP = 1;\nfunction mP(e, i, r, o) {\n var l = i & fP, d = uP(e);\n function u() {\n for (var m = -1, h = arguments.length, b = -1, v = o.length, g = Array(v + h), w = this && this !== pP && this instanceof u ? d : e; ++b < v; )\n g[b] = o[b];\n for (; h--; )\n g[b++] = arguments[++m];\n return cP(w, l ? r : this, g);\n }\n return u;\n}\nvar hP = mP, vP = Mm, gP = Fm, Qp = Ml, e2 = "__lodash_placeholder__", fs = 1, bP = 2, CP = 4, t2 = 8, Si = 128, n2 = 256, yP = Math.min;\nfunction AP(e, i) {\n var r = e[1], o = i[1], l = r | o, d = l < (fs | bP | Si), u = o == Si && r == t2 || o == Si && r == n2 && e[7].length <= i[8] || o == (Si | n2) && i[7].length <= i[8] && r == t2;\n if (!(d || u))\n return e;\n o & fs && (e[2] = i[2], l |= r & fs ? 0 : CP);\n var m = i[3];\n if (m) {\n var h = e[3];\n e[3] = h ? vP(h, m, i[4]) : m, e[4] = h ? Qp(e[3], e2) : i[4];\n }\n return m = i[5], m && (h = e[5], e[5] = h ? gP(h, m, i[6]) : m, e[6] = h ? Qp(e[5], e2) : i[6]), m = i[7], m && (e[7] = m), o & Si && (e[8] = e[8] == null ? i[8] : yP(e[8], i[8])), e[9] == null && (e[9] = i[9]), e[0] = i[0], e[1] = l, e;\n}\nvar kP = AP, wP = /\\s/;\nfunction _P(e) {\n for (var i = e.length; i-- && wP.test(e.charAt(i)); )\n ;\n return i;\n}\nvar EP = _P, TP = EP, SP = /^\\s+/;\nfunction xP(e) {\n return e && e.slice(0, TP(e) + 1).replace(SP, "");\n}\nvar zP = xP, DP = kn, BP = mt, IP = "[object Symbol]";\nfunction jP(e) {\n return typeof e == "symbol" || BP(e) && DP(e) == IP;\n}\nvar ni = jP, PP = zP, i2 = ft, LP = ni, r2 = 0 / 0, OP = /^[-+]0x[0-9a-f]+$/i, MP = /^0b[01]+$/i, FP = /^0o[0-7]+$/i, $P = parseInt;\nfunction RP(e) {\n if (typeof e == "number")\n return e;\n if (LP(e))\n return r2;\n if (i2(e)) {\n var i = typeof e.valueOf == "function" ? e.valueOf() : e;\n e = i2(i) ? i + "" : i;\n }\n if (typeof e != "string")\n return e === 0 ? e : +e;\n e = PP(e);\n var r = MP.test(e);\n return r || FP.test(e) ? $P(e.slice(2), r ? 2 : 8) : OP.test(e) ? r2 : +e;\n}\nvar NP = RP, WP = NP, a2 = 1 / 0, UP = 17976931348623157e292;\nfunction HP(e) {\n if (!e)\n return e === 0 ? e : 0;\n if (e = WP(e), e === a2 || e === -a2) {\n var i = e < 0 ? -1 : 1;\n return i * UP;\n }\n return e === e ? e : 0;\n}\nvar GP = HP, VP = GP;\nfunction qP(e) {\n var i = VP(e), r = i % 1;\n return i === i ? r ? i - r : i : 0;\n}\nvar Zm = qP, KP = Om, ZP = MI, YP = dP, JP = Km, XP = hP, QP = Ll(), eL = kP, tL = Wm, nL = Hm, o2 = Zm, iL = "Expected a function", s2 = 1, rL = 2, ms = 8, hs = 16, vs = 32, l2 = 64, d2 = Math.max;\nfunction aL(e, i, r, o, l, d, u, m) {\n var h = i & rL;\n if (!h && typeof e != "function")\n throw new TypeError(iL);\n var b = o ? o.length : 0;\n if (b || (i &= ~(vs | l2), o = l = void 0), u = u === void 0 ? u : d2(o2(u), 0), m = m === void 0 ? m : o2(m), b -= l ? l.length : 0, i & l2) {\n var v = o, g = l;\n o = l = void 0;\n }\n var w = h ? void 0 : QP(e), B = [\n e,\n i,\n r,\n o,\n l,\n v,\n g,\n d,\n u,\n m\n ];\n if (w && eL(B, w), e = B[0], i = B[1], r = B[2], o = B[3], l = B[4], m = B[9] = B[9] === void 0 ? h ? 0 : e.length : d2(B[9] - b, 0), !m && i & (ms | hs) && (i &= ~(ms | hs)), !i || i == s2)\n var D = ZP(e, i, r);\n else\n i == ms || i == hs ? D = YP(e, i, m) : (i == vs || i == (s2 | vs)) && !l.length ? D = XP(e, i, r, o) : D = JP.apply(void 0, B);\n var I = w ? KP : tL;\n return nL(I(D, B), e, i);\n}\nvar Fl = aL, oL = Fl, sL = 128;\nfunction lL(e, i, r) {\n return i = r ? void 0 : i, i = e && i == null ? e.length : i, oL(e, sL, void 0, void 0, void 0, void 0, i);\n}\nvar dL = lL, cL = Mi, uL = Ri;\nfunction pL(e, i) {\n return e && cL(i, uL(i), e);\n}\nvar Ym = pL, fL = Mi, mL = $i;\nfunction hL(e, i) {\n return e && fL(i, mL(i), e);\n}\nvar vL = hL;\nfunction gL(e, i) {\n for (var r = -1, o = e == null ? 0 : e.length, l = 0, d = []; ++r < o; ) {\n var u = e[r];\n i(u, r, e) && (d[l++] = u);\n }\n return d;\n}\nvar bL = gL;\nfunction CL() {\n return [];\n}\nvar Jm = CL, yL = bL, AL = Jm, kL = Object.prototype, wL = kL.propertyIsEnumerable, c2 = Object.getOwnPropertySymbols, _L = c2 ? function(e) {\n return e == null ? [] : (e = Object(e), yL(c2(e), function(i) {\n return wL.call(e, i);\n }));\n} : AL, $l = _L, EL = Mi, TL = $l;\nfunction SL(e, i) {\n return EL(e, TL(e), i);\n}\nvar xL = SL, gs, u2;\nfunction Rl() {\n if (u2)\n return gs;\n u2 = 1;\n function e(i, r) {\n for (var o = -1, l = r.length, d = i.length; ++o < l; )\n i[d + o] = r[o];\n return i;\n }\n return gs = e, gs;\n}\nvar zL = Rl(), DL = Tl, BL = $l, IL = Jm, jL = Object.getOwnPropertySymbols, PL = jL ? function(e) {\n for (var i = []; e; )\n zL(i, BL(e)), e = DL(e);\n return i;\n} : IL, Xm = PL, LL = Mi, OL = Xm;\nfunction ML(e, i) {\n return LL(e, OL(e), i);\n}\nvar FL = ML, $L = Rl(), RL = Pe;\nfunction NL(e, i, r) {\n var o = i(e);\n return RL(e) ? o : $L(o, r(e));\n}\nvar Qm = NL, WL = Qm, UL = $l, HL = Ri;\nfunction GL(e) {\n return WL(e, HL, UL);\n}\nvar eh = GL, VL = Qm, qL = Xm, KL = $i;\nfunction ZL(e) {\n return VL(e, KL, qL);\n}\nvar YL = ZL, JL = wn, XL = Ye, QL = JL(XL, "DataView"), eO = QL, tO = wn, nO = Ye, iO = tO(nO, "Promise"), rO = iO, bs, p2;\nfunction th() {\n if (p2)\n return bs;\n p2 = 1;\n var e = wn, i = Ye, r = e(i, "Set");\n return bs = r, bs;\n}\nvar ol = eO, sl = wl, ll = rO, dl = th(), cl = Pm, nh = kn, ii = lm, f2 = "[object Map]", aO = "[object Object]", m2 = "[object Promise]", h2 = "[object Set]", v2 = "[object WeakMap]", g2 = "[object DataView]", oO = ii(ol), sO = ii(sl), lO = ii(ll), dO = ii(dl), cO = ii(cl), hn = nh;\n(ol && hn(new ol(new ArrayBuffer(1))) != g2 || sl && hn(new sl()) != f2 || ll && hn(ll.resolve()) != m2 || dl && hn(new dl()) != h2 || cl && hn(new cl()) != v2) && (hn = function(e) {\n var i = nh(e), r = i == aO ? e.constructor : void 0, o = r ? ii(r) : "";\n if (o)\n switch (o) {\n case oO:\n return g2;\n case sO:\n return f2;\n case lO:\n return m2;\n case dO:\n return h2;\n case cO:\n return v2;\n }\n return i;\n});\nvar Wi = hn, uO = Object.prototype, pO = uO.hasOwnProperty;\nfunction fO(e) {\n var i = e.length, r = new e.constructor(i);\n return i && typeof e[0] == "string" && pO.call(e, "index") && (r.index = e.index, r.input = e.input), r;\n}\nvar mO = fO, hO = El;\nfunction vO(e, i) {\n var r = i ? hO(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.byteLength);\n}\nvar gO = vO, bO = /\\w*$/;\nfunction CO(e) {\n var i = new e.constructor(e.source, bO.exec(e));\n return i.lastIndex = e.lastIndex, i;\n}\nvar yO = CO, b2 = Zn(), C2 = b2 ? b2.prototype : void 0, y2 = C2 ? C2.valueOf : void 0;\nfunction AO(e) {\n return y2 ? Object(y2.call(e)) : {};\n}\nvar kO = AO, wO = El, _O = gO, EO = yO, TO = kO, SO = fm, xO = "[object Boolean]", zO = "[object Date]", DO = "[object Map]", BO = "[object Number]", IO = "[object RegExp]", jO = "[object Set]", PO = "[object String]", LO = "[object Symbol]", OO = "[object ArrayBuffer]", MO = "[object DataView]", FO = "[object Float32Array]", $O = "[object Float64Array]", RO = "[object Int8Array]", NO = "[object Int16Array]", WO = "[object Int32Array]", UO = "[object Uint8Array]", HO = "[object Uint8ClampedArray]", GO = "[object Uint16Array]", VO = "[object Uint32Array]";\nfunction qO(e, i, r) {\n var o = e.constructor;\n switch (i) {\n case OO:\n return wO(e);\n case xO:\n case zO:\n return new o(+e);\n case MO:\n return _O(e, r);\n case FO:\n case $O:\n case RO:\n case NO:\n case WO:\n case UO:\n case HO:\n case GO:\n case VO:\n return SO(e, r);\n case DO:\n return new o();\n case BO:\n case PO:\n return new o(e);\n case IO:\n return EO(e);\n case jO:\n return new o();\n case LO:\n return TO(e);\n }\n}\nvar KO = qO, ZO = Wi, YO = mt, JO = "[object Map]";\nfunction XO(e) {\n return YO(e) && ZO(e) == JO;\n}\nvar QO = XO, eM = QO, tM = ia(), A2 = Bi.exports, k2 = A2 && A2.isMap, nM = k2 ? tM(k2) : eM, iM = nM, rM = Wi, aM = mt, oM = "[object Set]";\nfunction sM(e) {\n return aM(e) && rM(e) == oM;\n}\nvar lM = sM, dM = lM, cM = ia(), w2 = Bi.exports, _2 = w2 && w2.isSet, uM = _2 ? cM(_2) : dM, pM = uM, fM = Qr, mM = sa, hM = Dl, vM = Ym, gM = vL, bM = Wr.exports, CM = Oi, yM = xL, AM = FL, kM = eh, wM = YL, _M = Wi, EM = mO, TM = KO, SM = hm, xM = Pe, zM = Gn.exports, DM = iM, BM = ft, IM = pM, jM = Ri, PM = $i, LM = 1, OM = 2, MM = 4, ih = "[object Arguments]", FM = "[object Array]", $M = "[object Boolean]", RM = "[object Date]", NM = "[object Error]", rh = "[object Function]", WM = "[object GeneratorFunction]", UM = "[object Map]", HM = "[object Number]", ah = "[object Object]", GM = "[object RegExp]", VM = "[object Set]", qM = "[object String]", KM = "[object Symbol]", ZM = "[object WeakMap]", YM = "[object ArrayBuffer]", JM = "[object DataView]", XM = "[object Float32Array]", QM = "[object Float64Array]", eF = "[object Int8Array]", tF = "[object Int16Array]", nF = "[object Int32Array]", iF = "[object Uint8Array]", rF = "[object Uint8ClampedArray]", aF = "[object Uint16Array]", oF = "[object Uint32Array]", pe = {};\npe[ih] = pe[FM] = pe[YM] = pe[JM] = pe[$M] = pe[RM] = pe[XM] = pe[QM] = pe[eF] = pe[tF] = pe[nF] = pe[UM] = pe[HM] = pe[ah] = pe[GM] = pe[VM] = pe[qM] = pe[KM] = pe[iF] = pe[rF] = pe[aF] = pe[oF] = !0;\npe[NM] = pe[rh] = pe[ZM] = !1;\nfunction Rr(e, i, r, o, l, d) {\n var u, m = i & LM, h = i & OM, b = i & MM;\n if (r && (u = l ? r(e, o, l, d) : r(e)), u !== void 0)\n return u;\n if (!BM(e))\n return e;\n var v = xM(e);\n if (v) {\n if (u = EM(e), !m)\n return CM(e, u);\n } else {\n var g = _M(e), w = g == rh || g == WM;\n if (zM(e))\n return bM(e, m);\n if (g == ah || g == ih || w && !l) {\n if (u = h || w ? {} : SM(e), !m)\n return h ? AM(e, gM(u, e)) : yM(e, vM(u, e));\n } else {\n if (!pe[g])\n return l ? e : {};\n u = TM(e, g, m);\n }\n }\n d || (d = new fM());\n var B = d.get(e);\n if (B)\n return B;\n d.set(e, u), IM(e) ? e.forEach(function(x) {\n u.add(Rr(x, i, r, x, e, d));\n }) : DM(e) && e.forEach(function(x, j) {\n u.set(j, Rr(x, i, r, j, e, d));\n });\n var D = b ? h ? wM : kM : h ? PM : jM, I = v ? void 0 : D(e);\n return mM(I || e, function(x, j) {\n I && (j = x, x = e[j]), hM(u, j, Rr(x, i, r, j, e, d));\n }), u;\n}\nvar oh = Rr, sF = oh, lF = 4;\nfunction dF(e) {\n return sF(e, lF);\n}\nvar cF = dF, uF = Fl, pF = 8;\nfunction Nl(e, i, r) {\n i = r ? void 0 : i;\n var o = uF(e, pF, void 0, void 0, void 0, void 0, void 0, i);\n return o.placeholder = Nl.placeholder, o;\n}\nNl.placeholder = {};\nvar fF = Nl, mF = kn, hF = mt, vF = bm, gF = "[object DOMException]", bF = "[object Error]";\nfunction CF(e) {\n if (!hF(e))\n return !1;\n var i = mF(e);\n return i == bF || i == gF || typeof e.message == "string" && typeof e.name == "string" && !vF(e);\n}\nvar yF = CF, AF = Wi, kF = mt, wF = "[object WeakMap]";\nfunction _F(e) {\n return kF(e) && AF(e) == wF;\n}\nvar EF = _F, Cs, E2;\nfunction TF() {\n if (E2)\n return Cs;\n E2 = 1;\n var e = "__lodash_hash_undefined__";\n function i(r) {\n return this.__data__.set(r, e), this;\n }\n return Cs = i, Cs;\n}\nvar ys, T2;\nfunction SF() {\n if (T2)\n return ys;\n T2 = 1;\n function e(i) {\n return this.__data__.has(i);\n }\n return ys = e, ys;\n}\nvar As, S2;\nfunction sh() {\n if (S2)\n return As;\n S2 = 1;\n var e = _l, i = TF(), r = SF();\n function o(l) {\n var d = -1, u = l == null ? 0 : l.length;\n for (this.__data__ = new e(); ++d < u; )\n this.add(l[d]);\n }\n return o.prototype.add = o.prototype.push = i, o.prototype.has = r, As = o, As;\n}\nfunction xF(e, i) {\n for (var r = -1, o = e == null ? 0 : e.length; ++r < o; )\n if (i(e[r], r, e))\n return !0;\n return !1;\n}\nvar zF = xF, ks, x2;\nfunction lh() {\n if (x2)\n return ks;\n x2 = 1;\n function e(i, r) {\n return i.has(r);\n }\n return ks = e, ks;\n}\nvar DF = sh(), BF = zF, IF = lh(), jF = 1, PF = 2;\nfunction LF(e, i, r, o, l, d) {\n var u = r & jF, m = e.length, h = i.length;\n if (m != h && !(u && h > m))\n return !1;\n var b = d.get(e), v = d.get(i);\n if (b && v)\n return b == i && v == e;\n var g = -1, w = !0, B = r & PF ? new DF() : void 0;\n for (d.set(e, i), d.set(i, e); ++g < m; ) {\n var D = e[g], I = i[g];\n if (o)\n var x = u ? o(I, D, g, i, e, d) : o(D, I, g, e, i, d);\n if (x !== void 0) {\n if (x)\n continue;\n w = !1;\n break;\n }\n if (B) {\n if (!BF(i, function(j, M) {\n if (!IF(B, M) && (D === j || l(D, j, r, o, d)))\n return B.push(M);\n })) {\n w = !1;\n break;\n }\n } else if (!(D === I || l(D, I, r, o, d))) {\n w = !1;\n break;\n }\n }\n return d.delete(e), d.delete(i), w;\n}\nvar dh = LF;\nfunction OF(e) {\n var i = -1, r = Array(e.size);\n return e.forEach(function(o, l) {\n r[++i] = [l, o];\n }), r;\n}\nvar MF = OF, ws, z2;\nfunction Wl() {\n if (z2)\n return ws;\n z2 = 1;\n function e(i) {\n var r = -1, o = Array(i.size);\n return i.forEach(function(l) {\n o[++r] = l;\n }), o;\n }\n return ws = e, ws;\n}\nvar D2 = Zn(), B2 = pm, FF = Li, $F = dh, RF = MF, NF = Wl(), WF = 1, UF = 2, HF = "[object Boolean]", GF = "[object Date]", VF = "[object Error]", qF = "[object Map]", KF = "[object Number]", ZF = "[object RegExp]", YF = "[object Set]", JF = "[object String]", XF = "[object Symbol]", QF = "[object ArrayBuffer]", e$ = "[object DataView]", I2 = D2 ? D2.prototype : void 0, _s = I2 ? I2.valueOf : void 0;\nfunction t$(e, i, r, o, l, d, u) {\n switch (r) {\n case e$:\n if (e.byteLength != i.byteLength || e.byteOffset != i.byteOffset)\n return !1;\n e = e.buffer, i = i.buffer;\n case QF:\n return !(e.byteLength != i.byteLength || !d(new B2(e), new B2(i)));\n case HF:\n case GF:\n case KF:\n return FF(+e, +i);\n case VF:\n return e.name == i.name && e.message == i.message;\n case ZF:\n case JF:\n return e == i + "";\n case qF:\n var m = RF;\n case YF:\n var h = o & WF;\n if (m || (m = NF), e.size != i.size && !h)\n return !1;\n var b = u.get(e);\n if (b)\n return b == i;\n o |= UF, u.set(e, i);\n var v = $F(m(e), m(i), o, l, d, u);\n return u.delete(e), v;\n case XF:\n if (_s)\n return _s.call(e) == _s.call(i);\n }\n return !1;\n}\nvar n$ = t$, j2 = eh, i$ = 1, r$ = Object.prototype, a$ = r$.hasOwnProperty;\nfunction o$(e, i, r, o, l, d) {\n var u = r & i$, m = j2(e), h = m.length, b = j2(i), v = b.length;\n if (h != v && !u)\n return !1;\n for (var g = h; g--; ) {\n var w = m[g];\n if (!(u ? w in i : a$.call(i, w)))\n return !1;\n }\n var B = d.get(e), D = d.get(i);\n if (B && D)\n return B == i && D == e;\n var I = !0;\n d.set(e, i), d.set(i, e);\n for (var x = u; ++g < h; ) {\n w = m[g];\n var j = e[w], M = i[w];\n if (o)\n var W = u ? o(M, j, w, i, e, d) : o(j, M, w, e, i, d);\n if (!(W === void 0 ? j === M || l(j, M, r, o, d) : W)) {\n I = !1;\n break;\n }\n x || (x = w == "constructor");\n }\n if (I && !x) {\n var K = e.constructor, re = i.constructor;\n K != re && "constructor" in e && "constructor" in i && !(typeof K == "function" && K instanceof K && typeof re == "function" && re instanceof re) && (I = !1);\n }\n return d.delete(e), d.delete(i), I;\n}\nvar s$ = o$, Es = Qr, l$ = dh, d$ = n$, c$ = s$, P2 = Wi, L2 = Pe, O2 = Gn.exports, u$ = zl, p$ = 1, M2 = "[object Arguments]", F2 = "[object Array]", Mr = "[object Object]", f$ = Object.prototype, $2 = f$.hasOwnProperty;\nfunction m$(e, i, r, o, l, d) {\n var u = L2(e), m = L2(i), h = u ? F2 : P2(e), b = m ? F2 : P2(i);\n h = h == M2 ? Mr : h, b = b == M2 ? Mr : b;\n var v = h == Mr, g = b == Mr, w = h == b;\n if (w && O2(e)) {\n if (!O2(i))\n return !1;\n u = !0, v = !1;\n }\n if (w && !v)\n return d || (d = new Es()), u || u$(e) ? l$(e, i, r, o, l, d) : d$(e, i, h, r, o, l, d);\n if (!(r & p$)) {\n var B = v && $2.call(e, "__wrapped__"), D = g && $2.call(i, "__wrapped__");\n if (B || D) {\n var I = B ? e.value() : e, x = D ? i.value() : i;\n return d || (d = new Es()), l(I, x, r, o, d);\n }\n }\n return w ? (d || (d = new Es()), c$(e, i, r, o, l, d)) : !1;\n}\nvar h$ = m$, v$ = h$, R2 = mt;\nfunction ch(e, i, r, o, l) {\n return e === i ? !0 : e == null || i == null || !R2(e) && !R2(i) ? e !== e && i !== i : v$(e, i, r, o, ch, l);\n}\nvar uh = ch, g$ = Qr, b$ = uh, C$ = 1, y$ = 2;\nfunction A$(e, i, r, o) {\n var l = r.length, d = l, u = !o;\n if (e == null)\n return !d;\n for (e = Object(e); l--; ) {\n var m = r[l];\n if (u && m[2] ? m[1] !== e[m[0]] : !(m[0] in e))\n return !1;\n }\n for (; ++l < d; ) {\n m = r[l];\n var h = m[0], b = e[h], v = m[1];\n if (u && m[2]) {\n if (b === void 0 && !(h in e))\n return !1;\n } else {\n var g = new g$();\n if (o)\n var w = o(b, v, h, e, i, g);\n if (!(w === void 0 ? b$(v, b, C$ | y$, o, g) : w))\n return !1;\n }\n }\n return !0;\n}\nvar k$ = A$, w$ = ft;\nfunction _$(e) {\n return e === e && !w$(e);\n}\nvar ph = _$, E$ = ph, T$ = Ri;\nfunction S$(e) {\n for (var i = T$(e), r = i.length; r--; ) {\n var o = i[r], l = e[o];\n i[r] = [o, l, E$(l)];\n }\n return i;\n}\nvar x$ = S$;\nfunction z$(e, i) {\n return function(r) {\n return r == null ? !1 : r[e] === i && (i !== void 0 || e in Object(r));\n };\n}\nvar fh = z$, D$ = k$, B$ = x$, I$ = fh;\nfunction j$(e) {\n var i = B$(e);\n return i.length == 1 && i[0][2] ? I$(i[0][0], i[0][1]) : function(r) {\n return r === e || D$(r, e, i);\n };\n}\nvar P$ = j$, L$ = Pe, O$ = ni, M$ = /\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, F$ = /^\\w*$/;\nfunction $$(e, i) {\n if (L$(e))\n return !1;\n var r = typeof e;\n return r == "number" || r == "symbol" || r == "boolean" || e == null || O$(e) ? !0 : F$.test(e) || !M$.test(e) || i != null && e in Object(i);\n}\nvar Ul = $$, mh = _l, R$ = "Expected a function";\nfunction Hl(e, i) {\n if (typeof e != "function" || i != null && typeof i != "function")\n throw new TypeError(R$);\n var r = function() {\n var o = arguments, l = i ? i.apply(this, o) : o[0], d = r.cache;\n if (d.has(l))\n return d.get(l);\n var u = e.apply(this, o);\n return r.cache = d.set(l, u) || d, u;\n };\n return r.cache = new (Hl.Cache || mh)(), r;\n}\nHl.Cache = mh;\nvar N$ = Hl, W$ = N$, U$ = 500;\nfunction H$(e) {\n var i = W$(e, function(o) {\n return r.size === U$ && r.clear(), o;\n }), r = i.cache;\n return i;\n}\nvar G$ = H$, V$ = G$, q$ = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, K$ = /\\\\(\\\\)?/g, Z$ = V$(function(e) {\n var i = [];\n return e.charCodeAt(0) === 46 && i.push(""), e.replace(q$, function(r, o, l, d) {\n i.push(l ? d.replace(K$, "$1") : o || r);\n }), i;\n}), hh = Z$, Ts, N2;\nfunction Gl() {\n if (N2)\n return Ts;\n N2 = 1;\n function e(i, r) {\n for (var o = -1, l = i == null ? 0 : i.length, d = Array(l); ++o < l; )\n d[o] = r(i[o], o, i);\n return d;\n }\n return Ts = e, Ts;\n}\nvar W2 = Zn(), Y$ = Gl(), J$ = Pe, X$ = ni, Q$ = 1 / 0, U2 = W2 ? W2.prototype : void 0, H2 = U2 ? U2.toString : void 0;\nfunction vh(e) {\n if (typeof e == "string")\n return e;\n if (J$(e))\n return Y$(e, vh) + "";\n if (X$(e))\n return H2 ? H2.call(e) : "";\n var i = e + "";\n return i == "0" && 1 / e == -Q$ ? "-0" : i;\n}\nvar eR = vh, tR = eR;\nfunction nR(e) {\n return e == null ? "" : tR(e);\n}\nvar gh = nR, iR = Pe, rR = Ul, aR = hh, oR = gh;\nfunction sR(e, i) {\n return iR(e) ? e : rR(e, i) ? [e] : aR(oR(e));\n}\nvar Vl = sR, lR = ni, dR = 1 / 0;\nfunction cR(e) {\n if (typeof e == "string" || lR(e))\n return e;\n var i = e + "";\n return i == "0" && 1 / e == -dR ? "-0" : i;\n}\nvar ri = cR, Ss, G2;\nfunction ql() {\n if (G2)\n return Ss;\n G2 = 1;\n var e = Vl, i = ri;\n function r(o, l) {\n l = e(l, o);\n for (var d = 0, u = l.length; o != null && d < u; )\n o = o[i(l[d++])];\n return d && d == u ? o : void 0;\n }\n return Ss = r, Ss;\n}\nvar uR = ql();\nfunction pR(e, i, r) {\n var o = e == null ? void 0 : uR(e, i);\n return o === void 0 ? r : o;\n}\nvar fR = pR;\nfunction mR(e, i) {\n return e != null && i in Object(e);\n}\nvar hR = mR, vR = Vl, gR = na, bR = Pe, CR = Fi, yR = xl, AR = ri;\nfunction kR(e, i, r) {\n i = vR(i, e);\n for (var o = -1, l = i.length, d = !1; ++o < l; ) {\n var u = AR(i[o]);\n if (!(d = e != null && r(e, u)))\n break;\n e = e[u];\n }\n return d || ++o != l ? d : (l = e == null ? 0 : e.length, !!l && yR(l) && CR(u, l) && (bR(e) || gR(e)));\n}\nvar wR = kR, _R = hR, ER = wR;\nfunction TR(e, i) {\n return e != null && ER(e, i, _R);\n}\nvar SR = TR, xR = uh, zR = fR, DR = SR, BR = Ul, IR = ph, jR = fh, PR = ri, LR = 1, OR = 2;\nfunction MR(e, i) {\n return BR(e) && IR(i) ? jR(PR(e), i) : function(r) {\n var o = zR(r, e);\n return o === void 0 && o === i ? DR(r, e) : xR(i, o, LR | OR);\n };\n}\nvar FR = MR;\nfunction $R(e) {\n return function(i) {\n return i == null ? void 0 : i[e];\n };\n}\nvar RR = $R, NR = ql();\nfunction WR(e) {\n return function(i) {\n return NR(i, e);\n };\n}\nvar UR = WR, HR = RR, GR = UR, VR = Ul, qR = ri;\nfunction KR(e) {\n return VR(e) ? HR(qR(e)) : GR(e);\n}\nvar ZR = KR, YR = P$, JR = FR, XR = ei, QR = Pe, e6 = ZR;\nfunction t6(e) {\n return typeof e == "function" ? e : e == null ? XR : typeof e == "object" ? QR(e) ? JR(e[0], e[1]) : YR(e) : e6(e);\n}\nvar da = t6, n6 = oh, i6 = da, r6 = 1;\nfunction a6(e) {\n return i6(typeof e == "function" ? e : n6(e, r6));\n}\nvar o6 = a6, xs, V2;\nfunction s6() {\n if (V2)\n return xs;\n V2 = 1;\n var e = Zn(), i = na, r = Pe, o = e ? e.isConcatSpreadable : void 0;\n function l(d) {\n return r(d) || i(d) || !!(o && d && d[o]);\n }\n return xs = l, xs;\n}\nvar zs, q2;\nfunction bh() {\n if (q2)\n return zs;\n q2 = 1;\n var e = Rl(), i = s6();\n function r(o, l, d, u, m) {\n var h = -1, b = o.length;\n for (d || (d = i), m || (m = []); ++h < b; ) {\n var v = o[h];\n l > 0 && d(v) ? l > 1 ? r(v, l - 1, d, u, m) : e(m, v) : u || (m[m.length] = v);\n }\n return m;\n }\n return zs = r, zs;\n}\nvar Ds, K2;\nfunction l6() {\n if (K2)\n return Ds;\n K2 = 1;\n var e = bh();\n function i(r) {\n var o = r == null ? 0 : r.length;\n return o ? e(r, 1) : [];\n }\n return Ds = i, Ds;\n}\nvar Bs, Z2;\nfunction Ch() {\n if (Z2)\n return Bs;\n Z2 = 1;\n var e = l6(), i = km, r = Il;\n function o(l) {\n return r(i(l, void 0, e), l + "");\n }\n return Bs = o, Bs;\n}\nvar d6 = Fl, c6 = Ch(), u6 = 256, p6 = c6(function(e, i) {\n return d6(e, u6, void 0, void 0, void 0, i);\n}), f6 = p6, m6 = Gl(), h6 = Oi, v6 = Pe, g6 = ni, b6 = hh, C6 = ri, y6 = gh;\nfunction A6(e) {\n return v6(e) ? m6(e, C6) : g6(e) ? [e] : h6(b6(y6(e)));\n}\nvar k6 = A6, w6 = {\n ary: dL,\n assign: Ym,\n clone: cF,\n curry: fF,\n forEach: sa,\n isArray: Pe,\n isError: yF,\n isFunction: Yr,\n isWeakMap: EF,\n iteratee: o6,\n keys: Dm,\n rearg: f6,\n toInteger: Zm,\n toPath: k6\n}, _6 = _I, E6 = w6;\nfunction T6(e, i, r) {\n return _6(E6, e, i, r);\n}\nvar ca = T6, Is, Y2;\nfunction S6() {\n if (Y2)\n return Is;\n Y2 = 1;\n function e(i) {\n for (var r = -1, o = i == null ? 0 : i.length, l = 0, d = []; ++r < o; ) {\n var u = i[r];\n u && (d[l++] = u);\n }\n return d;\n }\n return Is = e, Is;\n}\nvar js, J2;\nfunction x6() {\n return J2 || (J2 = 1, js = {\n cap: !1,\n curry: !1,\n fixed: !1,\n immutable: !1,\n rearg: !1\n }), js;\n}\nvar z6 = ca, yh = z6("compact", S6(), x6());\nyh.placeholder = Ni();\nvar D6 = yh, Ps, X2;\nfunction B6() {\n if (X2)\n return Ps;\n X2 = 1;\n var e = Ol(), i = Ch(), r = Ll(), o = Rm(), l = Pe, d = Nm(), u = "Expected a function", m = 8, h = 32, b = 128, v = 256;\n function g(w) {\n return i(function(B) {\n var D = B.length, I = D, x = e.prototype.thru;\n for (w && B.reverse(); I--; ) {\n var j = B[I];\n if (typeof j != "function")\n throw new TypeError(u);\n if (x && !M && o(j) == "wrapper")\n var M = new e([], !0);\n }\n for (I = M ? I : D; ++I < D; ) {\n j = B[I];\n var W = o(j), K = W == "wrapper" ? r(j) : void 0;\n K && d(K[0]) && K[1] == (b | m | h | v) && !K[4].length && K[9] == 1 ? M = M[o(K[0])].apply(M, K[3]) : M = j.length == 1 && d(j) ? M[W]() : M.thru(j);\n }\n return function() {\n var re = arguments, de = re[0];\n if (M && re.length == 1 && l(de))\n return M.plant(de).value();\n for (var ge = 0, xe = D ? B[ge].apply(this, re) : de; ++ge < D; )\n xe = B[ge].call(this, xe);\n return xe;\n };\n });\n }\n return Ps = g, Ps;\n}\nvar Ls, Q2;\nfunction I6() {\n if (Q2)\n return Ls;\n Q2 = 1;\n var e = B6(), i = e();\n return Ls = i, Ls;\n}\nvar j6 = ca, Ah = j6("flow", I6());\nAh.placeholder = Ni();\nvar P6 = Ah, Os, ef;\nfunction L6() {\n if (ef)\n return Os;\n ef = 1;\n var e = Im, i = Qn;\n function r(o, l) {\n var d = -1, u = i(o) ? Array(o.length) : [];\n return e(o, function(m, h, b) {\n u[++d] = l(m, h, b);\n }), u;\n }\n return Os = r, Os;\n}\nvar Ms, tf;\nfunction O6() {\n if (tf)\n return Ms;\n tf = 1;\n function e(i, r) {\n var o = i.length;\n for (i.sort(r); o--; )\n i[o] = i[o].value;\n return i;\n }\n return Ms = e, Ms;\n}\nvar Fs, nf;\nfunction M6() {\n if (nf)\n return Fs;\n nf = 1;\n var e = ni;\n function i(r, o) {\n if (r !== o) {\n var l = r !== void 0, d = r === null, u = r === r, m = e(r), h = o !== void 0, b = o === null, v = o === o, g = e(o);\n if (!b && !g && !m && r > o || m && h && v && !b && !g || d && h && v || !l && v || !u)\n return 1;\n if (!d && !m && !g && r < o || g && l && u && !d && !m || b && l && u || !h && u || !v)\n return -1;\n }\n return 0;\n }\n return Fs = i, Fs;\n}\nvar $s, rf;\nfunction F6() {\n if (rf)\n return $s;\n rf = 1;\n var e = M6();\n function i(r, o, l) {\n for (var d = -1, u = r.criteria, m = o.criteria, h = u.length, b = l.length; ++d < h; ) {\n var v = e(u[d], m[d]);\n if (v) {\n if (d >= b)\n return v;\n var g = l[d];\n return v * (g == "desc" ? -1 : 1);\n }\n }\n return r.index - o.index;\n }\n return $s = i, $s;\n}\nvar Rs, af;\nfunction $6() {\n if (af)\n return Rs;\n af = 1;\n var e = Gl(), i = ql(), r = da, o = L6(), l = O6(), d = ia(), u = F6(), m = ei, h = Pe;\n function b(v, g, w) {\n g.length ? g = e(g, function(I) {\n return h(I) ? function(x) {\n return i(x, I.length === 1 ? I[0] : I);\n } : I;\n }) : g = [m];\n var B = -1;\n g = e(g, d(r));\n var D = o(v, function(I, x, j) {\n var M = e(g, function(W) {\n return W(I);\n });\n return { criteria: M, index: ++B, value: I };\n });\n return l(D, function(I, x) {\n return u(I, x, w);\n });\n }\n return Rs = b, Rs;\n}\nvar Ns, of;\nfunction R6() {\n if (of)\n return Ns;\n of = 1;\n var e = bh(), i = $6(), r = _m, o = Em, l = r(function(d, u) {\n if (d == null)\n return [];\n var m = u.length;\n return m > 1 && o(d, u[0], u[1]) ? u = [] : m > 2 && o(u[0], u[1], u[2]) && (u = [u[0]]), i(d, e(u, 1), []);\n });\n return Ns = l, Ns;\n}\nvar N6 = ca, kh = N6("sortBy", R6());\nkh.placeholder = Ni();\nvar W6 = kh, Ws, sf;\nfunction U6() {\n if (sf)\n return Ws;\n sf = 1;\n function e(i, r, o) {\n for (var l = -1, d = i == null ? 0 : i.length; ++l < d; )\n if (o(r, i[l]))\n return !0;\n return !1;\n }\n return Ws = e, Ws;\n}\nvar Us, lf;\nfunction H6() {\n if (lf)\n return Us;\n lf = 1;\n var e = th(), i = $m(), r = Wl(), o = 1 / 0, l = e && 1 / r(new e([, -0]))[1] == o ? function(d) {\n return new e(d);\n } : i;\n return Us = l, Us;\n}\nvar Hs, df;\nfunction G6() {\n if (df)\n return Hs;\n df = 1;\n var e = sh(), i = Um(), r = U6(), o = lh(), l = H6(), d = Wl(), u = 200;\n function m(h, b, v) {\n var g = -1, w = i, B = h.length, D = !0, I = [], x = I;\n if (v)\n D = !1, w = r;\n else if (B >= u) {\n var j = b ? null : l(h);\n if (j)\n return d(j);\n D = !1, w = o, x = new e();\n } else\n x = b ? [] : I;\n e:\n for (; ++g < B; ) {\n var M = h[g], W = b ? b(M) : M;\n if (M = v || M !== 0 ? M : 0, D && W === W) {\n for (var K = x.length; K--; )\n if (x[K] === W)\n continue e;\n b && x.push(W), I.push(M);\n } else\n w(x, W, v) || (x !== I && x.push(W), I.push(M));\n }\n return I;\n }\n return Hs = m, Hs;\n}\nvar Gs, cf;\nfunction V6() {\n if (cf)\n return Gs;\n cf = 1;\n var e = da, i = G6();\n function r(o, l) {\n return o && o.length ? i(o, e(l)) : [];\n }\n return Gs = r, Gs;\n}\nvar q6 = ca, wh = q6("uniqBy", V6());\nwh.placeholder = Ni();\nvar K6 = wh, Z6 = ea, Y6 = Bm, J6 = da;\nfunction X6(e, i) {\n var r = {};\n return i = J6(i), Y6(e, function(o, l, d) {\n Z6(r, i(o, l, d), o);\n }), r;\n}\nvar Q6 = X6, eN = Dl, tN = Vl, nN = Fi, uf = ft, iN = ri;\nfunction rN(e, i, r, o) {\n if (!uf(e))\n return e;\n i = tN(i, e);\n for (var l = -1, d = i.length, u = d - 1, m = e; m != null && ++l < d; ) {\n var h = iN(i[l]), b = r;\n if (h === "__proto__" || h === "constructor" || h === "prototype")\n return e;\n if (l != u) {\n var v = m[h];\n b = o ? o(v, h, m) : void 0, b === void 0 && (b = uf(v) ? v : nN(i[l + 1]) ? [] : {});\n }\n eN(m, h, b), m = m[h];\n }\n return e;\n}\nvar aN = rN, oN = aN;\nfunction sN(e, i, r) {\n return e == null ? e : oN(e, i, r);\n}\nvar pf = sN, lN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Byly upraveny vlastnosti, jako je tón, sytost, křivky, stíny nebo světla",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Úpravy barev nebo expozice",\n "selectors.editsAndActivity.c2pa.converted.description": "Formát datového zdroje byl změněn",\n "selectors.editsAndActivity.c2pa.converted.label": "Převedený datový zdroj",\n "selectors.editsAndActivity.c2pa.created.description": "Byl vytvořen nový soubor nebo obsah",\n "selectors.editsAndActivity.c2pa.created.label": "Vytvořeno",\n "selectors.editsAndActivity.c2pa.cropped.description": "Byly použity nástroje pro oříznutí, zmenšení nebo rozšíření viditelné oblasti obsahu",\n "selectors.editsAndActivity.c2pa.cropped.label": "Úpravy oříznutí",\n "selectors.editsAndActivity.c2pa.deleted.description": "Odstraněné vizuální oblasti nebo doby trvání obsahu",\n "selectors.editsAndActivity.c2pa.deleted.label": "Odstraněný obsah",\n "selectors.editsAndActivity.c2pa.drawing.description": "Byly použity nástroje, jako jsou tužky, štětce, gumy nebo nástroje tvar, cesta nebo pero",\n "selectors.editsAndActivity.c2pa.drawing.label": "Úpravy kresby",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Nahrazený zvuk",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dublováno",\n "selectors.editsAndActivity.c2pa.edited.description": "Byly provedeny další změny",\n "selectors.editsAndActivity.c2pa.edited.label": "Další úpravy",\n "selectors.editsAndActivity.c2pa.filtered.description": "Byly použity nástroje, jako jsou filtry, styly nebo efekty, ke změně vzhledu",\n "selectors.editsAndActivity.c2pa.filtered.label": "Úpravy filtrů nebo stylů",\n "selectors.editsAndActivity.c2pa.opened.description": "Byl otevřen existující soubor",\n "selectors.editsAndActivity.c2pa.opened.label": "Otevřeno",\n "selectors.editsAndActivity.c2pa.orientation.description": "Byla změněna poloha nebo orientace (otočení, převrácení atd.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Orientace úpravy",\n "selectors.editsAndActivity.c2pa.placed.description": "Do tohoto souboru byl přidán existující obsah",\n "selectors.editsAndActivity.c2pa.placed.label": "Importováno",\n "selectors.editsAndActivity.c2pa.published.description": "Obdržený a distribuovaný obrázek",\n "selectors.editsAndActivity.c2pa.published.label": "Publikovaný obrázek",\n "selectors.editsAndActivity.c2pa.removed.description": "Ze souboru byl odstraněn jeden nebo více datových zdrojů",\n "selectors.editsAndActivity.c2pa.removed.label": "Datový zdroj byl odstraněn",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Datový zdroj byl přebalen, aniž by byl zpracován",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Přebalený datový zdroj",\n "selectors.editsAndActivity.c2pa.resized.description": "Byly změněny rozměry nebo velikost souboru",\n "selectors.editsAndActivity.c2pa.resized.label": "Změny velikosti",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Zpracování nebo komprimace datového zdroje za účelem optimalizace pro zobrazení",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Zpracovaný datový zdroj",\n "selectors.editsAndActivity.c2pa.translated.description": "Přeložený obsah",\n "selectors.editsAndActivity.c2pa.translated.label": "Přeloženo",\n "selectors.editsAndActivity.c2pa.unknown.description": "Byly provedeny další úpravy nebo aktivita, kterou nebylo možné rozpoznat",\n "selectors.editsAndActivity.c2pa.unknown.label": "Neznámé úpravy nebo aktivita",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Provedli změny v metadatech souboru",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Změny metadat"\n}, dN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Justerede egenskaber såsom tone, mætning, kurver, skygger eller fremhævninger",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Farve- eller eksponeringsredigeringer",\n "selectors.editsAndActivity.c2pa.converted.description": "Aktivets format blev ændret",\n "selectors.editsAndActivity.c2pa.converted.label": "Konverteret aktiv",\n "selectors.editsAndActivity.c2pa.created.description": "Oprettede en ny fil eller nyt indhold",\n "selectors.editsAndActivity.c2pa.created.label": "Oprettede",\n "selectors.editsAndActivity.c2pa.cropped.description": "Brugte beskæringsværktøjer til at reducere eller udvide synligt indholdsområde",\n "selectors.editsAndActivity.c2pa.cropped.label": "Beskæringsredigeringer",\n "selectors.editsAndActivity.c2pa.deleted.description": "Slettede visuelle områder eller varigheder af indhold",\n "selectors.editsAndActivity.c2pa.deleted.label": "Slettet indhold",\n "selectors.editsAndActivity.c2pa.drawing.description": "Brugte værktøjer såsom blyanter, pensler, viskelædere eller form-, sti- eller penneværktøjer",\n "selectors.editsAndActivity.c2pa.drawing.label": "Tegneredigeringer",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Erstattet lyd",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Tilnavn givet",\n "selectors.editsAndActivity.c2pa.edited.description": "Foretog andre ændringer",\n "selectors.editsAndActivity.c2pa.edited.label": "Andre redigeringer",\n "selectors.editsAndActivity.c2pa.filtered.description": "Brugte værktøjer såsom filtre, formater eller effekter til at ændre udseende",\n "selectors.editsAndActivity.c2pa.filtered.label": "Filter- eller formatredigeringer",\n "selectors.editsAndActivity.c2pa.opened.description": "Åbnede en allerede eksisterende fil",\n "selectors.editsAndActivity.c2pa.opened.label": "Åbnede",\n "selectors.editsAndActivity.c2pa.orientation.description": "Ændrede placering eller retning (roteret, vendt osv.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Retningsredigeringer",\n "selectors.editsAndActivity.c2pa.placed.description": "Føjede allerede eksisterende indhold til denne fil",\n "selectors.editsAndActivity.c2pa.placed.label": "Importerede",\n "selectors.editsAndActivity.c2pa.published.description": "Modtaget og distribueret billede",\n "selectors.editsAndActivity.c2pa.published.label": "Udgivet billede",\n "selectors.editsAndActivity.c2pa.removed.description": "Ét eller flere aktiver blev fjernet fra filen",\n "selectors.editsAndActivity.c2pa.removed.label": "Aktiv fjernet",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Aktivet blev ompakket uden at blive behandlet",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Ompakket aktiv",\n "selectors.editsAndActivity.c2pa.resized.description": "Ændrede dimensioner eller filstørrelse",\n "selectors.editsAndActivity.c2pa.resized.label": "Ændring af størrelse på redigeringer",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Behandlede eller komprimerede et aktiv for at optimere til visning",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Behandlet aktiv",\n "selectors.editsAndActivity.c2pa.translated.description": "Oversat indhold",\n "selectors.editsAndActivity.c2pa.translated.label": "Oversat",\n "selectors.editsAndActivity.c2pa.unknown.description": "Foretog andre redigeringer eller aktiviteter, der ikke kunne genkendes",\n "selectors.editsAndActivity.c2pa.unknown.label": "Ukendte redigeringer eller ukendt aktivitet",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Foretog ændringer af filmetadata",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Ændringer af metadata"\n}, cN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Angepasste Eigenschaften wie Farbton, Sättigung, Kurven, Schatten oder Glanzlichter",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Änderung von Farbe oder Belichtung",\n "selectors.editsAndActivity.c2pa.converted.description": "Das Format des Assets wurde geändert",\n "selectors.editsAndActivity.c2pa.converted.label": "Konvertiertes Asset",\n "selectors.editsAndActivity.c2pa.created.description": "Neue Datei oder neuen Inhalt erstellt",\n "selectors.editsAndActivity.c2pa.created.label": "Erstellt",\n "selectors.editsAndActivity.c2pa.cropped.description": "Verwendete Zuschneidewerkzeuge, Verkleinerung oder Erweiterung des sichtbaren Inhaltsbereichs",\n "selectors.editsAndActivity.c2pa.cropped.label": "Zuschneiden von Änderungen",\n "selectors.editsAndActivity.c2pa.deleted.description": "Gelöschte visuelle Bereiche oder Inhaltsdauern",\n "selectors.editsAndActivity.c2pa.deleted.label": "Gelöschter Inhalt",\n "selectors.editsAndActivity.c2pa.drawing.description": "Verwendete Werkzeuge wie Stifte, Pinsel, Radierer oder Form-, Pfad- oder Zeichenstift-Werkzeuge",\n "selectors.editsAndActivity.c2pa.drawing.label": "Zeichnungsänderungen",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Ersetztes Audio",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Synchronisiert",\n "selectors.editsAndActivity.c2pa.edited.description": "Vorgenommene sonstige Änderungen",\n "selectors.editsAndActivity.c2pa.edited.label": "Sonstige Änderungen",\n "selectors.editsAndActivity.c2pa.filtered.description": "Verwendete Tools wie Filter, Stile, Formate oder Effekte, die das Erscheinungsbild ändern",\n "selectors.editsAndActivity.c2pa.filtered.label": "Änderungen filtern oder gestalten",\n "selectors.editsAndActivity.c2pa.opened.description": "Vorhandene Datei geöffnet",\n "selectors.editsAndActivity.c2pa.opened.label": "Geöffnet",\n "selectors.editsAndActivity.c2pa.orientation.description": "Position oder Ausrichtung geändert (gedreht, gespiegelt usw.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Ausrichtungsänderungen",\n "selectors.editsAndActivity.c2pa.placed.description": "Vorhandenen Inhalt zu dieser Datei hinzugefügt",\n "selectors.editsAndActivity.c2pa.placed.label": "Importiert",\n "selectors.editsAndActivity.c2pa.published.description": "Bild empfangen und weiterverteilt",\n "selectors.editsAndActivity.c2pa.published.label": "Bild veröffentlicht",\n "selectors.editsAndActivity.c2pa.removed.description": "Ein oder mehrere Assets wurden aus der Datei entfernt",\n "selectors.editsAndActivity.c2pa.removed.label": "Asset entfernt",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Asset wurde unbearbeitet neu verpackt",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Neu verpacktes Asset",\n "selectors.editsAndActivity.c2pa.resized.description": "Geänderte Abmessungen oder Dateigröße",\n "selectors.editsAndActivity.c2pa.resized.label": "Größenänderungen",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Ein Asset wurde verarbeitet oder komprimiert, um es für die Anzeige zu optimieren",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Verarbeitetes Asset",\n "selectors.editsAndActivity.c2pa.translated.description": "Übersetzter Inhalt",\n "selectors.editsAndActivity.c2pa.translated.label": "Übersetzt",\n "selectors.editsAndActivity.c2pa.unknown.description": "Andere Änderungen oder Aktivitäten durchgeführt, die nicht erkannt werden konnten",\n "selectors.editsAndActivity.c2pa.unknown.label": "Unbekannte Änderungen oder Aktivitäten",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Änderungen an den Dateimetadaten vorgenommen",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Metadatenänderungen"\n}, uN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Adjusted properties like tone, saturation, curves, shadows, or highlights",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Color or exposure edits",\n "selectors.editsAndActivity.c2pa.converted.description": "The format of the asset was changed",\n "selectors.editsAndActivity.c2pa.converted.label": "Converted asset",\n "selectors.editsAndActivity.c2pa.created.description": "Created a new file or content",\n "selectors.editsAndActivity.c2pa.created.label": "Created",\n "selectors.editsAndActivity.c2pa.cropped.description": "Used cropping tools, reducing or expanding visible content area",\n "selectors.editsAndActivity.c2pa.cropped.label": "Cropping edits",\n "selectors.editsAndActivity.c2pa.deleted.description": "Deleted visual areas or durations of content",\n "selectors.editsAndActivity.c2pa.deleted.label": "Deleted content",\n "selectors.editsAndActivity.c2pa.drawing.description": "Used tools like pencils, brushes, erasers, or shape, path, or pen tools",\n "selectors.editsAndActivity.c2pa.drawing.label": "Drawing edits",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Replaced audio",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dubbed",\n "selectors.editsAndActivity.c2pa.edited.description": "Made other changes",\n "selectors.editsAndActivity.c2pa.edited.label": "Other edits",\n "selectors.editsAndActivity.c2pa.filtered.description": "Used tools like filters, styles, or effects to change appearance",\n "selectors.editsAndActivity.c2pa.filtered.label": "Filter or style edits",\n "selectors.editsAndActivity.c2pa.opened.description": "Opened a pre-existing file",\n "selectors.editsAndActivity.c2pa.opened.label": "Opened",\n "selectors.editsAndActivity.c2pa.orientation.description": "Changed position or orientation (rotated, flipped, etc.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Orientation edits",\n "selectors.editsAndActivity.c2pa.placed.description": "Added pre-existing content to this file",\n "selectors.editsAndActivity.c2pa.placed.label": "Imported",\n "selectors.editsAndActivity.c2pa.published.description": "Received and distributed image",\n "selectors.editsAndActivity.c2pa.published.label": "Published image",\n "selectors.editsAndActivity.c2pa.removed.description": "One or more assets were removed from the file",\n "selectors.editsAndActivity.c2pa.removed.label": "Asset removed",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Asset was repackaged without being processed",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Repackaged asset",\n "selectors.editsAndActivity.c2pa.resized.description": "Changed dimensions or file size",\n "selectors.editsAndActivity.c2pa.resized.label": "Resizing edits",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Processed or compressed an asset to optimize for display",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Processed asset",\n "selectors.editsAndActivity.c2pa.translated.description": "Translated content",\n "selectors.editsAndActivity.c2pa.translated.label": "Translated",\n "selectors.editsAndActivity.c2pa.unknown.description": "Performed other edits or activity that couldn\'t be recognized",\n "selectors.editsAndActivity.c2pa.unknown.label": "Unknown edits or activity",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Made changes to file metadata",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Metadata changes"\n}, pN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Se han ajustado propiedades como el tono, la saturación, las curvas, las sombras o las luces",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Ediciones de color o exposición",\n "selectors.editsAndActivity.c2pa.converted.description": "Se ha cambiado el formato del recurso",\n "selectors.editsAndActivity.c2pa.converted.label": "Recurso convertido",\n "selectors.editsAndActivity.c2pa.created.description": "Se ha creado un nuevo archivo o contenido",\n "selectors.editsAndActivity.c2pa.created.label": "Fecha de creación",\n "selectors.editsAndActivity.c2pa.cropped.description": "Se han usado herramientas de recorte, lo que reduce o expande el área de contenido visible",\n "selectors.editsAndActivity.c2pa.cropped.label": "Ediciones de recorte",\n "selectors.editsAndActivity.c2pa.deleted.description": "Áreas visuales o duraciones de contenido eliminadas",\n "selectors.editsAndActivity.c2pa.deleted.label": "Contenido eliminado",\n "selectors.editsAndActivity.c2pa.drawing.description": "Se han usado herramientas como lápices, pinceles, borradores o herramientas de formas, trazados o bolígrafos",\n "selectors.editsAndActivity.c2pa.drawing.label": "Ediciones de dibujo",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Audio reemplazado",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Doblado",\n "selectors.editsAndActivity.c2pa.edited.description": "Se han hecho otros cambios",\n "selectors.editsAndActivity.c2pa.edited.label": "Otras ediciones",\n "selectors.editsAndActivity.c2pa.filtered.description": "Se han usado herramientas como filtros, estilos o efectos para cambiar la apariencia",\n "selectors.editsAndActivity.c2pa.filtered.label": "Ediciones de filtro o estilo",\n "selectors.editsAndActivity.c2pa.opened.description": "Se ha abierto un archivo preexistente",\n "selectors.editsAndActivity.c2pa.opened.label": "Abierto",\n "selectors.editsAndActivity.c2pa.orientation.description": "Se ha cambiado la posición u orientación (girado, volteado, etc.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Ediciones de orientación",\n "selectors.editsAndActivity.c2pa.placed.description": "Se ha añadido contenido preexistente a este archivo",\n "selectors.editsAndActivity.c2pa.placed.label": "Importado",\n "selectors.editsAndActivity.c2pa.published.description": "Imagen recibida y distribuida",\n "selectors.editsAndActivity.c2pa.published.label": "Imagen publicada",\n "selectors.editsAndActivity.c2pa.removed.description": "Uno o más recursos se han eliminado del archivo",\n "selectors.editsAndActivity.c2pa.removed.label": "Recurso eliminado",\n "selectors.editsAndActivity.c2pa.repackaged.description": "El recurso se ha reempaquetado sin procesarse",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Recurso reempaquetado",\n "selectors.editsAndActivity.c2pa.resized.description": "Se han modificado las dimensiones o el tamaño del archivo",\n "selectors.editsAndActivity.c2pa.resized.label": "Ediciones de cambio de tamaño",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Se ha procesado o comprimido un recurso para optimizarlo para su visualización",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Recurso procesado",\n "selectors.editsAndActivity.c2pa.translated.description": "Contenido traducido",\n "selectors.editsAndActivity.c2pa.translated.label": "Traducido",\n "selectors.editsAndActivity.c2pa.unknown.description": "Se han realizado otras ediciones o actividades que no se han podido reconocer",\n "selectors.editsAndActivity.c2pa.unknown.label": "Ediciones o actividad desconocidas",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Se han hecho cambios en los metadatos del archivo",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Cambios de metadatos"\n}, fN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Säädetty ominaisuuksia, kuten sävyä, kylläisyyttä, käyriä, varjoja tai kohokohtia",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Väreihin tai valotukseen liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.converted.description": "Resurssin muoto on muuttunut.",\n "selectors.editsAndActivity.c2pa.converted.label": "Resurssi muunnettu",\n "selectors.editsAndActivity.c2pa.created.description": "Luotu uusi tiedosto tai uutta sisältöä",\n "selectors.editsAndActivity.c2pa.created.label": "Luotu",\n "selectors.editsAndActivity.c2pa.cropped.description": "Käytetty rajaustyökaluja, vähennetty tai laajennettu näkyvää sisältöaluetta",\n "selectors.editsAndActivity.c2pa.cropped.label": "Rajaukseen liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.deleted.description": "Sisällön visuaalisia alueita tai kestoja poistettu",\n "selectors.editsAndActivity.c2pa.deleted.label": "Sisältö poistettu",\n "selectors.editsAndActivity.c2pa.drawing.description": "Käytetty työkaluja, kuten kyniä, siveltimiä, pyyhekumeja tai muoto-, reitti- tai kynätyökaluja",\n "selectors.editsAndActivity.c2pa.drawing.label": "Piirtämiseen liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Ääni korvattu",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dubattu",\n "selectors.editsAndActivity.c2pa.edited.description": "Tehty muita muutoksia",\n "selectors.editsAndActivity.c2pa.edited.label": "Muut muokkaukset",\n "selectors.editsAndActivity.c2pa.filtered.description": "Käytetty työkaluja, kuten ulkoasun muuttamiseen tarkoitettuja suodattimia, tyylejä tai tehosteita",\n "selectors.editsAndActivity.c2pa.filtered.label": "Suodattimeen tai tyyliin liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.opened.description": "Avattu olemassa oleva tiedosto",\n "selectors.editsAndActivity.c2pa.opened.label": "Avattu",\n "selectors.editsAndActivity.c2pa.orientation.description": "Muutettu paikkaa tai suuntaa (kierretty, käännetty jne.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Suuntaan liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.placed.description": "Lisätty olemassa olevaa sisältöä tähän tiedostoon",\n "selectors.editsAndActivity.c2pa.placed.label": "Tuotu",\n "selectors.editsAndActivity.c2pa.published.description": "Vastaanotettu ja julkaistu kuva",\n "selectors.editsAndActivity.c2pa.published.label": "Julkaistu kuva",\n "selectors.editsAndActivity.c2pa.removed.description": "Yksi tai useampi resurssi poistettiin tiedostosta",\n "selectors.editsAndActivity.c2pa.removed.label": "Resurssi poistettu",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Resurssi pakattiin uudelleen sitä käsittelemättä",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Resurssi pakattu uudelleen",\n "selectors.editsAndActivity.c2pa.resized.description": "Muutettu mittasuhteita tai tiedostokokoa",\n "selectors.editsAndActivity.c2pa.resized.label": "Koon muuttamiseen liittyvät muokkaukset",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Resurssi käsitelty tai pakattu sen optimoimiseksi näyttöä varten",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Resurssi käsitelty",\n "selectors.editsAndActivity.c2pa.translated.description": "Sisältö käännetty",\n "selectors.editsAndActivity.c2pa.translated.label": "Käännetty",\n "selectors.editsAndActivity.c2pa.unknown.description": "Suoritettu muita muokkauksia tai toimintoja, joita ei tunnistettu",\n "selectors.editsAndActivity.c2pa.unknown.label": "Tuntemattomat muokkaukset tai tuntematon toiminta",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Tiedoston metatietoihin tehty muutoksia",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Metatietojen muutokset"\n}, mN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Ajustement des propriétés, comme la tonalité, la saturation, les courbes, les ombres ou les tons clairs",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Modifications de la couleur ou de l’exposition",\n "selectors.editsAndActivity.c2pa.converted.description": "Le format de la ressource a été modifié",\n "selectors.editsAndActivity.c2pa.converted.label": "Ressource convertie",\n "selectors.editsAndActivity.c2pa.created.description": "Création d’un fichier ou contenu",\n "selectors.editsAndActivity.c2pa.created.label": "Créé",\n "selectors.editsAndActivity.c2pa.cropped.description": "Utilisation d’outils de recadrage, réduisant ou élargissant la zone de contenu visible",\n "selectors.editsAndActivity.c2pa.cropped.label": "Modifications de recadrage",\n "selectors.editsAndActivity.c2pa.deleted.description": "Zones visuelles ou durées de contenu supprimées",\n "selectors.editsAndActivity.c2pa.deleted.label": "Contenu supprimé",\n "selectors.editsAndActivity.c2pa.drawing.description": "Utilisation d’outils, comme des crayons, des pinceaux, des gommes ou des outils de forme, de tracé ou de plume",\n "selectors.editsAndActivity.c2pa.drawing.label": "Modifications du dessin",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Son remplacé",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Doublé",\n "selectors.editsAndActivity.c2pa.edited.description": "Réalisation d’autres modifications",\n "selectors.editsAndActivity.c2pa.edited.label": "Autres modifications",\n "selectors.editsAndActivity.c2pa.filtered.description": "Utilisation d’outils tels que des filtres, des styles ou des effets pour modifier l’apparence",\n "selectors.editsAndActivity.c2pa.filtered.label": "Modifications du filtre ou du style",\n "selectors.editsAndActivity.c2pa.opened.description": "Ouverture d’un fichier préexistant",\n "selectors.editsAndActivity.c2pa.opened.label": "Ouvert",\n "selectors.editsAndActivity.c2pa.orientation.description": "Modifications de la position ou de l’orientation (rotation, renversement, etc.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Modifications de l’orientation",\n "selectors.editsAndActivity.c2pa.placed.description": "Ajout du contenu préexistant à ce fichier",\n "selectors.editsAndActivity.c2pa.placed.label": "Importé",\n "selectors.editsAndActivity.c2pa.published.description": "Réception et distribution d’une image",\n "selectors.editsAndActivity.c2pa.published.label": "Image publiée",\n "selectors.editsAndActivity.c2pa.removed.description": "Une ou plusieurs ressources ont été supprimées du fichier",\n "selectors.editsAndActivity.c2pa.removed.label": "Ressource supprimée",\n "selectors.editsAndActivity.c2pa.repackaged.description": "La ressource a été reconditionnée sans être traitée",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Ressource reconditionnée",\n "selectors.editsAndActivity.c2pa.resized.description": "Modification des dimensions ou de la taille du fichier",\n "selectors.editsAndActivity.c2pa.resized.label": "Modifications du redimensionnement",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Ressource traitée ou compressée pour optimiser pour l’affichage",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Ressource traitée",\n "selectors.editsAndActivity.c2pa.translated.description": "Contenu traduit",\n "selectors.editsAndActivity.c2pa.translated.label": "Traduit",\n "selectors.editsAndActivity.c2pa.unknown.description": "Réalisation d’autres modifications ou activités qui n’ont pas pu être reconnues",\n "selectors.editsAndActivity.c2pa.unknown.label": "Modifications ou activité inconnues",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Modifications apportées aux métadonnées du fichier",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Modifications des métadonnées"\n}, hN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Beállított olyan tulajdonságokat mint árnyalat, telítettség, görbék, árnyékok vagy csúcsfények",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Szín vagy expozíció szerkesztése",\n "selectors.editsAndActivity.c2pa.converted.description": "A kellék formátuma módosítva",\n "selectors.editsAndActivity.c2pa.converted.label": "Konvertált kellék",\n "selectors.editsAndActivity.c2pa.created.description": "Létrehozott egy új fájlt vagy tartalmat",\n "selectors.editsAndActivity.c2pa.created.label": "Létrehozva",\n "selectors.editsAndActivity.c2pa.cropped.description": "Használt vágóeszközöket, amelyek csökkentik vagy bővítik a tartalom látható területét",\n "selectors.editsAndActivity.c2pa.cropped.label": "Vágást használó szerkesztések",\n "selectors.editsAndActivity.c2pa.deleted.description": "A tartalom vizuális területei vagy időtartama törölve",\n "selectors.editsAndActivity.c2pa.deleted.label": "Törölt tartalom",\n "selectors.editsAndActivity.c2pa.drawing.description": "Használt olyan eszközöket mint ceruzák, ecsetek, radírok vagy alakzat-, görbe- vagy tolleszközök",\n "selectors.editsAndActivity.c2pa.drawing.label": "Rajzolást használó szerkesztések",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Hang lecserélve",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Szinkronizálva",\n "selectors.editsAndActivity.c2pa.edited.description": "Egyéb módosítások végrehajtva",\n "selectors.editsAndActivity.c2pa.edited.label": "Egyéb szerkesztések",\n "selectors.editsAndActivity.c2pa.filtered.description": "Használt olyan eszközöket mint szűrők, stílusok vagy effektusok a megjelenés megváltoztatására",\n "selectors.editsAndActivity.c2pa.filtered.label": "Szűrőt vagy stílust használó szerkesztések",\n "selectors.editsAndActivity.c2pa.opened.description": "Megnyitott egy már létező fájlt",\n "selectors.editsAndActivity.c2pa.opened.label": "Megnyitva",\n "selectors.editsAndActivity.c2pa.orientation.description": "Módosította a pozíciót vagy tájolást (elforgatva, megfordítva stb.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Tájolási szerkesztések",\n "selectors.editsAndActivity.c2pa.placed.description": "Már létező tartalmat adott hozzá ehhez a fájlhoz",\n "selectors.editsAndActivity.c2pa.placed.label": "Importálva",\n "selectors.editsAndActivity.c2pa.published.description": "Kapott és terjesztett kép",\n "selectors.editsAndActivity.c2pa.published.label": "Közzétett kép",\n "selectors.editsAndActivity.c2pa.removed.description": "Egy vagy több kellék eltávolítva a fájlból",\n "selectors.editsAndActivity.c2pa.removed.label": "Kellék eltávolítva",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Kellék feldolgozás nélkül újracsomagolva",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Újracsomagolt kellék",\n "selectors.editsAndActivity.c2pa.resized.description": "A méretek vagy a fájl mérete módosult",\n "selectors.editsAndActivity.c2pa.resized.label": "Szerkesztések átméretezése",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Egy kellék feldolgozva vagy tömörítve a megjelenítésre való optimalizáláshoz",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Feldolgozott kellék",\n "selectors.editsAndActivity.c2pa.translated.description": "Lefordított tartalom",\n "selectors.editsAndActivity.c2pa.translated.label": "Lefordítva",\n "selectors.editsAndActivity.c2pa.unknown.description": "Más szerkesztéseket vagy műveleteket hajtott végre, amelyeket nem lehetett felismerni",\n "selectors.editsAndActivity.c2pa.unknown.label": "Ismeretlen szerkesztések vagy tevékenység",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Módosítások elvégezve a fájl metaadataiban",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Metaadatok módosításai"\n}, vN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Menyesuaikan properti seperti nada, saturasi, lengkungan, bayangan, atau sorotan",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Pengeditan warna atau eksposur",\n "selectors.editsAndActivity.c2pa.converted.description": "Format aset diubah",\n "selectors.editsAndActivity.c2pa.converted.label": "Mengonversi aset",\n "selectors.editsAndActivity.c2pa.created.description": "Membuat file atau konten baru",\n "selectors.editsAndActivity.c2pa.created.label": "Membuat",\n "selectors.editsAndActivity.c2pa.cropped.description": "Menggunakan alat pemangkasan, mengurangi atau memperluas area konten yang terlihat",\n "selectors.editsAndActivity.c2pa.cropped.label": "Pengeditan pemangkasan",\n "selectors.editsAndActivity.c2pa.deleted.description": "Menghapus area visual atau durasi konten",\n "selectors.editsAndActivity.c2pa.deleted.label": "Menghapus konten",\n "selectors.editsAndActivity.c2pa.drawing.description": "Menggunakan alat seperti pensil, kuas, penghapus, atau alat bentuk, jalur, atau pena",\n "selectors.editsAndActivity.c2pa.drawing.label": "Pengeditan gambar",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Mengganti audio",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Men-dubbing",\n "selectors.editsAndActivity.c2pa.edited.description": "Membuat perubahan lain",\n "selectors.editsAndActivity.c2pa.edited.label": "Pengeditan lainnya",\n "selectors.editsAndActivity.c2pa.filtered.description": "Menggunakan alat seperti filter, gaya, atau efek untuk mengubah tampilan",\n "selectors.editsAndActivity.c2pa.filtered.label": "Pengeditan filter atau gaya",\n "selectors.editsAndActivity.c2pa.opened.description": "Membuka file yang sudah ada",\n "selectors.editsAndActivity.c2pa.opened.label": "Membuka",\n "selectors.editsAndActivity.c2pa.orientation.description": "Mengubah posisi atau orientasi (diputar, dibalik, dll.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Pengeditan orientasi",\n "selectors.editsAndActivity.c2pa.placed.description": "Menambahkan konten yang sudah ada ke file ini",\n "selectors.editsAndActivity.c2pa.placed.label": "Mengimpor",\n "selectors.editsAndActivity.c2pa.published.description": "Menerima dan mendistribusikan citra",\n "selectors.editsAndActivity.c2pa.published.label": "Memublikasikan citra",\n "selectors.editsAndActivity.c2pa.removed.description": "Satu atau beberapa aset telah dihapus dari file",\n "selectors.editsAndActivity.c2pa.removed.label": "Aset yang dihapus",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Aset dikemas ulang tanpa diproses",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Mengemas ulang aset",\n "selectors.editsAndActivity.c2pa.resized.description": "Mengubah dimensi atau ukuran file",\n "selectors.editsAndActivity.c2pa.resized.label": "Pengeditan perubahan ukuran",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Memproses atau mengompresi aset untuk mengoptimalkan tampilan",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Memproses aset",\n "selectors.editsAndActivity.c2pa.translated.description": "Menerjemahkan konten",\n "selectors.editsAndActivity.c2pa.translated.label": "Menerjemahkan",\n "selectors.editsAndActivity.c2pa.unknown.description": "Melakukan pengeditan atau aktivitas lain yang tidak dapat dikenali",\n "selectors.editsAndActivity.c2pa.unknown.label": "Pengeditan atau aktivitas tidak diketahui",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Membuat perubahan pada metadata file",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Perubahan metadata"\n}, gN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Proprietà regolate come tono, saturazione, curve, ombre o luci",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Modifiche del colore o dell\'esposizione",\n "selectors.editsAndActivity.c2pa.converted.description": "Il formato della risorsa è stato modificato",\n "selectors.editsAndActivity.c2pa.converted.label": "Risorsa convertita",\n "selectors.editsAndActivity.c2pa.created.description": "È stato creato un nuovo file o contenuto",\n "selectors.editsAndActivity.c2pa.created.label": "Creato",\n "selectors.editsAndActivity.c2pa.cropped.description": "Strumenti di ritaglio utilizzati, riducendo o espandendo l\'area del contenuto visibile",\n "selectors.editsAndActivity.c2pa.cropped.label": "Modifiche di ritaglio",\n "selectors.editsAndActivity.c2pa.deleted.description": "Aree visive o durate dei contenuti eliminate",\n "selectors.editsAndActivity.c2pa.deleted.label": "Contenuto eliminato",\n "selectors.editsAndActivity.c2pa.drawing.description": "Strumenti usati come matite, pennelli, gomme o strumenti forma, tracciato o penna",\n "selectors.editsAndActivity.c2pa.drawing.label": "Modifiche del disegno",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Audio sostituito",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Doppiato",\n "selectors.editsAndActivity.c2pa.edited.description": "Sono state apportate altre modifiche",\n "selectors.editsAndActivity.c2pa.edited.label": "Altre modifiche",\n "selectors.editsAndActivity.c2pa.filtered.description": "Strumenti utilizzati come filtri, stili o effetti per modificare l\'aspetto",\n "selectors.editsAndActivity.c2pa.filtered.label": "Modifiche di filtro o stile",\n "selectors.editsAndActivity.c2pa.opened.description": "È stato aperto un file preesistente",\n "selectors.editsAndActivity.c2pa.opened.label": "Aperto",\n "selectors.editsAndActivity.c2pa.orientation.description": "Posizione o orientamento modificati (ruotati, capovolti e così via)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Orientamento modifiche",\n "selectors.editsAndActivity.c2pa.placed.description": "Aggiunto contenuto preesistente a questo file",\n "selectors.editsAndActivity.c2pa.placed.label": "Importato",\n "selectors.editsAndActivity.c2pa.published.description": "Immagine ricevuta e distribuita",\n "selectors.editsAndActivity.c2pa.published.label": "Immagine pubblicata",\n "selectors.editsAndActivity.c2pa.removed.description": "Una o più risorse sono state rimosse dal file",\n "selectors.editsAndActivity.c2pa.removed.label": "Risorsa rimossa",\n "selectors.editsAndActivity.c2pa.repackaged.description": "La risorsa è stata riprogettata senza essere elaborata",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Risorsa riprogettata",\n "selectors.editsAndActivity.c2pa.resized.description": "Dimensioni o grandezza del file modificate",\n "selectors.editsAndActivity.c2pa.resized.label": "Modifiche del ridimensionamento",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Una risorsa è stata elaborata o compressa per essere ottimizzata per la visualizzazione",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Risorsa elaborata",\n "selectors.editsAndActivity.c2pa.translated.description": "Contenuto tradotto",\n "selectors.editsAndActivity.c2pa.translated.label": "Tradotto",\n "selectors.editsAndActivity.c2pa.unknown.description": "Sono state eseguite altre modifiche o attività che non è stato possibile riconoscere",\n "selectors.editsAndActivity.c2pa.unknown.label": "Modifiche o attività sconosciute",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Modifiche apportate ai metadati del file",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Modifiche metadati"\n}, bN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "トーン、彩度、カーブ、シャドウ、ハイライトなどのプロパティを調整",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "カラーまたは露出の編集",\n "selectors.editsAndActivity.c2pa.converted.description": "アセットの形式が変更されました",\n "selectors.editsAndActivity.c2pa.converted.label": "変換されたアセット",\n "selectors.editsAndActivity.c2pa.created.description": "新しいファイルまたはコンテンツを作成",\n "selectors.editsAndActivity.c2pa.created.label": "作成済み",\n "selectors.editsAndActivity.c2pa.cropped.description": "切り抜きツールを使用、表示されているコンテンツ領域の縮小または拡大",\n "selectors.editsAndActivity.c2pa.cropped.label": "切り抜きの編集",\n "selectors.editsAndActivity.c2pa.deleted.description": "削除された視覚領域またはコンテンツの継続時間",\n "selectors.editsAndActivity.c2pa.deleted.label": "削除されたコンテンツ",\n "selectors.editsAndActivity.c2pa.drawing.description": "鉛筆、ブラシ、消しゴム、シェイプ、パス、ペンツールなどのツールを使用",\n "selectors.editsAndActivity.c2pa.drawing.label": "描画の編集",\n "selectors.editsAndActivity.c2pa.dubbed.description": "オーディオを置換しました",\n "selectors.editsAndActivity.c2pa.dubbed.label": "吹き替え済み",\n "selectors.editsAndActivity.c2pa.edited.description": "その他の変更",\n "selectors.editsAndActivity.c2pa.edited.label": "その他の編集",\n "selectors.editsAndActivity.c2pa.filtered.description": "フィルター、スタイル、効果などのツールを使用して外観を変更",\n "selectors.editsAndActivity.c2pa.filtered.label": "フィルターまたはスタイルの編集",\n "selectors.editsAndActivity.c2pa.opened.description": "既存のファイルを開いた",\n "selectors.editsAndActivity.c2pa.opened.label": "開いた",\n "selectors.editsAndActivity.c2pa.orientation.description": "位置または方向を変更 (回転、反転など)",\n "selectors.editsAndActivity.c2pa.orientation.label": "画像方向編集",\n "selectors.editsAndActivity.c2pa.placed.description": "このファイルに既存のコンテンツを追加",\n "selectors.editsAndActivity.c2pa.placed.label": "読み込み済み",\n "selectors.editsAndActivity.c2pa.published.description": "受信および配信した画像",\n "selectors.editsAndActivity.c2pa.published.label": "公開した画像",\n "selectors.editsAndActivity.c2pa.removed.description": "1 つ以上のアセットがファイルから削除されました",\n "selectors.editsAndActivity.c2pa.removed.label": "アセットが削除されました",\n "selectors.editsAndActivity.c2pa.repackaged.description": "アセットは処理されずに再パッケージ化されました",\n "selectors.editsAndActivity.c2pa.repackaged.label": "再パッケージ化されたアセット",\n "selectors.editsAndActivity.c2pa.resized.description": "寸法またはファイルサイズを変更",\n "selectors.editsAndActivity.c2pa.resized.label": "サイズ変更の編集",\n "selectors.editsAndActivity.c2pa.transcoded.description": "表示を最適化するためにアセットを処理または圧縮しました",\n "selectors.editsAndActivity.c2pa.transcoded.label": "処理済みアセット",\n "selectors.editsAndActivity.c2pa.translated.description": "翻訳されたコンテンツ",\n "selectors.editsAndActivity.c2pa.translated.label": "翻訳済み",\n "selectors.editsAndActivity.c2pa.unknown.description": "認識できない他の編集またはアクティビティを実行",\n "selectors.editsAndActivity.c2pa.unknown.label": "不明な編集またはアクティビティ",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "ファイルのメタデータに変更を加えました",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "メタデータの変更"\n}, CN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "톤, 채도, 곡선, 그림자 또는 하이라이트와 같은 조정된 속성",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "색상 또는 노출 편집",\n "selectors.editsAndActivity.c2pa.converted.description": "자산 포맷이 변경됨",\n "selectors.editsAndActivity.c2pa.converted.label": "변환된 자산",\n "selectors.editsAndActivity.c2pa.created.description": "새 파일 또는 콘텐츠 생성됨",\n "selectors.editsAndActivity.c2pa.created.label": "생성됨",\n "selectors.editsAndActivity.c2pa.cropped.description": "사용된 자르기 도구, 보이는 콘텐츠 영역 축소 또는 확장",\n "selectors.editsAndActivity.c2pa.cropped.label": "자르기 편집",\n "selectors.editsAndActivity.c2pa.deleted.description": "삭제된 시각적 영역 또는 콘텐츠의 기간",\n "selectors.editsAndActivity.c2pa.deleted.label": "삭제된 콘텐츠",\n "selectors.editsAndActivity.c2pa.drawing.description": "연필, 브러시, 지우개 또는 모양, 경로 또는 펜 도구와 같은 사용된 도구",\n "selectors.editsAndActivity.c2pa.drawing.label": "그리기 편집",\n "selectors.editsAndActivity.c2pa.dubbed.description": "교체된 오디오",\n "selectors.editsAndActivity.c2pa.dubbed.label": "더빙됨",\n "selectors.editsAndActivity.c2pa.edited.description": "기타 변경 사항 적용됨",\n "selectors.editsAndActivity.c2pa.edited.label": "기타 편집",\n "selectors.editsAndActivity.c2pa.filtered.description": "필터, 스타일 또는 효과와 같은 모양 변경에 사용된 도구",\n "selectors.editsAndActivity.c2pa.filtered.label": "필터 또는 스타일 편집",\n "selectors.editsAndActivity.c2pa.opened.description": "기존 파일 열림",\n "selectors.editsAndActivity.c2pa.opened.label": "열림",\n "selectors.editsAndActivity.c2pa.orientation.description": "변경된 위치 또는 방향 (회전, 반전 등)",\n "selectors.editsAndActivity.c2pa.orientation.label": "방향 편집",\n "selectors.editsAndActivity.c2pa.placed.description": "이 파일에 기존 콘텐츠 추가됨",\n "selectors.editsAndActivity.c2pa.placed.label": "가져옴",\n "selectors.editsAndActivity.c2pa.published.description": "접수 및 배포된 이미지",\n "selectors.editsAndActivity.c2pa.published.label": "게시된 이미지",\n "selectors.editsAndActivity.c2pa.removed.description": "하나 이상의 자산이 파일에서 제거됨",\n "selectors.editsAndActivity.c2pa.removed.label": "에셋 제거됨",\n "selectors.editsAndActivity.c2pa.repackaged.description": "자산이 처리되지 않고 다시 패키징됨",\n "selectors.editsAndActivity.c2pa.repackaged.label": "다시 패키징된 자산",\n "selectors.editsAndActivity.c2pa.resized.description": "변경된 치수 또는 파일 크기",\n "selectors.editsAndActivity.c2pa.resized.label": "크기 조정 편집",\n "selectors.editsAndActivity.c2pa.transcoded.description": "최적화된 표시를 위해 자산을 처리하거나 압축했습니다",\n "selectors.editsAndActivity.c2pa.transcoded.label": "처리된 자산",\n "selectors.editsAndActivity.c2pa.translated.description": "번역된 콘텐츠",\n "selectors.editsAndActivity.c2pa.translated.label": "번역됨",\n "selectors.editsAndActivity.c2pa.unknown.description": "수행되었으나 인식할 수 없는 기타 편집 또는 활동",\n "selectors.editsAndActivity.c2pa.unknown.label": "알 수 없는 편집 또는 활동",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "파일 메타데이터가 변경됨",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "메타데이터 변경 사항"\n}, yN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Justerte egenskaper som tone, metning, kurver, skygger eller høylys",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Farge- eller eksponeringsredigeringer",\n "selectors.editsAndActivity.c2pa.converted.description": "Formatet til ressursen ble endret",\n "selectors.editsAndActivity.c2pa.converted.label": "Konvertert ressurs",\n "selectors.editsAndActivity.c2pa.created.description": "Opprettet en ny fil eller nytt innhold",\n "selectors.editsAndActivity.c2pa.created.label": "Opprettet",\n "selectors.editsAndActivity.c2pa.cropped.description": "Brukte beskjæringsverktøy for å redusere eller utvide synlig innholdsområde",\n "selectors.editsAndActivity.c2pa.cropped.label": "Beskjæringsredigeringer",\n "selectors.editsAndActivity.c2pa.deleted.description": "Slettede visuelle områder eller innholdsvarighet",\n "selectors.editsAndActivity.c2pa.deleted.label": "Slettet innhold",\n "selectors.editsAndActivity.c2pa.drawing.description": "Brukte verktøy som blyanter, pensler, viskelær eller form-, bane- eller pennverktøy",\n "selectors.editsAndActivity.c2pa.drawing.label": "Tegneredigeringer",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Erstattet lyd",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dubbet",\n "selectors.editsAndActivity.c2pa.edited.description": "Gjorde andre endringer",\n "selectors.editsAndActivity.c2pa.edited.label": "Andre redigeringer",\n "selectors.editsAndActivity.c2pa.filtered.description": "Brukte verktøy som filtre, stiler eller effekter for å endre utseende",\n "selectors.editsAndActivity.c2pa.filtered.label": "Filter- eller stilredigeringer",\n "selectors.editsAndActivity.c2pa.opened.description": "Åpnet en eksisterende fil",\n "selectors.editsAndActivity.c2pa.opened.label": "Åpnet",\n "selectors.editsAndActivity.c2pa.orientation.description": "Endret posisjon eller retning (rotert, snudd osv.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Retnings- redigeringer",\n "selectors.editsAndActivity.c2pa.placed.description": "La til eksisterende innhold i denne filen",\n "selectors.editsAndActivity.c2pa.placed.label": "Importert",\n "selectors.editsAndActivity.c2pa.published.description": "Mottatt og distribuert bilde",\n "selectors.editsAndActivity.c2pa.published.label": "Publisert bilde",\n "selectors.editsAndActivity.c2pa.removed.description": "Én eller flere ressurser ble fjernet fra filen",\n "selectors.editsAndActivity.c2pa.removed.label": "Ressursen er fjernet",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Ressursen ble ompakket uten å bli behandlet",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Ompakket ressurs",\n "selectors.editsAndActivity.c2pa.resized.description": "Endret dimensjoner eller filstørrelse",\n "selectors.editsAndActivity.c2pa.resized.label": "Størrelsesendringer",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Behandlet eller komprimert en ressurs for å optimalisere for visning",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Behandlet ressurs",\n "selectors.editsAndActivity.c2pa.translated.description": "Oversatt innhold",\n "selectors.editsAndActivity.c2pa.translated.label": "Oversatt",\n "selectors.editsAndActivity.c2pa.unknown.description": "Utførte andre redigeringer eller aktiviteter som ikke gjenkjennes",\n "selectors.editsAndActivity.c2pa.unknown.label": "Ukjent endring eller aktivitet",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Gjorde endringer i fil-metadata",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Endringer i metadata"\n}, AN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Eigenschappen zoals tint, verzadiging, curven, schaduwen of hooglichten aangepast",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Kleur- of belichtingsbewerkingen",\n "selectors.editsAndActivity.c2pa.converted.description": "De indeling van het asset is gewijzigd",\n "selectors.editsAndActivity.c2pa.converted.label": "Asset geconverteerd",\n "selectors.editsAndActivity.c2pa.created.description": "Een nieuw bestand of nieuwe content gemaakt",\n "selectors.editsAndActivity.c2pa.created.label": "Gemaakt",\n "selectors.editsAndActivity.c2pa.cropped.description": "Uitsnedegereedschappen gebruikt om het zichtbare deel van de content te beperken of uit te breiden",\n "selectors.editsAndActivity.c2pa.cropped.label": "Uitsnedebewerkingen",\n "selectors.editsAndActivity.c2pa.deleted.description": "Visuele delen of duur van content verwijderd",\n "selectors.editsAndActivity.c2pa.deleted.label": "Content verwijderd",\n "selectors.editsAndActivity.c2pa.drawing.description": "Gereedschappen gebruikt zoals potloden, penselen, gummetjes, pennen of vorm- of padgereedschappen",\n "selectors.editsAndActivity.c2pa.drawing.label": "Tekenbewerkingen",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Audio vervangen",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Nagesynchroniseerd",\n "selectors.editsAndActivity.c2pa.edited.description": "Andere wijzigingen aangebracht",\n "selectors.editsAndActivity.c2pa.edited.label": "Andere bewerkingen",\n "selectors.editsAndActivity.c2pa.filtered.description": "Gereedschappen zoals filters, stijlen of effecten gebruikt om het uiterlijk te veranderen",\n "selectors.editsAndActivity.c2pa.filtered.label": "Filter- of stijlbewerkingen",\n "selectors.editsAndActivity.c2pa.opened.description": "Een bestaand bestand geopend",\n "selectors.editsAndActivity.c2pa.opened.label": "Geopend",\n "selectors.editsAndActivity.c2pa.orientation.description": "Positie of stand gewijzigd (gedraaid, gespiegeld etc.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Bewerkingen in afdrukstand",\n "selectors.editsAndActivity.c2pa.placed.description": "Bestaande content aan dit bestand toegevoegd",\n "selectors.editsAndActivity.c2pa.placed.label": "Geïmporteerd",\n "selectors.editsAndActivity.c2pa.published.description": "Afbeelding ontvangen en verspreid",\n "selectors.editsAndActivity.c2pa.published.label": "Afbeelding gepubliceerd",\n "selectors.editsAndActivity.c2pa.removed.description": "Een of meer assets zijn uit het bestand verwijderd",\n "selectors.editsAndActivity.c2pa.removed.label": "Asset verwijderd",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Nieuw pakket van asset gemaakt zonder verwerking",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Nieuw pakket van asset gemaakt",\n "selectors.editsAndActivity.c2pa.resized.description": "Afmetingen of bestandsgrootte gewijzigd",\n "selectors.editsAndActivity.c2pa.resized.label": "Formaatbewerkingen",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Een asset is verwerkt of gecomprimeerd om het te optimaliseren voor weergave",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Asset verwerkt",\n "selectors.editsAndActivity.c2pa.translated.description": "Content vertaald",\n "selectors.editsAndActivity.c2pa.translated.label": "Vertaald",\n "selectors.editsAndActivity.c2pa.unknown.description": "Andere bewerkingen of activiteiten uitgevoerd die niet konden worden herkend",\n "selectors.editsAndActivity.c2pa.unknown.label": "Onbekende bewerkingen of activiteiten",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Wijzigingen aangebracht in metadata van bestand",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Wijzigingen in metadata"\n}, kN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Zmodyfikowano właściwości, takie jak tonacja, nasycenie, krzywe, cienie lub światła",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Wprowadzono zmiany kolorów lub ekspozycji",\n "selectors.editsAndActivity.c2pa.converted.description": "Zmieniono format zasobu",\n "selectors.editsAndActivity.c2pa.converted.label": "Przekonwertowano zasób",\n "selectors.editsAndActivity.c2pa.created.description": "Utworzono nowy plik lub zawartość",\n "selectors.editsAndActivity.c2pa.created.label": "Utworzono",\n "selectors.editsAndActivity.c2pa.cropped.description": "Użyto narzędzi do kadrowania w celu zmniejszenia lub rozszerzenia widocznego obszaru zawartości",\n "selectors.editsAndActivity.c2pa.cropped.label": "Modyfikacje polegające na kadrowaniu",\n "selectors.editsAndActivity.c2pa.deleted.description": "Usunięte obszary wizualne lub czasy trwania treści",\n "selectors.editsAndActivity.c2pa.deleted.label": "Usunięto treść",\n "selectors.editsAndActivity.c2pa.drawing.description": "Użyto takich narzędzi, jak ołówki, pędzle i gumki albo narzędzi kształtów, ścieżek lub pióra",\n "selectors.editsAndActivity.c2pa.drawing.label": "Modyfikacje rysunkowe",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Wymienione audio",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Zdubbingowano",\n "selectors.editsAndActivity.c2pa.edited.description": "Wprowadzono inne zmiany",\n "selectors.editsAndActivity.c2pa.edited.label": "Inne modyfikacje",\n "selectors.editsAndActivity.c2pa.filtered.description": "Użyto narzędzi, takich jak filtry, style lub efekty, aby zmienić wygląd",\n "selectors.editsAndActivity.c2pa.filtered.label": "Edycje filtrów lub stylów",\n "selectors.editsAndActivity.c2pa.opened.description": "Otwarto wcześniej istniejący plik",\n "selectors.editsAndActivity.c2pa.opened.label": "Otwarto",\n "selectors.editsAndActivity.c2pa.orientation.description": "Zmieniono pozycję lub orientację (obrócono, odwrócono itp.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Orientacja modyfikacje",\n "selectors.editsAndActivity.c2pa.placed.description": "Dodano wcześniej istniejącą zawartość do tego pliku",\n "selectors.editsAndActivity.c2pa.placed.label": "Zaimportowano",\n "selectors.editsAndActivity.c2pa.published.description": "Otrzymano i rozpowszechniono obraz",\n "selectors.editsAndActivity.c2pa.published.label": "Opublikowano obraz",\n "selectors.editsAndActivity.c2pa.removed.description": "Z pliku usunięto co najmniej jeden zasób",\n "selectors.editsAndActivity.c2pa.removed.label": "Usunięto zasób",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Zasób został przepakowany bez przetworzenia",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Przepakowano zasób",\n "selectors.editsAndActivity.c2pa.resized.description": "Zmieniono wymiary lub rozmiar pliku",\n "selectors.editsAndActivity.c2pa.resized.label": "Modyfikacje polegające na zmianie rozmiaru",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Przetworzono lub skompresowano zasób w celu optymalizacji pod kątem wyświetlania",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Przetworzono zasób",\n "selectors.editsAndActivity.c2pa.translated.description": "Przetłumaczono treść",\n "selectors.editsAndActivity.c2pa.translated.label": "Przetłumaczono",\n "selectors.editsAndActivity.c2pa.unknown.description": "Dokonano innych zmian lub wykonano operacje, których nie można rozpoznać",\n "selectors.editsAndActivity.c2pa.unknown.label": "Nieznane zmiany lub operacje",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Wprowadzono zmiany w metadanych pliku",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Zmiany metadanych"\n}, wN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Propriedades como tom, saturação, curvas, sombras ou realces ajustadas",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Edições de cor ou exposição",\n "selectors.editsAndActivity.c2pa.converted.description": "O formato do ativo foi alterado",\n "selectors.editsAndActivity.c2pa.converted.label": "Ativo convertido",\n "selectors.editsAndActivity.c2pa.created.description": "Arquivo ou conteúdo criado",\n "selectors.editsAndActivity.c2pa.created.label": "Criado",\n "selectors.editsAndActivity.c2pa.cropped.description": "Ferramentas de corte usadas, reduzindo ou expandindo a área de conteúdo visível",\n "selectors.editsAndActivity.c2pa.cropped.label": "Edições de corte",\n "selectors.editsAndActivity.c2pa.deleted.description": "Áreas visuais ou durações de conteúdo excluídas",\n "selectors.editsAndActivity.c2pa.deleted.label": "Conteúdo excluído",\n "selectors.editsAndActivity.c2pa.drawing.description": "Ferramentas como lápis, pincéis, borrachas ou ferramentas de forma, caminho ou caneta usadas",\n "selectors.editsAndActivity.c2pa.drawing.label": "Edições de desenho",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Áudio substituído",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Apelidado",\n "selectors.editsAndActivity.c2pa.edited.description": "Outras alterações feitas",\n "selectors.editsAndActivity.c2pa.edited.label": "Outras edições",\n "selectors.editsAndActivity.c2pa.filtered.description": "Ferramentas como filtros, estilos ou efeitos usadas para alterar a aparência",\n "selectors.editsAndActivity.c2pa.filtered.label": "Edições de filtro ou estilo",\n "selectors.editsAndActivity.c2pa.opened.description": "Arquivo pré-existente aberto",\n "selectors.editsAndActivity.c2pa.opened.label": "Aberto",\n "selectors.editsAndActivity.c2pa.orientation.description": "Posição ou orientação alterada (girado, invertido etc.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Edições de orientação",\n "selectors.editsAndActivity.c2pa.placed.description": "Conteúdo pré-existente adicionado a este arquivo",\n "selectors.editsAndActivity.c2pa.placed.label": "Importado",\n "selectors.editsAndActivity.c2pa.published.description": "Imagem recebida e distribuída",\n "selectors.editsAndActivity.c2pa.published.label": "Imagem publicada",\n "selectors.editsAndActivity.c2pa.removed.description": "Um ou mais ativos foram removidos do arquivo",\n "selectors.editsAndActivity.c2pa.removed.label": "Ativo removido",\n "selectors.editsAndActivity.c2pa.repackaged.description": "O ativo foi reempacotado sem ser processado",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Ativo reempacotado",\n "selectors.editsAndActivity.c2pa.resized.description": "Dimensões ou tamanho do arquivo alterados",\n "selectors.editsAndActivity.c2pa.resized.label": "Edições de redimensionamento",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Ativo processado ou compactado para otimizar a exibição",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Ativo processado",\n "selectors.editsAndActivity.c2pa.translated.description": "Conteúdo traduzido",\n "selectors.editsAndActivity.c2pa.translated.label": "Traduzido",\n "selectors.editsAndActivity.c2pa.unknown.description": "Não foi possível reconhecer outras edições ou atividades realizadas",\n "selectors.editsAndActivity.c2pa.unknown.label": "Edições ou atividades desconhecidas",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Alterações feitas nos metadados do arquivo",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Alterações de metadados"\n}, _N = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Измененные свойства, например тон, насыщенность, кривые, тени или блики.",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Редактирование цвета или экспозиции",\n "selectors.editsAndActivity.c2pa.converted.description": "Формат ресурса изменен",\n "selectors.editsAndActivity.c2pa.converted.label": "Конвертированный ресурс",\n "selectors.editsAndActivity.c2pa.created.description": "Создан новый файл или контент",\n "selectors.editsAndActivity.c2pa.created.label": "Создано",\n "selectors.editsAndActivity.c2pa.cropped.description": "Используемые инструменты обрезки, уменьшение или расширение видимой области содержимого",\n "selectors.editsAndActivity.c2pa.cropped.label": "Редактирование обрезки",\n "selectors.editsAndActivity.c2pa.deleted.description": "Удалены визуальные области или продолжительность контента",\n "selectors.editsAndActivity.c2pa.deleted.label": "Удаленный контент",\n "selectors.editsAndActivity.c2pa.drawing.description": "Используемые инструменты, например карандаши, кисти, ластики или другие инструменты (форма, контур или перо)",\n "selectors.editsAndActivity.c2pa.drawing.label": "Редактирование чертежа",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Заменено аудио",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Дублированный",\n "selectors.editsAndActivity.c2pa.edited.description": "Внесены другие изменения",\n "selectors.editsAndActivity.c2pa.edited.label": "Другие изменения",\n "selectors.editsAndActivity.c2pa.filtered.description": "Используемые инструменты для изменения внешнего вида, например фильтры, стили или эффекты",\n "selectors.editsAndActivity.c2pa.filtered.label": "Редактирование фильтров или стилей",\n "selectors.editsAndActivity.c2pa.opened.description": "Открыт ранее созданный файл",\n "selectors.editsAndActivity.c2pa.opened.label": "Открыто",\n "selectors.editsAndActivity.c2pa.orientation.description": "Изменено положение или ориентация (повернуто, перевернуто и т. д.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Ориентация правки",\n "selectors.editsAndActivity.c2pa.placed.description": "В этот файл добавлен уже существующий контент",\n "selectors.editsAndActivity.c2pa.placed.label": "Импортировано",\n "selectors.editsAndActivity.c2pa.published.description": "Изображение, которое получено и распространено",\n "selectors.editsAndActivity.c2pa.published.label": "Опубликованное изображение",\n "selectors.editsAndActivity.c2pa.removed.description": "Один или несколько ресурсов удалены из файла",\n "selectors.editsAndActivity.c2pa.removed.label": "Ресурс удален",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Ресурс переупакован без обработки",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Переупакованный ресурс",\n "selectors.editsAndActivity.c2pa.resized.description": "Изменены размеры изображения или размер файла",\n "selectors.editsAndActivity.c2pa.resized.label": "Изменение размеров",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Обработан или сжат ресурс для оптимизации при отображении",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Обработанный ресурс",\n "selectors.editsAndActivity.c2pa.translated.description": "Переведенный контент",\n "selectors.editsAndActivity.c2pa.translated.label": "Переведенный",\n "selectors.editsAndActivity.c2pa.unknown.description": "Внесены другие правки или выполнены иные действия, которые не удалось распознать",\n "selectors.editsAndActivity.c2pa.unknown.label": "Неизвестные изменения или действия",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Внесены изменения в метаданные файла",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Изменения метаданных"\n}, EN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Justerade egenskaper som ton, mättnad, kurvor, skuggor och högdagrar",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Ändringar av färg eller exponering",\n "selectors.editsAndActivity.c2pa.converted.description": "Formatet på mediefilen ändrades",\n "selectors.editsAndActivity.c2pa.converted.label": "Konverterade mediefilen",\n "selectors.editsAndActivity.c2pa.created.description": "Skapade en ny fil eller nytt innehåll",\n "selectors.editsAndActivity.c2pa.created.label": "Skapat",\n "selectors.editsAndActivity.c2pa.cropped.description": "Använde beskärningsverktyg, minskade eller utökade synligt innehållsområde",\n "selectors.editsAndActivity.c2pa.cropped.label": "Beskärningsändringar",\n "selectors.editsAndActivity.c2pa.deleted.description": "Raderade visuella områden eller innehållets varaktighet",\n "selectors.editsAndActivity.c2pa.deleted.label": "Raderade innehåll",\n "selectors.editsAndActivity.c2pa.drawing.description": "Använde verktyg som pennor, penslar, suddgummin eller verktygen form, bana eller penna",\n "selectors.editsAndActivity.c2pa.drawing.label": "Teckningsändringar",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Ersatte ljud",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dubbade",\n "selectors.editsAndActivity.c2pa.edited.description": "Gjorde andra ändringar",\n "selectors.editsAndActivity.c2pa.edited.label": "Andra ändringar",\n "selectors.editsAndActivity.c2pa.filtered.description": "Använde verktyg som filter, stilar eller effekter för att ändra utseende",\n "selectors.editsAndActivity.c2pa.filtered.label": "Redigering av filter eller stil",\n "selectors.editsAndActivity.c2pa.opened.description": "Öppnade en befintlig fil",\n "selectors.editsAndActivity.c2pa.opened.label": "Öppnat",\n "selectors.editsAndActivity.c2pa.orientation.description": "Ändrade placering eller orientering (roterad, vänd osv.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Orienteringsändringar",\n "selectors.editsAndActivity.c2pa.placed.description": "Lade till befintligt innehåll i den här filen",\n "selectors.editsAndActivity.c2pa.placed.label": "Importerat",\n "selectors.editsAndActivity.c2pa.published.description": "Mottagen och distribuerad bild",\n "selectors.editsAndActivity.c2pa.published.label": "Publicerade bild",\n "selectors.editsAndActivity.c2pa.removed.description": "En eller flera mediefiler togs bort från filen",\n "selectors.editsAndActivity.c2pa.removed.label": "Mediefilen togs bort",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Mediefilen packades om utan att bearbetas",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Paketerade om mediefilen",\n "selectors.editsAndActivity.c2pa.resized.description": "Ändrade mått eller filstorlek",\n "selectors.editsAndActivity.c2pa.resized.label": "Storleksändringar",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Bearbetade eller komprimerade en mediefil för att optimera för visning",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Bearbetade mediefilen",\n "selectors.editsAndActivity.c2pa.translated.description": "Översatte innehåll",\n "selectors.editsAndActivity.c2pa.translated.label": "Översatte",\n "selectors.editsAndActivity.c2pa.unknown.description": "Utförde andra redigeringar eller aktiviteter som inte kunde identifieras",\n "selectors.editsAndActivity.c2pa.unknown.label": "Okänd redigering eller aktivitet",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Ändrade i filmetadata",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Metadataändringar"\n}, TN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Ton, doygunluk, eğriler, gölgeler veya vurgular gibi ayarlanmış özellikler",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Renk veya pozlama düzenlemeleri",\n "selectors.editsAndActivity.c2pa.converted.description": "Varlığın formatı değiştirildi",\n "selectors.editsAndActivity.c2pa.converted.label": "Varlık dönüştürüldü",\n "selectors.editsAndActivity.c2pa.created.description": "Yeni bir dosya veya içerik oluşturuldu",\n "selectors.editsAndActivity.c2pa.created.label": "Oluşturuldu",\n "selectors.editsAndActivity.c2pa.cropped.description": "Kırpma araçları kullanılarak görünür içerik alanı küçültüldü veya genişletildi",\n "selectors.editsAndActivity.c2pa.cropped.label": "Kırpma düzenlemeleri",\n "selectors.editsAndActivity.c2pa.deleted.description": "İçeriğin görsel alanları veya süreleri silindi",\n "selectors.editsAndActivity.c2pa.deleted.label": "İçerik silindi",\n "selectors.editsAndActivity.c2pa.drawing.description": "Kurşun kalem, fırça, silgi veya şekil, yol ya da kalem araçları gibi araçlar kullanıldı",\n "selectors.editsAndActivity.c2pa.drawing.label": "Çizim düzenlemeleri",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Ses içeriği değiştirildi",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Dublajı yapıldı",\n "selectors.editsAndActivity.c2pa.edited.description": "Diğer değişiklikler yapıldı",\n "selectors.editsAndActivity.c2pa.edited.label": "Diğer düzenlemeler",\n "selectors.editsAndActivity.c2pa.filtered.description": "Görünümü değiştirmek için filtre, stil veya efekt gibi araçlar kullanıldı",\n "selectors.editsAndActivity.c2pa.filtered.label": "Filtre veya stil düzenlemeleri",\n "selectors.editsAndActivity.c2pa.opened.description": "Mevcut bir dosya açıldı",\n "selectors.editsAndActivity.c2pa.opened.label": "Açıldı",\n "selectors.editsAndActivity.c2pa.orientation.description": "Konum veya yönlendirme değiştirildi (döndürüldü, ters çevrildi vb.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Yönlendirme düzenlemeleri",\n "selectors.editsAndActivity.c2pa.placed.description": "Mevcut içerik bu dosyaya eklendi",\n "selectors.editsAndActivity.c2pa.placed.label": "İçe aktarıldı",\n "selectors.editsAndActivity.c2pa.published.description": "Görüntü alındı ve dağıtıldı",\n "selectors.editsAndActivity.c2pa.published.label": "Görüntü yayımlandığında",\n "selectors.editsAndActivity.c2pa.removed.description": "Dosyadan bir veya daha fazla varlık kaldırıldı",\n "selectors.editsAndActivity.c2pa.removed.label": "Varlık kaldırıldı",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Varlık işlenmeden yeniden paketlendi",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Varlık yeniden paketlendi",\n "selectors.editsAndActivity.c2pa.resized.description": "Boyutlar veya dosya boyutu değiştirildi",\n "selectors.editsAndActivity.c2pa.resized.label": "Yeniden boyutlandırma düzenlemeleri",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Ekran için optimize etmek üzere varlık işlendi veya sıkıştırıldı",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Varlık işlendi",\n "selectors.editsAndActivity.c2pa.translated.description": "İçerik çevrildi",\n "selectors.editsAndActivity.c2pa.translated.label": "Çevrildi",\n "selectors.editsAndActivity.c2pa.unknown.description": "Algılanamayan başka düzenlemeler veya etkinlikler gerçekleştirildi",\n "selectors.editsAndActivity.c2pa.unknown.label": "Bilinmeyen düzenlemeler veya etkinlikler",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Dosya meta verilerinde değişiklikler yapıldı",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Meta veri değişiklikleri"\n}, SN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Скориговано властивості, як-от тон, насиченість, криві, тіні або підсвічування",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Зміни кольору або експозиції",\n "selectors.editsAndActivity.c2pa.converted.description": "Формат ресурсу змінено",\n "selectors.editsAndActivity.c2pa.converted.label": "Перетворений ресурс",\n "selectors.editsAndActivity.c2pa.created.description": "Створено новий файл або вміст",\n "selectors.editsAndActivity.c2pa.created.label": "Створено",\n "selectors.editsAndActivity.c2pa.cropped.description": "Використано інструменти кадрування, зменшення або розширення області видимого вмісту",\n "selectors.editsAndActivity.c2pa.cropped.label": "Зміни кадрування",\n "selectors.editsAndActivity.c2pa.deleted.description": "Видалено візуальні області або тривалість вмісту",\n "selectors.editsAndActivity.c2pa.deleted.label": "Видалений вміст",\n "selectors.editsAndActivity.c2pa.drawing.description": "Використано інструменти, як-от олівці, пензлі, гумки, або інструменти для форм, контурів або пера",\n "selectors.editsAndActivity.c2pa.drawing.label": "Зміни малювання",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Замінене аудіо",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Дубльовано",\n "selectors.editsAndActivity.c2pa.edited.description": "Внесено інші зміни",\n "selectors.editsAndActivity.c2pa.edited.label": "Інші зміни",\n "selectors.editsAndActivity.c2pa.filtered.description": "Використано інструменти, як-от фільтри, стилі чи ефекти для зміни вигляду",\n "selectors.editsAndActivity.c2pa.filtered.label": "Зміни фільтру або стилю",\n "selectors.editsAndActivity.c2pa.opened.description": "Відкрито вже існуючий файл",\n "selectors.editsAndActivity.c2pa.opened.label": "Відкрито",\n "selectors.editsAndActivity.c2pa.orientation.description": "Змінено положення або орієнтація (повернуто, віддзеркалено тощо)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Зміни орієнтації",\n "selectors.editsAndActivity.c2pa.placed.description": "Додано вже існуючий вміст до цього файлу",\n "selectors.editsAndActivity.c2pa.placed.label": "Імпортовано",\n "selectors.editsAndActivity.c2pa.published.description": "Отримане й розповсюджене зображення",\n "selectors.editsAndActivity.c2pa.published.label": "Опубліковане зображення",\n "selectors.editsAndActivity.c2pa.removed.description": "Один або більше ресурсів видалено з файлу",\n "selectors.editsAndActivity.c2pa.removed.label": "Ресурс видалено",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Ресурс було запаковано повторно без обробки",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Повторно упакований ресурс",\n "selectors.editsAndActivity.c2pa.resized.description": "Змінено геометричні розміри або розмір файлу",\n "selectors.editsAndActivity.c2pa.resized.label": "Зміни розміру",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Оброблений або стиснутий ресурс для оптимізації під час відображення",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Оброблений ресурс",\n "selectors.editsAndActivity.c2pa.translated.description": "Перекладений вміст",\n "selectors.editsAndActivity.c2pa.translated.label": "Перекладено",\n "selectors.editsAndActivity.c2pa.unknown.description": "Виконано інші зміни або дії, які не вдалося розпізнати",\n "selectors.editsAndActivity.c2pa.unknown.label": "Невідомі зміни чи дії",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Внесено зміни в метадані файлу",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Зміни метаданих"\n}, xN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "Đã chỉnh sửa các thuộc tính như tông màu, độ bão hòa, đường cong, bóng hoặc vùng sáng",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "Chỉnh sửa màu sắc hoặc độ phơi sáng",\n "selectors.editsAndActivity.c2pa.converted.description": "Định dạng của tài nguyên đã bị thay đổi",\n "selectors.editsAndActivity.c2pa.converted.label": "Đã chuyển đổi tài nguyên",\n "selectors.editsAndActivity.c2pa.created.description": "Đã tạo một tệp hoặc nội dung mới",\n "selectors.editsAndActivity.c2pa.created.label": "Đã tạo",\n "selectors.editsAndActivity.c2pa.cropped.description": "Đã sử dụng các công cụ cắt xén, giảm hoặc mở rộng vùng nội dung hiển thị",\n "selectors.editsAndActivity.c2pa.cropped.label": "Chỉnh sửa cắt xén",\n "selectors.editsAndActivity.c2pa.deleted.description": "Đã xóa các khu vực hình ảnh hoặc thời lượng nội dung",\n "selectors.editsAndActivity.c2pa.deleted.label": "Đã xóa nội dung",\n "selectors.editsAndActivity.c2pa.drawing.description": "Đã sử dụng các công cụ như bút chì, bút vẽ, tẩy hoặc công cụ hình dạng, đường dẫn hoặc bút",\n "selectors.editsAndActivity.c2pa.drawing.label": "Chỉnh sửa bản vẽ",\n "selectors.editsAndActivity.c2pa.dubbed.description": "Đã thay thế âm thanh",\n "selectors.editsAndActivity.c2pa.dubbed.label": "Đã lồng tiếng",\n "selectors.editsAndActivity.c2pa.edited.description": "Đã thực hiện các thay đổi khác",\n "selectors.editsAndActivity.c2pa.edited.label": "Các chỉnh sửa khác",\n "selectors.editsAndActivity.c2pa.filtered.description": "Đã sử dụng các công cụ như bộ lọc, kiểu hoặc hiệu ứng để thay đổi giao diện",\n "selectors.editsAndActivity.c2pa.filtered.label": "Chỉnh sửa bộ lọc hoặc kiểu",\n "selectors.editsAndActivity.c2pa.opened.description": "Đã mở một tệp có sẵn",\n "selectors.editsAndActivity.c2pa.opened.label": "Đã mở",\n "selectors.editsAndActivity.c2pa.orientation.description": "Đã thay đổi vị trí hoặc hướng (xoay, lật, v.v.)",\n "selectors.editsAndActivity.c2pa.orientation.label": "Chỉnh sửa hướng",\n "selectors.editsAndActivity.c2pa.placed.description": "Đã thêm nội dung có sẵn vào tệp này",\n "selectors.editsAndActivity.c2pa.placed.label": "Đã nhập",\n "selectors.editsAndActivity.c2pa.published.description": "Đã nhận được và phân phối hình ảnh",\n "selectors.editsAndActivity.c2pa.published.label": "Đã xuất bản hình ảnh",\n "selectors.editsAndActivity.c2pa.removed.description": "Một hoặc nhiều tài nguyên đã bị xóa khỏi tệp",\n "selectors.editsAndActivity.c2pa.removed.label": "Tài nguyên bị xóa",\n "selectors.editsAndActivity.c2pa.repackaged.description": "Tài nguyên đã được đóng gói lại mà không được xử lý",\n "selectors.editsAndActivity.c2pa.repackaged.label": "Đã đóng gói lại tài nguyên",\n "selectors.editsAndActivity.c2pa.resized.description": "Đã thay đổi kích thước hoặc kích thước tệp",\n "selectors.editsAndActivity.c2pa.resized.label": "Chỉnh sửa thay đổi kích thước",\n "selectors.editsAndActivity.c2pa.transcoded.description": "Đã xử lý hoặc nén một tài nguyên để tối ưu hóa cho hiển thị",\n "selectors.editsAndActivity.c2pa.transcoded.label": "Đã xử lý tài nguyên",\n "selectors.editsAndActivity.c2pa.translated.description": "Đã dịch nội dung",\n "selectors.editsAndActivity.c2pa.translated.label": "Đã dịch",\n "selectors.editsAndActivity.c2pa.unknown.description": "Đã thực hiện các chỉnh sửa hoặc hoạt động khác không nhận diện được",\n "selectors.editsAndActivity.c2pa.unknown.label": "Các chỉnh sửa hoặc hoạt động không xác định",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "Đã thực hiện các thay đổi đối với siêu dữ liệu của tệp",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "Các thay đổi đối với siêu dữ liệu"\n}, zN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "调整后的属性,如色调、饱和度、曲线、阴影或高光",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "颜色或曝光度编辑",\n "selectors.editsAndActivity.c2pa.converted.description": "资产格式已更改",\n "selectors.editsAndActivity.c2pa.converted.label": "已转换的资产",\n "selectors.editsAndActivity.c2pa.created.description": "已创建新文件或内容",\n "selectors.editsAndActivity.c2pa.created.label": "已创建",\n "selectors.editsAndActivity.c2pa.cropped.description": "已使用的裁切工具(用于减少或扩大可见内容区域)",\n "selectors.editsAndActivity.c2pa.cropped.label": "裁切编辑",\n "selectors.editsAndActivity.c2pa.deleted.description": "删除了可视区域或内容时长",\n "selectors.editsAndActivity.c2pa.deleted.label": "删除的内容",\n "selectors.editsAndActivity.c2pa.drawing.description": "已使用的工具,如铅笔、画笔、橡皮擦、形状、路径或钢笔工具",\n "selectors.editsAndActivity.c2pa.drawing.label": "绘图编辑",\n "selectors.editsAndActivity.c2pa.dubbed.description": "替换的音频",\n "selectors.editsAndActivity.c2pa.dubbed.label": "已配音",\n "selectors.editsAndActivity.c2pa.edited.description": "已执行其他更改",\n "selectors.editsAndActivity.c2pa.edited.label": "其他编辑",\n "selectors.editsAndActivity.c2pa.filtered.description": "已使用过滤器、样式或效果等工具来更改外观",\n "selectors.editsAndActivity.c2pa.filtered.label": "过滤器或样式编辑",\n "selectors.editsAndActivity.c2pa.opened.description": "已打开一个预先存在的文件",\n "selectors.editsAndActivity.c2pa.opened.label": "已打开",\n "selectors.editsAndActivity.c2pa.orientation.description": "已改变位置或方向(旋转、翻转等)",\n "selectors.editsAndActivity.c2pa.orientation.label": "方向编辑",\n "selectors.editsAndActivity.c2pa.placed.description": "已向此文件添加预先存在的内容",\n "selectors.editsAndActivity.c2pa.placed.label": "已导入",\n "selectors.editsAndActivity.c2pa.published.description": "收到和分发了图像",\n "selectors.editsAndActivity.c2pa.published.label": "发布了图像",\n "selectors.editsAndActivity.c2pa.removed.description": "已从文件中移除一个或多个资产",\n "selectors.editsAndActivity.c2pa.removed.label": "资产已移除",\n "selectors.editsAndActivity.c2pa.repackaged.description": "资产已在未经处理的情况下重新包装",\n "selectors.editsAndActivity.c2pa.repackaged.label": "重新包装的资产",\n "selectors.editsAndActivity.c2pa.resized.description": "已更改尺寸或文件大小",\n "selectors.editsAndActivity.c2pa.resized.label": "调整编辑大小",\n "selectors.editsAndActivity.c2pa.transcoded.description": "已处理或压缩资产,以优化显示",\n "selectors.editsAndActivity.c2pa.transcoded.label": "已处理的资产",\n "selectors.editsAndActivity.c2pa.translated.description": "翻译的内容",\n "selectors.editsAndActivity.c2pa.translated.label": "已翻译",\n "selectors.editsAndActivity.c2pa.unknown.description": "已执行其他无法识别的编辑或活动",\n "selectors.editsAndActivity.c2pa.unknown.label": "未知的编辑或活动",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "更改了文件元数据",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "元数据更改"\n}, DN = {\n "selectors.editsAndActivity.c2pa.color_adjustments.description": "調整了屬性,如色調、飽和度、曲線、陰影或亮部",\n "selectors.editsAndActivity.c2pa.color_adjustments.label": "顏色或曝光編輯",\n "selectors.editsAndActivity.c2pa.converted.description": "資產的格式已變更",\n "selectors.editsAndActivity.c2pa.converted.label": "轉換了資產",\n "selectors.editsAndActivity.c2pa.created.description": "建立了新檔案或內容",\n "selectors.editsAndActivity.c2pa.created.label": "已建立",\n "selectors.editsAndActivity.c2pa.cropped.description": "使用了裁切工具,縮減或擴大可見內容區域",\n "selectors.editsAndActivity.c2pa.cropped.label": "裁切編輯",\n "selectors.editsAndActivity.c2pa.deleted.description": "刪除了內容的視覺區域或持續時間",\n "selectors.editsAndActivity.c2pa.deleted.label": "刪除了內容",\n "selectors.editsAndActivity.c2pa.drawing.description": "使用了鉛筆、筆刷、橡皮擦等工具,或是形狀、路徑或筆型工具",\n "selectors.editsAndActivity.c2pa.drawing.label": "繪圖編輯",\n "selectors.editsAndActivity.c2pa.dubbed.description": "取代了音訊",\n "selectors.editsAndActivity.c2pa.dubbed.label": "已配音",\n "selectors.editsAndActivity.c2pa.edited.description": "進行了其他變更",\n "selectors.editsAndActivity.c2pa.edited.label": "其他編輯",\n "selectors.editsAndActivity.c2pa.filtered.description": "使用了濾鏡、樣式或效果等工具來變更外觀",\n "selectors.editsAndActivity.c2pa.filtered.label": "濾鏡或風格編輯",\n "selectors.editsAndActivity.c2pa.opened.description": "開啟了已存在的檔案",\n "selectors.editsAndActivity.c2pa.opened.label": "已開啟",\n "selectors.editsAndActivity.c2pa.orientation.description": "變更了位置或方向 (旋轉、翻轉等)",\n "selectors.editsAndActivity.c2pa.orientation.label": "方向編輯",\n "selectors.editsAndActivity.c2pa.placed.description": "對此檔案新增了已存在的內容",\n "selectors.editsAndActivity.c2pa.placed.label": "已讀入",\n "selectors.editsAndActivity.c2pa.published.description": "接收和散發了影像",\n "selectors.editsAndActivity.c2pa.published.label": "發佈了影像",\n "selectors.editsAndActivity.c2pa.removed.description": "一項或多項資產已從檔案中移除",\n "selectors.editsAndActivity.c2pa.removed.label": "移除的資產",\n "selectors.editsAndActivity.c2pa.repackaged.description": "資產未經處理就重新封裝",\n "selectors.editsAndActivity.c2pa.repackaged.label": "重新封裝了資產",\n "selectors.editsAndActivity.c2pa.resized.description": "變更了尺寸或檔案大小",\n "selectors.editsAndActivity.c2pa.resized.label": "調整大小編輯",\n "selectors.editsAndActivity.c2pa.transcoded.description": "處理或壓縮了要最佳化顯示的資產",\n "selectors.editsAndActivity.c2pa.transcoded.label": "處理了資產",\n "selectors.editsAndActivity.c2pa.translated.description": "翻譯了內容",\n "selectors.editsAndActivity.c2pa.translated.label": "已翻譯",\n "selectors.editsAndActivity.c2pa.unknown.description": "執行了其他無法辨識的編輯或活動",\n "selectors.editsAndActivity.c2pa.unknown.label": "未知的編輯或活動",\n "selectors.editsAndActivity.c2pa.watermarked.description": "Applied an invisible watermark to improve this Content Credential\'s durability",\n "selectors.editsAndActivity.c2pa.watermarked.label": "Watermarked",\n "selectors.editsAndActivity.c2pa.edited.metadata.description": "對檔案中繼資料進行了變更",\n "selectors.editsAndActivity.c2pa.edited.metadata.label": "中繼資料變更"\n}, BN = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n cs_CZ: lN,\n da_DK: dN,\n de_DE: cN,\n en_US: uN,\n es_ES: pN,\n fi_FI: fN,\n fr_FR: mN,\n hu_HU: hN,\n id_ID: vN,\n it_IT: gN,\n ja_JP: bN,\n ko_KR: CN,\n nb_NO: yN,\n nl_NL: AN,\n pl_PL: kN,\n pt_BR: wN,\n ru_RU: _N,\n sv_SE: EN,\n tr_TR: TN,\n uk_UA: SN,\n vi_VN: xN,\n zh_CN: zN,\n zh_TW: DN\n}), IN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20AlertCircle%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M7.84555%2C12.88618a1.13418%2C1.13418%2C0%2C0%2C1%2C1.1161-1.15195q.042-.00064.08391.00178a1.116%2C1.116%2C0%2C0%2C1%2C1.2%2C1.15017%2C1.09065%2C1.09065%2C0%2C0%2C1-1.2%2C1.11661%2C1.0908%2C1.0908%2C0%2C0%2C1-1.2-1.11661ZM10.0625%2C4.39771a.20792.20792%2C0%2C0%2C1%2C.09966.183V5.62212c0%2C1.40034-.28322%2C3.98034-.33305%2C4.48067%2C0%2C.04984-.01678.09967-.11695.09967H8.379a.11069.11069%2C0%2C0%2C1-.11695-.09967c-.03305-.46678-.3-3.0305-.3-4.43084V4.6306a.1773.1773%2C0%2C0%2C1%2C.08339-.18306%2C2.88262%2C2.88262%2C0%2C0%2C1%2C1.00017-.20033A3.27435%2C3.27435%2C0%2C0%2C1%2C10.0625%2C4.39771ZM17.50005%2C9A8.50005%2C8.50005%2C0%2C1%2C1%2C9%2C.5H9A8.50008%2C8.50008%2C0%2C0%2C1%2C17.50005%2C9ZM15.67484%2C9A6.67485%2C6.67485%2C0%2C1%2C0%2C9%2C15.6748H9A6.67479%2C6.67479%2C0%2C0%2C0%2C15.67484%2C9Z%22%20%2F%3E%3C%2Fsvg%3E", jN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20ColorPalette%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M11.807%2C3.0725c-2.1855-.35-4.503%2C0-4.824%2C1.046a1.146%2C1.146%2C0%2C0%2C0%2C.647%2C1.454A1.549%2C1.549%2C0%2C0%2C1%2C8.1995%2C7.843a1.41449%2C1.41449%2C0%2C0%2C1-1.5625.563C4.763%2C7.9325%2C2.6905%2C6.965.9945%2C8.5785-.55%2C10.05.079%2C12.233%2C1.577%2C13.421a11.7%2C11.7%2C0%2C0%2C0%2C7.2565%2C2.637c4.793%2C0%2C9.0665-2.8255%2C9.0665-6.558C17.9%2C5.721%2C14.316%2C3.4715%2C11.807%2C3.0725Zm-7.46%2C10.654a1.9%2C1.9%2C0%2C1%2C1%2C1.9-1.9A1.9%2C1.9%2C0%2C0%2C1%2C4.347%2C13.7265Zm9.643-8.017a1.25%2C1.25%2C0%2C1%2C1-1.25%2C1.25A1.25%2C1.25%2C0%2C0%2C1%2C13.99%2C5.7095Zm-5.351%2C9.07a1.7805%2C1.7805%2C0%2C1%2C1%2C1.7795-1.7825V13A1.78%2C1.78%2C0%2C0%2C1%2C8.639%2C14.7795Zm3.895-.748a1.5035%2C1.5035%2C0%2C1%2C1%2C1.501-1.507v.005A1.50249%2C1.50249%2C0%2C0%2C1%2C12.534%2C14.0315ZM15%2C11.28a1.3375%2C1.3375%2C0%2C1%2C1%2C1.337-1.338v.0005A1.337%2C1.337%2C0%2C0%2C1%2C15.0005%2C11.28Z%22%20%2F%3E%3C%2Fsvg%3E", PN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Crop%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M12%2C11h2V4.5a.5.5%2C0%2C0%2C0-.5-.5H7V6h5Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M6%2C12V1.5A.5.5%2C0%2C0%2C0%2C5.5%2C1h-1a.5.5%2C0%2C0%2C0-.5.5V4H1.5a.5.5%2C0%2C0%2C0-.5.5v1a.5.5%2C0%2C0%2C0%2C.5.5H4v7.5a.5.5%2C0%2C0%2C0%2C.5.5H12v2.5a.5.5%2C0%2C0%2C0%2C.5.5h1a.5.5%2C0%2C0%2C0%2C.5-.5V14h2.5a.5.5%2C0%2C0%2C0%2C.5-.5v-1a.5.5%2C0%2C0%2C0-.5-.5Z%22%20%2F%3E%3C%2Fsvg%3E", LN = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.9118%2013.2582C10.9076%2013.3469%2010.8704%2013.4313%2010.807%2013.491C10.7477%2013.5463%2010.6705%2013.5769%2010.5919%2013.5769H10.5809H10.454C10.3686%2013.5725%2010.2914%2013.5332%2010.2348%2013.4677C10.1769%2013.4008%2010.1466%2013.3135%2010.1521%2013.2233L10.5175%206.09303C10.5257%205.9155%2010.6636%205.77435%2010.8318%205.7758H10.971C11.0551%205.78017%2011.1337%205.81946%2011.1889%205.88494C11.2468%205.94897%2011.2771%206.03482%2011.273%206.12358L10.9118%2013.2582ZM6.42279%203.00083H9.58272V2.33437H6.42279V3.00083ZM8.38327%2013.2378C8.38327%2013.4212%208.24265%2013.571%208.06756%2013.5725H7.94072C7.76562%2013.5725%207.62362%2013.4226%207.62362%2013.2393V6.10903C7.62362%205.92423%207.76562%205.7758%207.94072%205.7758H8.06756C8.24127%205.7758%208.38327%205.92423%208.38327%206.10903V13.2378ZM5.56664%2013.5667H5.43842C5.26746%2013.571%205.12408%2013.4299%205.11443%2013.2495L4.71875%206.13523C4.70772%205.95188%204.84007%205.79326%205.01379%205.78162H5.02206L5.15855%205.77435C5.32812%205.77289%205.46737%205.91404%205.47564%206.09303L5.86305%2013.2233C5.86719%2013.3077%205.83824%2013.3906%205.78585%2013.4561C5.72932%2013.5216%205.65074%2013.5609%205.56664%2013.5667ZM10.847%203.00083V2.33437C10.847%201.59661%2010.2817%201%209.58272%201H6.42279C5.72518%201%205.15855%201.59661%205.15855%202.33437V3.00083H2.3171C2.14476%203.00083%202.00414%203.14635%202%203.32824V4.66261C2%204.84596%202.142%204.99584%202.3171%204.99584H2.68934L3.32077%2014.3335C3.32077%2014.7017%203.6034%2015%203.95221%2015H12.0464C12.3952%2015%2012.6778%2014.7017%2012.6778%2014.3335L13.3051%205.00166H13.6857C13.8594%205.00166%2014%204.85178%2014%204.66843V3.32824C13.9972%203.1478%2013.8608%203.00374%2013.6912%203.00083H10.847Z%22%20fill%3D%22%236E6E6E%22%2F%3E%3C%2Fsvg%3E%20", ON = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Draw%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M10.227%2C4%2C2.542%2C11.686a.496.496%2C0%2C0%2C0-.1255.2105L1.0275%2C16.55c-.057.188.2295.425.3915.425a.15587.15587%2C0%2C0%2C0%2C.031-.003c.138-.032%2C3.9335-1.172%2C4.6555-1.389a.492.492%2C0%2C0%2C0%2C.2075-.125L14%2C7.772ZM5.7%2C14.658c-1.0805.3245-2.431.7325-3.3645%2C1.011L3.34%2C12.304Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M16.7835%2C4.1%2C13.9%2C1.216a.60751.60751%2C0%2C0%2C0-.433-.1765H13.45a.686.686%2C0%2C0%2C0-.4635.2035l-2.05%2C2.05L14.708%2C7.0645l2.05-2.05a.686.686%2C0%2C0%2C0%2C.2-.4415A.612.612%2C0%2C0%2C0%2C16.7835%2C4.1Z%22%20%2F%3E%3C%2Fsvg%3E", MN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20EditInLight%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M17.8225%2C8.3425%2C15.6605%2C6.181a.456.456%2C0%2C0%2C0-.325-.1325h-.014a.51748.51748%2C0%2C0%2C0-.35.15l-7.616%2C7.621a.368.368%2C0%2C0%2C0-.094.1575l-1.222%2C3.67c-.0425.141.1725.319.294.319l.023-.0025c.1035-.024%2C3.13-1.059%2C3.672-1.222a.36653.36653%2C0%2C0%2C0%2C.155-.0935L17.8%2C9.0295a.515.515%2C0%2C0%2C0%2C.15-.331A.458.458%2C0%2C0%2C0%2C17.8225%2C8.3425Zm-10.803%2C8.644.989-2.7595%2C1.77%2C1.7655C8.968%2C16.236%2C7.7195%2C16.7775%2C7.0195%2C16.9865Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M13.5%2C1H1.5a.5.5%2C0%2C0%2C0-.5.5v12a.5.5%2C0%2C0%2C0%2C.5.5H6.0385l.1125-.339a1.35%2C1.35%2C0%2C0%2C1%2C.336-.55L6.6%2C13H2V2H13V6.583l1-1V1.5A.5.5%2C0%2C0%2C0%2C13.5%2C1Z%22%20%2F%3E%3C%2Fsvg%3E", FN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Import%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M16.5%2C1H5.5a.5.5%2C0%2C0%2C0-.5.5v3a.5.5%2C0%2C0%2C0%2C.5.5h1A.5.5%2C0%2C0%2C0%2C7%2C4.5V3h8V15H7V13.5a.5.5%2C0%2C0%2C0-.5-.5h-1a.5.5%2C0%2C0%2C0-.5.5v3a.5.5%2C0%2C0%2C0%2C.5.5h11a.5.5%2C0%2C0%2C0%2C.5-.5V1.5A.5.5%2C0%2C0%2C0%2C16.5%2C1Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22a%22%20d%3D%22M8%2C12.6a.4.4%2C0%2C0%2C0%2C.4.4.39352.39352%2C0%2C0%2C0%2C.2635-.1l3.762-3.7225a.25.25%2C0%2C0%2C0%2C0-.35L8.666%2C5.1A.39352.39352%2C0%2C0%2C0%2C8.4025%2C5a.4.4%2C0%2C0%2C0-.4.4V8H1.5a.5.5%2C0%2C0%2C0-.5.5v1a.5.5%2C0%2C0%2C0%2C.5.5H8Z%22%20%2F%3E%3C%2Fsvg%3E", $N = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Layers%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M14.144%2C9.969%2C9.2245%2C13.3825a.3945.3945%2C0%2C0%2C1-.45%2C0L3.856%2C9.969.929%2C12a.1255.1255%2C0%2C0%2C0%2C0%2C.2055l7.925%2C5.5a.2575.2575%2C0%2C0%2C0%2C.292%2C0l7.925-5.5a.1255.1255%2C0%2C0%2C0%2C0-.2055Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22a%22%20d%3D%22M8.85%2C11.494.929%2C6a.1245.1245%2C0%2C0%2C1%2C0-.205L8.85.297a.265.265%2C0%2C0%2C1%2C.3%2C0l7.921%2C5.496a.1245.1245%2C0%2C0%2C1%2C0%2C.205L9.15%2C11.494A.265.265%2C0%2C0%2C1%2C8.85%2C11.494Z%22%20%2F%3E%3C%2Fsvg%3E", RN = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14.5348%206.89202L7.77471%200.132017C7.69017%200.0475053%207.57553%203.89544e-05%207.456%206.10352e-05H1.78404C1.53516%206.10352e-05%201.3334%200.201804%201.33337%200.450683V6.12268C1.33338%206.24221%201.38085%206.35684%201.46533%206.44139L8.22538%2013.2014C8.40143%2013.3773%208.68675%2013.3773%208.86279%2013.2014L14.5348%207.52935C14.7107%207.35333%2014.7107%207.06804%2014.5348%206.89202ZM4.44449%204.44446C3.9052%204.44446%203.41901%204.1196%203.21264%203.62136C3.00627%203.12312%203.12035%202.54963%203.50169%202.1683C3.88304%201.78697%204.45654%201.67291%204.95477%201.8793C5.453%202.0857%205.77784%202.57189%205.77782%203.11118C5.77773%203.84752%205.18082%204.4444%204.44449%204.44446ZM14.1773%209.29527L14.5347%209.64754C14.6191%209.73034%2014.6667%209.84363%2014.6667%209.96189C14.6667%2010.0802%2014.6191%2010.1934%2014.5347%2010.2762L8.86261%2015.87C8.68557%2016.0433%208.40242%2016.0433%208.22537%2015.87L1.46542%209.20337C1.38108%209.12045%201.33351%209.00716%201.33337%208.88888V7.55555C1.33348%207.67378%201.38105%207.78702%201.46542%207.86986L8.22539%2014.5365C8.40237%2014.71%208.68565%2014.71%208.86263%2014.5365L14.1773%209.29527Z%22%20fill%3D%22%23222222%22%2F%3E%3C%2Fsvg%3E", NN = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.5%203V7C9.5%207.82843%208.82843%208.5%208%208.5C7.17157%208.5%206.5%207.82843%206.5%207V3C6.5%202.17157%207.17157%201.5%208%201.5C8.82843%201.5%209.5%202.17157%209.5%203ZM5%203C5%201.34315%206.34315%200%208%200C9.65685%200%2011%201.34315%2011%203V7C11%208.65685%209.65685%2010%208%2010C6.34315%2010%205%208.65685%205%207V3ZM3.5%207C3.5%209.48528%205.51472%2011.5%208%2011.5C10.4853%2011.5%2012.5%209.48528%2012.5%207H14C14%2010.0597%2011.7097%2012.5845%208.75%2012.9536V14.5H12V16H4V14.5H7.25V12.9536C4.29027%2012.5845%202%2010.0597%202%207H3.5Z%22%20fill%3D%22%236E6E6E%22%2F%3E%3C%2Fsvg%3E", WN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20NewItem%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M15.5%2C2H2.5a.5.5%2C0%2C0%2C0-.5.5V9H8.5a.5.5%2C0%2C0%2C1%2C.5.5V16h6.5a.5.5%2C0%2C0%2C0%2C.5-.5V2.5A.5.5%2C0%2C0%2C0%2C15.5%2C2Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M8%2C16H7.957a.5.5%2C0%2C0%2C1-.3535-.1465l-5.457-5.457A.5.5%2C0%2C0%2C1%2C2%2C10.043V10H8Z%22%20%2F%3E%3C%2Fsvg%3E", UN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Orbit%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M13.8785%2C6.9355A3.9915%2C3.9915%2C0%2C0%2C0%2C6.35%2C4.374c-.331-.0255-.659-.045-.974-.045C2.6525%2C4.329.5785%2C5.2745.1%2C7c-.52%2C1.8845%2C1.019%2C4.186%2C3.678%2C5.973L2.3545%2C14.6805A.1905.1905%2C0%2C0%2C0%2C2.5%2C14.993H8.95L6.045%2C10.635a.191.191%2C0%2C0%2C0-.305-.0165L4.7555%2C11.8c-2.25-1.471-3.5-3.25-3.1855-4.3935.261-.944%2C1.756-1.554%2C3.8085-1.554.2055%2C0%2C.421.018.633.0305C6.0115%2C5.923%2C6%2C5.96%2C6%2C6a3.9925%2C3.9925%2C0%2C0%2C0%2C7.2385%2C2.332c2.2%2C1.4605%2C3.4045%2C3.214%2C3.091%2C4.345-.2605.944-1.7555%2C1.554-3.807%2C1.554-.283%2C0-.5745-.0155-.87-.041a.3805.3805%2C0%2C0%2C0-.41571.34168l-.00179.03382v.766a.386.386%2C0%2C0%2C0%2C.353.3835c.3185.025.631.0395.9345.0395%2C2.725%2C0%2C4.8-.9455%2C5.276-2.671C18.3365%2C11.1395%2C16.694%2C8.7445%2C13.8785%2C6.9355Z%22%20%2F%3E%3C%2Fsvg%3E", HN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Properties%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M16.75%2C3H7.95a2.5%2C2.5%2C0%2C0%2C0-4.9%2C0H1.25A.25.25%2C0%2C0%2C0%2C1%2C3.25v.5A.25.25%2C0%2C0%2C0%2C1.25%2C4h1.8a2.5%2C2.5%2C0%2C0%2C0%2C4.9%2C0h8.8A.25.25%2C0%2C0%2C0%2C17%2C3.75v-.5A.25.25%2C0%2C0%2C0%2C16.75%2C3ZM5.5%2C5A1.5%2C1.5%2C0%2C1%2C1%2C7%2C3.5%2C1.5%2C1.5%2C0%2C0%2C1%2C5.5%2C5Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M16.75%2C13H9.95a2.5%2C2.5%2C0%2C0%2C0-4.9%2C0H1.25a.25.25%2C0%2C0%2C0-.25.25v.5a.25.25%2C0%2C0%2C0%2C.25.25h3.8a2.5%2C2.5%2C0%2C0%2C0%2C4.9%2C0h6.8a.25.25%2C0%2C0%2C0%2C.25-.25v-.5A.25.25%2C0%2C0%2C0%2C16.75%2C13ZM7.5%2C15A1.5%2C1.5%2C0%2C1%2C1%2C9%2C13.5%2C1.5%2C1.5%2C0%2C0%2C1%2C7.5%2C15Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M1%2C8.25v.5A.25.25%2C0%2C0%2C0%2C1.25%2C9h8.8a2.5%2C2.5%2C0%2C0%2C0%2C4.9%2C0h1.8A.25.25%2C0%2C0%2C0%2C17%2C8.75v-.5A.25.25%2C0%2C0%2C0%2C16.75%2C8h-1.8a2.5%2C2.5%2C0%2C0%2C0-4.9%2C0H1.25A.25.25%2C0%2C0%2C0%2C1%2C8.25ZM11%2C8.5A1.5%2C1.5%2C0%2C1%2C1%2C12.5%2C10%2C1.5%2C1.5%2C0%2C0%2C1%2C11%2C8.5Z%22%20%2F%3E%3C%2Fsvg%3E", GN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Resize%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M15.5%2C2H2.5a.5.5%2C0%2C0%2C0-.5.5v13a.5.5%2C0%2C0%2C0%2C.5.5h13a.5.5%2C0%2C0%2C0%2C.5-.5V2.5A.5.5%2C0%2C0%2C0%2C15.5%2C2ZM9%2C10.414l2.207-2.207%2C1.366%2C1.366A.25.25%2C0%2C0%2C0%2C13%2C9.3965V5H8.6035a.25.25%2C0%2C0%2C0-.177.427l1.366%2C1.366L7.586%2C9H4V4H14V14H9Z%22%20%2F%3E%3C%2Fsvg%3E", VN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20RotateLeftOutline%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M16.5%2C5H5.5a.5.5%2C0%2C0%2C0-.5.5v11a.5.5%2C0%2C0%2C0%2C.5.5h11a.5.5%2C0%2C0%2C0%2C.5-.5V5.5A.5.5%2C0%2C0%2C0%2C16.5%2C5ZM16%2C16H6V6H16Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M3.75%2C7.5h-1V6a3%2C3%2C0%2C0%2C1%2C3-3h1a.5.5%2C0%2C0%2C0%2C.5-.5V2a.5.5%2C0%2C0%2C0-.5-.5h-1A4.5%2C4.5%2C0%2C0%2C0%2C1.25%2C6V7.5h-1A.25.25%2C0%2C0%2C0%2C0%2C7.75a.245.245%2C0%2C0%2C0%2C.0735.175L1.842%2C9.9415a.25.25%2C0%2C0%2C0%2C.316%2C0L3.9265%2C7.925A.245.245%2C0%2C0%2C0%2C4%2C7.75.25.25%2C0%2C0%2C0%2C3.75%2C7.5Z%22%20%2F%3E%3C%2Fsvg%3E", qN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.fill%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20SaveToLight%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22fill%22%20d%3D%22M16.5%2C4H13V5h3V15H2V5H5V4H1.5a.5.5%2C0%2C0%2C0-.5.5v11a.5.5%2C0%2C0%2C0%2C.5.5h15a.5.5%2C0%2C0%2C0%2C.5-.5V4.5A.5.5%2C0%2C0%2C0%2C16.5%2C4Z%22%20%2F%3E%20%20%3Cpath%20class%3D%22fill%22%20d%3D%22M12.3965%2C7H10V.25A.25.25%2C0%2C0%2C0%2C9.75%2C0H8.25A.25.25%2C0%2C0%2C0%2C8%2C.25V7H5.6035a.25.25%2C0%2C0%2C0-.1765.427L9%2C11l3.573-3.573A.25.25%2C0%2C0%2C0%2C12.3965%2C7Z%22%20%2F%3E%3C%2Fsvg%3E", KN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20Text%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M2.5%2C2a.5.5%2C0%2C0%2C0-.5.5v3a.5.5%2C0%2C0%2C0%2C.5.5h1A.5.5%2C0%2C0%2C0%2C4%2C5.5V4H8V14H6.5a.5.5%2C0%2C0%2C0-.5.5v1a.5.5%2C0%2C0%2C0%2C.5.5h5a.5.5%2C0%2C0%2C0%2C.5-.5v-1a.5.5%2C0%2C0%2C0-.5-.5H10V4h4V5.5a.5.5%2C0%2C0%2C0%2C.5.5h1a.5.5%2C0%2C0%2C0%2C.5-.5v-3a.5.5%2C0%2C0%2C0-.5-.5Z%22%20%2F%3E%3C%2Fsvg%3E", ZN = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%20%3Cpath%20d%3D%22M3.53409%2012.3643V11.7393H2.90909H2.18182C1.75777%2011.7393%201.35777%2011.5799%201.06819%2011.3063C0.779822%2011.034%200.625%2010.6725%200.625%2010.3036V2.06071C0.625%201.69183%200.779822%201.3303%201.06819%201.05794C1.35777%200.784434%201.75777%200.625%202.18182%200.625H13.8182C14.2422%200.625%2014.6422%200.784434%2014.9318%201.05794C15.2202%201.3303%2015.375%201.69183%2015.375%202.06071V10.3036C15.375%2010.6725%2015.2202%2011.034%2014.9318%2011.3063C14.6422%2011.5799%2014.2422%2011.7393%2013.8182%2011.7393H7.27273H7.02423L6.84358%2011.9099L3.53409%2015.0357V12.3643Z%22%20stroke%3D%22%236E6E6E%22%20stroke-width%3D%221.25%22%2F%3E%20%20%3Cpath%20d%3D%22M2.75%204H11.75%22%20stroke%3D%22%236E6E6E%22%20stroke-width%3D%221.25%22%2F%3E%20%20%3Cpath%20d%3D%22M10.25%202L13.25%204L10.25%206V2Z%22%20fill%3D%22%236E6E6E%22%2F%3E%20%20%3Cpath%20d%3D%22M13.25%208H4.25%22%20stroke%3D%22%236E6E6E%22%20stroke-width%3D%221.25%22%2F%3E%20%20%3Cpath%20d%3D%22M5.75%206L2.75%208L5.75%2010V6Z%22%20fill%3D%22%236E6E6E%22%2F%3E%3C%2Fsvg%3E", YN = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%3E%20%20%3Cdefs%3E%20%20%20%20%3Cstyle%3E%20%20%20%20%20%20.a%20%7B%20%20%20%20%20%20%20%20fill%3A%20%236E6E6E%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%20%20%3C%2Fdefs%3E%20%20%3Ctitle%3ES%20VideoOutline%2018%20N%3C%2Ftitle%3E%20%20%3Crect%20id%3D%22Canvas%22%20fill%3D%22%23ff13dc%22%20opacity%3D%220%22%20width%3D%2218%22%20height%3D%2218%22%20%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M15.5%2C2H2.5a.5.5%2C0%2C0%2C0-.5.5v13a.5.5%2C0%2C0%2C0%2C.5.5h13a.5.5%2C0%2C0%2C0%2C.5-.5V2.5A.5.5%2C0%2C0%2C0%2C15.5%2C2ZM5%2C14.75a.25.25%2C0%2C0%2C1-.25.25H3.25A.25.25%2C0%2C0%2C1%2C3%2C14.75v-1.5A.25.25%2C0%2C0%2C1%2C3.25%2C13h1.5a.25.25%2C0%2C0%2C1%2C.25.25Zm0-3.353a.25.25%2C0%2C0%2C1-.25.25H3.25a.25.25%2C0%2C0%2C1-.25-.25v-1.5a.25.25%2C0%2C0%2C1%2C.25-.25h1.5a.25.25%2C0%2C0%2C1%2C.25.25ZM5%2C8.103a.25.25%2C0%2C0%2C1-.25.25H3.25A.25.25%2C0%2C0%2C1%2C3%2C8.103v-1.5a.25.25%2C0%2C0%2C1%2C.25-.25h1.5a.25.25%2C0%2C0%2C1%2C.25.25ZM5%2C4.75A.25.25%2C0%2C0%2C1%2C4.75%2C5H3.25A.25.25%2C0%2C0%2C1%2C3%2C4.75V3.25A.25.25%2C0%2C0%2C1%2C3.25%2C3h1.5A.25.25%2C0%2C0%2C1%2C5%2C3.25ZM12%2C15H6V10h6Zm0-7H6V3h6Zm3%2C6.75a.25.25%2C0%2C0%2C1-.25.25h-1.5a.25.25%2C0%2C0%2C1-.25-.25v-1.5a.25.25%2C0%2C0%2C1%2C.25-.25h1.5a.25.25%2C0%2C0%2C1%2C.25.25Zm0-3.353a.25.25%2C0%2C0%2C1-.25.25h-1.5a.25.25%2C0%2C0%2C1-.25-.25v-1.5a.25.25%2C0%2C0%2C1%2C.25-.25h1.5a.25.25%2C0%2C0%2C1%2C.25.25Zm0-3.294a.25.25%2C0%2C0%2C1-.25.25h-1.5a.25.25%2C0%2C0%2C1-.25-.25v-1.5a.25.25%2C0%2C0%2C1%2C.25-.25h1.5a.25.25%2C0%2C0%2C1%2C.25.25ZM15%2C4.75a.25.25%2C0%2C0%2C1-.25.25h-1.5A.25.25%2C0%2C0%2C1%2C13%2C4.75V3.25A.25.25%2C0%2C0%2C1%2C13.25%2C3h1.5a.25.25%2C0%2C0%2C1%2C.25.25Z%22%20%2F%3E%3C%2Fsvg%3E", JN = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M12.5725%208.86133L8.1996%2011.8956C8.14088%2011.9363%208.07109%2011.9582%207.9996%2011.9582C7.92811%2011.9582%207.85832%2011.9363%207.7996%2011.8956L3.4276%208.86133L0.825822%2010.6667C0.811151%2010.677%200.799174%2010.6906%200.790906%2010.7065C0.782637%2010.7224%200.77832%2010.7401%200.77832%2010.758C0.77832%2010.7759%200.782637%2010.7936%200.790906%2010.8095C0.799174%2010.8254%200.811151%2010.839%200.825822%2010.8493L7.87027%2015.7382C7.90844%2015.7645%207.9537%2015.7786%208.00004%2015.7786C8.04639%2015.7786%208.09164%2015.7645%208.12982%2015.7382L15.1743%2010.8493C15.1889%2010.839%2015.2009%2010.8254%2015.2092%2010.8095C15.2175%2010.7936%2015.2218%2010.7759%2015.2218%2010.758C15.2218%2010.7401%2015.2175%2010.7224%2015.2092%2010.7065C15.2009%2010.6906%2015.1889%2010.677%2015.1743%2010.6667L12.5725%208.86133Z%22%20fill%3D%22%236E6E6E%22%2F%3E%20%3Cpath%20d%3D%22M2.01049%205.24206L8.00045%201.0844L13.9903%205.24047L8.00034%209.39661L2.01049%205.24206Z%22%20stroke%3D%22%236E6E6E%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E%20";\nconst XN = {\n "c2pa.color_adjustments": jN,\n "c2pa.created": WN,\n "c2pa.cropped": PN,\n "c2pa.deleted": LN,\n "c2pa.drawing": ON,\n "c2pa.dubbed": NN,\n "c2pa.edited.metadata": RN,\n "c2pa.edited": MN,\n "c2pa.filtered": HN,\n "c2pa.opened": FN,\n "c2pa.orientation": VN,\n "c2pa.placed": qN,\n "c2pa.resized": GN,\n "c2pa.translated": ZN,\n "c2pa.unknown": IN,\n "c2pa.watermarked": JN,\n "com.adobe.3d": UN,\n "com.adobe.animation_video": YN,\n "com.adobe.combined_asssets": $N,\n "com.adobe.text": KN\n};\nUt("c2pa:selector:editsAndActivity");\nconst ff = Q6(BN, (e, i) => i.replace("_", "-")), Nn = "en-US";\nfunction QN(e = Nn) {\n const i = mf(ff[Nn]), r = mf(ff[e]);\n return e === Nn ? i : OB({}, i, r);\n}\nfunction mf(e, i = !1) {\n if (!e)\n return {};\n const r = {};\n return Object.entries(e).forEach(([o, l]) => {\n const u = o.split(".").slice(2), m = u.slice(0, -1).join("."), [h] = u.slice(-1);\n r[m] ? r[m][h] = {\n value: l,\n isFallback: i\n } : r[m] = {\n [h]: {\n value: l,\n isFallback: i\n }\n };\n }), r;\n}\nfunction e4(e, i = Nn) {\n var m, h;\n const r = e.data.actions, o = QN(i), l = (h = (m = e.data.metadata) == null ? void 0 : m.localizations) != null ? h : [], d = { actions: [] };\n xp(l, (b) => {\n xp(b, (v, g) => {\n v[i] ? pf(d, g, {\n value: v[i],\n isFallback: !1\n }) : v[Nn] && pf(d, g, {\n value: v[Nn],\n isFallback: !0\n });\n });\n });\n const u = r.map((b, v) => {\n var D, I, x, j;\n const g = (D = d.actions[v]) != null ? D : {}, w = o[b.action], B = b.action;\n return {\n // Include original ID\n id: b.action,\n // Get icon from parameters if they exist\n icon: (x = (I = b.parameters) == null ? void 0 : I["com.adobe.icon"]) != null ? x : XN[B],\n // Use override if available, if not, then fall back to translation\n label: hf(g == null ? void 0 : g.action, w == null ? void 0 : w.label),\n // Use override if available, if not, then fall back to translation\n description: (j = hf(g == null ? void 0 : g.description, w == null ? void 0 : w.description)) != null ? j : b.parameters.description\n };\n });\n return t4(u);\n}\nconst t4 = P6(D6, K6((e) => e.id), W6((e) => e.label));\nfunction hf(e, i) {\n var r, o;\n return [\n e != null && e.isFallback ? null : e == null ? void 0 : e.value,\n i != null && i.isFallback ? null : i == null ? void 0 : i.value,\n (r = e == null ? void 0 : e.value) != null ? r : null,\n (o = i == null ? void 0 : i.value) != null ? o : null\n ].filter((l) => !!l)[0];\n}\nconst _h = "en-US", Kl = class {\n static getLocales() {\n return s_(this.locales);\n }\n static getI18n() {\n return this.i18n;\n }\n static init(i) {\n i = i.replace("_", "-"), this.locales = CT();\n const r = this.isLocaleSupported(i);\n let o;\n r || (o = this.findFallbackLocale(i)), this.userLocale = _h, r ? this.userLocale = i : o && (this.userLocale = o);\n const l = nm();\n return this.i18n = this.getI18nData(), this.intl = TE(this.i18n, l), this.intl;\n }\n static getLocale() {\n return this.userLocale;\n }\n /**\n * Solely for use where a language has a long translation and requires a text-wrap override\n * Right now, this is just French, as the width was changed to accommodate Japanese, which is harder to wrap properly\n * @param lang the language code\n */\n static checkLangRequiresWrapping() {\n return ["fr-FR", "hu-HU"].includes(this.getLocale());\n }\n static isC2PAAction(i) {\n return !!i.match(/^c2pa\\./);\n }\n /**\n * Get localized string used for C2PA actions and descriptions\n */\n static getC2PAActionString(i, r) {\n if (!this.isC2PAAction(i))\n return this.formatMessage({\n id: `action.${i}.${r}`,\n defaultMessage: ""\n });\n const o = {\n label: "c2pa.actions",\n data: {\n actions: [{ action: i, parameters: {} }]\n }\n }, [l] = e4(o, this.userLocale);\n return l[r];\n }\n /**\n * For use with React\n */\n static getIntl() {\n if (!this.intl)\n throw new Error("Must initialize Localization before getting it");\n return this.intl;\n }\n /**\n * Helper method when all that\'s needed is the format message function\n */\n static formatMessage(i, r) {\n return this.getIntl().formatMessage(i, r);\n }\n static findFallbackLocale(i) {\n return Object.keys(this.locales).find((r) => {\n const [o] = r.split("-"), [l] = i.split("-");\n return o === l;\n });\n }\n static isLocaleSupported(i) {\n return Object.keys(this.locales).includes(i);\n }\n static getI18nData() {\n return {\n locale: this.userLocale,\n messages: this.locales[this.userLocale]\n };\n }\n static getLocalizedURLWithSuffix(i) {\n const r = yT[this.userLocale];\n return r ? `${i}_${r}` : i;\n }\n static getDefaultC2PAActionDescription(i) {\n const r = this.getLocales(), o = r ? r["en-US"] : null, l = `action.${i}.description`;\n let d = "";\n return o && o[l] && (d = o[l]), d;\n }\n /**\n * @see https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=CAI&title=Actions+for+1.2+spec\n */\n static buildC2PALocalizationsFromActions(i) {\n const r = this.getLocales(), o = [];\n return i.forEach((l, d) => {\n if (this.isC2PAAction(l))\n return;\n const u = {}, m = {};\n Object.keys(r).forEach((h) => {\n const b = r[h], v = `action.${l}.label`, g = `action.${l}.description`;\n b[v] && (u[h] = b[v]), b[g] && (m[h] = b[g]);\n }), o.push({\n [`actions[${d}].action`]: u\n }), o.push({\n [`actions[${d}].description`]: m\n });\n }), o;\n }\n};\nKl.userLocale = _h;\nKl.locales = {};\nlet l4 = Kl;\n\n\n\n//# sourceURL=webpack://@cai/panel/../localization/dist/index.mjs?')},7990:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n ImagingUtils: () => (/* reexport */ ImagingUtils),\n SPLArray: () => (/* reexport */ dist_SPLArray),\n SPLBuffer: () => (/* reexport */ dist_SPLBuffer),\n SPLConsts: () => (/* reexport */ dist_SPLConsts),\n SPLImage: () => (/* reexport */ SPLImage),\n SPLOpNamespace: () => (/* reexport */ SPLOpNamespace),\n SPLParam: () => (/* reexport */ SPLParam),\n SPLRect: () => (/* reexport */ SPLRect),\n SPLScalar: () => (/* reexport */ SPLScalar),\n SPLUtils: () => (/* reexport */ SPLUtils),\n SPLVariable: () => (/* reexport */ dist_SPLVariable),\n calculateDistanceTransform: () => (/* reexport */ calculateDistanceTransform),\n detectFaces: () => (/* reexport */ detectFaces),\n hostConfig: () => (/* binding */ hostConfig),\n initSPL: () => (/* binding */ initSPL),\n setWASMVision: () => (/* binding */ setWASMVision),\n vision: () => (/* binding */ vision)\n});\n\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLConsts.js\nconst SPLConsts = {\n colorConversion: {\n OP_CONVCOLOR_RGBA2BGRA: 0,\n OP_CONVCOLOR_BGRA2BGR: 1,\n OP_CONVCOLOR_RGBA2RGB: 2,\n OP_CONVCOLOR_RGBA2BGR: 3,\n OP_CONVCOLOR_RGBA2GRAY: 4,\n OP_CONVCOLOR_RGB2GRAY: 5,\n OP_CONVCOLOR_BGR2GRAY: 6,\n OP_CONVCOLOR_BGRA2GRAY: 7,\n OP_CONVCOLOR_GRAY2RGB: 8,\n OP_CONVCOLOR_RGB2RGBA: 9,\n OP_CONVCOLOR_BGR2BGRA: 10,\n OP_CONVCOLOR_BGR2Lab: 11,\n OP_CONVCOLOR_Lab2BGR: 12,\n OP_CONVCOLOR_Lab2RGB: 13,\n OP_CONVCOLOR_RGB2Lab: 14,\n OP_CONVCOLOR_BGR2RGB: 15,\n OP_CONVCOLOR_RGB2BGR: 16,\n OP_CONVCOLOR_BGR2RGBA: 17,\n OP_CONVCOLOR_RGB2HSV: 18,\n OP_CONVCOLOR_HSV2RGB: 19,\n },\n dataType: {\n IMG_TYPE_BYTE: 0,\n IMG_TYPE_INT: 1,\n IMG_TYPE_FLOAT: 2,\n IMG_TYPE_DOUBLE: 3,\n IMG_TYPE_INT16: 4,\n },\n imageContentType: {\n IMG_CONTENT_TYPE_CPUIM: 0,\n IMG_CONTENT_TYPE_APPCANVAS: 1,\n },\n thresholdType: {\n OP_THRESHOLD_BINARY: 0,\n OP_THRESHOLD_INVBINARY: 1,\n OP_THRESHOLD_TRUNC: 2,\n OP_THRESHOLD_TOZERO: 3,\n OP_THRESHOLD_TOZEROINV: 4,\n },\n adaptiveThresholdOp: {\n OP_ADAPTIVETHRESHOLD_NAME: \'adaptiveThreshold\',\n OP_ATHRESHOLD_TYPE: \'type\',\n OP_ATHRESHOLD_METHOD: \'method\',\n OP_ATHRESHOLD_BLOCKSIZE: \'blocksize\',\n OP_ATHRESHOLD_C: \'C\',\n OP_ATHRESHOLD_MAXVALUE: \'maxValue\',\n },\n adaptiveThresholdType: {\n OP_ATHRESHOLD_BINARY: 0,\n OP_ATHRESHOLD_INVBINARY: 1,\n },\n adaptiveThresholdMethod: {\n OP_ATHRESHOLD_METHOD_MEANC: 0,\n OP_ATHRESHOLD_METHOD_GAUSSIANC: 1,\n },\n resizeInterpolationType: {\n OP_RESIZE_INTERPOLATION_DEFAULT: 0,\n OP_RESIZE_INTERPOLATION_BILINEAR: 1,\n OP_RESIZE_INTERPOLATION_CUBIC: 2,\n OP_RESIZE_INTERPOLATION_LANCZOS: 3,\n OP_RESIZE_INTERPOLATION_NEAREST: 4,\n },\n layerAlphaModeType: {\n eAlphaDefault: 0,\n eAlphaIgnore: 1,\n eAlphaKeep: 2,\n eAlphaApply: 3,\n },\n scalarMathOp: {\n OP_SCALARMATH_OP_OP_NAME: \'scalarMathOp\',\n OP_SCALAR_OP_NAME: \'opName\',\n OP_SCALAR_INPUT_B_NAME: \'b\',\n OP_SCALAR_OP_add: \'add\',\n OP_SCALAR_OP_sub: \'sub\',\n OP_SCALAR_OP_subfrom: \'subfrom\',\n OP_SCALAR_OP_mul: \'mul\',\n OP_SCALAR_OP_div: \'div\',\n OP_SCALAR_OP_max: \'max\',\n OP_SCALAR_OP_min: \'min\',\n OP_SCALAR_OP_inv: \'inv\',\n OP_SCALAR_OP_sqrt: \'sqrt\',\n OP_SCALAR_OP_sqr: \'sqr\',\n OP_SCALAR_OP_pow: \'pow\',\n },\n scalarThresholdOp: {\n OP_SCALAR_THRESHOLD_OP_NAME: \'scalarThreshold\',\n OP_SCALAR_THRESHOLD_THD: \'threshold\',\n OP_SCALAR_THRESHOLD_VALUE_A: \'a\',\n OP_SCALAR_THRESHOLD_VALUE_B: \'b\',\n },\n statisticOps: {\n OP_STATISTIC_OP_OP_NAME: \'statisticOp\',\n OP_STAT_OP_NAME: \'opName\',\n OP_STAT_OP_ROI: \'ROI\',\n OP_STAT_OP_ROI_LEFT: \'ROI_left\',\n OP_STAT_OP_ROI_TOP: \'ROI_top\',\n OP_STAT_OP_ROI_WIDTH: \'ROI_width\',\n OP_STAT_OP_ROI_HEIGHT: \'ROI_height\',\n OP_STAT_OP_MEAN: \'mean\',\n OP_STAT_OP_MEANSTDDEV: \'meanStdDev\',\n OP_STAT_OP_MINMAX: \'minMax\',\n OP_STATISTIC_MASK: \'mask\',\n },\n mathOps: {\n OP_MATH_ADD: \'add\',\n OP_MATH_SUBTRACT: \'subtract\',\n OP_MATH_SUBTRACT_FROM: \'subtractFrom\',\n OP_MATH_MULTIPLY: \'multiply\',\n OP_MATH_DIVIDE: \'divide\',\n OP_MATH_OP_POW: \'pow\',\n OP_MATH_OP_EXP: \'exp\',\n OP_MATH_OP_LOG: \'log\',\n },\n arrayElementAtOp: {\n OP_ARRAY_ELEMENT_AT_OP_NAME: \'arrayElementAt\',\n OP_ARRAY_ELEMENT_AT_INPUT: \'input\',\n OP_ARRAY_ELEMENT_AT_INDEX: \'index\',\n OP_ARRAY_ELEMENT_AT_VARIABLE_TYPE: \'variableType\',\n },\n createScalarOp: {\n OP_CREATE_SCALAR_OP_NAME: \'createScalar\',\n OP_CREATE_SCALAR_VALUE: \'value\',\n },\n createRectOp: {\n OP_CREATE_RECT_OP_NAME: \'createRect\',\n OP_CREATE_RECT_LEFT: \'left\',\n OP_CREATE_RECT_TOP: \'top\',\n OP_CREATE_RECT_WIDTH: \'width\',\n OP_CREATE_RECT_HEIGHT: \'height\',\n },\n calcMinimumBoundsOp: {\n OP_CALC_MINIMUM_BOUNDS_NAME: \'calcMinimumBounds\',\n OP_CALC_MINIMUM_BOUNDS_BACKGROUND_IS_ZERO: \'backgroundIsZero\',\n },\n toColorSpace: {\n OP_TOCOLOR_TYPE_RGB: 0,\n OP_TOCOLOR_TYPE_BGR: 1,\n OP_TOCOLOR_TYPE_RGBA: 2,\n OP_TOCOLOR_TYPE_BGRA: 3,\n OP_TOCOLOR_TYPE_GRAY: 4,\n OP_TOCOLOR_TYPE_Lab: 5,\n OP_TOCOLOR_TYPE_CMYK: 6,\n OP_TOCOLOR_TYPE_HSV: 7,\n },\n imageEncoding: {\n IMG_ENCODING_JPEG: 0,\n IMG_ENCODING_PNG: 1,\n },\n variableType: {\n INVALID_VARIABLE: 0,\n IMAGE_VARIABLE: 1,\n RECT_VARIABLE: 2,\n ARRAY_VARIABLE: 3,\n SCALAR_VARIABLE: 4,\n BUFFER_VARIABLE: 5,\n },\n docClassifier: {\n width: 224,\n height: 224,\n },\n detectFaces: {\n minWidth: 1024,\n minHeight: 1024,\n },\n lensBlur: {\n DEPTHMAP_INPUT_NAME: \'depthmap_input\',\n FOCAL_DEPTHMAP_NAME: \'focalDepth\',\n BLUR_RADIUS_NAME: \'blurRadius\',\n IRIS_SHAPE_NAME: \'irisShape\',\n IRIS_CURVATURE_NAME: \'irisCurvature\',\n IRIS_ROTATION_NAME: \'irisRotation\',\n SPECULAR_BOOST_NAME: \'specularBoost\',\n SPECULAR_THRESHOLD_NAME: \'specularThreshold\',\n IRIS_SHAPE_TYPES: {\n IRIS_SHAPE_TRIANGLE: 0,\n IRIS_SHAPE_SQUARE: 1,\n IRIS_SHAPE_PENTAGON: 2,\n IRIS_SHAPE_HEXAGON: 3,\n IRIS_SHAPE_HEPTAGON: 4,\n IRIS_SHAPE_OCTAGON: 5,\n },\n },\n resynthesizeFace: {\n GAN_SOURCE_TEXTURE: \'ganSourceTexture\',\n GAN_SOURCE_SEGMENTATION: \'ganSourceSegmentation\',\n GAN_SOURCE_FACE_MESH_VERTICES: \'ganSourceFaceMeshVertices\',\n GAN_TARGET_TEXTURE: \'ganTargetTexture\',\n GAN_TARGET_SEGMENTATION: \'ganTargetSegmentation\',\n GAN_TARGET_FACE_MESH_VERTICES: \'ganTargetFaceMeshVertices\',\n TRANSFORM_FROM_GAN: \'transformFromGan\',\n },\n alignNeck: {\n OP_NECK_ALIGNMENT_GAN_NEW_CROP: "newCrop",\n OP_NECK_ALIGNMENT_SRC_LMKS: "srcLmks",\n OP_NECK_ALIGNMENT_NEW_LMKS: "newLmks",\n OP_NECK_ALIGNMENT_INTER_OP: "interpolation" //5th argument name\n },\n laplacianBlending: {\n OP_LAPLACIAN_BLEND_OTHER_IMG: "otherImg",\n OP_LAPLACIAN_BLEND_MASK_IMG: "mask",\n OP_LAPLACIAN_BLEND_NUM_LEVELS: "numLevels",\n OP_LAPLACIAN_BLEND_SHARED_LAYERS: "sharedLayers",\n OP_LAPLACIAN_BLEND_GCF_RATIO: "gcfRatio"\n },\n clampOp: {\n LOW: \'low\',\n HIGH: \'high\',\n },\n operationNames: {\n OP_RESIZE_NAME: \'resize\',\n OP_CONVTYPE_NAME: \'convertType\',\n OP_TOCOLOR_NAME: \'toColorSpace\',\n OP_IMAGE_ENCODE_NAME: \'imencode\',\n OP_IMAGE_DECODE_NAME: \'imdecode\',\n OP_TO_PLANAR: \'ToPlanar\',\n OP_TO_CHUNCKY: \'ToChuncky\',\n OP_DOC_CLASSFIER_NAME: \'docClassifier\',\n OP_FACEDETECTOR_NAME: \'faceDetectorPS\',\n OP_COLOR_LIGHT_TRANSFER_NAME: \'colorLightTransfer\',\n OP_COLOR_FITTING_NAME: \'colorFitting\',\n OP_NOISE_NAME: \'noise\',\n OP_GET_BACKWARD_TRANSFORMATION_NAME: \'getBackwardTransformation\',\n OP_LENSBLUR_FILTER: \'lensblur\',\n OP_RESYNTHESIZE_FACE: \'resynthesizeFace\',\n OP_NECK_ALIGNMENT_NAME: \'neckAlignment\',\n OP_LAPLACIAN_BLEND_NAME: \'laplacianBlending\',\n OP_CLAMP_FILTER: \'clamp\',\n },\n getBackwardTransformationOp: {\n OP_GET_BACKWARD_TRANSFORMATION_FORWARD_TRANSFORMATION: \'forwardTransformation\',\n OP_GET_BACKWARD_TRANSFORMATION_BACKWARD_TRANSFORMATION: \'backwardTransformation\',\n },\n noiseType: {\n OP_NOISE_GAUSS: 0,\n OP_NOISE_UNIFORM: 1,\n },\n erodeType: {\n OP_ERODE_ELLIPSE: 0,\n OP_ERODE_RECT: 1,\n },\n RectItem: {\n RECT_EL_X: 0,\n RECT_EL_Y: 1,\n RECT_EL_WIDTH: 2,\n RECT_EL_HEIGHT: 3,\n RECT_EL_BOTTOM: 4,\n RECT_EL_RIGHT: 5,\n },\n WarpRigidity: {\n WARP_RIGID: 0,\n WARP_NORMAL: 1,\n WARP_HIGH: 2,\n },\n FaceComponent: {\n LEFT_EYE: 0,\n RIGHT_EYE: 1,\n LIPS: 2,\n },\n BorderType: {\n BORDER_CONSTANT: 0,\n BORDER_REPLICATE: 1,\n BORDER_REFLECT: 2,\n },\n ColorFittingInput: {\n INPUT: \'input\',\n INPUT_REF_IMAGE: \'inputRefImage\',\n OUTPUT_REF_IMAGE: \'outputRefImage\',\n INPUT_MASK: \'inputMask\',\n },\n FindResizeMinOrMax: {\n MIN: 0,\n MAX: 1,\n },\n DefaultColorSpace: 0,\n};\n/* harmony default export */ const dist_SPLConsts = (SPLConsts);\n//# sourceMappingURL=SPLConsts.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLVariable.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\nclass SPLVariable {\n //public mIsSynced: boolean\n constructor(nativeVar) {\n if (!nativeVar) {\n throw new Error("input buffer cannot be null");\n }\n this.mNative = nativeVar;\n }\n}\n/* harmony default export */ const dist_SPLVariable = (SPLVariable);\n//# sourceMappingURL=SPLVariable.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLBuffer.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\nclass SPLBuffer {\n //public mIsSynced: boolean\n constructor(nativeBuffer) {\n if (!nativeBuffer) {\n throw new Error("input buffer cannot be null");\n }\n this.mNativeBuffer = nativeBuffer;\n }\n /**\n * Called to dispose of buffer\n * Releases resources held by buffer\n * This buffer object is not valid after calling dispose\n * and calling it after calling dispose will result in an error\n * @returns Promise<boolean> true if succeeded false otherwise.\n * Multiple calls have no additional effect\n */\n dispose() {\n return this.mNativeBuffer.dispose();\n }\n /**\n * returns dataArray of this buffer.\n * @returns {Promise<Uint8Array>}\n */\n async getData() {\n const dataBuffer = await this.mNativeBuffer.getBuffer();\n return dataBuffer;\n }\n static async fromBuffer(buffer) {\n // create a native buffer from some array buffer\n const nativeBuffer = await vision.createBuffer(buffer); // this is a very poorly named function\n // return a new SenseiBuffer initialized with that native buffer\n return new SPLBuffer(nativeBuffer);\n }\n async decode(useExifOrientation) {\n const op = vision.createOperation("imdecode");\n op.setInputBuffer("input", this.mNativeBuffer);\n if (useExifOrientation !== undefined) {\n op.setNumberParam("useexiforientation", useExifOrientation);\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw "decode is expected to return a single output";\n }\n const nativeImage = result[0].toImage();\n await nativeImage.getData();\n return new SPLImage(nativeImage);\n }\n}\n/* harmony default export */ const dist_SPLBuffer = (SPLBuffer);\n//# sourceMappingURL=SPLBuffer.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLScalar.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\n\nclass SPLScalar {\n constructor(nativeVar) {\n if (!nativeVar) {\n throw new Error("the input scalar-native cannot be null");\n }\n this.mNative = nativeVar;\n }\n /**\n \n * @param value\n * @returns\n */\n static async create(value) {\n const op = vision.createOperation(dist_SPLConsts.createScalarOp.OP_CREATE_SCALAR_OP_NAME);\n setScalarParam(op, dist_SPLConsts.createScalarOp.OP_CREATE_SCALAR_VALUE, value);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("createScalar is expected to return one output");\n }\n return new SPLScalar(result[0].toScalar());\n }\n scalarValue() {\n return this.mNative.getValue();\n }\n /**\n * Based on the value that is stored in the current instance\'s ScalarContent,\n * denormalize an input parameter, the "alpha", to the ranges that are specified\n * in other parameters.\n * The denormalized value is used by the StyleGan as a scale value to apply a\n * latent direction to a latent code.\n * The procedure of the denormalization:\n * if value >= t2:\n * rangePositive = s2;\n * else:\n * rangePositive = l2;\n * if value <= t1:\n * rangeNegative = s1;\n * else:\n * rangeNegative = l1;\n * if alpha < 0:\n * result = alpha * rangeNegative;\n * else:\n * result = alpha * rangePositive;\n * @param {number} alpha a normalized alpha vlaue: [-1, 1]\n * @returns {SPLScalar}\n */\n async denormalize(alpha, t1, l1, s1, t2, l2, s2) {\n const op = vision.createOperation("denormalize");\n op.setInputVariable("input", this.mNative);\n op.setNumberParam("alpha", alpha);\n op.setNumberParam("T1", t1);\n op.setNumberParam("L1", l1);\n op.setNumberParam("S1", s1);\n op.setNumberParam("T2", t2);\n op.setNumberParam("L2", l2);\n op.setNumberParam("S2", s2);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("latentDistance is expected to return one output");\n }\n return new SPLScalar(result[0].toScalar());\n }\n /**\n * @function mathOp perform math operations on scalars\n * OP_SCALAR_OP_add: \'add\',\n * OP_SCALAR_OP_sub: \'sub\',\n * OP_SCALAR_OP_subFrom: \'subfrom\',\n * OP_SCALAR_OP_mul: \'mul\',\n * OP_SCALAR_OP_div: \'div\',\n * OP_SCALAR_OP_max: \'max\',\n * OP_SCALAR_OP_min: \'min\',\n * OP_SCALAR_OP_inv: \'inv\',\n * OP_SCALAR_OP_sqrt: \'sqrt\',\n * OP_SCALAR_OP_sqr: \'sqr\',\n * OP_SCALAR_OP_pow: \'pow\',\n * See SPLConsts.scalarMathOp for current list\n *\n * @param mathOpName\n * @param b\n * @returns SPLScalar result of math op\n */\n async mathOp(mathOpName, b) {\n const op = vision.createOperation(dist_SPLConsts.scalarMathOp.OP_SCALARMATH_OP_OP_NAME);\n op.setStringParam(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_NAME, mathOpName);\n op.setInputVariable("input", this.mNative); // a value\n if (b !== undefined) {\n if (typeof b === "number") {\n op.setNumberParam(dist_SPLConsts.scalarMathOp.OP_SCALAR_INPUT_B_NAME, b);\n }\n else if (b instanceof SPLScalar) {\n op.setInputVariable(dist_SPLConsts.scalarMathOp.OP_SCALAR_INPUT_B_NAME, b.mNative);\n }\n else {\n throw new Error("err bad b parameter type for SPLScalar::mathOp ");\n }\n }\n const result = await op.apply();\n if (!result ||\n result.length !== 1 ||\n result[0].type !== dist_SPLConsts.variableType.SCALAR_VARIABLE) {\n throw new Error("mathOp expected one scalar output");\n }\n return new SPLScalar(result[0].toScalar());\n }\n async multiply(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_mul, b);\n }\n async divide(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_div, b);\n }\n async add(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_add, b);\n }\n async subtract(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_sub, b);\n }\n async subtractFrom(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_subfrom, b);\n }\n async max(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_max, b);\n }\n async min(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_min, b);\n }\n async inv() {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_inv);\n }\n async sqrt(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_sqrt, b);\n }\n async sqr(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_sqr, b);\n }\n async pow(b) {\n return this.mathOp(dist_SPLConsts.scalarMathOp.OP_SCALAR_OP_pow, b);\n }\n /**\n * @function threshold performs the conditional assignment: this < th ? a : b;\n * @param th the threshold\n * @param a the value to be picked if \'this\' is less than the th\n * @param b the value to be picked otherwise\n */\n async threshold(th, a, b) {\n const op = vision.createOperation(dist_SPLConsts.scalarThresholdOp.OP_SCALAR_THRESHOLD_OP_NAME);\n op.setInputVariable("input", this.mNative);\n if (typeof a === "number") {\n op.setNumberParam(dist_SPLConsts.scalarThresholdOp.OP_SCALAR_THRESHOLD_VALUE_A, a);\n }\n else {\n throw new Error("err bad A parameter type for SPLScalar::threshold");\n }\n if (typeof b === "number") {\n op.setNumberParam(dist_SPLConsts.scalarThresholdOp.OP_SCALAR_THRESHOLD_VALUE_B, b);\n }\n else {\n throw new Error("err bad B parameter type for SPLScalar::threshold");\n }\n if (typeof th === "number") {\n op.setNumberParam(dist_SPLConsts.scalarThresholdOp.OP_SCALAR_THRESHOLD_THD, th);\n }\n else {\n throw new Error("err bad Th parameter type for SPLScalar::threshold");\n }\n const result = await op.apply();\n if (!result ||\n result.length !== 1 ||\n result[0].type !== dist_SPLConsts.variableType.SCALAR_VARIABLE) {\n throw new Error("SPLScalar.threshold expected one scalar output");\n }\n return new SPLScalar(result[0].toScalar());\n }\n}\n//# sourceMappingURL=SPLScalar.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLParam.js\n\n\nclass SPLParam {\n //public mIsSynced: boolean\n constructor(native) {\n if (!native) {\n throw new Error("native cannot be null");\n }\n this.mNative = native;\n }\n static fromRect(rect, item, alpha = 1, beta = 0, min = 0, max = 30000) {\n if (!rect) {\n throw new Error("rect cannot be null");\n }\n return new SPLParam(vision.createOperationParamWithVariable(rect.mNative, item, alpha, beta, min, max));\n }\n static fromImage(im, item, alpha = 1, beta = 0, min = 0, max = 30000) {\n if (!im) {\n throw new Error("im cannot be null");\n }\n return new SPLParam(vision.createOperationParamWithVariable(im.mNativeImage, item, alpha, beta, min, max));\n }\n static fromScalar(value) {\n if (typeof value === "number") {\n return new SPLParam(vision.createOperationWithScalar(value));\n }\n else if (value instanceof SPLScalar) {\n return new SPLParam(vision.createOperationParamWithScalarVariable(value.mNative));\n }\n else {\n throw "unsupported argument type for SPLParam.fromScalar()";\n }\n }\n driveLinear(alpha, beta = 0, min = -30000, max = 30000) {\n return new SPLParam(vision.createOperationParamWithParam(this.mNative, alpha, beta, min, max));\n }\n}\nfunction setScalarParam(op, name, param) {\n if (typeof param === "number") {\n op.setNumberParam(name, param);\n return;\n }\n if (param instanceof SPLParam) {\n op.setParam(name, param.mNative);\n return;\n }\n throw new Error("input param is not scalar");\n}\n\n//# sourceMappingURL=SPLParam.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLRect.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\n\n/**\n * A helper function to determine if a JS object implements the RectParam interface\n */\nfunction interfaceofRectParam(param) {\n if (!("x" in param) || !(param.x instanceof SPLParam)) {\n return false;\n }\n if (!("y" in param) || !(param.y instanceof SPLParam)) {\n return false;\n }\n if (!("width" in param) || !(param.width instanceof SPLParam)) {\n return false;\n }\n if (!("height" in param) || !(param.height instanceof SPLParam)) {\n return false;\n }\n return true;\n}\nclass SPLRect {\n //public mIsSynced: boolean\n constructor(nativeVar) {\n if (!nativeVar) {\n throw new Error("input buffer cannot be null");\n }\n this.mNative = nativeVar;\n }\n /**\n * returns a new SPLRect by creating an Op to produce the rect as a variable\n * @returns {SPLRect}\n */\n static async create(x, y, width, height) {\n const op = vision.createOperation(dist_SPLConsts.createRectOp.OP_CREATE_RECT_OP_NAME);\n setScalarParam(op, dist_SPLConsts.createRectOp.OP_CREATE_RECT_LEFT, x);\n setScalarParam(op, dist_SPLConsts.createRectOp.OP_CREATE_RECT_TOP, y);\n setScalarParam(op, dist_SPLConsts.createRectOp.OP_CREATE_RECT_WIDTH, width);\n setScalarParam(op, dist_SPLConsts.createRectOp.OP_CREATE_RECT_HEIGHT, height);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("createRect is expected to return one output");\n }\n return new SPLRect(result[0].toRect());\n }\n x() {\n return SPLParam.fromRect(this, dist_SPLConsts.RectItem.RECT_EL_X);\n }\n y() {\n return SPLParam.fromRect(this, dist_SPLConsts.RectItem.RECT_EL_Y);\n }\n width() {\n return SPLParam.fromRect(this, dist_SPLConsts.RectItem.RECT_EL_WIDTH);\n }\n height() {\n return SPLParam.fromRect(this, dist_SPLConsts.RectItem.RECT_EL_HEIGHT);\n }\n asParam() {\n // TODO: @adarabi: sync the variable so it won\'t block in middle of the process\n const output = {\n x: this.x(),\n y: this.y(),\n width: this.width(),\n height: this.height(),\n };\n //await this.mNative.x();\n return output;\n }\n async equal(other) {\n return this.mNative.equal(other.mNative);\n }\n}\n//# sourceMappingURL=SPLRect.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLImage.js\n/* eslint-disable @typescript-eslint/no-inferrable-types */\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License")\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\n\n\n\n\n\nconst psimaging = (window &&\n window.require &&\n window.require("uxp") &&\n window.require("uxp").imaging) || {\n getPixels: () => false,\n};\nfunction setVectorParam(op, name, param) {\n if (param instanceof dist_SPLArray) {\n op.setInputArray(name, param.mNative);\n return;\n }\n if (Array.isArray(param)) {\n op.setVectorParam(name, param);\n return;\n }\n throw new Error("input param is not number array");\n}\nclass SPLImage {\n constructor(nativeImage) {\n if (!nativeImage) {\n throw new Error("input image cannot be null");\n }\n this.mNativeImage = nativeImage;\n this.mChannels = nativeImage.channels;\n this.mWidth = nativeImage.width;\n this.mHeight = nativeImage.height;\n }\n /**\n *\n * @param options Source SPLImage params in PS Doc\n */\n static createImageFromDoc(options) {\n const { dims, newDims } = options;\n const layerAlphaMode = dist_SPLConsts.layerAlphaModeType.eAlphaDefault;\n const p = newDims\n ? psimaging.getPixels(options.docID, options.layer, dims, newDims, undefined, true, layerAlphaMode)\n : psimaging.getPixels(options.docID, options.layer, dims, undefined, undefined, true, layerAlphaMode);\n return p.then((imNative) => {\n const im = new SPLImage(imNative);\n return im;\n });\n }\n async getJsonGraph() {\n return await vision.getJsonGraph(this);\n }\n static fromBuffer(width, height, channels, dataType, buffer) {\n // create a native image from an array buffer\n const nativeImage = vision.createImage(width, height, channels, dataType, dist_SPLConsts.imageContentType.IMG_CONTENT_TYPE_CPUIM, buffer);\n // return a new SPLImage initialized with that native image\n return new SPLImage(nativeImage);\n }\n /**\n * returns a new SPLImage initialized using a 2D array of values\n * @param twoDArray, a 2 dimension array of values 0-255\n * @returns {SPLImage}\n */\n static async createFrom2DArray(twoDArray) {\n // throwUnImplementInSPLLite(\'createFrom2DArray\');\n const height = twoDArray.length;\n if (height === 0) {\n console.error("cannot create sensei image from an empty array");\n return null;\n }\n const width = twoDArray[0].length;\n if (width === 0) {\n console.error("cannot create sensei image from array with no width");\n return null;\n }\n const dataType = dist_SPLConsts.dataType.IMG_TYPE_BYTE;\n // would be much better if we did this conversion in C++\n let oneDArray = [];\n for (let i = 0; i < height; i++) {\n oneDArray = oneDArray.concat(twoDArray[i]);\n }\n const arrayBuffer = new Uint8Array(oneDArray);\n const channels = 1;\n const buffer = arrayBuffer.buffer;\n const nativeSPLImage = await vision.createSPLImage(width, height, channels, dataType, 0, buffer);\n return new SPLImage(nativeSPLImage);\n }\n /**\n * noise\n * return a noise image of the same dimensions\n * @param noiseType, an SPLConst, currently either OP_NOISE_GAUSS or OP_NOISE_UNIFORM,\n * @param width, an SPLImage or Integer. Fills in width of the noise image desired. If SPLImage, all other arguments ignored and filled in from SPLImage.\n * @param height, Integer specifying desired height of noise image.\n * @param channels, Integer specifying desire channels of noise image.\n * @returns {SPLImage}\n */\n static async noise(noiseType, width, height, channels) {\n if (width instanceof SPLImage) {\n // pull width, height, channels off the image\n const tempImage = width;\n width = tempImage.mWidth;\n height = tempImage.mHeight;\n channels = tempImage.mChannels;\n }\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_NOISE_NAME);\n op.setNumberParam("noiseType", noiseType);\n if (width && height && channels) {\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n setScalarParam(op, "channels", channels);\n }\n const [output] = await op.apply();\n if (!output) {\n throw new Error("noise expected an output");\n }\n return new SPLImage(output.toImage());\n }\n /**\n * colorLightTransfer\n * apply colors and light from style image to this image\n */\n async colorLightTransfer(styleImage, abOnly = false, gammaLuminance = 0.5, gammaColor = 0.5) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_COLOR_LIGHT_TRANSFER_NAME);\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("styleImage", styleImage.mNativeImage);\n op.setBooleanParam("abOnly", abOnly);\n if (gammaLuminance < 0 || gammaLuminance > 1) {\n throw new Error("gammaLuminance must be in range 0 to 1");\n }\n op.setNumberParam("gammaLuminance", gammaLuminance);\n if (gammaColor < 0 || gammaColor > 1) {\n throw new Error("gammaColor must be in range 0 to 1");\n }\n op.setNumberParam("gammaColor", gammaColor);\n const [output] = await op.apply();\n if (!output) {\n throw new Error("colorLightTransfer expected an output");\n }\n return new SPLImage(output.toImage());\n }\n /**\n * colorFitting\n * computes a polynomial fitting from the low res input to low res harmonized ML output\n * and applies the polynomial to the high res input to get the high res harmonized output\n * @param {SPLImage} inputRefImage input low res image\n * @param {SPLImage} outputRefImage harmonized low res output image from ML model\n * @param {SPLImage} inputMask mask of foreground\n * @returns {SPLImage} high res harmonized output\n */\n async colorFitting(inputRefImage, outputRefImage, inputMask) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_COLOR_FITTING_NAME);\n op.setInputImage(dist_SPLConsts.ColorFittingInput.INPUT, this.mNativeImage);\n op.setInputImage(dist_SPLConsts.ColorFittingInput.INPUT_REF_IMAGE, inputRefImage.mNativeImage);\n op.setInputImage(dist_SPLConsts.ColorFittingInput.OUTPUT_REF_IMAGE, outputRefImage.mNativeImage);\n op.setInputImage(dist_SPLConsts.ColorFittingInput.INPUT_MASK, inputMask.mNativeImage);\n const [output] = await op.apply();\n if (!output) {\n throw new Error("colorFitting expected an output");\n }\n return new SPLImage(output.toImage());\n }\n /**\n * docClassify :\n * classify image and return two buffers\n * with indices and scores\n * First buffer has integer indices\n * Second buffer has float scores\n */\n async docClassify() {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_DOC_CLASSFIER_NAME);\n op.setInputImage("input", this.mNativeImage);\n const result = await op.apply();\n if (!result) {\n throw new Error("could not create Op: " + dist_SPLConsts.operationNames.OP_DOC_CLASSFIER_NAME);\n }\n // console.log(\'docClassify results = \', result.length);\n if (result.length !== 2) {\n throw new Error("docClassify expected to return a 2 outputs");\n }\n if (result[0].type !== dist_SPLConsts.variableType.BUFFER_VARIABLE ||\n result[1].type !== dist_SPLConsts.variableType.BUFFER_VARIABLE) {\n throw new Error("docClassify expected to return buffer variables");\n }\n const scoresIndex = result[0].name === "scores" ? 0 : 1;\n const scores = result[scoresIndex];\n const idx = result[1 - scoresIndex];\n return [new dist_SPLBuffer(scores.toBuffer()), new dist_SPLBuffer(idx.toBuffer())];\n }\n /**\n * returns a new SPLImage by resizing content of this image\n * @param {number} width width of the new image\n * @param {number} height height of the new image\n * @returns {SPLImage}\n */\n async resize(width, height, interpolateionType = dist_SPLConsts.resizeInterpolationType\n .OP_RESIZE_INTERPOLATION_BILINEAR) {\n const widthType = typeof width;\n const heightType = typeof height;\n if ((widthType !== "number" && !(width instanceof SPLParam)) ||\n (heightType !== "number" && !(height instanceof SPLParam))) {\n throw new Error("err bad type for width or height in resize");\n }\n const op = vision.createOperation("resize");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n op.setNumberParam("interpolation", interpolateionType);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("resize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * finds a uniform scaled dimension such that min or max of width and height mathches the target.\n * @param width input width\n * @param height input height\n * @param targetDim if min or max of width and height are going to be resized to this dimension\n * @param minOrMax if one, it tries to match min(width, height) to be target and otherwise it does max(width, height)\n * @param devisable if set, it finds the closes dimension to match target\n * @returns\n */\n static async findResizeValue(width, height, targetDim, minOrMax = 0, devisable = 1) {\n const op = vision.createOperation("findResizeDims");\n op.setInputVariable("width", width.mNative);\n op.setInputVariable("height", height.mNative);\n setScalarParam(op, "target", targetDim);\n setScalarParam(op, "minormax", minOrMax);\n setScalarParam(op, "devisable", devisable);\n const results = await op.apply();\n if (results.length !== 2) {\n throw new Error("findResizeValue is expected to return one output");\n }\n let outWidth = null;\n let outHeight = null;\n for (const iter in results) {\n if (results[iter].getName() === "width") {\n outWidth = new SPLScalar(results[iter].toScalar());\n }\n else if (results[iter].getName() === "height") {\n outHeight = new SPLScalar(results[iter].toScalar());\n }\n else {\n throw `output variable ${results.getName()} is not recognized in findResizeValue`;\n }\n }\n if (!outWidth || !outHeight)\n throw "width or heigh ar nut assinged";\n return [outWidth, outHeight];\n }\n /**\n * finds a uniform scaled dimension such that the input can fit inside targetWidth and targetHeight, it return top,left,width,height which are remainder of\n * the boundary. resizeWidth, resizeHeigh are what the input should be resized to, and then to fit in the targetbox, it should be expanded with top,left,width,height\n * @param width input width\n * @param height input height\n * @param targetWidth targetWidth\n * @param targetHeight targetHeight\n * @returns [resizeWidth, resizeHeight, top, left, bottowm, right, scale]\n */\n static async findResizeAndExpandToFit(width, height, targetWidth, targetHeight) {\n const op = vision.createOperation("FindResizeAndExpandToFit");\n op.setInputVariable("width", width.mNative);\n op.setInputVariable("height", height.mNative);\n setScalarParam(op, "targetWidth", targetWidth);\n setScalarParam(op, "targetHeight", targetHeight);\n const results = await op.apply();\n if (results.length < 6 || results.length > 7) {\n throw new Error("findResizeAndExpandToFit must return 6 or 7 outputs");\n }\n let resizeWidth = null;\n let resizeHeight = null;\n let expandTop = null;\n let expandBottom = null;\n let expandLeft = null;\n let expandRight = null;\n let scale = null;\n for (const iter in results) {\n const r = results[iter];\n if (r.getName() === "resizeWidth") {\n resizeWidth = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "resizeHeight") {\n resizeHeight = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "expandTop") {\n expandTop = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "expandBottom") {\n expandBottom = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "expandLeft") {\n expandLeft = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "expandRight") {\n expandRight = new SPLScalar(r.toScalar());\n }\n else if (r.getName() === "scale") {\n scale = new SPLScalar(r.toScalar());\n }\n else {\n throw `output variable ${r.getName()} is not recognized in findResizeValue`;\n }\n }\n if (!resizeWidth ||\n !resizeHeight ||\n !expandTop ||\n !expandLeft ||\n !expandBottom ||\n !expandRight ||\n (!scale && results.length === 7))\n throw \'one or more of values "resizeWidth, resizeHeight, expandTop, expandLeft, expandBottom, expandRight, scale" is not assigned\';\n return results.length === 6\n ? [\n resizeWidth,\n resizeHeight,\n expandTop,\n expandLeft,\n expandBottom,\n expandRight,\n ]\n : [\n resizeWidth,\n resizeHeight,\n expandTop,\n expandLeft,\n expandBottom,\n expandRight,\n scale,\n ];\n }\n widthAsParam() {\n return SPLParam.fromImage(this, dist_SPLConsts.RectItem.RECT_EL_WIDTH);\n }\n heightAsParam() {\n return SPLParam.fromImage(this, dist_SPLConsts.RectItem.RECT_EL_HEIGHT);\n }\n async widthAsVariable() {\n return SPLScalar.create(this.widthAsParam());\n }\n async heightAsVariable() {\n return SPLScalar.create(this.heightAsParam());\n }\n /**\n * returns a new SPLImage by inverting the input with subtract pixels from value\n * @param {number} value height of the new image\n * @returns {SPLImage}\n */\n async inverse(value = 255) {\n // throwUnImplementInSPLLite(\'inverse\');\n const op = vision.createOperation("inverse");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("value", value);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "inverse is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = coloverConversion(input)\n * @param {SenseiImage/number} type\n * @returns {SPLimage}\n */\n async convertColor(type) {\n const op = vision.createOperation("convertColor");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "type", type);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "convertColor is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n async toColorSpace(newColorSpaceCode) {\n const op = vision.createOperation("toColorSpace");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("type", newColorSpaceCode);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("toColorSpace is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n async convertType(newDataTypeCode, alpha = 1, beta = 0) {\n const op = vision.createOperation("convertType");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("type", newDataTypeCode);\n setScalarParam(op, "alpha", alpha);\n setScalarParam(op, "beta", beta);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("convertType is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * return an encoded buffer\n * @param {string} extension e.g. \'jpg\', \'jpeg\'\n * @returns {SPLBuffer}\n */\n async encode(extension, quality = 8, maxSize = 0) {\n const op = vision.createOperation("imencode");\n op.setInputImage("input", this.mNativeImage);\n // op.setStringParam(\'extension\', extension);\n if (extension === "jpg" || extension === "jpeg") {\n op.setNumberParam("encoding", dist_SPLConsts.imageEncoding.IMG_ENCODING_JPEG);\n }\n else if (extension === ".jpg" || extension === ".jpeg") {\n op.setStringParam("extension", extension);\n }\n else if (extension === "png") {\n op.setNumberParam("encoding", dist_SPLConsts.imageEncoding.IMG_ENCODING_PNG);\n }\n else if (extension === ".png") {\n op.setStringParam("extension", extension);\n }\n else {\n // we currently only support JPEG encoding.\n throw new Error("unsupported encoding type: " + extension);\n }\n op.setNumberParam("quality", quality);\n op.setNumberParam("maxSize", maxSize);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("encode is expected to return a single output");\n }\n return new dist_SPLBuffer(result[0].toBuffer());\n }\n /**\n * Called to dispose of SPLImage\n * Releases resources held by SPLImage\n * This SPLImage object is not valid after calling dispose\n * and calling it after calling dispose will result in an error\n *\n * @returns Promise<boolean> true if succeeded false otherwise.\n * Multiple calls have no additional effect\n */\n dispose() {\n return this.mNativeImage.dispose();\n }\n /**\n * returns actual content of this image.\n * @returns {Buffer}\n */\n async getData() {\n const dataBuffer = await this.mNativeImage.getData();\n return dataBuffer;\n }\n /**\n * returns actual content of this image in a chunky buffer.\n * @returns {Buffer} which is chunky\n */\n async getChunkyData() {\n const dataBuffer = await this.mNativeImage.getChunkyData();\n return dataBuffer;\n }\n /**\n * @function statisticOp computes a statical operation on image and returns the resultant value(s)\n * @param opName statistical operation name {mean}\n * @param ROI optional region of interest in image\n * @param mask optional calculates mean inside the given mask\n * @return array of SPLScalar values - one per image channel, with image statistic\n */\n async statisticOp(opName, ROI, mask) {\n const op = vision.createOperation(dist_SPLConsts.statisticOps.OP_STATISTIC_OP_OP_NAME);\n op.setStringParam(dist_SPLConsts.statisticOps.OP_STAT_OP_NAME, opName);\n op.setInputImage("input", this.mNativeImage);\n if (ROI !== undefined) {\n if (interfaceofRectParam(ROI)) {\n // Both SPLRectType and RectParam will pass the interfaceofRectParam(), and we can\n // treat them in the same way, bacuase the setScalarParam() can take either "number"\n // or "SPLParam".\n setScalarParam(op, dist_SPLConsts.statisticOps.OP_STAT_OP_ROI_LEFT, ROI.x);\n setScalarParam(op, dist_SPLConsts.statisticOps.OP_STAT_OP_ROI_TOP, ROI.y);\n setScalarParam(op, dist_SPLConsts.statisticOps.OP_STAT_OP_ROI_WIDTH, ROI.width);\n setScalarParam(op, dist_SPLConsts.statisticOps.OP_STAT_OP_ROI_HEIGHT, ROI.height);\n }\n }\n if (mask !== undefined) {\n op.setInputImage(dist_SPLConsts.statisticOps.OP_STATISTIC_MASK, mask.mNativeImage);\n }\n const result = await op.apply();\n if (result && result.length > 0) {\n return new dist_SPLArray(result[0].toArray());\n }\n else {\n throw new Error("mathOpWithConst is expected to return one output");\n }\n }\n /**\n * @function minMax compute min and max values in image\n * @param ROI optional region of interest in image\n * @param mask optional calculates mean inside the given mask\n * @return array of SPLScalars holding channel means [m1,m2,...]\n */\n async minMax(ROI, mask) {\n return this.statisticOp(dist_SPLConsts.statisticOps.OP_STAT_OP_MINMAX, ROI, mask);\n }\n /**\n * @function scalarMean compute mean value of each image channel\n * @param ROI optional region of interest in image\n * @param mask optional calculates mean inside the given mask\n * @return array of SPLScalars holding channel means [m1,m2,...]\n */\n async scalarMean(ROI, mask) {\n return this.statisticOp(dist_SPLConsts.statisticOps.OP_STAT_OP_MEAN, ROI, mask);\n }\n /**\n * @function scalarVariance compute variance of each image channel\n * @param ROI optional region of interest in image\n * @param mask optional calculates mean inside the given mask\n * @return array of SPLScalars holding channel means and std Dev: [m1, s1, m2, s2, ...]\n */\n async scalarmeanStdDev(ROI, mask) {\n return this.statisticOp(dist_SPLConsts.statisticOps.OP_STAT_OP_MEANSTDDEV, ROI, mask);\n }\n /**\n * apply math operation with a scalar\n * @param {string} opName "add", "subtract", "multiply" "exponent"\n * @param {number} value the const value\n * @returns {SPLImage}\n */\n async mathOpWithConst(opName, value) {\n const op = vision.createOperation("mathOpWithConst");\n op.setInputImage("input", this.mNativeImage);\n op.setStringParam("opName", opName);\n op.setNumberParam("value", value);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("mathOpWithConst is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = |this| ** value. Raise each pixel in image to exponent. E.g., set value to 2 to square each pixel\n * Note, exponent is applied to absolute value of each image pixel\n * @param {number/SPLScalar} exponent\n * @returns {SPLImage}\n */\n async pow(exponent) {\n if (typeof exponent === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_OP_POW, exponent);\n }\n else if (exponent instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_OP_POW, exponent);\n }\n else {\n throw "unsupported argument type for image operation: exponent";\n }\n }\n /**\n * output = e ** this.\n * @param {number/SPLScalar} exponent\n * @returns {SPLImage}\n */\n async exp() {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_OP_EXP, 0);\n }\n /**\n * output = e ** this.\n * @param {number/SPLScalar} exponent\n * @returns {SPLImage}\n */\n async log() {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_OP_LOG, 0);\n }\n /**\n * output = this * value\n * @param {SPLImage/SPLScalar/number} value\n * @returns {SPLImage}\n */\n async multiply(value) {\n if (typeof value === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_MULTIPLY, value);\n }\n else if (value instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_MULTIPLY, value);\n }\n else if (value instanceof SPLImage) {\n return this.mathOpWithMatrix(dist_SPLConsts.mathOps.OP_MATH_MULTIPLY, value);\n }\n else {\n throw "unsupported argument type for image operation: add";\n }\n }\n /**\n * returns a new SPLImage by initializing all elements to "value"\n * @param {number} value intial value of each element\n * @param {number} type type of element, as defined in SPLConsts.dataType\n * @returns {SPLImage}\n */\n static async createConst(value, type, width, height, channels, isChuny = 0) {\n const op = vision.createOperation("genConst");\n op.setNumberParam("type", type);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n op.setNumberParam("channels", channels);\n if (typeof value === "number") {\n op.setNumberParam("value", value);\n }\n else if (value instanceof dist_SPLArray) {\n op.setInputArray("valueVariable", value.mNative);\n }\n else {\n throw new Error("value type is not supported");\n }\n op.setNumberParam("chuncky", isChuny);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("createConst is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage by initializing all elements to "value"\n * @param {number} value intial value of each element\n * @param {number} type type of element, as defined in SPLConsts.dataType\n * @returns {SPLImage}\n */\n async extractChannel(channel) {\n const op = vision.createOperation("GetColorChannel");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("Index", channel);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("createConst is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = min(max(gain * input + bias, minValue), maxValue)\n * @param {any[]} gain\n * @param {any[]} bias\n * @param {number} minValue\n * @param {number} maxValue\n * @returns {SPLImage}\n */\n async normalize(gain, bias, minValue = 0, maxValue = 0) {\n const op = vision.createOperation("normalize");\n op.setInputImage("input", this.mNativeImage);\n setVectorParam(op, "multiplier", gain);\n setVectorParam(op, "add", bias);\n op.setNumberParam("min", minValue);\n op.setNumberParam("max", maxValue);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * merges all the color channels and creates a new image\n * @param {any[]} channels\n * @returns {SPLImage}\n */\n static async merge(channels, colorType = -1) {\n const op = vision.createOperation("Merge");\n op.setNumberParam("type", colorType);\n const arrs = channels.map((im) => im.mNativeImage);\n op.setInputVectorImage("input", arrs);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("merge is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = make out bigger by adding boundary of size top, left, bottom, right.\n * the value of boundary is set by value\n * @param {number} top\n * @param {number} left\n * @param {number} bottom\n * @param {number} right\n * @param {number} value\n * @param {number} borderType\n * @returns {SPLImage}\n */\n async expand(top, left, bottom, right, value = 0, borderType = 0) {\n const op = vision.createOperation("Expand");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "top", top);\n setScalarParam(op, "left", left);\n setScalarParam(op, "bottom", bottom);\n setScalarParam(op, "right", right);\n op.setNumberParam("value", value);\n op.setNumberParam("border", borderType);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n async sendToModel(modelID, inParamName, outParamName, tileOverlap = -1, deviceType = -1, skipWarmup = -1, options = {}) {\n const op = vision.createOperation("senseiModel");\n op.setStringParam("modelID", modelID);\n for (const [key, value] of Object.entries(options)) {\n if (typeof value === "number") {\n op.setNumberParam(key, value);\n }\n else if (typeof value === "string") {\n op.setStringParam(key, value);\n }\n else if (typeof value === "boolean") {\n op.setBooleanParam(key, value);\n }\n else {\n throw new Error("non-supported parameter type found in sendToModel()");\n }\n }\n if (tileOverlap >= 0) {\n op.setNumberParam("tiled", 1);\n op.setNumberParam("tileOverlap", tileOverlap);\n }\n else {\n op.setNumberParam("tiled", 0);\n }\n if (deviceType >= 0) {\n op.setStringParam("modelDeviceType", deviceType === 0 ? "cpu" : "gpu");\n }\n if (skipWarmup >= 0) {\n op.setNumberParam("modelSkipWarmup", skipWarmup === 0 ? 0 : 1);\n }\n op.setInputImage(inParamName, this.mNativeImage);\n let result = await op.apply();\n result = result.filter((x) => x.getName() === outParamName);\n if (result.length !== 1) {\n throw new Error("merge is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n static async sendToModelMultiple(inputImages, modelID, tileOverlap = -1, deviceType = -1, skipWarmup = -1, optionalParams) {\n const op = vision.createOperation("senseiModel");\n op.setStringParam("modelID", modelID);\n if (tileOverlap >= 0) {\n op.setNumberParam("tiled", 1);\n op.setNumberParam("tileOverlap", tileOverlap);\n }\n else {\n op.setNumberParam("tiled", 0);\n }\n if (deviceType >= 0) {\n op.setStringParam("modelDeviceType", deviceType === 0 ? "cpu" : "gpu");\n }\n if (skipWarmup >= 0) {\n op.setNumberParam("modelSkipWarmup", skipWarmup === 0 ? 0 : 1);\n }\n Object.keys(inputImages).forEach(function (key) {\n op.setInputImage(key, inputImages[key].mNativeImage);\n });\n if (optionalParams) {\n for (const key in optionalParams) {\n const paramType = typeof optionalParams[key];\n switch (paramType) {\n case "number":\n setScalarParam(op, key, optionalParams[key]);\n break;\n case "string":\n op.setStringParam(key, optionalParams[key]);\n break;\n case "boolean":\n op.setBooleanParam(key, optionalParams[key]);\n break;\n default:\n throw new Error("err unknown param type");\n }\n }\n }\n const results = await op.apply();\n if (!results.length) {\n throw new Error("merge is expected to return one output");\n }\n const output = new Map();\n for (const iter in results) {\n output[results[iter].getName()] = new SPLImage(results[iter].toImage());\n }\n return output;\n }\n /**\n * output = make out bigger by adding boundary of size top, left, bottom, right.\n * the value of boundary is set by value\n * @param {number|SPLParam} top\n * @param {number|SPLParam} left\n * @param {number|SPLParam} bottom\n * @param {number|SPLParam} right\n * @param {number|SPLParam} value\n * @returns {SPLImage}\n */\n async crop(top, left, width, height) {\n const op = vision.createOperation("crop");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "top", top);\n setScalarParam(op, "left", left);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * copies source with an offset\n * @param {SPLImage} source\n *\n * @param {number} top\n * @param {number} left\n * @returns {SPLImage}\n */\n async copyIn(source, top, left, mask) {\n const op = vision.createOperation("copyIn");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("other", source.mNativeImage);\n if (mask) {\n op.setInputImage("mask", mask.mNativeImage);\n }\n setScalarParam(op, "top", top);\n setScalarParam(op, "left", left);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * clonse source with healing\n * @param {SPLImage} source\n * @param {SPLImage} other\n * @param {SPLImage} _protection\n * @param {number} top\n * @param {number} left\n * @returns {SPLImage}\n */\n async healing(source, mask, strength, protection) {\n const op = vision.createOperation("Healing");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("other", source.mNativeImage);\n op.setInputImage("mask", mask.mNativeImage);\n setScalarParam(op, "strength", strength);\n if (protection) {\n op.setInputImage("protection", protection.mNativeImage);\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new Gaussian filtered image\n * @param {number} sigmaX the sigma on the horizontal direction\n * @param {number} sigmaY the sigma on the vertical direction\n * @param {number} kernelSizeX the width of the gaussian kernel\n * @param {number} kernelSizeY the height of the gaussian kernel\n * @returns {SPLImage}\n */\n async gaussian(sigmaX, sigmaY, kernelSizeX, kernelSizeY, padding = 0) {\n const op = vision.createOperation("gaussian");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "sigmaX", sigmaX);\n setScalarParam(op, "sigmaY", sigmaY);\n setScalarParam(op, "kernelSizeX", kernelSizeX);\n setScalarParam(op, "kernelSizeY", kernelSizeY);\n setScalarParam(op, "padding", padding);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "gaussian is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new image where is 255 when the range of input pixel is between lower and higher\n * @param {number[]} from lower bound\n * @param {number[]} to upper bound\n * @returns {SPLImage}\n */\n async inRange(from, to) {\n const op = vision.createOperation("InRange");\n op.setInputImage("input", this.mNativeImage);\n op.setVectorParam("lower", from);\n op.setVectorParam("upper", to);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "in range is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage by eroding content of input image\n * @param {number} type Values can be found in vision-constants.erodeType\n * @param {number} width width of the erode kernel\n * @param {number} height height of the erode kernel\n * @returns {SPLImage}\n */\n async erode(type, width, height) {\n const op = vision.createOperation("erode");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n op.setNumberParam("type", type);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "erode is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage with thresholded content of input image\n * @param {number} type Values can be found in SPLConsts.thresholdType\n * @param {number} threshold threshold value\n * @param {number} maxValue value for binar thresholding\n * @returns {SPLImage}\n */\n async threshold(type, threshold, maxValue) {\n const op = vision.createOperation("threshold");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("thresholdValue", threshold);\n op.setNumberParam("maxValue", maxValue);\n op.setNumberParam("type", type);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "erode is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage clamped between high and low bounds\n * @param {number} lowBound\n * @param {number} highBound\n * @returns {SPLImage}\n */\n async clamp(lowBound, highBound) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_CLAMP_FILTER);\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam(dist_SPLConsts.clampOp.LOW, lowBound);\n op.setNumberParam(dist_SPLConsts.clampOp.HIGH, highBound);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "clamp is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage with thresholded content of input image\n * @param {number} type Values can be found in SPLConsts.adaptiveThresholdType\n * @param {number} maxValue value for binary thresholding\n * @param {number} adaptiveMethod threshold method SPL\n * @param {number} blockSize for adaptive filter\n * @param {number} C constant substracted from mean or weigthed mean\n * @returns {SPLImage}\n */\n async adaptiveThreshold(type, maxValue, adaptiveMethod, blockSize, C) {\n const op = vision.createOperation(dist_SPLConsts.adaptiveThresholdOp.OP_ADAPTIVETHRESHOLD_NAME);\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam(dist_SPLConsts.adaptiveThresholdOp.OP_ATHRESHOLD_MAXVALUE, maxValue);\n op.setNumberParam(dist_SPLConsts.adaptiveThresholdOp.OP_ATHRESHOLD_TYPE, type);\n op.setNumberParam(dist_SPLConsts.adaptiveThresholdOp.OP_ATHRESHOLD_METHOD, adaptiveMethod);\n op.setNumberParam(dist_SPLConsts.adaptiveThresholdOp.OP_ATHRESHOLD_BLOCKSIZE, blockSize);\n op.setNumberParam(dist_SPLConsts.adaptiveThresholdOp.OP_ATHRESHOLD_C, C);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "erode is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a new SPLImage by dilating content of input image\n * @param {number} type Values can be found in vision-constants.erodeType\n * @param {number} width width of the erode kernel\n * @param {number} height height of the erode kernel\n * @returns {SPLImage}\n */\n async dilate(type, width, height) {\n const op = vision.createOperation("dilate");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n op.setNumberParam("type", type);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "dilate is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a bilateral filtered image\n * @param {number} d Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, it is computed from sigmaSpace .\n * @param {number} sigmaColor Filter sigma in the color space.\n * @param {number} sigmaSpace Filter sigma in the coordinate space.\n * @param {boolean} isAccurate If false, uses accelerated bilateral but may produce different results\n * @returns {SPLImage}\n */\n async bilateral(d, sigmaColor, sigmaSpace, isAccurate = true) {\n const op = vision.createOperation("bilateral");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "diameter", d);\n setScalarParam(op, "sigmaColor", sigmaColor);\n setScalarParam(op, "sigmaSpace", sigmaSpace);\n op.setNumberParam("accurate", isAccurate ? 1 : 0);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "bilateral is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * apply math operation with a matrix\n * @param {string} opName "add", "subtract", "multiply"\n * @param {number} value the other matrix\n * @returns {SPLImage}\n */\n async mathOpWithScalar(opName, value) {\n const op = vision.createOperation("mathOpWithScalar");\n op.setInputImage("input", this.mNativeImage);\n op.setStringParam("opName", opName);\n op.setInputVariable("value", value.mNative);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "mathOpWithScalar is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * apply math operation with a matrix\n * @param {string} opName "add", "subtract", "multiply"\n * @param {number} value the other matrix\n * @returns {SPLImage}\n */\n async mathOpWithMatrix(opName, value) {\n const op = vision.createOperation("mathOpWithMatrix");\n op.setInputImage("input", this.mNativeImage);\n op.setStringParam("opName", opName);\n op.setInputImage("value", value.mNativeImage);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "mathOpWithMatrix is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = input + value\n * @param {SPLImage/SPLScalar/number} value\n * @returns {SPLImage}\n */\n async add(value) {\n if (typeof value === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_ADD, value);\n }\n else if (value instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_ADD, value);\n }\n else if (value instanceof SPLImage) {\n return this.mathOpWithMatrix(dist_SPLConsts.mathOps.OP_MATH_ADD, value);\n }\n else {\n throw "unsupported argument type for image operation: add";\n }\n }\n /**\n * output = input + value\n * @param {SPLImage/number} value\n * @returns {SPLImage}\n */\n async weightedAdd(value, alpha, beta, gamma = 0) {\n const op = vision.createOperation("weightedAdd");\n op.setInputImage("input", this.mNativeImage);\n if (typeof alpha === "number") {\n setScalarParam(op, "alpha", alpha);\n }\n else if (alpha instanceof SPLScalar) {\n op.setInputVariable("alpha", alpha.mNative);\n }\n else {\n throw new Error("err bad parameter type for weightedAdd: alpha");\n }\n if (typeof beta === "number") {\n setScalarParam(op, "beta", beta);\n }\n else if (beta instanceof SPLScalar) {\n op.setInputVariable("beta", beta.mNative);\n }\n else {\n throw new Error("err bad parameter type for weightedAdd: beta");\n }\n if (typeof gamma === "number") {\n setScalarParam(op, "gamma", gamma);\n }\n else if (gamma instanceof SPLScalar) {\n op.setInputVariable("gamma", gamma.mNative);\n }\n else {\n throw new Error("err bad parameter type for weightedAdd: gamma");\n }\n op.setInputImage("other", value.mNativeImage);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "mathOpWithMatrix is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = this - value\n * @param {SPLImage/SPLScalar/number} value\n * @returns {SPLImage}\n */\n async subtract(value) {\n if (typeof value === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT, value);\n }\n else if (value instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT, value);\n }\n else if (value instanceof SPLImage) {\n return this.mathOpWithMatrix(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT, value);\n }\n else {\n throw "unsupported argument type for image operation: subtract";\n }\n }\n /**\n * Returns the distance between two images.\n * This distance is used by the StyleGan for measuring the distance between the\n * latent code (1x18x512 float image) and a direction (1x18x512 float image).\n * The definition of the distance:\n * (1) Denote w = latent code, and direction = latent direction\n * (2) let d = w dot direction;\n * (3) let norm = sqrt(direction dot direction); (aka. the norm of the direction)\n * (4) distance = d / norm;\n * @param {SPLImage} directionImage the latent direction\n * @returns {SPLScalar}\n */\n async latentDistance(directionImage) {\n const op = vision.createOperation("latentDistance");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("other", directionImage.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "latentDistance is expected to return one output";\n }\n return new SPLScalar(result[0].toScalar());\n }\n /**\n * applies affine warp to the input image.\n * @param {SPLArray} transformation : 2x3 project matrix serialized\n * @param {number} outputWidth : width ouf output image\n * @param {number} outputHeight : height ouf output image\n * @param {number} faceCropScaling: 1.0x for original Projection (v1.0.18 and before), 1.2x for Canary Projection (v1.2 and later)\n * @returns {SPLImage}\n */\n static async faceComposite(sourceSegment, targetSegment, sourceLandmark, targetLandmark, forwardTransformation, modelSize = 1024, alphaX = 1, alphaY = 1, neckImportance = 1, faceCropScaling = 1) {\n const op = vision.createOperation("faceComposite");\n op.setInputImage("sourceSegments", sourceSegment.mNativeImage);\n op.setInputImage("targetSegments", targetSegment.mNativeImage);\n op.setInputImage("sourceLandmark", sourceLandmark.mNativeImage);\n op.setInputImage("targetLandmark", targetLandmark.mNativeImage);\n op.setInputArray("forwardTransformation", forwardTransformation.mNative);\n setScalarParam(op, "size", modelSize);\n op.setNumberParam("alphaX", alphaX);\n op.setNumberParam("alphaY", alphaY);\n op.setNumberParam("neckImportance", neckImportance);\n op.setNumberParam("faceCropScaling", faceCropScaling);\n const results = await op.apply();\n if (results === undefined ||\n !Array.isArray(results) ||\n results.length !== 3) {\n throw "affineWarp is expected to return three outputs";\n }\n let backwardTrans;\n let backwardTransSrc;\n let mask;\n for (const iter in results) {\n if (results[iter].getName() === "output") {\n mask = new SPLImage(results[iter].toImage());\n }\n else if (results[iter].getName() === "backwardTransformation") {\n backwardTrans = new dist_SPLArray(results[iter].toArray());\n }\n else if (results[iter].getName() === "backwardTransformationSrc") {\n backwardTransSrc = new dist_SPLArray(results[iter].toArray());\n }\n else {\n throw new Error(`${results[iter].getName()} is not expected`);\n }\n }\n return [mask, backwardTrans, backwardTransSrc];\n }\n /**\n * draw circles inside an input image\n * @param {{x:number, y:number}[]]} centers centers of circles to draw\n * @param {number[]} radius radius of circles\n * @param {number[]} color color of circles: it should either be [r,g,b] or [grayscale]\n * @param {number} width width of circle in pixels\n * @returns {SPLImage}\n */\n async drawCircles(centers, radius, color, width = 1) {\n const op = vision.createOperation("DrawCircles");\n if (Array.isArray(radius) && centers.length != radius.length) {\n throw new Error("number of coordinates dont match to number of radius");\n }\n const points = [];\n for (const ind in centers) {\n points.push(centers[ind].x);\n points.push(centers[ind].y);\n if (Array.isArray(radius))\n points.push(radius[ind]);\n else\n points.push(radius);\n }\n op.setInputImage("input", this.mNativeImage);\n op.setVectorParam("points", points);\n op.setVectorParam("color", color);\n op.setNumberParam("width", width);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * finds multiplire and additive terms to match channels of two inputs inside a mask,\n * normalize can be used after these values are drived to match two images\n * @param {SPLImage} source : source image\n * @param {SPLImage} sourceMask : regions of interset mask\n * @param {SPLImage} target : target image\n * @param {SPLImage} targetMask : targetMask\n * @param {boolean} withGain: if apply contrast or just shift colors\n * @returns {[{SPLArray}, {SPLArray}]} gain and bias\n */\n static async findMatchTransformation(source, sourceMask, target, targetMask, withGain = true) {\n const op = vision.createOperation("findMatchTransformation");\n op.setInputImage("source", source.mNativeImage);\n op.setInputImage("srcMask", sourceMask.mNativeImage);\n op.setInputImage("target", target.mNativeImage);\n op.setInputImage("trgMask", targetMask.mNativeImage);\n op.setNumberParam("withGain", withGain ? 1 : 0);\n const results = await op.apply();\n if (results === undefined ||\n !Array.isArray(results) ||\n results.length !== 2) {\n throw "findMatchTransformation is expected to return two outputs";\n }\n let gain;\n let bias;\n for (const iter in results) {\n if (results[iter].getName() === "gain") {\n gain = new dist_SPLArray(results[iter].toArray());\n }\n else if (results[iter].getName() === "bias") {\n bias = new dist_SPLArray(results[iter].toArray());\n }\n else {\n throw new Error(`${results[iter].getName()} is not expected`);\n }\n }\n return [gain, bias];\n }\n /**\n * applies affine warp to the input image.\n * @param {SPLArray} transformation : 2x3 project matrix serialized\n * @param {number} outputWidth : width ouf output image\n * @param {number} outputHeight : height ouf output image\n * @param {number} interpolationType Values can be found in vision-constants.resizeInterpolationType\n * @returns {SPLImage}\n */\n async affineWarp(transformation, outputWidth, outputHeight, borderValue = 0, interpolationType = dist_SPLConsts.resizeInterpolationType\n .OP_RESIZE_INTERPOLATION_CUBIC) {\n const op = vision.createOperation("warpAffine");\n op.setInputImage("input", this.mNativeImage);\n op.setInputArray("transformation", transformation.mNative);\n setScalarParam(op, "width", outputWidth);\n setScalarParam(op, "height", outputHeight);\n op.setNumberParam("border", borderValue);\n op.setNumberParam("interpolation", interpolationType);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "affineWarp is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * applies affine warp to the input image.\n * @param {SPLArray} transformation : 2x3 project matrix serialized\n * @param {number} outputWidth : width ouf output image\n * @param {number} outputHeight : height ouf output image\n * @returns {SPLImage}\n */\n async argMax() {\n const op = vision.createOperation("argmax");\n op.setInputImage("input", this.mNativeImage);\n const result = await op.apply();\n if (result === undefined || !Array.isArray(result) || result.length !== 1) {\n throw "argMax is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * output = value - this\n * @param {SPLImage/SPLScalar/number} value\n * @returns {SPLImage}\n */\n async subtractFrom(value) {\n if (typeof value === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT_FROM, value);\n }\n else if (value instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT_FROM, value);\n }\n else if (value instanceof SPLImage) {\n return this.mathOpWithMatrix(dist_SPLConsts.mathOps.OP_MATH_SUBTRACT_FROM, value);\n }\n else {\n throw "unsupported argument type for image operation: subtractFrom";\n }\n }\n /**\n * output = this / value\n * @param {SPLImage/SPLScalar/number} value\n * @returns {SPLImage}\n */\n async divide(value) {\n if (typeof value === "number") {\n return this.mathOpWithConst(dist_SPLConsts.mathOps.OP_MATH_DIVIDE, value);\n }\n else if (value instanceof SPLScalar) {\n return this.mathOpWithScalar(dist_SPLConsts.mathOps.OP_MATH_DIVIDE, value);\n }\n else if (value instanceof SPLImage) {\n return this.mathOpWithMatrix(dist_SPLConsts.mathOps.OP_MATH_DIVIDE, value);\n }\n else {\n throw "unsupported argument type for image operation: divide";\n }\n }\n /**\n * copies source with an offset\n * @param {SPLImage} source\n *\n * @param {number} top\n * @param {number} left\n * @returns {SPLImage}\n */\n async extractFaceMask(landmark) {\n const op = vision.createOperation("segmentFace");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("landmarks", landmark.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("normalize is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * detect faces and returns array of faces and landmarks\n * @returns {SPLImage}\n */\n async detectFaces(refineWithTvs = true) {\n const op = vision.createOperation("faceDetector");\n op.setInputImage("input", this.mNativeImage);\n op.setBooleanParam("ifrefineWithTvs", refineWithTvs);\n const results = await op.apply();\n if (results.length !== 2) {\n throw new Error("detectFaces is expected to return one output");\n }\n let faceCrops;\n let faceLandmarks;\n for (const iter in results) {\n if (results[iter].getName() === "crops") {\n faceCrops = new dist_SPLArray(results[iter].toArray());\n }\n else if (results[iter].getName() === "landMarks") {\n faceLandmarks = new dist_SPLArray(results[iter].toArray());\n }\n else {\n throw new Error(`${results[iter].getName()} is not expected`);\n }\n }\n if (!faceCrops || !faceLandmarks) {\n throw new Error("face detector didn\'t return expected outputs");\n }\n return { faceCrops, faceLandmarks };\n }\n /**\n * get biggest face and landmark from input\n * @returns {SPLImage}\n */\n static async getLargestRect(input, expand, width, height, index = 0) {\n const op = vision.createOperation("GetFaceSelectionRect");\n op.setInputArray("input", input.faceCrops.mNative);\n op.setInputArray("feature", input.faceLandmarks.mNative);\n op.setNumberParam("expand", expand);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n op.setNumberParam("index", index);\n const results = await op.apply();\n if (results.length !== 2) {\n throw new Error("getLargestRect is expected to return one output");\n }\n let crop;\n let landmark;\n for (const iter in results) {\n if (results[iter].getName() === "output") {\n crop = new SPLRect(results[iter].toRect());\n }\n else if (results[iter].getName() === "outFeatures") {\n landmark = new SPLImage(results[iter].toImage());\n }\n else {\n throw new Error(`${results[iter].getName()} is not expected`);\n }\n }\n if (!crop || !landmark) {\n throw new Error("face detector didn\'t return expected outputs");\n }\n return { crop, landmark };\n }\n static async getFaceComponent(landmark, crop, component, expand) {\n const op = vision.createOperation("GetFacePart");\n op.setInputRect("input", crop.mNative);\n op.setInputImage("landmarks", landmark.mNativeImage);\n op.setNumberParam("expand", expand);\n op.setNumberParam("component", component);\n const results = await op.apply();\n if (results.length !== 1) {\n throw new Error("getFaceComponent is expected to return one output");\n }\n return new SPLRect(results[0].toRect());\n }\n static async getFaceTransformationArray(landmark, width, height, maxChinY, expandChin, scale = 1) {\n const op = vision.createOperation("faceTransform");\n op.setInputImage("landmarks", landmark.mNativeImage);\n setScalarParam(op, "width", width);\n setScalarParam(op, "height", height);\n setScalarParam(op, "maxChinY", maxChinY);\n setScalarParam(op, "expandChin", expandChin);\n setScalarParam(op, "scale", scale);\n const results = await op.apply();\n if (results.length !== 1) {\n throw new Error("getFaceTransformationArray is expected to return one output");\n }\n return new dist_SPLArray(results[0].toArray());\n }\n /**\n * returns a new meidan blurred image\n * @param {number} sigma size of filter\n * @returns {SenseiImage}\n */\n async median(size) {\n const op = vision.createOperation("median");\n op.setInputImage("input", this.mNativeImage);\n setScalarParam(op, "size", size);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "median is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns a absolute value of an image\n * @returns {SPLImage}\n */\n async abs() {\n const op = vision.createOperation("abs");\n op.setInputImage("input", this.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "abs is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns square root of an image\n * @returns {SPLImage}\n */\n async sqrt() {\n const op = vision.createOperation("sqrt");\n op.setInputImage("input", this.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "sqrt is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * applies guided filter\n * @param {SPLImage} guide the guide image\n * @param {SPLParam | number} radius raidus of the filter\n * @param {SPLParam | number} eps regularization term\n * @returns {SPLImage}\n */\n async guidedFilter(guide, radius, eps) {\n const op = vision.createOperation("guidedFilter");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("guide", guide.mNativeImage);\n setScalarParam(op, "radius", radius);\n setScalarParam(op, "epsilon", eps);\n const result = await op.apply();\n if (result === undefined || result.length !== 1) {\n throw "guidedFilter is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * returns abs(this - otherImage)\n * @param {SPLImage} otherImage the image this image is going to be subtracted from\n * @returns {SPLImage}\n */\n async absdiff(otherImage) {\n const op = vision.createOperation("absdiff");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("other", otherImage.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "absdiff is expected to return one output";\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * warps a face using puppet warp.\n * @param {SPLImage} landmark the landmark of input image (points where it needs to be pinned)\n * @param {SPLImage} otherLandmask land mark of the target image (new pin position)\n * @param {number} mergeThreshold merges points closer than this threashold by averaging the points. (puppet warp fails if points are too close when the mesh allows). the threshold is multiplied by min(width,height)\n * @param {boolean} useFineMesh if true, it uses higher density mesh\n * @param {number} rigidity how rigid the warping will be. use SPLConsts Warp_Rigidity\n * @param {SPLArray} otherTransformation affine matrix to transform otherLandmark width (optional)\n * @returns {SPLImage} warped image\n */\n async faceWarp(landmark, otherLandmask, eyeCompressionThreshold, transformationThreshold, eyebrowMoveThreshold, useFineMesh, rigidity, otherTransformation, contextID = "", srcMask) {\n const op = vision.createOperation("faceWarp");\n op.setNumberParam("eyeCompressionThreshold", eyeCompressionThreshold);\n op.setNumberParam("transformationThreshold", transformationThreshold);\n op.setNumberParam("eyebrowMoveThreshold", eyebrowMoveThreshold);\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("landmarks", landmark.mNativeImage);\n op.setInputImage("targetLandmarks", otherLandmask.mNativeImage);\n op.setNumberParam("isFineMesh", useFineMesh ? 1 : 0);\n op.setNumberParam("rigidity", rigidity);\n op.setStringParam("contextID", contextID);\n if (srcMask) {\n op.setInputImage("mask", srcMask.mNativeImage);\n }\n if (otherTransformation) {\n op.setInputArray("targetLandmarkTransformation", otherTransformation.mNative);\n }\n const results = await op.apply();\n if (!srcMask) {\n if (results.length !== 1) {\n throw new Error("faceWarp is expected to return one output");\n }\n return [new SPLImage(results[0].toImage())];\n }\n let warpedIm;\n let warpedMask;\n for (const iter in results) {\n if (results[iter].getName() === "output") {\n warpedIm = new SPLImage(results[iter].toImage());\n }\n else if (results[iter].getName() === "warpedmask") {\n warpedMask = new SPLImage(results[iter].toImage());\n }\n else {\n throw new Error(`${results[iter].getName()} is not expected`);\n }\n }\n if (!warpedIm || !warpedMask) {\n throw new Error("face warp didn\'t return expected outputs");\n }\n return [warpedIm, warpedMask];\n }\n /**\n * applies content aware fill using a mask\n * @param {SPLImage} holeIm hole image (gray scale)\n * @returns {SPLImage} holefilled image\n */\n async contentAwareFill(holeIm) {\n const op = vision.createOperation("patchMatch");\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage("mask", holeIm.mNativeImage);\n const results = await op.apply();\n if (results.length !== 1) {\n throw new Error("contentAwareFill is expected to return one output");\n }\n return new SPLImage(results[0].toImage());\n }\n /**\n * Debugging helper. Passes the input to the output without any changes and\n * stores its content into a given file.\n */\n async dumpAndPassThrough(filePath, scale = false) {\n const op = vision.createOperation("dumpAndPassThrough");\n op.setInputImage("input", this.mNativeImage);\n op.setStringParam("filePath", filePath);\n op.setNumberParam("scaleTo255", scale ? 1 : 0);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("dumpAndPassThrough is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * Sorts connected components according to their area (number of pixels),\n * and keeps only the selected number of biggest ones. Useful when the\n * number of the components to keep is known upfront. The image is assumed\n * to contain a binary mask.\n * @param maxNumKeptComponents Maximum number of preserved components; positive integer.\n * @param connectivity Pixel connectivity; either 4 or 8 (default is 4).\n * @param clearValue Value to overwrite the not-preserved components (default is 0).\n */\n async keepLargestComponents(maxNumKeptComponents, connectivity, clearValue) {\n const op = vision.createOperation("keepLargestComponents");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("maxNumKeptComponents", maxNumKeptComponents);\n if (connectivity) {\n op.setNumberParam("connectivity", connectivity);\n }\n if (clearValue) {\n op.setNumberParam("clearValue", clearValue);\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("keepLargestComponents is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * uses masking_ai for selecting subject, sky, portrait,...\n * @param selectionTye the type of selection we are expecting\n */\n async selectSubject(type) {\n const op = vision.createOperation("subjectSelect");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("type", type);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("selectSubject is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * uses domo to detect objects\n */\n async detectObjects() {\n const op = vision.createOperation("detectObjects");\n op.setInputImage("input", this.mNativeImage);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("selectSubject is expected to return one output");\n }\n return new dist_SPLArray(result[0].toArray());\n }\n /**\n * Sorts connected components according to their area (number of pixels),\n * and removes all the ones that don\'t have the area of at least the given\n * percentage of the largest component. Useful when there are many very\n * small "artifact components" and an unknown number of the "big components"\n * to keep. The image is assumed to contain a binary mask.\n * @param areaThreshold Minimum area of components to keep, defined as\n * percentage of the area of the largest component; real number in the\n * range of (0,1).\n * @param connectivity Pixel connectivity; either 4 or 8 (default is 4).\n * @param clearValue Value to overwrite the not-preserved components (default is 0).\n */\n async removeSmallComponents(areaThreshold, connectivity, clearValue) {\n const op = vision.createOperation("removeSmallComponents");\n op.setInputImage("input", this.mNativeImage);\n op.setNumberParam("areaThreshold", areaThreshold);\n if (connectivity) {\n op.setNumberParam("connectivity", connectivity);\n }\n if (clearValue) {\n op.setNumberParam("clearValue", clearValue);\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("removeSmallComponents is expected to return one output");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * @function calcMinimumBounds compute the minumum rect bounds that enclosing the all foreground pixels while excluding as many background pixels\n * for input image. Background pixels are pixels painted with background color. Foreground is everything not painted with\n * background pixel color.\n * @backgroundIsZero background is zero if true, or MAX if false. MAX is 1 for float values and 255 for byte\n * @returns Minmium bounds as SPLRect\n */\n async calcMinimumBounds(backgroundIsZero) {\n const op = vision.createOperation(dist_SPLConsts.calcMinimumBoundsOp.OP_CALC_MINIMUM_BOUNDS_NAME);\n op.setInputImage("input", this.mNativeImage);\n if (backgroundIsZero !== undefined) {\n op.setBooleanParam(dist_SPLConsts.calcMinimumBoundsOp.OP_CALC_MINIMUM_BOUNDS_BACKGROUND_IS_ZERO, backgroundIsZero);\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("caclMinimumBounds is expected to return one output");\n }\n return new SPLRect(result[0].toRect());\n }\n /**\n * @method lensBlur applies PS lensblur to input image using depthmap to for focal distance\n * @param depthMap depth map range is 0-255 (byte image)\n * @param focalDepth the focal point depth range is 0-255\n * @param aperture the raduis of the blur filter, range is 0-100\n * @param irisShape the shape of the Iris one of SPLConsts.lensBlur.IRIS_SHAPE_TYPES, default = SPLConsts.lensBlur.IRIS_SHAPE_TYPES.IRIS_SHAPE_HEXAGON\n * @param specularBoost specular boost amount applied to colors above specular threshold brightness, range is 0-100, default = 0\n * @param specularThreshold specular highlight brightness threshold, brightness above is treated as specular color, range is 0-255, default = 255\n * @param irisCurvature curvature of the iris blade, range is 0-100, default = 0 (blade is flat)\n * @param irisRotation rotation of iris shape, range is 0-360, default = 0\n * @returns blurred image as Promise<SPLImage>\n */\n async lensBlur(depthMap, focalDepth, aperture, irisShape = dist_SPLConsts.lensBlur.IRIS_SHAPE_TYPES.IRIS_SHAPE_HEXAGON, specularBoost = 0, specularThreshold = 255, irisCurvature = 0, irisRotation = 0) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_LENSBLUR_FILTER);\n op.setInputImage("input", this.mNativeImage);\n op.setInputImage(dist_SPLConsts.lensBlur.DEPTHMAP_INPUT_NAME, depthMap.mNativeImage);\n if (focalDepth instanceof SPLScalar) {\n op.setInputVariable(dist_SPLConsts.lensBlur.FOCAL_DEPTHMAP_NAME, focalDepth.mNative);\n }\n else {\n op.setNumberParam(dist_SPLConsts.lensBlur.FOCAL_DEPTHMAP_NAME, focalDepth);\n }\n op.setNumberParam(dist_SPLConsts.lensBlur.BLUR_RADIUS_NAME, aperture);\n // optional params\n op.setNumberParam(dist_SPLConsts.lensBlur.IRIS_SHAPE_NAME, irisShape);\n op.setNumberParam(dist_SPLConsts.lensBlur.SPECULAR_BOOST_NAME, specularBoost);\n op.setNumberParam(dist_SPLConsts.lensBlur.SPECULAR_THRESHOLD_NAME, specularThreshold);\n op.setNumberParam(dist_SPLConsts.lensBlur.IRIS_CURVATURE_NAME, irisCurvature);\n op.setNumberParam(dist_SPLConsts.lensBlur.IRIS_ROTATION_NAME, irisRotation);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("lenblur expected result length = 1");\n }\n return new SPLImage(result[0].toImage());\n }\n /**\n * @method resynthesizeFace applies face resynthesise operation using patch match\n *\n * NOTE [fiser]: The SPLImage this gets called on is assumed to be the original\n * full-sized source texture image (the document canvas)!\n *\n * @param ganSourceTexture the input to the GAN, e.g. 1024x1024, cropped and oriented\n * @param ganSourceSegmentation the segmentation mask of the above "ganSourceTexture"\n * @param ganSourceFaceMeshVertices the face mesh result from the above "ganSourceTexture"\n * @param ganTargetTexture the output from the GAN, e.g. 1024x1024, the "adjusted"\n * @param ganTargetSegmentation the segmentation mask of the above "ganTargetTexture"\n * @param ganTargetFaceMeshVertices the face mesh result from the above "ganTargetTexture"\n * @param transformFromGan the affine back transform matrix to transform the "ganSourceTexture" back to the orignal source image\n * @param optionalParams additional parameters tweaking the behavior of the face resynthesis\n * @returns the facial texture resynthesized result\n */\n async resynthesizeFace(ganSourceTexture, ganSourceSegmentation, ganSourceFaceMeshVertices, ganTargetTexture, ganTargetSegmentation, ganTargetFaceMeshVertices, transformFromGan, optionalParams) {\n const params = new Map([\n ["input", this],\n [dist_SPLConsts.resynthesizeFace.GAN_SOURCE_TEXTURE, ganSourceTexture],\n [\n dist_SPLConsts.resynthesizeFace.GAN_SOURCE_SEGMENTATION,\n ganSourceSegmentation,\n ],\n [\n dist_SPLConsts.resynthesizeFace.GAN_SOURCE_FACE_MESH_VERTICES,\n ganSourceFaceMeshVertices,\n ],\n [dist_SPLConsts.resynthesizeFace.GAN_TARGET_TEXTURE, ganTargetTexture],\n [\n dist_SPLConsts.resynthesizeFace.GAN_TARGET_SEGMENTATION,\n ganTargetSegmentation,\n ],\n [\n dist_SPLConsts.resynthesizeFace.GAN_TARGET_FACE_MESH_VERTICES,\n ganTargetFaceMeshVertices,\n ],\n [\n dist_SPLConsts.resynthesizeFace.GAN_SOURCE_SEGMENTATION,\n ganSourceSegmentation,\n ],\n [dist_SPLConsts.resynthesizeFace.TRANSFORM_FROM_GAN, transformFromGan],\n ]);\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_RESYNTHESIZE_FACE);\n params.forEach((value, key) => {\n if (value instanceof SPLImage) {\n op.setInputImage(key, value.mNativeImage);\n }\n else if (value instanceof dist_SPLArray) {\n op.setInputVariable(key, value.mNative);\n }\n });\n if (optionalParams !== undefined) {\n Object.keys(optionalParams).forEach((key) => {\n const value = optionalParams[key];\n if (typeof value === "number") {\n op.setNumberParam(key, value);\n }\n else if (typeof value === "boolean") {\n op.setBooleanParam(key, value);\n }\n });\n }\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("resynthesizeFace expected result length = 1");\n }\n return new SPLImage(result[0].toImage());\n }\n // TODO WE NEED AN SPLUtils for these type of functions\n /**\n * returns the reverse of an input transformation\n * @param {SPLArray} transformation : a transformation to be reversed\n * @returns {SPLArray}\n */\n // public static async getBackwardTransformation(forwardTransformation: SPLArray): Promise<SPLArray> {\n // const op = vision.createOperation(SPLConsts.operationNames.OP_GET_BACKWARD_TRANSFORMATION_NAME);\n // op.setInputArray(\n // SPLConsts.getBackwardTransformationOp.OP_GET_BACKWARD_TRANSFORMATION_FORWARD_TRANSFORMATION,\n // forwardTransformation.mNative,\n // );\n // const results = await op.apply();\n // if (results === undefined || !Array.isArray(results) || results.length !== 1) {\n // throw \'getBackwardTransformation is expected to return one output\';\n // }\n // return new SPLArray(results[0].toArray());\n // }\n /*\n * @method align neck\n * Align neck of edit crop to the original neck position\n * The method invoker is the src crop.\n *\n * @param newCrop: RGB image of the new edit crop\n * @param srcLmks: source landmark in of shape [nPts x 2] of type float32 derived from srcCrop (aka *this)\n * @param newLmks: new landmark in of shape [nPts x 2] of type float32 derived from @newCrop\n * @param cvInterOpFlag: int value that complies with cv::INTER_xyz value. e.g 0==cv::INTER_NEAREST, 1==cv::INTER_LINEAR\n *\n * @returns new edit crop rgb image with neck aligned to the original one\n */\n async alignNeck(newCrop, srcLmks, newLmks, cvInterOpFlag = 1) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_NECK_ALIGNMENT_NAME);\n op.setInputImage("input", this.mNativeImage); // fullSourceTexture\n op.setInputImage(dist_SPLConsts.alignNeck.OP_NECK_ALIGNMENT_GAN_NEW_CROP, newCrop.mNativeImage);\n op.setInputImage(dist_SPLConsts.alignNeck.OP_NECK_ALIGNMENT_SRC_LMKS, srcLmks.mNativeImage);\n op.setInputImage(dist_SPLConsts.alignNeck.OP_NECK_ALIGNMENT_NEW_LMKS, newLmks.mNativeImage);\n op.setNumberParam(dist_SPLConsts.alignNeck.OP_NECK_ALIGNMENT_INTER_OP, cvInterOpFlag);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("alignNeck expected result length = 1");\n }\n return new SPLImage(result[0].toImage());\n }\n /*\n * @method Laplacian Blending\n * Blend this image with @otherImg using laplacian blending technique, guided by the @maskImg\n * @param this: Image where the source object will be blended into\n * @param otherImg Image that contains foreground source object\n * @param maskImg A binary mask (0 or 1) that defines the region of object in otherImg\n * @numLevels: number of Gaussian Pyramid levels. Default 6.\n * @sharedLayers: minimum shared Layer index. Default 0.\n * @gcfRatio: gcf ratio contrast adjustment. Default 1.0.\n * @return: An image containing the blended result\n */\n async laplacianBlending(otherImg, maskImg, numLevels = 6, sharedLayer = 0, gcfRatio = 1.0) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_LAPLACIAN_BLEND_NAME);\n op.setInputImage("input", this.mNativeImage); // fullSourceTexture\n op.setInputImage(dist_SPLConsts.laplacianBlending.OP_LAPLACIAN_BLEND_OTHER_IMG, otherImg.mNativeImage);\n op.setInputImage(dist_SPLConsts.laplacianBlending.OP_LAPLACIAN_BLEND_MASK_IMG, maskImg.mNativeImage);\n op.setNumberParam(dist_SPLConsts.laplacianBlending.OP_LAPLACIAN_BLEND_NUM_LEVELS, numLevels);\n op.setNumberParam(dist_SPLConsts.laplacianBlending.OP_LAPLACIAN_BLEND_SHARED_LAYERS, sharedLayer);\n op.setNumberParam(dist_SPLConsts.laplacianBlending.OP_LAPLACIAN_BLEND_GCF_RATIO, gcfRatio);\n const result = await op.apply();\n if (result.length !== 1) {\n throw new Error("laplacianBlending expected result length = 1");\n }\n return new SPLImage(result[0].toImage());\n }\n}\n\n//# sourceMappingURL=SPLImage.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLArray.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\n\n\n\nclass SPLArray {\n //public mIsSynced: boolean\n constructor(nativeVar) {\n if (!nativeVar) {\n throw new Error("input buffer cannot be null");\n }\n this.mNative = nativeVar;\n }\n static create() {\n const native = vision.createArray();\n return new SPLArray(native);\n }\n async size() {\n await this.mNative.sync();\n return this.mNative.size();\n }\n /**\n * Return the variable at "index" WITH sync.\n */\n async getItem(index) {\n await this.mNative.sync();\n return new dist_SPLVariable(this.mNative.getItem(index));\n }\n /**\n * Return the variable at "index" WITHOUT sync.\n * The method is used by JS code to construct an SPL graph with variables stored in the SPLArray.\n * See examples in:\n * - this.imageAt()\n * - this.scalarAt()\n * @param index\n * @param variableType\n * @returns The native instance to the Variable base class in C++\n */\n async at(index, variableType) {\n const op = vision.createOperation(dist_SPLConsts.arrayElementAtOp.OP_ARRAY_ELEMENT_AT_OP_NAME);\n op.setInputVariable(dist_SPLConsts.arrayElementAtOp.OP_ARRAY_ELEMENT_AT_INPUT, this.mNative);\n op.setNumberParam(dist_SPLConsts.arrayElementAtOp.OP_ARRAY_ELEMENT_AT_INDEX, index);\n op.setNumberParam(dist_SPLConsts.arrayElementAtOp.OP_ARRAY_ELEMENT_AT_VARIABLE_TYPE, variableType);\n const result = await op.apply();\n if (result.length !== 1) {\n throw "SPLArray.at() is expected to return one output";\n }\n return result[0];\n }\n async imageAt(index) {\n const variableNative = await this.at(index, dist_SPLConsts.variableType.IMAGE_VARIABLE);\n return new SPLImage(variableNative.toImage());\n }\n async scalarAt(index) {\n const variableNative = await this.at(index, dist_SPLConsts.variableType.SCALAR_VARIABLE);\n return new SPLScalar(variableNative.toScalar());\n }\n}\n/* harmony default export */ const dist_SPLArray = (SPLArray);\n//# sourceMappingURL=SPLArray.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLOpNamespace.js\n/*\n * Copyright 2020 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nclass SPLOpNamespace {\n static startNamespace(ns) {\n vision.startOperationNamespace(ns);\n }\n static endNamespace() {\n vision.endOperationNamespace();\n }\n static resetNamespace() {\n vision.resetOperationNamespace();\n }\n}\n//# sourceMappingURL=SPLOpNamespace.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/face-detector.js\n/*eslint-disable*/\n/*************************************************************************\n * ADOBE CONFIDENTIAL\n * ___________________\n *\n * Copyright 2020 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n **************************************************************************/\n\n\n\n\nconst { variableType } = dist_SPLConsts;\nclass FaceResults {\n constructor(landMark, crop) {\n this.rect = crop; // {x,y,width,height}\n this.landMark = landMark; // buffer of floats\n }\n}\n/**\n * run face detector operation on inputImage and return an array of landmarks and face rects\n * @param {*} inputImage input image to run facedetector on\n * @returns array of FaceResults objects\n */\nasync function detectFaces(inputImage) {\n try {\n let im = inputImage;\n // @TODO need to fix this. Should check image mode not depend on channels\n if (im.channels === 4) {\n im = await im.toColorSpace(dist_SPLConsts.toColorSpace.OP_TOCOLOR_TYPE_RGB);\n }\n let op = vision.createOperation(dist_SPLConsts.operationNames.OP_FACEDETECTOR_NAME);\n op.setInputImage("input", im.mNativeImage);\n const result = await op.apply();\n if (result.length !== 2) {\n throw Error("facedetector is expected to return two outputs");\n }\n if (result[0].type !== variableType.ARRAY_VARIABLE ||\n result[1].type !== variableType.ARRAY_VARIABLE) {\n throw Error("invalid facedetector result - results objects must be Variable Array type");\n }\n const rectsIndex = result[0].name === "crop" ? 0 : 1;\n const rects = await result[rectsIndex].toArray().getArray();\n const landmarks = await result[1 - rectsIndex].toArray().getArray();\n if (landmarks.length !== rects.length) {\n throw Error("invalid facedetector result - expected number of landmarks to equal number of rects");\n }\n const output = new Array(landmarks.length);\n if (landmarks.length === 0) {\n return output;\n }\n if (landmarks[0].type !== variableType.BUFFER_VARIABLE ||\n rects[0].type !== variableType.RECT_VARIABLE) {\n throw Error("invalid facedetector result - landmark variables must be Buffer type and rect variables must be Rect type");\n }\n for (let i = 0; i < output.length; ++i) {\n const l = new dist_SPLBuffer(landmarks[i].toBuffer());\n const r = rects[i].toRect();\n const rr = await r.getRect();\n const ll = await l.getData();\n output[i] = new FaceResults(ll, rr);\n }\n return output;\n }\n catch (err) {\n console.log(err);\n throw err;\n }\n}\nasync function calculateDistanceTransform(inputImage, faceResult) {\n throw new Error("Distance transform not implemented");\n}\n//# sourceMappingURL=face-detector.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/imaging-utils.js\n/* provided dependency */ var Buffer = __webpack_require__(8834)["lW"];\n/*eslint-disable*/\n/*************************************************************************\n * ADOBE CONFIDENTIAL\n * ___________________\n *\n * Copyright 2020 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n **************************************************************************/\n\n\n\n\n/**\n * @module imaging-SDK\n */\nclass ImagingUtils {\n /**\n *\n * @param {SPLImage} image\n * @returns {URL}\n */\n static async convertImageToURL(image, ext = ".jpg") {\n const isPNG = ext === ".png" || ext === "png";\n // convert to RGB jpg or RGB(A) for png\n // TODO Add colormodel to Image so we know and can skip useless conversions\n const targetCS = isPNG && image.mChannels === 4\n ? dist_SPLConsts.toColorSpace.OP_TOCOLOR_TYPE_RGBA\n : dist_SPLConsts.toColorSpace.OP_TOCOLOR_TYPE_RGB;\n image = await image.toColorSpace(targetCS);\n let buffer = await image.encode(ext);\n // await buffer.sync();\n console.log("before get data");\n let uint8Data = await buffer.getData();\n let blob = new Blob([uint8Data], {\n type: isPNG ? "image/png" : "image/jpeg",\n });\n return URL.createObjectURL(blob);\n }\n static async tryToMatchModelSizeChannelsAndType(inputImage, targetInputDimension, targetInputType) {\n if (inputImage.width !== targetInputDimension[0] ||\n inputImage.height !== targetInputDimension[1]) {\n inputImage = await inputImage.resize(targetInputDimension[0], targetInputDimension[1]);\n }\n if (inputImage.channels !== targetInputDimension[2]) {\n inputImage = ImagingUtils.tryToMatchColorTypes(inputImage, targetInputDimension);\n }\n if (inputImage.dataType !== targetInputType) {\n inputImage = ImagingUtils.tryToMatchPixelType(inputImage, targetInputType);\n }\n return inputImage;\n }\n /**\n * it tries to apply color conversion to match models input to the expected of number of channels\n * a model requires...\n * The assumption is if number of channels is 3 color space is RGB, if 4, color channles is RGBA,.\n * if 1, it\'s a gray scale. If the input is in a different color space, it\'s up to the caller of\n * the API to convert it outside of model call.\n * @param {SPLImage} inputImage.\n */\n static async tryToMatchColorTypes(inputImage, targetInputDimension) {\n const NUM_RGB_CHANNELS = 3;\n const NUM_RGBA_CHANNELS = 4;\n const NUM_GRAY_CHANNELS = 1;\n const imageInputChannelCount = inputImage.channels;\n const modelInputDimensionCount = targetInputDimension[2];\n const { toColorSpace } = dist_SPLConsts;\n let colorConst;\n // image inputs are RGB\n if (imageInputChannelCount === NUM_RGB_CHANNELS) {\n switch (modelInputDimensionCount) {\n case NUM_RGBA_CHANNELS:\n colorConst = toColorSpace.OP_TOCOLOR_TYPE_RGBA;\n break;\n case NUM_GRAY_CHANNELS:\n colorConst = toColorSpace.OP_TOCOLOR_TYPE_GRAY;\n break;\n }\n }\n // model inputs are RGB\n if (modelInputDimensionCount === NUM_RGB_CHANNELS) {\n switch (imageInputChannelCount) {\n case NUM_RGBA_CHANNELS:\n colorConst = toColorSpace.OP_TOCOLOR_TYPE_RGB;\n break;\n case NUM_GRAY_CHANNELS:\n colorConst = toColorSpace.OP_TOCOLOR_TYPE_RGB;\n break;\n }\n }\n if (colorConst) {\n return await inputImage.toColorSpace(colorConst);\n }\n // can convert the color through a 2 hop process...\n if (imageInputChannelCount === NUM_RGBA_CHANNELS &&\n modelInputDimensionCount === NUM_GRAY_CHANNELS) {\n return await inputImage.toColorSpace(toColorSpace.OP_TOCOLOR_TYPE_GRAY);\n }\n }\n static tryToMatchPixelType(inputImage, targetInputType) {\n return inputImage.convertType(targetInputType);\n }\n // the bounding array is pixel of bounds. [x1, y1, x2, y2] e.g. [100, 100, 300, 300]\n static async getSPLImageBoundingMaskFromAbsoluteBoundingBoxAndOriginalDimensions(boundingArray, width, height) {\n const x_low = boundingArray[0];\n const y_low = boundingArray[1];\n const x_high = boundingArray[2];\n const y_high = boundingArray[3];\n const dataType = dist_SPLConsts.dataType.IMG_TYPE_BYTE;\n // create the mask image\n const maskWidth = Math.floor(x_high - x_low);\n const maskHeight = Math.floor(y_high - y_low);\n let maskImage = await SPLImage.createConst(255, dataType, maskWidth, maskHeight, 1);\n // create the overall mask\n let splImage = await SPLImage.createConst(0, dataType, width, height, 1);\n // copy in the masked portion\n splImage = await splImage.copyIn(maskImage, y_low, x_low);\n return splImage;\n }\n // the bounding array is a percentage based array of bounds. [x1, y1, x2, y2] e.g. [0.25, 0.25, 0.75, 0.75]\n static async getSPLImageBoundingMaskFromBoundingBoxAndOriginalDimensions(boundingArray, width, height) {\n const absoluteBoundingArray = [\n width * boundingArray[0],\n height * boundingArray[1],\n width * boundingArray[2],\n height * boundingArray[3],\n ];\n return await ImagingUtils.getSPLImageBoundingMaskFromAbsoluteBoundingBoxAndOriginalDimensions(absoluteBoundingArray, width, height);\n }\n static async getMaskFromHeatMap(heatMap, thresholdValue) {\n if (heatMap.length === 0) {\n console.error("heat map has no height");\n return null;\n }\n if (heatMap[0].length === 0) {\n console.error("heat map has no width");\n return null;\n }\n let splImage = await SPLImage.createFrom2DArray(heatMap);\n if (!splImage) {\n console.error("err creating sensei image");\n return null;\n }\n const BINARY = dist_SPLConsts.thresholdType.OP_THRESHOLD_BINARY;\n splImage = await splImage.threshold(BINARY, thresholdValue, 255);\n splImage = await splImage.multiply(255);\n return splImage;\n }\n static async getMaskFromBase64String(s) {\n const buf = Buffer.from(s, "base64");\n const sensei_buffer = await dist_SPLBuffer.fromBuffer(buf);\n const sensei_image = await sensei_buffer.decode();\n return sensei_image;\n }\n // given a sensei image of channels representing probability of either channel\n static async getMaskFromProbabilityTensor(splImage) {\n // create a splImage w/ 1 channel and 0 or 1 depending on the max layer\n splImage = await splImage.argMax();\n // multiply by 255 to generate a sensei image byte mask\n splImage = await splImage.multiply(255);\n await splImage.sync();\n return splImage;\n }\n /**\n * Classify the input image\n * @param {*} splImage input doc image\n * @ returns object {idx, scores} where idx and scores are the index and scores arrays\n * idx is array of ints\n * scores is array of floats\n */\n static async docClassify(docImg) {\n let im = docImg;\n try {\n // resize the image to a lower resolution.\n if (im.mWidth != dist_SPLConsts.docClassifier.width ||\n im.mHeight != dist_SPLConsts.docClassifier.height) {\n im = await im.resize(dist_SPLConsts.docClassifier.width, dist_SPLConsts.docClassifier.height);\n }\n let results = await im.docClassify();\n if (results.length !== 2) {\n throw new Error("docClassify expected to return a 2 outputs");\n }\n if (results[0].type !== dist_SPLConsts.variableType.BUFFER_VARIABLE ||\n results[1].type !== dist_SPLConsts.variableType.BUFFER_VARIABLE) {\n throw new Error("docClassify expected to return buffer variables");\n }\n const scoresIndex = results[0].name === "scores" ? 0 : 1;\n let scoresarray = await results[scoresIndex].getData();\n const idxarray = await results[1 - scoresIndex].getData();\n return {\n scores: scoresarray,\n idx: idxarray,\n };\n }\n catch (error) {\n return null;\n }\n }\n /**\n * Detect faces in the input image\n * @param {*} splImage input doc image\n * @ returns array of FaceResult objects:\n * \t class FaceResults {\n *\t constructor(landMark, crop) {\n *\t this.rect = crop; \t\t\t// {x,y,width,height}\n *\t this.landMark = landMark; \t// buffer of floats\n *\t }\n *\t}\n */\n static async detectFaces(srcImg) {\n let im = srcImg;\n try {\n return im.detectFaces();\n }\n catch (error) {\n return null;\n }\n }\n}\n//# sourceMappingURL=imaging-utils.js.map\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/SPLUtils.js\n/*\n * Copyright 2019 Adobe Systems Incorporated. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\n\n\n/**\n * @class SPLUtils implements static utility functions for SPL objects\n *\n */\nclass SPLUtils {\n /**\n * returns the reverse of an input transformation\n * @param {SPLArray} transformation : a transformation to be reversed\n * @returns {SPLArray}\n */\n static async getBackwardTransformation(forwardTransformation) {\n const op = vision.createOperation(dist_SPLConsts.operationNames.OP_GET_BACKWARD_TRANSFORMATION_NAME);\n op.setInputArray(dist_SPLConsts.getBackwardTransformationOp\n .OP_GET_BACKWARD_TRANSFORMATION_FORWARD_TRANSFORMATION, forwardTransformation.mNative);\n const results = await op.apply();\n if (results === undefined ||\n !Array.isArray(results) ||\n results.length !== 1) {\n throw "getBackwardTransformation is expected to return one output";\n }\n return new dist_SPLArray(results[0].toArray());\n }\n}\n//# sourceMappingURL=SPLUtils.js.map\n// EXTERNAL MODULE: ./node_modules/@cai/spl/dist/setVision.js\nvar setVision = __webpack_require__(6083);\n;// CONCATENATED MODULE: ./node_modules/@cai/spl/dist/index.js\n/*************************************************************************\n * ADOBE CONFIDENTIAL\n * ___________________\n *\n * Copyright 2020 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n **************************************************************************/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet hostConfig;\nlet vision = (window &&\n window.require &&\n window.require("uxp") &&\n window.require("uxp").vision) ||\n {};\nconst initSPL = function (hostConfig) {\n hostConfig = hostConfig;\n};\nconst setWASMVision = async () => {\n vision = await (0,setVision/* default */.Z)();\n};\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://@cai/panel/./node_modules/@cai/spl/dist/index.js_+_12_modules?')},6083:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nasync function fetchWASMVision() {\n let fetchedDefault;\n // This will only work in UXP context that ignores CORS issues\n const visionFetch = await fetch("https://cc-cdn.stage.adobe.com/content/neural-filters/wasm/0.0.1/main.js");\n const visionJS = await visionFetch.text();\n const safeVisionJS = visionJS.replace(";export{B as default};", ";fetchedDefault = B;");\n eval(safeVisionJS);\n const vision = await fetchedDefault();\n return vision;\n}\nconst setVision = async () => {\n let vision;\n try {\n vision = await fetchWASMVision();\n }\n catch (e) {\n console.log("Error in setting up Vision", e);\n vision = {};\n }\n return vision;\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setVision);\n//# sourceMappingURL=setVision.js.map\n\n//# sourceURL=webpack://@cai/panel/./node_modules/@cai/spl/dist/setVision.js?')},2098:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorCode: () => (/* binding */ Be),\n/* harmony export */ RpcBase: () => (/* binding */ P),\n/* harmony export */ RpcClient: () => (/* binding */ S)\n/* harmony export */ });\n/* harmony import */ var _cai_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9172);\nvar ut = Object.defineProperty, lt = Object.defineProperties;\nvar ft = Object.getOwnPropertyDescriptors;\nvar le = Object.getOwnPropertySymbols;\nvar vt = Object.prototype.hasOwnProperty, pt = Object.prototype.propertyIsEnumerable;\nvar fe = (e, t, r) => t in e ? ut(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, R = (e, t) => {\n for (var r in t || (t = {}))\n vt.call(t, r) && fe(e, r, t[r]);\n if (le)\n for (var r of le(t))\n pt.call(t, r) && fe(e, r, t[r]);\n return e;\n}, H = (e, t) => lt(e, ft(t));\nvar v = (e, t, r) => new Promise((a, o) => {\n var s = (c) => {\n try {\n i(r.next(c));\n } catch (f) {\n o(f);\n }\n }, n = (c) => {\n try {\n i(r.throw(c));\n } catch (f) {\n o(f);\n }\n }, i = (c) => c.done ? a(c.value) : Promise.resolve(c.value).then(s, n);\n i((r = r.apply(e, t)).next());\n});\n\nconst { entrypoints: Xu, pluginManager: yt } = require("uxp"), J = class Ne {\n constructor(t) {\n this.origin = t || Ne.serverPluginId;\n }\n getCommand() {\n return (t) => v(this, null, function* () {\n const r = t.data;\n this.handleCommand(r);\n });\n }\n static getPlugin(t) {\n return [...yt.plugins].find((r) => r.id === t);\n }\n};\nJ.serverPluginId = "com.adobe.cai.uxp";\nJ.rpcCommandName = "CAIRpcCommand";\nlet P = J;\nvar x = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : {};\nfunction $t(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;\n}\nfunction ht() {\n this.__data__ = [], this.size = 0;\n}\nvar bt = ht;\nfunction dt(e, t) {\n return e === t || e !== e && t !== t;\n}\nvar Ue = dt, _t = Ue;\nfunction mt(e, t) {\n for (var r = e.length; r--; )\n if (_t(e[r][0], t))\n return r;\n return -1;\n}\nvar F = mt, Tt = F, At = Array.prototype, jt = At.splice;\nfunction Ct(e) {\n var t = this.__data__, r = Tt(t, e);\n if (r < 0)\n return !1;\n var a = t.length - 1;\n return r == a ? t.pop() : jt.call(t, r, 1), --this.size, !0;\n}\nvar St = Ct, Ot = F;\nfunction It(e) {\n var t = this.__data__, r = Ot(t, e);\n return r < 0 ? void 0 : t[r][1];\n}\nvar wt = It, Pt = F;\nfunction xt(e) {\n return Pt(this.__data__, e) > -1;\n}\nvar Dt = xt, Et = F;\nfunction Mt(e, t) {\n var r = this.__data__, a = Et(r, e);\n return a < 0 ? (++this.size, r.push([e, t])) : r[a][1] = t, this;\n}\nvar Lt = Mt, Ft = bt, Gt = St, Bt = wt, Nt = Dt, Ut = Lt;\nfunction d(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var a = e[t];\n this.set(a[0], a[1]);\n }\n}\nd.prototype.clear = Ft;\nd.prototype.delete = Gt;\nd.prototype.get = Bt;\nd.prototype.has = Nt;\nd.prototype.set = Ut;\nvar G = d, Kt = G;\nfunction Rt() {\n this.__data__ = new Kt(), this.size = 0;\n}\nvar Ht = Rt;\nfunction Vt(e) {\n var t = this.__data__, r = t.delete(e);\n return this.size = t.size, r;\n}\nvar kt = Vt;\nfunction zt(e) {\n return this.__data__.get(e);\n}\nvar qt = zt;\nfunction Wt(e) {\n return this.__data__.has(e);\n}\nvar Qt = Wt, Jt = typeof x == "object" && x && x.Object === Object && x, Ke = Jt, Yt = Ke, Xt = typeof self == "object" && self && self.Object === Object && self, Zt = Yt || Xt || Function("return this")(), p = Zt, er = p, tr = er.Symbol, Y = tr, pe = Y, Re = Object.prototype, rr = Re.hasOwnProperty, ar = Re.toString, C = pe ? pe.toStringTag : void 0;\nfunction nr(e) {\n var t = rr.call(e, C), r = e[C];\n try {\n e[C] = void 0;\n var a = !0;\n } catch (s) {\n }\n var o = ar.call(e);\n return a && (t ? e[C] = r : delete e[C]), o;\n}\nvar or = nr, sr = Object.prototype, ir = sr.toString;\nfunction cr(e) {\n return ir.call(e);\n}\nvar ur = cr, ge = Y, lr = or, fr = ur, vr = "[object Null]", pr = "[object Undefined]", ye = ge ? ge.toStringTag : void 0;\nfunction gr(e) {\n return e == null ? e === void 0 ? pr : vr : ye && ye in Object(e) ? lr(e) : fr(e);\n}\nvar B = gr;\nfunction yr(e) {\n var t = typeof e;\n return e != null && (t == "object" || t == "function");\n}\nvar O = yr, $r = B, hr = O, br = "[object AsyncFunction]", dr = "[object Function]", _r = "[object GeneratorFunction]", mr = "[object Proxy]";\nfunction Tr(e) {\n if (!hr(e))\n return !1;\n var t = $r(e);\n return t == dr || t == _r || t == br || t == mr;\n}\nvar He = Tr, Ar = p, jr = Ar["__core-js_shared__"], Cr = jr, V = Cr, $e = function() {\n var e = /[^.]+$/.exec(V && V.keys && V.keys.IE_PROTO || "");\n return e ? "Symbol(src)_1." + e : "";\n}();\nfunction Sr(e) {\n return !!$e && $e in e;\n}\nvar Or = Sr, Ir = Function.prototype, wr = Ir.toString;\nfunction Pr(e) {\n if (e != null) {\n try {\n return wr.call(e);\n } catch (t) {\n }\n try {\n return e + "";\n } catch (t) {\n }\n }\n return "";\n}\nvar Ve = Pr, xr = He, Dr = Or, Er = O, Mr = Ve, Lr = /[\\\\^$.*+?()[\\]{}|]/g, Fr = /^\\[object .+?Constructor\\]$/, Gr = Function.prototype, Br = Object.prototype, Nr = Gr.toString, Ur = Br.hasOwnProperty, Kr = RegExp(\n "^" + Nr.call(Ur).replace(Lr, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n);\nfunction Rr(e) {\n if (!Er(e) || Dr(e))\n return !1;\n var t = xr(e) ? Kr : Fr;\n return t.test(Mr(e));\n}\nvar Hr = Rr;\nfunction Vr(e, t) {\n return e == null ? void 0 : e[t];\n}\nvar kr = Vr, zr = Hr, qr = kr;\nfunction Wr(e, t) {\n var r = qr(e, t);\n return zr(r) ? r : void 0;\n}\nvar b = Wr, Qr = b, Jr = p, Yr = Qr(Jr, "Map"), X = Yr, Xr = b, Zr = Xr(Object, "create"), N = Zr, he = N;\nfunction ea() {\n this.__data__ = he ? he(null) : {}, this.size = 0;\n}\nvar ta = ea;\nfunction ra(e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n}\nvar aa = ra, na = N, oa = "__lodash_hash_undefined__", sa = Object.prototype, ia = sa.hasOwnProperty;\nfunction ca(e) {\n var t = this.__data__;\n if (na) {\n var r = t[e];\n return r === oa ? void 0 : r;\n }\n return ia.call(t, e) ? t[e] : void 0;\n}\nvar ua = ca, la = N, fa = Object.prototype, va = fa.hasOwnProperty;\nfunction pa(e) {\n var t = this.__data__;\n return la ? t[e] !== void 0 : va.call(t, e);\n}\nvar ga = pa, ya = N, $a = "__lodash_hash_undefined__";\nfunction ha(e, t) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = ya && t === void 0 ? $a : t, this;\n}\nvar ba = ha, da = ta, _a = aa, ma = ua, Ta = ga, Aa = ba;\nfunction _(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var a = e[t];\n this.set(a[0], a[1]);\n }\n}\n_.prototype.clear = da;\n_.prototype.delete = _a;\n_.prototype.get = ma;\n_.prototype.has = Ta;\n_.prototype.set = Aa;\nvar ja = _, be = ja, Ca = G, Sa = X;\nfunction Oa() {\n this.size = 0, this.__data__ = {\n hash: new be(),\n map: new (Sa || Ca)(),\n string: new be()\n };\n}\nvar Ia = Oa;\nfunction wa(e) {\n var t = typeof e;\n return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;\n}\nvar Pa = wa, xa = Pa;\nfunction Da(e, t) {\n var r = e.__data__;\n return xa(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;\n}\nvar U = Da, Ea = U;\nfunction Ma(e) {\n var t = Ea(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n}\nvar La = Ma, Fa = U;\nfunction Ga(e) {\n return Fa(this, e).get(e);\n}\nvar Ba = Ga, Na = U;\nfunction Ua(e) {\n return Na(this, e).has(e);\n}\nvar Ka = Ua, Ra = U;\nfunction Ha(e, t) {\n var r = Ra(this, e), a = r.size;\n return r.set(e, t), this.size += r.size == a ? 0 : 1, this;\n}\nvar Va = Ha, ka = Ia, za = La, qa = Ba, Wa = Ka, Qa = Va;\nfunction m(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var a = e[t];\n this.set(a[0], a[1]);\n }\n}\nm.prototype.clear = ka;\nm.prototype.delete = za;\nm.prototype.get = qa;\nm.prototype.has = Wa;\nm.prototype.set = Qa;\nvar Ja = m, Ya = G, Xa = X, Za = Ja, en = 200;\nfunction tn(e, t) {\n var r = this.__data__;\n if (r instanceof Ya) {\n var a = r.__data__;\n if (!Xa || a.length < en - 1)\n return a.push([e, t]), this.size = ++r.size, this;\n r = this.__data__ = new Za(a);\n }\n return r.set(e, t), this.size = r.size, this;\n}\nvar rn = tn, an = G, nn = Ht, on = kt, sn = qt, cn = Qt, un = rn;\nfunction T(e) {\n var t = this.__data__ = new an(e);\n this.size = t.size;\n}\nT.prototype.clear = nn;\nT.prototype.delete = on;\nT.prototype.get = sn;\nT.prototype.has = cn;\nT.prototype.set = un;\nvar ln = T;\nfunction fn(e, t) {\n for (var r = -1, a = e == null ? 0 : e.length; ++r < a && t(e[r], r, e) !== !1; )\n ;\n return e;\n}\nvar vn = fn, pn = b, gn = function() {\n try {\n var e = pn(Object, "defineProperty");\n return e({}, "", {}), e;\n } catch (t) {\n }\n}(), yn = gn, de = yn;\nfunction $n(e, t, r) {\n t == "__proto__" && de ? de(e, t, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[t] = r;\n}\nvar ke = $n, hn = ke, bn = Ue, dn = Object.prototype, _n = dn.hasOwnProperty;\nfunction mn(e, t, r) {\n var a = e[t];\n (!(_n.call(e, t) && bn(a, r)) || r === void 0 && !(t in e)) && hn(e, t, r);\n}\nvar ze = mn, Tn = ze, An = ke;\nfunction jn(e, t, r, a) {\n var o = !r;\n r || (r = {});\n for (var s = -1, n = t.length; ++s < n; ) {\n var i = t[s], c = a ? a(r[i], e[i], i, r, e) : void 0;\n c === void 0 && (c = e[i]), o ? An(r, i, c) : Tn(r, i, c);\n }\n return r;\n}\nvar K = jn;\nfunction Cn(e, t) {\n for (var r = -1, a = Array(e); ++r < e; )\n a[r] = t(r);\n return a;\n}\nvar Sn = Cn;\nfunction On(e) {\n return e != null && typeof e == "object";\n}\nvar I = On, In = B, wn = I, Pn = "[object Arguments]";\nfunction xn(e) {\n return wn(e) && In(e) == Pn;\n}\nvar Dn = xn, _e = Dn, En = I, qe = Object.prototype, Mn = qe.hasOwnProperty, Ln = qe.propertyIsEnumerable, Fn = _e(function() {\n return arguments;\n}()) ? _e : function(e) {\n return En(e) && Mn.call(e, "callee") && !Ln.call(e, "callee");\n}, Gn = Fn, Bn = Array.isArray, Z = Bn, E = { exports: {} };\nfunction Nn() {\n return !1;\n}\nvar Un = Nn;\nE.exports;\n(function(e, t) {\n var r = p, a = Un, o = t && !t.nodeType && t, s = o && !0 && e && !e.nodeType && e, n = s && s.exports === o, i = n ? r.Buffer : void 0, c = i ? i.isBuffer : void 0, f = c || a;\n e.exports = f;\n})(E, E.exports);\nvar We = E.exports, Kn = 9007199254740991, Rn = /^(?:0|[1-9]\\d*)$/;\nfunction Hn(e, t) {\n var r = typeof e;\n return t = t == null ? Kn : t, !!t && (r == "number" || r != "symbol" && Rn.test(e)) && e > -1 && e % 1 == 0 && e < t;\n}\nvar Vn = Hn, kn = 9007199254740991;\nfunction zn(e) {\n return typeof e == "number" && e > -1 && e % 1 == 0 && e <= kn;\n}\nvar Qe = zn, qn = B, Wn = Qe, Qn = I, Jn = "[object Arguments]", Yn = "[object Array]", Xn = "[object Boolean]", Zn = "[object Date]", eo = "[object Error]", to = "[object Function]", ro = "[object Map]", ao = "[object Number]", no = "[object Object]", oo = "[object RegExp]", so = "[object Set]", io = "[object String]", co = "[object WeakMap]", uo = "[object ArrayBuffer]", lo = "[object DataView]", fo = "[object Float32Array]", vo = "[object Float64Array]", po = "[object Int8Array]", go = "[object Int16Array]", yo = "[object Int32Array]", $o = "[object Uint8Array]", ho = "[object Uint8ClampedArray]", bo = "[object Uint16Array]", _o = "[object Uint32Array]", l = {};\nl[fo] = l[vo] = l[po] = l[go] = l[yo] = l[$o] = l[ho] = l[bo] = l[_o] = !0;\nl[Jn] = l[Yn] = l[uo] = l[Xn] = l[lo] = l[Zn] = l[eo] = l[to] = l[ro] = l[ao] = l[no] = l[oo] = l[so] = l[io] = l[co] = !1;\nfunction mo(e) {\n return Qn(e) && Wn(e.length) && !!l[qn(e)];\n}\nvar To = mo;\nfunction Ao(e) {\n return function(t) {\n return e(t);\n };\n}\nvar ee = Ao, M = { exports: {} };\nM.exports;\n(function(e, t) {\n var r = Ke, a = t && !t.nodeType && t, o = a && !0 && e && !e.nodeType && e, s = o && o.exports === a, n = s && r.process, i = function() {\n try {\n var c = o && o.require && o.require("util").types;\n return c || n && n.binding && n.binding("util");\n } catch (f) {\n }\n }();\n e.exports = i;\n})(M, M.exports);\nvar te = M.exports, jo = To, Co = ee, me = te, Te = me && me.isTypedArray, So = Te ? Co(Te) : jo, Oo = So, Io = Sn, wo = Gn, Po = Z, xo = We, Do = Vn, Eo = Oo, Mo = Object.prototype, Lo = Mo.hasOwnProperty;\nfunction Fo(e, t) {\n var r = Po(e), a = !r && wo(e), o = !r && !a && xo(e), s = !r && !a && !o && Eo(e), n = r || a || o || s, i = n ? Io(e.length, String) : [], c = i.length;\n for (var f in e)\n (t || Lo.call(e, f)) && !(n && // Safari 9 has enumerable `arguments.length` in strict mode.\n (f == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n o && (f == "offset" || f == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n s && (f == "buffer" || f == "byteLength" || f == "byteOffset") || // Skip index properties.\n Do(f, c))) && i.push(f);\n return i;\n}\nvar Je = Fo, Go = Object.prototype;\nfunction Bo(e) {\n var t = e && e.constructor, r = typeof t == "function" && t.prototype || Go;\n return e === r;\n}\nvar re = Bo;\nfunction No(e, t) {\n return function(r) {\n return e(t(r));\n };\n}\nvar Ye = No, Uo = Ye, Ko = Uo(Object.keys, Object), Ro = Ko, Ho = re, Vo = Ro, ko = Object.prototype, zo = ko.hasOwnProperty;\nfunction qo(e) {\n if (!Ho(e))\n return Vo(e);\n var t = [];\n for (var r in Object(e))\n zo.call(e, r) && r != "constructor" && t.push(r);\n return t;\n}\nvar Wo = qo, Qo = He, Jo = Qe;\nfunction Yo(e) {\n return e != null && Jo(e.length) && !Qo(e);\n}\nvar Xe = Yo, Xo = Je, Zo = Wo, es = Xe;\nfunction ts(e) {\n return es(e) ? Xo(e) : Zo(e);\n}\nvar ae = ts, rs = K, as = ae;\nfunction ns(e, t) {\n return e && rs(t, as(t), e);\n}\nvar os = ns;\nfunction ss(e) {\n var t = [];\n if (e != null)\n for (var r in Object(e))\n t.push(r);\n return t;\n}\nvar is = ss, cs = O, us = re, ls = is, fs = Object.prototype, vs = fs.hasOwnProperty;\nfunction ps(e) {\n if (!cs(e))\n return ls(e);\n var t = us(e), r = [];\n for (var a in e)\n a == "constructor" && (t || !vs.call(e, a)) || r.push(a);\n return r;\n}\nvar gs = ps, ys = Je, $s = gs, hs = Xe;\nfunction bs(e) {\n return hs(e) ? ys(e, !0) : $s(e);\n}\nvar ne = bs, ds = K, _s = ne;\nfunction ms(e, t) {\n return e && ds(t, _s(t), e);\n}\nvar Ts = ms, L = { exports: {} };\nL.exports;\n(function(e, t) {\n var r = p, a = t && !t.nodeType && t, o = a && !0 && e && !e.nodeType && e, s = o && o.exports === a, n = s ? r.Buffer : void 0, i = n ? n.allocUnsafe : void 0;\n function c(f, w) {\n if (w)\n return f.slice();\n var g = f.length, j = i ? i(g) : new f.constructor(g);\n return f.copy(j), j;\n }\n e.exports = c;\n})(L, L.exports);\nvar As = L.exports;\nfunction js(e, t) {\n var r = -1, a = e.length;\n for (t || (t = Array(a)); ++r < a; )\n t[r] = e[r];\n return t;\n}\nvar Cs = js;\nfunction Ss(e, t) {\n for (var r = -1, a = e == null ? 0 : e.length, o = 0, s = []; ++r < a; ) {\n var n = e[r];\n t(n, r, e) && (s[o++] = n);\n }\n return s;\n}\nvar Os = Ss;\nfunction Is() {\n return [];\n}\nvar Ze = Is, ws = Os, Ps = Ze, xs = Object.prototype, Ds = xs.propertyIsEnumerable, Ae = Object.getOwnPropertySymbols, Es = Ae ? function(e) {\n return e == null ? [] : (e = Object(e), ws(Ae(e), function(t) {\n return Ds.call(e, t);\n }));\n} : Ps, oe = Es, Ms = K, Ls = oe;\nfunction Fs(e, t) {\n return Ms(e, Ls(e), t);\n}\nvar Gs = Fs;\nfunction Bs(e, t) {\n for (var r = -1, a = t.length, o = e.length; ++r < a; )\n e[o + r] = t[r];\n return e;\n}\nvar et = Bs, Ns = Ye, Us = Ns(Object.getPrototypeOf, Object), tt = Us, Ks = et, Rs = tt, Hs = oe, Vs = Ze, ks = Object.getOwnPropertySymbols, zs = ks ? function(e) {\n for (var t = []; e; )\n Ks(t, Hs(e)), e = Rs(e);\n return t;\n} : Vs, rt = zs, qs = K, Ws = rt;\nfunction Qs(e, t) {\n return qs(e, Ws(e), t);\n}\nvar Js = Qs, Ys = et, Xs = Z;\nfunction Zs(e, t, r) {\n var a = t(e);\n return Xs(e) ? a : Ys(a, r(e));\n}\nvar at = Zs, ei = at, ti = oe, ri = ae;\nfunction ai(e) {\n return ei(e, ri, ti);\n}\nvar ni = ai, oi = at, si = rt, ii = ne;\nfunction ci(e) {\n return oi(e, ii, si);\n}\nvar ui = ci, li = b, fi = p, vi = li(fi, "DataView"), pi = vi, gi = b, yi = p, $i = gi(yi, "Promise"), hi = $i, bi = b, di = p, _i = bi(di, "Set"), mi = _i, Ti = b, Ai = p, ji = Ti(Ai, "WeakMap"), Ci = ji, k = pi, z = X, q = hi, W = mi, Q = Ci, nt = B, A = Ve, je = "[object Map]", Si = "[object Object]", Ce = "[object Promise]", Se = "[object Set]", Oe = "[object WeakMap]", Ie = "[object DataView]", Oi = A(k), Ii = A(z), wi = A(q), Pi = A(W), xi = A(Q), h = nt;\n(k && h(new k(new ArrayBuffer(1))) != Ie || z && h(new z()) != je || q && h(q.resolve()) != Ce || W && h(new W()) != Se || Q && h(new Q()) != Oe) && (h = function(e) {\n var t = nt(e), r = t == Si ? e.constructor : void 0, a = r ? A(r) : "";\n if (a)\n switch (a) {\n case Oi:\n return Ie;\n case Ii:\n return je;\n case wi:\n return Ce;\n case Pi:\n return Se;\n case xi:\n return Oe;\n }\n return t;\n});\nvar se = h, Di = Object.prototype, Ei = Di.hasOwnProperty;\nfunction Mi(e) {\n var t = e.length, r = new e.constructor(t);\n return t && typeof e[0] == "string" && Ei.call(e, "index") && (r.index = e.index, r.input = e.input), r;\n}\nvar Li = Mi, Fi = p, Gi = Fi.Uint8Array, Bi = Gi, we = Bi;\nfunction Ni(e) {\n var t = new e.constructor(e.byteLength);\n return new we(t).set(new we(e)), t;\n}\nvar ie = Ni, Ui = ie;\nfunction Ki(e, t) {\n var r = t ? Ui(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.byteLength);\n}\nvar Ri = Ki, Hi = /\\w*$/;\nfunction Vi(e) {\n var t = new e.constructor(e.source, Hi.exec(e));\n return t.lastIndex = e.lastIndex, t;\n}\nvar ki = Vi, Pe = Y, xe = Pe ? Pe.prototype : void 0, De = xe ? xe.valueOf : void 0;\nfunction zi(e) {\n return De ? Object(De.call(e)) : {};\n}\nvar qi = zi, Wi = ie;\nfunction Qi(e, t) {\n var r = t ? Wi(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.length);\n}\nvar Ji = Qi, Yi = ie, Xi = Ri, Zi = ki, ec = qi, tc = Ji, rc = "[object Boolean]", ac = "[object Date]", nc = "[object Map]", oc = "[object Number]", sc = "[object RegExp]", ic = "[object Set]", cc = "[object String]", uc = "[object Symbol]", lc = "[object ArrayBuffer]", fc = "[object DataView]", vc = "[object Float32Array]", pc = "[object Float64Array]", gc = "[object Int8Array]", yc = "[object Int16Array]", $c = "[object Int32Array]", hc = "[object Uint8Array]", bc = "[object Uint8ClampedArray]", dc = "[object Uint16Array]", _c = "[object Uint32Array]";\nfunction mc(e, t, r) {\n var a = e.constructor;\n switch (t) {\n case lc:\n return Yi(e);\n case rc:\n case ac:\n return new a(+e);\n case fc:\n return Xi(e, r);\n case vc:\n case pc:\n case gc:\n case yc:\n case $c:\n case hc:\n case bc:\n case dc:\n case _c:\n return tc(e, r);\n case nc:\n return new a();\n case oc:\n case cc:\n return new a(e);\n case sc:\n return Zi(e);\n case ic:\n return new a();\n case uc:\n return ec(e);\n }\n}\nvar Tc = mc, Ac = O, Ee = Object.create, jc = function() {\n function e() {\n }\n return function(t) {\n if (!Ac(t))\n return {};\n if (Ee)\n return Ee(t);\n e.prototype = t;\n var r = new e();\n return e.prototype = void 0, r;\n };\n}(), Cc = jc, Sc = Cc, Oc = tt, Ic = re;\nfunction wc(e) {\n return typeof e.constructor == "function" && !Ic(e) ? Sc(Oc(e)) : {};\n}\nvar Pc = wc, xc = se, Dc = I, Ec = "[object Map]";\nfunction Mc(e) {\n return Dc(e) && xc(e) == Ec;\n}\nvar Lc = Mc, Fc = Lc, Gc = ee, Me = te, Le = Me && Me.isMap, Bc = Le ? Gc(Le) : Fc, Nc = Bc, Uc = se, Kc = I, Rc = "[object Set]";\nfunction Hc(e) {\n return Kc(e) && Uc(e) == Rc;\n}\nvar Vc = Hc, kc = Vc, zc = ee, Fe = te, Ge = Fe && Fe.isSet, qc = Ge ? zc(Ge) : kc, Wc = qc, Qc = ln, Jc = vn, Yc = ze, Xc = os, Zc = Ts, eu = As, tu = Cs, ru = Gs, au = Js, nu = ni, ou = ui, su = se, iu = Li, cu = Tc, uu = Pc, lu = Z, fu = We, vu = Nc, pu = O, gu = Wc, yu = ae, $u = ne, hu = 1, bu = 2, du = 4, ot = "[object Arguments]", _u = "[object Array]", mu = "[object Boolean]", Tu = "[object Date]", Au = "[object Error]", st = "[object Function]", ju = "[object GeneratorFunction]", Cu = "[object Map]", Su = "[object Number]", it = "[object Object]", Ou = "[object RegExp]", Iu = "[object Set]", wu = "[object String]", Pu = "[object Symbol]", xu = "[object WeakMap]", Du = "[object ArrayBuffer]", Eu = "[object DataView]", Mu = "[object Float32Array]", Lu = "[object Float64Array]", Fu = "[object Int8Array]", Gu = "[object Int16Array]", Bu = "[object Int32Array]", Nu = "[object Uint8Array]", Uu = "[object Uint8ClampedArray]", Ku = "[object Uint16Array]", Ru = "[object Uint32Array]", u = {};\nu[ot] = u[_u] = u[Du] = u[Eu] = u[mu] = u[Tu] = u[Mu] = u[Lu] = u[Fu] = u[Gu] = u[Bu] = u[Cu] = u[Su] = u[it] = u[Ou] = u[Iu] = u[wu] = u[Pu] = u[Nu] = u[Uu] = u[Ku] = u[Ru] = !0;\nu[Au] = u[st] = u[xu] = !1;\nfunction D(e, t, r, a, o, s) {\n var n, i = t & hu, c = t & bu, f = t & du;\n if (r && (n = o ? r(e, a, o, s) : r(e)), n !== void 0)\n return n;\n if (!pu(e))\n return e;\n var w = lu(e);\n if (w) {\n if (n = iu(e), !i)\n return tu(e, n);\n } else {\n var g = su(e), j = g == st || g == ju;\n if (fu(e))\n return eu(e, i);\n if (g == it || g == ot || j && !o) {\n if (n = c || j ? {} : uu(e), !i)\n return c ? au(e, Zc(n, e)) : ru(e, Xc(n, e));\n } else {\n if (!u[g])\n return o ? e : {};\n n = cu(e, g, i);\n }\n }\n s || (s = new Qc());\n var ce = s.get(e);\n if (ce)\n return ce;\n s.set(e, n), gu(e) ? e.forEach(function(y) {\n n.add(D(y, t, r, y, e, s));\n }) : vu(e) && e.forEach(function(y, $) {\n n.set($, D(y, t, r, $, e, s));\n });\n var ct = f ? c ? ou : nu : c ? $u : yu, ue = w ? void 0 : ct(e);\n return Jc(ue || e, function(y, $) {\n ue && ($ = y, y = e[$]), Yc(n, $, D(y, t, r, $, e, s));\n }), n;\n}\nvar Hu = D, Vu = Hu, ku = 1, zu = 4;\nfunction qu(e) {\n return Vu(e, ku | zu);\n}\nvar Wu = qu;\nconst Qu = /* @__PURE__ */ $t(Wu);\nclass S extends P {\n constructor(t, r) {\n super(r), this.rpcId = 0, this.commandQueue = {}, this.getDocumentID = t;\n }\n /**\n * Singleton provider\n * @returns RpcClient\n */\n static getInstance(t, r) {\n return S.instance || (S.instance = new S(t, r)), S.instance;\n }\n /**\n * Pushes commands sent to this plugin via `invokeCommand` to the internal stream\n * so they can be processed.\n * @param command\n */\n handleCommand(t) {\n if (!t.id)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("Command without ID passed", { command: t });\n this.commandQueue[t.id] = t;\n }\n /**\n * Runs an arbitrary command on the RpcServer via `invokeCommand`\n * @param command\n * @returns Response data from the command\n */\n runCommand(t) {\n return v(this, null, function* () {\n const r = ++this.rpcId, a = H(R({}, t), {\n id: r,\n jsonrpc: "2.0",\n params: H(R({}, t.params), {\n documentID: this.getDocumentID()\n })\n });\n this.serverPlugin || (this.serverPlugin = P.getPlugin(P.serverPluginId)), a.params.origin = this.origin, this.serverPlugin.invokeCommand(P.rpcCommandName, a);\n const o = 50;\n return yield (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.retry)(() => {\n const n = this.commandQueue[r];\n if (!n)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError(`Command response not found for RPC command ${r}`, {\n queue: Qu(this.commandQueue),\n id: r\n });\n return delete this.commandQueue[r], n.params;\n }, {\n retryWait: o,\n numRetries: 5e3 / o,\n // Don\'t flood client console\n surpressWarn: !0\n });\n });\n }\n /**\n * Gets the preview panel data\n */\n getPreviewData() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "getPreviewData"\n });\n });\n }\n getDefaultExportSetting() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "getDefaultExportSetting"\n });\n });\n }\n callCAIAPI(t, ...r) {\n return v(this, null, function* () {\n return this.runCommand({\n method: "callCAIAPI",\n params: {\n method: t,\n args: r\n }\n });\n });\n }\n /**\n * Checks if the CAI plugin is available (e.g. not in an error state)\n */\n isCAIAvailable() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "isCAIAvailable"\n });\n });\n }\n /**\n * Checks if the active document used gen tech\n */\n getGenTechInfo() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "getGenTechInfo"\n });\n });\n }\n /**\n * Checks if the CAI plugin is available (e.g. not in an error state)\n */\n areAssetsLoading() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "areAssetsLoading"\n });\n });\n }\n getExportSetting() {\n return v(this, null, function* () {\n return this.runCommand({\n method: "getExportSetting"\n });\n });\n }\n setExportSetting(t) {\n return v(this, null, function* () {\n return this.runCommand({\n method: "setExportSetting",\n params: { exportSetting: t }\n });\n });\n }\n}\nvar Be;\n(function(e) {\n e[e.ParseError = -32700] = "ParseError", e[e.InvalidRequest = -32600] = "InvalidRequest", e[e.MethodNotFound = -32601] = "MethodNotFound", e[e.InvalidParams = -32602] = "InvalidParams", e[e.InternalError = -32603] = "InternalError";\n})(Be || (Be = {}));\n\n\n\n//# sourceURL=webpack://@cai/panel/../rpc/dist/index.mjs?')},1375:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CAIMain: () => (/* binding */ Xd),\n/* harmony export */ GlobalWindowError: () => (/* binding */ Yd),\n/* harmony export */ ImsTokenTimeoutError: () => (/* binding */ Kd),\n/* harmony export */ NoWorkingStoreError: () => (/* binding */ Jd),\n/* harmony export */ State: () => (/* binding */ Jt),\n/* harmony export */ UnhandledRejectionError: () => (/* binding */ Hd),\n/* harmony export */ WorkingAsset: () => (/* binding */ Gd)\n/* harmony export */ });\n/* harmony import */ var _cai_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9172);\n/* harmony import */ var _cai_localization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60);\n/* provided dependency */ var Buffer = __webpack_require__(8834)["lW"];\nvar ho = Object.defineProperty, yo = Object.defineProperties;\nvar mo = Object.getOwnPropertyDescriptors;\nvar Xt = Object.getOwnPropertySymbols;\nvar vo = Object.prototype.hasOwnProperty, bo = Object.prototype.propertyIsEnumerable;\nvar Zt = (e, r, t) => r in e ? ho(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, K = (e, r) => {\n for (var t in r || (r = {}))\n vo.call(r, t) && Zt(e, t, r[t]);\n if (Xt)\n for (var t of Xt(r))\n bo.call(r, t) && Zt(e, t, r[t]);\n return e;\n}, H = (e, r) => yo(e, mo(r));\nvar I = (e, r, t) => new Promise((n, o) => {\n var i = (c) => {\n try {\n u(t.next(c));\n } catch (s) {\n o(s);\n }\n }, a = (c) => {\n try {\n u(t.throw(c));\n } catch (s) {\n o(s);\n }\n }, u = (c) => c.done ? n(c.value) : Promise.resolve(c.value).then(i, a);\n u((t = t.apply(e, r)).next());\n});\n\n\nfunction _o() {\n this.__data__ = [], this.size = 0;\n}\nfunction Nt(e, r) {\n return e === r || e !== e && r !== r;\n}\nfunction He(e, r) {\n for (var t = e.length; t--; )\n if (Nt(e[t][0], r))\n return t;\n return -1;\n}\nvar To = Array.prototype, Po = To.splice;\nfunction Do(e) {\n var r = this.__data__, t = He(r, e);\n if (t < 0)\n return !1;\n var n = r.length - 1;\n return t == n ? r.pop() : Po.call(r, t, 1), --this.size, !0;\n}\nfunction jo(e) {\n var r = this.__data__, t = He(r, e);\n return t < 0 ? void 0 : r[t][1];\n}\nfunction Co(e) {\n return He(this.__data__, e) > -1;\n}\nfunction No(e, r) {\n var t = this.__data__, n = He(t, e);\n return n < 0 ? (++this.size, t.push([e, r])) : t[n][1] = r, this;\n}\nfunction B(e) {\n var r = -1, t = e == null ? 0 : e.length;\n for (this.clear(); ++r < t; ) {\n var n = e[r];\n this.set(n[0], n[1]);\n }\n}\nB.prototype.clear = _o;\nB.prototype.delete = Do;\nB.prototype.get = jo;\nB.prototype.has = Co;\nB.prototype.set = No;\nfunction xo() {\n this.__data__ = new B(), this.size = 0;\n}\nfunction $o(e) {\n var r = this.__data__, t = r.delete(e);\n return this.size = r.size, t;\n}\nfunction ko(e) {\n return this.__data__.get(e);\n}\nfunction Mo(e) {\n return this.__data__.has(e);\n}\nvar en = typeof global == "object" && global && global.Object === Object && global, Ro = typeof self == "object" && self && self.Object === Object && self, k = en || Ro || Function("return this")(), U = k.Symbol, tn = Object.prototype, Fo = tn.hasOwnProperty, Lo = tn.toString, we = U ? U.toStringTag : void 0;\nfunction Uo(e) {\n var r = Fo.call(e, we), t = e[we];\n try {\n e[we] = void 0;\n var n = !0;\n } catch (i) {\n }\n var o = Lo.call(e);\n return n && (r ? e[we] = t : delete e[we]), o;\n}\nvar zo = Object.prototype, Wo = zo.toString;\nfunction Vo(e) {\n return Wo.call(e);\n}\nvar Bo = "[object Null]", qo = "[object Undefined]", tr = U ? U.toStringTag : void 0;\nfunction ye(e) {\n return e == null ? e === void 0 ? qo : Bo : tr && tr in Object(e) ? Uo(e) : Vo(e);\n}\nfunction W(e) {\n var r = typeof e;\n return e != null && (r == "object" || r == "function");\n}\nvar Go = "[object AsyncFunction]", Ko = "[object Function]", Ho = "[object GeneratorFunction]", Yo = "[object Proxy]";\nfunction rn(e) {\n if (!W(e))\n return !1;\n var r = ye(e);\n return r == Ko || r == Ho || r == Go || r == Yo;\n}\nvar nt = k["__core-js_shared__"], rr = function() {\n var e = /[^.]+$/.exec(nt && nt.keys && nt.keys.IE_PROTO || "");\n return e ? "Symbol(src)_1." + e : "";\n}();\nfunction Jo(e) {\n return !!rr && rr in e;\n}\nvar Xo = Function.prototype, Zo = Xo.toString;\nfunction ie(e) {\n if (e != null) {\n try {\n return Zo.call(e);\n } catch (r) {\n }\n try {\n return e + "";\n } catch (r) {\n }\n }\n return "";\n}\nvar Qo = /[\\\\^$.*+?()[\\]{}|]/g, ei = /^\\[object .+?Constructor\\]$/, ti = Function.prototype, ri = Object.prototype, ni = ti.toString, oi = ri.hasOwnProperty, ii = RegExp(\n "^" + ni.call(oi).replace(Qo, "\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, "$1.*?") + "$"\n);\nfunction ai(e) {\n if (!W(e) || Jo(e))\n return !1;\n var r = rn(e) ? ii : ei;\n return r.test(ie(e));\n}\nfunction si(e, r) {\n return e == null ? void 0 : e[r];\n}\nfunction ae(e, r) {\n var t = si(e, r);\n return ai(t) ? t : void 0;\n}\nvar _e = ae(k, "Map"), Te = ae(Object, "create");\nfunction ui() {\n this.__data__ = Te ? Te(null) : {}, this.size = 0;\n}\nfunction ci(e) {\n var r = this.has(e) && delete this.__data__[e];\n return this.size -= r ? 1 : 0, r;\n}\nvar di = "__lodash_hash_undefined__", li = Object.prototype, fi = li.hasOwnProperty;\nfunction pi(e) {\n var r = this.__data__;\n if (Te) {\n var t = r[e];\n return t === di ? void 0 : t;\n }\n return fi.call(r, e) ? r[e] : void 0;\n}\nvar gi = Object.prototype, hi = gi.hasOwnProperty;\nfunction yi(e) {\n var r = this.__data__;\n return Te ? r[e] !== void 0 : hi.call(r, e);\n}\nvar mi = "__lodash_hash_undefined__";\nfunction vi(e, r) {\n var t = this.__data__;\n return this.size += this.has(e) ? 0 : 1, t[e] = Te && r === void 0 ? mi : r, this;\n}\nfunction ne(e) {\n var r = -1, t = e == null ? 0 : e.length;\n for (this.clear(); ++r < t; ) {\n var n = e[r];\n this.set(n[0], n[1]);\n }\n}\nne.prototype.clear = ui;\nne.prototype.delete = ci;\nne.prototype.get = pi;\nne.prototype.has = yi;\nne.prototype.set = vi;\nfunction bi() {\n this.size = 0, this.__data__ = {\n hash: new ne(),\n map: new (_e || B)(),\n string: new ne()\n };\n}\nfunction wi(e) {\n var r = typeof e;\n return r == "string" || r == "number" || r == "symbol" || r == "boolean" ? e !== "__proto__" : e === null;\n}\nfunction Ye(e, r) {\n var t = e.__data__;\n return wi(r) ? t[typeof r == "string" ? "string" : "hash"] : t.map;\n}\nfunction Si(e) {\n var r = Ye(this, e).delete(e);\n return this.size -= r ? 1 : 0, r;\n}\nfunction Ai(e) {\n return Ye(this, e).get(e);\n}\nfunction Ei(e) {\n return Ye(this, e).has(e);\n}\nfunction Oi(e, r) {\n var t = Ye(this, e), n = t.size;\n return t.set(e, r), this.size += t.size == n ? 0 : 1, this;\n}\nfunction q(e) {\n var r = -1, t = e == null ? 0 : e.length;\n for (this.clear(); ++r < t; ) {\n var n = e[r];\n this.set(n[0], n[1]);\n }\n}\nq.prototype.clear = bi;\nq.prototype.delete = Si;\nq.prototype.get = Ai;\nq.prototype.has = Ei;\nq.prototype.set = Oi;\nvar Ii = 200;\nfunction _i(e, r) {\n var t = this.__data__;\n if (t instanceof B) {\n var n = t.__data__;\n if (!_e || n.length < Ii - 1)\n return n.push([e, r]), this.size = ++t.size, this;\n t = this.__data__ = new q(n);\n }\n return t.set(e, r), this.size = t.size, this;\n}\nfunction F(e) {\n var r = this.__data__ = new B(e);\n this.size = r.size;\n}\nF.prototype.clear = xo;\nF.prototype.delete = $o;\nF.prototype.get = ko;\nF.prototype.has = Mo;\nF.prototype.set = _i;\nfunction Ti(e, r) {\n for (var t = -1, n = e == null ? 0 : e.length; ++t < n && r(e[t], t, e) !== !1; )\n ;\n return e;\n}\nvar nr = function() {\n try {\n var e = ae(Object, "defineProperty");\n return e({}, "", {}), e;\n } catch (r) {\n }\n}();\nfunction nn(e, r, t) {\n r == "__proto__" && nr ? nr(e, r, {\n configurable: !0,\n enumerable: !0,\n value: t,\n writable: !0\n }) : e[r] = t;\n}\nvar Pi = Object.prototype, Di = Pi.hasOwnProperty;\nfunction on(e, r, t) {\n var n = e[r];\n (!(Di.call(e, r) && Nt(n, t)) || t === void 0 && !(r in e)) && nn(e, r, t);\n}\nfunction Je(e, r, t, n) {\n var o = !t;\n t || (t = {});\n for (var i = -1, a = r.length; ++i < a; ) {\n var u = r[i], c = void 0;\n c === void 0 && (c = e[u]), o ? nn(t, u, c) : on(t, u, c);\n }\n return t;\n}\nfunction ji(e, r) {\n for (var t = -1, n = Array(e); ++t < e; )\n n[t] = r(t);\n return n;\n}\nfunction X(e) {\n return e != null && typeof e == "object";\n}\nvar Ci = "[object Arguments]";\nfunction or(e) {\n return X(e) && ye(e) == Ci;\n}\nvar an = Object.prototype, Ni = an.hasOwnProperty, xi = an.propertyIsEnumerable, sn = or(/* @__PURE__ */ function() {\n return arguments;\n}()) ? or : function(e) {\n return X(e) && Ni.call(e, "callee") && !xi.call(e, "callee");\n}, z = Array.isArray;\nfunction $i() {\n return !1;\n}\nvar un = typeof exports == "object" && exports && !exports.nodeType && exports, ir = un && typeof module == "object" && module && !module.nodeType && module, ki = ir && ir.exports === un, ar = ki ? k.Buffer : void 0, Mi = ar ? ar.isBuffer : void 0, Le = Mi || $i, Ri = 9007199254740991, Fi = /^(?:0|[1-9]\\d*)$/;\nfunction cn(e, r) {\n var t = typeof e;\n return r = r == null ? Ri : r, !!r && (t == "number" || t != "symbol" && Fi.test(e)) && e > -1 && e % 1 == 0 && e < r;\n}\nvar Li = 9007199254740991;\nfunction xt(e) {\n return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Li;\n}\nvar Ui = "[object Arguments]", zi = "[object Array]", Wi = "[object Boolean]", Vi = "[object Date]", Bi = "[object Error]", qi = "[object Function]", Gi = "[object Map]", Ki = "[object Number]", Hi = "[object Object]", Yi = "[object RegExp]", Ji = "[object Set]", Xi = "[object String]", Zi = "[object WeakMap]", Qi = "[object ArrayBuffer]", ea = "[object DataView]", ta = "[object Float32Array]", ra = "[object Float64Array]", na = "[object Int8Array]", oa = "[object Int16Array]", ia = "[object Int32Array]", aa = "[object Uint8Array]", sa = "[object Uint8ClampedArray]", ua = "[object Uint16Array]", ca = "[object Uint32Array]", _ = {};\n_[ta] = _[ra] = _[na] = _[oa] = _[ia] = _[aa] = _[sa] = _[ua] = _[ca] = !0;\n_[Ui] = _[zi] = _[Qi] = _[Wi] = _[ea] = _[Vi] = _[Bi] = _[qi] = _[Gi] = _[Ki] = _[Hi] = _[Yi] = _[Ji] = _[Xi] = _[Zi] = !1;\nfunction da(e) {\n return X(e) && xt(e.length) && !!_[ye(e)];\n}\nfunction $t(e) {\n return function(r) {\n return e(r);\n };\n}\nvar dn = typeof exports == "object" && exports && !exports.nodeType && exports, Oe = dn && typeof module == "object" && module && !module.nodeType && module, la = Oe && Oe.exports === dn, ot = la && en.process, ge = function() {\n try {\n var e = Oe && Oe.require && Oe.require("util").types;\n return e || ot && ot.binding && ot.binding("util");\n } catch (r) {\n }\n}(), sr = ge && ge.isTypedArray, ln = sr ? $t(sr) : da, fa = Object.prototype, pa = fa.hasOwnProperty;\nfunction fn(e, r) {\n var t = z(e), n = !t && sn(e), o = !t && !n && Le(e), i = !t && !n && !o && ln(e), a = t || n || o || i, u = a ? ji(e.length, String) : [], c = u.length;\n for (var s in e)\n (r || pa.call(e, s)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.\n (s == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.\n o && (s == "offset" || s == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n i && (s == "buffer" || s == "byteLength" || s == "byteOffset") || // Skip index properties.\n cn(s, c))) && u.push(s);\n return u;\n}\nvar ga = Object.prototype;\nfunction kt(e) {\n var r = e && e.constructor, t = typeof r == "function" && r.prototype || ga;\n return e === t;\n}\nfunction pn(e, r) {\n return function(t) {\n return e(r(t));\n };\n}\nvar ha = pn(Object.keys, Object), ya = Object.prototype, ma = ya.hasOwnProperty;\nfunction va(e) {\n if (!kt(e))\n return ha(e);\n var r = [];\n for (var t in Object(e))\n ma.call(e, t) && t != "constructor" && r.push(t);\n return r;\n}\nfunction gn(e) {\n return e != null && xt(e.length) && !rn(e);\n}\nfunction Xe(e) {\n return gn(e) ? fn(e) : va(e);\n}\nfunction ba(e, r) {\n return e && Je(r, Xe(r), e);\n}\nfunction wa(e) {\n var r = [];\n if (e != null)\n for (var t in Object(e))\n r.push(t);\n return r;\n}\nvar Sa = Object.prototype, Aa = Sa.hasOwnProperty;\nfunction Ea(e) {\n if (!W(e))\n return wa(e);\n var r = kt(e), t = [];\n for (var n in e)\n n == "constructor" && (r || !Aa.call(e, n)) || t.push(n);\n return t;\n}\nfunction Mt(e) {\n return gn(e) ? fn(e, !0) : Ea(e);\n}\nfunction Oa(e, r) {\n return e && Je(r, Mt(r), e);\n}\nvar hn = typeof exports == "object" && exports && !exports.nodeType && exports, ur = hn && typeof module == "object" && module && !module.nodeType && module, Ia = ur && ur.exports === hn, cr = Ia ? k.Buffer : void 0, dr = cr ? cr.allocUnsafe : void 0;\nfunction _a(e, r) {\n if (r)\n return e.slice();\n var t = e.length, n = dr ? dr(t) : new e.constructor(t);\n return e.copy(n), n;\n}\nfunction Ta(e, r) {\n var t = -1, n = e.length;\n for (r || (r = Array(n)); ++t < n; )\n r[t] = e[t];\n return r;\n}\nfunction Pa(e, r) {\n for (var t = -1, n = e == null ? 0 : e.length, o = 0, i = []; ++t < n; ) {\n var a = e[t];\n r(a, t, e) && (i[o++] = a);\n }\n return i;\n}\nfunction yn() {\n return [];\n}\nvar Da = Object.prototype, ja = Da.propertyIsEnumerable, lr = Object.getOwnPropertySymbols, Rt = lr ? function(e) {\n return e == null ? [] : (e = Object(e), Pa(lr(e), function(r) {\n return ja.call(e, r);\n }));\n} : yn;\nfunction Ca(e, r) {\n return Je(e, Rt(e), r);\n}\nfunction mn(e, r) {\n for (var t = -1, n = r.length, o = e.length; ++t < n; )\n e[o + t] = r[t];\n return e;\n}\nvar vn = pn(Object.getPrototypeOf, Object), Na = Object.getOwnPropertySymbols, bn = Na ? function(e) {\n for (var r = []; e; )\n mn(r, Rt(e)), e = vn(e);\n return r;\n} : yn;\nfunction xa(e, r) {\n return Je(e, bn(e), r);\n}\nfunction wn(e, r, t) {\n var n = r(e);\n return z(e) ? n : mn(n, t(e));\n}\nfunction mt(e) {\n return wn(e, Xe, Rt);\n}\nfunction $a(e) {\n return wn(e, Mt, bn);\n}\nvar vt = ae(k, "DataView"), bt = ae(k, "Promise"), ce = ae(k, "Set"), wt = ae(k, "WeakMap"), fr = "[object Map]", ka = "[object Object]", pr = "[object Promise]", gr = "[object Set]", hr = "[object WeakMap]", yr = "[object DataView]", Ma = ie(vt), Ra = ie(_e), Fa = ie(bt), La = ie(ce), Ua = ie(wt), x = ye;\n(vt && x(new vt(new ArrayBuffer(1))) != yr || _e && x(new _e()) != fr || bt && x(bt.resolve()) != pr || ce && x(new ce()) != gr || wt && x(new wt()) != hr) && (x = function(e) {\n var r = ye(e), t = r == ka ? e.constructor : void 0, n = t ? ie(t) : "";\n if (n)\n switch (n) {\n case Ma:\n return yr;\n case Ra:\n return fr;\n case Fa:\n return pr;\n case La:\n return gr;\n case Ua:\n return hr;\n }\n return r;\n});\nvar za = Object.prototype, Wa = za.hasOwnProperty;\nfunction Va(e) {\n var r = e.length, t = new e.constructor(r);\n return r && typeof e[0] == "string" && Wa.call(e, "index") && (t.index = e.index, t.input = e.input), t;\n}\nvar Ue = k.Uint8Array;\nfunction Ft(e) {\n var r = new e.constructor(e.byteLength);\n return new Ue(r).set(new Ue(e)), r;\n}\nfunction Ba(e, r) {\n var t = r ? Ft(e.buffer) : e.buffer;\n return new e.constructor(t, e.byteOffset, e.byteLength);\n}\nvar qa = /\\w*$/;\nfunction Ga(e) {\n var r = new e.constructor(e.source, qa.exec(e));\n return r.lastIndex = e.lastIndex, r;\n}\nvar mr = U ? U.prototype : void 0, vr = mr ? mr.valueOf : void 0;\nfunction Ka(e) {\n return vr ? Object(vr.call(e)) : {};\n}\nfunction Ha(e, r) {\n var t = r ? Ft(e.buffer) : e.buffer;\n return new e.constructor(t, e.byteOffset, e.length);\n}\nvar Ya = "[object Boolean]", Ja = "[object Date]", Xa = "[object Map]", Za = "[object Number]", Qa = "[object RegExp]", es = "[object Set]", ts = "[object String]", rs = "[object Symbol]", ns = "[object ArrayBuffer]", os = "[object DataView]", is = "[object Float32Array]", as = "[object Float64Array]", ss = "[object Int8Array]", us = "[object Int16Array]", cs = "[object Int32Array]", ds = "[object Uint8Array]", ls = "[object Uint8ClampedArray]", fs = "[object Uint16Array]", ps = "[object Uint32Array]";\nfunction gs(e, r, t) {\n var n = e.constructor;\n switch (r) {\n case ns:\n return Ft(e);\n case Ya:\n case Ja:\n return new n(+e);\n case os:\n return Ba(e, t);\n case is:\n case as:\n case ss:\n case us:\n case cs:\n case ds:\n case ls:\n case fs:\n case ps:\n return Ha(e, t);\n case Xa:\n return new n();\n case Za:\n case ts:\n return new n(e);\n case Qa:\n return Ga(e);\n case es:\n return new n();\n case rs:\n return Ka(e);\n }\n}\nvar br = Object.create, hs = /* @__PURE__ */ function() {\n function e() {\n }\n return function(r) {\n if (!W(r))\n return {};\n if (br)\n return br(r);\n e.prototype = r;\n var t = new e();\n return e.prototype = void 0, t;\n };\n}();\nfunction ys(e) {\n return typeof e.constructor == "function" && !kt(e) ? hs(vn(e)) : {};\n}\nvar ms = "[object Map]";\nfunction vs(e) {\n return X(e) && x(e) == ms;\n}\nvar wr = ge && ge.isMap, bs = wr ? $t(wr) : vs, ws = "[object Set]";\nfunction Ss(e) {\n return X(e) && x(e) == ws;\n}\nvar Sr = ge && ge.isSet, As = Sr ? $t(Sr) : Ss, Es = 1, Os = 2, Is = 4, Sn = "[object Arguments]", _s = "[object Array]", Ts = "[object Boolean]", Ps = "[object Date]", Ds = "[object Error]", An = "[object Function]", js = "[object GeneratorFunction]", Cs = "[object Map]", Ns = "[object Number]", En = "[object Object]", xs = "[object RegExp]", $s = "[object Set]", ks = "[object String]", Ms = "[object Symbol]", Rs = "[object WeakMap]", Fs = "[object ArrayBuffer]", Ls = "[object DataView]", Us = "[object Float32Array]", zs = "[object Float64Array]", Ws = "[object Int8Array]", Vs = "[object Int16Array]", Bs = "[object Int32Array]", qs = "[object Uint8Array]", Gs = "[object Uint8ClampedArray]", Ks = "[object Uint16Array]", Hs = "[object Uint32Array]", E = {};\nE[Sn] = E[_s] = E[Fs] = E[Ls] = E[Ts] = E[Ps] = E[Us] = E[zs] = E[Ws] = E[Vs] = E[Bs] = E[Cs] = E[Ns] = E[En] = E[xs] = E[$s] = E[ks] = E[Ms] = E[qs] = E[Gs] = E[Ks] = E[Hs] = !0;\nE[Ds] = E[An] = E[Rs] = !1;\nfunction Ne(e, r, t, n, o, i) {\n var a, u = r & Es, c = r & Os, s = r & Is;\n if (a !== void 0)\n return a;\n if (!W(e))\n return e;\n var d = z(e);\n if (d) {\n if (a = Va(e), !u)\n return Ta(e, a);\n } else {\n var l = x(e), f = l == An || l == js;\n if (Le(e))\n return _a(e, u);\n if (l == En || l == Sn || f && !o) {\n if (a = c || f ? {} : ys(e), !u)\n return c ? xa(e, Oa(a, e)) : Ca(e, ba(a, e));\n } else {\n if (!E[l])\n return o ? e : {};\n a = gs(e, l, u);\n }\n }\n i || (i = new F());\n var g = i.get(e);\n if (g)\n return g;\n i.set(e, a), As(e) ? e.forEach(function(m) {\n a.add(Ne(m, r, t, m, e, i));\n }) : bs(e) && e.forEach(function(m, y) {\n a.set(y, Ne(m, r, t, y, e, i));\n });\n var p = s ? c ? $a : mt : c ? Mt : Xe, h = d ? void 0 : p(e);\n return Ti(h || e, function(m, y) {\n h && (y = m, m = e[y]), on(a, y, Ne(m, r, t, y, e, i));\n }), a;\n}\nvar Ys = 1, Js = 4;\nfunction me(e) {\n return Ne(e, Ys | Js);\n}\nclass Gd {\n constructor({ path: r, pathKind: t, isSmartObject: n, initialInfo: o, guid: i, thumbnailFallback: a, hidden: u, assetRequest: c }) {\n var s, d, l;\n if (this.locallyComputed = null, this.createdAssetRequest = null, this.thumbnail = null, this.guid = i || (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.generateGUID)(), this.path = r != null ? r : null, this.pathKind = t != null ? t : null, this.isSmartObject = n != null ? n : !1, this.isParent = (s = o == null ? void 0 : o.is_parent) != null ? s : !1, this.title = (d = o == null ? void 0 : o.title) != null ? d : "Untitled Image", this.hiddenLayers = u != null ? u : !1, this.assetRequest = c, this.thumbnailFallback = a || null, o != null && o.thumbnail && (this.thumbnail = o.thumbnail), this.path && this.pathKind === "local")\n this.createdAssetRequest = this.handleAssetRequest();\n else {\n if (!(o != null && o.thumbnail))\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("Must pass thumbnail to locally compute data");\n this.locallyComputed = this.getLocallyComputed(o.thumbnail);\n }\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.logStatisticsEvent("attach-asset", {\n "event.value": `iso:${this.isSmartObject.toString()}|hp:${!!((l = this.path) != null && l.toString())}`\n });\n }\n /**\n * Async getter that fetches/resolves with the IWorkingAsset data for this structure\n * that ultimately will be passed to the embed call via the `WorkingStore.data()` getter.\n *\n * This will overwrite any fields returned from the daemon call with any information passed\n * into `initialInfo` on instantiation.\n *\n * @returns Promise that resolves with IWorkingAsset data structure\n */\n data() {\n return I(this, null, function* () {\n var o;\n let r = [];\n const t = (/* @__PURE__ */ new Date()).toISOString();\n if (!this.createdAssetRequest) {\n if (!this.locallyComputed)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("Nothing locally computed nor any asset request made");\n const i = me(this.locallyComputed);\n return r.length && (i.metadata.reviewRatings = r), i;\n }\n const n = yield this.createdAssetRequest;\n return n.metadata || (n.metadata = { dateTime: t }), n.metadata.dateTime || (n.metadata.dateTime = t), this.hiddenLayers && (n.metadata.adobe = {\n photoshop: {\n hasHiddenLayers: this.hiddenLayers\n }\n }), r.length && ((o = n.metadata.reviewRatings) != null && o.length && (r = [...r, ...n.metadata.reviewRatings]), n.metadata.reviewRatings = r), n;\n });\n }\n /**\n * Fetches the working asset data from the daemon if a path is available. If a path isn\'t available, we will\n * attempt to construct the WorkingAsset locally, and in that case, won\'t need a daemon request.\n */\n handleAssetRequest() {\n return I(this, null, function* () {\n try {\n if (!this.assetRequest)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("No Asset Request Function given");\n const r = yield Promise.resolve(this.assetRequest);\n if (this.thumbnail && (r.thumbnail = this.thumbnail), !r.thumbnail)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("No thumbnail generated or given", { asset: r });\n return r.title = this.title, r.guid = this.guid, r.state = "loaded", r.is_parent = this.isParent, r;\n } catch (r) {\n if (!this.thumbnailFallback)\n throw r;\n const t = yield this.thumbnailFallback(r);\n if (!t)\n throw r;\n return this.path = null, this.pathKind = "local", this.locallyComputed = this.getLocallyComputed(t), this.locallyComputed;\n }\n });\n }\n getLocallyComputed(r) {\n return {\n // TODO: Generate a title for assets we don\'t have a path for\n // @see https://app.clubhouse.io/cai/story/2168\n title: this.title,\n format: "application/octet-stream",\n provenance: null,\n manifest_path: null,\n hash: null,\n is_parent: this.isParent,\n thumbnail: r,\n guid: this.guid,\n state: "loaded",\n instance_id: (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.generateGUID)(),\n metadata: {\n dateTime: (/* @__PURE__ */ new Date()).toISOString()\n }\n };\n }\n}\nclass Kd extends _cai_common__WEBPACK_IMPORTED_MODULE_0__.FatalError {\n constructor(r) {\n super("IMS token fetch timed out", {\n originalError: (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.serializeError)(r)\n }), this.name = "ImsTokenTimeoutError";\n }\n}\nclass Hd extends _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError {\n constructor(r) {\n super("Unhandled rejection event occurred", {\n event: r\n }), this.name = "UnhandledRejectionError";\n }\n}\nclass Yd extends _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError {\n constructor(r) {\n const t = r.error;\n super("Error event occurred on window object", {\n error: (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.serializeError)(t)\n }), this.name = "GlobalWindowError", this.stack = t.stack;\n }\n}\nclass Jd extends _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError {\n constructor(r) {\n super("Unable to find associated working store", r), this.name = "NoWorkingStoreError";\n }\n}\nvar it = function() {\n return k.Date.now();\n}, Xs = /\\s/;\nfunction Zs(e) {\n for (var r = e.length; r-- && Xs.test(e.charAt(r)); )\n ;\n return r;\n}\nvar Qs = /^\\s+/;\nfunction eu(e) {\n return e && e.slice(0, Zs(e) + 1).replace(Qs, "");\n}\nvar tu = "[object Symbol]";\nfunction Ze(e) {\n return typeof e == "symbol" || X(e) && ye(e) == tu;\n}\nvar Ar = NaN, ru = /^[-+]0x[0-9a-f]+$/i, nu = /^0b[01]+$/i, ou = /^0o[0-7]+$/i, iu = parseInt;\nfunction Er(e) {\n if (typeof e == "number")\n return e;\n if (Ze(e))\n return Ar;\n if (W(e)) {\n var r = typeof e.valueOf == "function" ? e.valueOf() : e;\n e = W(r) ? r + "" : r;\n }\n if (typeof e != "string")\n return e === 0 ? e : +e;\n e = eu(e);\n var t = nu.test(e);\n return t || ou.test(e) ? iu(e.slice(2), t ? 2 : 8) : ru.test(e) ? Ar : +e;\n}\nvar au = "Expected a function", su = Math.max, uu = Math.min;\nfunction cu(e, r, t) {\n var n, o, i, a, u, c, s = 0, d = !1, l = !1, f = !0;\n if (typeof e != "function")\n throw new TypeError(au);\n r = Er(r) || 0, W(t) && (d = !!t.leading, l = "maxWait" in t, i = l ? su(Er(t.maxWait) || 0, r) : i, f = "trailing" in t ? !!t.trailing : f);\n function g(w) {\n var P = n, C = o;\n return n = o = void 0, s = w, a = e.apply(C, P), a;\n }\n function p(w) {\n return s = w, u = setTimeout(y, r), d ? g(w) : a;\n }\n function h(w) {\n var P = w - c, C = w - s, be = r - P;\n return l ? uu(be, i - C) : be;\n }\n function m(w) {\n var P = w - c, C = w - s;\n return c === void 0 || P >= r || P < 0 || l && C >= i;\n }\n function y() {\n var w = it();\n if (m(w))\n return v(w);\n u = setTimeout(y, h(w));\n }\n function v(w) {\n return u = void 0, f && n ? g(w) : (n = o = void 0, a);\n }\n function b() {\n u !== void 0 && clearTimeout(u), s = 0, n = c = o = u = void 0;\n }\n function S() {\n return u === void 0 ? a : v(it());\n }\n function O() {\n var w = it(), P = m(w);\n if (n = arguments, o = this, c = w, P) {\n if (u === void 0)\n return p(c);\n if (l)\n return clearTimeout(u), u = setTimeout(y, r), g(c);\n }\n return u === void 0 && (u = setTimeout(y, r)), a;\n }\n return O.cancel = b, O.flush = S, O;\n}\nfunction D(e) {\n for (var r = arguments.length, t = Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) t[n - 1] = arguments[n];\n if (false) { var o, i; }\n throw Error("[Immer] minified error nr: " + e + (t.length ? " " + t.map(function(a) {\n return "\'" + a + "\'";\n }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf");\n}\nfunction Z(e) {\n return !!e && !!e[T];\n}\nfunction V(e) {\n return !!e && (function(r) {\n if (!r || typeof r != "object") return !1;\n var t = Object.getPrototypeOf(r);\n if (t === null) return !0;\n var n = Object.hasOwnProperty.call(t, "constructor") && t.constructor;\n return n === Object || typeof n == "function" && Function.toString.call(n) === bu;\n }(e) || Array.isArray(e) || !!e[jr] || !!e.constructor[jr] || Lt(e) || Ut(e));\n}\nfunction oe(e, r, t) {\n t === void 0 && (t = !1), ve(e) === 0 ? (t ? Object.keys : le)(e).forEach(function(n) {\n t && typeof n == "symbol" || r(n, e[n], e);\n }) : e.forEach(function(n, o) {\n return r(o, n, e);\n });\n}\nfunction ve(e) {\n var r = e[T];\n return r ? r.i > 3 ? r.i - 4 : r.i : Array.isArray(e) ? 1 : Lt(e) ? 2 : Ut(e) ? 3 : 0;\n}\nfunction de(e, r) {\n return ve(e) === 2 ? e.has(r) : Object.prototype.hasOwnProperty.call(e, r);\n}\nfunction du(e, r) {\n return ve(e) === 2 ? e.get(r) : e[r];\n}\nfunction On(e, r, t) {\n var n = ve(e);\n n === 2 ? e.set(r, t) : n === 3 ? (e.delete(r), e.add(t)) : e[r] = t;\n}\nfunction In(e, r) {\n return e === r ? e !== 0 || 1 / e == 1 / r : e != e && r != r;\n}\nfunction Lt(e) {\n return yu && e instanceof Map;\n}\nfunction Ut(e) {\n return mu && e instanceof Set;\n}\nfunction Y(e) {\n return e.o || e.t;\n}\nfunction zt(e) {\n if (Array.isArray(e)) return Array.prototype.slice.call(e);\n var r = Tn(e);\n delete r[T];\n for (var t = le(r), n = 0; n < t.length; n++) {\n var o = t[n], i = r[o];\n i.writable === !1 && (i.writable = !0, i.configurable = !0), (i.get || i.set) && (r[o] = { configurable: !0, writable: !0, enumerable: i.enumerable, value: e[o] });\n }\n return Object.create(Object.getPrototypeOf(e), r);\n}\nfunction Wt(e, r) {\n return r === void 0 && (r = !1), Vt(e) || Z(e) || !V(e) || (ve(e) > 1 && (e.set = e.add = e.clear = e.delete = lu), Object.freeze(e), r && oe(e, function(t, n) {\n return Wt(n, !0);\n }, !0)), e;\n}\nfunction lu() {\n D(2);\n}\nfunction Vt(e) {\n return e == null || typeof e != "object" || Object.isFrozen(e);\n}\nfunction L(e) {\n var r = Ot[e];\n return r || D(18, e), r;\n}\nfunction fu(e, r) {\n Ot[e] || (Ot[e] = r);\n}\nfunction St() {\n return true || 0, he;\n}\nfunction at(e, r) {\n r && (L("Patches"), e.u = [], e.s = [], e.v = r);\n}\nfunction ze(e) {\n At(e), e.p.forEach(pu), e.p = null;\n}\nfunction At(e) {\n e === he && (he = e.l);\n}\nfunction Or(e) {\n return he = { p: [], l: he, h: e, m: !0, _: 0 };\n}\nfunction pu(e) {\n var r = e[T];\n r.i === 0 || r.i === 1 ? r.j() : r.O = !0;\n}\nfunction st(e, r) {\n r._ = r.p.length;\n var t = r.p[0], n = e !== void 0 && e !== t;\n return r.h.g || L("ES5").S(r, e, n), n ? (t[T].P && (ze(r), D(4)), V(e) && (e = We(r, e), r.l || Ve(r, e)), r.u && L("Patches").M(t[T].t, e, r.u, r.s)) : e = We(r, t, []), ze(r), r.u && r.v(r.u, r.s), e !== _n ? e : void 0;\n}\nfunction We(e, r, t) {\n if (Vt(r)) return r;\n var n = r[T];\n if (!n) return oe(r, function(i, a) {\n return Ir(e, n, r, i, a, t);\n }, !0), r;\n if (n.A !== e) return r;\n if (!n.P) return Ve(e, n.t, !0), n.t;\n if (!n.I) {\n n.I = !0, n.A._--;\n var o = n.i === 4 || n.i === 5 ? n.o = zt(n.k) : n.o;\n oe(n.i === 3 ? new Set(o) : o, function(i, a) {\n return Ir(e, n, o, i, a, t);\n }), Ve(e, o, !1), t && e.u && L("Patches").R(n, t, e.u, e.s);\n }\n return n.o;\n}\nfunction Ir(e, r, t, n, o, i) {\n if ( false && 0, Z(o)) {\n var a = We(e, o, i && r && r.i !== 3 && !de(r.D, n) ? i.concat(n) : void 0);\n if (On(t, n, a), !Z(a)) return;\n e.m = !1;\n }\n if (V(o) && !Vt(o)) {\n if (!e.h.F && e._ < 1) return;\n We(e, o), r && r.A.l || Ve(e, o);\n }\n}\nfunction Ve(e, r, t) {\n t === void 0 && (t = !1), e.h.F && e.m && Wt(r, t);\n}\nfunction ut(e, r) {\n var t = e[T];\n return (t ? Y(t) : e)[r];\n}\nfunction _r(e, r) {\n if (r in e) for (var t = Object.getPrototypeOf(e); t; ) {\n var n = Object.getOwnPropertyDescriptor(t, r);\n if (n) return n;\n t = Object.getPrototypeOf(t);\n }\n}\nfunction J(e) {\n e.P || (e.P = !0, e.l && J(e.l));\n}\nfunction ct(e) {\n e.o || (e.o = zt(e.t));\n}\nfunction Et(e, r, t) {\n var n = Lt(r) ? L("MapSet").N(r, t) : Ut(r) ? L("MapSet").T(r, t) : e.g ? function(o, i) {\n var a = Array.isArray(o), u = { i: a ? 1 : 0, A: i ? i.A : St(), P: !1, I: !1, D: {}, l: i, t: o, k: null, o: null, j: null, C: !1 }, c = u, s = Pe;\n a && (c = [u], s = Ee);\n var d = Proxy.revocable(c, s), l = d.revoke, f = d.proxy;\n return u.k = f, u.j = l, f;\n }(r, t) : L("ES5").J(r, t);\n return (t ? t.A : St()).p.push(n), n;\n}\nfunction gu(e) {\n return Z(e) || D(22, e), function r(t) {\n if (!V(t)) return t;\n var n, o = t[T], i = ve(t);\n if (o) {\n if (!o.P && (o.i < 4 || !L("ES5").K(o))) return o.t;\n o.I = !0, n = Tr(t, i), o.I = !1;\n } else n = Tr(t, i);\n return oe(n, function(a, u) {\n o && du(o.t, a) === u || On(n, a, r(u));\n }), i === 3 ? new Set(n) : n;\n }(e);\n}\nfunction Tr(e, r) {\n switch (r) {\n case 2:\n return new Map(e);\n case 3:\n return Array.from(e);\n }\n return zt(e);\n}\nfunction hu() {\n function e(a, u) {\n var c = i[a];\n return c ? c.enumerable = u : i[a] = c = { configurable: !0, enumerable: u, get: function() {\n var s = this[T];\n return false && 0, Pe.get(s, a);\n }, set: function(s) {\n var d = this[T];\n false && 0, Pe.set(d, a, s);\n } }, c;\n }\n function r(a) {\n for (var u = a.length - 1; u >= 0; u--) {\n var c = a[u][T];\n if (!c.P) switch (c.i) {\n case 5:\n n(c) && J(c);\n break;\n case 4:\n t(c) && J(c);\n }\n }\n }\n function t(a) {\n for (var u = a.t, c = a.k, s = le(c), d = s.length - 1; d >= 0; d--) {\n var l = s[d];\n if (l !== T) {\n var f = u[l];\n if (f === void 0 && !de(u, l)) return !0;\n var g = c[l], p = g && g[T];\n if (p ? p.t !== f : !In(g, f)) return !0;\n }\n }\n var h = !!u[T];\n return s.length !== le(u).length + (h ? 0 : 1);\n }\n function n(a) {\n var u = a.k;\n if (u.length !== a.t.length) return !0;\n var c = Object.getOwnPropertyDescriptor(u, u.length - 1);\n if (c && !c.get) return !0;\n for (var s = 0; s < u.length; s++) if (!u.hasOwnProperty(s)) return !0;\n return !1;\n }\n function o(a) {\n a.O && D(3, JSON.stringify(Y(a)));\n }\n var i = {};\n fu("ES5", { J: function(a, u) {\n var c = Array.isArray(a), s = function(l, f) {\n if (l) {\n for (var g = Array(f.length), p = 0; p < f.length; p++) Object.defineProperty(g, "" + p, e(p, !0));\n return g;\n }\n var h = Tn(f);\n delete h[T];\n for (var m = le(h), y = 0; y < m.length; y++) {\n var v = m[y];\n h[v] = e(v, l || !!h[v].enumerable);\n }\n return Object.create(Object.getPrototypeOf(f), h);\n }(c, a), d = { i: c ? 5 : 4, A: u ? u.A : St(), P: !1, I: !1, D: {}, l: u, t: a, k: s, o: null, O: !1, C: !1 };\n return Object.defineProperty(s, T, { value: d, writable: !0 }), s;\n }, S: function(a, u, c) {\n c ? Z(u) && u[T].A === a && r(a.p) : (a.u && function s(d) {\n if (d && typeof d == "object") {\n var l = d[T];\n if (l) {\n var f = l.t, g = l.k, p = l.D, h = l.i;\n if (h === 4) oe(g, function(S) {\n S !== T && (f[S] !== void 0 || de(f, S) ? p[S] || s(g[S]) : (p[S] = !0, J(l)));\n }), oe(f, function(S) {\n g[S] !== void 0 || de(g, S) || (p[S] = !1, J(l));\n });\n else if (h === 5) {\n if (n(l) && (J(l), p.length = !0), g.length < f.length) for (var m = g.length; m < f.length; m++) p[m] = !1;\n else for (var y = f.length; y < g.length; y++) p[y] = !0;\n for (var v = Math.min(g.length, f.length), b = 0; b < v; b++) g.hasOwnProperty(b) || (p[b] = !0), p[b] === void 0 && s(g[b]);\n }\n }\n }\n }(a.p[0]), r(a.p));\n }, K: function(a) {\n return a.i === 4 ? t(a) : n(a);\n } });\n}\nvar Pr, he, Bt = typeof Symbol != "undefined" && typeof Symbol("x") == "symbol", yu = typeof Map != "undefined", mu = typeof Set != "undefined", Dr = typeof Proxy != "undefined" && Proxy.revocable !== void 0 && typeof Reflect != "undefined", _n = Bt ? Symbol.for("immer-nothing") : ((Pr = {})["immer-nothing"] = !0, Pr), jr = Bt ? Symbol.for("immer-draftable") : "__$immer_draftable", T = Bt ? Symbol.for("immer-state") : "__$immer_state", vu = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function(e) {\n return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + e;\n}, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the \'length\' property", 15: function(e) {\n return "Cannot apply patch, path doesn\'t resolve: " + e;\n}, 16: \'Sets cannot have "replace" patches.\', 17: function(e) {\n return "Unsupported patch operation: " + e;\n}, 18: function(e) {\n return "The plugin for \'" + e + "\' has not been loaded into Immer. To enable the plugin, import and call `enable" + e + "()` when initializing your application.";\n}, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function(e) {\n return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with \'[immerable]: true\'. Got \'" + e + "\'";\n}, 22: function(e) {\n return "\'current\' expects a draft, got: " + e;\n}, 23: function(e) {\n return "\'original\' expects a draft, got: " + e;\n}, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" }, bu = "" + Object.prototype.constructor, le = typeof Reflect != "undefined" && Reflect.ownKeys ? Reflect.ownKeys : Object.getOwnPropertySymbols !== void 0 ? function(e) {\n return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));\n} : Object.getOwnPropertyNames, Tn = Object.getOwnPropertyDescriptors || function(e) {\n var r = {};\n return le(e).forEach(function(t) {\n r[t] = Object.getOwnPropertyDescriptor(e, t);\n }), r;\n}, Ot = {}, Pe = { get: function(e, r) {\n if (r === T) return e;\n var t = Y(e);\n if (!de(t, r)) return function(o, i, a) {\n var u, c = _r(i, a);\n return c ? "value" in c ? c.value : (u = c.get) === null || u === void 0 ? void 0 : u.call(o.k) : void 0;\n }(e, t, r);\n var n = t[r];\n return e.I || !V(n) ? n : n === ut(e.t, r) ? (ct(e), e.o[r] = Et(e.A.h, n, e)) : n;\n}, has: function(e, r) {\n return r in Y(e);\n}, ownKeys: function(e) {\n return Reflect.ownKeys(Y(e));\n}, set: function(e, r, t) {\n var n = _r(Y(e), r);\n if (n != null && n.set) return n.set.call(e.k, t), !0;\n if (!e.P) {\n var o = ut(Y(e), r), i = o == null ? void 0 : o[T];\n if (i && i.t === t) return e.o[r] = t, e.D[r] = !1, !0;\n if (In(t, o) && (t !== void 0 || de(e.t, r))) return !0;\n ct(e), J(e);\n }\n return e.o[r] === t && typeof t != "number" && (t !== void 0 || r in e.o) || (e.o[r] = t, e.D[r] = !0, !0);\n}, deleteProperty: function(e, r) {\n return ut(e.t, r) !== void 0 || r in e.t ? (e.D[r] = !1, ct(e), J(e)) : delete e.D[r], e.o && delete e.o[r], !0;\n}, getOwnPropertyDescriptor: function(e, r) {\n var t = Y(e), n = Reflect.getOwnPropertyDescriptor(t, r);\n return n && { writable: !0, configurable: e.i !== 1 || r !== "length", enumerable: n.enumerable, value: t[r] };\n}, defineProperty: function() {\n D(11);\n}, getPrototypeOf: function(e) {\n return Object.getPrototypeOf(e.t);\n}, setPrototypeOf: function() {\n D(12);\n} }, Ee = {};\noe(Pe, function(e, r) {\n Ee[e] = function() {\n return arguments[0] = arguments[0][0], r.apply(this, arguments);\n };\n}), Ee.deleteProperty = function(e, r) {\n return false && 0, Ee.set.call(this, e, r, void 0);\n}, Ee.set = function(e, r, t) {\n return false && 0, Pe.set.call(this, e[0], r, t, e[0]);\n};\nvar wu = function() {\n function e(t) {\n var n = this;\n this.g = Dr, this.F = !0, this.produce = function(o, i, a) {\n if (typeof o == "function" && typeof i != "function") {\n var u = i;\n i = o;\n var c = n;\n return function(h) {\n var m = this;\n h === void 0 && (h = u);\n for (var y = arguments.length, v = Array(y > 1 ? y - 1 : 0), b = 1; b < y; b++) v[b - 1] = arguments[b];\n return c.produce(h, function(S) {\n var O;\n return (O = i).call.apply(O, [m, S].concat(v));\n });\n };\n }\n var s;\n if (typeof i != "function" && D(6), a !== void 0 && typeof a != "function" && D(7), V(o)) {\n var d = Or(n), l = Et(n, o, void 0), f = !0;\n try {\n s = i(l), f = !1;\n } finally {\n f ? ze(d) : At(d);\n }\n return typeof Promise != "undefined" && s instanceof Promise ? s.then(function(h) {\n return at(d, a), st(h, d);\n }, function(h) {\n throw ze(d), h;\n }) : (at(d, a), st(s, d));\n }\n if (!o || typeof o != "object") {\n if ((s = i(o)) === void 0 && (s = o), s === _n && (s = void 0), n.F && Wt(s, !0), a) {\n var g = [], p = [];\n L("Patches").M(o, s, g, p), a(g, p);\n }\n return s;\n }\n D(21, o);\n }, this.produceWithPatches = function(o, i) {\n if (typeof o == "function") return function(s) {\n for (var d = arguments.length, l = Array(d > 1 ? d - 1 : 0), f = 1; f < d; f++) l[f - 1] = arguments[f];\n return n.produceWithPatches(s, function(g) {\n return o.apply(void 0, [g].concat(l));\n });\n };\n var a, u, c = n.produce(o, i, function(s, d) {\n a = s, u = d;\n });\n return typeof Promise != "undefined" && c instanceof Promise ? c.then(function(s) {\n return [s, a, u];\n }) : [c, a, u];\n }, typeof (t == null ? void 0 : t.useProxies) == "boolean" && this.setUseProxies(t.useProxies), typeof (t == null ? void 0 : t.autoFreeze) == "boolean" && this.setAutoFreeze(t.autoFreeze);\n }\n var r = e.prototype;\n return r.createDraft = function(t) {\n V(t) || D(8), Z(t) && (t = gu(t));\n var n = Or(this), o = Et(this, t, void 0);\n return o[T].C = !0, At(n), o;\n }, r.finishDraft = function(t, n) {\n var o = t && t[T];\n false && (0);\n var i = o.A;\n return at(i, n), st(void 0, i);\n }, r.setAutoFreeze = function(t) {\n this.F = t;\n }, r.setUseProxies = function(t) {\n t && !Dr && D(20), this.g = t;\n }, r.applyPatches = function(t, n) {\n var o;\n for (o = n.length - 1; o >= 0; o--) {\n var i = n[o];\n if (i.path.length === 0 && i.op === "replace") {\n t = i.value;\n break;\n }\n }\n o > -1 && (n = n.slice(o + 1));\n var a = L("Patches").$;\n return Z(t) ? a(t, n) : this.produce(t, function(u) {\n return a(u, n);\n });\n }, e;\n}(), N = new wu(), Pn = N.produce;\nN.produceWithPatches.bind(N);\nN.setAutoFreeze.bind(N);\nN.setUseProxies.bind(N);\nN.applyPatches.bind(N);\nN.createDraft.bind(N);\nN.finishDraft.bind(N);\nfunction Su(e, r, t) {\n return r in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction Cr(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n r && (n = n.filter(function(o) {\n return Object.getOwnPropertyDescriptor(e, o).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction Nr(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = arguments[r] != null ? arguments[r] : {};\n r % 2 ? Cr(Object(t), !0).forEach(function(n) {\n Su(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Cr(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction j(e) {\n return "Minified Redux error #" + e + "; visit https://redux.js.org/Errors?code=" + e + " for the full message or use the non-minified dev environment for full errors. ";\n}\nvar xr = function() {\n return typeof Symbol == "function" && Symbol.observable || "@@observable";\n}(), dt = function() {\n return Math.random().toString(36).substring(7).split("").join(".");\n}, re = {\n INIT: "@@redux/INIT" + dt(),\n REPLACE: "@@redux/REPLACE" + dt(),\n PROBE_UNKNOWN_ACTION: function() {\n return "@@redux/PROBE_UNKNOWN_ACTION" + dt();\n }\n};\nfunction Dn(e) {\n if (typeof e != "object" || e === null) return !1;\n for (var r = e; Object.getPrototypeOf(r) !== null; )\n r = Object.getPrototypeOf(r);\n return Object.getPrototypeOf(e) === r;\n}\nfunction Au(e) {\n if (e === void 0) return "undefined";\n if (e === null) return "null";\n var r = typeof e;\n switch (r) {\n case "boolean":\n case "string":\n case "number":\n case "symbol":\n case "function":\n return r;\n }\n if (Array.isArray(e)) return "array";\n if (Iu(e)) return "date";\n if (Ou(e)) return "error";\n var t = Eu(e);\n switch (t) {\n case "Symbol":\n case "Promise":\n case "WeakMap":\n case "WeakSet":\n case "Map":\n case "Set":\n return t;\n }\n return r.slice(8, -1).toLowerCase().replace(/\\s/g, "");\n}\nfunction Eu(e) {\n return typeof e.constructor == "function" ? e.constructor.name : null;\n}\nfunction Ou(e) {\n return e instanceof Error || typeof e.message == "string" && e.constructor && typeof e.constructor.stackTraceLimit == "number";\n}\nfunction Iu(e) {\n return e instanceof Date ? !0 : typeof e.toDateString == "function" && typeof e.getDate == "function" && typeof e.setDate == "function";\n}\nfunction Q(e) {\n var r = typeof e;\n return false && (0), r;\n}\nfunction jn(e, r, t) {\n var n;\n if (typeof r == "function" && typeof t == "function" || typeof t == "function" && typeof arguments[3] == "function")\n throw new Error( true ? j(0) : 0);\n if (typeof r == "function" && typeof t == "undefined" && (t = r, r = void 0), typeof t != "undefined") {\n if (typeof t != "function")\n throw new Error( true ? j(1) : 0);\n return t(jn)(e, r);\n }\n if (typeof e != "function")\n throw new Error( true ? j(2) : 0);\n var o = e, i = r, a = [], u = a, c = !1;\n function s() {\n u === a && (u = a.slice());\n }\n function d() {\n if (c)\n throw new Error( true ? j(3) : 0);\n return i;\n }\n function l(h) {\n if (typeof h != "function")\n throw new Error( true ? j(4) : 0);\n if (c)\n throw new Error( true ? j(5) : 0);\n var m = !0;\n return s(), u.push(h), function() {\n if (m) {\n if (c)\n throw new Error( true ? j(6) : 0);\n m = !1, s();\n var v = u.indexOf(h);\n u.splice(v, 1), a = null;\n }\n };\n }\n function f(h) {\n if (!Dn(h))\n throw new Error( true ? j(7) : 0);\n if (typeof h.type == "undefined")\n throw new Error( true ? j(8) : 0);\n if (c)\n throw new Error( true ? j(9) : 0);\n try {\n c = !0, i = o(i, h);\n } finally {\n c = !1;\n }\n for (var m = a = u, y = 0; y < m.length; y++) {\n var v = m[y];\n v();\n }\n return h;\n }\n function g(h) {\n if (typeof h != "function")\n throw new Error( true ? j(10) : 0);\n o = h, f({\n type: re.REPLACE\n });\n }\n function p() {\n var h, m = l;\n return h = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function(v) {\n if (typeof v != "object" || v === null)\n throw new Error( true ? j(11) : 0);\n function b() {\n v.next && v.next(d());\n }\n b();\n var S = m(b);\n return {\n unsubscribe: S\n };\n }\n }, h[xr] = function() {\n return this;\n }, h;\n }\n return f({\n type: re.INIT\n }), n = {\n dispatch: f,\n subscribe: l,\n getState: d,\n replaceReducer: g\n }, n[xr] = p, n;\n}\nfunction It(e) {\n typeof console != "undefined" && typeof console.error == "function" && console.error(e);\n try {\n throw new Error(e);\n } catch (r) {\n }\n}\nfunction _u(e, r, t, n) {\n var o = Object.keys(r), i = t && t.type === re.INIT ? "preloadedState argument passed to createStore" : "previous state received by the reducer";\n if (o.length === 0)\n return "Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";\n if (!Dn(e))\n return "The " + i + \' has unexpected type of "\' + Q(e) + \'". Expected argument to be an object with the following \' + (\'keys: "\' + o.join(\'", "\') + \'"\');\n var a = Object.keys(e).filter(function(u) {\n return !r.hasOwnProperty(u) && !n[u];\n });\n if (a.forEach(function(u) {\n n[u] = !0;\n }), !(t && t.type === re.REPLACE) && a.length > 0)\n return "Unexpected " + (a.length > 1 ? "keys" : "key") + " " + (\'"\' + a.join(\'", "\') + \'" found in \' + i + ". ") + "Expected to find one of the known reducer keys instead: " + (\'"\' + o.join(\'", "\') + \'". Unexpected keys will be ignored.\');\n}\nfunction Tu(e) {\n Object.keys(e).forEach(function(r) {\n var t = e[r], n = t(void 0, {\n type: re.INIT\n });\n if (typeof n == "undefined")\n throw new Error( true ? j(12) : 0);\n if (typeof t(void 0, {\n type: re.PROBE_UNKNOWN_ACTION()\n }) == "undefined")\n throw new Error( true ? j(13) : 0);\n });\n}\nfunction Pu(e) {\n for (var r = Object.keys(e), t = {}, n = 0; n < r.length; n++) {\n var o = r[n];\n false && 0, typeof e[o] == "function" && (t[o] = e[o]);\n }\n var i = Object.keys(t), a;\n false && (0);\n var u;\n try {\n Tu(t);\n } catch (c) {\n u = c;\n }\n return function(s, d) {\n if (s === void 0 && (s = {}), u)\n throw u;\n if (false) { var l; }\n for (var f = !1, g = {}, p = 0; p < i.length; p++) {\n var h = i[p], m = t[h], y = s[h], v = m(y, d);\n if (typeof v == "undefined") {\n var b = d && d.type;\n throw new Error( true ? j(14) : 0);\n }\n g[h] = v, f = f || v !== y;\n }\n return f = f || i.length !== Object.keys(s).length, f ? g : s;\n };\n}\nfunction Be() {\n for (var e = arguments.length, r = new Array(e), t = 0; t < e; t++)\n r[t] = arguments[t];\n return r.length === 0 ? function(n) {\n return n;\n } : r.length === 1 ? r[0] : r.reduce(function(n, o) {\n return function() {\n return n(o.apply(void 0, arguments));\n };\n });\n}\nfunction Du() {\n for (var e = arguments.length, r = new Array(e), t = 0; t < e; t++)\n r[t] = arguments[t];\n return function(n) {\n return function() {\n var o = n.apply(void 0, arguments), i = function() {\n throw new Error( true ? j(15) : 0);\n }, a = {\n getState: o.getState,\n dispatch: function() {\n return i.apply(void 0, arguments);\n }\n }, u = r.map(function(c) {\n return c(a);\n });\n return i = Be.apply(void 0, u)(o.dispatch), Nr(Nr({}, o), {}, {\n dispatch: i\n });\n };\n };\n}\nfunction $r() {\n}\n false && 0;\nfunction Cn(e) {\n var r = function(n) {\n var o = n.dispatch, i = n.getState;\n return function(a) {\n return function(u) {\n return typeof u == "function" ? u(o, i, e) : a(u);\n };\n };\n };\n return r;\n}\nvar _t = Cn();\n_t.withExtraArgument = Cn;\nvar ju = /* @__PURE__ */ function() {\n var e = function(r, t) {\n return e = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, o) {\n n.__proto__ = o;\n } || function(n, o) {\n for (var i in o) Object.prototype.hasOwnProperty.call(o, i) && (n[i] = o[i]);\n }, e(r, t);\n };\n return function(r, t) {\n if (typeof t != "function" && t !== null)\n throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");\n e(r, t);\n function n() {\n this.constructor = r;\n }\n r.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());\n };\n}(), Cu = function(e, r) {\n var t = { label: 0, sent: function() {\n if (i[0] & 1) throw i[1];\n return i[1];\n }, trys: [], ops: [] }, n, o, i, a;\n return a = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (a[Symbol.iterator] = function() {\n return this;\n }), a;\n function u(s) {\n return function(d) {\n return c([s, d]);\n };\n }\n function c(s) {\n if (n) throw new TypeError("Generator is already executing.");\n for (; t; ) try {\n if (n = 1, o && (i = s[0] & 2 ? o.return : s[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, s[1])).done) return i;\n switch (o = 0, i && (s = [s[0] & 2, i.value]), s[0]) {\n case 0:\n case 1:\n i = s;\n break;\n case 4:\n return t.label++, { value: s[1], done: !1 };\n case 5:\n t.label++, o = s[1], s = [0];\n continue;\n case 7:\n s = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (s[0] === 6 || s[0] === 2)) {\n t = 0;\n continue;\n }\n if (s[0] === 3 && (!i || s[1] > i[0] && s[1] < i[3])) {\n t.label = s[1];\n break;\n }\n if (s[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = s;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(s);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n s = r.call(e, t);\n } catch (d) {\n s = [6, d], o = 0;\n } finally {\n n = i = 0;\n }\n if (s[0] & 5) throw s[1];\n return { value: s[0] ? s[1] : void 0, done: !0 };\n }\n}, qe = function(e, r) {\n for (var t = 0, n = r.length, o = e.length; t < n; t++, o++)\n e[o] = r[t];\n return e;\n}, Nu = Object.defineProperty, xu = Object.defineProperties, $u = Object.getOwnPropertyDescriptors, kr = Object.getOwnPropertySymbols, ku = Object.prototype.hasOwnProperty, Mu = Object.prototype.propertyIsEnumerable, Mr = function(e, r, t) {\n return r in e ? Nu(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;\n}, fe = function(e, r) {\n for (var t in r || (r = {}))\n ku.call(r, t) && Mr(e, t, r[t]);\n if (kr)\n for (var n = 0, o = kr(r); n < o.length; n++) {\n var t = o[n];\n Mu.call(r, t) && Mr(e, t, r[t]);\n }\n return e;\n}, lt = function(e, r) {\n return xu(e, $u(r));\n}, Ru = function(e, r, t) {\n return new Promise(function(n, o) {\n var i = function(c) {\n try {\n u(t.next(c));\n } catch (s) {\n o(s);\n }\n }, a = function(c) {\n try {\n u(t.throw(c));\n } catch (s) {\n o(s);\n }\n }, u = function(c) {\n return c.done ? n(c.value) : Promise.resolve(c.value).then(i, a);\n };\n u((t = t.apply(e, r)).next());\n });\n}, Fu = typeof window != "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() {\n if (arguments.length !== 0)\n return typeof arguments[0] == "object" ? Be : Be.apply(null, arguments);\n};\nfunction Nn(e) {\n if (typeof e != "object" || e === null)\n return !1;\n var r = Object.getPrototypeOf(e);\n if (r === null)\n return !0;\n for (var t = r; Object.getPrototypeOf(t) !== null; )\n t = Object.getPrototypeOf(t);\n return r === t;\n}\nfunction xn(e, r) {\n var t = 0;\n return {\n measureTime: function(n) {\n var o = Date.now();\n try {\n return n();\n } finally {\n var i = Date.now();\n t += i - o;\n }\n },\n warnIfExceeded: function() {\n t > e && console.warn(r + " took " + t + "ms, which is more than the warning threshold of " + e + `ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don\'t need to worry about that.`);\n }\n };\n}\nvar Lu = (\n /** @class */\n function(e) {\n ju(r, e);\n function r() {\n for (var t = [], n = 0; n < arguments.length; n++)\n t[n] = arguments[n];\n var o = e.apply(this, t) || this;\n return Object.setPrototypeOf(o, r.prototype), o;\n }\n return Object.defineProperty(r, Symbol.species, {\n get: function() {\n return r;\n },\n enumerable: !1,\n configurable: !0\n }), r.prototype.concat = function() {\n for (var t = [], n = 0; n < arguments.length; n++)\n t[n] = arguments[n];\n return e.prototype.concat.apply(this, t);\n }, r.prototype.prepend = function() {\n for (var t = [], n = 0; n < arguments.length; n++)\n t[n] = arguments[n];\n return t.length === 1 && Array.isArray(t[0]) ? new (r.bind.apply(r, qe([void 0], t[0].concat(this))))() : new (r.bind.apply(r, qe([void 0], t.concat(this))))();\n }, r;\n }(Array)\n);\nfunction Rr(e) {\n return V(e) ? Pn(e, function() {\n }) : e;\n}\nvar Uu = "production" === "production", Fr = "Invariant failed";\nfunction Lr(e, r) {\n if (!e)\n throw Uu ? new Error(Fr) : new Error(Fr + ": " + (r || ""));\n}\nfunction zu(e, r, t, n) {\n return JSON.stringify(e, Wu(r, n), t);\n}\nfunction Wu(e, r) {\n var t = [], n = [];\n return r || (r = function(o, i) {\n return t[0] === i ? "[Circular ~]" : "[Circular ~." + n.slice(0, t.indexOf(i)).join(".") + "]";\n }), function(o, i) {\n if (t.length > 0) {\n var a = t.indexOf(this);\n ~a ? t.splice(a + 1) : t.push(this), ~a ? n.splice(a, 1 / 0, o) : n.push(o), ~t.indexOf(i) && (i = r.call(this, o, i));\n } else\n t.push(i);\n return e == null ? i : e.call(this, o, i);\n };\n}\nfunction Vu(e) {\n return typeof e != "object" || e === null || typeof e == "undefined" || Object.isFrozen(e);\n}\nfunction Bu(e, r, t) {\n var n = $n(e, r, t);\n return {\n detectMutations: function() {\n return kn(e, r, n, t);\n }\n };\n}\nfunction $n(e, r, t, n) {\n r === void 0 && (r = []), n === void 0 && (n = "");\n var o = { value: t };\n if (!e(t)) {\n o.children = {};\n for (var i in t) {\n var a = n ? n + "." + i : i;\n r.length && r.indexOf(a) !== -1 || (o.children[i] = $n(e, r, t[i], a));\n }\n }\n return o;\n}\nfunction kn(e, r, t, n, o, i) {\n r === void 0 && (r = []), o === void 0 && (o = !1), i === void 0 && (i = "");\n var a = t ? t.value : void 0, u = a === n;\n if (o && !u && !Number.isNaN(n))\n return { wasMutated: !0, path: i };\n if (e(a) || e(n))\n return { wasMutated: !1 };\n var c = {};\n for (var s in t.children)\n c[s] = !0;\n for (var s in n)\n c[s] = !0;\n for (var s in c) {\n var d = i ? i + "." + s : s;\n if (!(r.length && r.indexOf(d) !== -1)) {\n var l = kn(e, r, t.children[s], n[s], u, d);\n if (l.wasMutated)\n return l;\n }\n }\n return { wasMutated: !1 };\n}\nfunction qu(e) {\n if (e === void 0 && (e = {}), "production" === "production")\n return function() {\n return function(c) {\n return function(s) {\n return c(s);\n };\n };\n };\n var r = e.isImmutable, t = r === void 0 ? Vu : r, n = e.ignoredPaths, o = e.warnAfter, i = o === void 0 ? 32 : o, a = e.ignore;\n n = n || a;\n var u = Bu.bind(null, t, n);\n return function(c) {\n var s = c.getState, d = s(), l = u(d), f;\n return function(g) {\n return function(p) {\n var h = xn(i, "ImmutableStateInvariantMiddleware");\n h.measureTime(function() {\n d = s(), f = l.detectMutations(), l = u(d), Lr(!f.wasMutated, "A state mutation was detected between dispatches, in the path \'" + (f.path || "") + "\'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)");\n });\n var m = g(p);\n return h.measureTime(function() {\n d = s(), f = l.detectMutations(), l = u(d), f.wasMutated && Lr(!f.wasMutated, "A state mutation was detected inside a dispatch, in the path: " + (f.path || "") + ". Take a look at the reducer(s) handling the action " + zu(p) + ". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)");\n }), h.warnIfExceeded(), m;\n };\n };\n };\n}\nfunction Mn(e) {\n var r = typeof e;\n return r === "undefined" || e === null || r === "string" || r === "boolean" || r === "number" || Array.isArray(e) || Nn(e);\n}\nfunction Tt(e, r, t, n, o) {\n r === void 0 && (r = ""), t === void 0 && (t = Mn), o === void 0 && (o = []);\n var i;\n if (!t(e))\n return {\n keyPath: r || "<root>",\n value: e\n };\n if (typeof e != "object" || e === null)\n return !1;\n for (var a = n != null ? n(e) : Object.entries(e), u = o.length > 0, c = 0, s = a; c < s.length; c++) {\n var d = s[c], l = d[0], f = d[1], g = r ? r + "." + l : l;\n if (!(u && o.indexOf(g) >= 0)) {\n if (!t(f))\n return {\n keyPath: g,\n value: f\n };\n if (typeof f == "object" && (i = Tt(f, g, t, n, o), i))\n return i;\n }\n }\n return !1;\n}\nfunction Gu(e) {\n if (e === void 0 && (e = {}), "production" === "production")\n return function() {\n return function(m) {\n return function(y) {\n return m(y);\n };\n };\n };\n var r = e.isSerializable, t = r === void 0 ? Mn : r, n = e.getEntries, o = e.ignoredActions, i = o === void 0 ? [] : o, a = e.ignoredActionPaths, u = a === void 0 ? ["meta.arg", "meta.baseQueryMeta"] : a, c = e.ignoredPaths, s = c === void 0 ? [] : c, d = e.warnAfter, l = d === void 0 ? 32 : d, f = e.ignoreState, g = f === void 0 ? !1 : f, p = e.ignoreActions, h = p === void 0 ? !1 : p;\n return function(m) {\n return function(y) {\n return function(v) {\n var b = y(v), S = xn(l, "SerializableStateInvariantMiddleware");\n return !h && !(i.length && i.indexOf(v.type) !== -1) && S.measureTime(function() {\n var O = Tt(v, "", t, n, u);\n if (O) {\n var w = O.keyPath, P = O.value;\n console.error("A non-serializable value was detected in an action, in the path: `" + w + "`. Value:", P, `\nTake a look at the logic that dispatched this action: `, v, `\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)`, `\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)`);\n }\n }), g || (S.measureTime(function() {\n var O = m.getState(), w = Tt(O, "", t, n, s);\n if (w) {\n var P = w.keyPath, C = w.value;\n console.error("A non-serializable value was detected in the state, in the path: `" + P + "`. Value:", C, `\nTake a look at the reducer(s) handling this action type: ` + v.type + `.\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`);\n }\n }), S.warnIfExceeded()), b;\n };\n };\n };\n}\nfunction ft(e) {\n return typeof e == "boolean";\n}\nfunction Ku() {\n return function(r) {\n return Hu(r);\n };\n}\nfunction Hu(e) {\n e === void 0 && (e = {});\n var r = e.thunk, t = r === void 0 ? !0 : r, n = e.immutableCheck, o = n === void 0 ? !0 : n, i = e.serializableCheck, a = i === void 0 ? !0 : i, u = new Lu();\n if (t && (ft(t) ? u.push(_t) : u.push(_t.withExtraArgument(t.extraArgument))), "production" !== "production") {\n if (o) {\n var c = {};\n ft(o) || (c = o), u.unshift(qu(c));\n }\n if (a) {\n var s = {};\n ft(a) || (s = a), u.push(Gu(s));\n }\n }\n return u;\n}\nvar pt = "production" === "production";\nfunction Yu(e) {\n var r = Ku(), t = e || {}, n = t.reducer, o = n === void 0 ? void 0 : n, i = t.middleware, a = i === void 0 ? r() : i, u = t.devTools, c = u === void 0 ? !0 : u, s = t.preloadedState, d = s === void 0 ? void 0 : s, l = t.enhancers, f = l === void 0 ? void 0 : l, g;\n if (typeof o == "function")\n g = o;\n else if (Nn(o))\n g = Pu(o);\n else\n throw new Error(\'"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers\');\n var p = a;\n if (typeof p == "function" && (p = p(r), !pt && !Array.isArray(p)))\n throw new Error("when using a middleware builder function, an array of middleware must be returned");\n if (!pt && p.some(function(b) {\n return typeof b != "function";\n }))\n throw new Error("each middleware provided to configureStore must be a function");\n var h = Du.apply(void 0, p), m = Be;\n c && (m = Fu(fe({\n trace: !pt\n }, typeof c == "object" && c)));\n var y = [h];\n Array.isArray(f) ? y = qe([h], f) : typeof f == "function" && (y = f(y));\n var v = m.apply(void 0, y);\n return jn(g, d, v);\n}\nfunction A(e, r) {\n function t() {\n for (var n = [], o = 0; o < arguments.length; o++)\n n[o] = arguments[o];\n if (r) {\n var i = r.apply(void 0, n);\n if (!i)\n throw new Error("prepareAction did not return an object");\n return fe(fe({\n type: e,\n payload: i.payload\n }, "meta" in i && { meta: i.meta }), "error" in i && { error: i.error });\n }\n return { type: e, payload: n[0] };\n }\n return t.toString = function() {\n return "" + e;\n }, t.type = e, t.match = function(n) {\n return n.type === e;\n }, t;\n}\nfunction Ju(e) {\n var r = {}, t = [], n, o = {\n addCase: function(i, a) {\n if (false) {}\n var u = typeof i == "string" ? i : i.type;\n if (u in r)\n throw new Error("addCase cannot be called with two reducers for the same action type");\n return r[u] = a, o;\n },\n addMatcher: function(i, a) {\n if (false)\n {}\n return t.push({ matcher: i, reducer: a }), o;\n },\n addDefaultCase: function(i) {\n if (false)\n {}\n return n = i, o;\n }\n };\n return e(o), [r, t, n];\n}\nfunction Xu(e) {\n return typeof e == "function";\n}\nfunction je(e, r, t, n) {\n t === void 0 && (t = []);\n var o = typeof r == "function" ? Ju(r) : [r, t, n], i = o[0], a = o[1], u = o[2], c;\n if (Xu(e))\n c = function() {\n return Rr(e());\n };\n else {\n var s = Rr(e);\n c = function() {\n return s;\n };\n }\n function d(l, f) {\n l === void 0 && (l = c());\n var g = qe([\n i[f.type]\n ], a.filter(function(p) {\n var h = p.matcher;\n return h(f);\n }).map(function(p) {\n var h = p.reducer;\n return h;\n }));\n return g.filter(function(p) {\n return !!p;\n }).length === 0 && (g = [u]), g.reduce(function(p, h) {\n if (h)\n if (Z(p)) {\n var m = p, y = h(m, f);\n return typeof y == "undefined" ? p : y;\n } else {\n if (V(p))\n return Pn(p, function(v) {\n return h(v, f);\n });\n var y = h(p, f);\n if (typeof y == "undefined") {\n if (p === null)\n return p;\n throw Error("A case reducer on a non-draftable value must not return undefined");\n }\n return y;\n }\n return p;\n }, l);\n }\n return d.getInitialState = c, d;\n}\nvar Zu = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW", Qu = function(e) {\n e === void 0 && (e = 21);\n for (var r = "", t = e; t--; )\n r += Zu[Math.random() * 64 | 0];\n return r;\n}, ec = [\n "name",\n "message",\n "stack",\n "code"\n], gt = (\n /** @class */\n /* @__PURE__ */ function() {\n function e(r, t) {\n this.payload = r, this.meta = t;\n }\n return e;\n }()\n), Ur = (\n /** @class */\n /* @__PURE__ */ function() {\n function e(r, t) {\n this.payload = r, this.meta = t;\n }\n return e;\n }()\n), tc = function(e) {\n if (typeof e == "object" && e !== null) {\n for (var r = {}, t = 0, n = ec; t < n.length; t++) {\n var o = n[t];\n typeof e[o] == "string" && (r[o] = e[o]);\n }\n return r;\n }\n return { message: String(e) };\n};\nfunction G(e, r, t) {\n var n = A(e + "/fulfilled", function(s, d, l, f) {\n return {\n payload: s,\n meta: lt(fe({}, f || {}), {\n arg: l,\n requestId: d,\n requestStatus: "fulfilled"\n })\n };\n }), o = A(e + "/pending", function(s, d, l) {\n return {\n payload: void 0,\n meta: lt(fe({}, l || {}), {\n arg: d,\n requestId: s,\n requestStatus: "pending"\n })\n };\n }), i = A(e + "/rejected", function(s, d, l, f, g) {\n return {\n payload: f,\n error: tc(s || "Rejected"),\n meta: lt(fe({}, g || {}), {\n arg: l,\n requestId: d,\n rejectedWithValue: !!f,\n requestStatus: "rejected",\n aborted: (s == null ? void 0 : s.name) === "AbortError",\n condition: (s == null ? void 0 : s.name) === "ConditionError"\n })\n };\n }), a = !1, u = typeof AbortController != "undefined" ? AbortController : (\n /** @class */\n function() {\n function s() {\n this.signal = {\n aborted: !1,\n addEventListener: function() {\n },\n dispatchEvent: function() {\n return !1;\n },\n onabort: function() {\n },\n removeEventListener: function() {\n },\n reason: void 0,\n throwIfAborted: function() {\n }\n };\n }\n return s.prototype.abort = function() {\n false && (0);\n }, s;\n }()\n );\n function c(s) {\n return function(d, l, f) {\n var g = Qu(), p = new u(), h, m = new Promise(function(S, O) {\n return p.signal.addEventListener("abort", function() {\n return O({ name: "AbortError", message: h || "Aborted" });\n });\n }), y = !1;\n function v(S) {\n y && (h = S, p.abort());\n }\n var b = function() {\n return Ru(this, null, function() {\n var S, O, w, P, C, be;\n return Cu(this, function(se) {\n switch (se.label) {\n case 0:\n return se.trys.push([0, 4, , 5]), P = (S = void 0) == null ? void 0 : S.call(t, s, { getState: l, extra: f }), nc(P) ? [4, P] : [3, 2];\n case 1:\n P = se.sent(), se.label = 2;\n case 2:\n if (P === !1)\n throw {\n name: "ConditionError",\n message: "Aborted due to condition callback returning false."\n };\n return y = !0, d(o(g, s, (O = void 0) == null ? void 0 : O.call(t, { requestId: g, arg: s }, { getState: l, extra: f }))), [4, Promise.race([\n m,\n Promise.resolve(r(s, {\n dispatch: d,\n getState: l,\n extra: f,\n requestId: g,\n signal: p.signal,\n rejectWithValue: function(M, rt) {\n return new gt(M, rt);\n },\n fulfillWithValue: function(M, rt) {\n return new Ur(M, rt);\n }\n })).then(function(M) {\n if (M instanceof gt)\n throw M;\n return M instanceof Ur ? n(M.payload, g, s, M.meta) : n(M, g, s);\n })\n ])];\n case 3:\n return w = se.sent(), [3, 5];\n case 4:\n return C = se.sent(), w = C instanceof gt ? i(null, g, s, C.payload, C.meta) : i(C, g, s), [3, 5];\n case 5:\n return be = t, be || d(w), [2, w];\n }\n });\n });\n }();\n return Object.assign(b, {\n abort: v,\n requestId: g,\n arg: s,\n unwrap: function() {\n return b.then(rc);\n }\n });\n };\n }\n return Object.assign(c, {\n pending: o,\n rejected: i,\n fulfilled: n,\n typePrefix: e\n });\n}\nfunction rc(e) {\n if (e.meta && e.meta.rejectedWithValue)\n throw e.payload;\n if (e.error)\n throw e.error;\n return e.payload;\n}\nfunction nc(e) {\n return e !== null && typeof e == "object" && typeof e.then == "function";\n}\nvar qt = "listenerMiddleware";\nA(qt + "/add");\nA(qt + "/removeAll");\nA(qt + "/remove");\nhu();\nconst Rn = A("settings/toggle-edits"), Fn = A("settings/toggle-identity"), pe = G("settings/request-connected-accounts", () => _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.getConnectedAccounts()), Ge = G("settings/request-identity", () => _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.getIdentity()), Ln = A("settings/set-connected-accounts");\nA("settings/set-connected-accounts");\nA("settings/set-connected-accounts");\nconst Un = A("settings/toggle-connected-account"), Gt = A("user/profile"), oc = je(null, (e) => {\n e.addCase(Gt, (r, { payload: t }) => {\n if (!t || !t.token)\n return null;\n const { token: n, identity: o, connectedAccounts: i } = t, [, a] = n.split(".");\n try {\n const u = atob(a), c = JSON.parse(u);\n r = {\n identity: o,\n profile: c,\n token: n,\n connectedAccounts: i\n };\n } catch (u) {\n return console.error(u), null;\n }\n return r;\n }).addCase(pe.fulfilled, (r, t) => {\n !t.payload || !r || (r.connectedAccounts = t.payload.accounts);\n }).addCase(Ge.fulfilled, (r, t) => {\n !t.payload || !r || (r.identity = t.payload);\n });\n}), Qe = A("events/close-doc"), Ke = A("events/persisted-working-store"), ic = je({}, (e) => {\n e.addCase(Ke, (r, { payload: t }) => {\n const { documentID: n, store: o } = t;\n let { tempFolder: i } = o;\n if (!o.tempFolder) {\n if (!t.tempFolder)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("Must pass tempFolder when store is missing one");\n i = t.tempFolder;\n }\n r[n] = H(K({}, o), { tempFolder: i });\n }).addCase(Qe, (r, { payload: t }) => {\n delete r[t.closeWorkingId];\n });\n});\nvar ac = "__lodash_hash_undefined__";\nfunction sc(e) {\n return this.__data__.set(e, ac), this;\n}\nfunction uc(e) {\n return this.__data__.has(e);\n}\nfunction De(e) {\n var r = -1, t = e == null ? 0 : e.length;\n for (this.__data__ = new q(); ++r < t; )\n this.add(e[r]);\n}\nDe.prototype.add = De.prototype.push = sc;\nDe.prototype.has = uc;\nfunction cc(e, r) {\n for (var t = -1, n = e == null ? 0 : e.length; ++t < n; )\n if (r(e[t], t, e))\n return !0;\n return !1;\n}\nfunction zn(e, r) {\n return e.has(r);\n}\nvar dc = 1, lc = 2;\nfunction Wn(e, r, t, n, o, i) {\n var a = t & dc, u = e.length, c = r.length;\n if (u != c && !(a && c > u))\n return !1;\n var s = i.get(e), d = i.get(r);\n if (s && d)\n return s == r && d == e;\n var l = -1, f = !0, g = t & lc ? new De() : void 0;\n for (i.set(e, r), i.set(r, e); ++l < u; ) {\n var p = e[l], h = r[l];\n if (n)\n var m = a ? n(h, p, l, r, e, i) : n(p, h, l, e, r, i);\n if (m !== void 0) {\n if (m)\n continue;\n f = !1;\n break;\n }\n if (g) {\n if (!cc(r, function(y, v) {\n if (!zn(g, v) && (p === y || o(p, y, t, n, i)))\n return g.push(v);\n })) {\n f = !1;\n break;\n }\n } else if (!(p === h || o(p, h, t, n, i))) {\n f = !1;\n break;\n }\n }\n return i.delete(e), i.delete(r), f;\n}\nfunction fc(e) {\n var r = -1, t = Array(e.size);\n return e.forEach(function(n, o) {\n t[++r] = [o, n];\n }), t;\n}\nfunction Kt(e) {\n var r = -1, t = Array(e.size);\n return e.forEach(function(n) {\n t[++r] = n;\n }), t;\n}\nvar pc = 1, gc = 2, hc = "[object Boolean]", yc = "[object Date]", mc = "[object Error]", vc = "[object Map]", bc = "[object Number]", wc = "[object RegExp]", Sc = "[object Set]", Ac = "[object String]", Ec = "[object Symbol]", Oc = "[object ArrayBuffer]", Ic = "[object DataView]", zr = U ? U.prototype : void 0, ht = zr ? zr.valueOf : void 0;\nfunction _c(e, r, t, n, o, i, a) {\n switch (t) {\n case Ic:\n if (e.byteLength != r.byteLength || e.byteOffset != r.byteOffset)\n return !1;\n e = e.buffer, r = r.buffer;\n case Oc:\n return !(e.byteLength != r.byteLength || !i(new Ue(e), new Ue(r)));\n case hc:\n case yc:\n case bc:\n return Nt(+e, +r);\n case mc:\n return e.name == r.name && e.message == r.message;\n case wc:\n case Ac:\n return e == r + "";\n case vc:\n var u = fc;\n case Sc:\n var c = n & pc;\n if (u || (u = Kt), e.size != r.size && !c)\n return !1;\n var s = a.get(e);\n if (s)\n return s == r;\n n |= gc, a.set(e, r);\n var d = Wn(u(e), u(r), n, o, i, a);\n return a.delete(e), d;\n case Ec:\n if (ht)\n return ht.call(e) == ht.call(r);\n }\n return !1;\n}\nvar Tc = 1, Pc = Object.prototype, Dc = Pc.hasOwnProperty;\nfunction jc(e, r, t, n, o, i) {\n var a = t & Tc, u = mt(e), c = u.length, s = mt(r), d = s.length;\n if (c != d && !a)\n return !1;\n for (var l = c; l--; ) {\n var f = u[l];\n if (!(a ? f in r : Dc.call(r, f)))\n return !1;\n }\n var g = i.get(e), p = i.get(r);\n if (g && p)\n return g == r && p == e;\n var h = !0;\n i.set(e, r), i.set(r, e);\n for (var m = a; ++l < c; ) {\n f = u[l];\n var y = e[f], v = r[f];\n if (n)\n var b = a ? n(v, y, f, r, e, i) : n(y, v, f, e, r, i);\n if (!(b === void 0 ? y === v || o(y, v, t, n, i) : b)) {\n h = !1;\n break;\n }\n m || (m = f == "constructor");\n }\n if (h && !m) {\n var S = e.constructor, O = r.constructor;\n S != O && "constructor" in e && "constructor" in r && !(typeof S == "function" && S instanceof S && typeof O == "function" && O instanceof O) && (h = !1);\n }\n return i.delete(e), i.delete(r), h;\n}\nvar Cc = 1, Wr = "[object Arguments]", Vr = "[object Array]", Ce = "[object Object]", Nc = Object.prototype, Br = Nc.hasOwnProperty;\nfunction xc(e, r, t, n, o, i) {\n var a = z(e), u = z(r), c = a ? Vr : x(e), s = u ? Vr : x(r);\n c = c == Wr ? Ce : c, s = s == Wr ? Ce : s;\n var d = c == Ce, l = s == Ce, f = c == s;\n if (f && Le(e)) {\n if (!Le(r))\n return !1;\n a = !0, d = !1;\n }\n if (f && !d)\n return i || (i = new F()), a || ln(e) ? Wn(e, r, t, n, o, i) : _c(e, r, c, t, n, o, i);\n if (!(t & Cc)) {\n var g = d && Br.call(e, "__wrapped__"), p = l && Br.call(r, "__wrapped__");\n if (g || p) {\n var h = g ? e.value() : e, m = p ? r.value() : r;\n return i || (i = new F()), o(h, m, t, n, i);\n }\n }\n return f ? (i || (i = new F()), jc(e, r, t, n, o, i)) : !1;\n}\nfunction et(e, r, t, n, o) {\n return e === r ? !0 : e == null || r == null || !X(e) && !X(r) ? e !== e && r !== r : xc(e, r, t, n, et, o);\n}\nvar $c = 1, kc = 2;\nfunction Mc(e, r, t, n) {\n var o = t.length, i = o;\n if (e == null)\n return !i;\n for (e = Object(e); o--; ) {\n var a = t[o];\n if (a[2] ? a[1] !== e[a[0]] : !(a[0] in e))\n return !1;\n }\n for (; ++o < i; ) {\n a = t[o];\n var u = a[0], c = e[u], s = a[1];\n if (a[2]) {\n if (c === void 0 && !(u in e))\n return !1;\n } else {\n var d = new F(), l;\n if (!(l === void 0 ? et(s, c, $c | kc, n, d) : l))\n return !1;\n }\n }\n return !0;\n}\nfunction Vn(e) {\n return e === e && !W(e);\n}\nfunction Rc(e) {\n for (var r = Xe(e), t = r.length; t--; ) {\n var n = r[t], o = e[n];\n r[t] = [n, o, Vn(o)];\n }\n return r;\n}\nfunction Bn(e, r) {\n return function(t) {\n return t == null ? !1 : t[e] === r && (r !== void 0 || e in Object(t));\n };\n}\nfunction Fc(e) {\n var r = Rc(e);\n return r.length == 1 && r[0][2] ? Bn(r[0][0], r[0][1]) : function(t) {\n return t === e || Mc(t, e, r);\n };\n}\nvar Lc = /\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, Uc = /^\\w*$/;\nfunction Ht(e, r) {\n if (z(e))\n return !1;\n var t = typeof e;\n return t == "number" || t == "symbol" || t == "boolean" || e == null || Ze(e) ? !0 : Uc.test(e) || !Lc.test(e) || r != null && e in Object(r);\n}\nvar zc = "Expected a function";\nfunction Yt(e, r) {\n if (typeof e != "function" || r != null && typeof r != "function")\n throw new TypeError(zc);\n var t = function() {\n var n = arguments, o = r ? r.apply(this, n) : n[0], i = t.cache;\n if (i.has(o))\n return i.get(o);\n var a = e.apply(this, n);\n return t.cache = i.set(o, a) || i, a;\n };\n return t.cache = new (Yt.Cache || q)(), t;\n}\nYt.Cache = q;\nvar Wc = 500;\nfunction Vc(e) {\n var r = Yt(e, function(n) {\n return t.size === Wc && t.clear(), n;\n }), t = r.cache;\n return r;\n}\nvar Bc = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, qc = /\\\\(\\\\)?/g, Gc = Vc(function(e) {\n var r = [];\n return e.charCodeAt(0) === 46 && r.push(""), e.replace(Bc, function(t, n, o, i) {\n r.push(o ? i.replace(qc, "$1") : n || t);\n }), r;\n});\nfunction Kc(e, r) {\n for (var t = -1, n = e == null ? 0 : e.length, o = Array(n); ++t < n; )\n o[t] = r(e[t], t, e);\n return o;\n}\nvar Hc = 1 / 0, qr = U ? U.prototype : void 0, Gr = qr ? qr.toString : void 0;\nfunction qn(e) {\n if (typeof e == "string")\n return e;\n if (z(e))\n return Kc(e, qn) + "";\n if (Ze(e))\n return Gr ? Gr.call(e) : "";\n var r = e + "";\n return r == "0" && 1 / e == -Hc ? "-0" : r;\n}\nfunction Yc(e) {\n return e == null ? "" : qn(e);\n}\nfunction Gn(e, r) {\n return z(e) ? e : Ht(e, r) ? [e] : Gc(Yc(e));\n}\nvar Jc = 1 / 0;\nfunction tt(e) {\n if (typeof e == "string" || Ze(e))\n return e;\n var r = e + "";\n return r == "0" && 1 / e == -Jc ? "-0" : r;\n}\nfunction Kn(e, r) {\n r = Gn(r, e);\n for (var t = 0, n = r.length; e != null && t < n; )\n e = e[tt(r[t++])];\n return t && t == n ? e : void 0;\n}\nfunction Xc(e, r, t) {\n var n = e == null ? void 0 : Kn(e, r);\n return n === void 0 ? t : n;\n}\nfunction Zc(e, r) {\n return e != null && r in Object(e);\n}\nfunction Qc(e, r, t) {\n r = Gn(r, e);\n for (var n = -1, o = r.length, i = !1; ++n < o; ) {\n var a = tt(r[n]);\n if (!(i = e != null && t(e, a)))\n break;\n e = e[a];\n }\n return i || ++n != o ? i : (o = e == null ? 0 : e.length, !!o && xt(o) && cn(a, o) && (z(e) || sn(e)));\n}\nfunction ed(e, r) {\n return e != null && Qc(e, r, Zc);\n}\nvar td = 1, rd = 2;\nfunction nd(e, r) {\n return Ht(e) && Vn(r) ? Bn(tt(e), r) : function(t) {\n var n = Xc(t, e);\n return n === void 0 && n === r ? ed(t, e) : et(r, n, td | rd);\n };\n}\nfunction od(e) {\n return e;\n}\nfunction id(e) {\n return function(r) {\n return r == null ? void 0 : r[e];\n };\n}\nfunction ad(e) {\n return function(r) {\n return Kn(r, e);\n };\n}\nfunction sd(e) {\n return Ht(e) ? id(tt(e)) : ad(e);\n}\nfunction ud(e) {\n return typeof e == "function" ? e : e == null ? od : typeof e == "object" ? z(e) ? nd(e[0], e[1]) : Fc(e) : sd(e);\n}\nfunction cd(e, r, t, n) {\n for (var o = e.length, i = t + -1; ++i < o; )\n if (r(e[i], i, e))\n return i;\n return -1;\n}\nfunction dd(e) {\n return e !== e;\n}\nfunction ld(e, r, t) {\n for (var n = t - 1, o = e.length; ++n < o; )\n if (e[n] === r)\n return n;\n return -1;\n}\nfunction fd(e, r, t) {\n return r === r ? ld(e, r, t) : cd(e, dd, t);\n}\nfunction pd(e, r) {\n var t = e == null ? 0 : e.length;\n return !!t && fd(e, r, 0) > -1;\n}\nfunction gd(e, r, t) {\n for (var n = -1, o = e == null ? 0 : e.length; ++n < o; )\n if (t(r, e[n]))\n return !0;\n return !1;\n}\nfunction hd() {\n}\nvar yd = 1 / 0, md = ce && 1 / Kt(new ce([, -0]))[1] == yd ? function(e) {\n return new ce(e);\n} : hd, vd = 200;\nfunction Hn(e, r, t) {\n var n = -1, o = pd, i = e.length, a = !0, u = [], c = u;\n if (t)\n a = !1, o = gd;\n else if (i >= vd) {\n var s = r ? null : md(e);\n if (s)\n return Kt(s);\n a = !1, o = zn, c = new De();\n } else\n c = r ? [] : u;\n e:\n for (; ++n < i; ) {\n var d = e[n], l = r ? r(d) : d;\n if (d = t || d !== 0 ? d : 0, a && l === l) {\n for (var f = c.length; f--; )\n if (c[f] === l)\n continue e;\n r && c.push(l), u.push(d);\n } else o(c, l, t) || (c !== u && c.push(l), u.push(d));\n }\n return u;\n}\nfunction bd(e, r) {\n return e && e.length ? Hn(e, ud(r)) : [];\n}\nfunction wd(e, r) {\n return r = typeof r == "function" ? r : void 0, e && e.length ? Hn(e, void 0, r) : [];\n}\nconst Ie = G("events/save", (e, r) => I(void 0, null, function* () {\n const { callback: t, copyFile: n } = e, { getState: o } = r, i = yield Promise.resolve(t), { tempFolder: a, workingDocumentId: u } = i, s = o().workingStores[u];\n return s.tempFolder !== a && (yield (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.copyWorkingStoreFiles)({\n ingredients: s.ingredients.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded),\n currentTempFolder: s.tempFolder,\n newTempFolder: a,\n copyFile: n\n })), i;\n})), xe = G("events/new-doc", (e) => I(void 0, null, function* () {\n return e.additionalProcessing && (yield e.additionalProcessing()), delete e.additionalProcessing, e;\n})), $e = G("events/new-asset", (e) => I(void 0, null, function* () {\n return yield Promise.resolve(e.data);\n})), ke = G("panel/enable", (e) => I(void 0, null, function* () {\n const { state: r } = e, t = [];\n return r.identityInitialized || t.push(r.initIdentity()), yield Promise.all(t), null;\n})), Yn = A("panel/disable"), Pt = G("events/review", (e) => I(void 0, null, function* () {\n const { review: r } = e;\n try {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.logStatisticsEvent("review-added", {\n "event.value": `c:${r.code}|e:${r.explanation}|v:${r.value}`\n });\n } catch (t) {\n console.error(t);\n }\n return e;\n}));\nfunction Sd(e, r) {\n return et(e, r);\n}\nconst Jn = A("events/set-source-file-action"), Xn = A("events/set-export-setting"), Me = G("embeddedObject/merge", (e) => I(void 0, null, function* () {\n const { savedStore: r, targetStore: t, loadedIngredients: n, copyFile: o } = e;\n if (r.tempFolder !== t.tempFolder)\n return (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.copyWorkingStoreFiles)({\n ingredients: n,\n currentTempFolder: r.tempFolder,\n newTempFolder: t.tempFolder,\n copyFile: o\n });\n})), Zn = A("panel/set-supported"), Qn = A("events/new-edit-action"), eo = A("events/update-models"), to = A("events/disown-embed"), Re = G("ingredients/update", (e) => I(void 0, null, function* () {\n const { loadedIngredients: r, selfFolder: t, tempFolder: n, copyFile: o } = e;\n if (t !== n)\n return (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.copyWorkingStoreFiles)({\n ingredients: r,\n currentTempFolder: t,\n newTempFolder: n,\n copyFile: o\n });\n})), Fe = (e) => wd(e, Sd), Ad = {};\nfunction Kr(e, r = !0) {\n return {\n type: e.account_type,\n label: e.address || e.username || "Unknown",\n url: e.url,\n included: r\n };\n}\nfunction Hr(e, r) {\n let t = {};\n return Object.keys(e).length ? t = r.reduce((n, o) => {\n var i;\n return n[o.id] = (i = e[o.id]) != null ? i : Kr(o, !0), n;\n }, {}) : t = r.reduce((n, o) => (n[o.id] = Kr(o), n), {}), t;\n}\nfunction Ed(e) {\n var r;\n return {\n accounts: (r = e == null ? void 0 : e.reduce((t, n) => (t[n.id] = {\n type: n.account_type,\n label: n.address || n.username || "Unknown",\n url: n.url,\n included: !0\n }, t), {})) != null ? r : {},\n accountsLoading: !1,\n edits: !0,\n identity: !0\n };\n}\nfunction Od(e) {\n const r = [];\n return e.forEach((t) => {\n const n = (o) => t.state === "loaded" && t.hash === o.hash;\n if (t.state !== "loaded" || t.hash === null) {\n r.push(t);\n return;\n }\n r.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded).find(n) || r.push(t);\n }), r;\n}\nfunction Id(e, r) {\n const t = Fe([\n ...e.assertionData.actions,\n ...r.assertionData.actions\n ]), n = Fe([\n ...e.assertionData.metadata.reviewRatings,\n ...r.assertionData.metadata.reviewRatings\n ]), o = e.ingredients.filter((a) => !a.is_parent);\n let i = me([\n ...o,\n ...r.ingredients\n ]);\n return i = Fe(i), {\n mergedActions: t,\n mergedReviewRatings: n,\n mergedIngredients: i\n };\n}\nconst _d = (e) => bd(e, (r) => [r.action, JSON.stringify(r.parameters)].join("|"));\nfunction Yr(e, r, t) {\n const n = [...e[r].assertionData.actions, t], o = _d(n);\n return {\n actions: o,\n localizations: _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.buildC2PALocalizationsFromActions(o.map((i) => i.action))\n };\n}\nfunction Td(e) {\n return je(Ad, (r) => {\n r.addCase(to, (t, { payload: n }) => {\n const { workingDocumentId: o } = n;\n o && t[o] && (t[o].owningDocumentId = null);\n }).addCase(Re.pending, (t, n) => {\n var c;\n const { workingDocumentId: o } = n.meta.arg, i = t[o], a = (c = i.owningDocumentId) != null ? c : o;\n return i.ingredients.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded).filter((s) => !s.is_parent).filter((s) => !t[a].ingredients.some((d) => d.guid === s.guid)).forEach((s) => {\n t[a].ingredients.push(H(K({}, s), {\n state: "loading"\n }));\n }), t;\n }).addCase(Re.fulfilled, (t, n) => {\n var c;\n const { workingDocumentId: o } = n.meta.arg, a = (c = t[o].owningDocumentId) != null ? c : o;\n t[a].ingredients = t[a].ingredients.filter((s) => s.state !== "loading");\n const u = t[o].ingredients.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded);\n t[o].ingredients = t[o].ingredients.map((s) => {\n const d = u.find((l) => s.guid === l.guid);\n return d || s;\n });\n }).addCase(Re.rejected, (t, n) => {\n var c;\n console.error(n);\n const { workingDocumentId: o } = n.meta.arg, a = (c = t[o].owningDocumentId) != null ? c : o, u = t[a].ingredients.filter((s) => s.state !== "loading");\n return t[a].ingredients = u, t;\n }).addCase(Qn, (t, { payload: n }) => {\n const { action: o, documentID: i } = n;\n if (!t[i])\n return console.warn("Unable to find a working store for", i), t;\n const { actions: a, localizations: u } = Yr(t, i, o);\n return t[i].assertionData.actions = a, t[i].assertionData.metadata.localizations = u, t;\n }).addCase(eo, (t, { payload: n }) => {\n const { models: o, documentID: i } = n;\n return t[i] ? (t[i].genAIModelsUsed = o, t) : (console.warn("Unable to find a working store for", i), t);\n }).addCase(Jn, (t, { payload: n }) => {\n const { documentID: o, file: i } = n;\n t[o].sourceFile = i;\n }).addCase(Zn, (t, { payload: n }) => {\n const { documentID: o, supported: i } = n;\n t[o].supported = i;\n }).addCase(xe.fulfilled, (t, n) => {\n const { workingDocumentId: o, enabled: i, sourceTool: a } = n.meta.arg, { source: u } = n.payload.store;\n if (!t[o])\n return console.warn("New doc no longer exists in state", o), t;\n if (t[o].preferenceState = i ? "enabled" : "disabled", u === "New" && a && i) {\n const c = (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.buildWorkingStoreAction)({\n action: "c2pa.created",\n tool: a\n });\n t[o].assertionData.actions = [\n ...t[o].assertionData.actions,\n c\n ];\n }\n return t;\n }).addCase(xe.rejected, (t, n) => {\n const { workingDocumentId: o } = n.meta.arg;\n return delete t[o], console.error("New document rejected"), console.error(n.error), t;\n }).addCase(xe.pending, (t, n) => {\n const { store: o, connectedAccounts: i, workingDocumentId: a } = n.meta.arg, u = o.settings || Ed(i), c = H(K({}, o), {\n settings: u,\n sessionStartTime: (/* @__PURE__ */ new Date()).toISOString()\n });\n return t[a] = c, t;\n }).addCase(ke.fulfilled, (t, n) => {\n const { documentID: o, tempFolder: i, fromNewDoc: a } = n.meta.arg;\n return t[o] ? (a || (t[o].preferenceState = "enabled"), i && (t[o].tempFolder = i), t) : (console.warn("Enabled doc no longer exists in state", o), t);\n }).addCase(ke.pending, (t, n) => {\n const { documentID: o, fromNewDoc: i } = n.meta.arg;\n i || (t[o].preferenceState = "enabling");\n }).addCase(ke.rejected, (t, n) => {\n const { documentID: o, fromNewDoc: i } = n.meta.arg;\n i || (t[o].preferenceState = "disabled"), console.error("Rejected enabling"), console.error(n.error);\n }).addCase(Yn, (t, { payload: n }) => {\n const { documentID: o, fromNewDoc: i, persistedWorkingStore: a, tempFolder: u } = n, c = t[o].sourceFile;\n a && (t[o] = me(a)), t[o].sourceFile = c, i || (t[o].preferenceState = "disabled"), u && (t[o].tempFolder = u);\n }).addCase(Qe, (t, { payload: n }) => (delete t[n.closeWorkingId], t)).addCase(Ie.fulfilled, (t, { payload: n }) => {\n const { workingDocumentId: o, tempFolder: i } = n;\n t[o].tempFolder = i, t[o].loadedWithCAIData = !0;\n }).addCase(Pt.fulfilled, (t, { payload: n }) => {\n const { workingDocumentId: o, review: i } = n, u = t[o].assertionData.metadata.reviewRatings || [], c = Fe([...u, i]);\n if (t[o].assertionData.metadata.reviewRatings = c, i.code !== "actions.unknownActionsPerformed")\n return t;\n const s = (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.getIcons)(), d = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getDefaultC2PAActionDescription("c2pa.unknown"), l = {\n action: "c2pa.unknown",\n parameters: {\n "com.adobe.tool": "",\n "com.adobe.icon": s["c2pa.unknown"],\n description: d\n }\n }, { actions: f, localizations: g } = Yr(t, o, l);\n return t[o].assertionData.actions = f, t[o].assertionData.metadata.localizations = g, t;\n }).addCase(Pt.rejected, (t, n) => {\n console.error(n.error);\n }).addCase(Rn, (t, n) => {\n const { documentId: o } = n.payload;\n t[o].settings.edits = !t[o].settings.edits;\n }).addCase(Fn, (t, n) => {\n const { documentId: o } = n.payload;\n t[o].settings.identity = !t[o].settings.identity;\n }).addCase(Gt, (t, n) => {\n if (!n.payload)\n return;\n const { connectedAccounts: o } = n.payload;\n Object.keys(t).forEach((i) => {\n const a = t[i].settings.accounts;\n t[i].settings.accounts = Hr(a, o);\n });\n }).addCase(Xn, (t, { payload: n }) => {\n const { documentID: o, setting: i } = n;\n t[o].settings.export = i;\n }).addCase(Un, (t, n) => {\n const { documentId: o, accountId: i } = n.payload;\n t[o].settings.accounts[i].included = !t[o].settings.accounts[i].included;\n }).addCase(Ln, (t, n) => {\n const { documentId: o, value: i, type: a } = n.payload;\n Object.entries(t[o].settings.accounts).reduce((c, [s, d]) => ((0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.isCrypto)(d) ? c.crypto.push({ id: s, included: d.included }) : c.social.push({\n id: s,\n included: d.included\n }), c), {\n social: [],\n crypto: []\n })[a].forEach((c) => {\n t[o].settings.accounts[c.id].included = i;\n });\n }).addCase(pe.pending, (t) => {\n Object.keys(t).forEach((n) => {\n t[n].settings.accountsLoading = !0;\n });\n }).addCase(pe.fulfilled, (t, n) => {\n if (!n.payload)\n return;\n const { accounts: o } = n.payload;\n Object.keys(t).forEach((i) => {\n const a = t[i].settings.accounts;\n t[i].settings.accountsLoading = !1, t[i].settings.accounts = Hr(a, o);\n });\n }).addCase(pe.rejected, (t) => {\n Object.keys(t).forEach((n) => {\n t[n].settings.accountsLoading = !1;\n }), console.error("Error fetching connected accounts");\n }).addCase($e.pending, (t, n) => {\n const { documentID: o, guid: i, isParent: a } = n.meta.arg;\n t[o].ingredients.push({\n guid: i,\n state: "loading",\n is_parent: a\n });\n }).addCase($e.rejected, (t, n) => {\n const { guid: o, documentID: i } = n.meta.arg, u = t[i].ingredients;\n t[i].ingredients = u.filter((c) => c.guid !== o), console.error(n.error);\n }).addCase($e.fulfilled, (t, n) => {\n const { guid: o, documentID: i } = n.meta.arg, { payload: a } = n;\n if (!a)\n return t;\n const s = t[i].ingredients.map((l) => {\n if (l.guid !== o)\n return l;\n const f = H(K({}, a), {\n guid: o,\n state: "loaded"\n });\n let g = !1;\n if (f.validation_status || (f.validation_status = []), f.validation_status = f.validation_status.filter((p) => {\n const h = p.code === "com.adobe.prerelease";\n return h && (g = !0), !h;\n }), g) {\n const p = {\n code: "com.adobe.prerelease",\n value: 5,\n explanation: "An image with a pre-release claim was embedded and had data removed"\n };\n f.metadata.reviewRatings || (f.metadata.reviewRatings = []), f.metadata.reviewRatings.unshift(p);\n }\n return f;\n }), d = Od(s);\n return t[i].ingredients = d, t;\n }).addCase(Me.pending, (t, n) => {\n const { savedStore: o, targetStore: i } = n.meta.arg;\n return o.ingredients.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded).filter((u) => !u.is_parent).filter((u) => !i.ingredients.some((c) => c.guid === u.guid)).forEach((u) => {\n t[o.owningDocumentId].ingredients.push(H(K({}, u), {\n state: "loading"\n }));\n }), t;\n }).addCase(Me.fulfilled, (t, n) => {\n const { savedStore: o } = n.meta.arg, i = o.owningDocumentId, a = t[i], { mergedActions: u, mergedIngredients: c, mergedReviewRatings: s } = Id(o, a);\n t[i].assertionData.actions = [\n ...u\n // set to an array\n ], t[i].assertionData.metadata.reviewRatings = [\n ...s\n // set to an array\n ];\n const d = c.filter((l) => l.state !== "loading");\n return t[i].ingredients = d, t;\n }).addCase(Me.rejected, (t, n) => {\n const { savedStore: o } = n.meta.arg, i = o.owningDocumentId, u = t[i].ingredients.filter((c) => c.state !== "loading");\n return t[i].ingredients = u, t;\n });\n });\n}\nconst ro = A("events/set-working-document-id");\nfunction Pd(e) {\n return je(null, (r) => {\n r.addCase(ro, (t, { payload: n }) => n.workingDocumentId).addCase(Qe, (t, { payload: n }) => n.workingDocumentId);\n });\n}\nconst Dd = A("panel/loading"), no = A("panel/loaded"), oo = A("events/toggle-preview"), io = A("events/idle-action"), ao = A("panel/theme"), so = A("events/tool-modal-action"), uo = A("events/modal-action"), co = A("errors/connected-accounts-error"), lo = A("errors/identity-error"), fo = {\n loadingState: "loading",\n host: null,\n previewOpened: !1,\n appIdle: !1,\n appSaving: !1,\n theme: "dark",\n toolModal: !1,\n modal: !1,\n identityError: !1,\n connectedAccountsError: !1\n};\nfunction jd() {\n return je(fo, (e) => {\n e.addCase(ao, (r, { payload: t }) => {\n r.theme = t.theme;\n }).addCase(io, (r, { payload: t }) => {\n r.appIdle = t.idle;\n }).addCase(Ie.pending, (r) => {\n r.appSaving = !0;\n }).addCase(Ie.fulfilled, (r) => {\n r.appSaving = !1;\n }).addCase(Ie.rejected, (r, t) => {\n console.error(t.error), r.appSaving = !1;\n }).addCase(oo, (r, { payload: t }) => {\n r.previewOpened = t;\n }).addCase(Dd, (r) => {\n r.loadingState = "loading";\n }).addCase(no, (r, { payload: t }) => {\n r.loadingState = "loaded", r.host = t.host;\n }).addCase(so, (r, { payload: t }) => {\n r.toolModal = t.toolModal;\n }).addCase(uo, (r, { payload: t }) => {\n r.modal = t.modal;\n }).addCase(pe.fulfilled, (r, t) => {\n !t.payload || !r || (r.connectedAccountsError = !1);\n }).addCase(Ge.fulfilled, (r, t) => {\n !t.payload || !r || (r.identityError = !1);\n }).addCase(co, (r, { payload: t }) => {\n r.connectedAccountsError = t.isErrorState;\n }).addCase(lo, (r, { payload: t }) => {\n r.identityError = t.isErrorState;\n });\n });\n}\nconst Cd = {\n user: null,\n panel: fo,\n workingStores: {},\n persistedWorkingStores: {},\n workingDocumentId: null\n};\nfunction Nd() {\n const e = me(Cd);\n return Yu({\n preloadedState: e,\n reducer: {\n user: oc,\n persistedWorkingStores: ic,\n workingStores: Td(),\n workingDocumentId: Pd(),\n panel: jd()\n }\n });\n}\nfunction po(e) {\n return e.sort((r, t) => {\n const n = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString(r, "label"), o = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString(t, "label");\n return n === o ? 0 : n > o ? 1 : -1;\n }), [...new Set(e)];\n}\nfunction xd(e) {\n if (!e)\n return null;\n const t = e.ingredients.filter(_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded).reduce((u, c) => {\n var s;\n return (s = c == null ? void 0 : c.metadata.reviewRatings) == null || s.forEach((d) => {\n u.push(d);\n }), u;\n }, []), n = e.assertionData.metadata.reviewRatings.concat(t);\n if (!n.length)\n return null;\n const o = "";\n let i = "controls.learnMore";\n return n.every((u) => {\n var c;\n return (c = u.code) != null && c.match(/^com\\.adobe\\./) ? (i = u.code, !1) : !0;\n }), {\n string: _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: i,\n defaultMessage: o\n }),\n id: i,\n values: {\n a: _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getLocalizedURLWithSuffix("https://www.adobe.com/go/CAI-HelpX-HowTo")\n }\n };\n}\nvar Jr;\n(function(e) {\n e.trainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia", e.algorithmicallyEnhanced = "http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced", e.compositeSynthetic = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic", e.digitalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture", e.compositeWithTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia";\n})(Jr || (Jr = {}));\nvar Xr;\n(function(e) {\n e.NotFound = "NotFound", e.Permission = "Permission", e.Offline = "Offline";\n})(Xr || (Xr = {}));\nfunction $d(e, r) {\n return r in e;\n}\nfunction kd(e) {\n var f;\n if (!e.workingDocumentId || !e.workingStore)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("Must have working store and working document ID to get state");\n const { workingStore: r, producedBy: t, producedWith: n, alertMessage: o, panel: i } = e, { settings: a, tempFolder: u } = r, { theme: c } = e.panel;\n let s = [];\n const { actions: d } = r.assertionData, l = (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.getIcons)();\n if (d.length) {\n let g = d.map((p) => p.action);\n g = po(g), s = g.map((p) => {\n const h = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString(p, "label"), m = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString(p, "description");\n let y = l["c2pa.edited"];\n $d(l, p) && (y = l[p]);\n const v = c === "dark" || c === "darkest" ? "light" : "dark";\n return y = y.replace("-dark.svg", `-${v}.svg`), {\n icon: y,\n label: h,\n description: m\n };\n }).filter((p) => !!p.label);\n }\n if (r.genAIModelsUsed && ((f = r.genAIModelsUsed) == null ? void 0 : f.length) > 0) {\n let g = l["c2pa.edited"];\n const p = c === "dark" || c === "darkest" ? "light" : "dark";\n g = g.replace("-dark.svg", `-${p}.svg`);\n const h = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString("c2pa.edited", "label"), m = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.getC2PAActionString("c2pa.edited", "description"), y = {\n icon: g,\n label: h,\n description: m\n };\n s.find((v) => v.label == y.label) || s.push(y);\n }\n return {\n // @todo: We should make a UI specific type to stop using path below in deprecated manner\n ingredients: me(r.ingredients).map((g) => {\n var p;\n return (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.isIngredientLoaded)(g) && (g.thumbnail && (g.thumbnail.path = `${u}${(p = g.thumbnail) == null ? void 0 : p.fileName}`), g.manifest_data && (g.manifest_path = `${u}${g.manifest_data.identifier}`)), g;\n }),\n editCategories: s,\n producedBy: t,\n producedWith: n,\n settings: a,\n showMissingActivityWarning: !!o,\n tempFolder: u,\n actions: d,\n theme: i.theme,\n modelsUsed: r.genAIModelsUsed\n };\n}\nlet Se;\nfunction Md(e) {\n return {\n getState: () => me(e.store.getState()),\n disownEmbed: (t) => e.store.dispatch(to({\n workingDocumentId: t\n })),\n closeWorkingStore: (t, n) => {\n const o = {\n closeWorkingId: t,\n workingDocumentId: n\n };\n return e.store.dispatch(Qe(o));\n },\n updateIdleState: (t) => {\n const n = {\n idle: t\n };\n return e.store.dispatch(io(n));\n },\n togglePanelInteractivity: (t) => {\n const n = {\n toolModal: t\n };\n return e.store.dispatch(so(n));\n },\n toggleContextMenuInteractivity: (t) => {\n const n = {\n modal: t\n };\n return e.store.dispatch(uo(n));\n },\n selectWorkingStore: (t, n) => e.store.dispatch(ro({ workingDocumentId: t, disabled: n })),\n enable: (t) => e.enable(t),\n setPreviewVisible: (t) => I(this, null, function* () {\n return yield e.store.dispatch(Ge()), e.store.dispatch(oo(t));\n }),\n disable: (t, n, o) => e.disable(t, o, n),\n addNewWorkingStore: (t) => {\n var a;\n const o = ((a = e.store.getState().user) == null ? void 0 : a.connectedAccounts) || [], i = H(K({}, t), {\n connectedAccounts: o\n });\n return e.store.dispatch(xe(i));\n },\n addNewAction: (t, n) => e.store.dispatch(Qn({\n action: n,\n documentID: t\n })),\n updateModelsUsed: (t, n) => e.store.dispatch(eo({\n models: n,\n documentID: t\n })),\n updateIngredients: (t) => e.store.dispatch(Re(t)),\n addReview: (t, n) => e.store.dispatch(Pt({\n review: n,\n workingDocumentId: t\n })),\n addAsset: (t) => I(this, null, function* () {\n return (yield e.store.dispatch($e(t))).payload;\n }),\n setTheme: (t) => e.store.dispatch(ao({ theme: t })),\n setSourceFile: (t, n) => e.store.dispatch(Jn({\n file: n,\n documentID: t\n })),\n setWorkingStoreSupported: (t, n) => e.store.dispatch(Zn({\n documentID: t,\n supported: n\n })),\n checkIngredientsLoaded: (t, n) => e.checkIngredientsLoaded(t, n),\n mergeWorkingStores: (t, n, o, i) => e.store.dispatch(Me({\n savedStore: t,\n targetStore: n,\n copyFile: o,\n loadedIngredients: i\n })),\n setPersistedWorkingStore: (t, n) => e.store.dispatch(Ke({\n documentID: t,\n store: n\n })),\n saveWorkingStore: (t, n, o, i) => I(this, null, function* () {\n const a = yield e.store.dispatch(Ie({\n callback: o,\n copyFile: i\n })), u = n.workingStores[t];\n return e.store.dispatch(Ke({\n documentID: t,\n store: u\n })), a.payload;\n }),\n getStore: () => e.store,\n refreshConnectedAccounts: () => e.store.dispatch(pe()),\n refreshIdentity: () => e.store.dispatch(Ge()),\n setWorkingStoreExportDefault: (t, n) => e.store.dispatch(Xn({ documentID: t, setting: n })),\n embed(t) {\n return e.embed(t);\n },\n getWorkingStore(t) {\n const n = e.store.getState(), { workingStores: o } = n;\n return t && o[t] || null;\n },\n getActiveWorkingStore() {\n const t = e.store.getState(), { workingDocumentId: n, workingStores: o } = t;\n return n && o[n] || null;\n },\n getPreviewPaneData() {\n const t = this.getPanelUIData();\n return kd(t);\n },\n getPanelUIData() {\n var a, u, c, s, d;\n const t = e.store.getState(), { host: n } = t.panel, o = this.getActiveWorkingStore(), i = H(K({}, t.panel), {\n // toolModal should also be overwritten to undefined once we dont need it in UI (when we remove enable button)\n appIdle: void 0,\n modal: void 0\n });\n return {\n workingStore: o,\n workingDocumentId: t.workingDocumentId || null,\n panel: i,\n producedWith: n ? `Adobe ${n.name} ${n.version}` : "Unknown",\n producedBy: (d = (s = (c = (u = (a = t.user) == null ? void 0 : a.identity) == null ? void 0 : u.claimData) == null ? void 0 : c.credentialSubject) == null ? void 0 : s.name) != null ? d : "Unknown",\n alertMessage: xd(o)\n };\n },\n getIcons() {\n return (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.getIcons)();\n },\n toggleEdits(t) {\n return e.store.dispatch(Rn({ documentId: t }));\n },\n toggleIdentity(t) {\n return e.store.dispatch(Fn({ documentId: t }));\n },\n toggleConnectedAccountCategory(t, n, o) {\n return e.store.dispatch(Ln({\n documentId: t,\n value: o,\n type: n\n }));\n },\n toggleConnectedAccount(t, n) {\n return e.store.dispatch(Un({\n documentId: t,\n accountId: n\n }));\n },\n getUISubject() {\n return Se || (Se = new _cai_common__WEBPACK_IMPORTED_MODULE_0__.Subject(this.getPanelUIData()), e.store.subscribe(() => {\n const t = JSON.stringify(this.getPanelUIData()), n = JSON.stringify(Se.getValue());\n t !== n && Se.update(this.getPanelUIData());\n })), Se;\n }\n };\n}\nconst Rd = [\n // Native ES errors https://262.ecma-international.org/12.0/#sec-well-known-intrinsic-objects\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n // Built-in errors\n globalThis.DOMException,\n // Node-specific errors\n // https://nodejs.org/api/errors.html\n globalThis.AssertionError,\n globalThis.SystemError\n].filter(Boolean).map(\n (e) => [e.name, e]\n), Fd = new Map(Rd), Ld = [\n {\n property: "name",\n enumerable: !1\n },\n {\n property: "message",\n enumerable: !1\n },\n {\n property: "stack",\n enumerable: !1\n },\n {\n property: "code",\n enumerable: !0\n },\n {\n property: "cause",\n enumerable: !1\n }\n], Dt = /* @__PURE__ */ new WeakSet(), Ud = (e) => {\n Dt.add(e);\n const r = e.toJSON();\n return Dt.delete(e), r;\n}, zd = (e) => {\n var r;\n return (r = Fd.get(e)) != null ? r : Error;\n}, go = ({\n from: e,\n seen: r,\n to: t,\n forceEnumerable: n,\n maxDepth: o,\n depth: i,\n useToJSON: a,\n serialize: u\n}) => {\n if (!t)\n if (Array.isArray(e))\n t = [];\n else if (!u && Zr(e)) {\n const s = zd(e.name);\n t = new s();\n } else\n t = {};\n if (r.push(e), i >= o)\n return t;\n if (a && typeof e.toJSON == "function" && !Dt.has(e))\n return Ud(e);\n const c = (s) => go({\n from: s,\n seen: [...r],\n forceEnumerable: n,\n maxDepth: o,\n depth: i,\n useToJSON: a,\n serialize: u\n });\n for (const [s, d] of Object.entries(e)) {\n if (typeof Buffer == "function" && Buffer.isBuffer(d)) {\n t[s] = "[object Buffer]";\n continue;\n }\n if (d !== null && typeof d == "object" && typeof d.pipe == "function") {\n t[s] = "[object Stream]";\n continue;\n }\n if (typeof d != "function") {\n if (!d || typeof d != "object") {\n try {\n t[s] = d;\n } catch (l) {\n }\n continue;\n }\n if (!r.includes(e[s])) {\n i++, t[s] = c(e[s]);\n continue;\n }\n t[s] = "[Circular]";\n }\n }\n for (const { property: s, enumerable: d } of Ld)\n typeof e[s] != "undefined" && e[s] !== null && Object.defineProperty(t, s, {\n value: Zr(e[s]) ? c(e[s]) : e[s],\n enumerable: n ? !0 : d,\n configurable: !0,\n writable: !0\n });\n return t;\n};\nfunction Wd(e, r = {}) {\n const {\n maxDepth: t = Number.POSITIVE_INFINITY,\n useToJSON: n = !0\n } = r;\n return typeof e == "object" && e !== null ? go({\n from: e,\n seen: [],\n forceEnumerable: !0,\n maxDepth: t,\n depth: 0,\n useToJSON: n,\n serialize: !0\n }) : typeof e == "function" ? `[Function: ${e.name || "anonymous"}]` : e;\n}\nfunction Zr(e) {\n return !!e && typeof e == "object" && "name" in e && "message" in e && "stack" in e;\n}\nclass Jt {\n constructor({ User: r, App: t, System: n, ManifestService: o }) {\n this.DIDInitialized = !1, this.connectedAccountsInitialized = !1, this.User = r, this.App = t, this.System = n, this.ManifestService = o;\n }\n get identityInitialized() {\n return this.DIDInitialized && this.connectedAccountsInitialized;\n }\n static initialize(r) {\n return I(this, null, function* () {\n const t = new this(r);\n return this.stateInstance = yield t.init(), this.stateInstance;\n });\n }\n static getStateInstance() {\n return this.stateInstance;\n }\n static getActionIDs(r) {\n const t = this.getActionIDsFromAssertion(r);\n return po(t);\n }\n static getActionIDsFromAssertion(r) {\n var o;\n const t = r.assertions.find((i) => i.label === "c2pa.actions");\n if (!((o = t == null ? void 0 : t.data) != null && o.actions))\n return [];\n const n = t.data.actions.map((i) => i.action);\n return [...new Set(n)];\n }\n embed(r) {\n return I(this, null, function* () {\n var O;\n const { path: t, documentID: n, exportDestination: o = "file", genTechInfo: i, extraActions: a } = r;\n let u = this.store.getState();\n this.DIDInitialized || (yield this.initIdentity(!0), u = this.store.getState());\n const c = {\n documentID: n,\n currentState: u,\n forSave: !1,\n App: this.App,\n System: this.System,\n genTechInfo: i,\n extraActions: a\n }, s = _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIClaim.build(c), d = u.workingStores[n], { settings: l } = d, f = Jt.getActionIDs(s).map((w) => `c:${w}`), g = _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.getFormattedSettings(l);\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.logStatisticsEvent("export-settings", {\n "event.value": g\n });\n const p = s.ingredients.length, h = t.replace(/.+\\.([a-z]+)$/i, "$1").toLowerCase(), y = (d.sourceFile || "UNSAVED").replace(/.+\\.([a-z0-9]+)$/i, "$1").toLowerCase(), v = [\n `ext:${h}`,\n `srcext:${y}`,\n `gti:${(O = i == null ? void 0 : i.genTechInfoVal) != null ? O : 0}`,\n ...f\n ];\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.logStatisticsEvent("export-data", {\n "event.value": v.join("|"),\n "trn.number": (0,_cai_common__WEBPACK_IMPORTED_MODULE_0__.generateGUID)(),\n "trn.product": "assets",\n "trn.quantity": p\n });\n try {\n yield this.checkIngredientsLoaded(n);\n } catch (w) {\n if (w instanceof _cai_common__WEBPACK_IMPORTED_MODULE_0__.IngredientLoadingEmbedError) {\n const P = _cai_localization__WEBPACK_IMPORTED_MODULE_1__.Localization.formatMessage({\n id: "error.ingredientLoadingEmbedError",\n // formatjs extraction will not process this string if it\'s split to multiple lines\n /* prettier-ignore */\n // eslint-disable-next-line max-len\n defaultMessage: "Your file was exported but its Content Credentials couldn\'t be published or attached because document changes were still processing. Please wait a moment and try again."\n });\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.EmbedError("Failed to embed", {\n localizedMessage: P,\n originalError: Wd(w)\n });\n }\n throw w;\n }\n const S = {\n userToken: this.User.getToken(),\n path: t,\n claim: s,\n dataDir: d.tempFolder,\n destination: o\n };\n return yield this.ManifestService.embed(S), s;\n });\n }\n /**\n * @todo: how can i fix TS inference here??\n * @see: https://jira.corp.adobe.com/browse/CAI-612\n */\n // eslint-disable-next-line class-methods-use-this\n getStore() {\n return I(this, null, function* () {\n return Nd();\n });\n }\n init() {\n return I(this, null, function* () {\n return this.store = yield this.getStore(), window.reduxStore = this.store, this.store.dispatch(no({\n host: {\n name: this.App.getName(),\n version: this.App.getVersion()\n }\n })), this;\n });\n }\n disable(r, t, n = !1) {\n return I(this, null, function* () {\n const i = this.store.getState().persistedWorkingStores[r];\n try {\n this.store.dispatch(Yn({\n documentID: r,\n fromNewDoc: n,\n persistedWorkingStore: i,\n tempFolder: t\n }));\n } catch (a) {\n console.error("Failure to disable UI", a), _cai_common__WEBPACK_IMPORTED_MODULE_0__.ErrorHandler.log(a);\n }\n });\n }\n enable(r) {\n return I(this, null, function* () {\n const { documentID: t, tempFolder: n, fromNewDoc: o } = r, a = this.store.getState().workingStores[t];\n return this.store.dispatch(Ke({\n documentID: t,\n store: a,\n tempFolder: n\n })), this.store.dispatch(ke({ state: this, documentID: t, tempFolder: n, fromNewDoc: o }));\n });\n }\n checkIngredientsLoaded(r, t) {\n return I(this, null, function* () {\n let n = this.store.getState(), o = n.workingStores[r];\n if (!o)\n return;\n const i = 15e3;\n let a = !0, u;\n t || (u = setTimeout(() => {\n a = !1;\n }, i));\n const c = () => I(this, null, function* () {\n try {\n n = this.store.getState(), o = n.workingStores[r], o.ingredients.forEach((s) => {\n if (s.state === "loading")\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.IngredientLoadingEmbedError({ ingredient: s });\n });\n } catch (s) {\n let d = !1;\n if (t && (d = t()), !a || d === !0)\n throw s;\n yield new Promise((l) => {\n setTimeout(l, 50);\n }), yield c();\n }\n });\n yield c(), u && clearTimeout(u);\n });\n }\n initIdentity(r = !1) {\n return I(this, null, function* () {\n let t = null;\n const n = (a) => I(this, null, function* () {\n var d, l, f, g;\n if (t === a)\n return;\n t = a;\n const u = this.store.getState();\n let c = (l = (d = u.user) == null ? void 0 : d.identity) != null ? l : {\n uri: null,\n claimData: null\n };\n if (r) {\n try {\n c = yield _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.getIdentity();\n } catch (p) {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.ErrorHandler.log(p), this.store.dispatch(lo({\n isErrorState: !0\n }));\n }\n this.DIDInitialized = !0;\n }\n let s = (g = (f = u.user) == null ? void 0 : f.connectedAccounts) != null ? g : [];\n try {\n s = (yield _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.getConnectedAccounts()).accounts;\n } catch (p) {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.ErrorHandler.log(p), s = [], this.store.dispatch(co({\n isErrorState: !0\n }));\n }\n this.connectedAccountsInitialized = !0, this.store.dispatch(Gt({\n identity: c,\n token: a,\n connectedAccounts: s\n }));\n }), o = this.User.getToken();\n yield n(o);\n const i = (a) => I(this, null, function* () {\n try {\n yield n(a);\n } catch (u) {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.ErrorHandler.log(u);\n }\n });\n this.User.getTokenSubject().subscribe(cu(i, 100, { leading: !0 }));\n });\n }\n getAPI() {\n return Md(this);\n }\n}\nclass Xd {\n static getFS() {\n return this.FS;\n }\n static getManifestService() {\n return this.ManifestService;\n }\n static getColorTheme() {\n return this.UI.getColorTheme();\n }\n static getStateAPI() {\n return this.State;\n }\n static initialize(r) {\n return I(this, null, function* () {\n const { Config: t, User: n, App: o, System: i, FS: a, UI: u, ManifestService: c } = r;\n this.FS = a, this.UI = u, this.ManifestService = c;\n const s = yield o.isProductionEnv(), d = yield t.initialize(s);\n yield n.initialize({\n identity: t.get("identity")\n });\n const l = n.getUserId(), f = yield n.getCountryCode(), g = yield n.getAccountType(), p = n.getTokenSubject(), h = n.getUserIdSubject(), m = yield i.getData(), y = yield o.getData();\n yield _cai_common__WEBPACK_IMPORTED_MODULE_0__.Analytics.initialize({\n userData: {\n userId: l != null ? l : "",\n countryCode: f || "NA",\n accountType: g || "NA"\n },\n systemData: m,\n appData: y,\n accessTokenGetter: () => {\n const b = n.getToken();\n if (!b)\n throw new _cai_common__WEBPACK_IMPORTED_MODULE_0__.AppError("No token for Ingest callback");\n return b;\n }\n }), _cai_common__WEBPACK_IMPORTED_MODULE_0__.SplunkLogger.initialize({\n host: d.get("splunk_proxy.host"),\n apiKey: d.get("splunk_proxy.api_key"),\n token: p.getValue()\n }), _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.initialize({\n host: d.get("id_proxy.host"),\n apiKey: d.get("id_proxy.api_key"),\n token: p.getValue(),\n userId: h.getValue()\n }), p.subscribe((b) => {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.SplunkLogger.updateToken(b), _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.updateToken(b);\n }), h.subscribe((b) => {\n _cai_common__WEBPACK_IMPORTED_MODULE_0__.CAIIdentity.updateUserId(b);\n });\n const v = yield Jt.initialize({\n User: n,\n System: i,\n App: o,\n ManifestService: c\n });\n return this.State = v.getAPI(), _cai_common__WEBPACK_IMPORTED_MODULE_0__.ErrorHandler.updateStateGetter(() => this.State.getState()), new this();\n });\n }\n}\n\n\n\n//# sourceURL=webpack://@cai/panel/../state/dist/index.mjs?')},1307:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n DigitalSourceType: () => (/* reexport */ DigitalSourceType),\n HelperErrorCode: () => (/* reexport */ HelperErrorCode),\n objectHasKey: () => (/* reexport */ objectHasKey),\n staticImplements: () => (/* reexport */ staticImplements)\n});\n\n;// CONCATENATED MODULE: ../types/dist/src/WorkingStore.js\n// ADOBE CONFIDENTIAL\n// Copyright 2021 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\nvar DigitalSourceType;\n(function (DigitalSourceType) {\n DigitalSourceType["trainedAlgorithmicMedia"] = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia";\n DigitalSourceType["algorithmicallyEnhanced"] = "http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced";\n DigitalSourceType["compositeSynthetic"] = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic";\n DigitalSourceType["digitalCapture"] = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture";\n // eslint-disable-next-line max-len\n DigitalSourceType["compositeWithTrainedAlgorithmicMedia"] = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia";\n})(DigitalSourceType || (DigitalSourceType = {}));\n//# sourceMappingURL=WorkingStore.js.map\n;// CONCATENATED MODULE: ../types/dist/src/ManifestService.js\nvar HelperErrorCode;\n(function (HelperErrorCode) {\n HelperErrorCode["NotFound"] = "NotFound";\n HelperErrorCode["Permission"] = "Permission";\n HelperErrorCode["Offline"] = "Offline";\n})(HelperErrorCode || (HelperErrorCode = {}));\n//# sourceMappingURL=ManifestService.js.map\n;// CONCATENATED MODULE: ../types/dist/src/utils.js\n// ADOBE CONFIDENTIAL\n// Copyright 2021 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\n/**\n * This is a workaround for being able to define static classes in an interface, until the issues\n * associated with this issue is resolved: https://github.com/microsoft/TypeScript/issues/14600\n *\n * Source: https://stackoverflow.com/a/43674389\n */\nfunction staticImplements() {\n return (constructor) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n constructor;\n };\n}\nfunction objectHasKey(obj, key) {\n return Boolean(key in obj);\n}\n//# sourceMappingURL=utils.js.map\n;// CONCATENATED MODULE: ../types/dist/src/index.js\n// ADOBE CONFIDENTIAL\n// Copyright 2020 Adobe\n// All Rights Reserved.\n//\n// NOTICE: All information contained herein is, and remains\n// the property of Adobe and its suppliers, if any. The intellectual\n// and technical concepts contained herein are proprietary to Adobe\n// and its suppliers and are protected by all applicable intellectual\n// property laws, including trade secret and copyright laws.\n// Dissemination of this information or reproduction of this material\n// is strictly forbidden unless prior written permission is obtained\n// from Adobe.\n/**\n * @todo: Audit me\n * @see https://jira.corp.adobe.com/browse/CAI-569\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://@cai/panel/../types/dist/src/index.js_+_3_modules?')},1724:module=>{"use strict";eval('module.exports = JSON.parse(\'{"duplicate_layer":null,"3d_material_eyedropper_tool":"com.adobe.3d","add_3d_view":"com.adobe.3d","align_3d_centers":"com.adobe.3d","align_3d_edges":"com.adobe.3d","apply_3d_cross_section":"com.adobe.3d","apply_extrusion_preset":"com.adobe.3d","center_mesh_in_view":"com.adobe.3d","create_3d_solid_2_sided_extrusion_from_depth_plane":"com.adobe.3d","create_3d_solid_extrusion_from_depth_plane":"com.adobe.3d","create_3d_from_2_sided_depth_plane":"com.adobe.3d","create_3d_from_2d":"com.adobe.3d","create_3d_from_depth_cylinder":"com.adobe.3d","create_3d_from_depth_plane":"com.adobe.3d","create_3d_from_depth_sphere":"com.adobe.3d","create_path_from_3d":"com.adobe.3d","create_spherical_panorama_from_layer":"com.adobe.3d","delete_3d_object":"com.adobe.3d","delete_3d_objects":"com.adobe.3d","delete_3d_view":"com.adobe.3d","duplicate_3d_objects":"com.adobe.3d","export_3d_model":"com.adobe.3d","extrusion_from_layer_mask":"com.adobe.3d","extrusion_from_selected_path":"com.adobe.3d","extrusion_from_selection":"com.adobe.3d","extrusion_from_text_layer":"com.adobe.3d","generate_bump_height_map":"com.adobe.3d","generate_normal_map":"com.adobe.3d","generate_uvs":"com.adobe.3d","group_3d_objects":"com.adobe.3d","instance_3d_objects":"com.adobe.3d","move_3d_object_to_ground_plane":"com.adobe.3d","move_scene_under_group":"com.adobe.3d","new_3d_object":"com.adobe.3d","new_3d_scene":"com.adobe.3d","new_layer_from_3d_file":"com.adobe.3d","new_tiled_painting":"com.adobe.3d","new_volume_from_layers":"com.adobe.3d","rasterize_3d_layer":"com.adobe.3d","rename_3d_object":"com.adobe.3d","render_selected_3d":"com.adobe.3d","render_uv_wireframe":"com.adobe.3d","reorder_3d_objects":"com.adobe.3d","replace_material_from_preset":"com.adobe.3d","replace_materials_from_preset":"com.adobe.3d","set_3d_background_image_count":"com.adobe.3d","set_3d_background_type":"com.adobe.3d","set_3d_camera_position":"com.adobe.3d","set_3d_facial_expression":"com.adobe.3d","set_3d_global_ambient_color":"com.adobe.3d","set_3d_group_position":"com.adobe.3d","set_3d_group_positions":"com.adobe.3d","set_3d_light_attenuation_switch":"com.adobe.3d","set_3d_light_casts_shadows":"com.adobe.3d","set_3d_light_color":"com.adobe.3d","set_3d_light_falloff_angle":"com.adobe.3d","set_3d_light_intensity":"com.adobe.3d","set_3d_light_outer_radius":"com.adobe.3d","set_3d_light_position":"com.adobe.3d","set_3d_light_switch":"com.adobe.3d","set_3d_light_type":"com.adobe.3d","set_3d_material_switch":"com.adobe.3d","set_3d_mesh_position":"com.adobe.3d","set_3d_mesh_positions":"com.adobe.3d","set_3d_mesh_shadow_casting":"com.adobe.3d","set_3d_mesh_shadow_catching":"com.adobe.3d","set_3d_mesh_shadow_invisible":"com.adobe.3d","set_3d_object_switch":"com.adobe.3d","set_3d_objects_switch":"com.adobe.3d","set_3d_painttype":"com.adobe.3d","set_3d_print_properties":"com.adobe.3d","set_3d_print_scale":"com.adobe.3d","set_3d_render_settings":"com.adobe.3d","set_3d_skeletal_mesh_animation":"com.adobe.3d","set_3d_soft_shadow_intensity":"com.adobe.3d","set_extrusion_height":"com.adobe.3d","set_extrusion_origin":"com.adobe.3d","set_extrusion_scale":"com.adobe.3d","set_extrusion_shear":"com.adobe.3d","set_extrusion_texture_type":"com.adobe.3d","set_extrusion_twist":"com.adobe.3d","set_extrusion_x_angle":"com.adobe.3d","set_extrusion_xy_angles":"com.adobe.3d","set_extrusion_y_angle":"com.adobe.3d","set_inflation_angle":"com.adobe.3d","set_inflation_height":"com.adobe.3d","set_material_color":"com.adobe.3d","set_material_texture_properties":"com.adobe.3d","set_material_value":"com.adobe.3d","set_materials_color":"com.adobe.3d","set_materials_value":"com.adobe.3d","set_texture_paths":"com.adobe.3d","simplify_3d_mesh":"com.adobe.3d","split_extrusion":"com.adobe.3d","toggle_3d_painting_mode":"com.adobe.3d","toggle_3d_texture_visibility":"com.adobe.3d","toggle_3d_textures_visibility":"com.adobe.3d","ungroup_3d_objects":"com.adobe.3d","unify_model_for_printing":"com.adobe.3d","content-aware_crop":{"action":"c2pa.cropped"},"content-aware_fill":{"action":"com.adobe.combined_assets"},"content-aware_move_selection":{"action":"c2pa.orientation"},"content-aware_move_tool":{"action":"c2pa.orientation"},"content-aware_scale":{"action":"c2pa.resized"},"healing_brush":{"action":"com.adobe.combined_assets"},"neural_filters":null,"patch_tool":{"action":"com.adobe.combined_assets"},"patch_selection":{"action":"com.adobe.combined_assets"},"spot_healing_brush":{"action":"com.adobe.combined_assets"},"generative_fill":null,"generative_expand":null,"select_variation":null,"sky_replacement":null,"add_audio_clips":"com.adobe.animation_video","add_audio_track":"com.adobe.animation_video","add_blank_video_layer":"com.adobe.animation_video","add_keyframe":"com.adobe.animation_video","add_media":"com.adobe.animation_video","add_transition":"com.adobe.animation_video","add_video_layer":"com.adobe.animation_video","audio_clip_order":"com.adobe.animation_video","change_unify_layer":"com.adobe.animation_video","convert_to_frame":"com.adobe.animation_video","convert_to_frame_animation":"com.adobe.animation_video","convert_to_timeline":"com.adobe.animation_video","create_frame_animation":"com.adobe.animation_video","create_video_group_from_clips":"com.adobe.animation_video","create_video_timeline":"com.adobe.animation_video","deinterlace":"com.adobe.animation_video","delete_animation":"com.adobe.animation_video","delete_audio_clip":"com.adobe.animation_video","delete_audio_clips":"com.adobe.animation_video","delete_audio_track":"com.adobe.animation_video","delete_clips":"com.adobe.animation_video","delete_keyframe":"com.adobe.animation_video","delete_selected_keyframes":"com.adobe.animation_video","delete_slice":"c2pa.edited","delete_slices":"c2pa.edited","delete_transition":"com.adobe.animation_video","delete_transitions":"com.adobe.animation_video","delete_video_timeline":"com.adobe.animation_video","disable_stopwatch":"com.adobe.animation_video","drag_slice":"c2pa.edited","duplicate_audio_clip":"com.adobe.animation_video","edit_frames":"com.adobe.animation_video","edit_slice_options":"com.adobe.animation_video","enable_stopwatch":"com.adobe.animation_video","flatten_frames_into_layers":"com.adobe.animation_video","flatten_frames_into_clips":"com.adobe.animation_video","frame_order":"com.adobe.animation_video","hide_altered_video":"com.adobe.animation_video","insert_blank_frame":"com.adobe.animation_video","interpret_footage":"com.adobe.animation_video","keyframe_interpolation":"com.adobe.animation_video","make_frames_from_clips":"com.adobe.animation_video","match_layer_across_frames":"com.adobe.animation_video","modify_audio_clip":"com.adobe.animation_video","modify_clip_motion":"com.adobe.animation_video","modify_transition":"com.adobe.animation_video","modify_video_clip":"com.adobe.animation_video","modify_video_clip_audio":"com.adobe.animation_video","move_clip":"com.adobe.animation_video","move_keyframes":"com.adobe.animation_video","mute_audio_track":"com.adobe.animation_video","new_slice":"c2pa.edited","new_video_group":"com.adobe.animation_video","paste_frames":"com.adobe.animation_video","paste_keyframes":"com.adobe.animation_video","pixel_aspect_ratio":"com.adobe.animation_video","propagate_frame_1_changes":"com.adobe.animation_video","rasterize_video_layer":"com.adobe.animation_video","reload_frame":"com.adobe.animation_video","remove_clip_motion":"com.adobe.animation_video","replace_audio_clip":"com.adobe.animation_video","replace_footage":"com.adobe.animation_video","resize_slices":"com.adobe.animation_video","reverse_frames":"com.adobe.animation_video","scale_keyframes":"com.adobe.animation_video","set_frame_delay":"com.adobe.animation_video","set_loop_count":"com.adobe.animation_video","set_timeline_frame_rate":"com.adobe.animation_video","set_transition_duration":"com.adobe.animation_video","show_altered_video":"com.adobe.animation_video","slices_from_guides":"com.adobe.animation_video","slip_edit":"com.adobe.animation_video","split_clip":"com.adobe.animation_video","split_clips":"com.adobe.animation_video","trim_end_of_clip":"com.adobe.animation_video","trim_start_of_clip":"com.adobe.animation_video","tween":"com.adobe.animation_video","unmute_audio_track":"com.adobe.animation_video","16_bitschannel":"c2pa.color_adjustments","32_bitschannel":"c2pa.color_adjustments","8_bitschannel":"c2pa.color_adjustments","add_noise":"c2pa.color_adjustments","apply_image":"c2pa.color_adjustments","assign_profile":"c2pa.color_adjustments","auto_color":"c2pa.color_adjustments","auto_contrast":"c2pa.color_adjustments","auto_tone":"c2pa.color_adjustments","autoblend_layers":"c2pa.color_adjustments","autocurvestype_black__white":"c2pa.color_adjustments","autocurvestype_machine_learning":"c2pa.color_adjustments","autocurvestype_monochromatic":"c2pa.color_adjustments","autocurvestype_perchannel":"c2pa.color_adjustments","autouserusage_brightnesscontrast":"c2pa.color_adjustments","autouserusage_curves":"c2pa.color_adjustments","average":"c2pa.color_adjustments","bevel__emboss":"c2pa.color_adjustments","black__white":"c2pa.color_adjustments","blending_change":"c2pa.color_adjustments","blending_options":"c2pa.color_adjustments","blur":"c2pa.color_adjustments","blur_gallery":"c2pa.color_adjustments","blur_more":"c2pa.color_adjustments","box_blur":"c2pa.color_adjustments","brightnesscontrast":"c2pa.color_adjustments","burn_tool":"c2pa.color_adjustments","cmyk_color":"c2pa.color_adjustments","calculations":"c2pa.color_adjustments","camera_raw_filter":"c2pa.color_adjustments","channel_mixer":"c2pa.color_adjustments","channel_options":"c2pa.color_adjustments","clear_layer_style":"c2pa.color_adjustments","color":"c2pa.color_adjustments","color_balance":"c2pa.color_adjustments","color_change":"c2pa.color_adjustments","color_decontaminate":"c2pa.color_adjustments","color_halftone":"c2pa.color_adjustments","color_lookup":"c2pa.color_adjustments","color_overlay":"c2pa.color_adjustments","color_range":"c2pa.color_adjustments","color_replacement_tool":"c2pa.color_adjustments","color_sampler_tool":"c2pa.color_adjustments","color_table":"c2pa.color_adjustments","colorburn":"c2pa.color_adjustments","colordodge":"c2pa.color_adjustments","convert_to_profile":"c2pa.color_adjustments","curve_adjustment_tool":"c2pa.color_adjustments","curves":"c2pa.color_adjustments","darken":"c2pa.color_adjustments","darkercolor":"c2pa.color_adjustments","delete_channel":"c2pa.color_adjustments","delete_channels":"c2pa.color_adjustments","delete_layer_effect":"c2pa.color_adjustments","desaturate":"c2pa.color_adjustments","despeckle":"c2pa.color_adjustments","difference":"c2pa.color_adjustments","diffuse":"c2pa.color_adjustments","diffuse_glow":"c2pa.color_adjustments","disable_layer_effects":"c2pa.color_adjustments","dissolve":"c2pa.color_adjustments","divide":"c2pa.color_adjustments","dodge_tool":"c2pa.color_adjustments","drag_channel":"c2pa.color_adjustments","duotone":"c2pa.color_adjustments","duotone_options":"c2pa.color_adjustments","duplicate_channel":"c2pa.color_adjustments","duplicate_all_layer_effects":"c2pa.color_adjustments","duplicate_layer_effect":"c2pa.color_adjustments","edit_filter_effect":"c2pa.color_adjustments","equalize":"c2pa.color_adjustments","exclusion":"c2pa.color_adjustments","exposure":"c2pa.color_adjustments","extract_channel":"c2pa.color_adjustments","fade":"c2pa.color_adjustments","fill":"c2pa.drawing","fill_layer":"c2pa.drawing","fill_opacity_change":"c2pa.color_adjustments","filter_gallery":"c2pa.color_adjustments","global_light":"c2pa.color_adjustments","gradient":"c2pa.color_adjustments","gradient_map":"c2pa.color_adjustments","gradient_overlay":"c2pa.color_adjustments","gray_point_tool":"c2pa.edited","grayscale":"c2pa.color_adjustments","hsbhsl":"c2pa.color_adjustments","hardlight":"c2pa.color_adjustments","hardmix":"c2pa.color_adjustments","high_pass":"c2pa.color_adjustments","hue":"c2pa.color_adjustments","huesaturation":"c2pa.color_adjustments","indexed_color":"c2pa.color_adjustments","invert":"c2pa.color_adjustments","lab_color":"c2pa.color_adjustments","layer_style":"c2pa.color_adjustments","lens_blur":"c2pa.color_adjustments","lens_correction":"c2pa.filtered","lens_flare":"c2pa.color_adjustments","levels":"c2pa.color_adjustments","lighten":"c2pa.color_adjustments","lightercolor":"c2pa.color_adjustments","lighting_effects":"c2pa.color_adjustments","linearburn":"c2pa.color_adjustments","lineardodge":"c2pa.color_adjustments","linearlight":"c2pa.color_adjustments","luminosity":"c2pa.color_adjustments","master_opacity_change":"c2pa.color_adjustments","match_color":"c2pa.color_adjustments","median":"c2pa.color_adjustments","merge_channels":"c2pa.color_adjustments","merge_spot_channels":"c2pa.color_adjustments","modify_black__white_layer":"c2pa.color_adjustments","modify_brightnesscontrast_layer":"c2pa.color_adjustments","modify_channel_mixer_layer":"c2pa.color_adjustments","modify_color_balance_layer":"c2pa.color_adjustments","modify_color_fill_layer":"c2pa.color_adjustments","modify_color_lookup_layer":"c2pa.color_adjustments","modify_curves_layer":"c2pa.color_adjustments","modify_exposure_layer":"c2pa.color_adjustments","modify_gradient_fill_layer":"c2pa.color_adjustments","modify_gradient_map_layer":"c2pa.color_adjustments","modify_huesaturation_layer":"c2pa.color_adjustments","modify_levels_layer":"c2pa.color_adjustments","modify_pattern_fill_layer":"c2pa.color_adjustments","modify_photo_filter_layer":"c2pa.color_adjustments","modify_posterize_layer":"c2pa.color_adjustments","modify_selective_color_layer":"c2pa.color_adjustments","modify_vibrance_layer":"c2pa.color_adjustments","move_all_layer_effects":"c2pa.color_adjustments","move_layer_effect":"c2pa.color_adjustments","multichannel":"c2pa.color_adjustments","multiply":"c2pa.color_adjustments","ntsc_colors":"c2pa.color_adjustments","new_black__white_layer":"c2pa.color_adjustments","new_brightnesscontrast_layer":"c2pa.color_adjustments","new_channel":"c2pa.color_adjustments","new_channel_mixer_layer":"c2pa.color_adjustments","new_color_balance_layer":"c2pa.color_adjustments","new_color_fill_layer":"c2pa.color_adjustments","new_color_lookup_layer":"c2pa.color_adjustments","new_color_sampler":"c2pa.edited","new_curves_layer":"c2pa.color_adjustments","new_exposure_layer":"c2pa.color_adjustments","new_gradient_fill_layer":"c2pa.color_adjustments","new_gradient_map_layer":"c2pa.color_adjustments","new_huesaturation_layer":"c2pa.color_adjustments","new_invert_layer":"c2pa.color_adjustments","new_levels_layer":"c2pa.color_adjustments","new_pattern_fill_layer":"c2pa.color_adjustments","new_photo_filter_layer":"c2pa.color_adjustments","new_posterize_layer":"c2pa.color_adjustments","new_selective_color_layer":"c2pa.color_adjustments","new_spot_channel":"c2pa.color_adjustments","new_threshold_layer":"c2pa.color_adjustments","new_vibrance_layer":"c2pa.color_adjustments","normal":"c2pa.color_adjustments","oil_paint":"c2pa.filtered","overlay":"c2pa.color_adjustments","passthrough":"c2pa.color_adjustments","paste_style_to_linked":"c2pa.color_adjustments","pattern_overlay":"c2pa.color_adjustments","photo_filter":"c2pa.color_adjustments","pinlight":"c2pa.color_adjustments","posterize":"c2pa.color_adjustments","rgb_color":"c2pa.color_adjustments","radial_blur":"c2pa.color_adjustments","rasterize_layer_style":"c2pa.edited","rearrange_channels":"c2pa.color_adjustments","red_eye_removal_tool":"c2pa.color_adjustments","reduce_noise":"c2pa.color_adjustments","render_color_lookup_grid":"c2pa.color_adjustments","replace_color":"c2pa.color_adjustments","replace_lights_from_preset":"c2pa.color_adjustments","saturation":"c2pa.color_adjustments","screen":"c2pa.color_adjustments","selective_color":"c2pa.color_adjustments","set_bevel_angle":"c2pa.color_adjustments","set_bevel_contour":"c2pa.color_adjustments","set_bevel_width":"c2pa.color_adjustments","set_shape_layer_fill":"c2pa.color_adjustments","shadowshighlights":"c2pa.color_adjustments","shake_reduction":"c2pa.color_adjustments","sharpen_more":"c2pa.filtered","show_all_effects":"c2pa.color_adjustments","smart_blur":"c2pa.color_adjustments","smooth":"c2pa.edited","softlight":"c2pa.color_adjustments","split_channels":"c2pa.color_adjustments","sponge_tool":"c2pa.color_adjustments","spot_channel_options":"c2pa.color_adjustments","subtraction":"c2pa.color_adjustments","vibrance":"c2pa.color_adjustments","vividlight":"c2pa.color_adjustments","white_point_tool":"c2pa.color_adjustments","add_filter_mask":"com.adobe.combined_assets","add_frame_to_layers":"com.adobe.combined_assets","add_layer_mask":"com.adobe.combined_assets","add_vector_mask":"com.adobe.combined_assets","apply_layer_mask":"com.adobe.combined_assets","apply_vector_mask":"com.adobe.combined_assets","clone_stamp":"com.adobe.combined_assets","convert_to_background":"com.adobe.combined_assets","create_clipping_mask":"com.adobe.combined_assets","release_clipping_mask":"com.adobe.combined_assets","create_layers":"com.adobe.combined_assets","create_new_layer_comp":"com.adobe.combined_assets","curvature_pen_tool":"c2pa.drawing","defringe":"com.adobe.combined_assets","delete_frame":"com.adobe.animation_video","delete_layer_comp":"com.adobe.combined_assets","delete_layer":"com.adobe.combined_assets","delete_vector_mask":"com.adobe.combined_assets","disable_filter_mask":"com.adobe.combined_assets","duplicate_frame":"com.adobe.combined_assets","edit_contents":"com.adobe.combined_assets","edit_frame":"com.adobe.combined_assets","embed_watermark":"com.adobe.combined_assets","enable_filter_mask":"com.adobe.combined_assets","enable_layer_mask":"com.adobe.combined_assets","enable_vector_mask":"com.adobe.combined_assets","filter_mask_density_change":"com.adobe.combined_assets","filter_mask_feather_change":"com.adobe.combined_assets","freeform_pen":"c2pa.drawing","hdrmergeui":"com.adobe.combined_assets","invert_quick_mask":"com.adobe.combined_assets","layer_mask_density_change":"com.adobe.combined_assets","layer_order":"com.adobe.combined_assets","layer_via_cut":"com.adobe.combined_assets","layer_visibility":"com.adobe.combined_assets","make_frames_from_layers":"com.adobe.combined_assets","merge_clipping_mask":"com.adobe.combined_assets","merge_linked":"com.adobe.combined_assets","move_work_area":"com.adobe.combined_assets","new_frame":"com.adobe.combined_assets","next_layer_comp":"com.adobe.combined_assets","pattern_stamp":"com.adobe.combined_assets","previous_layer_comp":"com.adobe.combined_assets","rasterize_fill_content":"com.adobe.combined_assets","rasterize_smart_objects":"com.adobe.combined_assets","rasterize_vector_mask":"com.adobe.combined_assets","remove_background":"com.adobe.combined_assets","remove_black_matte":"com.adobe.combined_assets","remove_frame_from_layer":"com.adobe.combined_assets","remove_white_matte":"com.adobe.combined_assets","reorder_layer_effect":"com.adobe.combined_assets","replace_background":"com.adobe.combined_assets","reverse_layers":"com.adobe.combined_assets","select_and_mask":"com.adobe.combined_assets","set_frame_stroke":"com.adobe.combined_assets","set_work_area_start":"com.adobe.combined_assets","stamp_down":"com.adobe.combined_assets","stamp_group":"com.adobe.combined_assets","stamp_layers":"com.adobe.combined_assets","stamp_pickup_tool":"com.adobe.combined_assets","stamp_visible":"com.adobe.combined_assets","subtract_front_shape":"com.adobe.combined_assets","update_layer_comp":"com.adobe.combined_assets","vanishing_point":"com.adobe.combined_assets","vector_mask_density_change":"com.adobe.combined_assets","vector_mask_feather_change":"com.adobe.combined_assets","accented_edges":"c2pa.filtered","adaptive_wide_angle":"c2pa.filtered","angled_strokes":"c2pa.filtered","anti_alias_crisp":"c2pa.filtered","anti_alias_sharp":"c2pa.filtered","anti_alias_smooth":"c2pa.filtered","anti_alias_strong":"c2pa.filtered","apply_style":"c2pa.filtered","bas_relief":"c2pa.filtered","blur_tool":"c2pa.filtered","border":"c2pa.filtered","chalk__charcoal":"c2pa.filtered","charcoal":"c2pa.filtered","chrome":"c2pa.filtered","clouds":"c2pa.filtered","colored_pencil":"c2pa.filtered","cont_crayon":"c2pa.filtered","craquelure":"c2pa.filtered","crosshatch":"c2pa.filtered","crystallize":"c2pa.filtered","cutout":"c2pa.filtered","dark_strokes":"c2pa.filtered","delete_all_smart_filters":"c2pa.filtered","difference_clouds":"c2pa.filtered","disable_all_smart_filters":"c2pa.filtered","displace":"c2pa.filtered","drag_all_layer_effects":"c2pa.filtered","drag_layer_effect":"c2pa.filtered","drop_shadow":"c2pa.filtered","dry_brush":"c2pa.filtered","dust__scratches":"c2pa.filtered","emboss":"c2pa.filtered","enable_all_smart_filters":"c2pa.filtered","enable_layer_effects":"c2pa.filtered","extrude":"c2pa.filtered","facet":"c2pa.filtered","fibers":"c2pa.filtered","field_blur":"c2pa.filtered","film_grain":"c2pa.filtered","find_edges":"c2pa.filtered","flame":"c2pa.filtered","flexoclean":"c2pa.filtered","flexofix":"c2pa.filtered","fragment":"c2pa.filtered","fresco":"c2pa.filtered","gaussian_blur":"c2pa.filtered","glass":"c2pa.filtered","glowing_edges":"c2pa.filtered","grain":"c2pa.filtered","graphic_pen":"c2pa.filtered","halftone_pattern":"c2pa.filtered","hide_all_effects":"c2pa.filtered","ink_outlines":"c2pa.filtered","inner_glow":"c2pa.filtered","inner_shadow":"c2pa.filtered","iris_blur":"c2pa.filtered","maximum":"c2pa.filtered","mezzotint":"c2pa.filtered","minimum":"c2pa.filtered","modify_threshold_layer":"c2pa.filtered","mosaic":"c2pa.filtered","mosaic_tiles":"c2pa.filtered","motion_blur":"c2pa.filtered","neon_glow":"c2pa.filtered","ocean_ripple":"c2pa.filtered","offset":"c2pa.filtered","outer_glow":"c2pa.filtered","paint_daubs":"c2pa.filtered","palette_knife":"c2pa.filtered","patchwork":"c2pa.filtered","path_blur":"c2pa.filtered","photocopy":"c2pa.filtered","picture_frame":"c2pa.filtered","pinch":"c2pa.filtered","plaster":"c2pa.filtered","plastic_wrap":"c2pa.filtered","pointillize":"c2pa.filtered","polar_coordinates":"c2pa.filtered","poster_edges":"c2pa.filtered","refine_edge":"c2pa.filtered","reticulation":"c2pa.filtered","ripple":"c2pa.filtered","rough_pastels":"c2pa.filtered","satin":"c2pa.filtered","scale_effects":"c2pa.filtered","set_frame_replace":"c2pa.filtered","shape_blur":"c2pa.filtered","sharpen":"c2pa.filtered","sharpen_edges":"c2pa.filtered","sharpen_tool":"c2pa.filtered","smart_sharpen":"c2pa.filtered","smudge_stick":"c2pa.filtered","solarize":"c2pa.filtered","spatter":"c2pa.filtered","spin_blur":"c2pa.filtered","sponge":"c2pa.filtered","sprayed_strokes":"c2pa.filtered","stained_glass":"c2pa.filtered","stamp":"c2pa.filtered","sumie":"c2pa.filtered","surface_blur":"c2pa.filtered","texturizer":"c2pa.filtered","threshold":"c2pa.filtered","tiles":"c2pa.filtered","tiltshift":"c2pa.filtered","toggle_filter_effect":"c2pa.filtered","torn_edges":"c2pa.filtered","trace_contour":"c2pa.filtered","tree":"c2pa.filtered","twirl":"c2pa.filtered","underpainting":"c2pa.filtered","unsharp_mask":"c2pa.filtered","water_paper":"c2pa.filtered","watercolor":"c2pa.filtered","wind":"c2pa.filtered","zigzag":"c2pa.filtered","apply_data_set":null,"artboard_from_layer_group":null,"convert_smart_object_to_layers":null,"drag_layer":null,"drag_layers":null,"duplicate_artboard":null,"duplicate_image":null,"edit_artboard":null,"import":null,"import_data_sets":null,"import_layer":null,"import_layers":null,"insert_background":null,"new":null,"new_artboard":"c2pa.edited","new_artboard_from_layers":"c2pa.edited","new_layer_from_file":null,"new_smart_object_via_copy":null,"open":null,"open_as_smart_object":null,"paste":null,"paste_into":null,"paste_in_place":null,"place_embedded_smart_object":null,"place_linked_smart_object":null,"place_image":null,"relink_smart_objects_to_library":null,"relink_to_library_graphic":null,"replace_linked_files":null,"update_all_modified_smart_objects":null,"update_modified_smart_object":null,"update_smart_objects":null,"used_artboards_in_session":null,"art_history_brush":"c2pa.drawing","background_eraser":"c2pa.drawing","brush_tool":"c2pa.drawing","eraser":"c2pa.drawing","history_brush":"c2pa.drawing","history_eraser":"c2pa.drawing","magic_eraser":"c2pa.drawing","mixer_brush":"c2pa.drawing","paint_bucket":"c2pa.drawing","pencil":"c2pa.drawing","stroke":"c2pa.drawing","add_anchor_point":"c2pa.drawing","align_path_components":"c2pa.drawing","align_content":"c2pa.drawing","bring_path_component_forward":"c2pa.drawing","bring_path_component_to_front":"c2pa.drawing","change_anchor_point":"c2pa.drawing","change_path_mode":"c2pa.drawing","change_rounded_rectangle":"c2pa.drawing","clear_path_set":"c2pa.drawing","clipping_path":"c2pa.drawing","close_path":"c2pa.drawing","combine_path_components":"c2pa.drawing","convert_to_shape":"c2pa.drawing","create_work_path":"c2pa.drawing","curvature_add_anchor_tool":"c2pa.drawing","curvature_add_knot_to_segment_tool":"c2pa.drawing","curvature_close_path_tool":"c2pa.drawing","curvature_drag_anchor_tool":"c2pa.drawing","curvature_new_path_tool":"c2pa.drawing","curvature_toggle_anchor_point_corner":"c2pa.drawing","custom_shape_tool":"c2pa.drawing","cut_path":"c2pa.drawing","delete_anchor_point":"c2pa.drawing","delete_constraint":"c2pa.drawing","delete_layer_mask":"com.adobe.combined_assets","delete_path":"c2pa.drawing","delete_path_set":"c2pa.drawing","distribute_path_components":"c2pa.drawing","drag_anchor_point":"c2pa.drawing","drag_anchor_points":"c2pa.drawing","drag_path":"c2pa.drawing","drag_path_set":"c2pa.drawing","drag_paths":"c2pa.drawing","drag_segment":"c2pa.drawing","duplicate_path":"c2pa.drawing","duplicate_path_set":"c2pa.drawing","duplicate_paths":"c2pa.drawing","ellipse_tool":"c2pa.drawing","fill_path":"c2pa.drawing","join_paths":"c2pa.drawing","line_tool":"c2pa.drawing","make_path":"c2pa.drawing","make_shape_from_path":"c2pa.drawing","move_path":"c2pa.drawing","move_path_set":"c2pa.drawing","new_anchor_point":"c2pa.drawing","new_guides_from_shape":"c2pa.drawing","new_path":"c2pa.edited","new_path_component":"c2pa.drawing","new_shape_layer":"c2pa.drawing","new_shape_from_layer":"c2pa.drawing","new_symmetry_path":"c2pa.drawing","new_work_path":"c2pa.edited","nudge_paths":"c2pa.drawing","paste_path":"c2pa.drawing","paste_shape":"c2pa.drawing","path_selection_tool":"c2pa.edited","pickup_path":"c2pa.drawing","polygon_tool":"c2pa.drawing","rasterize_shape":"c2pa.drawing","rectangle_tool":"c2pa.drawing","triangle_tool":"c2pa.drawing","rename_path":"c2pa.drawing","rounded_rectangle_tool":"c2pa.drawing","save_path":"c2pa.drawing","scale_paths":"c2pa.drawing","send_path_component_backward":"c2pa.drawing","send_path_component_to_back":"c2pa.drawing","set_cap_side":"c2pa.drawing","set_path":"c2pa.drawing","set_shape_layer_stroke":"c2pa.drawing","shape_layer_via_copy":"c2pa.drawing","shape_layer_via_cut":"c2pa.drawing","stroke_path":"c2pa.drawing","subtract_shapes_at_overlap":"c2pa.drawing","symmetry_path":"c2pa.drawing","toggle_corner_point":"c2pa.drawing","transform_path":"c2pa.drawing","unite_shapes":"c2pa.drawing","unite_shapes_at_overlap":"c2pa.drawing","update_paths":"c2pa.drawing","warp_text":"c2pa.drawing","align_bottom_edges":"c2pa.orientation","align_horizontal_centers":"c2pa.orientation","align_left_edges":"c2pa.orientation","align_right_edges":"c2pa.orientation","align_top_edges":"c2pa.orientation","align_vertical_centers":"c2pa.orientation","autoalign_layers":"c2pa.orientation","bring_forward":"c2pa.orientation","bring_to_front":"c2pa.orientation","canvas_size":"c2pa.resized","change_bounding_box":"c2pa.resized","corner_drag":"c2pa.orientation","crop":"c2pa.cropped","crop_and_straighten_photos_filter":"c2pa.cropped","cut_pixels":"c2pa.cropped","delete_selection":"c2pa.cropped","distribute_bottom_edges":"c2pa.orientation","distribute_horizontal_centers":"c2pa.orientation","distribute_horizontally":"c2pa.orientation","distribute_left_edges":"c2pa.orientation","distribute_right_edges":"c2pa.orientation","distribute_top_edges":"c2pa.orientation","distribute_vertical_centers":"c2pa.orientation","distribute_vertically":"c2pa.orientation","drag":"c2pa.orientation","drag_group":null,"flip_canvas_horizontal":"c2pa.orientation","flip_canvas_vertical":"c2pa.orientation","flip_horizontal":"c2pa.orientation","flip_vertical":"c2pa.orientation","fractional_widths":"c2pa.resized","free_transform":"c2pa.resized","free_transform_selection":"c2pa.resized","grow":"c2pa.resized","horizontal_orientation":"c2pa.orientation","image_size":"c2pa.resized","liquify":"c2pa.filtered","move":"c2pa.orientation","nudge":"c2pa.orientation","nudge_outline":"c2pa.edited","nudge_path":"c2pa.orientation","paste_style":"c2pa.filtered","perspective_crop":"c2pa.cropped","perspective_warp":"c2pa.filtered","puppet_warp":"c2pa.filtered","replace_contents":null,"reset_transform":"c2pa.edited","resize":"c2pa.resized","reveal_all":"c2pa.edited","rotate":"c2pa.orientation","rotate_canvas":"c2pa.orientation","rotate_view_tool":"c2pa.edited","send_backward":"c2pa.orientation","send_to_back":"com.adobe.combined_assets","set_align_edges":"c2pa.orientation","shear":"c2pa.orientation","slice_select_tool":"c2pa.edited","smudge_tool":"c2pa.filtered","spherize":"c2pa.edited","transform_again":"c2pa.edited","transform_points":"c2pa.edited","trim":"c2pa.cropped","warp":"c2pa.edited","wave":"c2pa.edited","anti_alias_none":"com.adobe.text","anti_alias_system":"com.adobe.text","anti_alias_system_gray":"com.adobe.text","apply_named_character_style":"com.adobe.text","apply_named_paragraph_style":"com.adobe.text","clear_character_overrides":"com.adobe.text","clear_paragraph_overrides":"com.adobe.text","convert_to_paragraph_text":"com.adobe.text","convert_to_point_text":"com.adobe.text","drag_text_along_curve":"com.adobe.text","drag_text_end_point":"com.adobe.text","drag_text_start_point":"com.adobe.text","edit_type_layer":"com.adobe.text","find_replace":"com.adobe.text","modify_named_character_style":"com.adobe.text","modify_named_paragraph_style":"com.adobe.text","new_type_layer":"com.adobe.text","new_vertical_type_layer":"com.adobe.text","rasterize_type":"c2pa.edited","replace_all_missing_fonts":"com.adobe.text","replace_fonts":"com.adobe.text","set_character_style":"com.adobe.text","set_paragraph_style":"com.adobe.text","spell_check":"com.adobe.text","type_mask_tool":"com.adobe.text","update_all_text_layers":"com.adobe.text","vertical_type_mask_tool":"com.adobe.text","custom":"c2pa.edited","convert_to_smart_object":"com.adobe.combined_assets","delete_artboard":"c2pa.edited","delete_group":"c2pa.edited","dividingline":"c2pa.edited","duplicate_history_state":"c2pa.edited","edit_artboards":"c2pa.edited","edit_variables":"c2pa.edited","parent_history_change":"c2pa.edited","set_constraint_type":"c2pa.edited","set_texture_path":"c2pa.edited","stack_mode_none":"c2pa.edited","relink_to_file":null,"clear":"com.adobe.combined_assets","bitmap":"c2pa.color_adjustments"}\');\n\n//# sourceURL=webpack://@cai/panel/./src/utils/action-map.json?')}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}__webpack_require__.m=__webpack_modules__,getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var t=Object.create(null);__webpack_require__.r(t);var r={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var a=2&n&&e;"object"==typeof a&&!~leafPrototypes.indexOf(a);a=getProto(a))Object.getOwnPropertyNames(a).forEach((n=>r[n]=()=>e[n]));return r.default=()=>e,__webpack_require__.d(t,r),t},__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((n,t)=>(__webpack_require__.f[t](e,n),n)),[])),__webpack_require__.u=e=>"./js/"+e+".bundle.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),inProgress={},dataWebpackPrefix="@cai/panel:",__webpack_require__.l=(e,n,t,r)=>{if(inProgress[e])inProgress[e].push(n);else{var a,o;if(void 0!==t)for(var i=document.getElementsByTagName("script"),s=0;s<i.length;s++){var c=i[s];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==dataWebpackPrefix+t){a=c;break}}a||(o=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,__webpack_require__.nc&&a.setAttribute("nonce",__webpack_require__.nc),a.setAttribute("data-webpack",dataWebpackPrefix+t),a.src=e),inProgress[e]=[n];var l=(n,t)=>{a.onerror=a.onload=null,clearTimeout(u);var r=inProgress[e];if(delete inProgress[e],a.parentNode&&a.parentNode.removeChild(a),r&&r.forEach((e=>e(t))),n)return n(t)},u=setTimeout(l.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=l.bind(null,a.onerror),a.onload=l.bind(null,a.onload),o&&document.head.appendChild(a)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),__webpack_require__.p="./",(()=>{var e={179:0};__webpack_require__.f.j=(n,t)=>{var r=__webpack_require__.o(e,n)?e[n]:void 0;if(0!==r)if(r)t.push(r[2]);else{var a=new Promise(((t,a)=>r=e[n]=[t,a]));t.push(r[2]=a);var o=__webpack_require__.p+__webpack_require__.u(n),i=new Error;__webpack_require__.l(o,(t=>{if(__webpack_require__.o(e,n)&&(0!==(r=e[n])&&(e[n]=void 0),r)){var a=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+n+" failed.\n("+a+": "+o+")",i.name="ChunkLoadError",i.type=a,i.request=o,r[1](i)}}),"chunk-"+n,n)}};var n=(n,t)=>{var r,a,[o,i,s]=t,c=0;if(o.some((n=>0!==e[n]))){for(r in i)__webpack_require__.o(i,r)&&(__webpack_require__.m[r]=i[r]);s&&s(__webpack_require__)}for(n&&n(t);c<o.length;c++)a=o[c],__webpack_require__.o(e,a)&&e[a]&&e[a][0](),e[a]=0},t=self.webpackChunk_cai_panel=self.webpackChunk_cai_panel||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})();var __webpack_exports__=__webpack_require__(2085);return __webpack_exports__})()));