@esri/solutions-components 5.1.0-next.106 → 5.1.0-next.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{UDBUSMCV.js → 2DE4VFXQ.js} +1 -1
- package/dist/cdn/{3NPBN2B4.js → 2M47YJSF.js} +1 -1
- package/dist/cdn/{JMU5KKZH.js → 3FOUGCWY.js} +1 -1
- package/dist/cdn/3ITZDI72.js +4 -0
- package/dist/cdn/{KHHT54BU.js → 3OLSNMWN.js} +1 -1
- package/dist/cdn/{X25OZSS4.js → 3YKRLNDA.js} +1 -1
- package/dist/cdn/{KIUBUHVM.js → 4F57JHMM.js} +1 -1
- package/dist/cdn/{AHGEJEUD.js → 4HRSTRIB.js} +178 -139
- package/dist/cdn/{XMLWS6XC.js → 4RJ456O7.js} +1 -1
- package/dist/cdn/{GU4QAZMD.js → 52KJS4OG.js} +1 -1
- package/dist/cdn/{7EPZDMA2.js → 54YUJSPE.js} +1 -1
- package/dist/cdn/{26K4UTAF.js → 5IIGQVJO.js} +1 -1
- package/dist/cdn/{H5TWIMN3.js → 5MVIKBSS.js} +1 -1
- package/dist/cdn/{4HFHJOS3.js → 5O53T3SW.js} +1 -1
- package/dist/cdn/{AFMPPVMO.js → 5Q6CJZ7M.js} +1 -1
- package/dist/cdn/{NUD23X7L.js → 6GSCRFFW.js} +1 -1
- package/dist/cdn/{AFZETCUL.js → 6RTR35JT.js} +1 -1
- package/dist/cdn/{FMHXFW3E.js → 6XHQDX4R.js} +1 -1
- package/dist/cdn/{O3O4EPB6.js → 6ZKZSCOA.js} +1 -1
- package/dist/cdn/{2AXKBNIN.js → 7O7OFAXY.js} +1 -1
- package/dist/cdn/{ZM32VKIW.js → 7OCLTZG6.js} +1 -1
- package/dist/cdn/{PAMG6BC2.js → 7SDU3PS7.js} +1 -1
- package/dist/cdn/{5ADMCIGY.js → A4NILC27.js} +1 -1
- package/dist/cdn/{SITXFSGP.js → A77WR5MD.js} +1 -1
- package/dist/cdn/{45M33Q5G.js → AJZDBHB6.js} +1 -1
- package/dist/cdn/{O5WDG5KL.js → AKEEHAGV.js} +1 -1
- package/dist/cdn/ALQ5DBK4.js +2 -0
- package/dist/cdn/{BVWAUO73.js → ANJGKFNJ.js} +1 -1
- package/dist/cdn/{WNH3PY6X.js → AV2VGLDZ.js} +1 -1
- package/dist/cdn/{GEXLEGOL.js → AZ4JB3M3.js} +1 -1
- package/dist/cdn/{ELD2UQO4.js → B3BR2NG5.js} +1 -1
- package/dist/cdn/{QQN472YW.js → B7WKBO7P.js} +1 -1
- package/dist/cdn/{MSEGWVWC.js → BBVI22DX.js} +2 -2
- package/dist/cdn/{5CW67X4G.js → BJBUCNKW.js} +1 -1
- package/dist/cdn/{64Y5CQSL.js → BQVD2BBH.js} +1 -1
- package/dist/cdn/{6XELM7OM.js → BSBNPUTI.js} +1 -1
- package/dist/cdn/{WZ22NICV.js → BX4LWPBE.js} +1 -1
- package/dist/cdn/{ZR4T2HGR.js → BXOH6SN4.js} +1 -1
- package/dist/cdn/{7TCHZME4.js → C4IFGE7P.js} +1 -1
- package/dist/cdn/{P2YLMWCT.js → C5AR5K23.js} +1 -1
- package/dist/cdn/{S7MMEM3H.js → C5QZMZX7.js} +1 -1
- package/dist/cdn/{SBTQKPQR.js → CCSQ3OEW.js} +1 -1
- package/dist/cdn/CEMYU2JD.js +2 -0
- package/dist/cdn/CETY3FEP.js +2 -0
- package/dist/cdn/{MBBG3S5B.js → CFD3KIYJ.js} +1 -1
- package/dist/cdn/{SFM524YL.js → CGFMGQ3A.js} +1 -1
- package/dist/cdn/{YN7SGJOG.js → CL2YRX2S.js} +1 -1
- package/dist/cdn/{O2L7DY23.js → CN6TLQGH.js} +1 -1
- package/dist/cdn/{RX7HKQ7Y.js → CPV3ZZNT.js} +1 -1
- package/dist/cdn/{XVXOCPOT.js → CQRK2NYK.js} +1 -1
- package/dist/cdn/{MZY3G7B5.js → D5Y4JMF7.js} +1 -1
- package/dist/cdn/{JDVVMD4S.js → D66IBZZA.js} +1 -1
- package/dist/cdn/{I6H42GYO.js → DI2EBGJ3.js} +1 -1
- package/dist/cdn/DNTFTT5U.js +2 -0
- package/dist/cdn/DPIB437L.js +2 -0
- package/dist/cdn/{JUJ5KUGK.js → DXETUMPR.js} +1 -1
- package/dist/cdn/{YKQDHR27.js → E3C3HXK2.js} +1 -1
- package/dist/cdn/{KOHVDHPZ.js → E4GB5Z4R.js} +1 -1
- package/dist/cdn/{ADTHTFGI.js → E4MLV2FE.js} +1 -1
- package/dist/cdn/{PPRYGYWD.js → EBC42SEO.js} +1 -1
- package/dist/cdn/{WAW43L2Y.js → EOVYCA4H.js} +1 -1
- package/dist/cdn/{AM5URNYD.js → EUPJV6QI.js} +1 -1
- package/dist/cdn/{RIM6ODUZ.js → EWUZF57U.js} +1 -1
- package/dist/cdn/EX2M356A.js +2 -0
- package/dist/cdn/EZUDAXHT.js +4 -0
- package/dist/cdn/{PQPNCADS.js → EZXOFWRE.js} +1 -1
- package/dist/cdn/{DINEURA2.js → F5IR4RHL.js} +1 -1
- package/dist/cdn/{RHQMSPFV.js → F7GWD5GZ.js} +1 -1
- package/dist/cdn/{TMKYG3QB.js → FIDFM7GS.js} +1 -1
- package/dist/cdn/{VB5C4Z27.js → FIHH22PH.js} +1 -1
- package/dist/cdn/{UQ6CJF7E.js → FJAKNWL6.js} +3 -3
- package/dist/cdn/{B7YFREN6.js → FTOA3QJU.js} +1 -1
- package/dist/cdn/{R67EKKSL.js → FV3ILJ4J.js} +1 -1
- package/dist/cdn/{6UTDTBHM.js → GE57TEEE.js} +1 -1
- package/dist/cdn/{7SFTLJTV.js → GEMYMMEI.js} +2 -2
- package/dist/cdn/{3FMOO3PJ.js → GF4QELNV.js} +1 -1
- package/dist/cdn/{UYYYSJL4.js → GIANH6D4.js} +1 -1
- package/dist/cdn/{XPIAEAK5.js → GWSB6X4X.js} +1 -1
- package/dist/cdn/{7X5K32QE.js → GXH52TKB.js} +1 -1
- package/dist/cdn/{5EYS2CH4.js → H2I34QW7.js} +1 -1
- package/dist/cdn/{AYO5GP4M.js → HIV2GYY7.js} +1 -1
- package/dist/cdn/{NP7POZTI.js → HNF4PBGT.js} +1 -1
- package/dist/cdn/{ROKVOX7R.js → HPJODZ44.js} +1 -1
- package/dist/cdn/{O4E54ZIL.js → HS4FIDIG.js} +1 -1
- package/dist/cdn/{MVGX2AGG.js → HS6NJWE7.js} +1 -1
- package/dist/cdn/{4SJS3AAR.js → I5STLCQ7.js} +1 -1
- package/dist/cdn/{RWGEJGAH.js → ISCTUP5U.js} +1 -1
- package/dist/cdn/{VESARS2D.js → IVVJNDP6.js} +1 -1
- package/dist/cdn/{LVOTTNTF.js → IVXHTNAZ.js} +1 -1
- package/dist/cdn/IY4475HT.js +2 -0
- package/dist/cdn/{BMBNSJZQ.js → JBNWEBAG.js} +1 -1
- package/dist/cdn/{66BZFR5Z.js → JCQ3GAY6.js} +1 -1
- package/dist/cdn/{TM3CBSWO.js → JFJRHOAG.js} +1 -1
- package/dist/cdn/{RUZVGWHQ.js → JLDT4MDK.js} +1 -1
- package/dist/cdn/{WSPAWPSL.js → JLGYUZRP.js} +1 -1
- package/dist/cdn/{6O3XSKQY.js → JR5GBFT2.js} +1 -1
- package/dist/cdn/{UUMJMH3T.js → JXLUOBPY.js} +1 -1
- package/dist/cdn/{MPJRP2QO.js → K5MMGZY2.js} +1 -1
- package/dist/cdn/{LPJHRY3Y.js → KP3AJBAI.js} +1 -1
- package/dist/cdn/{IGIHPCRS.js → KUFPXZWQ.js} +1 -1
- package/dist/cdn/{3RUGNS6K.js → KXU6CODF.js} +1 -1
- package/dist/cdn/{PDE6N2YM.js → L3R23ENZ.js} +1 -1
- package/dist/cdn/{WLXO44M4.js → LESMGBXJ.js} +1 -1
- package/dist/cdn/LG67HAE5.js +2 -0
- package/dist/cdn/{A2SX6EF7.js → LGFATGO3.js} +1 -1
- package/dist/cdn/{RJFWIPOY.js → LQ2J6MVC.js} +1 -1
- package/dist/cdn/{VK6ZOC6A.js → M5OSUYVD.js} +1 -1
- package/dist/cdn/{YHACLWMU.js → M6JBJMEG.js} +1 -1
- package/dist/cdn/MEETZUH6.js +2 -0
- package/dist/cdn/{WUM5AKBT.js → MGAKD4WY.js} +1 -1
- package/dist/cdn/{74PV6PZ3.js → MGEBTXZW.js} +1 -1
- package/dist/cdn/{P76UNULK.js → MMSWM6TE.js} +1 -1
- package/dist/cdn/{BYU5RVVM.js → MNCCEYE3.js} +1 -1
- package/dist/cdn/{55PTISQ7.js → MOK7GNOH.js} +1 -1
- package/dist/cdn/{G4OMMOS4.js → MRTCK3MT.js} +1 -1
- package/dist/cdn/{ZPOWEU76.js → MVD3VVPZ.js} +1 -1
- package/dist/cdn/{OPWB5U5Y.js → MYPJ63EE.js} +1 -1
- package/dist/cdn/{LPBP7CBN.js → N2KSPEVT.js} +1 -1
- package/dist/cdn/{AO3QYZNQ.js → N6HPF764.js} +1 -1
- package/dist/cdn/{3SBBPBXS.js → NGWZKWTA.js} +1 -1
- package/dist/cdn/{SUK3BLEW.js → NJAG5LJD.js} +1 -1
- package/dist/cdn/{6S56JAXB.js → NUWPSA4Q.js} +1 -1
- package/dist/cdn/{RKBDZ7GR.js → NYMSGGDH.js} +1 -1
- package/dist/cdn/{SKUGEKDV.js → ON4MWXBI.js} +1 -1
- package/dist/cdn/{C42RDWYF.js → OZGADKJE.js} +1 -1
- package/dist/cdn/{GM772Z5U.js → P6OCRGFK.js} +1 -1
- package/dist/cdn/{6PFEFNQM.js → PK6J4TA3.js} +1 -1
- package/dist/cdn/{TDY54Z67.js → PMASTSAY.js} +1 -1
- package/dist/cdn/{W5VSVSIV.js → POPVAM3V.js} +1 -1
- package/dist/cdn/{AXMPMDEB.js → PWTAOSL7.js} +1 -1
- package/dist/cdn/{SR53JCI4.js → QETCNT3V.js} +1 -1
- package/dist/cdn/{LCPWL74J.js → QKKYYRVF.js} +1 -1
- package/dist/cdn/{7JEVFHRJ.js → QLOWHDGX.js} +1 -1
- package/dist/cdn/{AL2DDBXW.js → QQPHJ4FW.js} +1 -1
- package/dist/cdn/{L33BENH7.js → QSNXXNJX.js} +1 -1
- package/dist/cdn/{BU5PIAGS.js → QZJGSWNM.js} +1 -1
- package/dist/cdn/{4SPIPOYO.js → R6RHNEU5.js} +1 -1
- package/dist/cdn/RAVGZ37K.js +2 -0
- package/dist/cdn/REGMSP2R.js +2 -0
- package/dist/cdn/{Y2ORH4QJ.js → RH47YGDG.js} +1 -1
- package/dist/cdn/{XMHHBXM6.js → RHYPLQ7P.js} +1 -1
- package/dist/cdn/RYETW3AF.js +6 -0
- package/dist/cdn/{K3DQKY7V.js → S3TMLXGP.js} +1 -1
- package/dist/cdn/{UHVJUD6J.js → SE4ZDMV4.js} +1 -1
- package/dist/cdn/{5AVH2R6T.js → SECIT3YS.js} +1 -1
- package/dist/cdn/{S7ZM2RFD.js → SHXJ4Z2A.js} +1 -1
- package/dist/cdn/{4J3ETN35.js → SJ2P5I4G.js} +1 -1
- package/dist/cdn/{CZKXDUOH.js → SMNWKCWR.js} +1 -1
- package/dist/cdn/{NH5526ON.js → SNBTGG5B.js} +1 -1
- package/dist/cdn/{LNLCO244.js → SNE4DYFB.js} +1 -1
- package/dist/cdn/{SWAMKTGK.js → T2CAAOQC.js} +1 -1
- package/dist/cdn/T3NHBHAI.js +2 -0
- package/dist/cdn/{2KSTM3IP.js → T5U3U2IF.js} +1 -1
- package/dist/cdn/{P2QWXLFJ.js → TH43LXE6.js} +1 -1
- package/dist/cdn/{XKMN6N5I.js → TJ7VHVTC.js} +1 -1
- package/dist/cdn/{ZYRNI524.js → TJDAE43J.js} +1 -1
- package/dist/cdn/{7CJQI7VH.js → TWU3XHBQ.js} +1 -1
- package/dist/cdn/{HOLASUOX.js → TX6RNT22.js} +1 -1
- package/dist/cdn/{FB2RD4BK.js → TZXVSQVZ.js} +1 -1
- package/dist/cdn/{UUGWRXGN.js → UEITESQY.js} +1 -1
- package/dist/cdn/{5EBHORLK.js → UNJV2PKC.js} +1 -1
- package/dist/cdn/UWOL7IKX.js +2 -0
- package/dist/cdn/{CZZN3R4F.js → UZ7C6CMQ.js} +1 -1
- package/dist/cdn/{UDGR2GC5.js → V52O7WYV.js} +1 -1
- package/dist/cdn/{OBKT6Y6H.js → VPE3OYTO.js} +1 -1
- package/dist/cdn/VWBA3XZ2.js +2 -0
- package/dist/cdn/{IV4U4XB5.js → VYAJBOTD.js} +1 -1
- package/dist/cdn/{TILX2YPV.js → WEITLOQD.js} +1 -1
- package/dist/cdn/WFHPQFNH.js +2 -0
- package/dist/cdn/{C3ZGM4K7.js → WHXJW7ZE.js} +1 -1
- package/dist/cdn/{ZKELOWSS.js → WOVQTNTH.js} +1 -1
- package/dist/cdn/{XI7NTLLE.js → WQSFLIHK.js} +1 -1
- package/dist/cdn/{J7IFAEYK.js → WRDDXISM.js} +1 -1
- package/dist/cdn/WVGQGW4R.js +2 -0
- package/dist/cdn/{NBQ5MMHE.js → WYWQJDHW.js} +1 -1
- package/dist/cdn/{XXQKFENH.js → X26QOEYN.js} +1 -1
- package/dist/cdn/{IRQKL5IM.js → X2TQEFX2.js} +1 -1
- package/dist/cdn/{2AO55DUN.js → XC5GR7ET.js} +1 -1
- package/dist/cdn/XGXFBOJN.js +2 -0
- package/dist/cdn/{WHS5LXKB.js → XHV66O3B.js} +1 -1
- package/dist/cdn/{L342GSW5.js → Y36XZKHC.js} +1 -1
- package/dist/cdn/{EBRCBPEM.js → Y3CYPNEY.js} +1 -1
- package/dist/cdn/{JPJ2PWRJ.js → Y4QO5HTT.js} +1 -1
- package/dist/cdn/{7EF5FK2O.js → YBFRVRRL.js} +1 -1
- package/dist/cdn/{ALSK2SPM.js → YFXSWGXE.js} +1 -1
- package/dist/cdn/{3IHLJADI.js → YKB6256M.js} +1 -1
- package/dist/cdn/{76OYXG7R.js → Z3NAMBE6.js} +1 -1
- package/dist/cdn/{B67TTSQO.js → Z54LP7Q3.js} +1 -1
- package/dist/cdn/{IIOO4ABM.js → Z5DIDVKZ.js} +1 -1
- package/dist/cdn/{HKVSZTWH.js → ZAMDHZSB.js} +1 -1
- package/dist/cdn/{XF533XOH.js → ZGX5BDIO.js} +1 -1
- package/dist/cdn/{ZT5TOVYM.js → ZTU7ACFT.js} +1 -1
- package/dist/cdn/{QPNIPE5H.js → ZTVWTQFN.js} +1 -1
- package/dist/cdn/{5JLXNBOA.js → ZV6TCDGB.js} +1 -1
- package/dist/cdn/{ITM5SR7G.js → ZVHRGKDC.js} +1 -1
- package/dist/cdn/{SB3EADQF.js → ZWZJZRZF.js} +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/solution-deploy-dialog.js +17 -7
- package/dist/components/arcgis-solutions-assistant/customElement.js +12841 -10966
- package/dist/components/solution-builder-assistant/customElement.d.ts +32 -0
- package/dist/components/solution-builder-assistant/customElement.js +73 -53
- package/dist/components/solution-deploy-dialog/index.js +1 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +5 -8
- package/package.json +23 -23
- package/dist/cdn/2HGZUNIC.js +0 -2
- package/dist/cdn/3PT5ULE3.js +0 -2
- package/dist/cdn/ANZVLZYR.js +0 -2
- package/dist/cdn/B4EWPUMU.js +0 -2
- package/dist/cdn/BELRJU3A.js +0 -2
- package/dist/cdn/CNY6H6U2.js +0 -2
- package/dist/cdn/FBE7FIV6.js +0 -2
- package/dist/cdn/H5E6ISYP.js +0 -4
- package/dist/cdn/JZ472WDS.js +0 -2
- package/dist/cdn/LYNVZ7EL.js +0 -2
- package/dist/cdn/N3FJFS6W.js +0 -2
- package/dist/cdn/NBJK6Z7L.js +0 -2
- package/dist/cdn/O5PAINAH.js +0 -2
- package/dist/cdn/OMY6UWJY.js +0 -2
- package/dist/cdn/R3TKXDOE.js +0 -6
- package/dist/cdn/RQIBNHBN.js +0 -2
- package/dist/cdn/TS7GYVPR.js +0 -2
- package/dist/cdn/TWO6FJHP.js +0 -2
- package/dist/cdn/WU7QCA5H.js +0 -4
- package/dist/cdn/YXJJ5QPI.js +0 -2
|
@@ -109,6 +109,22 @@ export abstract class SolutionBuilderAssistant extends LitElement {
|
|
|
109
109
|
domainValueErrorEmpty: string;
|
|
110
110
|
domainValueErrorDuplicate: string;
|
|
111
111
|
domainValueErrorExceedsLength: string;
|
|
112
|
+
fieldValueType_nameOrTitle: string;
|
|
113
|
+
fieldValueType_description: string;
|
|
114
|
+
fieldValueType_typeOrCategory: string;
|
|
115
|
+
fieldValueType_countOrAmount: string;
|
|
116
|
+
fieldValueType_percentageOrRatio: string;
|
|
117
|
+
fieldValueType_measurement: string;
|
|
118
|
+
fieldValueType_currency: string;
|
|
119
|
+
fieldValueType_uniqueIdentifier: string;
|
|
120
|
+
fieldValueType_phoneNumber: string;
|
|
121
|
+
fieldValueType_emailAddress: string;
|
|
122
|
+
fieldValueType_orderedOrRanked: string;
|
|
123
|
+
fieldValueType_binary: string;
|
|
124
|
+
fieldValueType_locationOrPlaceName: string;
|
|
125
|
+
fieldValueType_coordinate: string;
|
|
126
|
+
fieldValueType_dateAndTime: string;
|
|
127
|
+
fieldValueType_none: string;
|
|
112
128
|
} & T9nMeta<{
|
|
113
129
|
headerTitle: string;
|
|
114
130
|
noticeMessage: string;
|
|
@@ -209,6 +225,22 @@ export abstract class SolutionBuilderAssistant extends LitElement {
|
|
|
209
225
|
domainValueErrorEmpty: string;
|
|
210
226
|
domainValueErrorDuplicate: string;
|
|
211
227
|
domainValueErrorExceedsLength: string;
|
|
228
|
+
fieldValueType_nameOrTitle: string;
|
|
229
|
+
fieldValueType_description: string;
|
|
230
|
+
fieldValueType_typeOrCategory: string;
|
|
231
|
+
fieldValueType_countOrAmount: string;
|
|
232
|
+
fieldValueType_percentageOrRatio: string;
|
|
233
|
+
fieldValueType_measurement: string;
|
|
234
|
+
fieldValueType_currency: string;
|
|
235
|
+
fieldValueType_uniqueIdentifier: string;
|
|
236
|
+
fieldValueType_phoneNumber: string;
|
|
237
|
+
fieldValueType_emailAddress: string;
|
|
238
|
+
fieldValueType_orderedOrRanked: string;
|
|
239
|
+
fieldValueType_binary: string;
|
|
240
|
+
fieldValueType_locationOrPlaceName: string;
|
|
241
|
+
fieldValueType_coordinate: string;
|
|
242
|
+
fieldValueType_dateAndTime: string;
|
|
243
|
+
fieldValueType_none: string;
|
|
212
244
|
}>;
|
|
213
245
|
/** Solution design - can be set externally for demo/testing */
|
|
214
246
|
accessor design: ISolutionDesign | null;
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import { c as x } from "../../chunks/runtime.js";
|
|
3
3
|
import { css as D, html as o } from "lit";
|
|
4
4
|
import { u as E } from "../../chunks/useT9n.js";
|
|
5
|
-
import { createRef as
|
|
5
|
+
import { createRef as F, ref as w } from "lit-html/directives/ref.js";
|
|
6
6
|
import { LitElement as N, nothing as d } from "@arcgis/lumina";
|
|
7
7
|
import { useContextConsumer as C } from "@arcgis/lumina/context";
|
|
8
8
|
import { b as I } from "../../chunks/deployAppContexts.js";
|
|
9
9
|
import { D as p } from "../../chunks/interfaces.js";
|
|
10
|
-
import { a as M, b as
|
|
10
|
+
import { a as M, b as f, v as b, c as T, d as z, e as O, f as k } from "../../chunks/validators.js";
|
|
11
11
|
import "../../chunks/solution-deploy-dialog.js";
|
|
12
12
|
import "../solution-deploying-dialog/customElement.js";
|
|
13
13
|
const P = D`calcite-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-left:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-1)}.section-header{font-size:var(--calcite-font-size-1);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-color-text-1);display:block}.section-title{font-weight:500;color:var(--calcite-color-text-1)}calcite-input-text,calcite-input-number,calcite-text-area,calcite-combobox{font-weight:500}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1;overflow:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.content-container{display:flex;margin:var(--calcite-space-lg)}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0}.solution-item-inputs{display:flex;flex-direction:column}.thumbnail-inputs-row{display:flex;gap:var(--calcite-space-lg);align-items:flex-start}.thumbnail-container{flex-shrink:0;border:1px solid var(--calcite-color-border-2);overflow:hidden;background:var(--calcite-color-foreground-2);width:233px}.thumbnail-container img{display:block;width:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;gap:var(--calcite-space-md);min-width:0;margin-left:var(--calcite-space-lg)}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg);margin-top:var(--calcite-space-2xl)}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.solution-item-content-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg);padding:var(--calcite-space-lg)}.section-header{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2);margin:0 0 var(--calcite-space-md) 0}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.layer-form-content{padding:var(--calcite-space-3xl)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);display:flex;flex-direction:column;flex:1;overflow:auto;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;flex-direction:column;align-items:stretch}.new-layer-button{padding-right:var(--calcite-space-lg)}.layer-selector-row{display:flex;gap:var(--calcite-space-md);align-items:center}.layer-selector-label{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);white-space:nowrap}.layer-selector-row calcite-combobox{flex:1;min-width:0}.layer-selector-row>calcite-button{flex-shrink:0}.layer-selector-container calcite-combobox{width:100%}.layer-properties-container{display:flex;gap:var(--calcite-space-md)}.layer-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg);margin-top:var(--calcite-space-lg)}.flow-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg);margin:var(--calcite-space-3xl)}.layer-properties-section{display:flex;flex-direction:column;gap:var(--calcite-space-md)}.layer-properties-row{display:flex;gap:var(--calcite-space-md);align-items:flex-start}.layer-properties-row>*{flex:1;min-width:0}.layer-type-control-row{display:flex;gap:var(--calcite-space-md);align-items:flex-end}.layer-type-control-row calcite-combobox{flex:1;min-width:0}.layer-type-control-row>calcite-button{flex-shrink:0}.layer-properties-container>*{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;display:block}.fields-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.fields-section calcite-table-cell:last-child{text-align:center;display:flex;justify-content:center;align-items:center}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.domain-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section>div{width:100%}.domain-actions-row{display:flex;justify-content:space-between;align-items:center;width:100%}.domain-list{display:flex;flex-direction:column;gap:var(--calcite-space-sm);width:100%}.domain-item{display:flex;align-items:center;gap:var(--calcite-space-sm);padding:var(--calcite-space-xs);background:var(--calcite-color-foreground-1);border:1px solid var(--calcite-color-border-2);border-radius:var(--calcite-border-radius);cursor:move;width:100%;box-sizing:border-box}.domain-item:hover{background:var(--calcite-color-foreground-2)}.domain-item .drag-handle{color:var(--calcite-color-text-3);cursor:grab;flex-shrink:0}.domain-item .drag-handle:active{cursor:grabbing}.domain-item calcite-input-text{flex:1;min-width:0}.domain-item calcite-button{flex-shrink:0}.popover-content{padding:var(--calcite-space-lg);min-width:420px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}.padding-top-sm{padding-top:var(--calcite-space-sm)}`, _ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAACaCAYAAADxYDn5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAn4JJREFUeAG9/Qe4ZUWVPwz/ap9zc+iccyTnjGQTChhAQDAgGDBnZ5xRxzA66jjOjOM4IwZUTIhhDKgoKIIokkGgydCR7qbzvX3jOWfXV2GlfZr53v/7vM/zP0rfE/auXbVqrd8KtWqVu3fLNu/gEP8P7+Hh8tvwP8j7+C7+C/k2/e4civCnjHeF93SJXKntQl7e07X8mX7kNuNv8Zr8Hf9LPaB7PX+bPoN657UNaq+stM3tPVs/uIPOjDH/XnrI3XqPpw44uU365i3dPP3N3xcuv490Th2Pb8s8BqafzkD1ffxTlrENOyPPcq0z44v/o76lO6h/zryHmSNL1/y124dW2k6ZyVAU+X11FvOo43VlGf4WQqPYtIyBxyzzSrRz2n+dV+YptPXZ0gCG7vnewhV5PJH+drLixYXhiHh5KV0n9nU6LOeNSFS4qY3RHYShXOH2ua4yKK/t26v43kxsiGBA2MlV7uN+KQPQCJiQhe2Xy42mVr2MsUwEZzLT98KwPDleJgbmr5eBO+Zr4XHukvOQMVQYktoshAFghMVzs3Bm7gSAPLQf9EziXaJP/rf0yhrw+lsaZ1EFI+kTvDToeD7KzOjO2clmwafvqY/xTa1gUCuSoANKE+b/PESn7TrlFQ8FCXmay+0UDpWBsuAKMDOjcuOlQeF0gdxL8hUnWRrlAQpl5FoYJhF6Mm3NQ3JH7EMt4jIDVX+HNxNBZGBmtFINZhVvhIq1gXem68xQGXUEneOEmNEzEjmZFR1tRfsUzgCXJ/R2MpGoKBL9wiKaMrFBae4HDGJ6Fc5ne6nwZloq3arMCaGtk8ni59tx2rnxhOwMUhWNXercCF9oF4QB9QZvtBuEx4RXjBICPcsR8DhPYponW+bZW4EJr4JbKknaLMOAJRBWifjMmwJczByGuZ0SS7HEidrRWaeO+Coae5kUGLFXQsW+RqZkUyVeUriMVjww81Tpowcq2kBfxJyFU2bLM2bUKxFTJswLk3vn5BNPkJp1qpYBNdXyeHQihWHMBAmZC5pMJ3yR5qX0rHdVA1RpD21LmEmZj8dhnirAw2acNX0YPtT0REZ2RwDgVYqVj8zVnsFHhYF7kC9RcOLBZ+DwOofMG/ReBBmsEVWziFamewomaEFiV7GffLbNrMQmNDGMkjpdFLkzTIA2hLf/y/cbVvEV7IRFGxkHXce2bcSSkj9TP1qlqk6dDqVmUbgKw1lkbpt9usUbJCdW8CqgihxZ+zmjarlZnuw8+Wy3F7CmUpqEggDFCjl4Clm6eNIhk2hggHEX7UNLgEBMk0yXwiBdxVyBearcTI9WexoJWJQHHPNNnhylnqfrnM6lGCJt10JMOTVFnJl3MkH0ecjjyZotQ3X+rZD2dK51/gpRTaUyHSOM5+myZodxaqJfwkKSmYJaMBOZJQyKXlH9mkGyOCjRncUpemapKs4gNNudan6gylxQbVMKcpeGt61tDWFNsVPbVW4ksIcAgiIHiEY6EQauFNtSn0uhcUGE4u/gtCfC+yzx/Je0BbfN37Pwp7FazcLoQz4AKlrYMA9f7ng+vGpiYRmfTIYyzKGCL9kBHjQfMA5pafFDniHveYClFwa32s3DzpN+LyQix1jNvrKixdTMzS3VeVDk/egDDHrAmAaeBZEaLB0jHjerXWJ7nRle7FnprKI/5G7pPkSlsdqvtE4XFNmsUmI47oqgjrTnNUIBYX6vCAZrL1tc4FmiHjoYs8ALggqWeGXwVqtEV3cnZg32BecsI9GesXHsGtqLeq0GG4VJT0j0zIyTnDnLsDojWUuY3wv6jsdlJlI+p2hOUZBwMVAoYDCNVOTU/s3gyz5JkZBOTDLPwQ1qx5dKOZcHZf0O7r9EhApuQ5/FdjjofWV+mLcMKzuvfFXlKsgY6twEaKKcQe08KIMC6SImgRNm9M9inyYG9xohEFveSKnFDH05VB2ojBRJamEwySshYYYtBPTK/IVT1MmzQk2UvmKne5ls1VJ5fFklEwDlcWWIFyaB5cnErSX6+nvROTGBz3zhG7juV7diZHQUnfU6Djlmf7z/8gtwxJGH4fHN29DVUa/026c+swZTBlTNAGOywUCyGY+zoOLNPaUCmPfSX2O1C40rERHQtTBt8PzzvJc0dkNzV1KjDgZpdZ4Tu0VlS88gU0M4lWmdmZnCnORL8PyIdvJkIibthqqpGO+5d8t279DG0HCVjlW8bCOR1uAQB7GCPEVSeSBmUcfToC20HWMYCJEV2JnIVjAUCSuob8UaiposyKzmnRlx+z32XqGDfKe3JAYsDXOFP83JJlbNn433/f3n8dUvfBtTz3gRBubPCQjfhclGA6O7hrD9tluwtL/AXbf+AE/tnUS9YAEWtaRoboSdoC45YvG73q6O6LFnOhDdG4HmrVI/F4WrakmvWtYKQpyrHF1hqzbTlAMCMv8yT3SNKDjrtxGEVkw6omdCD7rSt82PoTSbZlYLO8ObTBt4/yx8xMDtBQzcfWFRSaSsjZVUwmVYGRSd9XqZOCWhn6+iAzG5KnmfHEwvBFKGhRmq3u8EvpidhQjcX7qhRBaGdmG0qq+iRtl085lmJfsmSSsZBuZekcqVGLj3xEw1sf8jw6yYOwsvesHrce+OFhaedjImx0ZRNhvhGTVhoI7ePozt3oWN3/o6nt52K54ea6AjILw1DQR6GCXNOOKvE40Sv3t4Mzo7aomBnMvou2p2P5bOGKCxQBnKEyhVaOsrSCqsx9rCXJcvVYgqaO683pD6EPGt2IfJuTv5ecnHcdY6d0Jivo6f52ENEgXLgjWderP8hCqQ0TPq/JV1SC3r+2p38uBIRdjwF9tFjEpkQIgN5tnsKEEmQBXZUemWNStgkEM1TSaajjEpOV4pEvtW2ymoD7Z/XikbxhQXPIDHntmLg+dNwd5GK9t4gMCmE3tXKZQfVwqdenp68OFPfAn3bZ3AwhecgcbwMAlnTQU9XNccH0O9qxMr3/IOLFlyCvYM3YeHNu9AvaMGDX+Se1gSk+VOi8YbbzRxyIKp2H/OlDx3xHS3PrEdy2aA6GdQs1CtBtGabPbYlVAY294wpjGtGDDVli7S5EYaJ1qLiUgz6lkAHFCRLwVBMIDCwVk/zakGyiQ3wgdrdWTQymRyorF0wdRIDlviZaURX5URkTagan3nz4VBAXG6GNl9ZhhlxXx3RMOOmkN3Zw08os56gc5aQZOojKWahghJ3CBqmlb02MZOc+x0NVQZwME6TFGtXnv/Zsyf0o2r796AgU7tJz+3YkaZieFnx3FM80188ZNfx/znnYbJxOhARxAAF8YyvG0XxsfH0dXbH65tJYZoht8HTjkTb3r/59DX1yt2MZzSxxWGYPRs3yoTM02EBkYnGxgLKD/WLLF3ollZAeVxwuncCe3imMoK18r1pR2rRM3oG+9gYdsxijE12KYmFHKEwlmLMk+wVi6Ur3heiQdh/A4Lfsy8NnAiAuTNeOK8yzpAgl4YKcoNFMTMfJEgOqFYmZ9IjSI5F1aTMPraHAvPbZQlrG1XDxPTCu+uf3gLfvnXTbh73U7cuX4nrl+zGdc9uAW1ms50tiLyRFj7n+3MRChmTJCzAyfOqTcM7g2uxNfjz4zitNWzgsDVsWJmX2Ke0iB/ngSlk4cVu8xMHZ1d+Nev/hiDzz0jIPdEeka9pxvb770Pe371c7zu2AVYufdpPPq976Crpy/3u9XEjP32xw/CfQv6uzIamYcI4smMxikrTcTFmj3MaPmtRF2chaP8v4grXR0FugKodAVt0ll36Krlv50ReCLYxO/CX3lfi5/zd518b1B/XbXcRmyvJ5hiKTQJsqyJacUUYQallcm07O89gSD5D3Dk8JZV3rSzaHyakgQgm9TcvjN+SX5sXRwGbtJGN3ihBlAnkFZZy5Lt5nwPM7hyg8aTZZ7gxeuOHRzs7sANgcljF1944Pz0faOVZinYr7VkVvzk7o04Nujk6X0dmeFoUCJZDrARFLXJSciiL8FC4L01heUVrzt43gCuuWsdls3sx/bgMEY7eDw4mu2qMvM1j1mtyXjdjL5uXHf9rZi67FCUrWaawNFntmFxOYq71t2Ah3fuxt++sydEZn6PN374q1j4vOfBNybRCvZ8c/ocPPL4WhTTpqEGE6kglK0lXHJiapTEN/VApI7IKMlKCcBR5Dh70mjhrujHFN4CTGTWGv7y1A7sGZ8UummM3NqGSsscbdTvrFZzFIqJczsZtMs5h8xP/gSIH3mVlR4En9YrqsEIMaH48aVaECLE3l6Q/2H6Zye8NH32Ff5LwOPMgPhhstztKKMRaqOKo+TUHLBOTtUbNu2xhNEvU3rquPrO9XjufnPC+47EWNaWbgWbOU7a+Ucvxk/u2YDn7j8HHJGomShPu/2cnpCiChDVyIwORgwwAbKJE1dfR4P9e+ExSzASzIDegE6joT+FK6BTS+MykRcbI08ruyGsuDtEWtyqIjm49Y4OrLv9Hvzk5/+M+zZtDaZaDZsnh3DhK16Et7/jc6pffAvF4FRs2roDS6ZPV9XBFlZBkSyacJ6D2LsHNgYnd+eICEAc58yB7jx3UUjCGFplicKp0MaxnrB8hsxhJpsTGiWA4GdGc6PwNE4I5ZTu2V4v6W8Rrt073hK7PjvExDPe0kznQHyI0sTuHWsG34bu5nMKj+drSjFNyZYvCjE7GdDrHFlgrhBHyGXzty+o9ZJUJC/HsqkSnzM22bKmlTC4E7FWtcqMHtXkDQ9vxRn7z0VvUIUTzbK6EEKmVCTyntEGzjtiEb57+1O44MjFYaJCWI1jrYBm2XqD8GJ2KJFTfwFJ+60wjsuMMzbRStfH/nCorcoExuny6ljn8FxQ5+HaRlgw6maBDYJRC2q/1WokZGYmSf1wOeW0Fd9H+zs4q62WOplsd6uz6iiOTc5jaLu/u45XBJqUsF11iT6xLbZhC4mqZAaOi1VjQZhFa1e0IzNxiXYUjehZGm2f6e4VUX2LhJNoThEq6wTDflexHFgTWDPE8JQ3PMbYJsjFqE8MX5j5Mb5DPXKL5KO7vOJXUEeijfa9O9cG9dxpzBYn0j881sTzD5qPbnIk84qeMx66yC7UhvMYb+Zl5CldtWS25MHkNpMd6z2ptcz0w+MNLJ81iHW7xvD07jH0BIPzsAXTMDrRUOEE22xRyvPgVQOxOWAmSv8B27XpeWiLSalsQENm+X3pPS/+Bab12LJ2AzZv2YUVXV0ox8bQCgtKc48/Bhdd9DdY/+AvQjx9FDPDaup/XfkjlFNno8X2dUCVGauW458+83Vc/6sr8NT2nWLKsCpmVc6TzX7VRNRipcbCS99SMw+qkVLkrGwJA+f0XI5jc+SiqDqmLCDUirViWAN753R2nWp8jr7lrldNlUrwwnAxj8GLuZnH2Co1XYTb5Owcy/ySUOgVdNVkCR/v27pdDFmWclbN8cG3r92BU1aGifEaleHGHnlmGNOCUzXYVZPkrMI4TtwliYuS1N+6djuOXzYz2KrVJDO+y+pwRy00Q9Thse17ccDcwWRi3Bhs/dMPnIe+ek2ESVScr7bBJK2GsNSeY+EX5C5zn2shLl6Wmm/RDN8vmjUNPfCU6aiTfvfda3DGqa/Dqktfh8loNsTYe/zb2Yk9a9di959uwTnnPw8PPfgkHt+wE8tf/lJMjo7kVerwqvf0Yv11v8GLT9wPX//C36Gzu0fQM3ZuMkzkuh07U594nBpG9LJanfPEjebTmVVfqyjU+XP6DBZm0bI8wPwISg0h2hp7UJgL2VnsCZGs0aDxG6WvAE7hVFN5MyfCkI4Az+nzOdwbneSAvQEcQc6tckcemK84pfA2xkjPvS+soHrDLoyAkdGj/fXnJ3bgOStnotmqsmS85snA7HOn9aMveOGywgbeHVImRdgd7NhGQJSnto8GW24S0/q6Qjx5D15yyEKMBNtRCedRcQS5g07tFEdaKKro6cEu/e6tT+G8YNOPBwoU5j6eZO6rjg4y6ZrbYtFPUcdGjCID1IIz3XxmB17+6r/Bxsc3JxMrB0mKFAbErDlY9sLnYzKEAdlMqbE2qdVRD0K5Z9s2dAXUrw0OwgfkL4INLwlc4RndAwN4OkRuhm+/MzB7jaJeRZrIBYum44qvfgyrDtofe4b3JlOG2ZldJ6GeUzNCM1ghK6m8up03XrjKvEIAgZhUfJQ2wHDKUBqizJGZX6/ZgoHQ/55aDTCMyYystM0agFeEeQyaaIcEsjFiF83Z3jAHRyyaEgRW107Uh2TJqwqgNwBYVzRXCaiRNCVC+2xHuTa1kyMczpBJ1VGOkzoMBif0tyGEGAMsB88fxIIpA0Hiy7C615cEgCxJ4kxVgUzoivPpVa13BCnftXccLz1iIX73yBactmIWmvC0iggR1orNx8xcegV+2+8oRB4SdRKCBYpOlk201m/FCcdfiOWXvAlLT+pCWo8PKNtqhcWnINAxojIRF4qCU5q3z+XV5MwwAeWCr9EzOJBNjGDeuHBPQn6ioQuwNTGyFzP32w+zDz00mCatbBIiQRmK0Lkzz3orrvzyR3H0accHO7+lwGsSqeDVVrfpAJ7pQlBdtsoqAlqBEYbxkh9VNWGYqZxJwsvXDwW/Z3Z/YMrF0wNAMrZCUNaGF5n+qoGkWRVgar8vxDh/eu/GQK/pySeh7F6x7QuwE6/ynv56keEQjTETzz1rlS2xf8ETD7Uf2cNO3jNHBlwOkRWUNx0XiH79wGYcGQY9NTB9ckJDawPdBab2DqQQVfxCFhsytQQ5IJ62iIQQKyFtLQ/u2NB+tPuzvQfwrLRAeyRBe1G9J5POmdguIQScWQkm1icUaoZ+rpo/Byue8yqsfsPbMT4xhlqIoUdmK4gRms3JdGet3kFMpM6o98a8QtW0KInRCubG+CcIVhl8oXhli+zn2N5kCGUe+Ia34rJX/y127bwNT4SoT8E2Pzl+Wb15ScnO2czejClJrwBIQnbtQBbuvNav/CAOJX9WQeC5yXOff2sGusS5idq3tFE9DwHMrE9oEcpl9OY0hjQv1vYmxo9+XlxoTM1xIh9szk6er9I42szQvAhVr3rL5NiRvZkXi2jrF9nfwugemltCORnq/DkMBaeyN9hugyFiMEmRAVU3UJWFKvryj+w7WFYXh9Floi6dNQN7du/EthC/TqutJQ8O8ryWaCRqmdCdN3MkNWhscwm1uhifzquoT68dxc6hSUwPz6ixLR5VNMWW1T7MNEjapaUTXaT2W9lsKUuKpsTPhTFBsg0uYdW47J3CfhmFa+HesZFh1JcfgD/ccgcWLVuQkd9l+iT2lJwlCJp7QvOSJ90pM2Rk9JpIFhkv9HvO9KnomjKIDdt2BwE2V7eZR8L4rINZIsjc5Dattq5MBjM0NHjgICa42vgReOme0qhrNbnzGgTTNju0CtAsEHUOAUluNN+UQDUjHj0mmzMFqRbKbwExumbdIS0Grdm4B0ctnpGclIK5jJixhKofiSwQAkossfLSCWoGJpk+2I91Dz+OVSdfjJ07ghaaNiVFvYoOyu9IlArvg5NUdNZS3kt6KklBQt/ODiRHhMJU6U0ytn0yUVI70RccHYMLpknnisWJFjnaQRrGsxlBzMwoRsKQ47xFMnWSs9vKJklCpBoLWEH09po5ymsStKpY1PIcxZh53/xZePkbPxM8tYD+3d2531ELxpyaVql2ADFx6mvSeNHpigOiiAwnkbS82i4Z+FEODWHZ3D78/GdfRG36DEwGs8tXcMqJwxntZ86Z8ZLHnpsrnDN2CQMRaasUm9fIj5o1jswOY8tU4NDRQpkThpccJ9rMXRjnHNxMZHZGQTb0c8w581wRvhsLUZA9Y40UiWBJTA2Ga0ebLZgoMENJmshom8d4+mRL74NjxJXNKaTiWKU5Fl9UY1wkJOG66QP9uOob1+CjH/sKVr/qtZgRbN+YUZilOvSiZRCFMK9ImkBX1xJTBbOgqHWEfrXSDCezgoWe7PrG5ES2xTc/gT1P79YVPGZyGkx7jnj8shVXUF0tfRVROa2oyvVex2uWxOOzm4GmvM1RzbpsGkWBmgy2/9SFPWjOWo6p8xYl7dIZhJGVXnxW9BE42sRL9/H7gnLDNd8/0qowJkHqBWox+zI42occ+hJc+8uvYskh+6E52RCzj82y0voF7HiSNmImY03K/oGdczFZxUowgQESHC8NQdZSxPSN81UjgPPEt5xoaK7htusSlgLzGW11ioQJF62Y0YtnhieU8Mx/4fNgV0eIxNQguofQKKqR3o7A6J5UHKEMT7SNwDPqy1J0W7Zcdpzz1XHiNj25Dh/9+H8H+/UtGNm1K0U5IiMnAWLiOVX/8ffUdGAAzuD1FMsvywnBCkaEiI7ZkUtqLzB7k9oFoXk0Kerkn9TS7wnFCdlA2q8o6onhOZUi3pPNplLRiOCRnbCSJy/R30u6dLo+jL1WjzZF+BvaiOHNWumTALRKdSRjfxQgMsqkHVLhuqZvqTkR7030bkhyXhpn+FwGHyQ+78C3vRdnv+A12Lj5VmyleZcgLzOpU1yOU1wTZDMgWhFclQI2Ydg8Zd7igIk37wnGM+Oy4+ucRJTI+0nmp4aYjbmBuIIqj8t/K/njoZ2lswYS06CiGsiDZlXiRfgywcOf5eG+x7cMh799YFudV7SEkaGhMFkCZnPHZVRm5yg+a9HMGTj2zMux4oJXY3TPnsTIcRGM7VwPk69Nk9yKpgqpO667IhsaOGWDt61FNCnjMn89IGwzvS8bE+E5HRA1T4szjnLYZWsfaNLNymeNhCDRpOTVRS3aoyuYzqCro0gPktkiyXTswCWByBrJl9mkqkdBSszWkmfzxhmNPTMDUUze0XxHAfJexlCQeRNFcnRoD+ZfcCle9aaP4aqrPofde/cqUPksmNkEK8QykBVqUvSySAQnDM2LloLmzoaGreHijU3PIMy8S46sq5o9bGLZ0DH/ywEciRagwoieGJ3BgBSLWSWFTQhzNMDwaf7UXjy8dQ86OgqJh+b/oCYcNE4b/7bYVNIlMX1ueDMeiL923Y6wtN6VVX6rlLzrIj8kaZX4iijJvgFPIKNQ5PKULMXZk5TJyc5Ms9HI5AmT2RwfQUdPNzRBzmd/wGtxIDFpoK40SKhACytsIubH5X4zwuYF91IZg8wJzv/xBkwSxcKtHUEAo+aohXsarQY8WkZfkvrWO7Kf4mjHWCYQaZNWFgSiR46yZTCIX3fPmIE/3XAHpnYUxCeQcZel9rmiTAzjZuWlPUtxMw8Dqg56MQz1SF945anUbQJasVR85WkE217mKv2PQK6uq1WsDtSWdoTcjIa1wokpYL35kjxmbSPEW4Odf9HRS/CjezZg9kBXWu6PKaAcwXCVEWYGZIYBMXhMQ5Ud+GGyxsOkoq8nI1FpECEydkDjemg/MmqKS7tsJ/u04pjH1CR7rwiMkqNNNdpMEdoqaRy1aFbUEhJHhnLR1KkNEMqohmObmtGLUy7YvBEfgoQ8h+PKhH2RuzREmZ1YDkU61ePCLDypDI0xxBkd7JQDg2w6etkFVSTET0xW5CgM+1Hxb0ks4eoF7dN0yR+r9XTBx5ygGPrUR6VFomYAl7HGJKpb8mi8aTgcBVINndFY9lKDo36OIlzOsKcgs34pNBY3qDBWBLSsnV1YE6eWFjV5cZPNxLogOXeS7BttiCSsMKYKmD+9mAhsF7G4xIjM7sDwLz18Ycqh2bBrb1jppDxnFUWZ2PQ0muySdqPPGezB3MEuCZZIagc5YHH5OIXrujoxvGEDtv/+95gxd0aYPJduEBODzCImAG8zkHGIwwgzaUjoV4SJbgWTodYzICaYaAgHQcNkx1OZkBzzRUVVR8ezljRCtuljaDKDQyHOmtivzCXOUSjTITvS0WRxGH9mHPUNDyDi+XjsIzjlNzJ0S+gqJgvLZpnBKYFNYujMPfH+HZu2YuHLzkZt6vTw6FJ4IM0xCco+zEnzYmnnGYod7cryGsJg4rEZlJzKwqkAGnOOo1Qy/tJIPhxpPSc2vQgFIQSbPpaHqboA9sl5EMKzhHm2cDQuL5mB8gxSHxT0j5pgfLKVGH/5zAGJ8hhOFwkShSs7WPJiA2/8LVJUpaBZzUvdZUG23Ng4yvvvQ2voL1CFp6ZQRVVWe9z22/92bSBaz3FwJ50kK7OKthlZW5S/TiQC7IRFvI3XeE6yA0WliPF5EQVsPrKtm+8tyTSLP4xv2oIHfvvvWLp8Gf6/v5RGrclRdM96ARZdfGFmOOpk6lPQlmz+cP1JRWqQhlOE9cSAFQRmIFFcpbGT8JhNFrzIV4leiQkK4cGq7eTbRmbNuPyuzqpnn4UC+5m+YxlRKdSG0u80ioqJASfJYQmYRQ1pbN17V2HLktHDdjXZaiVLXCUleOe2Hbj89eeEKMJ4iiRYpv0/ZWfugDcf098YkQlmDersBGabkTVE/DJNjsvRH96WmMyWUicg5ZZTam4KjpQyb4TmBJQug0RZEuOAFkpa5CN0dGPrjt1YtGC33O+kw0rLyngtcc0A7b21jh6c+YozcMfwCHqCqehMDn1MixBx9IYPiEcUkTmCDil/wTa15LaXpmQfr7DKxpB0Y044Qw6TCmf4Qh16m6vulRfUjIGuwppZr3tLMW8oBFUp6ZO3HjP9RqNIk+SNOq4kzhsEpIewx8zfKqa5ykzkgeXvxPSgkGISCjY/kgaZABcitVrJmX8BG/Rsn3m0XQMR+o6OzlgfI4XVkr1PqyvRFInhwLiaG23iWk3bbKaFpSJ9H53mzkCTRiuHKeMYYpId56XH+2IcO7aVFqBqeXN2zVEGfhnNlw7UQ6i3uWUj5s2ZkXqZTQSvjAe3L2N7HpU3O9KgCOsh9u7Y6Chqnf0QU8pB02fjH1tezmxiKZV48vAcmQGzdbqnUgkA4L3Xai0woLK5Y3Lbk9j7bHI1ySFWSab2RGBorIXybXJQ4VwFUXmic8cKWmqGeNXsRLXEAaCJJ6ZPzF/qogO/NEavjKQJccZbN6tNOVPBGzjO2BqZpDGZmSlvGPYpp1unVRneV1jfsriNw+pEOSMYHMJqNidw55++juec9Y4w8EjEuIiTbWi0qwJhNH5yNAdqqHCeECANOKGWFhQFpSC4vLAiiSBBw4yP4j/+/T1YOH92CKmOVwRZ+u1ZNTNpfWVU0kUjFDoPeY2ku1aXtrzzssiXBQaohFy9PlvCxPCyaGinzgKNF//MbC7xKiDgJDgU1WQzIR+NW8jqYMuQcrqQNxSqbx+dkIUcRYH8Ly8u516VItl5jciIPaszqCaosg3Q31lHT0eh2GqQhc0hMY9AUl96GUTkiRb/AKRMw5JtATC66NBUsIxDJhPtIDaeN9BlWMJXhLKFww5egfHNf0SVYf/vv1qNkcDoY2iPZ/EbZx1+q91EMG0sGtWgQ86gyf5HcvCJhq40D1JnkAFQ5q3UGYjpD2m5gBxKSK/InaZ5jiZbDAAUiduqhaA4cmNnSDridX7gVXPxtS0KnzrirXhFfXIye++GFqIaJ5ghpYmmtJ4294LVlPCsOh9i02dgiCGsns66fEfyk5CHPWeJAUNVnxDZxSI3MjJdqk7x45oxlVRYZSReSc2OZbYJUVXt9h7+htuNK5ATuyucpRokf1at5cErgFWxNy/TD0ieEXQSUBVY0QRoQ0xnVD8DFgu38cEMBWBxylVk10toOZpSkelbJtWbpyPSvl7L4dkYTh6dyEGIaL4WBDvR6S5M0p/6gGUFSCJg1Si3KCV88dY/0z8BKJfpYfNmvDzCGaWqYXIVtYDs86f2CCJYy9lryEF+ezaDgOepcBqbLEuPSq1znnyvaZ35mTn0Fl9SyrmCssx8+W+T+uTZvEl7PGvJVOBFMS+36n08Kh6XqwiBMoLyoaKBa+ewfRgRcp30VufY3ihXpm+932eM2h8zcbDmFn9yxt6249F4N3EY2IkDjKbj/QkWHdP1jvJaQmy91UjMV3M5HUSVYd5Mcf/GnRiaaGLH3gmcd+SiFHWLTXLEKXtZvIBF8+YhfffSV+Y1vVaoSjYNDV0QnNuxERdOaISsYMPMIPmVaZht9rQyDHXSXKNsg0yBwgky5w0C0OgOd9o/iyCBBATeIJaqu3R9RQAYGWgJxpeShy3ayHn97HRyRfMAFYH18q3OeYXFSSKYx71k9zk1t2DBoIrGOg4Wwvz0aq9chWFhaKehXwAV4dCJd0ak0pMLb2cI7a6/gI0zwMWclHjUU7159cfiuoZoqXBNb9DQm3aP4swD5+H45TOwfudoHo/LsZgWZXsyTVhYZEzEYBLOprbFkha88+p/ik+oXCKCQ+PiBDG5wuse4fgqYCWDJl8YxTFhIBsC0nseBHmuykRVFPEVkruKhki3lxo+qiKrI9SqbhtzNOik+mo1asNbSkJI6n1lXEaMgQq7OX2ms98YNHI6SRWnluhU3V1lJgIwzMgql59hGU1p6r2dC0DBQRld5smIhOd33sEKccUM4uuEt52lrFEIOVLEqRiydkGcN9JoYdGMXlz34OZUf2bRtG76qUxmac1uEBGBZr/K9I95i/qgO7u83JdCsJGuPiN3YeihKE+agulosJhJHr+qkxmVbWdWBU4RSxDEOQHS1InMapB93gntqvapo2QuTnrkjcB2MUb4inrEnedNENkRMgyQbSb4hozS5OITwsOiZhXXdNqJFQxYGnkD273MHE6o57Ud7yroRfKAfWx0b5i5jcW8AAuNTRi5vb8KKTzRZpTyb5UKFX1qxszPqj6BE/xSOnGrRXPOEuzFIY0x/4PnTU/5PJ2B9rG8CV8b56IRGKrDxb+QdRWOx7PDmPlOy28LRWQiHeXw5/mP/t5Y2h0GATf1t3QsSTkRP7MkMdVyPntRwMa1vbGx4nexglS0zZ7YttfsHnFSGKeS70J0badnf08dhy6Ylspi1IRxuS1IDDXzc5WpWPozzT24wm5OYsqxam8H7SzhKqwNNivgFYn1u7yZu6tvCu5/4BHsv3pJMEInJGOQaWSFxJlJYu1Vfa7nuatEPnylR76yjqEC4Su9b5PF/NnDsL0ZvvzLKsgwkld6aqRKn5Q1J+2iKrIgJkaHhgqbrbyXYYwW0rgH03o6sX7HKBrNMm04z7lTVfApXHWqSuID61Ta5K/4ijvfFk/rw2SLUzEg4UX2K2W0NP+aTZufXbeq0QlXKbniJtW71u9ITH3YgimpEKcznQAJizIvpZVW6Z/2oH7r1ifxquOWpepfzoSsJPXAmbaZObjjhCyccxAjAZwua3EuI66OJxEz3DQ8Moahob0pz9x7DqOWKk3Eub3dfbj40g/ghl/fhO996x9x4UtODquyTekUM6eOTYnJXCTMRzki6bcS4pjpOKssr60ZpCYiGP6AmlTMyN5osKouYIK4ilDoE52u5GTiprUVHVnmROg8Ec2VGc3chPexzMm5hy3E3vA3brgWC4GusSnk2kdveM74EtKLEPuPiX7h2RONZg4pyv5k3TjOAu1Fvp2Zt1hXtMjbxgqX45xVXEDKAoy1D886eCHGwipf3SuDcsoq6/v0tqb7BSF7VHM89ZVHL8aNj2zFKbE0R6mEEmfPRA9cYSaO3nLEJy5g1dO2NhawmBRmsd2aZA6dXb2Y2XcsZixfiLy3gRZreMdhbhyDUwawYcMedCybH37rwv6r8k4gLySzjOTbtIK0pBR0BkgER9S4SAItKdLiosJGGvI+YA/NLyFycPITvFlD8JV7RQM5Y9tKf9gJpwmiLnveV1tSiJFglhmVx8ANyrNkcdWlmjERvOJONS97Hwp1Nm1fvaGtoHAuESXp4PT8BiXTCaFNFI4YiGjWTof8vHrO56DKsGbSON45HlYqp/d2BolqmGR8XUzIKklDfvmjYQqmQxx8MIdiieWCds7Yjvo2ITIcpuqXhCrVLxQJpkKrvsqOzByJJGXOq9v+2PX4318O997/KI44+/1obNuNG6/7PA5avSx0s0GEj5s6usBIgzas3QfhTbt6Dfb9vYa2az3+372qaN7eB/up2cgpFQ4GnExL4q+l0DEopym3UzjjoRl7TASeGYCBirRrAas5rCAzr9BqfVGY4EbmcnFzHeOJMVNYzQsYeXCBKNH4RoskZNeOaOQhfszJ/s7Q0qWcb2/CkbxDhbI8hcnk4Vn0xbbKqQaKRBCvGiKBGrZ0BjEp65yfzf4FIZ6yh3ECqd8avqvlXPfWqLTBEx13JXX3TcUxp10Ot3wBOjduw2knHYPGxBA4zNgRtMPnrrgGu4PvUvIYDHlS9lIqAJqnOE0UMU5BZl3qPtEymwQGWL1ObsI2zoY0kYesAPIkO1m7YMZzMv74asX2PC3YhPWMzvDbx953KRrje1F1lY0JxfPN/xmToF1UrZstj+cpNRd7M88sGBqMyD3JaSfWpmBNxIEJ4iN+kK8YeunFSWZR0Fptm0q4M7lujCvAZ3zKBU7VQEo7IZ1imciGlTRio44tNWNNMnpvJlA8dAiKiPSbMFoF8+SDk6Qs76tIBm8xkk2KmPvej3vvvR+HH3YQGpMjKerQ3T8T0xY9D+XqpTh0aifu27gVcvBABcAdhkYnwUfreMP03POcepELHLEmcpzVB86BcURvomBapGTJSRSnscEkQ3mia/zcyjRjE4eem217+p5CxaVrJNGL9THtyjGbLno4V7ra8ABVNmDt69u0AM+JRwXJmUfScr2zTKBCkv6yJuBpZ1OLNUZGU1TCrokfqB4Q7Uyj4JycBwVxdAlFnPY1J4J53c6QB1lWpEwG4pWZZEcKcTOrDE4mUw2olpMwhLCgo/LS2gbHWLn+R1HoDiiWalmhLVnF0gQ6h6qadKg4i+H171dcjfe+//P41899AO9847no7O7GYcdfjL3zFqD7yadw79Y/wHUcVOlnfGZzYhTvf9PLwQfN2klUYRCVBZgELvFLvIqfUYUQYVQdLWPdR8rTZxuKgAiJtmfmTtorA6qPELgYxmwDhXh7jZlMmM1Ld0Ah6n2ah5qhOVVgXw3LmzCEoZn9aSGsZImSvbJAJSTNwi8kogBE+q0QAJRsWKeUiK+UpK3b7wDjtcnEadQEVVWUBlFCoziqrHglNaoFyUYzaAbuL+ciw4aKAM/7SmnyWrxXjLRHy6TVpW1vXtFFVKyYTE5G/NZLXo73fuC/8N5PfBNHHLQUX/r2b/DwWAilPfooGiN/TOUzBHHoX1mpazZkk4JqC1KrRPiK72E41a7iV6ZAGNb2Xy8x5jHQHhgQdW4Ztmom5NucOMJGhKHmhQpItqF99QAwypHPU0Ng6JkTFCa99xXN7YSIxn429h9XLOOKYkw31moW0ZX/6HeogBSGdvm5GiFyYvD7XJ/d8Ui8erFyI6X5Mip72FVNJSws8cVmgQmW6gdnCKxMoVfBzDSjc8z5dq1CCuEIskcAqhUiotb7riz6iDqcxJbHfoK5y1+K0y/9Z3SE2G3jocewa/OvMBFs9Hq9z4xNuTOacs9sG8L2XcNSDaw0lJFep80HJipQQuL0XIYvzyNrs4LMFWVcuLwwYiti8Tg4QjExMYljDluZ/BBfoZqGLM20mPIkFm6cIDx/YnQUICtycVJ1A03EzCm9bRjUnnTCk5oB20tSnpQc8dWghAOzkyP/jv0dTkGoznNOHaHvnDWpyWQUp8jlFdQE/W1Vwdir5iI7aSGhbfmeWREkQaVXaWa5L2iXfOU0aeouh44YETRf3iAiS3DagErMHT43Sg3FpdApsqpmhnGVyY/PzTnlke+mBwa/5Xdfwkln/02IvOzEfXdfhd54nhHv34RuPueednYN4uK3fghbtg/DIqlqVINynn0JGqOvUTjMk8NLx5wTk0W/tnSG7jQuTo4DzxflA0UGGB3ejjt+8xXMmNYr8+Es7hmUdMxcQnnrCzlhSjY7VBjjTy0Zp81kVQsur3ncu2l3Wnz0NMaCFpMKaJUHMxDwI2h7MD2dxuvQti4A+S4CwOGLZmCy2ZJ+wHspma5MXwpfMh9J3ZjCZCnmODefJkzCUZrNGo6f7w3jMkGg0RJo/T3ZOW9j28L5Dr1dBe4NMe6YhRkPKZCtsoxuqTgOcgkI54Q4cYND4Zm9C9Mnw4htRIsbL0449hB8+d/ejrmzBnHg6sVhfJPmLle9PPxvfHQXbv7ZvyLtZGxD8/9rr4rd7zA5PgRXESw1gWwed355XS0lA9iz9rLIznd4Es7YBhVRsmiuBzFkvjhw7iDotmxm0u9Vk86AhHOSPsIbz/WoLE92QO6/hDxdBoBJrgVUiVYZCnjtB6TfHI2BNRmYNsQmnsKFtA/StTWQhUNzMRmxRFqdnm7nXJ0vk1fsbzyl7ef3bcTJK2fh3o07ccDc6ZjSXZNoRBZeZuhsv8Xd/Kn6VUFqzhlSitpW4UWIl6fiR64v5+oEzfCGi89S/9D1pFtj6Te0WhDUo4mJixnNyTFBNkYNBirriMkIvTJSVUDMdx4w4CrtJOEOq72pIgGLa+K4JhV+Itud2hNMF1T0UBYmh107XgEFiWSxba8jT84q174Rk4ptelO9rZvOb5XzbmG1ntNgRQIuJFXmY0m+NPaC5DjfYXfEGYZMC4GuQv+ca283ADJlNY/LS2XpOhNYEt1JGvm055LCUEwktoV19aushBud5WSnyJ2L5xPZnVOmCDemCnrBzJgdTIkTV8zFXeu246hF0ylHRpP98xY3pLooOS/GELxUVGpHk7hv9MBjjwzXrQ4/dihHcdJnNJGovkzgJAwsmhOsnnBdg4wob8JsTE4OhhhH2bcRHMyMIhDqZHk4UbdpBTg8v9bZm2pVbnlmCx5+7Ck8vHYL7luzHuPxVLsw9CnT+3Dwsnk44tAVWLFkMabNmBXGPRHkeFzLmviqqWJFTd06CMPDjgmefKI4p/m07RafC49cAQzW3OVx0ROTEnB6Aov3XnQtLz6K1kxujzr/uUvUS28yJyULXGvziIKrOMnVl6OFUhEMuLyopJaJieW6LOmuBVmt5BwWZivOL5diOKWXQVc6QNJY+rzYAm+dUoeRiRYOmNeHn/51U1pqPu/wxZiI6Go2e0Thqxc88iIXImq1MgEqppVOKZNhdHgHHvzL1WjICiKM2uP7FOliubvRvdvRUa9X0ElCdkAlyuMrpK4if/qVrzUOdxLdMKbO7kEMD4/iyh/8Eld865d49K9PodXTg/rcOeiePQsd/T1BCDoS+pUbhjH5x8cxsfknaD6zFR1hcp5z+pH40NvOxfNOPTHViS8D40fh5zCdKnkAZgxsE/O8x1eZt3zSYRS58jBNPP2uCWIaTtVxs01fGJDTKAxE0JlBbKREnFSnc9g+j/LeV+nNM+nlIUZVJnsmI1MdzMSFMq3EKandND1pWb5UbHBVL1oSnIgxub2sRvLyvkO1n2yLR55eOKUfK2cOpNZHJ5p5p77sZNF2WdRTtS9vkIRQVYTMQWLIHdF8Gd8FhufION5ZRLCsjpQ/o4yuaMO4zbEqOyC1kNXXkEtgvYZcUrCrbzpuu+1uXPLez+GRex9H/3HHY+YBR2D50SfnPsR9oK2SEFtF0i0I4z/oALjgDNZCn57YswfnvOdrGF/zbpz72rPx9c+8HYNTpqQFs6JgmuTIBkuhRNA4V5xaTyXvWPuQn1UzO3/y0TTWfLXROCe5SBzc4CxJVqSFsSAyX2ah4yCJk7k2gFX6CmwXxiSC4+2CmVE1qshi4KQWfuTfurcPZluJBlC2mIGtK9qmMJgJHC8oqI3EyO8JzbmPrPs0WSszy1gjE40B3KKH2qc8zhz+a5E2MQWO5RoIi/Ag7RcW3yHY4c3NVfSyZgFHnarGAUc4vNzDNKPrQl87ugfw5JPrcdI5F2P7RAfmnXoK9jvhBZgYG0m+QnN8PKvxWHA0CGnUYGBHLrYT2kjlo2N14XhdWBSb95zj0HH6ybjl6acxbdlZeNFLTsUvr/pU0GRh9bRsmBVTFXBJLDPIyfMHqP/mM4dpLlTBSAxBYqapUNQkAHLAIgcrvCQHxiluGXNZ+MqZSl5O553BWvmTxsN8JuxoeQZmYZKT2ughz4bUHhATJjdO1CohNV3il3k3N2UlsgrzFAwsjbmm0iXMVFFENAFCOa+TAyK8rLQmlUnEIldeGNJMMMyEWqb1gPnWoHskTGcPJuORMjbJriIIOkXOCI5jGsEaCT6FR7v7ZuDlr/oAfvrrW7D03POwbCAgcGDy8aHdAak70NHbh1Zg9qFt2zCyZRsmN29BOTqSVU30eTo6UMyche4ZUzE4bzb6ps1MSTSNkRE0Qvs9U6Zi9ZvejLvWrw/29ZH4/o8+g1eedxbGR3alk7A9lOEhPOplRJH2klNOtSjZF8rmolJA11JU1KX6U+nasMSlfavR5n9y2wi2j0ykKF1fMM+WzOjB1J6ulBoMZUbzoOwjtjvwlrHlN3IcLShKlNGRze6Yqdh+gm0smyCZwVnaWMIgEl7IwBXlaB8KeP9gqndORAUUSS3msE3m0W5R0tVUgDSFvGq1pO5ltHyVQ2WRJqJHR1cXKvoQ1rBQ9I8x41ZwTF/2un/Az779z5gMIceiYGOkwtJwguIawbBYL2MKzvd48EumLTwWPcc9B/td9obA4MNojO4N9nh3YrBtjz+JXbffjp7WJE4+6zk4943PxREHL8P0gUH09vYkZhseGsGT6zbgjgfX4hfX34l7fn4tMHUaZh13LKYvCn7O6Cgm9+5Fz4wZ2P9978Glf/dNfOE/f4hbb7wqMPz2lBZtadBmeKXOR4e002mSXyyHjVJKOpp1EMUS0Vx8KBnU7IytD3TX8esHN6eqywfNm5KO94yXxXOSHt06jLU7tuC01XMwva8zCG1ZmXehKoGxBT92WtOphCATqXBmYTvzkiPUrgtiQn9gckRnJNZ6iQftdoWQSdOVIjm1Gtf/UAbLNplTs0lS/XIZjZsf34ojF0zBaDrK0QnLMeWSYtBlCGH4dtZPZlJUd7F6lgZn6VdPS9kqSh09ffjIZ6/Eo0/tSDU6c7nIOJYUBqJErDIdmbJqySz8+xU/Q2PKIC5728fx9f/4QE6NNf1VAXXkHKv9WhXgSItO3P/QOhx11LlYftnr4br7MDEcVmE78nGRG2+/A+P3Bdv9La/Ex/7zSixZtjSlFTcaY4F5zOEB4TUzLIatWDobL3zu8fjoe1+bQrn3PPAI3vmR/8YtX74Ws17wQsxYuTLVrp8ITL/wrDPxZED5npnHYHTLnzDZ2EvFcJ2isQUAMhucqetYUjILlWyVtRZPAJfIzim1JjmLz3uKJVSu/POTuPCoRek4+3iMJ1Oyv8Ph0IXTcdLK2bjhoc3o6+7E4QumJoYHc0AKspNZAtUYzvQnHjm6eXgyaXnG5ditFTP7KiOss4ee2cRapUg28ch4iYuOWYIf3rUBA/FwX64mUEEEL+pKA9cgMyN/v3usGSIuA2nRKOa0V02XnLKazSVb0JLZ2xGqJC7NjOyYHCTNrqgKT7yfTqmNhwt/6sNfCubDf2I4oJ9Lh6u3UkXzgu6JkYglQRBPv+if4OeGKMiTa3Hlf16FybE9OeQmNCJJlkw/SHp71sA+VSfLR5104da71+CU096A/d/+zsBszWCTj6F7cAp2PvEItv3qOnz8n9+Fj/zxitDEZHjWWDI5QJPFi+Mm2JRo0JqcTHZ77M3+QThv/tHnMLR7GC+//FO48ZtfxaoLLkYrngoSTKTeOXMwcO6rUPQeFoTsrlRJrE5RVl8RXW0/m6ssrp40F33nFNnVL1M0ZvCLv/UH5v3GrU/gTSetxI5gusSQcZ13OjGnhfd7Ridx0qo5uDuEnDfsGsXsgbyBW8KSnjUl1FcHxMd8es94MIlqAZDraVqiOf3wlj1YFFaX6wWEnyolq1N4vqwyW8xIGxlv4fwjFiZj30tdbBiTRXmdGYAdivhVNIO667Vkl002vYTF5GQ6r44lbyThSAvHalv5i8RZXg4PoOd5tUTFiDIaJvkSaOCs044PbY1VppeHX+voxt9+6mvw/cFufmwDxjf+PKya7s51F30sZNtE78AMVE2h//+v++59CKec/gYc8La3hbZG02T3TpuCx396LVbO6sWGob8Eesd68uPBlOlAT39fW8/a3/vqA0xYb8qUbvz26s/g0cc34pDjL8S0k87A9FX7oTkxglaY8dVvfAu6px4TfIC/Ymxkd9AqnDvCkMFaEXKwWUJs194XCJDto3PJpI1/uwLz/fL+jXjNsUuxe2SS81LAJ2jIaR3E1JMB8Y9fNgvfu3M9Ljp6cdqrbP1ImzXq20gQX4M9gX4dNWqvCMxfp99VSMRBzc5kaY5JgaRpxuSNUVE/VFdAfvcVZM9oXsj3fFzgWKOlPfO6dO3hjYCYmKrTM4U4wuPIMCvZrnOZ+UE2PPVgH2bJXcu5MbECWldwBCeC45edtozAN9x4J/753/8HwUhGV09Yuax3hzabMsWR0Zcc+GJsfWYP625lwGQHKWPGA82mLVqBZ7ZswgFvfmtgrr3pst5gf6/52tfx0b+7BB/7wJswMrQdfYHBX/XVP2LtnmFwdp9LC2V6uoeE29inYloTMEU/Y2Z/L37+9jOwbOFUtHbfheNPvQQP3LgJ8884Dc1oywekX/LK12DW8tOx7ambgxbZBS2NyHQqCLmLZKYmpufnghHdV0KOnP1Ycj+z4Zz2n3bUa7DpJYz6Gay98gJ9FzdVH79sBh7bNoS+4LDHtZZZgz3oDmHosUYu08H+YWk4nnmMQ6IRoJUHlBfqGjenjns2LZxGvOCgJaZBWsCeYaR2fo6b09YoZQd4bz5RLrbE2U2nJCZNKMGCZHzQVOdxMkYoylImXhN+lKAwmoeFtLO7Hye98K3402+/hrG9O9IpFuvXb8GZL/kbuGnT8PMvvB3nnPdBQojcWuzV+N6deOKvP6MUYB6KhuDETwl96ukbwJKDXoZFLz4HY+O5LmPXYD/WfOW/cc23P41zzzolPHtneHaBkZFRfOv1JwZb1oP9Jpkgqx7lK85P4muzDRWP8xnZO5IWhEb2bMNfbvomXvfWj+PqX/4aS19yDiaHh4D+QfgVh+NVl/8Dvv3fHw7m0AgqUSh6phwfI4hWGNoC1qHN5mKmQUTvjs5auvepHcPYb9ZAPgMXgDP8Y3UwRTuEl5ZO78X3bl+bkr06g03/lye3BxN4Ei8/fFFYfGzA7pT2YnLl87M6yNzkfTBWyuIT6lkaqqYAh/bs7n1dFWcbzhHqmiadMmnpxcrSCUsNZOrkgL+rhCllcy5MpAfOkCergNJ7WeVLjm1NVWzVyHBib/J8vuNDX8CfN49i5cEvw+MP/DSg6x6sOvhVqC9fiDeccwzOfuGpwWYZgzeGUUKFaOi2RoMNyJoHFc3FNEFnJ971kS9gaMZCTA8LZWWwrbuCjf7wN6/Ed77xSbzsRc9BI5gW+Z58ekhzYhJ0RBlYZwgfIxOZTUs+TFhOSGGKTfisqaK6DkIUsyK/+V8fwfBrP4jrf/8HzDn15ITwMw47HN//zjfw9++6GCuXzUlBAdmpRB2QE/viETMNysPx+8bOJL029Kc7CNvvH9kWTNVGCjM+ExzGVwantLTbB4VJSjHBBNSQAXEkIPirgukznMrpeSwJTnlXsD+u/PMTePXxy1NlCl4sA1kR8fSi20PwoV6n+Xa5SMDqeYPggeXQo4fkHMj5795IIjMoNKZpOyd5hrRAoJsxSKL4erIPuRxDUn1e7b1IFFWDykDJiiL7LpGrlp/Y5A3biXa+wuDeMr3YtfmbL33mA7jxhgvwUNmPC97yj7j+htvQefBqnLawD//9zx8IYccGERIysfHfVGO9u1e0krWXBRgDJXfvGsZ/fP7bWPWWtwTZGEO9pxfrf/0bfOi9F+JV5z0/tB9roHe2sY3FobZj5QVUWkGrtMCVlL29InWl0Pc++ymjw7vw46s+hxWHvQyjmzaia8bMEJocwuoLL8YJp7wOQ9v/EuR6F3gRhM9I5XTZOGUd8YxVOic8TweZoE5X2uPf79+5DhcctSTVoW/ReVLRR7OVdXl22Mm3VgWoz9F0CyZ+qi0UXzEyMx78vOjkfvMvT+LiY5amlBKzhIeVswewcs4g1STID4saYLzJpm0mSp0zCzmtEqBiONAFJplKDyUEVCBsCM4yQHorMKXmkZyEbI4g4XRNR4KguRIOdttgmtBaDbycU1ldhGonsW8NMeMr5rysufMaTF30XPzo9vBFWJhZOTGE3/zsWyESsjOo4T65X1k9OFy9U/CKS/4eW/c0oCUTbHGpjIgPr92MxeedFyIfe1MfGzueCSbEHsx67pl41/dvTaVJeANW0m7wJmVZ9G9638rhqeRsL57Sgfc+74C0aQMix0T/ZDBrBIV/i1p9ePdWPHrnD1DvPQIHvf1dGB2fwGS4p7XiIHzr6p/h4pefgXwOU+5NTs8tU0g3nW6Yzq+qKQHZvCvz3Ax0d+CqwISXnbA8RVyaXEPIOVQiezTGtCmlQAXo1AAoxawqSZslDVK4dD7XgfOnhhDjeDp/l7Wb96DSNh4tw6wNZN9D135iNKZkYjthRJtyzre7dtxxUNVEIuKISVkzqPNBR8HLfaoZnLER2QD0sHZhfqI4RfFzs6VCkAhCRzzyOLgfMLYdNRedprHA8Due+jXq/Segf8YgHt10Y/quXqci/E4NGMafmFn47re+Ajt3h9VOOrmak+KSIxeL+Ad9+vxX/xNWn3Z6QtDu3n48/N2r8MCDwdZvTuK0mQuo9g3SBmspBQdfBQjkCeS9oPF/fWFRbDKFG1UPSERKOmvmg9pOac3BLPvRT7+Ii97zRSw9+8VoBj9h6XOOw1uCZrvklS/NeUPcCNm9vN1NQov8nqlCTP/I1j04eeUc7Bid0JoubGLAyVILuCS5M8fMWF4yzM3CahVnbGPlzH488PSeEJufppEcukgcaS8hDhEeahD1SNSeOpVmSHfV9AFp3rOE5M+6NUqIzIxYODkAtvryqdD8iERzJGszDZZ9A55pM32K7hKNIWbmDdqstkpIASU2WSpjML2Jz+rojKt9IxjeekNwJntDZGZnMLU74BVi5G5BmsCsJxy+SqqfcciUYCugehde8eZPYdZJJwZUH0qLXlseWoOL3nAeVs2bnsro2V1YjniLHWzQ5MGrKmYzjp8lQFJouDYv6HlgH6qrRR/R+byzzsDU93wOzb3D6RjJaGKUi1fjxpv+hJOOPwgiIBTh4QSq0jAm19Dn7sX324JtfuiCblbhJi9IO+IIZRWwzKw4jSqpwOfrRAMS3aIwTcSjfQrZcgA5ebDC+Mzuud8MSvXesFB04yPPJDtI7WrmYy/EZ6HOnW6B84XzRGgRncRQxHOeFlljCOm8IxZholESarCYZMnnrLTOECdtNFqQ4Tr1B7LHnvestFgjsHkjiOJhy3TwM3KyZCduueMe7Bkep/E5LSNRkLYJPwwE5ke9SxKUrFmQi+S3xClT/VumTR8/+d4vsd+bLk/L9v39A9hww434xo9uSjk29ZpqM9GYApSeec0IGo0pRTWVe5zRqDbCUf0dltfSdzHy9LNvfxKnXPwJLDnnLDTDAtb8Y4/B+z91Je687ssylixItHPI5Z1gbJ5y1Im1RhTerqAMY8Ql/oVT7c57DAStOaoGqqrTdgCYaGCo+SxZs8gRv517x0KItSPV48yA5uUsVwEOzut3lH3rdLtefSww+en7zdnH59K5IHXg2ldO1bUiQIKgolPpZckaiQVNqQIrq2+24SNho0Ny21PP4IA505I5QNSVTdMpEarFPXKqqpi40mMLLPn6yIivfuv5+Ni/Xo2iqzMdl543EpPYlayZkOo6vvbyc1PWoW86YRnPzAWv+2mZWwMz3nXvA6jPXRqENQvgro0bcOKLn4OO8Lwybr5g1BFa/S8vp/2Gfev2ZWZJq/Y6ZrtTiB1KEKiccNzR6B7egaKRa212DPbh7r88mCIuHZ2FoDJrUzGvaOz8TD3gGdhv7tRUtvqUFTPzvmAo8wlzOwIcQvZ0YEGhbUT7X3xEw7i8DyDeO9hbw68e3IULjlgc1nwaEHPF0McxgQApTiVkdbQtb7zRBO/2ZtTJQqIlFWwCkONBV7a+QfcQCvPoPcn+NIwlkuz1WR1FTdR3qhhQGlXNNQi9bv7mygeZqDzDKrTMLeNhxfCqz79PCIGKnq0GN5lLJkZ35c0LcoVeryfFZaGt1Xvwn1ddi8GjDw3Wyng6bn7H3Xfjf777DxgfGwYfJy+T2IbI1Vg3Udj7KupAumZFQRDQWIJtyJ+InvrQnBzG69/2Snz7rvUYXDg/hzwXLsWdf30QJ4S+W30IvrfUduHV6WNbu5tqhe4ab2Jad1j/aLUk752FumX2NzCit6RcdaYix1YkY5KSJ6M8TAmrozcF6+OoRVNTaFOo5NrXCApBgpyxWS3pWOiqE6AbpfM/fEIxXQhRMTASBf1sbcoExs6yiVfJ86ielcpAQKEvTyrI7TPRdK3Yq4S5VGkgXeMqLJOuiPHn1uRYYMTR9F9zIr7n/0ZD3Dt+PyLfNSfHUx655/bbX87qtTCRwey54fo7MX369NSPuPGjsXELjjvioIxgBpVlHAat932Gh5bTso91xMxVAeS5qAgsjFOPzHytxiTecv7zsOve+0P4swdlQMgpB63Ct3/8O6TtihRujK9cH1OdUkl4gy2rEaszt3DmwQtw7/oduPmJsAA00UpnLI0Ei2E0LJSNTZbp/d70fZm+i/Xcx5ut9Df6cvFv/H4k/t7M14+FzzFpbNvIOL57x9qUU7Vwak8blbwJTAAcecnfm2MoiVl035kloFN0lgJKXsOGTHh9pK5TJmvT6XHbbHawSSMBPSpCKScbA1IThdHZApzwBu8Vpedn7ZOPNrHfqyjs21P3LL325inO6FFfQXW+R+/M4YYWNobJXh3j52NBeIKDuni/RXD18Hli7z7j96LOYBje9D4bnEYTQbWCXFTVBN6AiS7Fm2tJ+y1fuRw+RpSojEn/jBn441/uqbQFJ9SlrMe6mQQOM+cOxTb2BhP1jGAKRzNm7fa92EwlyRllU1BTAdYIIXdRV1A9EyY170OYsQsXHr0E4xPNVPm5chcDpglk2OiOt1XWfEzxLavcxN6yVlX1ssEaolnV3uYUAxsBsXViJHZstIDMtKiYrILSQoJXgZOEJEAdnVLDiiXVBslayHAFIAwmj+ZPLEzIzJx9AifjSi0ElOvo7k8x+c5aXZjMG7FRGoRY9tBQOgG7RbbceAg7nnTCISlcqf7FvmIl4XrpKXG/7I9EBWgogcloO4NU3I6YMJ6CUyoU8buOIJDT5k1FK/gRcY46Orux7olN0p7nwDUVb8qRsqaJPHmycnSNIX7XyOeHYemMfuuymfHDML88Lf/rrPwqUnP/xyaa0KnzunXQGQD1ymKu3UH2OUpUcPzUORuu4xilRXCeZmeEgr6T3UJ0hXF0uP8qYPw/Z8CChwFROSnCU6ijKqE5EKHB4ajsWNpqY9DW0r+xalZH9xTUu6eGQMvU/De9n5b+dnSb78J/f77zIdSnHY6OWk9KjmP16IQ6zkyXw9at21EM9Oanh0tGduzAiYevRkwki7cUUJSTOYVh9DQ+w8UGfCD0sd85+zOsVlD0hNIrcyf5SC3MnzMXrbg5u5XXK8YmIqfmpDeuAhBXbLOGjgcx0KYPz33JDFR6PSbGmZ5IsSJk2zx+X9L6iWYmUEQHGbxalB/jqZ9l6QUsnTN86DVKo3MACRhY0JK3FEXKiWC0gqq5MEBlato9ZLbryFnkDul+P/AFqCwOlLw4wcv/KhjSf6+TqqaT1xnMpKPQI0jwOCxpUdILKXoGZmF+zFjcuDH0N8SE43muceNGYaQwsnWI9sxcsQLP7BlB1+KDcPmH/g1f/9z7E0Lbl/SbfIVUCSFEXWIKb9wdEtMEpk0bFI7L1xdot82tWhe7zSKxkmKfO525IL93Erprb58JnMOnLSxdPR93hT72TJmSQnrNiQblwKiOiM557lfe68tMo/6Gk22Y8IzOxGqcCVl6s0Ga77dpgyoUHIgpTejQSLvwgkTgyJyyYccc9nT6lzGGQql1QWHZqwdR81ZlRImPu5ViiDN2OMbMC6oMoPv86LAwFgreoiWDzejLixOlYWypZMBzzhMEJRTrsqiepJIv7WqBb2cW0haxmdYkNj/yFPzkfcGhUm+eOE00R0foRG3F+ajPnoXjZvfgyn/9MOWOQGiUd+fQdBW5zFs8+sSFiIyn84VawWbt749ClVGNNyvr9Dm0q3SxheEqWomHJnTwZrLh20KCjrQQPYVVuNUS3qezTRPYlLS20jL3k/r3dVBdF8MPxKgcb7fRNo3Kecuj3On8G4Edm3+e9jFL9E6EXumgtjjnbXlJKckaBmKBCG7R/Kg9n/munrviZUCAogmHFOPWqjs37sSW3eNpcST+9sJD5mFsvJUYXQ569cakdHlwOmhXQSNDE7GtuPSCPN0qCS4pEevHxDzpVpHy2rkimKsQSfsgn8L/m2Ws9tuQhzNt06FhvdNxzJlvhps/C60nN+Kmu28MtveOsNxeZG4LiP3Yk1uwY/ce6jflfof/bdu1MyygcZthQnu68eTWITy2bYRMLNKW3jqSMUm6hRq1VqbfsnDIzi3KP+GFHZ4PzQ5lBqY5dNmM6gkLhQsHu1G111VDjozHeZySnlmL6NXhU+ZoScyUehxrxMS1hvixRpT1kDnxhtEBBUfwPMJX5oFD1WzLyHpFSQxCj+adbcInJsxLfJwEljduFkZjstXBUMEHSXgKfdYtk+drFBk9fV63eyQdAfiSQxcEhikxHGy8Gx96BietmCUZbtbk8BShyBJIaMPIwSteVNyTV1GFVUkdOrVlyH53uYovqzpiWMeTLf02cRVv7DnyYOPcdvVMSykCBS39d/VOxXmXfgh/3RyiFMNjKHoDSgdbNeabM/E6Onrw0S9+B2vXbzdRg2x1Rm7o7O4I13emMGbP4AB+cfsaPN0zPZ0qF0dT0LoDWDB9Xv1LMuNQ2UGfE6WUQdPGZ6q9U3P6m2ynzJIkCNYfVk8+9fIjMT6uufdi0waHe/2Tm1HfbyatV/h0OFfse+wQF/VPJk/oe72LuTtrE0/oXZPtdXbuaL4iA0YtV2M0dqIhMu+TyJvU5czoToBXBKhoY3hXUKSPeFQ0pEa6cqTPk5PuZM2nLqtwooKqLmncXvXQ5iGcdfC8FP+M10wJiwcxuB/r+41MlsbrzQNKphzZepLVyE4oM3bpxDKpwdh1Xs2qsrIA5VE9NLZIJkSLBu5spyu4R69cJhdPbdiJA/Y/Gnt23YnOjhKdXX347Be+hf+5+QH4Lc9gZOuv0TftNKjuz+1MjO7BD/7j701qgpI41l7smHE63Eknpcu7ArPPak3g3y88Mfh9E1Bd+X/ystf+n7x/tiZKjI2Om1InMFWU69iyfhNmHn5sWi12Qainz5ya2wtzVnM5DSMdT0On3SWKOjbAvBEeLaqlEZFsn+RoHugemOgMZHGQ2VTzTJxJ3wDU1gHUX/Bi6viKyapmj2dh4HQHYrq6VUWs9hW1spqhEn9SeSsmyecdKCa0SOoFBsGSCD0LE7LdxuGjUpweCFS32Bdoc3JFvUHtR4iw8KCNWuWJopjro08+AcxbiSnzX4zJXb/Hb2+8DR/85HdT4dMbr/t3dHayrS14lf6msh2To6RxdVDxiljCriulIeSIRnd/P26+8QZEMZ4IJoMlgmeaECfYfpIKQ2VHDIwJYnj8f2d9orFdlDLIHsOiwztGMa+rO8zhXowGR3XFwUuJ2UoyQzLDRM3GJQ0tVxTUnoeaH7GCW07/1i2TeYsmgZ7UoaeEE6kSzYVJtQJzgjJa5ITUpme7noek37PwsMJn8GargMkvNns2HSz5M9NE5+vUVXPw/TvX45VHLU6d/P3DW3HYwqlpNwkJHTmYTmyRjACu4rg4Y3em52jsLRGwlROT+SuZxbJi4GcV2vSAN1IPIZNOiozGgPzZzz8Fn3zfOnz4y7/G7CNei91jY2F5vwdf/exbcfLxhxClSnk4T3IjoGBH1wAm4vXOClXM/R7HMScejPUjwQQK2q4zMPuOp3dgOG6FiwVSATOoct8B8oywrneWexkgMn1jkKAxPmbSac2lDALuf0N9j7vvX4PaogWpfGBE0eFNm3HBK47jm7PX4LNwR9DiTWA2MF1yqRJi+liX/Y6gMYfGGigMNwn2ytxDrAd4L74ch7pzaoqjMXBSGWAd9kIWJ/JT2OSPfVoyvRfLwn8t8Y0yTdm0qSt7M1n1Xbo4OaDAuYctwPUPbU4l0g8PjD6rvzudNpw6W1YZO6m2skokTvLZdwU2jyIy9OKpVPrA9oSZgM0Yz4tJ+fdU7VV2LdEzEkCZPhGPxVc8V+hD770Md9z7CH5xz8ZUiest5x+Hyy4+J50kV6vTDn/HTJj719M/A3MOegG2rdsGVqFSaj84va5/AeadPBWdM2cHu30CfYcciBf84zVo9g+kCgXcTm7WmUJONNFOd2QhH+EQA6TigKXImM8nSP/6PS/E+MjovijvMuKBtSZQUVCxytk/XvFzzDj84BAxmkil84YfeAjnfOW9aQzsKEZGz4lUZHOXLeWL5PRRj8j/mghAcMSCaZCdEKayA4z5QnyvpNVdLGqqcJSNNV8CUYgpljWJp/hA7kvuV9YSTToB2wJsfm5JtR6hnWHbW5OIsiMUCX/G/vPSdTEfIm6XKqDGv4eqWw4p8WjFZfTK5J4HYp47tbcLHJYSxDPx0jqVmG4RQeJSR6s0oUex6bR9edEu3LhrPpbI+OlVn8PBx50fLJpF+NJn/zaEGHcCtuCSQd+IqHFP59YHr4f22BtOAoaG9mDKwrOw6o2XpXz22fsfiLHb/oh7b7oqXDLeRmW+X2bZtMuS2Y7OWQjib3v3jqR9npA7jGDCmG4EWFwOI25Oue7q32Llm96Q0o47Ylp1YxhLliwMP08a7swzVqY6L1EK60ZQ8xthwkjTGMrkLUgEQlnpKuCwJrTSJ1WfybRJaE38w6+W19VxT7Hq5HSWBDkeiuKyCQgKlND1oLr5CewJS00PfmKR1Ucj5cB6Aj4aRAlRWVJqrDBzBzspgkEGiWh6LQ9BB+BZtzq9JoU7AaklwxWGrbK1wsroVO8ICz9hxDUfzesxPHDbDzMxghNZ7+qjfvGqrVAkvWJyV3N8t9BIVofp38HBKZgV0W1sJEV5ajMGcd9PHsXWzZtSzL2WdzbL+Cp53pYHYMKTsKCnaFcvXJt4eE2xRpWQnsK1UYN97bvXou/Ag/M6R7hhx+aNeMWFZ+Z9sfW62LbRMY2hyFRUlYTPJlVJaUHHocMqGnOpvLz3oVTtDtXs4LHTvRW+kpGwGcXoTOaQxQfqD8gK8d6WzKYu0/d1g7uQzbwlb3dTe9ueaJal3uQLk/qUvHLlaRmUE9OAS3AUsoTM7M/PsZMtmZHI9mhyWJjpnS5Hq2tjkI47R4h/2svfkY6kzwSCjNzWbO/pyLkgMK3lfujAMi1ZGPOrOTGMz3/scrzp8z/DvGOPRGN4LxaddQ6e/6q/x303XBm0yR5iAg7PthHJ65scViSG8oqO+7KyFe+2byk3hl2E7u4peOPbP4UVF18aTJgG6sG82vGzH+Mzd3w/VQmr1ftFOThOx47zkwAO8BVnT5/pjFTKaFgDeAXRijkrgogKv1jTlsEzB/ehZgyI6cm2YStEQASmEjU/mWhZz6hBEQDqjK7YGUbzHGZipKnMDxTnOPxDK11eV8G8aG6tPJbckdRhPdHBxoRgIzuk8ox0ZvRoCf5ZHSWkK30Tax7+JfaOjlDEwJG2ygOT4x5dNskGPvm2sNA0wXhC/9KqnJCw+orjec35L8all30MXScfj7FGA72LFmLNDdfj3vvWYL/VCyqCze0868vkgoOQjCNoyhhscOiItTqD2uxpPazei3d/9AvoP/AI+LhPIK4ij+zBAYvnY9HiecFXGQJEdHMRqlqdlrvSTnIFHa5AUUgok3pis2O9hjsysJiO69SheqizUpT9GmcYLdHcG+oxT1gSen2eF47x4h+k3M2S1YkzoSOa0oIYwHOA3mXbKTYWq7OON1pmULnb6UE1RkBHO8p1Gx8zZW4baVW2I9Y6mWjyXEv+fDJTOF2TnpNOlzOz7lJslEcLWHFJf8sGVi2eGfozCxUDyVtk4jhtvj/uOa1k1RkBcka0dSHDpY3N//KFD+BDX7kec487GuO7d2P/i16Jo57zGpSj92Dvnu1pw7f4RUYsDd4R4HhBy1J8IC8IuG/824njZlM44nxu2bwNX/jclTjgbe/C2NBQihY9fvX38dCNV6T1g1qhTq1Pp5oQkhX5SE6xH7OqIU1Dk8HT4mwpFTMqD/ChBiUFDmQZn1DZphhwP2SyvTJr1vwUsvSqmfPGbrrOG8Dj+SUhlIpgaivRSWf6LK0F47hsQbaXY+WmGQPdsKunmqHnYUNMpX40gsidBXaNTuKopTOxYLAzEVyqDBDRc1yXEIQJAU+ELSubNpTUhpE8KkT19nso4vL2sYoZJ63Y1tW4iq84hlYI5737DRfhwx/8V9SPPzrdPRJMhoVnvwT7H/kKPHz3T1LacFFhV0sXr2LlrQJTwlXFzitzeIivxNXbmiFK0j9lFpbNej5Wv+4yjO4ZSnM5+sw2nHDgIuy/37Lgh+yVMUjwOcNuQviS9nsmF7LQ0icVYSPayk43McNyP2WXmkRO6FkcSwdM9MZgPPOf03vyjjndkVSjOjWp9Adn33pDH6e8WxflRRfExmIR0ie278Wq2QNpF3qNp4Ee0NtZxw/uWofLnrMiFaD0VmcadM301zyGDEtOqn8xDMW2B7pr+N4d67H40AWYbJayy4kLIGXTrUgLH22gIgWmlEYmxksComaXMq0KjDURknSb7+14qiifWmHQI0drYmQ77vnLD7D6mIuw/xsux/iePehasBBbw6rl885+K2649r8wEiI7NUZPB6GZOtW+4pCyEMCCBdFcNITz4v/G3sWN6wNT52DaotMx9+wQVo0RlbBw1jcwgLVXfAUbGneHBabdudIZ2LzwqUw2iO7pcGOKmBTxGjqJmEdfWIR3yriySZ9524towJrFAltmC6eHBnVbZhnFW6Q2AMX2eT7GyLczQnoQWydF2y+p+ulP7lmHKb2duPavG9HbUTdTnK2gGF+f3tcdFhEm0/aquEMlVueN4ci4shr/i+/jaRCx9EFTvg/fBUaOKbHx+nieZfou/LdrZBILw4JAXJiwTC6dl0EUQmj+Xya63b6hC1j5c9z93xkmtiv810n/daXvavG7jq78W7qmJ0TaOqH+o6vgsDU70l+HijaLDLJi2QK8+x0XYtMfbkG9tw/NsEo59+STcPuWIZzywjcEhpuZaAKJAbs25q5qIaa91Yq6QtquY3I4dmDqjMDop6F22JHon78wJvWja3AQa4L5ct3vrwhaaNIwutI6pQnIcr9P9W0krcvUbZeVb5ctyJhm0BnGHmuwd8RNIUUujhqjOqkOY/rPpX3GMc8nHyUpNgaBF63TIJtTveGa7s6wSBdM3K4QLYo1/iMQy95kI0ispbMgGNMOeuRRHUKoLL2RgRdO60srUbc9yUf6qSRGQtTp2EBNRmKJqzoa1oQAOaPIGlKOLZFteSR9NcPbsvoKGNVJyEobrlOqqvNGoI3BQSq3HpbzP/r5K/H0jqF08JbYt8jPrblYTo/WDAJTrJo3E3/79oulJqMiOvfB9ENYEQRwLt33b594L6679mXYs2EDeufPCwi/G7NPPhVr/noPZi07DRvv/1mq34LWeHXjutUe3pLSiyrnMnViJtK4W76Fzs5+7Nq+C4Nzj8XsM1+AvoXBVJkIocWeXmy99S941Vkn4AWnHRvMlxFjqjHBaF7oqIi8eEeROdI4mpmqtR4j/dbuGMWaIMw1ZhiifzVJEMID440SZx00NwsxjM/icngyZqJ+755NmNHbIasOUeGOT+ayLPGERTFxZK7Vf5KjMuFkrvJhBELLgOzdHUGaCnz3jnU4YdmMVGqaSZI9fq5kT8xiNnwIUhlHJV/jjOphrx6AqQvZptFlIj2g/kD8Ph4rk8yMAnqqnzPiRcJbOhl8GTTIP/7df+Cr3/4chsPKo3FRZZL5edOnDuDSi96P97/lYrL1PCx6VsXJ6b9kp3LR1WibP3T3TzE45zgUzz0b3TNnoTW6F9MOOQyNRYvRPfgcXPHNj+NNrz0vmD47wCjgjCloWhdaVux5+i7vogtI2DcNf/+p/8Kn//EKrLzkErQ6utEMcf+OwOjb1zyIo2Z14Ntf/jhVTigMgxiap/bz4S0grQnLVDCahroXn79kRh9WzuqXVW4GN+l1PBaUkY+QIddiLFGYwltsTkfBPWjuAA6L1b9I8Ae66vjRPRskbVqFCsauB/U396EsdVNSnROMHOUlRHv5wLnTcNSiGdgboiNZUrJtTYFCxPJvWe0wY+t8OBYAu5m6ompKw7w5+lMUyrCebT+n5oMn1OUJSb0oW7kCgEkLUBI4qZYgwhb6/brzzghk1VqJqgKy/OQFki5cCiJQoWOKZw11904B9ql49uyvdOh7CHkObb0tOac7Fy7H1BUr0RwJiNrdiwPe/Q68+9NX44Mf/S/85Fsfx2mnnBRWNUfyOaYVxCXRdO1Mn1muoyuYXS4uGP0c73jHp1Db/zAc8I53h8jiHri4HbGvD9seuB/DW7eiftjyNOgkkK6qm6TtFJZ14jS3iD/EGyCTixmTmSyaTq0SIhi8eKQ40pI2HcVSnZljAZDUhdxuNI+jmcxzMF5rVX4vub/MXc7KkgMfKgw2Y+KPxbM4RiO0Qzx3UI/q4zoiaVBewUC5Jg+0uuHamZJkMl/C6PxsadeuqCEPLp53JHajz0vfKVfc1Sg3RvmX0U952gmTxhxtxmpzdSrAlJgg5nVLhEFVZHdAzePPfDM2bHg6JXe50h6uAGhCkKPtfrnzsWjSjDmzse3GP2Ns2w4sPOkkjAWTZixomAUvfF4ISe7F8y8L0ZuRD+J1rz8f733dOVi1cnEiUjrU2LdMeDTmrYRnB2ezMdHAI489js989ef43td+jPqqA7D4okvgg98xPjyc5q57YBDr/3gzWq6FGQetwi1rd+Cw4y/EfcGBTpvJ63ScuqYSCkPKLqX0PWWYstDRJMrJ4olPvG6jdYb2PPeE5uncI2ZPymdhSOZdRfG3uG5hne88H9C6O0AlAlgx+UTKOMEi97deWKYEDVI2NKNqZhh1lrrhUImTsi2sqoTjqUQBLr+QqSDMDcN23nRUKJ/ZNGMQCWfKzaFV2KSu6B4PawY4fURp96jaSI12xTntiVHUKZQWF15+8NUPY8/QiDjHIjREKN4IbNzXxAQR9bo7O/G1a36Lf/78f2PlK1+NMizft8bGUnmIZS95EcrxMXz37rX48pVvQhHerwxhwQMOW4kF06YFM6QjTfJECM8+tnYTHlrzODY/tQFu+hxMP+xgrLj0dWGxqJ7Oa/IT4+js7UUzhBkf+9Uv0D1nBvpmzkZzskTvssV4alMd+x1+Lh659yeYGB/Fg2uexJGHr0ZMR0756/lMtaSdS8nm60jpGZ4EI9KjIx4o18hJV2KxOhjEz/FwZjYGS46cOSPByjfZcuDoWVeHSyvaJaFzDJ4ks7S0YOZgmSb5EcK3toJdLGyanEJOlWSVUkoj6UbaVOqd0ROiVT2Ub7xqAA9SHxoTlQ5KZ9TBI/9aBMSGtYyiSqjZ8sq0WfvE0qnMuNxpwHRMUNg+k9Gm6nTGtwVpKBoLjWvh7EEsmDUIm8LQ9iTYHivYZG336b+9FJed/0Icefpr4WYtw7xTT0zFWidjsdFwzYylyzF39X7JZBofHsLNz+yB37QpmDaT0bBCvacLnd0D6Dn+FCw/rTenRU9OpvOekskSIj8ufF732+uxekY3to21gqM6J0S8XDpAuJycQPeiRdja3YnFR1+EDQ89gfqCxWg+8TAeePB/MNDXg3Iiz1lmdOKDELKc1tuTTtbYtOUZPPjYejy2eQgHLp6OF516DJ7aPZoKMIlJYuZc2MVRmJB4h0ONrOktiMZxxYjNms3DWL9zHIRw6UTvAs4kexlgIb5hweDvlJUF2WmyZMME4MwCAAdMXVralPnnvok0wzK6cIAXVhAk9KqGWAIdqcK8GbsuTTFkqM1K9WVila9mS3YOlcKo+sfZjrBJAmVQMZ+gWil3qKQZ0Kvj5Hd0doGPXyBqGrvV02eIBuNNDuxnxB9XrZiLkU1/wjW/+A0uf/unMTZ7KeYffgg6Qvy7EVA5npgXn1jr6sTUOXNkOlMJaQKUOD/lxFiuqRzMlpikFk2XjTf+Cj27t+OHV/0jXnLmaQm5u6ecjPkXnIsoLj6oka7ODuze/HQQtrlY/qZT48ZcdNWej4OPfQ1OeP4J6J46NSXGNUYmwnrAKCb2PAn0L8KUeecE82sYM2Z24bD9O7Fkdjd+9fg4XnHPED79xbfjbW+6AI9t2prTDGizhtQoAqM98r5amC14ZCEILCgpcfExi7X2fKmadyT4koW19w0fpbki7Q/LwnDZQZWLecnVcThQV1f5KG5GW11IUol1JKbcuNgHeXhZY9B3lH9Pg8uDEUesIjDEWt5TmDNv9fN0AjPo9LxKtMAxnzra88qMCyEQX6jGiCI9564qr7t0gsYn/v1qPLl1e/i+SHZk4WuQzYLkZ/BuGt59w3KWnkS7vtIpHkElf+Tj78a/fOtaPHXDH0JINMSeZ8xGz6J5GJw2PeWaF8HUSWWj4/7JzCFEO4+xwNyjO3dh6OFH0dy4Dsc+5zD84KqP4MTjjwoCszuYXXtS5Kqx99YgSMdh/vnnwU2Zgi233BIc5RWYunRZiv9HGo5MTGD/112KW39zHXp6t2AghCpXLunFycF1OPjYHhw2vxuL5/RicGBR8G2C2IwUEexR6wMma/Nw8kd+gCv+4/t44M7v4pHdY8QHtEmc+IXRhflEAxT0ncxOnsX4LpbOk9CGMktbAqITq4Ir9hYm+scclBxULVSZZoy2TVFDvJnAGxSDjWVSx1hPeVUnwnlWXGEGCdUQHD3hByfTSlJG1YxRHUEUYxsQZOvBGYRWhmcTKd+rGshxW0xIQez8NO/02bH5RQumpQ3IMUU4MTdXAOCaNT47YDHRrKCNwiLwicyaGxTvb4wO493nn5bOBIqRpbjIdueatbj15t9j/cadSPWJgq2fJCS2E7f4hTbibqUlqxfg7NOPwWs++HIce8QhqAXhaU4MBSbfLc+uRTt+ci8aw7ehc+Yp6D3s0HQu6mAwl2K9Sz6uPYVKA4MvP/UUbL7hT9j628Uo14QQbSvur80aqRxuYnKUwSgTvjkUo1QFbv/0IK74Uy/6e0/FQ4/8AJg1O0SWxo1pC5mbHEasorJavRyG5G9EB1O9+NKwr8+7lpzqZuYWAfDSi9ZIm9YzErOTQMXmPR85WEppA2YMmjdFdpeRsFq3UVG2oEGwl21W36sCwfYcI63XvxoLdpSy6rMD1eKDRaztr6qxEuXRFiov62DKr5JcDzDKxP2nl557GnLRoEoDUOSxX3poVSluyplrDCFMtCJtP691xk5gNNjtzbjinE7cCE5uVze6e3rQmY6mD7eFBaloK8MHR3ci3l2I1mJNFxPPmo1R3PTbL+G0V34CK859aQh/7qX5pvmLT00rp8D8045BccwtaP1qCSbWjWdzIVYbqFPEJe49ruW+F2luPCa21XHZgeM4/YdHYb8DLsY3r/k4zjzzVGwZ2lth5pb4Yl43V4MBiPugwpGmm5MIy+p2Q9HQvBGQlQfIOWZ+5DUf1o5M55znX8q8c+lhMQHIw059Nbv+nbGb+IHiRBBBS5NCzM/yxGh5RRUmVAnAahD6WxBT5ChMU/A69Qd2T6bXsBUzeiDkxqe3BcSZyCEs5DxtRzuYMv09+iMjRX+Adu/aMzajj+BRGk2Q206ZdhUziZnZir1OrL1GJ82p3DRGEuPGs7tiNmhvTzfRMj57HI2x8aqFyJrGAo0JycXzoF7zpk9jaQh1NkeGwb4FA1w9xOJjqe04365vBhaeczy6zrkdk79aiNEnJtKJ2I6r+hYFnUML8CkkCXWbBRYHE6e8+WgMXvR5nHnd7fjWVz6CNRu3JJ8iCYf4OASWYkqC5sTDWVqJcJQ0XqMlXNak4IJbkjJOdDL4lZPUOF3Aucqqp+46oe9IV/BBXmlfqt1jyh1i88A7m4YOhnRRXWYhIL1zmVl5oUCOsqk4HnRAlEMqyqR7Ffm6FszcKxPFtgOxjzjpGJz60ndwgUsyeuIzW8nscFQiLWbOHffc41OeTLM1CpsQ4AxrqqZwUrRIVWk1wQCidSATWfEVgAoDOK5b6YBKtMopvXjCdUZR7atBuvhq1QoqK+FzSnQCgCDXwUx57HvXY/r0Znrq9qEuLD3zSMx98QkYeNmtGP5pcKifDM65KDQ+Fih3MMfpyxxLD3QefWoMwz9cijM++AgOOex8PHrv1bhn844UXeHhO1fZypbfOQ0Ti0HiqnF0xXXAninIzEwNCdh5Z2mDnM/uhcHJ3PBmIiUakplYUbAUYjrLZN6il88b9U2Gn7WpWDNIh6GA2c4MebB5CTtGY5oU8ZA64kJLx2MGmw3xgN27f3cFgP+z1c/4sLG92wIidVSQhPsBw2zWwa/ap96KA9Ri8OLkKysbrcaUdKqVvO1b0oReEcuIlr7X58U5a07sxT998DV4w4evxKKXnBXs79EEKv1Bazz0499g0zdCRGhKI7HDxuECKy67BdNPOxhTn3ssZr3yDmy7Zn5A+Gage0u0O+h5mfnJf4sRq6CNRp4Cfv8PPfjsb3tR7z4RTz3xU4wEh7vVzCcNVs7Ipb5zACQnHiLtbSh404hXThAaCVHaAJTM6gqYsmUgssSIKkR3lr4ymRnws60Ej4r5wk5oRQbt7iP6nXete2ufFdVBJMn0En2nUFNLxiOEIjOn9NZMMPd63j86nBaGmuNDKVIR/2umz/R3Yog+D6UTKiKjp/FaLvfKVGIqCVNazN6XDmxSeZOvLSuBjGJmBNY557/q/Dulvby8mXyiDn0VK/G+5oJzcPjCQey67/4Q6elC7+AA1lz9e2z+7mJMGQ6hxq1h0WpLE9NHmpj4xTxM3P4wmmOjqB1xKJa8Zgt6p+wCevvVdk59yaHfmLQlGjZmNYZ5Gt3q8b7neNx+5ZFYtuiluOPm2zCrv8+U2MtjEbl3SCkMP7p7PX4Y/itIq5VlG7K7KmWtyQwzFxlYiS5ku+fzmp3akU4agDBae7qpyS6FplgSARhZWP2UvoJymcm1kI5MJAulckcehInu0D6mHKYkRBdzq7KQpKO1jKcGgaISM4fY9uZPusp2CE7lmsOWXonq6ZkScYEKgH5vEMc+zgq+PsUIgPFD+BdvTTYnE8yfdS6LdMbrbb+/CsXjD2D8meC7jI7gwBUF5vSG6FJMty3yDqp4gvfoU03s/NEclPeuSf7LyIrVOPTvJtD15K1ohbWGGDliPy0GCdiJjQ/kKgPxaPXWGHBoZ1j0+sMReNs7/gVvf+dnsXruzJTmrU5lZtCYAnzTY8/glUcvxiXHLcONj21LKcES4CicgoDRrBmgiVokGKwtrC4gZM+wL86gN8hrmEOiIwStvIWPEVhe6bJCmDR10unEO7KXM2VIXUPMLag5yLuGwEAmR0NmOWGzK7ddutKwihdmEkQFKmPwMAaYFz1RGQbfI/0zTGjsGSEqDAP69n+9ZXOIo5a0lmk/q2TAojpRxIiBWvIw/arkuECJR6uHGBnahq2PXoeN1/wCI1u2Yv8lXWjtaaZqBRE8GJCiiToSzJat352FjnvvQ1dYcV07uARn/mIZ3N1/wM7NW9HR10+MV6Oghad7oTkzZC2MbfEYCXb8nifXYPUB5+CQudNTwiFTLf4Xa4geOn8qfvbXp/E/920M7wfTd5ILYwBIk/4MMMhzKd+GBF+yMEH7Tpi5uEYeH7kouGJRyeewb9xG19/VQUivKrigdsRJiP+UjEz5vxqXWKD4YPyur6uOrUOTGOjMPnP1tLP8V8+UZQmm1cyYLlCaaRcNk1+TzUY6cKCjZ0r4O5gOJsj/DaZc944e+kuf44EEjUaDAKRdDCBM0W6VK5p4RVt4w6ZGz8jCh+esH23XMeOz9qg6xu3mizyN6sjC257R3Ib/unv6cf47P41PvGoOdtyzNp3CERG50cpFpvJQY0HSenJI9z7RwobvzEbHmgcwMGcm/rhnOt7z4Cr079mIp/54G2r9/dAKw16ELS74aaayQ2cQntF1JW74hyl43/nz0DPlJBwye2pKkmO+iB2d2tuB5+43ByevnIVZA90Qg1F8SB0tmF/tpHgdP+OR5c2U9eh4OdM26QnBqSH5HK7dO97E6atm4arb1mH/Of0pMlOaAwLUH1VVAov+MEjm8y6X7SOTWDClO1WVtZEbr5AIjkioTetFg/Ap3SQLFWaMO4OmLjoFe7btQDofiHuQLje5O/G7sOo4GJBnz7qbwvL9kGFmfpynPZa5P1WGVw0hk1J571UXyKoaPTkPBb6NcumT8xVxayOlilRFe3hzfTYdY+m+n3ztj/jxJ7fhskOnYuFHl+OrlwWgGK7pPNED4vVxh9DIky2svXJ2cFrvwYzDjsKVD5TYf+oEXr98F5769Y2Ye8IR6Amx/3hiHlc4YwpkLZ4ZMoYvJ7YB7zrBY/bHDsXshS/Etq034uG4Ig2139PKNMz++QovEKXZXOIpp+eqb0mazUE2ccR/6hWnx6nCplBDgtPSlKXmjLR4Zv15hy/EtniMd+KZopK3zuYJl/2wjJk7T7NNKLz/3MGkahstr5POJRkkl5jWAGhlLK1UgrblOVQZU3Ex7T7a8/TWgDgPh/+alg8gkkSEisWEXO2AsJgzadiG7Hzaf5kcHc1MReVfV0APFYCYKvlaJ7R1bQCQ655rpEU3HjuZDjGd6HdUtbhMYemrQBP/V+/oxzmXfAT//XcLMbl6RUDrR3HHOx/F4MtXwf+uB6OPN5L5kkrf+bwwE+c0uPbYG2z4J74xC8svuRtzDz8C7725xCHTR3DozDp23H4vph56AAZmzgjO/aR0DYBsh3OyL8CH1VyPi48s8MMT5+MDn/gvvPXtr8ZEOtcUsg8ij0OZW7UjaUIPCUwwSqTrvaUYhHeYynW21VkiwAghHqPXarqV7WP5eBU2OzgmzDLCMi6mivabJi/veMqLAfl9g+r0WablCfNtJcPivzGlYLLZlG1igFriFgmzxRNXEifhm2MQdeWcMCyTpEAf0ippJUzpUgnux9c9gz0xVxyO8sztvteywqAaxCGEgREJT7YoR79o83kVz6sGUMF9dIXZuV9lhcQIgYbHH3VAGqsIV7wiMNJvf3Ibfv37gzC5eRKzDj8E/RuewjcuXIcpL1uMPT/qwsjaWCmsJMarpVBiWtwKK6YjT3k8+e05WPbae7DoiIPwvB80sOaSRzBtsA+7H3wMjaVjmLF0UXB8x3IlMUf6La5yU7WxVBIlbkoPCva77xxA/znfw6c//GY8sW2X8Br7YDw4Hr8yMM0HC6QwrupWNXUg0a/4S11mgjlISpnpA2yIrWKagBYVHH+iiXE64WUGaNqvaAUGlAOj+Tdsi6rSUrWa+ZIXWxwxXDzjtCbxbjhFzzZf3FDLK5h7iEBZM8RSme3njq4+vP1DX8KWHcMU07dOkzfxZ2JLUkRKS1WnKl6ZmXgFzmYX5CL6eexSxImnlPc8xHtalvAhPr19C+75w9fR31NX0HEUx45RFwodRqbsXroSF+26CTcfN4KD31fggX8JCL9+Mmvq2HDcMFP4BEYxo31vQP+nvjkTy17/GBYevgQHfquJXe9Zi9FmdxCGDUnQZi1flA4T5ip3cc8vM1N2FoukQbrC70tWz8Sf7/wrZi5amPceO2XkDGaFHA6cecz4Jy5bBxLxk8id8kC2dD2lJnBujCMGIqQTNcGOgeN4pzI+YHCUzReFZSpdkGehgEZxOMyazIGaE0dUFTqkTcf3ULOFMQ88hbgEkU3OirebRMAmUSHMwvJdtasB2F6IxZCZbXJ0N2645tMAFRYxUGDe28/277O9nu3+/6e2/reXr7Q5PjqkK9gklLFo1ckvOAR//5NhfPaCYJxsCSgebO9fDs3HN+7vS/Q++59GcO37u0K8nYTW5QPhksMJpIS1kbXAU9+YigPevB7T95uN6V8Ii1bvfQjrn+nB+NNbsDOsKg3Onw3XbBKzkSnhdU0kft3YUeJfLpyOz37x5/jqf70PQ6NUCpwidLyxO4ef81hKqcKQzRy7wsrIZOc8fTK7qerM9SIF3HAJzW8pbdokKVpfZVJJzS3ZWXCCrGKK0D2u7b7skTu1S7P9Q79DJJ06k5/vNM6dwmberOgKOpIx45UhLOuxdqiexA2xYNhEAGmkmCnYzloqMKZtsSMB2QtAv9tJl/a5rbYJ1IkEni3yw89kEOJprtc0mMkANjk2hJt/9m+Yu/pF+OXNNZx42AB+duMuzF+xHPsv6MbVp92Gi368Ah/4gcdnXxKuH2ql7X8+ns5RkIkV4+ehrZHHW3joC/144Wd24Lfddcz5+n7Ydllg+B19IUa/Fj3TQqSrow6BQ0ZbM56I1y86qhcXfup3mP2tD2N4dNz87tWagGrgJAC8qEVaz1kwEDqoU8s7l+It9bbwiRQwzXsFyTFjNQhIznC8oWUnw0Y0PHfYTlYpzAWaoFiPR+o7Ui49TyjbqKUhVHrVcg3CylYwpzYyYHDQVU2u6hVscnGkxZOAOcl6ZD2SkKjRCguIU1MymOyicmrZp7YIDDgUZ8UhfizgYTvK7bPTr9/z2kb+VAtoObZ3V8pgtAwv7XsVJ433OAGK+FvMKBzduxNbHv0NbrvrHtz51yfwjvfvj4UL52HWga/Aoa+sY81r78fULxyKQxZ14qKDQlsT+ajLMm2SceAc9cjHY0/X8Jv39eL7t5a4+N+aOO5/9sefX/owNvlebLv9Liw584wgMMMZ/IKQFGSOMa0jDbs7xzCtvwuPr90A39snm10ycPp9gU5ANKf3cjkWMPvyvZSSkHdQ0Fx6e5w7ETivBSgqMFGZKWKFsAbZUSaDXCafZZBJz/Pr7cTQIKKD2fKGFUmqB7o6884cQiWvcblUetp5VM0pU6vEeu02MgPADlV43xsELGEE1sFgblgpH5iOpUe9BOvWrBPC79uoTXBiCj2b2dPWiWf9rK8jn3ME7rr+q1THxk69R/V8ojaU99U2O4Oj2BjfhWMOWY6jD10RgKYTL3ztp3HFW1ehXNCBrY9vwu533Q/38UNwwBVTwupnzr5MazTp+Js845mRQihzu8N5+4dQ9A8GsP/bRnDq95fj5oufwtbg5G+45XYsPPEYTO4dAR8tA+5NBLhYSGs78NqXzsE3f3ITLr3kHNr8osKr1XiJBySqY8xe8p+cN0BiQEhNOUrxzUCskyGqBKpe4/voDG4dHk9Rk0pei8snv0Uno+VNV5z6x2IUGAbOpoju6IkjmQwNHbGoK4UgZQIJ/cv8IWc9EoomgWhV1b04pTBojXZGr6oCzVyEEQSiR/jfSEDWtXddC8ts/zdfMZktIrtvF4jUHTVurBo3kgjIrLCWDoDV0Y3rf/Un/OySVZjcOY65y+bi6UcnseejT2DKJSux69oedAVzJqVPp9XM3CZvDklTGU8w3DqBDV/twYd+0ova30/BL9+6DmdM3YHdYaW1f6AfHsa1JAaOO7NaEw28+aR+nPz5G/Chd12MjTt2U0zK6ijuPtWAIU2eHFdXkFDQ6jmjPPFmxWR0qa49ebwSK+O4KD9UIC6Vrohn02fbm5PmHewWPUte7IP6gI2C5385YK2QFHMnuF2rojlenUwfaq8kb9umLFTs4QSuWRXEtN1Y3dLvwwb2fSHVW3OXMrHiuUERFavxa35aG9o8G0o7Z2LHauA8G5qzvyU7ocLfzOjaV2e0pOhGnge+Jt3KTzL2Lan6dNrvZBnoMo5WrRONoLXnHrQK6/94Kx76yDpMu2Ah/K8HMLK+GQI5+e4Yck1NpNM48kp5LGsysbnEx05p4R1n1HDYu5dgfu9M3Piqp1HMPDQdaeN4g08qmd1KAYUY01+9yOOZh55CPcbaK1DFA/HiZMaKwneu25U2fh8TC3hNNiucJIzORYBcNTZXt+eYsu72JmelonyNI8fn1rMNxoQsjXmRN94qK2U0hqkLk+PVieXFObadzqaAMm5JBXwcYM0M2QnPjGREitqKXzz/wr/B6HiMEmjptBzAypXOovMz2Ned+5u0h8sT6qwAKUOrbnNtTFxlPGbEZ7sX3u8jeTIXumUXhsU1IiGl5Wi3fkHMnYSErjdBB/P4/Cdcc/wZB+FfrpvE35w+icbuIi0MLd2vC6dcuQCrDikx81UT2P7tAmObg68UFuRi0lgquVHmmGcuF55j875Zx+Cox9ZvFvjCdd148e9X4s+HTab9qsw/SSPUsoZKYxtpYL/DBvHn+9Zg3rIl2a/JsWo58CJupInvr31gE84+eEGar+/e9iQuPGZJAGAIO+dN7k5XV8PYS6c84e7dss27Cs6oEtkXhanZxCjeTOqzhHzAJqOZHJ4yb5C8EtO3Xnh+njjH4UNf2cSqo16LVRech8bYGNV8B3ZteQaXHDId//bRt4TFlHFFX4I3V+vCPX9dg+1Do9JmljwncXQJkYVP0/p6ccwRB4SJmaAoFaAepK+gRVuAUxCcudQT0ZWfXbsMAFA091IKxOhHp7F6xSQT0VGJ0P6JLa9a0QpN/BtLdnR09qE+eCIuvfgQfOLMDmzZ6XDOFyewuGMvbnv7Rpx3zRJ0T+/FVa8J4cqRtt1gsI41ITetuMfsyXp/cIqH4qnitDIrPdQ2Iuh9Y00Lv9l2CD7zyTdhvDEBawqkqtJBwK69fxPOO3Ixdo5MJHOlv6cD16/ZgtP2mxUYXscXb62xoBT2uCRvjoYsnOzvjK+cn0ABfFRRwhLMqc4FKoNhrzqfZgdr9vDdvDPKMKfdNyiZc2TSlLJKSeFPeIkMWQkW84A3TrcmcOTBK9Wog+EwK3jQFblYToKjPN5qCKDCQCrvNBa+pqwitjB6VhZmCV1hxpN0OPvZqdb1gIlV63cofVuoFyJFfMqz1pF0Moa4aNOYHIUfuwMf/MyVWHTpL3Hg4YO44rWdeMmxc/D4tevw4xevRdfHluELF87EYCwdSGVQZCDkgKdoW5qzVrK7Y6FYjESNHT6HaFI8YBhVGaZyGx4XHNmB97/5j7jqi+/Gk9smDMRmetXSPAStQzWOIkBGBJ+ImiZo5IZvqvZydIau08oFvFcj+7KOVKbMCoV18t2Canwahs0ZNnSV3ypY5/VMS4kdW+ZmUSHTpDQ7wjlbj4WMYzxRrUU7UTIjE087faZhRp7eJCxJHZZZ68bktVZW9/kv6DdPOdnKNOJYsXkm4wONwVc0lyIeX2nuI23HNzMAMJqpIJMOYIfOWy0CMwckEIbm/DQOBuTxK6eJmDikmHxjbDfOPfN4HL5qDA9+YQBnLi0xua2JOYcdjM1bPD5+3iQ++PO9+RQOAT8W8DJtDin4RD042frYCowfDyYrgz2et/IRXXIecOay8PW0qZ2YGN6CoeFhaKqwjCKlpczsC9GiPaPBdyrQF/yuNZt3Y/WsKakWpLibDNS8GYPmJc192qsq6g5icshkcj6K9xQ9Mcgh0wITCQFFbniqGAVQQRtVY5CDCqRClHPaDklmEgJWbR50ZEkrE9Bn4lWsZm+Q0TIIsb5im1cTTDjRi1LgqZV/raBiXzMPLFpecbcq/Gi7ExkpvWCM0FOex446yzQ/h5lf7QgZpXfV52UwUZo4Q434ijH4J57aiFWrBtDaENCbcpX6ZoR1hXpA+Xnb8Mu/1lEbbBkfzEufM6O3KI5ODC1hSl7pRtZ6csCBl8iRH57AccctxPV//mvKyWEfhLqZEP3EFbNw36bd+O3DW/GzBzZjaLyFlbP7DUjkbuXqGHJrehXpNEXaW8cPhUeVMZyZWGMXtscdNBFL2YnVsxPmUw3AaKzR18KUu8uNCuOXrM6IRcjRFqZKAljoYlXmFlQGA1X8OknMmCykSqBqnKWdPbyhgf1Xr88CZIQWMOaeN2JBUuWVgbkv+0S6nOFg6YFXzZKup54ySFiCeqtlfOV9fMbBqxbjlnsDes9wKcclvsqwhN8xdw5WT5vAtk3BVAihyhyC5NouNIq4utxkxM9aMh5UJmOM46KNGGWTNx54OXpycsTjnc+fim9ffWOwxTs1/ZmicZE3RmJa+eo5eOEBc/GSQxfhsPlT0nlelZAz7aPmDRtMOl4/KdgZUoWvL+6sr3zr823QCIyUSADMWVMUAnKs1p3QuTSRlzyxpTCKhpzy/Kqzyt8rg0SbP5XkSz5BTXqnKKuMLMICA+IQ1oeirzOCoRTw5nemjjU4VMSFheQ7qxWsIKpmhIzdmioqgAQ0zleERsfIzzB2u9qWsLqlal6BAM3hkIMPwth4B/7wcB2d07Pv4YpGMGWm4pBvLw6hSY+J8aYBCdV2ySGtF1Cw85Q2At1gURQyB45MmngGVarCHD698NAO3PKL2zG3v5cRSzexlDmPKjqiE0FYxiYmpTapsVggldxkaHmOCqJrkTMRmSlpHGYaWc3LZ+SE/PitrLay6YF8grRMBJsiadA0JeRc7BmdxL0bd6WjQ1hliR1Kas845TJtudksPHEQrWTX20lUWx2ssRwLlWEkMyJIj9U5dOZqRTGL5YqO3oqIrzKxNerSdR7mfmINr32vCJCzoubV1DdC400PbStWcOxVmnLM0k5/Q+Tpeeccg9M/sQtnXzGJK+/3eN91LXRcOImjlzssnT6Me9fFe4u8J6DIOFnIqdZOFp4SHJrUhsRD0R8iRzFrZJ9KnORUaYfBgckQLRnDlme2yThEoxe24oWnXJ38mZZEcvicSxHyeb6ownQhRf5F9QEW43l/Ydyn2Evn23R30H+dLvytoyuMq6czfK67vNMcqh5FzpjA4f+7xybSkSTHLJmGa+5elw4k00nPz3RqNJtJS8Mj+xNpd0z2dWo5D7vCoL4KYNICNeqtPpMeCy28ZbIK0UgQnBprnGlkrY3UjJRWtm6zMrMIlCozYXANVxrh5b5SFqEiqYptnmwVHJuJ6sz4XBtFIhPv2jWMuc9Zjlsn5uDdN9bwjU0z0Zzej08cvwfvOa6Jf/5dWNzqKbNdHW8seVxUPCu+J/DjQkoeCqZFSjLIaxzpIIlmk/Y7h6Z2FHjZC2bhmmtv1oMnaJ6c0J1mWEp5ZFpyhqQz8+w9UNWUdPKGkN3b6TemTVAh63eOBAdhV9o/moM3ZLrQ4OKVgyH2edqqWUnVaETC2Lxkg6/bMYoTls9MyDyrtzPX/vaaRVmJK1fwiZCFwnopjhq/bWU7ElB2dxWW4j4IvoJTI8UBTV+xdJnr2vqgaKzoyWfE5kucMK+NEqjOafMd5KXakAegbq43PXciQBa3WWh41VnG6q3fZFrhbEy71oBse/dPm4reKf2pvbGwNvGd+7vxnpcXeNdrhlC8cwb8aFMEPt1XEJNzVbLE7OGaiNyBF2pk5yMtYOadUD5EcDxphRhwmBhr4iPnzcXJH/0e3nLJywKP7MntSKBCz1l13sk5uPkMCI9KNWrvK3t8mZ/qPJ25SpYzlcEYJbIEL57eF7zfQZEa0Pe8oOEokB8PhrKmD086hcPTd0cHRP/xPRswPTgjU/o7UxpCYcOZBpQ5uzGpKugAeFB5XvMmEDjLPFV94AxbSH+MQHsj6Np3336ngVEblWF2VSGywubMtVXjSK/yFTE1o5Dxe/2NBLNdhJnRmPBq8qDyXfroVUD4t1otMkZHYNJOdLh62u00d+kc/MPNw1i1eAJHHNaJG+9u4cS5oNg9lRBkkOIdK9SPSIoab/NLkZgi5TEVRS4vmDIh63lDSbxuv/ljGN8xhHWPP4XJwanJmjCGh1aqY63qYX37iiXgvaENzVednbfcWcCWX5FoAHKgPuUiOBsLN42SA6r+C0m+t8TP341NtnDBUUtSxmNMneVTEnNfVG1r/cesKktaDHBpaT9XkYlErNU7gg8wjnRIVcGzV9CACkkXLmA3e1Sxusp6MAyo98j3TvZMyS/CQKKVMqcyE7ZvUGElDJlERkVURIg1h6v0VU0Pb3rgrGA6wNvUYXJE0x3pe9olxcgSft87PIZa39SwCFRPQFYEKIwrn/X+MVyx5Tg8sfsevO37o3jwU71obGtR0dG8qJSi5lS0M7MC118k3igKShWmEzl4b7On5O+4IXxDA9f90wqc9oJ3YNO66/Dwlm2pz7x3IeUJSWJpJhabKyLscBVg0sAA8oZrEFPR0o9RfaVOikHnouB70KaqtS3JbjSTwX2MTmxMFeYSz7xSWTg2p0rZwa9ITM5NnuNKSG76gnm48ktX4cwTDsaSRfPRaDaFKaQgU8HtFrRdzisakZbKxh8zlzpzTqSYoCQ5WIX2S1WFpNzm4TvJsRaAaNcqBDCuDX7TsrvXWjgi/bLqTDhCZPCOkZWfkff28qYWfvHaBZcMis+N55f+6e6H8ec/PYrlFx2I1nhcxYxprPXE+M3N23DNv70V0wYGMGX2i/D0UD+mpwWjvOXOah4BrcJqHxeL0ksM3Iv8EePTHsN4LuMJi0sccsAMfPCT/423vPM1mNbbje7AL49t2Z7OWJUtiTDg4BUcVHP5yjPSnN+3dYeXHd2iB5wwshDTMq2DZPAV7cIAy+iMhmoWVJPvQYyhV4nvUDhDldz57lYD+x/zOqw87+Xp6BUIQwfHKTi5G269C5PDQ4kaGWEJZlBoUpovmbuIEC3tZXJGdM9jBUct8eJ3tC0wf+fEYVSGVUHJ/ahlbpXQKf0FPUzKmZBgxXAqoSZXU7AmSMUTjq+UYx2ZrwWbMo3KZc4MicYatUpA3I7ZM7H0mCMwMTqumj5GvDo78MTVP8STj/wPNgQ7evPjT+K97/kXbPrKwpTp6NsW95KtzhtkudQBJ4u5QmSWy24UNCcs1jFfp29RHe6FD+GmP3wRl77l49i5fS9u+t2X0eybEtCZNVduK5XwKHS+K74NcoSGCVeXYkU8317r61nJ4ZTedCPZ6hrsYe6gh6Q51TaExuwAenOwU6HoqFKLSjWDvMroU6Zu2rwRN320iMikESbHJzHv2COg5ksmSFYUpSIz2DzIzFCSMxUL96dQppy85yomTlLVkfn4sAYWdsPoniY3fU/az57DyRl5cWLjMj3LYin9g5ST8GQCsH0qtGe6l57KXrDmKlL+SZ6nTN2oQX1LVzCzcvN0OgULat7bGVMTJ8cmJNRXUmXeVPmhmY91iY7kKaefhHrnf+HqPwPnLm+mqgueKdtqVXKbBBjjX6pWkFIJkMPXBdOMbJMkAInGTbz3DQfg1Be/D0tf8RLMCUB22KpzsGvoL3h81xjqHQW4QkNRoyQjr6YLg5mgO5k+dQ3o8OEDhbHzICZNaaSmKLTqKqsMRw9hu7xixrA5Qoyu6KTqBxVgdNATA3Nb8ekzZ05DMT6eBhgdmtIwkKMFprJsQLlZmRaiZp0QgTetpBJBjUZi/KJWSB1JULUAjuekZKbUNycCxCdCezJx8o4eZfpUPaHRyC3QoOqRIXlDMiGobMdvtbJgMVBwQlmZMwej3VuS5vPNUiIWRYvsc0+CknAha+zE/rGkBWm8tP7ZylEOBh1PggVCS57jemivv7eOnoF+1Ib24okNm3DXTV/FrKnPx9CNR6O+ZTKl+aa4GIGBmHtR0wQgif1IwpV39+Tz6AqqOiBp1BmJu+c7LHv7KJ7p7Mf+l7wyRIOGMDnpsfT1l2Hp/i/Cto234P6ntwWwcMyg4APPbOUKNW2cWBxZF9AXNUIAGDte9gMapmTPOL83jTvKTWDegj7Q8HFmckY+TyFFmImnfGzeKMu2647g2J79ijOwa/0GifAxIdOpDYwocUKLwjATjBDrEfXwtNfW5zBm5hUvIpJRDtq3uJey5iS0lZ/DJpED15Gp0UaLosg58kUq98GnOHONTDXppKP0DKYZYCI+NL401nR+aSHXCGD5bKvHecyqPX9O0Y4YGzfJbS1GxtBOWgDyIMFRxqt1dmLbXx/EG958Pp4OJkwMO3d1dWPteAM/+92/Y/b5j6FneS0AfytreNoElLWGz1o4aEzHzl6ZJzQpwJKX+mPww6FjoIU7dtfQ8eLNmDzoQCw48ejA6MMp+JBGGA83Puh4vOi8d2LRzGmye8ETDxKjaPgarmLCsZDLlxx5yTcTYpHkgIBG6rxorQZhZk63ZQZzyvMwe6ZUaJzaXswwbLYI8xkJ3TM8gu986cN45ufXoCuoNtfRIVUPsufPkSFDAOpj2WqpMNFfiaUU++6WykPx0GaysymH4Zrr+JmOc/dLUtFlKSuMUsGAmIGFz6ZRZADX3JHMuHqosSSFxfHmQDFgo2Hy14s2StmhBChaX4VOHPQ5GzBtIk+lp1uJoZP8dnSiDFp04sHb8KkPvQWNiQkR9iIWIT32cLz5XS/HitdtQ9/qcG2pDnt+kTMa+16viXb1xF81Cj9G5dO7rI4LrmzglE/sxOrXvxhdgwN5dxOZU5Gv4rGWsw45ADfftx7XXP3zIHSdBjCIoQpXdVYNcKVr4+YNIZKYEmJjELfaWIvwt7B5ZVueg3jnzthDPIl5y1SrsgRsRaYSu6Y25enh/3HBalFXgYUrn4veQ07ErIMPDBGDGng7YUJ36n5S+6ySk/zmDnrPB1K1aDXQUypxZKAaPC1hk4lMjBiXx0sKn9Uy4rO/aQQ/sV6hlXmz5nEV9ElXFWRvk3B4x6uMIPs6RxFK2hDB6pqrNDB5WhQdir8VVEcnjjmZeSVpkISu2VcoZFAAF2nKDFgG06AjrXnEI2eeuX8Nak/+FRvW3YSHt+1KpQlZ6NMIQtvL5szAO9/5afzu+tuw+ZvBYd3YAFfQVZhTU0PGy7/US4z0dWDRZcEsOXAJZh24f6oJD7CtT8BHKShRKHsGp+Dh//wPPPbItdjV0ZVSfnlHUyaxZ/ZWjiUhdPdsfsYXpLaY3xkBWF1rrJIWlJipDXuCTBubIpDXGPLFpRdWEKZwNirhK6JEyfclbJHUNODQfkwIOnjBbPzLl76Hb37rp3hm6+6ck+O92lOgZ8dls2hq17JtCN6fCGO/e+MgklDlS7h/oGiCOl3y8sRBpTrGDBjVKmGl0jBel4ImjpYCCtpZD3HuReDFPkQOi2bpz10SQStSH1ypMfZMf5ePdOUyGPGGGt2IUioGpKmh+Hfs19Q503D5G8/Fu950IR7cuDUd+05dl6MXPWnThTOm4bvf+2lwKD+PP33tcJy4qIHRbTkNOxZmSkdXxUW/MIBo7KTNFgEAemcBX/2Tx5s+ux3LLjwRrc7u3DXSZmVpomSAaJ44Z50hQvT4174czJy78cDWnfnsVRZfo4ll5ZkjYxnZidEJoRjQNXapUmoRl+daF5aYnfXHzoC6v1mzJW2tklrZLi8ikOxWbQEozzx39WxMtMoKuifkYoEKg5w30JdMGkuYPJXAPjwJw4ttv9v72n9zbffbtp353T/LtXiWz7ZP9v5n++3Z+mmv4Vd7+76t786Mr2jrL9rGMhmYatOu4eyQ8+Z7EjrW3GrxefT09qIzhHyPPOX1OHhhP/74yekhLDkZs8EEJHKnfMqd6l3WiaPevw337+rH8heciImR0fRzSWZX1kgkw8SsORiRASWCyOiOneh95G7ce/dP8cTWHRS5UnNO0V61rvvrlu2G7TJpcp3BjAY2aqKgpbaS/VexXlpK93d1FLqJm8NB6QIn772ZoWRmBFSYbJSwKb62wJJdGSupbX6mnspmhcmqU8OG5DCxqsuTns2F/CVkC51yBYmd6QO/uDiPMFLVHqOFoLhHs5ZsVu6zmnxKA16MKuyaAxR8eLHLLhyxD8QawKYZsN3Pe3odAU8ehxpI2mVXpYsELkrYoqLx94jWBy2cg8998bv42Dv/E9d98XC8YOUkxocc8uq3R1d/iUeGu3DQ5Rsx9/lHYGDBQkyODqd68BzR81Ifk5+R5y+bdk42lte6e7D5lttwwakr8fFPvAc7h0dgbY12kzh9d19gdjsxxvzWy5NdqbFT2cSqNgkqK6j0L2fDcew1dZhUYI47Z9QgfU1tOZFeaYlWPOFdBfFgJj1NCJkFkLEoM7Jjx/2WZX3zJbedqg0QMbxBC57YionXljqRc4wM0X2ePN1c4gwzw5iAylzQGWkDFrSNXNg4mYR52R2V2dPVXQYyoFIausIUNIuWdtQHcV6MOrD3Jmc3vOvs7sCsEG5cdtircfmL5+NfX1nD8NYSA0s83nllC1/86TD2v/i04HvFjRyTIWbelf0S6MTyUTV8giGjkYIRUv+7p0zBI1d9Bz/5ziex7PADw2WtCqJrtCvPgbt38zavQqyMwVKPtoFnUno7bURsRtFSpkF8AGOllBZljVjxPZncbTLpibCSI6Lx/XSXM3dUENrYa5X+53/pgHkx4XQRS9sUx4rHYQgJQB3yfZiSeMAIg2KyCpugkdeTCjks62XV0TAv2kwc5yoaUQWR1ZEX1blvmMGKkB13FVBiMzUjsPYYIuNugnOJJsLq9pEL52L+6vPxrpcM4m/O78Hi127B8PRZWHjSURjbs1ecdkeLW1xdOO0vrqn29eTA540aTmocFXToc3d/Px7+jy9i8+YbsW6igZ4YfcKz8Gu0VlK6AK/CQWyWPAQ7UW2gUz2H1NDUtxNRp5mZz5omECHQiYchcrbFCkVCst1K44wmjQEbrWfyt2OhmWjb8TYWqiC5QS7Xfn2bxsvaQwVQSe0MU0Bx1OsCHWsEjipIBVtuwTI1zDO8FQRXeZr80sas+4o+aTGbdwMVbFiIMXOvNMI+IDM+No5jly5Az5wXYdJ1YMELT0DHlKkhhDgpESgJ+XoFAlmwpPdS/wYmqEDVwOLGjxqFqJ++5nvYs+MvuDc41F0hJJ0FCYDJFwpmzDZf5WTqLqFwBckoTaCwZoEpeMSS6sihcCbH2BlBkknjxSpajWUzgXWaksCKQL40OrxN5BybZxMo1kqag6EJ/lz7XNITDDKKFmATBpn4k81Sw1oG2Zluvq3H8VnxxLgYOSpE82RULMuyEoqLr2w6pQVG9MfdW6bv6W7plzPsXhU8jWzR15LWQV2V4rHuWeDIUS/yAQ98nTzNoj7JmKuKiwhXrOh2wIJZePFL3oFbn3gGi884A43JcVoIK2m6VRNUVp8ZMJwTcGEeUgEBbAJjzJsf2bgRC/dsCmHQb2Dttp1w7MM5BZZcJMmq1DaVV4mhS3I+Khuccwzay31Ss8OilzcM6XgRSp/ZnilZUdOoyuL2veO45ckd6K45cviqyOdk8i1bWHRlpIbBW2em1rKCx+yBHpy4fEaIUijhDcxKuioLafwuRjRufmwbjls2HYNdHWIuaS+qQsyvrg6H367ZirFGkyZTx+S5TyZe7SopGoquFo2twVFBdHLOvZmDOMbnrJiFWX1dlX5KsSfnoKegQE0uAURg7rQBnH7Sxdg4ZT7mHn4oGntHBGg4T4jzczxraNpqp6ai8pkD+XD0jAoII4cru/oHsO63v8P7L3k+Lrv8lRgeGcmjdUoHisZUmaXSeR6UQ4Vh2yeqnaX0Vqc2L7TIfBUZiaSiUfV3b5gqdzHbbnELoEmAzUIGRdDcZ9c2+YYFeKdSu5AJEQ1Thv+P0U52l2+q+DgVcAgfe0L06cf3bMRrj1+K796xDmcdNC+nvCRtYkwQeYIHBwSj1onbH+lBpOUdKnUijY9CF4CZMpsBpUx0Mo68cTpdFc/1lecp0nAiHt0D1+arKQRpxK0qRKwBVgRmH5h2EvZ/+9swvmd3bp1KaIiGK/LWvZyLlL+zMfy0ehzuabXYeXWy9pJ4oUaZlt7Lc7sHB/Hw176Cv9z0DXTOmY3CzF+8vy5BK6/IkSSpcBX7U8uJlfuiPxjlNQ7Lv8NIsKgVnqzSkVBUoyY2oUeYjmjO27BGGl7Z3NqVjiNGplhrajjbLNb2z+0VOo3UjIzJ6Gx2qNh0czK+fLUzwhT/a4ZJGp1sUJg5ar6WtKe7r/he7UP8NgoWr5WyvVDRXvS5IBusfBaTQtABQMW0A5sDRhM6HXsGWQMSQqtn0RSJFqCcHAKKcNmuMObTzj4ZD62LBxNMI9OtJdo28RMdH6kIzgCQhS6nSZBQELqXxAjZGlJx5z6N7dmDAy59PY4/8hUYGroTj+yMJ5UXQhljxtDEuSoT76toSTCcU3MBbZNhcYMnyjIQMpVcGyrGlzhpxgEu6PvKxDHne9Uy7aZXupdMC/sMRThGd1RMKd9m4nC0xNYOlOmXSYJhgjLZ67cGU+uIhVNTdME6+rY0nnXWrVOlfVHHjPse702RJPO+Bd09ZXWvdWZ9adrnK4yUl4YuEoOvUIHllcCjna4ksI2wrH/AzKnom3IM9nvbOzAZFo3yCmhpQLQqrLn6okvhxphA16Q0j3yp7l2lwUBs+0LNG563xvg4xn73K2xafxMeTBmSBbOLUVe8f9IVanNDVQ9XGmCvHSIkqDAZKIEMbHsZonB2oMvGlmG4/JycQOWFk9SxZMTOQpBUtBRQUqSWyAVQWYwRk8OAPatgztLTcCLjhdO+u8LY606InpAHOg6exEbT45il03O0wAqD12cbPJA3dj5Bz83f85ZEZxgT0i6XJPLPAgrscGeGsM4yYIofJ5AplKPN9+rFO+IDoN3MIXqGy+IRM48Pj+G/v/UprP3dTSg6OxOjFzXSkknwOJuVdy9RH2P9yZg/TxtCkp9T1NROB8z+BNKMMv85z79rYBCt1Yfj3Ivfh/kzpkqWaWERgLeopWw9apgZmQnNKpyRoqjYxYw83iCGrzAbd4pTeHmqnVlssva+RHV4Uq32kD56MT80Tpyv00UhXy2UWurktShJrTQC4+WJvsI4rIlkGbusxuCFlgWPy5oB1KLPbFl1Hr3REl7ER5S1sQ+VPGwWsL2/7zlXXpWIZKUKbTxkUxNIuHKqjUF0rynWlh48Z1V66TNjvv6rzz8bU0aegW80EwDHmpqyMaQAxNwsIKONHehIdTxL4RtZrPNe0CCDlAUzujpc1wzIPuvQQ/Db2x7Hz3/yq5SWnPrNK6gwnWWJEjvOGIUV80bMGWsaoIpQMMRkA03aBZzdQWZUKrchhXcpKUu1B2DVZ6V8nhmAVcKqupmBedzOTGZ+VSNKpWRpar6F3i+CbNMWvJphrtKn/FmCAsgrhoUgeNUpNHfDPUtfrUatmp468morvFPOVTfOp7n3ZCcXBj3t/IHuN+FUEdDqGFPqcGDuvrBKesCh52G/N16Oyb3D6Z5aSpXQVVNR8tCoC6gPTvgpa51W2gZYEz5hQYsJZvG66AvEpMCYNNY9MICHv/SfWLPm5xiN+fAwRGCmA6BmQYW5APXJDd0dBBk8T7RgE8TU4Ud5RiGzMEE/KFVZio0weCamuVxtW4MwRHBmBnac4hecAJivtNv1LLJSvg31xbFKhVmY8VVeAGkkwWUBYkNbziaF2phZO2YvTxjd0ByG5jy5zqHyO4cd7TymMfjqvPEnHrGzu1iSDZwHwM6kR3vfQQLPz1Jt7c1c85zE3UQ9s2bi/Fe+CNsfeZhK4BVignkeE81/jZg4tWzBk3YzZTSvkXBwZd4i5eCXtEkla6c8OXGX0+o3vBEHHXQODpo9NS8qeUOSLElVe08dVlSdSnZ6nKtoAE7YYTraCZbPnFbrGQULQyidFpt05LkvrGpF4yiyOFSxmqclvir9AmsxGp0dV2qfqlxVmFo1CWADcEofEKKLA2UTs4B9epfk2TjH0r7ykjwD3M/SmANOIVfsXmfbZ+Go0jr3r9Q2DZ1cm9bi8ZXE6N7wheWQ6vX5mXEX04Gzp6Nv8DisujygO+erM4rDm1pFTkGzVJ7gNjmsmpE90ymbkfmcp5hqwHn8TJW4C2t0xy50P3BbyoI2jJIlnZdoJW4t8+Orqp+436ozUeFkv1pmgDgRVL+XmSufSJWutmeSeiKYTCSg/oIxicSZI8aQkhyqcvJkkWCKbe0t01K/kWleGkZQBPI6kfxEB1OD0TpLIEdcTYzs/xfSn6RpCkVr9mcA00fpP1HSsz1f6jY7WDtdny832r5TJEXG7gAPbYevdbDiTHZzikaZuaF3IuQQxEjflWU+C+qRXXvw7R9+Dk9d9xvUenpylQe6B5Rhm59VGu1HvXEqPCVpwVypN29sqdEJ5ymikyI+TbM1L4SAQ/i3f84cbOudHXNjtntmOgh063CsPWo7UR2wTD3a/XOmoRUSwS+L+vKtIaLPtmXL7i20zCQZMc+CMMqlbf3w0qF2JNXVQOhkGFXBkR+7gif3eUVvifz46rNFRcP6HpZepClM+86EV4F2nSW9b6OfPlic8TYg8m0z5Q27t/sjlXvYpjaaEJXeuepvpN0WhajIqWdeju2zl6Ztd2mDBh1GpmsYuY6QmF8VK4IWkUxNHx6DMwtpUnyJzUTqa1ffAP5/cKceHJIWE9QAAAAASUVORK5CYII=";
|
|
14
14
|
class S extends N {
|
|
15
15
|
constructor() {
|
|
16
|
-
super(), this.design = null, this._design = null, this._translations = E({ name: "solution-builder-assistant", blocking: !0 }), this._isDirty = !1, this._titleValidationError = null, this._deployAlertMessage = null, this._layerNameAlertMessage = null, this._descriptionValidationError = null, this._undoStack = [], this._redoStack = [], this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this._originalItemTitle = "", this._originalItemDescription = "", this._layerNameValidationError = null, this._layerDescriptionValidationError = null, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null, this._selectedLayerIndex = 0, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = p, this._editingFieldChoiceList = null, this._isAddingNewField = !1, this._isCustomizingLayer = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = p, this._newFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = p, this._originalEditFieldChoiceList = null, this._userOptions = [], this._designContextValue = null, this._lastPushedDesign = null, this._deployDialogRef =
|
|
16
|
+
super(), this.design = null, this._design = null, this._translations = E({ name: "solution-builder-assistant", blocking: !0 }), this._isDirty = !1, this._titleValidationError = null, this._deployAlertMessage = null, this._layerNameAlertMessage = null, this._descriptionValidationError = null, this._undoStack = [], this._redoStack = [], this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this._originalItemTitle = "", this._originalItemDescription = "", this._layerNameValidationError = null, this._layerDescriptionValidationError = null, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null, this._selectedLayerIndex = 0, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = p, this._editingFieldChoiceList = null, this._isAddingNewField = !1, this._isCustomizingLayer = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = p, this._newFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = p, this._originalEditFieldChoiceList = null, this._userOptions = [], this._designContextValue = null, this._lastPushedDesign = null, this._deployDialogRef = F(), this._deployingDialogRef = F(), this._pendingDeployedSolutionId = null, this._designContextConsumer = C({
|
|
17
17
|
context: I,
|
|
18
18
|
subscribe: !0,
|
|
19
19
|
callback: (e) => {
|
|
@@ -173,7 +173,7 @@ class S extends N {
|
|
|
173
173
|
choiceList: this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? this._newFieldChoiceList : null
|
|
174
174
|
};
|
|
175
175
|
this._newFieldType === "string" && (t.length = this._newFieldLength);
|
|
176
|
-
const a = [...i.customFields || [], t], l = e.map((
|
|
176
|
+
const a = [...i.customFields || [], t], l = e.map((n, c) => c === this._selectedLayerIndex ? { ...n, customFields: a } : n);
|
|
177
177
|
this._pushDesign({
|
|
178
178
|
...this._design,
|
|
179
179
|
featureLayer: {
|
|
@@ -202,12 +202,12 @@ class S extends N {
|
|
|
202
202
|
const a = (this._design?.featureLayer?.layers || [])[this._selectedLayerIndex];
|
|
203
203
|
if (!a)
|
|
204
204
|
return;
|
|
205
|
-
const l = a.customFields || [],
|
|
205
|
+
const l = a.customFields || [], n = a.requiredFields || [];
|
|
206
206
|
if (e < l.length)
|
|
207
207
|
this._editingFieldType = "custom", this._editingFieldIndex = e;
|
|
208
208
|
else {
|
|
209
209
|
const c = e - l.length;
|
|
210
|
-
if (c >=
|
|
210
|
+
if (c >= n.length)
|
|
211
211
|
return;
|
|
212
212
|
this._editingFieldType = "required", this._editingFieldIndex = c;
|
|
213
213
|
}
|
|
@@ -301,7 +301,7 @@ class S extends N {
|
|
|
301
301
|
return;
|
|
302
302
|
const t = [...e[this._selectedLayerIndex].customFields || []];
|
|
303
303
|
t.splice(this._editingFieldIndex, 1);
|
|
304
|
-
const a = e.map((l,
|
|
304
|
+
const a = e.map((l, n) => n === this._selectedLayerIndex ? { ...l, customFields: t } : l);
|
|
305
305
|
this._pushDesign({
|
|
306
306
|
...this._design,
|
|
307
307
|
featureLayer: {
|
|
@@ -327,7 +327,7 @@ class S extends N {
|
|
|
327
327
|
choiceList: this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? this._editingFieldChoiceList : null,
|
|
328
328
|
length: this._editingFieldTypeValue === "string" ? this._editingFieldLength : void 0
|
|
329
329
|
};
|
|
330
|
-
const a = e.map((l,
|
|
330
|
+
const a = e.map((l, n) => n === this._selectedLayerIndex ? { ...l, customFields: t } : l);
|
|
331
331
|
this._pushDesign({
|
|
332
332
|
...this._design,
|
|
333
333
|
featureLayer: {
|
|
@@ -342,7 +342,7 @@ class S extends N {
|
|
|
342
342
|
alias: this._editingFieldDisplayName,
|
|
343
343
|
description: this._editingFieldDescription
|
|
344
344
|
};
|
|
345
|
-
const a = e.map((l,
|
|
345
|
+
const a = e.map((l, n) => n === this._selectedLayerIndex ? { ...l, requiredFields: t } : l);
|
|
346
346
|
this._pushDesign({
|
|
347
347
|
...this._design,
|
|
348
348
|
featureLayer: {
|
|
@@ -361,7 +361,7 @@ class S extends N {
|
|
|
361
361
|
const t = this._design.featureLayer?.layers || [];
|
|
362
362
|
if (this._selectedLayerIndex >= t.length)
|
|
363
363
|
return;
|
|
364
|
-
const a = t.map((l,
|
|
364
|
+
const a = t.map((l, n) => n === this._selectedLayerIndex ? { ...l, name: e } : l);
|
|
365
365
|
this._pushDesign({
|
|
366
366
|
...this._design,
|
|
367
367
|
featureLayer: {
|
|
@@ -378,7 +378,7 @@ class S extends N {
|
|
|
378
378
|
const t = this._design.featureLayer?.layers || [];
|
|
379
379
|
if (this._selectedLayerIndex >= t.length)
|
|
380
380
|
return;
|
|
381
|
-
const a = i.value, l = t.map((
|
|
381
|
+
const a = i.value, l = t.map((n, c) => c === this._selectedLayerIndex ? { ...n, type: a } : n);
|
|
382
382
|
this._pushDesign({
|
|
383
383
|
...this._design,
|
|
384
384
|
featureLayer: {
|
|
@@ -425,7 +425,27 @@ class S extends N {
|
|
|
425
425
|
id: this._design.solution.itemId || "",
|
|
426
426
|
title: this._design.solution.title || "",
|
|
427
427
|
supportReuse: !1
|
|
428
|
-
}, this._userOptions = [
|
|
428
|
+
}, this._userOptions = [{
|
|
429
|
+
id: "wkid",
|
|
430
|
+
props: [{
|
|
431
|
+
attributes: {
|
|
432
|
+
required: "true"
|
|
433
|
+
},
|
|
434
|
+
autoSelect: !0,
|
|
435
|
+
id: "wkid",
|
|
436
|
+
prop: "wkid",
|
|
437
|
+
default: "3857",
|
|
438
|
+
label: "Spatial Reference",
|
|
439
|
+
outType: "number",
|
|
440
|
+
srSearchText: "3857",
|
|
441
|
+
validation: {
|
|
442
|
+
expression: "\\S{1,}",
|
|
443
|
+
message: ""
|
|
444
|
+
},
|
|
445
|
+
value: "3857",
|
|
446
|
+
valueType: "spatialreference"
|
|
447
|
+
}]
|
|
448
|
+
}], await this.updateComplete, !this._deployDialogRef.value) {
|
|
429
449
|
console.warn("solution-deploy-dialog not available in solution-builder-assistant");
|
|
430
450
|
return;
|
|
431
451
|
}
|
|
@@ -541,7 +561,7 @@ class S extends N {
|
|
|
541
561
|
return null;
|
|
542
562
|
}
|
|
543
563
|
_validateSolutionDescription(e) {
|
|
544
|
-
const i = this._translations, t =
|
|
564
|
+
const i = this._translations, t = f(e, 2048, !1);
|
|
545
565
|
if (!t.isValid)
|
|
546
566
|
switch (t.errorType) {
|
|
547
567
|
case "exceed-length":
|
|
@@ -569,7 +589,7 @@ class S extends N {
|
|
|
569
589
|
return null;
|
|
570
590
|
}
|
|
571
591
|
_validateItemDescription(e) {
|
|
572
|
-
const i = this._translations, t =
|
|
592
|
+
const i = this._translations, t = f(e, 2048, !1);
|
|
573
593
|
if (!t.isValid)
|
|
574
594
|
switch (t.errorType) {
|
|
575
595
|
case "exceed-length":
|
|
@@ -597,7 +617,7 @@ class S extends N {
|
|
|
597
617
|
return i && i.some((l) => l.toLowerCase() === e.toLowerCase()) ? t.layerNameErrorDuplicate : null;
|
|
598
618
|
}
|
|
599
619
|
_validateLayerDescription(e) {
|
|
600
|
-
const i = this._translations, t =
|
|
620
|
+
const i = this._translations, t = f(e, 2048, !1);
|
|
601
621
|
if (!t.isValid)
|
|
602
622
|
switch (t.errorType) {
|
|
603
623
|
case "exceed-length":
|
|
@@ -623,9 +643,9 @@ class S extends N {
|
|
|
623
643
|
return null;
|
|
624
644
|
}
|
|
625
645
|
_validateFieldName(e, i, t = !1, a = -1, l = null) {
|
|
626
|
-
const
|
|
627
|
-
if (i >= 0 && i <
|
|
628
|
-
const h =
|
|
646
|
+
const n = this._translations, c = [], s = this._design?.featureLayer?.layers || [];
|
|
647
|
+
if (i >= 0 && i < s.length) {
|
|
648
|
+
const h = s[i], y = h.customFields || [], v = h.requiredFields || [], u = h.systemFields || [];
|
|
629
649
|
y.forEach((g, m) => {
|
|
630
650
|
(!t || l !== "custom" || m !== a) && c.push(g.name.toLowerCase());
|
|
631
651
|
}), v.forEach((g, m) => {
|
|
@@ -638,24 +658,24 @@ class S extends N {
|
|
|
638
658
|
if (!r.isValid)
|
|
639
659
|
switch (r.errorType) {
|
|
640
660
|
case "empty":
|
|
641
|
-
return
|
|
661
|
+
return n.fieldNameErrorBlank;
|
|
642
662
|
case "invalid-format":
|
|
643
|
-
return
|
|
663
|
+
return n.fieldNameErrorInvalidChars;
|
|
644
664
|
case "exceed-length":
|
|
645
|
-
return
|
|
665
|
+
return n.fieldNameErrorLength;
|
|
646
666
|
case "sql-keyword":
|
|
647
|
-
return
|
|
667
|
+
return n.fieldNameErrorSQLKeyword;
|
|
648
668
|
case "system-field":
|
|
649
|
-
return
|
|
669
|
+
return n.fieldNameErrorSystemField;
|
|
650
670
|
case "duplicate-field":
|
|
651
|
-
return
|
|
671
|
+
return n.fieldNameErrorExists;
|
|
652
672
|
default:
|
|
653
673
|
return null;
|
|
654
674
|
}
|
|
655
675
|
return null;
|
|
656
676
|
}
|
|
657
677
|
_validateFieldDescription(e) {
|
|
658
|
-
const i = this._translations, t =
|
|
678
|
+
const i = this._translations, t = f(e, 500, !0);
|
|
659
679
|
if (!t.isValid)
|
|
660
680
|
switch (t.errorType) {
|
|
661
681
|
case "exceed-length":
|
|
@@ -675,29 +695,29 @@ class S extends N {
|
|
|
675
695
|
return t.isValid ? null : t.errorType === "out-of-range" ? i.lengthErrorOutOfRange : null;
|
|
676
696
|
}
|
|
677
697
|
_validateDomainValue(e, i, t = !1, a, l) {
|
|
678
|
-
const
|
|
698
|
+
const n = this._translations, c = O(e, i, t);
|
|
679
699
|
if (!c.isValid)
|
|
680
700
|
switch (c.errorType) {
|
|
681
701
|
case "empty":
|
|
682
|
-
return
|
|
702
|
+
return n.domainValueErrorEmpty;
|
|
683
703
|
case "exceed-length":
|
|
684
|
-
return
|
|
704
|
+
return n.domainValueErrorExceedsLength;
|
|
685
705
|
default:
|
|
686
706
|
return null;
|
|
687
707
|
}
|
|
688
|
-
return a && l !== void 0 && a.some((r, h) => h !== l && r === e) ?
|
|
708
|
+
return a && l !== void 0 && a.some((r, h) => h !== l && r === e) ? n.domainValueErrorDuplicate : null;
|
|
689
709
|
}
|
|
690
710
|
_renderFieldRows(e) {
|
|
691
711
|
const i = this._translations, t = [
|
|
692
712
|
...e.customFields || [],
|
|
693
713
|
...e.requiredFields || []
|
|
694
714
|
], a = e.customFields?.length || 0, l = [];
|
|
695
|
-
return t.forEach((
|
|
696
|
-
const
|
|
715
|
+
return t.forEach((n, c) => {
|
|
716
|
+
const s = this._getFieldTypeIcon(n.type), r = this._formatFieldType(n), h = `field-domain-info-${c}`, y = `field-lock-${c}`, v = c >= a;
|
|
697
717
|
let u, g = !1;
|
|
698
|
-
|
|
699
|
-
const m = v ? o`<div class="field-name-cell"><calcite-icon id=${y ?? d} icon=lock scale=s class="lock-icon"></calcite-icon><span>${
|
|
700
|
-
l.push(o`<calcite-table-row><calcite-table-cell>${
|
|
718
|
+
n.choiceList && Array.isArray(n.choiceList) ? (g = !0, u = o`<div class="domain-cell-content"><span>${i.domainList.replace("{{count}}", String(n.choiceList.length))}</span><calcite-icon id=${h ?? d} icon=information scale=s></calcite-icon></div>`) : u = null;
|
|
719
|
+
const m = v ? o`<div class="field-name-cell"><calcite-icon id=${y ?? d} icon=lock scale=s class="lock-icon"></calcite-icon><span>${n.name}</span></div>` : n.name;
|
|
720
|
+
l.push(o`<calcite-table-row><calcite-table-cell>${n.alias}</calcite-table-cell><calcite-table-cell>${m}</calcite-table-cell><calcite-table-cell><div class="field-type-cell"><calcite-icon .icon=${s} scale=s></calcite-icon><span>${r}</span></div></calcite-table-cell><calcite-table-cell>${u}</calcite-table-cell><calcite-table-cell><calcite-icon class="edit-icon" icon=pencil scale=s @click=${() => this._handleEditField(c, n)}></calcite-icon></calcite-table-cell></calcite-table-row>`), g && l.push(o`<calcite-tooltip .referenceElement=${h} placement=left><ul class="choice-list-tooltip">${n.choiceList.map((L) => o`<li>${L}</li>`)}</ul></calcite-tooltip>`), v && l.push(o`<calcite-tooltip .referenceElement=${y} placement=top>${i.requiredFieldTooltip}</calcite-tooltip>`);
|
|
701
721
|
}), l;
|
|
702
722
|
}
|
|
703
723
|
_renderEmptyState() {
|
|
@@ -717,13 +737,13 @@ class S extends N {
|
|
|
717
737
|
_renderSolutionItemContent() {
|
|
718
738
|
const e = this._translations, i = this._design?.items || [], t = this._design?.featureLayer?.itemId, a = [...i].reverse();
|
|
719
739
|
return o`<div class="solution-item-content-section"><h3 class="section-header">${e.contents}</h3><calcite-list .label=${e.solutionContentItems} interaction-mode=static>${a.map((l) => {
|
|
720
|
-
const
|
|
721
|
-
return o`<calcite-list-item .label=${l.title} .description=${l.description || ""}><solution-item-icon slot=content-start .designType=${l.type}></solution-item-icon>${
|
|
740
|
+
const n = `edit-action-${l.id}`, c = `customize-action-${l.id}`, s = l.id === t;
|
|
741
|
+
return o`<calcite-list-item .label=${l.title} .description=${l.description || ""}><solution-item-icon slot=content-start .designType=${l.type}></solution-item-icon>${s && o`<calcite-button slot=content-end appearance=outline-fill round id=${c ?? d} icon-start=gear .label=${e.customizeLayer} scale=m @click=${this._handleOpenCustomizeLayer}>${e.customizeLayer}</calcite-button>` || ""}<calcite-action slot=actions-end id=${n ?? d} icon=edit-attributes .text=${e.edit} scale=m></calcite-action></calcite-list-item>`;
|
|
722
742
|
})}</calcite-list>${a.map((l) => {
|
|
723
|
-
const
|
|
724
|
-
return o`<calcite-popover id=${c ?? d} .label=${e.editItemContent} .referenceElement=${
|
|
743
|
+
const n = `edit-action-${l.id}`, c = `edit-popover-${l.id}`, s = this._openPopoverId === l.id;
|
|
744
|
+
return o`<calcite-popover id=${c ?? d} .label=${e.editItemContent} .referenceElement=${n} placement=auto @calcitePopoverBeforeOpen=${() => this._handleItemPopoverOpen(l)} @calcitePopoverClose=${() => this._handleCloseItemPopover()}><div class="popover-content"><calcite-input-text label-text=${e.title ?? d} required .value=${s ? this._editingItemTitle : l.title} .placeholder=${e.titlePlaceholder} max-length=250 .status=${this._editingItemTitleError ? "invalid" : "idle"} .validationMessage=${this._editingItemTitleError || ""} .validationIcon=${!!this._editingItemTitleError} @input=${(r) => {
|
|
725
745
|
this._editingItemTitle = r.target.value, this._editingItemTitleError = this._validateItemName(r.target.value);
|
|
726
|
-
}}></calcite-input-text><calcite-label class="section-title popover-field">${e.description}<calcite-text-area .value=${
|
|
746
|
+
}}></calcite-input-text><calcite-label class="section-title popover-field">${e.description}<calcite-text-area .value=${s ? this._editingItemDescription : l.description} .placeholder=${e.descriptionPlaceholder} max-length=2048 resize=none rows=4 .status=${this._editingItemDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingItemDescriptionError || ""} .validationIcon=${!!this._editingItemDescriptionError} @input=${(r) => {
|
|
727
747
|
this._editingItemDescription = r.target.value, this._editingItemDescriptionError = this._validateItemDescription(r.target.value);
|
|
728
748
|
}}></calcite-text-area></calcite-label><div class="popover-actions"><calcite-button appearance=outline kind=neutral @click=${async (r) => {
|
|
729
749
|
r.stopPropagation(), await this._handleClosePopover(c);
|
|
@@ -733,25 +753,25 @@ class S extends N {
|
|
|
733
753
|
})}</div>`;
|
|
734
754
|
}
|
|
735
755
|
_renderCustomizeLayerFlow() {
|
|
736
|
-
const e = this._translations, i = this._design?.featureLayer?.layers || [], t = this._design?.featureLayer?.addLayers || !1, a = i[this._selectedLayerIndex], l = a?.name || "",
|
|
737
|
-
return o`<calcite-flow><calcite-flow-item .heading=${e.customizeLayer} .selected=${!this._isAddingLayer && !this._isEditingField && !this._isAddingNewField}><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseCustomizeLayer}></calcite-action>${t && o`<calcite-button slot=header-actions-end icon-start=plus scale=m class="new-layer-button" @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>` || ""}<div class="layer-form-content"><div class="layer-selector-container"><div class="layer-selector-row"><span class="layer-selector-label">${e.selectLayer}</span><calcite-combobox .label=${e.selectLayer} required selection-mode=single-persist clear-disabled @calciteComboboxBeforeOpen=${(
|
|
738
|
-
this._layerNameValidationError && (
|
|
739
|
-
}} @calciteComboboxChange=${(
|
|
740
|
-
const h = this._getLayerTypeIcon(
|
|
741
|
-
return o`<calcite-combobox-item .value=${r.toString()} .label=${
|
|
742
|
-
})}</calcite-combobox></div></div>${a && o`<div class="layer-details-container"><div class="layer-properties-section"><div class="layer-properties-row"><calcite-input-text label-text=${e.name ?? d} required .placeholder=${e.layerNamePlaceholder} .value=${l} max-length=250 .status=${this._layerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._layerNameValidationError || ""} .validationIcon=${!!this._layerNameValidationError} @input=${(
|
|
743
|
-
const r =
|
|
756
|
+
const e = this._translations, i = this._design?.featureLayer?.layers || [], t = this._design?.featureLayer?.addLayers || !1, a = i[this._selectedLayerIndex], l = a?.name || "", n = a?.description || "", c = a?.type || "Point";
|
|
757
|
+
return o`<calcite-flow><calcite-flow-item .heading=${e.customizeLayer} .selected=${!this._isAddingLayer && !this._isEditingField && !this._isAddingNewField}><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseCustomizeLayer}></calcite-action>${t && o`<calcite-button slot=header-actions-end icon-start=plus scale=m class="new-layer-button" @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>` || ""}<div class="layer-form-content"><div class="layer-selector-container"><div class="layer-selector-row"><span class="layer-selector-label">${e.selectLayer}</span><calcite-combobox .label=${e.selectLayer} required selection-mode=single-persist clear-disabled @calciteComboboxBeforeOpen=${(s) => {
|
|
758
|
+
this._layerNameValidationError && (s.target.open = !1, this._layerNameAlertMessage = this._layerNameValidationError);
|
|
759
|
+
}} @calciteComboboxChange=${(s) => this._handleLayerSelect(s)}>${i.map((s, r) => {
|
|
760
|
+
const h = this._getLayerTypeIcon(s.type);
|
|
761
|
+
return o`<calcite-combobox-item .value=${r.toString()} .label=${s.name} .heading=${s.name} .icon=${h} .selected=${r === this._selectedLayerIndex}></calcite-combobox-item>`;
|
|
762
|
+
})}</calcite-combobox></div></div>${a && o`<div class="layer-details-container"><div class="layer-properties-section"><div class="layer-properties-row"><calcite-input-text label-text=${e.name ?? d} required .placeholder=${e.layerNamePlaceholder} .value=${l} max-length=250 .status=${this._layerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._layerNameValidationError || ""} .validationIcon=${!!this._layerNameValidationError} @input=${(s) => this._handleLayerNameInput(s.target.value)} @blur=${(s) => this._handleLayerNameBlur(s.target.value)}></calcite-input-text><div class="layer-type-control-row"><calcite-combobox .label=${e.type} label-text=${e.type ?? d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(s) => this._handleLayerTypeChange(s)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${c === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${c === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${c === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${c === "Table"}></calcite-combobox-item></calcite-combobox>${this._shouldShowRemoveLayerButton(a) && o`<calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button>` || ""}</div></div></div><div class="layer-description-container"><calcite-label class="section-title">${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${n} resize=none max-length=2048 .status=${this._layerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._layerDescriptionValidationError || ""} .validationIcon=${!!this._layerDescriptionValidationError} @input=${(s) => this._handleLayerDescriptionChange(s.target.value)}></calcite-text-area></calcite-label></div><div class="fields-section"><calcite-label class="section-title">${e.fields}<calcite-table bordered .caption=${e.fields}><calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(a)}</calcite-table></calcite-label><calcite-button icon-start=plus appearance=outline-fill width=auto scale=m class="add-field-button" @click=${this._handleAddField}>${e.addField}</calcite-button><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(a)}</div></calcite-notice></div></div>` || ""}</div></calcite-flow-item>${this._isEditingField && o`<calcite-flow-item .heading=${e.editField} selected @calciteFlowItemBack=${this._handleEditFieldBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName ?? d} required .placeholder=${e.displayNamePlaceholder} .value=${this._editingFieldDisplayName} max-length=250 .status=${this._editingFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDisplayNameError || ""} .validationIcon=${!!this._editingFieldDisplayNameError} @input=${(s) => this._handleEditFieldDisplayNameChange(s.target.value)}></calcite-input-text><calcite-input-text label-text=${e.fieldName ?? d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._editingFieldName} max-length=31 .disabled=${this._editingFieldType === "required"} .status=${this._editingFieldNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldNameError || ""} .validationIcon=${!!this._editingFieldNameError} @input=${(s) => this._handleEditFieldNameChange(s.target.value)}></calcite-input-text></div><div class="layer-description-container"><calcite-label class="section-title">${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._editingFieldDescription} resize=none max-length=500 .status=${this._editingFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDescriptionError || ""} .validationIcon=${!!this._editingFieldDescriptionError} @input=${(s) => this._handleEditFieldDescriptionChange(s.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type ?? d} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType === "required"} @calciteComboboxChange=${(s) => this._handleEditFieldTypeChange(s)}><calcite-combobox-item value=string text-label=${e.stringType ?? d} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? d} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? d} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? d} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? d} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue === "guid"}></calcite-combobox-item></calcite-combobox>${this._editingFieldTypeValue === "string" && o`<calcite-input-number label-text=${e.length ?? d} required .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType === "required"} min=1 max=4000 .status=${this._editingFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._editingFieldLengthError || ""} .validationIcon=${!!this._editingFieldLengthError} @input=${(s) => {
|
|
763
|
+
const r = s.target.value === "" ? null : parseInt(s.target.value);
|
|
744
764
|
this._handleEditFieldLengthChange(r);
|
|
745
|
-
}}></calcite-input-number>` || ""}</div>${this._editingFieldType === "required" && o`<calcite-notice open icon=lock appearance=transparent kind=info><div slot=message>${e.requiredFieldNote}</div></calcite-notice>` || ""}${this._editingFieldTypeValue === "string" && o`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? o`<div><div class="domain-list">${this._editingFieldChoiceList.map((
|
|
765
|
+
}}></calcite-input-number>` || ""}</div>${this._editingFieldType === "required" && o`<calcite-notice open icon=lock appearance=transparent kind=info><div slot=message>${e.requiredFieldNote}</div></calcite-notice>` || ""}${this._editingFieldTypeValue === "string" && o`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? o`<div><div class="domain-list">${this._editingFieldChoiceList.map((s, r) => o`<div class="domain-item" draggable @dragstart=${(h) => this._handleEditFieldChoiceDragStart(r, h)} @dragover=${(h) => h.preventDefault()} @drop=${(h) => this._handleEditFieldChoiceDrop(r, h)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${s} .maxLength=${this._editingFieldLength} .status=${this._editingFieldChoiceListErrors.get(r) ? "invalid" : "idle"} .validationMessage=${this._editingFieldChoiceListErrors.get(r) || ""} .validationIcon=${!!this._editingFieldChoiceListErrors.get(r)} @input=${(h) => this._handleUpdateEditFieldChoice(r, h.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveEditFieldChoice(r)}></calcite-button></div>`)}</div><div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleClearEditFieldChoiceList}>${e.deleteList}</calcite-button></div></div>` : o`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>` || ""}</div><calcite-button slot=footer-end appearance=outline kind=neutral scale=m .disabled=${this._editingFieldType === "required"} @click=${this._handleDeleteField}>${e.delete}</calcite-button><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${// Disable if there are validation errors
|
|
746
766
|
!!this._editingFieldDisplayNameError || !!this._editingFieldNameError || !!this._editingFieldDescriptionError || !!this._editingFieldLengthError || this._editingFieldChoiceListErrors.size > 0 || // Disable if choice list has any empty values
|
|
747
|
-
(this._editingFieldChoiceList?.some((
|
|
748
|
-
this._editingFieldDisplayName === this._originalEditFieldDisplayName && this._editingFieldName === this._originalEditFieldName && this._editingFieldDescription === this._originalEditFieldDescription && this._editingFieldTypeValue === this._originalEditFieldTypeValue && this._editingFieldLength === this._originalEditFieldLength && JSON.stringify(this._editingFieldChoiceList) === JSON.stringify(this._originalEditFieldChoiceList)} @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button></calcite-flow-item>` || ""}${this._isAddingLayer && o`<calcite-flow-item .heading=${e.addLayer} selected @calciteFlowItemBack=${this._handleAddLayerBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.name ?? d} required .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerNameValidationError || ""} .validationIcon=${!!this._newLayerNameValidationError} @input=${(
|
|
749
|
-
const r =
|
|
767
|
+
(this._editingFieldChoiceList?.some((s) => !s.trim()) ?? !1) || // Disable if no changes made
|
|
768
|
+
this._editingFieldDisplayName === this._originalEditFieldDisplayName && this._editingFieldName === this._originalEditFieldName && this._editingFieldDescription === this._originalEditFieldDescription && this._editingFieldTypeValue === this._originalEditFieldTypeValue && this._editingFieldLength === this._originalEditFieldLength && JSON.stringify(this._editingFieldChoiceList) === JSON.stringify(this._originalEditFieldChoiceList)} @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button></calcite-flow-item>` || ""}${this._isAddingLayer && o`<calcite-flow-item .heading=${e.addLayer} selected @calciteFlowItemBack=${this._handleAddLayerBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.name ?? d} required .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerNameValidationError || ""} .validationIcon=${!!this._newLayerNameValidationError} @input=${(s) => this._handleNewLayerNameChange(s.target.value)}></calcite-input-text><calcite-combobox .label=${e.type} label-text=${e.type ?? d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(s) => this._handleNewLayerTypeChange(s)}><calcite-combobox-item value=Point text-label=${e.pointLayer ?? d} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer ?? d} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer ?? d} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer ?? d} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType === "Table"}></calcite-combobox-item></calcite-combobox></div><div class="layer-description-container"><calcite-label class="section-title">${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none max-length=2048 .status=${this._newLayerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerDescriptionValidationError || ""} .validationIcon=${!!this._newLayerDescriptionValidationError} @input=${(s) => this._handleNewLayerDescriptionChange(s.target.value)}></calcite-text-area></calcite-label></div></div><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${!this._newLayerName.trim() || !!this._newLayerNameValidationError || !!this._newLayerDescriptionValidationError} @click=${this._handleAddLayerDone}>${e.done}</calcite-button></calcite-flow-item>` || ""}${this._isAddingNewField && o`<calcite-flow-item .heading=${e.addField} selected @calciteFlowItemBack=${this._handleAddFieldBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName ?? d} required .placeholder=${e.displayNamePlaceholder} .value=${this._newFieldDisplayName} max-length=250 .status=${this._newFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldDisplayNameError || ""} .validationIcon=${!!this._newFieldDisplayNameError} @input=${(s) => this._handleNewFieldDisplayNameChange(s.target.value)}></calcite-input-text><calcite-input-text label-text=${e.fieldName ?? d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._newFieldName} max-length=31 .status=${this._newFieldNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldNameError || ""} .validationIcon=${!!this._newFieldNameError} @input=${(s) => this._handleNewFieldNameChange(s.target.value)}></calcite-input-text></div><div class="layer-description-container"><calcite-label class="section-title">${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._newFieldDescription} resize=none max-length=500 .status=${this._newFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._newFieldDescriptionError || ""} .validationIcon=${!!this._newFieldDescriptionError} @input=${(s) => this._handleNewFieldDescriptionChange(s.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type ?? d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(s) => this._handleNewFieldTypeChange(s)}><calcite-combobox-item value=string text-label=${e.stringType ?? d} .heading=${e.stringType} icon=string .selected=${this._newFieldType === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? d} .heading=${e.integerType} icon=integer .selected=${this._newFieldType === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? d} .heading=${e.doubleType} icon=number .selected=${this._newFieldType === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? d} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? d} .heading=${e.guidType} icon=key .selected=${this._newFieldType === "guid"}></calcite-combobox-item></calcite-combobox>${this._newFieldType === "string" && o`<calcite-input-number label-text=${e.length ?? d} required .value=${this._newFieldLength.toString()} min=1 max=4000 .status=${this._newFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._newFieldLengthError || ""} .validationIcon=${!!this._newFieldLengthError} @input=${(s) => {
|
|
769
|
+
const r = s.target.value === "" ? null : parseInt(s.target.value);
|
|
750
770
|
this._handleNewFieldLengthChange(r);
|
|
751
|
-
}}></calcite-input-number>` || ""}</div>${this._newFieldType === "string" && o`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? o`<div><div class="domain-list">${this._newFieldChoiceList.map((
|
|
771
|
+
}}></calcite-input-number>` || ""}</div>${this._newFieldType === "string" && o`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? o`<div><div class="domain-list">${this._newFieldChoiceList.map((s, r) => o`<div class="domain-item" draggable @dragstart=${(h) => this._handleNewFieldChoiceDragStart(r, h)} @dragover=${(h) => h.preventDefault()} @drop=${(h) => this._handleNewFieldChoiceDrop(r, h)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${s} .maxLength=${this._newFieldLength} .status=${this._newFieldChoiceListErrors.get(r) ? "invalid" : "idle"} .validationMessage=${this._newFieldChoiceListErrors.get(r) || ""} .validationIcon=${!!this._newFieldChoiceListErrors.get(r)} @input=${(h) => this._handleUpdateNewFieldChoice(r, h.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveNewFieldChoice(r)}></calcite-button></div>`)}</div><div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleClearNewFieldChoiceList}>${e.deleteList}</calcite-button></div></div>` : o`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>` || ""}</div><calcite-button slot=footer-end appearance=solid scale=m .disabled=${// Disable if required fields are empty
|
|
752
772
|
!this._newFieldDisplayName.trim() || !this._newFieldName.trim() || // Disable if there are validation errors
|
|
753
773
|
!!this._newFieldDisplayNameError || !!this._newFieldNameError || !!this._newFieldDescriptionError || !!this._newFieldLengthError || this._newFieldChoiceListErrors.size > 0 || // Disable if choice list has any empty values
|
|
754
|
-
(this._newFieldChoiceList?.some((
|
|
774
|
+
(this._newFieldChoiceList?.some((s) => !s.trim()) ?? !1)} @click=${this._handleAddFieldDone}>${e.done}</calcite-button></calcite-flow-item>` || ""}</calcite-flow>`;
|
|
755
775
|
}
|
|
756
776
|
_pushDesign(e, i = !0) {
|
|
757
777
|
this._design && (this._undoStack = [...this._undoStack, structuredClone(this._design)]), this._redoStack = [], this._design = e, this._lastPushedDesign = e, this._isDirty = !0, i && this._notifyDesignChanged(e);
|
|
@@ -6,4 +6,5 @@ import "@esri/calcite-components/components/calcite-input";
|
|
|
6
6
|
import "@esri/calcite-components/components/calcite-icon";
|
|
7
7
|
import "@esri/calcite-components/components/calcite-block";
|
|
8
8
|
import "@esri/calcite-components/components/calcite-tooltip";
|
|
9
|
+
import "@arcgis/common-components/components/arcgis-spatial-reference-picker";
|
|
9
10
|
export * from "./customElement.js";
|