| Current Path : /var/www/homesaver/www/bitrix/js/seo/ads/client_selector/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/seo/ads/client_selector/dist/client_selector.bundle.js.map |
{"version":3,"file":"client_selector.bundle.js","sources":["../src/client_selector.js"],"sourcesContent":["import { Dom, Event, Loc, Tag, Type } from \"main.core\";\nimport { Loader } from \"main.loader\";\nimport \"ui.design-tokens\";\nimport \"./client_selector.css\";\n\nexport class ClientSelector\n{\n\tconstructor(container, params)\n\t{\n\t\tthis.container = container;\n\t\tthis.canAddItems = !!params.canAddItems;\n\t\tthis.canUnSelectItem = !!params.canUnSelectItem;\n\t\tthis.onNewItemCallback = params.events && Type.isFunction(params.events.onNewItem) ? params.events.onNewItem : null;\n\t\tthis.onSelectItemCallback = params.events && Type.isFunction(params.events.onSelectItem) ? params.events.onSelectItem : null;\n\t\tthis.onUnSelectItemCallback = params.events && Type.isFunction(params.events.onUnSelectItem) ? params.events.onUnSelectItem : null;\n\t\tthis.onRemoveItemCallback = params.events && Type.isFunction(params.events.onRemoveItem) ? params.events.onRemoveItem : null;\n\t\tthis.init();\n\t\tthis.setSelected(params.selected);\n\t\tthis.setItems(params.items ? params.items : {});\n\t\tthis.enabled = true;\n\t\tthis.loader = new Loader({size: 20});\n\t}\n\n\tsetSelected(item)\n\t{\n\t\tthis.selected = item;\n\t\tthis.closeMenu();\n\t\tthis.updateClientHtml();\n\t}\n\tsetItems(items)\n\t{\n\t\tthis.closeMenu();\n\t\tthis.items = items;\n\t}\n\n\tinit()\n\t{\n\t\tDom.append(this.getHtml(), this.container);\n\t\tthis.updateClientHtml();\n\t\tEvent.bind(this.container, 'click', this.onContainerClick.bind(this));\n\t}\n\n\tenable()\n\t{\n\t\tthis.enabled = true;\n\t\tlet selector = this.getSelectorNode();\n\t\tselector ? selector.classList.remove('seo-ads-client-selector-loading') : false;\n\t\tthis.loader.hide();\n\t}\n\n\tdisable()\n\t{\n\t\tthis.enabled = false;\n\t\tlet selector = this.getSelectorNode();\n\t\tselector ? selector.classList.add('seo-ads-client-selector-loading') : false;\n\t\tthis.loader.hide();\n\t\tif (selector)\n\t\t{\n\t\t\tselector.classList.add('seo-ads-client-selector-loading');\n\t\t\tlet loader = selector.getElementsByClassName('seo-ads-client-selector-loader')[0];\n\t\t\tthis.loader.show(loader);\n\t\t}\n\t}\n\n\tgetHtml()\n\t{\n\t\tconst hint = Loc.getMessage('SEO_ADS_CLIENT_NOTE_MSGVER_1', {\n\t\t\t'#LINK#': '<a target=\"_blank\" onclick=\"top.BX.Helper.show(\\'redirect=detail&code=8771305\\')\" style=\"cursor: pointer\">',\n\t\t\t'#/LINK#': '</a>',\n\t\t});\n\n\t\treturn Tag.render`\n\t\t<div class=\"seo-ads-client\">\n\t\t\t<div class=\"seo-ads-client-selector\">\n\t\t\t\t<div class=\"seo-ads-client-selector-avatar\" data-role=\"user-avatar\"></div>\n\t\t\t\t<div class=\"seo-ads-client-selector-user\">\n\t\t\t\t\t<a target=\"_top\" data-role=\"user-name user-link\" class=\"seo-ads-client-selector-user-link\" title=\"\"></a>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"seo-ads-client-selector-arrow\"></span>\n\t\t\t\t<span class=\"seo-ads-client-selector-loader\"></span>\n\t\t\t</div>\n\t\t\t<div class=\"seo-ads-client-note\">\n\t\t\t${hint}\n\t\t\t</div>\n\t\t</div>\n\t\t`;\n\t}\n\n\tgetMenuItemHtml(item)\n\t{\n\t\tconst name = BX.util.htmlspecialchars(item.NAME);\n\t\tconst html = Tag.render`<div>\n\t\t\t${item.PICTURE ? \n\t\t\t\tTag.render`<div class=\"seo-ads-client-menu-avatar\" style=\"background-image: url('${item.PICTURE}');\"></div>` :\n\t\t\t\tTag.render`<div class=\"seo-ads-client-menu-avatar\"></div>`}\n\t\t\t<span class=\"seo-ads-client-menu-popup-user\">${name}</span>\n\t\t\t<span class=\"seo-ads-client-menu-popup-shutoff\" data-role=\"client-remove\" data-client-id=\"${item.CLIENT_ID}\">${Loc.getMessage('SEO_ADS_CLIENT_DISCONNECT')}</span>\n\t\t</div>`;\n\t\treturn html.innerHTML;\n\t}\n\n\tgetRemoveConfirmPopupHtml(item)\n\t{\n\t\tconst name = BX.util.htmlspecialchars(item.NAME);\n\t\treturn Tag.render`<div class=\"seo-ads-client-popup\">\n\t\t\t<div class=\"seo-ads-client-popup-text\">\n\t\t\t${Loc.getMessage('SEO_ADS_CLIENT_REMOVE').replace('#NAME#', name)}\n\t\t\t</div>\n\t\t</div>`;\n\t}\n\n\tupdateClientHtml()\n\t{\n\t\tlet userAvatar = '';\n\t\tlet userName = '';\n\t\tlet userLink = '';\n\t\tlet empty = false;\n\t\tif (this.selected)\n\t\t{\n\t\t\tuserAvatar = this.selected.hasOwnProperty('PICTURE') ? this.selected.PICTURE : '';\n\t\t\tuserName = this.selected.hasOwnProperty('NAME') ? this.selected.NAME : Loc.getMessage('SEO_ADS_CLIENT_SELECTOR_UNTITLED');\n\t\t\tuserLink = this.selected.hasOwnProperty('LINK') ? this.selected.LINK : '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tuserName = Loc.getMessage('SEO_ADS_CLIENT_SELECTOR_EMPTY')\n\t\t\tempty = true;\n\t\t}\n\t\tlet selector = this.getSelectorNode();\n\n\t\tif (empty)\n\t\t{\n\t\t\tselector ? selector.classList.add('seo-ads-client-selector-empty') : false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tselector ? selector.classList.remove('seo-ads-client-selector-empty') : false;\n\t\t}\n\t\tlet avatarNode = this.container.querySelector('[data-role=\"user-avatar\"]');\n\t\tlet nameNode = this.container.querySelector('[data-role*=\"user-name\"]');\n\t\tlet linkNode = this.container.querySelector('[data-role*=\"user-link\"]');\n\n\t\tif (userAvatar)\n\t\t\tavatarNode.style.backgroundImage = \"url('\"+userAvatar+\"')\";\n\t\telse\n\t\t\tavatarNode.style.removeProperty('background-image');\n\n\t\tnameNode.textContent = userName;\n\n\t\tif (userLink)\n\t\t\tlinkNode.setAttribute('href', userLink);\n\t\telse\n\t\t\tlinkNode.removeAttribute('href');\n\t}\n\n\tonSelectItem(item)\n\t{\n\t\tthis.setSelected(item);\n\t\tif (Type.isFunction(this.onSelectItemCallback))\n\t\t\tthis.onSelectItemCallback(item);\n\t}\n\n\tonUnSelectItem()\n\t{\n\t\tthis.setSelected(null);\n\t\tif (Type.isFunction(this.onUnSelectItemCallback))\n\t\t{\n\t\t\tthis.onUnSelectItemCallback();\n\t\t}\n\t}\n\n\tonRemoveItem(item)\n\t{\n\t\tif (Type.isFunction(this.onRemoveItemCallback))\n\t\t\tthis.onRemoveItemCallback(item);\n\t}\n\n\tonContainerClick()\n\t{\n\t\tif (!this.enabled)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tlet menuItems = [];\n\n\t\tfor (let item of this.items)\n\t\t{\n\t\t\tmenuItems.push({\n\t\t\t\thtml: this.getMenuItemHtml(item),\n\t\t\t\tclassName : \"seo-ads-client-menu menu-popup-no-icon\",\n\t\t\t\tonclick: this.onSelectItem.bind(this, item)\n\t\t\t});\n\t\t}\n\n\t\tif (this.canUnSelectItem)\n\t\t{\n\t\t\tmenuItems.push(\n\t\t\t\t{delimiter: true},\n\t\t\t\t{\n\t\t\t\t\ttext: Loc.getMessage('SEO_ADS_CLIENT_NO_ACCOUNT'),\n\t\t\t\t\tonclick: this.onUnSelectItem.bind(this)\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tif (this.canAddItems)\n\t\t{\n\t\t\tmenuItems.push(\n\t\t\t\t{delimiter: true},\n\t\t\t\t{\n\t\t\t\t\ttext: Loc.getMessage('SEO_ADS_CLIENT_ADD'),\n\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\tthis.closeMenu();\n\t\t\t\t\t\tif (Type.isFunction(this.onNewItemCallback))\n\t\t\t\t\t\t\tthis.onNewItemCallback();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t\tlet selector = this.getSelectorNode();\n\n\t\tBX.PopupMenu.show(\n\t\t\t\"clientsMenuDropdown\",\n\t\t\tthis.container,\n\t\t\tmenuItems,\n\t\t\t{\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 42,\n\t\t\t\tangle: true,\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupClose: () => {\n\t\t\t\t\t\tselector ? selector.classList.remove('seo-ads-client-selector-active') : false;\n\t\t\t\t\t\tBX.PopupMenu.destroy('clientsMenuDropdown');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tselector ? selector.classList.add('seo-ads-client-selector-active') : false;\n\n\t\tlet removeClientLinks = BX.PopupMenu.currentItem.popupWindow.getContentContainer().querySelectorAll('[data-role=\"client-remove\"]');\n\t\tfor (let removeClientLink of removeClientLinks) {\n\t\t\tEvent.bind(removeClientLink, \"click\", (event) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tlet clientId = BX.data(event.target, \"client-id\");\n\t\t\t\tthis.closeMenu();\n\t\t\t\tfor (let item of this.items) {\n\t\t\t\t\tif (item.CLIENT_ID == clientId) {\n\t\t\t\t\t\tthis.confirmRemoveItem(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tconfirmRemoveItem(item)\n\t{\n\t\tlet confirmPopup = new BX.PopupWindow({\n\t\t\tcontent: this.getRemoveConfirmPopupHtml(item),\n\t\t\tautoHide: true,\n\t\t\tcacheable: false,\n\t\t\tcloseIcon: true,\n\t\t\tcloseByEsc: true,\n\t\t\tbuttons: [\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext : Loc.getMessage('SEO_ADS_CLIENT_DISCONNECT'),\n\t\t\t\t\tcolor: BX.UI.Button.Color.DANGER,\n\t\t\t\t\tonclick: (event) => {\n\t\t\t\t\t\tconfirmPopup.close();\n\t\t\t\t\t\tthis.onRemoveItem(item);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tnew BX.UI.Button({\n\t\t\t\t\ttext : Loc.getMessage('SEO_ADS_CLIENT_BTN_CANCEL'),\n\t\t\t\t\tcolor: BX.UI.Button.Color.LINK,\n\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\tconfirmPopup.close();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t\tconfirmPopup.show();\n\t}\n\n\tcloseMenu()\n\t{\n\t\tif (BX.PopupMenu.currentItem) {\n\t\t\tBX.PopupMenu.currentItem.close();\n\t\t}\n\t}\n\n\tdestroy()\n\t{\n\t\tif (BX.PopupMenu.currentItem) {\n\t\t\tBX.PopupMenu.currentItem.close();\n\t\t}\n\t\tthis.container.innerHTML = '';\n\t}\n\n\tgetSelectorNode()\n\t{\n\t\tlet selector = this.container.getElementsByClassName('seo-ads-client-selector');\n\t\tif (selector)\n\t\t\tselector = selector[0];\n\n\t\treturn selector;\n\t}\n}"],"names":["ClientSelector","container","params","canAddItems","canUnSelectItem","onNewItemCallback","events","Type","isFunction","onNewItem","onSelectItemCallback","onSelectItem","onUnSelectItemCallback","onUnSelectItem","onRemoveItemCallback","onRemoveItem","init","setSelected","selected","setItems","items","enabled","loader","Loader","size","item","closeMenu","updateClientHtml","Dom","append","getHtml","Event","bind","onContainerClick","selector","getSelectorNode","classList","remove","hide","add","getElementsByClassName","show","hint","Loc","getMessage","Tag","render","name","BX","util","htmlspecialchars","NAME","html","PICTURE","CLIENT_ID","innerHTML","replace","userAvatar","userName","userLink","empty","hasOwnProperty","LINK","avatarNode","querySelector","nameNode","linkNode","style","backgroundImage","removeProperty","textContent","setAttribute","removeAttribute","menuItems","push","getMenuItemHtml","className","onclick","delimiter","text","PopupMenu","offsetTop","offsetLeft","angle","onPopupClose","destroy","removeClientLinks","currentItem","popupWindow","getContentContainer","querySelectorAll","removeClientLink","event","stopPropagation","clientId","data","target","confirmRemoveItem","confirmPopup","PopupWindow","content","getRemoveConfirmPopupHtml","autoHide","cacheable","closeIcon","closeByEsc","buttons","UI","Button","color","Color","DANGER","close"],"mappings":";;;;;;;;;;AAAA,KAKaA,cAAc;GAE1B,wBAAYC,SAAS,EAAEC,MAAM,EAC7B;KAAA;KACC,IAAI,CAACD,SAAS,GAAGA,SAAS;KAC1B,IAAI,CAACE,WAAW,GAAG,CAAC,CAACD,MAAM,CAACC,WAAW;KACvC,IAAI,CAACC,eAAe,GAAG,CAAC,CAACF,MAAM,CAACE,eAAe;KAC/C,IAAI,CAACC,iBAAiB,GAAGH,MAAM,CAACI,MAAM,IAAIC,cAAI,CAACC,UAAU,CAACN,MAAM,CAACI,MAAM,CAACG,SAAS,CAAC,GAAGP,MAAM,CAACI,MAAM,CAACG,SAAS,GAAG,IAAI;KACnH,IAAI,CAACC,oBAAoB,GAAGR,MAAM,CAACI,MAAM,IAAIC,cAAI,CAACC,UAAU,CAACN,MAAM,CAACI,MAAM,CAACK,YAAY,CAAC,GAAGT,MAAM,CAACI,MAAM,CAACK,YAAY,GAAG,IAAI;KAC5H,IAAI,CAACC,sBAAsB,GAAGV,MAAM,CAACI,MAAM,IAAIC,cAAI,CAACC,UAAU,CAACN,MAAM,CAACI,MAAM,CAACO,cAAc,CAAC,GAAGX,MAAM,CAACI,MAAM,CAACO,cAAc,GAAG,IAAI;KAClI,IAAI,CAACC,oBAAoB,GAAGZ,MAAM,CAACI,MAAM,IAAIC,cAAI,CAACC,UAAU,CAACN,MAAM,CAACI,MAAM,CAACS,YAAY,CAAC,GAAGb,MAAM,CAACI,MAAM,CAACS,YAAY,GAAG,IAAI;KAC5H,IAAI,CAACC,IAAI,EAAE;KACX,IAAI,CAACC,WAAW,CAACf,MAAM,CAACgB,QAAQ,CAAC;KACjC,IAAI,CAACC,QAAQ,CAACjB,MAAM,CAACkB,KAAK,GAAGlB,MAAM,CAACkB,KAAK,GAAG,EAAE,CAAC;KAC/C,IAAI,CAACC,OAAO,GAAG,IAAI;KACnB,IAAI,CAACC,MAAM,GAAG,IAAIC,kBAAM,CAAC;OAACC,IAAI,EAAE;MAAG,CAAC;;GACpC;KAAA;KAAA,4BAEWC,IAAI,EAChB;OACC,IAAI,CAACP,QAAQ,GAAGO,IAAI;OACpB,IAAI,CAACC,SAAS,EAAE;OAChB,IAAI,CAACC,gBAAgB,EAAE;;;KACvB;KAAA,yBACQP,KAAK,EACd;OACC,IAAI,CAACM,SAAS,EAAE;OAChB,IAAI,CAACN,KAAK,GAAGA,KAAK;;;KAClB;KAAA,uBAGD;OACCQ,aAAG,CAACC,MAAM,CAAC,IAAI,CAACC,OAAO,EAAE,EAAE,IAAI,CAAC7B,SAAS,CAAC;OAC1C,IAAI,CAAC0B,gBAAgB,EAAE;OACvBI,eAAK,CAACC,IAAI,CAAC,IAAI,CAAC/B,SAAS,EAAE,OAAO,EAAE,IAAI,CAACgC,gBAAgB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAC;;;KACrE;KAAA,yBAGD;OACC,IAAI,CAACX,OAAO,GAAG,IAAI;OACnB,IAAIa,QAAQ,GAAG,IAAI,CAACC,eAAe,EAAE;OACrCD,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACC,MAAM,CAAC,iCAAiC,CAAC,GAAG,KAAK;OAC/E,IAAI,CAACf,MAAM,CAACgB,IAAI,EAAE;;;KAClB;KAAA,0BAGD;OACC,IAAI,CAACjB,OAAO,GAAG,KAAK;OACpB,IAAIa,QAAQ,GAAG,IAAI,CAACC,eAAe,EAAE;OACrCD,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACG,GAAG,CAAC,iCAAiC,CAAC,GAAG,KAAK;OAC5E,IAAI,CAACjB,MAAM,CAACgB,IAAI,EAAE;OAClB,IAAIJ,QAAQ,EACZ;SACCA,QAAQ,CAACE,SAAS,CAACG,GAAG,CAAC,iCAAiC,CAAC;SACzD,IAAIjB,MAAM,GAAGY,QAAQ,CAACM,sBAAsB,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;SACjF,IAAI,CAAClB,MAAM,CAACmB,IAAI,CAACnB,MAAM,CAAC;;;;KAEzB;KAAA,0BAGD;OACC,IAAMoB,IAAI,GAAGC,aAAG,CAACC,UAAU,CAAC,8BAA8B,EAAE;SAC3D,QAAQ,EAAE,4GAA4G;SACtH,SAAS,EAAE;QACX,CAAC;OAEF,OAAOC,aAAG,CAACC,MAAM,mqBAWdJ,IAAI;;;KAIP;KAAA,gCAEejB,IAAI,EACpB;OACC,IAAMsB,IAAI,GAAGC,EAAE,CAACC,IAAI,CAACC,gBAAgB,CAACzB,IAAI,CAAC0B,IAAI,CAAC;OAChD,IAAMC,IAAI,GAAIP,aAAG,CAACC,MAAM,4SACrBrB,IAAI,CAAC4B,OAAO,GACbR,aAAG,CAACC,MAAM,6KAAyErB,IAAI,CAAC4B,OAAO,IAC/FR,aAAG,CAACC,MAAM,mIAAgD,EACZC,IAAI,EACyCtB,IAAI,CAAC6B,SAAS,EAAKX,aAAG,CAACC,UAAU,CAAC,2BAA2B,CAAC,CACpJ;OACP,OAAOQ,IAAI,CAACG,SAAS;;;KACrB;KAAA,0CAEyB9B,IAAI,EAC9B;OACC,IAAMsB,IAAI,GAAGC,EAAE,CAACC,IAAI,CAACC,gBAAgB,CAACzB,IAAI,CAAC0B,IAAI,CAAC;OAChD,OAAON,aAAG,CAACC,MAAM,+MAEdH,aAAG,CAACC,UAAU,CAAC,uBAAuB,CAAC,CAACY,OAAO,CAAC,QAAQ,EAAET,IAAI,CAAC;;;KAGlE;KAAA,mCAGD;OACC,IAAIU,UAAU,GAAG,EAAE;OACnB,IAAIC,QAAQ,GAAG,EAAE;OACjB,IAAIC,QAAQ,GAAG,EAAE;OACjB,IAAIC,KAAK,GAAG,KAAK;OACjB,IAAI,IAAI,CAAC1C,QAAQ,EACjB;SACCuC,UAAU,GAAG,IAAI,CAACvC,QAAQ,CAAC2C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC3C,QAAQ,CAACmC,OAAO,GAAG,EAAE;SACjFK,QAAQ,GAAG,IAAI,CAACxC,QAAQ,CAAC2C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC3C,QAAQ,CAACiC,IAAI,GAAGR,aAAG,CAACC,UAAU,CAAC,kCAAkC,CAAC;SACzHe,QAAQ,GAAG,IAAI,CAACzC,QAAQ,CAAC2C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC3C,QAAQ,CAAC4C,IAAI,GAAG,EAAE;QACzE,MAED;SACCJ,QAAQ,GAAGf,aAAG,CAACC,UAAU,CAAC,+BAA+B,CAAC;SAC1DgB,KAAK,GAAG,IAAI;;OAEb,IAAI1B,QAAQ,GAAG,IAAI,CAACC,eAAe,EAAE;OAErC,IAAIyB,KAAK,EACT;SACC1B,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACG,GAAG,CAAC,+BAA+B,CAAC,GAAG,KAAK;QAC1E,MAED;SACCL,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACC,MAAM,CAAC,+BAA+B,CAAC,GAAG,KAAK;;OAE9E,IAAI0B,UAAU,GAAG,IAAI,CAAC9D,SAAS,CAAC+D,aAAa,CAAC,2BAA2B,CAAC;OAC1E,IAAIC,QAAQ,GAAG,IAAI,CAAChE,SAAS,CAAC+D,aAAa,CAAC,0BAA0B,CAAC;OACvE,IAAIE,QAAQ,GAAG,IAAI,CAACjE,SAAS,CAAC+D,aAAa,CAAC,0BAA0B,CAAC;OAEvE,IAAIP,UAAU,EACbM,UAAU,CAACI,KAAK,CAACC,eAAe,GAAG,OAAO,GAACX,UAAU,GAAC,IAAI,CAAC,KAE3DM,UAAU,CAACI,KAAK,CAACE,cAAc,CAAC,kBAAkB,CAAC;OAEpDJ,QAAQ,CAACK,WAAW,GAAGZ,QAAQ;OAE/B,IAAIC,QAAQ,EACXO,QAAQ,CAACK,YAAY,CAAC,MAAM,EAAEZ,QAAQ,CAAC,CAAC,KAExCO,QAAQ,CAACM,eAAe,CAAC,MAAM,CAAC;;;KACjC;KAAA,6BAEY/C,IAAI,EACjB;OACC,IAAI,CAACR,WAAW,CAACQ,IAAI,CAAC;OACtB,IAAIlB,cAAI,CAACC,UAAU,CAAC,IAAI,CAACE,oBAAoB,CAAC,EAC7C,IAAI,CAACA,oBAAoB,CAACe,IAAI,CAAC;;;KAChC;KAAA,iCAGD;OACC,IAAI,CAACR,WAAW,CAAC,IAAI,CAAC;OACtB,IAAIV,cAAI,CAACC,UAAU,CAAC,IAAI,CAACI,sBAAsB,CAAC,EAChD;SACC,IAAI,CAACA,sBAAsB,EAAE;;;;KAE9B;KAAA,6BAEYa,IAAI,EACjB;OACC,IAAIlB,cAAI,CAACC,UAAU,CAAC,IAAI,CAACM,oBAAoB,CAAC,EAC7C,IAAI,CAACA,oBAAoB,CAACW,IAAI,CAAC;;;KAChC;KAAA,mCAGD;OAAA;OACC,IAAI,CAAC,IAAI,CAACJ,OAAO,EACjB;SACC;;OAGD,IAAIoD,SAAS,GAAG,EAAE;OAAC,2CAEF,IAAI,CAACrD,KAAK;SAAA;OAAA;SAA3B,oDACA;WAAA,IADSK,IAAI;WAEZgD,SAAS,CAACC,IAAI,CAAC;aACdtB,IAAI,EAAE,IAAI,CAACuB,eAAe,CAAClD,IAAI,CAAC;aAChCmD,SAAS,EAAG,wCAAwC;aACpDC,OAAO,EAAE,IAAI,CAAClE,YAAY,CAACqB,IAAI,CAAC,IAAI,EAAEP,IAAI;YAC1C,CAAC;;;SACF;;SAAA;;OAED,IAAI,IAAI,CAACrB,eAAe,EACxB;SACCqE,SAAS,CAACC,IAAI,CACb;WAACI,SAAS,EAAE;UAAK,EACjB;WACCC,IAAI,EAAEpC,aAAG,CAACC,UAAU,CAAC,2BAA2B,CAAC;WACjDiC,OAAO,EAAE,IAAI,CAAChE,cAAc,CAACmB,IAAI,CAAC,IAAI;UACtC,CACD;;OAEF,IAAI,IAAI,CAAC7B,WAAW,EACpB;SACCsE,SAAS,CAACC,IAAI,CACb;WAACI,SAAS,EAAE;UAAK,EACjB;WACCC,IAAI,EAAEpC,aAAG,CAACC,UAAU,CAAC,oBAAoB,CAAC;WAC1CiC,OAAO,EAAE,mBAAM;aACd,KAAI,CAACnD,SAAS,EAAE;aAChB,IAAInB,cAAI,CAACC,UAAU,CAAC,KAAI,CAACH,iBAAiB,CAAC,EAC1C,KAAI,CAACA,iBAAiB,EAAE;;UAE1B,CAAC;;OAEJ,IAAI6B,QAAQ,GAAG,IAAI,CAACC,eAAe,EAAE;OAErCa,EAAE,CAACgC,SAAS,CAACvC,IAAI,CAChB,qBAAqB,EACrB,IAAI,CAACxC,SAAS,EACdwE,SAAS,EACT;SACCQ,SAAS,EAAE,CAAC;SACZC,UAAU,EAAE,EAAE;SACdC,KAAK,EAAE,IAAI;SACX7E,MAAM,EAAE;WACP8E,YAAY,EAAE,wBAAM;aACnBlD,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACC,MAAM,CAAC,gCAAgC,CAAC,GAAG,KAAK;aAC9EW,EAAE,CAACgC,SAAS,CAACK,OAAO,CAAC,qBAAqB,CAAC;;;QAG7C,CACD;OACDnD,QAAQ,GAAGA,QAAQ,CAACE,SAAS,CAACG,GAAG,CAAC,gCAAgC,CAAC,GAAG,KAAK;OAE3E,IAAI+C,iBAAiB,GAAGtC,EAAE,CAACgC,SAAS,CAACO,WAAW,CAACC,WAAW,CAACC,mBAAmB,EAAE,CAACC,gBAAgB,CAAC,6BAA6B,CAAC;OAAC,4CACtGJ,iBAAiB;SAAA;OAAA;SAA9C,uDAAgD;WAAA,IAAvCK,gBAAgB;WACxB5D,eAAK,CAACC,IAAI,CAAC2D,gBAAgB,EAAE,OAAO,EAAE,UAACC,KAAK,EAAK;aAChDA,KAAK,CAACC,eAAe,EAAE;aACvB,IAAIC,QAAQ,GAAG9C,EAAE,CAAC+C,IAAI,CAACH,KAAK,CAACI,MAAM,EAAE,WAAW,CAAC;aACjD,KAAI,CAACtE,SAAS,EAAE;aAAC,4CACA,KAAI,CAACN,KAAK;eAAA;aAAA;eAA3B,uDAA6B;iBAAA,IAApBK,KAAI;iBACZ,IAAIA,KAAI,CAAC6B,SAAS,IAAIwC,QAAQ,EAAE;mBAC/B,KAAI,CAACG,iBAAiB,CAACxE,KAAI,CAAC;;;;eAE7B;;eAAA;;YACD,CAAC;;;SACF;;SAAA;;;;KACD;KAAA,kCAEiBA,IAAI,EACtB;OAAA;OACC,IAAIyE,YAAY,GAAG,IAAIlD,EAAE,CAACmD,WAAW,CAAC;SACrCC,OAAO,EAAE,IAAI,CAACC,yBAAyB,CAAC5E,IAAI,CAAC;SAC7C6E,QAAQ,EAAE,IAAI;SACdC,SAAS,EAAE,KAAK;SAChBC,SAAS,EAAE,IAAI;SACfC,UAAU,EAAE,IAAI;SAChBC,OAAO,EAAE,CACR,IAAI1D,EAAE,CAAC2D,EAAE,CAACC,MAAM,CAAC;WAChB7B,IAAI,EAAGpC,aAAG,CAACC,UAAU,CAAC,2BAA2B,CAAC;WAClDiE,KAAK,EAAE7D,EAAE,CAAC2D,EAAE,CAACC,MAAM,CAACE,KAAK,CAACC,MAAM;WAChClC,OAAO,EAAE,iBAACe,KAAK,EAAK;aACnBM,YAAY,CAACc,KAAK,EAAE;aACpB,MAAI,CAACjG,YAAY,CAACU,IAAI,CAAC;;UAExB,CAAC,EACF,IAAIuB,EAAE,CAAC2D,EAAE,CAACC,MAAM,CAAC;WAChB7B,IAAI,EAAGpC,aAAG,CAACC,UAAU,CAAC,2BAA2B,CAAC;WAClDiE,KAAK,EAAE7D,EAAE,CAAC2D,EAAE,CAACC,MAAM,CAACE,KAAK,CAAChD,IAAI;WAC9Be,OAAO,EAAE,mBAAM;aACdqB,YAAY,CAACc,KAAK,EAAE;;UAErB,CAAC;QAEH,CAAC;OACFd,YAAY,CAACzD,IAAI,EAAE;;;KACnB;KAAA,4BAGD;OACC,IAAIO,EAAE,CAACgC,SAAS,CAACO,WAAW,EAAE;SAC7BvC,EAAE,CAACgC,SAAS,CAACO,WAAW,CAACyB,KAAK,EAAE;;;;KAEjC;KAAA,0BAGD;OACC,IAAIhE,EAAE,CAACgC,SAAS,CAACO,WAAW,EAAE;SAC7BvC,EAAE,CAACgC,SAAS,CAACO,WAAW,CAACyB,KAAK,EAAE;;OAEjC,IAAI,CAAC/G,SAAS,CAACsD,SAAS,GAAG,EAAE;;;KAC7B;KAAA,kCAGD;OACC,IAAIrB,QAAQ,GAAG,IAAI,CAACjC,SAAS,CAACuC,sBAAsB,CAAC,yBAAyB,CAAC;OAC/E,IAAIN,QAAQ,EACXA,QAAQ,GAAGA,QAAQ,CAAC,CAAC,CAAC;OAEvB,OAAOA,QAAQ;;;GACf;CAAA;;;;;;;;"}