{"version":3,"file":"assets/js/a-db81946.js","mappings":"UAAIA,ECCAC,EADAC,ECAAC,EACAC,E,4lBCQG,MAAMC,EAAWA,CAACC,EAAKC,IAC5B,IAAIC,MAAM,sBAAsBF,IAAMC,EAAS,OAAOA,IAAW,MAoDtDE,EAAUA,CAACC,EAAKC,EAAO,CAAC,IACnC,IAAIC,SAASC,IARWC,EAACJ,EAAKC,IAASI,IAAAA,KAAWL,EAAKC,EAtCnC,CAClBK,QAAS,SACTC,QAAS,CAAC,IA6CVH,CAAWJ,E,qWAAGQ,CAAA,GAAOP,IAAyCQ,MAAMC,IAC5C,MAAlBA,EAAOC,OACTR,EAAEO,EAAOT,MAETW,QAAQC,MAAM,aAAcH,EAC9B,GACA,IAGOI,EAAcC,MAAOf,EAAKgB,EAAS,CAAC,KAC/C,MAAM,IAAEpB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQC,EAAKgB,GACjD,GAAY,IAARpB,EAAW,CACb,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,KAEvC,MAAMD,EAASC,EAAKC,EACtB,CACA,OAAOI,CAAI,EAiBAqB,EAAYP,MAAOQ,EAAOtB,IACrC,IAAIC,SAASsB,IACXnB,IAAAA,KACQkB,EAAOtB,EAtEG,CAClBK,QAAS,SACTC,QAAS,CAAC,IAqEPE,MAAMgB,IACL,MAAMC,EAAMD,EAASxB,KACL,IAAZyB,EAAI9B,IACN4B,EAAQ,CAAE5B,IAAK,EAAGK,KAAMyB,EAAIzB,OAE5BuB,EAAQ,CAAE5B,IAAK8B,EAAI9B,IAAKC,OAAQ6B,EAAI7B,QACtC,IAED8B,OAAOd,IAEND,QAAQC,MAAMA,GACdW,EAAQ,CAAE5B,KAAM,GAAI,GACpB,IC5GR,EAL0BmB,UACxB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,oBAAqB,CAAE6B,aAC7D,GAAY,IAARhC,EAAW,MAAMD,EAASC,EAAKC,EAC7B,E,kCCJR,IAAIgC,EAAS,KACb,MAAMC,EAAK,IAAIC,KACTC,EAAW,CAAC,EAClB,IAAIC,EAAc,KAEX,MA8CMC,EAAqBA,CAACC,EAAaC,KAC9CN,EAAGO,YAAY,oBAAoBF,IAAeC,GAC7CJ,EAASG,GACTH,EAASG,IAAgB,EADFH,EAASG,GAAe,EAGhDN,GAAoC,IAA1BG,EAASG,IAErBN,EAAOS,KAAK,OAAQ,CAClBH,eAEJ,EAQWI,EAAuBA,CAACJ,EAAaC,KAChDN,EAAGU,eAAe,oBAAoBL,IAAeC,GACjDJ,EAASG,GAAe,IAAGH,EAASG,IAAgB,GAEpDN,GAAoC,IAA1BG,EAASG,IAErBN,EAAOS,KAAK,OAAQ,CAClBH,eAEJ,E,uIC3DF,QAlBA,SAAoBM,EAAYC,EAAO,GACrC,OAAO3B,MAAO4B,EAAMC,EAAUC,EAAQC,EAAOC,EAAUC,EAAWC,KAChE,MAAM,IAAErD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,YAAa,CACvD0C,aACAC,OACAC,OACAC,WACAC,SACAC,QACAC,WACAC,YACAE,SAAUD,IAEZ,GAAY,IAARrD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,CAEf,ECXA,EALiBc,UACf,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,UAAW,CAAC,GACxD,GAAY,IAARH,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,ECLAkD,GAAaC,EAAAA,EAAAA,IAAS,CACjCC,IAAK,YACLC,IAAKvC,OAASuC,eACWC,MAWdC,IAAUJ,EAAAA,EAAAA,IAAS,CAC9BC,IAAK,SACLC,IAAKA,EAAGA,UACN,MAAM,GAAEG,GAAOH,EAAIH,GACnB,OAAOM,CAAE,IAIAC,IAAaN,EAAAA,EAAAA,IAAS,CACjCC,IAAK,YACLC,IAAKA,EAAGA,UACN,MAAM,MAAEK,GAAUL,EAAIH,GACtB,OAAOQ,CAAK,IAYHC,KARcR,EAAAA,EAAAA,IAAS,CAClCC,IAAK,aACLC,IAAKA,EAAGA,UACN,MAAM,OAAEO,GAAWP,EAAIH,GACvB,OAAOU,CAAM,KAIqBT,EAAAA,EAAAA,IAAS,CAC7CC,IAAK,kBACLC,IAAKA,EAAGA,UAIN,MAAM,cAAEQ,GAAkBR,EAAIH,GAC9B,OAAOW,CAAa,KCxCXC,IAAkBC,EAAAA,EAAAA,IAAK,CAClCX,IAAK,kBACLY,QAASL,KAMEM,IAAyBd,EAAAA,EAAAA,IAAS,CAC7CC,IAAK,yBACLC,IAAKA,EAAGA,SACWA,EAAIS,IACLI,QAAO,CAAChE,EAAGiE,KACpBjE,EAAEiE,EAAE1B,MACJvC,EAAEiE,EAAE1B,OAAS,EADFvC,EAAEiE,EAAE1B,MAAQ,EAErBvC,IACN,CAAC,KAOKkE,IAAyBjB,EAAAA,EAAAA,IAAS,CAC7CC,IAAK,yBACLC,IAAKA,EAAGA,SACWA,EAAIS,IACLI,QAAO,CAAChE,EAAGiE,KACzB,MAAME,EAAYF,EAAE1B,KAAQ0B,EAAE1B,KAAO,IAErC,OADKvC,EAAEmE,KAAYnE,EAAEmE,IAAa,GAC3BnE,CAAC,GACP,CAAC,KAOKoE,IAAyBC,EAAAA,EAAAA,IAAe,CACnDnB,IAAK,yBACLC,IACGZ,GACD,EAAGY,SACgBA,EAAIS,IAElBlB,QAAQ4B,GAAOA,EAAG/B,OAASA,IAC3ByB,QAAO,CAAChE,EAAGiE,KACLjE,EAAEiE,EAAEM,MAAKvE,EAAEiE,EAAEM,IAAMN,GACjBjE,IACN,CAAC,K,8CCpDZ,MAKA,GALuBY,UACrB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,eAAgB,CAAE4E,QAC9D,GAAY,IAAR/E,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,ECPb,GAAuB,cCOvB,SAAS2E,IAAS,IAAED,EAAG,SAAEE,IAWvB,OACEC,EAAAA,cAAA,QAAMC,UAAWC,IACdH,EACDC,EAAAA,cAAA,UAAQG,KAAK,SAASC,QAb1BnE,iBACE,MAAMoE,QAAWC,GAAeT,GAChCU,GAAAA,EAAaC,KAAK,CAChBjE,QAAS,YACTkE,YAAaJ,EAAGK,IAChBC,UAAW,UACXC,SAAU,IAEd,GAMMZ,EAAAA,cAAA,OACEa,OAAO,eACPC,KAAK,eACLC,YAAY,IACZC,QAAQ,YACRC,OAAO,OACPC,MAAM,OACNC,MAAM,8BAENnB,EAAAA,cAAA,QAAMoB,EAAE,wUACRpB,EAAAA,cAAA,QAAMoB,EAAE,oJAKlB,CAEAtB,GAASuB,UAAY,CACnBxB,IAAKyB,KAAAA,OAAiBC,WACtBxB,SAAUuB,KAAAA,IAAcC,YAG1B,Y,gbC7CO,MAAMC,GAAqB,aACrBC,GAAqB,QCAlC,GAA4B,mBAA5B,GAA0D,kBAA1D,GAA4F,uBAA5F,GAAmI,uBAAnI,GAAoK,iBAApK,GAAiM,mBAAjM,GAAkO,qBAAlO,GAA8P,cAA9P,GAA+T,mBAA/T,GAA6V,kBAA7V,GAAyX,iBAAzX,GAAqZ,kBAArZ,GAAob,oBAApb,GAAkd,iBAAld,GAAkf,sBAAlf,GAAshB,qBAAthB,GAAsjB,kBAAtjB,GAAwlB,uBAAxlB,GAA4nB,oBAA5nB,GAA2pB,kBAA3pB,GAA4rB,sBAA5rB,GAAguB,qBAAhuB,GAAmwB,qBAAnwB,GAAsyB,qBAAtyB,GAA60B,yBAA70B,GAAs3B,uBAAt3B,GAA45B,sBAA55B,GAAi8B,sBAAj8B,GAA+9B,eAA/9B,GAAs/B,eAAt/B,GAAohC,sBAAphC,GAA2jC,wBAA3jC,GAAmmC,uBAAnmC,GAA2oC,wBAA3oC,GAAyqC,aAAzqC,GAAwsC,yBAAxsC,GAA0uC,gBAA1uC,GAAg0C,qBAAh0C,GAAu2C,yBCcv2C,GALoBC,CAACC,EAAKC,EAAMC,EAAKC,GAAQ,IACtCA,EACEH,EAAIC,IAASC,EADDE,KAASJ,EAAKC,EAAMC,G,2BCDzC,MAMA,GANoBG,CAACL,EAAKC,EAAMK,EAAKH,GAAQ,KACtCA,EAEAH,EAAIC,GAAQK,EAFLC,KAASP,EAAKC,EAAMK,EAEZ,ECJtB,SAASE,IAAU,GAAExC,EAAE,KAAEyC,EAAI,MAAEC,IAC7B,MAAM,GAAEzC,EAAE,MAAE0C,EAAK,UAAEC,EAAS,MAAEC,EAAK,QAAEC,EAAO,KAAEC,EAAI,SAAEC,EAAQ,QAAEvC,EAAO,MAAEc,GAAUvB,EAEjF,OACEK,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,KACZqC,GACAvC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,GAAStC,EAAAA,cAAA,YAAM,OAGxCA,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA+C,EAAAA,EAAA,CACEnD,GAAIA,EACJwC,KAAMA,EACNY,WAAYL,EACZM,KAAMR,EACNS,MAAO,CAAEhC,MAAOA,GAAS,QACzBd,QAASA,IAAMA,EAAQiC,IAEtBG,KAMb,CAEAL,GAAUd,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CiB,UAAWjB,KAAAA,KACXkB,MAAOlB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CmB,QAASnB,KAAAA,QACToB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVlB,QAASkB,KAAAA,KAAeC,WACxBL,MAAOI,KAAAA,SACNC,WACHc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3Ba,KAAMd,KAAAA,OAAiBC,YAGzB,Y,uBC5CA,SAAS4B,IAAY,GAAExD,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACtC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,MAAEE,EAAK,SAAEa,EAAQ,UAAEC,EAAS,KAAEZ,EAAI,SAAEC,GAAahD,EAQlEsC,EAAMsB,KAAGlB,EAAOT,GAAMyB,GAAmB,GAC/C,OACErD,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,KACxCY,GACDxC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK4C,IAGzBxC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CACE,CAACA,IAAwB,UAATkC,GAElB,CAAE,CAAClC,IAAwB,UAATkC,KAGpBpC,EAAAA,cAAAwD,GAAAA,EAAA,CACE5D,GAAIA,EACJ6D,SA3BQC,IAChB,IAAIzB,IAAQyB,EAAGC,OAAOC,QACjBP,IAAUpB,EAAMA,EAAM,EAAI,GAC/BmB,EAAczD,EAAIsC,EAAI,EAyBde,WAAYL,EACZW,YAAaA,EACbM,UAAW3B,GAEVK,KAMb,CAEAa,GAAY9B,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CkB,MAAOlB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C+B,SAAU/B,KAAAA,KACVgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,OACTC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,gBCxDA,SAASsC,IAAS,GAAElE,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACnC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,UAAEwB,EAAS,KAAEpB,EAAI,SAAEqB,EAAQ,QAAEC,EAAO,QAAEC,GAAYtE,GAElEuE,EAAYC,IAAiBC,EAAAA,EAAAA,WAAS,IAE7CC,EAAAA,EAAAA,YAAU,KACRF,GAAc,EAAM,GACnB,IAEH,MAYMlC,EAAMsB,KAAGlB,EAAOT,EAAM,WAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAOyB,GACdjE,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA,OAAKC,UAAWC,GAAmBE,QA1BxBmE,KACnBJ,GAAc,EAAK,GA0BTnE,EAAAA,cAAA,OAAKC,UAAWC,GAAgBgD,MAAO,CAAEsB,gBAAiBvC,MAG3DiC,EACClE,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,GAAoBE,QA5B5BqE,KACpBN,GAAc,EAAM,IA4BRnE,EAAAA,cAAC0E,GAAAA,GAAY,CAACC,MAAO1C,EAAKwB,SArCjBkB,IACrBvB,EAAczD,EAAIgF,EAAMb,GAAa,OAAO,KAsChC,QAMhB,CAEAD,GAASxC,UAAY,CACnB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC/C0C,QAAS1C,KAAAA,KACTuD,QAASvD,KAAAA,KACT2C,QAAS3C,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAChDwC,UAAWxC,KAAAA,SACVC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,kKC/EAuD,IAAAA,OAAaC,MACbD,IAAAA,OAAaE,MACbF,IAAAA,OAAaG,MACbH,IAAAA,OAAaI,MACbJ,IAAAA,OAAaK,MACbL,IAAAA,OAAaM,MAEbN,IAAAA,QAAa,CAACO,EAAGC,KAEf,MAAMC,EAAQD,EAAEE,UACVC,EAAYF,EAAMG,OACxBH,EAAMG,OAAS,SAAWC,GACxB,MAAMC,GAAOD,GAAa,IAAIE,QAAQ,KAAM,MAC5C,OAAOJ,EAAUK,KAAKC,KAAfN,CAAqBG,EAC9B,CAAC,IAGH,MAAMI,GAAY,CAIhBC,MAAO,QACPC,MAAO,KAMPC,MAAO,QACPC,MAAO,KAKPC,MAAO,KACPC,MAAO,QAQPC,MAAO,QAQPC,OAAQ,KAYRC,MAAO,QAGPC,MAAO,QAcPC,MAAO,QACPC,MAAO,QACPC,MAAO,SAGHC,GAAeC,GACDf,GAAUe,IACRA,EAAOC,MAAM,KAAK,GAGlCC,GAAqBA,KAEzBnL,QAAQoL,KAAI,EAAO,gEAAgE,EAG/EC,GAAiB,CAErBC,OAAQA,IAAMtC,MACduC,aAAeC,GAAWxC,IAAMwC,EAAQ,CAAC,YAAa,eACtDC,WAAaC,GAASA,EAAKC,MAAM,SACjCC,WAAaF,IACX,MAAMG,EAAQH,EAAKT,OAAO,MAC1B,OAAOY,EAAM1C,UAAY0C,EAAMzC,aAAa0C,gBAAgB,EAE9DC,QAAUL,GAASA,EAAKM,OACxBC,SAAWP,GAASA,EAAKQ,QACzBC,QAAUT,GAASA,EAAKA,OACxBU,QAAUV,GAASA,EAAKW,OACxBC,UAAYZ,GAASA,EAAKa,SAC1BC,UAAYd,GAASA,EAAKe,SAG1BC,QAASA,CAAChB,EAAMiB,IAASjB,EAAKkB,IAAID,EAAM,QACxCE,SAAUA,CAACnB,EAAMiB,IAASjB,EAAKkB,IAAID,EAAM,SACzCG,QAASA,CAACpB,EAAMiB,IAASjB,EAAKkB,IAAID,EAAM,OACxCI,QAASA,CAACrB,EAAMM,IAASN,EAAKM,KAAKA,GACnCgB,SAAUA,CAACtB,EAAMQ,IAAUR,EAAKQ,MAAMA,GACtCe,QAASA,CAACvB,EAAMwB,IAAQxB,EAAKA,KAAKwB,GAClCC,QAASA,CAACzB,EAAMW,IAASX,EAAKW,KAAKA,GACnCe,UAAWA,CAAC1B,EAAMa,IAAWb,EAAKa,OAAOA,GACzCc,UAAWA,CAAC3B,EAAMe,IAAWf,EAAKe,OAAOA,GAGzCa,QAASA,CAACC,EAAOC,IAAUD,EAAMD,QAAQE,GACzCC,WAAa/B,GAASA,EAAKgC,UAE3BzC,OAAQ,CACN0C,gBAAkB1C,GAAWjC,MAAQiC,OAAOD,GAAYC,IAAS7B,aAAa0C,iBAC9E8B,iBAAkBA,CAAC3C,EAAQS,IAASA,EAAKT,OAAOD,GAAYC,IAAS9B,QAAQ,GAC7E0E,QAASA,CAAC5C,EAAQS,IAASA,EAAKT,OAAOD,GAAYC,IAAS6C,OAC5DC,iBAAmB9C,GAAWjC,MAAQiC,OAAOD,GAAYC,IAAS7B,aAAa4E,cAC/EC,eAAiBhD,GAAWjC,MAAQiC,OAAOD,GAAYC,IAAS7B,aAAa8E,cAC7EtE,OAAQA,CAACqB,EAAQS,EAAM9B,IAAW8B,EAAKT,OAAOD,GAAYC,IAASrB,OAAOA,GAC1EuE,MAAOA,CAAClD,EAAQmD,EAAMC,KACpB,MAAMC,EAAYtD,GAAYC,GAC9B,IAAK,IAAIsD,EAAI,EAAGA,EAAIF,EAAQG,OAAQD,GAAK,EAAG,CAC1C,MAAM3E,EAASyE,EAAQE,GACjBE,EAAaL,EACnB,GAAIxE,EAAO8E,SAAS,OAAS9E,EAAO8E,SAAS,MAAO,CAElD,MAAM1C,EAAOyC,EAAWvD,MAAM,KAAK,GAC7ByD,EAAUF,EAAWvD,MAAM,KAAK,GAChC0D,EAAY5F,IAAMgD,EAAM,QAAQ6C,QAAQ,QAAQ5D,OAAOqD,GAC7D,IAAK,IAAIQ,EAAI,EAAGA,GAAK,GAAIA,GAAK,EAAG,CAC/B,MAAMC,EAAWH,EAAUhC,IAAIkC,EAAG,QAClC,GAAIC,EAASnF,OAAO,QAAU+E,EAC5B,OAAOI,CAEX,CAEA,OADA5D,KACO,IACT,CACA,MAAMO,EAAO1C,IAAMyF,EAAY7E,GAAQ,GAAMqB,OAAOqD,GACpD,GAAI5C,EAAKgC,UACP,OAAOhC,CAEX,CAKA,OAHI0C,GACFjD,KAEK,IAAI,IAKjB,MCpKA,IAFmB6D,EAAAA,GAAAA,IAAeC,ICKlC,SAASC,IAAa,GAAErL,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACvC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEqJ,EAAK,MAAE3I,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,OAAEwI,EAAM,OAAEzF,EAAM,OAAE0F,GACtFzL,EAMIsC,EAAMsB,KAAGlB,EAAOT,EAAMkD,OACtBuG,EAAO9H,KAAGlB,EAAO4I,EAAOnG,OAE9B,OACE9E,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KAAG,iBAAkB5C,GAAsB,CACpD,CAACA,IAAwB,UAATkC,KAGlBpC,EAAAA,cAACsL,GAAWC,YAAW,CACrB3L,GAAIA,EACJwC,KAAMA,EACNoJ,YAAY,EACZN,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,EACZ8I,MAAO,CACL3G,IAAM7C,EAAKyD,GAAUlE,IACrBsD,IAAMuG,EAAM3F,GAAUlE,KAExBiC,SA7BOA,CAACiI,EAAOC,KACvBvI,EAAczD,EAAIgM,EAAY,GAAIA,EAAY,GAAG,EA6BzCzI,MAAO,CAAEhC,MAAOiK,EAAS,OAAS,QAClCzF,OAAQA,GAAUlE,GAClB4J,OAAQA,GAAU,SAM9B,CAEAJ,GAAa3J,UAAY,CACvB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvB0J,MAAO3J,KAAAA,OAAiBC,WACxBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACV6J,OAAQ7J,KAAAA,KACRoE,OAAQpE,KAAAA,OACR8J,OAAQ9J,KAAAA,MAAgB,CAAC,KACxBC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YC/DA,SAASqK,IAAY,GAAEjM,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACtC,MAAM,GACJxD,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,SACR8H,EAAQ,OACRnG,EAAM,OACNyF,EAAM,aACNW,EAAY,QACZC,GACEpM,EAOEsC,EAAMsB,KAAGlB,EAAOT,EAAMkD,MAAQY,OAAOA,GAAUlE,KACrD,IAAIwK,EAAUlH,IAAM7C,EAAM8J,OAAyCE,EAA/BvG,GAAUlE,IAa9C,OAZ4BwK,EAAQxC,YAElCwC,EAAUlH,IAAM7C,IAWhBjC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAACsL,GAAU,CACT1L,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,YAAaL,IAAYoB,GACzB0H,MAAOO,EACPvI,SAvCOA,CAAC+D,EAAM0E,KACT9I,EAAczD,EAAvBoM,GAA4BvE,GAAQ1C,OAASqH,cAC1BD,EAAW,EAsC1BhJ,MAAO,CAAEhC,MAAOiK,EAAS,OAAS,QAClCzF,OAAQA,GAAUlE,GAClBqK,SAAUA,EACVL,YAAY,EACZM,aAAcA,MAM1B,CAEAF,GAAYvK,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVuK,SAAUvK,KAAAA,KACVoE,OAAQpE,KAAAA,OACR6J,OAAQ7J,KAAAA,KACRwK,aAAcxK,KAAAA,KACdyK,QAASzK,KAAAA,OACRC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YChGA,SAAS6K,IAAW,GAAEzM,EAAE,KAAEyC,EAAI,UAAEiK,IAC9B,MAAM,MAAE/J,EAAK,SAAEgK,EAAQ,KAAE5J,GAAS/C,EAElC,OACEK,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,GAAoBgD,MAAO,CAAEyB,MAAO0H,IACjD/J,EAAM,MAAIgK,GAAYtM,EAAAA,cAAA,WAAMsM,MAMzC,CACAF,GAAWG,aAAe,CACxBF,UAAW,WAGbD,GAAW/K,UAAY,CACrB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CgL,SAAUhL,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,QAAmBA,KAAAA,OACpEoB,KAAMpB,KAAAA,SACLC,WACHa,KAAMd,KAAAA,OAAiBC,WACvB8K,UAAW/K,KAAAA,QAGb,YC7BA,SAASkL,IAAuB,GAAE7M,EAAE,MAAE0C,EAAK,cAAEe,EAAa,UAAEiJ,IAC1D,MAAM,MAAE/J,EAAK,SAAEgK,EAAQ,KAAE5J,EAAI,GAAE9C,EAAE,KAAEgC,EAAI,SAAEyB,EAAQ,UAAEC,EAAS,SAAEX,GAAahD,EAQrEsC,EAAMsB,KAAGlB,EAAOT,GAAMyB,GAAmB,GAC/C,OACErD,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,GAAoBgD,MAAO,CAAEyB,MAAO0H,IACjD/J,EAAM,MAAIgK,GAAYtM,EAAAA,cAAA,WAAMsM,GAC7BtM,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAwD,GAAAA,EAAA,CACE5D,GAAIA,EACJ6D,SAhBIC,IAChB,IAAIzB,IAAQyB,EAAGC,OAAOC,QACjBP,IAAUpB,EAAMA,EAAM,EAAI,GAC/BmB,EAAczD,EAAIsC,EAAI,EAcVe,WAAYL,EACZW,YAAaA,EACbM,UAAW3B,QAQ3B,CACAuK,GAAuBD,aAAe,CACpCF,UAAW,WAGbG,GAAuBnL,UAAY,CACjC1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBiB,MAAOlB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C+B,SAAU/B,KAAAA,KACVgC,UAAWhC,KAAAA,KACXqB,SAAUrB,KAAAA,KACVgB,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CgL,SAAUhL,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,QAAmBA,KAAAA,OACpEoB,KAAMpB,KAAAA,SACLC,WACHc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9B8K,UAAW/K,KAAAA,QAGb,YCnDMmL,GACJ,wJAEF,SAASC,IAAS,GAAE/M,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACnC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,OAAEa,EAAM,QAAEZ,GAAYrE,GACxFgN,EAAQC,IAAaxI,EAAAA,EAAAA,UAAS,IAE/BnC,EAAMsB,KAAGlB,EAAOT,EAAM,IAmB5B,OAjBAyC,EAAAA,EAAAA,YAAU,KACRuI,EAAU3K,EAAI,GACb,CAACA,IAgBFjC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOkB,EACPlJ,SApCV,SAAkBC,GAChB,MAAMoJ,EAAOpJ,EAAGC,OAAO8H,MAEvB,GADAmB,EAAUE,GACNA,EAAM,CACR,MAAMC,EAAID,EAAKE,MAAMP,IACjBM,GAAKA,EAAE,KAAOD,EAChB1J,EAAczD,EAAImN,GAElB1J,EAAczD,OAAIsM,EAEtB,CACF,EA0BUrH,OAAQA,MAMpB,CAEA8H,GAASrL,UAAY,CACnB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC/C0C,QAAS1C,KAAAA,OACRC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,+DCpFA,SAA4B,mBAA5B,GAAuD,eAAvD,GAA+E,gBAA/E,GAAsG,cAAtG,GAA4H,eAA5H,GAAoJ,gBAApJ,GAA8K,iBAA9K,GAA2M,mBAA3M,GAAmP,4BCsEnP,SA7DA,UAAsB,GACpB3B,EAAE,MACF6L,EAAK,SACLwB,EAAQ,WACRC,EAAU,YACVC,EAAW,WACXC,EAAU,WACVC,EAAU,QACVC,EAAO,SACPtK,IAEA,MAAM,WAAEuK,EAAU,UAAEC,EAAS,WAAEC,EAAU,UAAEC,EAAS,WAAEC,EAAU,WAAEC,IAAeC,EAAAA,GAAAA,IAAY,CAC3FjO,OAGIsD,EAAQ,CACZwK,UAAWI,GAAAA,GAAIC,UAAUC,SAASN,GAClCC,aACAzM,MAAOmM,EAAaJ,EAAW,EAAI,OACnChM,OAAQgM,EAAW,EACnBgB,OAAQ,MACRC,OAAQN,EAAa,MAAQ,OAC7BO,QAASP,EAAa,GAAM,GAG9B,OACE5N,EAAAA,cAAA,OACEoO,IAAKX,EACLxN,UAAW6C,KAAG5C,GAAc,CAAE,CAACA,KAAiBkN,IAChDlK,MAAOA,GAEPlD,EAAAA,cAAA,OAAKC,UAAW6C,KAAG,CAAE,CAAC5C,IAAemN,KACnCrN,EAAAA,cAAA,OAAAqO,EAAAA,GAAAA,GAAA,CAAKC,IAAK,GAAGpB,MAAeD,KAAYxB,KAAa+B,EAAeD,EAAU,CAAEgB,IAAI,UAElFvL,GACAhD,EAAAA,cAAA,UACEG,KAAK,SACLF,UAAWC,GACXsC,MAAM,UACNpC,QAASA,IAAM+M,EAAYvN,IAE3BI,EAAAA,cAACwO,GAAAA,EAAc,SAIhBpB,GACDpN,EAAAA,cAAA,UACEG,KAAK,SACLF,UAAWC,GACXsC,MAAM,yBACNpC,QAASA,IAAMgN,EAAWxN,IAE1BI,EAAAA,cAACyO,GAAAA,EAAY,UAIhBnB,GAAWtN,EAAAA,cAAA,OAAKC,UAAWC,IAAiBoN,GAGrD,E,iFCnEA,MAAMoB,GAAW,CAAC,EAoCX,SAASC,GAAaL,EAAKM,GAAY,GAE5C,MAAO/S,EAAQgT,IAAazK,EAAAA,EAAAA,UAASkK,EAAM,UAAY,SAChDQ,EAAMC,IAAW3K,EAAAA,EAAAA,WAAS,GAuDjC,OArDAC,EAAAA,EAAAA,YACE,KAGE,IAAKiK,EAEH,YADAO,EAAU,QAKZ,IAAIG,EAASC,SAASC,cAAc,eAAeZ,OACnD,GAAKU,EAkBHH,EAAUG,EAAOG,aAAa,gBAC9BJ,EAA+C,UAAvCC,EAAOG,aAAa,oBAnBjB,CAEXH,EAASC,SAASG,cAAc,UAChCJ,EAAOV,IAAMA,EACbU,EAAO/S,OAAQ,EACf+S,EAAOK,aAAa,cAAe,WAEnCJ,SAASK,KAAKC,YAAYP,GAG1B,MAAMQ,EAAyBC,IAC7BT,EAAOK,aAAa,cAA8B,SAAfI,EAAMtP,KAAkB,QAAU,SACrE4O,EAAuB,SAAfU,EAAMtP,KAAgB,EAEhC6O,EAAOU,iBAAiB,OAAQF,GAChCR,EAAOU,iBAAiB,QAASF,EACnC,CAQA,MAAMG,EAAqBF,IACzBZ,EAAyB,SAAfY,EAAMtP,KAAkB,QAAU,SAC5C4O,EAAuB,SAAfU,EAAMtP,KAAgB,EAOhC,OAJA6O,EAAOU,iBAAiB,OAAQC,GAChCX,EAAOU,iBAAiB,QAASC,GAG1B,KACDX,IACFA,EAAOY,oBAAoB,OAAQD,GACnCX,EAAOY,oBAAoB,QAASD,GACtC,CACD,GAEH,CAACrB,IAEI,CAACQ,EAAMjT,EAChB,CCnFO,SAASgU,GAAUC,GACxB,OAAO,IAAI1U,SAAQ,CAACsB,EAASqT,KAC3B,MAAMC,EAAS,IAAIC,WACnBD,EAAON,iBAAiB,QAAQ,IAAMhT,EAAQsT,EAAOpU,UACrDoU,EAAOE,cAAcJ,EAAI,GAE7B,CAgCA,SAASK,IAAgB,GAAExQ,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC1C,MAAOgN,GAAUzB,GAzCF,kEA2CT,GACJ/O,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,KACXxI,EAAI,SACJC,EAAQ,UACR0N,EAAS,QACTrM,EAAO,MACPsM,EAAK,OACLrP,EAAM,OACNsP,GACE5Q,EAsBE6Q,EACJxQ,EAAAA,cAAA,WACEA,EAAAA,cAACyQ,EAAAA,EAAY,MACbzQ,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,IAAMxF,GAAe,YAI5CjJ,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,GAAStC,EAAAA,cAAA,YAAM,KACfgE,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KAAG5C,GAAsBA,GAAwB,CAC1D,CAACA,IAAwB,UAATkC,IAElBc,MAAO,CAAEyN,UAAWL,GAAS,SAAUrP,OAAQA,GAAU,UAExDmP,GACCpQ,EAAAA,cAAA4Q,GAAAA,EAAA,CACEhR,GAAIA,EACJiR,KAAK,SACLC,SAAS,eACT7Q,UAAU,kBACV8Q,OAAQV,GAAa,kBACrBW,gBAAgB,EAChBC,QAAQ,EACRxN,SApDKxH,UACf,IAAIiV,QAAiBrB,GAAUrP,EAAK2Q,MAEhCZ,IACFW,QAnDN,SAAqBE,GAAW,MAAElQ,EAAK,OAAED,IACvC,OAAO,IAAI7F,SAAQ,CAACsB,EAASqT,KAG3B,MAAMsB,EAAgBpC,SAASG,cAAc,UAC7CiC,EAAcpQ,OAASC,EACvBmQ,EAAcnQ,MAAQD,EAEtB,MAAM6O,EAAM,IAAIwB,MAChBxB,EAAIyB,OAAS,KAEXC,OACGjB,OAAOT,EAAKuB,EAAe,CAG1B,GAED1V,MAAMC,IACL,MAAM6V,EAAmB7V,EAAO8V,UAAU,cAE1ChV,EAAQ+U,EAAiB,IAE1B5U,OAAO/B,IACN6W,MAAM7W,EAAI,GACV,EAENgV,EAAIxB,IAAM8C,CAAS,GAEvB,CAuBuBQ,CAAYV,EAAUX,IAGzCnN,EAAczD,EAAIuR,EAAS,EA8CjBW,aA1CS5V,UAAY,EA2CrB+G,SAAUL,GAETV,EACCjC,EAAAA,cAAA,OAAKuO,IAAI,SAAStO,UAAU,SAASiD,MAAO,CAAE4O,gBAAiB,QAAQ7P,QAAW,KAIlFuO,IAECvO,GACDjC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,WACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACL2P,MAAM,SACN9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MACrBvO,UAAWC,GACXE,QAxDAsD,IAChBA,EAAGsO,iBACHtO,EAAGuO,kBACH7O,EAAczD,EAAI,KAAK,QA+D3B,CAEAwQ,GAAgB9O,UAAY,CAC1B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACb+O,UAAW/O,KAAAA,OACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACV0C,QAAS1C,KAAAA,KACTgP,MAAOhP,KAAAA,OACPL,OAAQK,KAAAA,OACRiP,OAAQjP,KAAAA,MAAgB,CACtBJ,MAAOI,KAAAA,OACPL,OAAQK,KAAAA,WAETC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,ykBChKA,MAAM2Q,GAAsB,CAAEC,KAAM,IAAK7S,EAAG,EAAG8S,EAAG,EAAGnR,OAAQ,GAAIoR,OAAQ,GAEzE,SAASC,IAAmB,eAC1BC,EAAc,SACdtF,EAAQ,UACRuF,EAAS,mBACTC,EAAkB,QAClBC,EAAO,SACP1P,IAEA,MAAO2P,EAAeC,IAAoBxO,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAO3R,MAAO,SAErE4R,EAAiBC,IAAsB3O,EAAAA,EAAAA,UAAS,OAChD4O,EAAUC,IAAe7O,EAAAA,EAAAA,WAAU,IACnCkJ,EAAS4F,IAAc9O,EAAAA,EAAAA,UAAS,IAEjC+O,GAAUC,EAAAA,EAAAA,QAAO,OAChBC,EAAWC,IAAgBlP,EAAAA,EAAAA,UAAS,KAEpCmP,EAAMC,IAAWpP,EAAAA,EAAAA,UAAS8N,KAC1BuB,EAAeC,IAAoBtP,EAAAA,EAAAA,UAAS,CAAC,IAC7CuP,EAAaC,IAAkBxP,EAAAA,EAAAA,WAAS,GAEzCyP,GAAsBT,EAAAA,EAAAA,QAAO,MAE7BU,EAAezB,IACnBmB,EAAO9X,GAAAA,GAAC,CAAC,EACJwW,IAAmB,IACtBG,UACIA,EACA,CAAC,EACD,CACEF,KAAM,IACN7S,EAAG,EACH8S,EAAG,EACHlR,MAAO,GACPD,OAAQ,MAGhB2S,GAAe,EAAM,GAyEvBvP,EAAAA,EAAAA,YAAU,KAGR,GAAI8O,EAAQY,QAAS,CACnB,MAAMC,EAAKrB,EAAcsB,EAAId,EAAQY,QAAQ7S,MACvCgT,EAAKvB,EAAcwB,EAAIhB,EAAQY,QAAQ9S,OAC7C,IAAImT,EAAW,GACVT,IACHS,EAAW,GAAGC,SAASL,EAAKP,EAAcnU,EAAG,OAAO+U,SAClDH,EAAKT,EAAcrB,EACnB,OACGiC,SAASL,EAAKP,EAAcvS,MAAO,OAAOmT,SAASH,EAAKT,EAAcxS,OAAQ,OAErFqS,EAAac,EACf,IACC,CAACX,EAAeE,IAEnB,MAAMW,GAASC,EAAAA,EAAAA,cAAazE,IAC1BqD,EAAQY,QAAUjE,CAAG,GAEpB,IAwBH,OACE9P,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA4Q,GAAAA,EAAA,CACEhR,GAAG,qBACHiR,KAAK,UACLC,SAAS,eACTC,OAAO,UACPC,gBAAgB,EAChBC,OAAO,gBACPxN,SA3HWA,EAAG0N,OAAM1B,YAKxB,GAJI0B,EAAKqD,QAAU,GAAKrD,EAAKqD,SAAW,KACtCvB,EAAYoB,SAASlD,EAAKqD,QAAS,KAGhB,MAAjBrD,EAAKqD,SAAmBrD,EAAKxU,SAAU,CACzC,MAAM,IAAE7B,EAAG,OAAEC,EAAM,KAAEI,GAASgW,EAAKxU,SAEnC,GAAY,IAAR7B,EACFmY,GAAa,GACbT,EAAUrX,QACL,GAAIgB,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IAEzC,GA0GI+W,aA1FgBV,IACpB+B,EAAW,IACXD,GAAa,GACN,IAAI7X,SAAQ,CAACsB,EAASqT,KAC3B8D,EAAoBE,QAAU,CAC5BrX,UACAqT,UAEFF,GAAUsB,GAAMxV,MAAMuV,IACpB,MAAMpB,EAAM,IAAIwB,MAChBxB,EAAIyB,OAAS,KACX,MAAM0C,EAAInE,EAAI5O,MACRiT,EAAIrE,EAAI7O,OAEd8R,EAAmB7B,GACnB0B,EAAgBlX,GAAAA,GAAC,CAAC,EACbiX,GAAa,IAChBE,SAAS,EACT3R,MAAO+S,EAAIE,EAAI,EAAI,OAAUM,OAAOC,YAAc,KAAOT,EAAKE,EAC9DA,IACAF,OAGFL,GAAe,GACXzX,MAAMC,QAAQsW,IAAYA,EAAQpI,OAAS,EAC7CwJ,EAAYpB,EAAQ,GAAGiC,KAEvBnB,EAAO9X,GAAC,CAAC,EAAIwW,IACf,EAEFpC,EAAIxB,IAAM4C,CAAQ,GAClB,KA4DAjR,UAAWC,GACXzE,QAAS,CACP,eAAgBmZ,mBAAmBtH,GAAW,IAC9C,eAAgBsH,mBAAmBrC,GACnC,mBAAoBc,GAEtBrQ,SAAUgQ,GAAY,GAAKhQ,GAE1BgQ,EAAW,GACVhT,EAAAA,cAAA,OAAKkD,MAAO,CAAEiL,QAASnL,EAAW,GAAM,IACtChD,EAAAA,cAACyQ,EAAAA,EAAY,MACbzQ,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,IAAK,aAGjCsC,GAAY,GAAKhT,EAAAA,cAAA6U,GAAAA,EAAA,CAAU1U,KAAK,SAASqU,QAASxB,EAAU9R,MAAkB,GAAX+L,KAGtEjN,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,uBACNuS,KAAMpC,EAAcE,QACpB3R,MAAOyR,EAAczR,MACrBgC,MAAO,CAAE8R,IAAK,IACdC,SAxHiBC,KACrBrB,EAAoBE,QAAQhE,SAC5B6C,EAAgBlX,GAAAA,GAAC,CAAC,EAAIiX,GAAa,IAAEE,SAAS,KAC9CE,EAAmB,KAAK,EAsHpBoC,gBAAc,EACdC,OAAQ,IACH1C,EAAQ2C,KAAK/V,GACdU,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAKe,EAAEqV,IACPvU,QAASA,IAAM0T,EAAYxU,EAAEqV,KAC7B3R,SAAU2Q,EACV1Q,MAAO0Q,GAAerU,EAAEqV,MAAQpB,EAAKlB,QAAUrS,EAAAA,cAACsV,GAAAA,EAAa,OAE5DhW,EAAEgD,SAGPtC,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,OACJ6B,QAASA,IAAM0T,OAAY7H,GAC3BjJ,SAAU2Q,EACV1Q,MAAO0Q,QAA+B1H,IAAhBsH,EAAKlB,QAAwBrS,EAAAA,cAACsV,GAAAA,EAAa,OAClE,qBAGDtV,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,QACJ6B,QA9EMmV,KACV5B,GACExX,MAAMC,QAAQsW,IAAYA,EAAQpI,OAAS,EAC7CwJ,EAAYpB,EAAQ,GAAGiC,KAEvBnB,EAAO9X,GAAC,CAAC,EAAIwW,KAEf0B,GAAe,KAEfJ,EAAQ,CAAC,GACTI,GAAe,GACjB,EAoEQ1Q,MAAO,CAAEsS,YAAa,QACtBvS,KAAM0Q,GAAe3T,EAAAA,cAACsV,GAAAA,EAAa,OACpC,aAGDtV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,SAAS4B,KAAK,UAAUC,QA3JzBqV,KACjB5B,EAAoBE,QAAQrX,UAC5BkW,EAAgBlX,GAAAA,GAAC,CAAC,EAAIiX,GAAa,IAAEE,SAAS,KAC9CE,EAAmB,KAAK,GAwJuC,eAK3D/S,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC0V,KAAS,CACR1S,SAAU2Q,EACVrF,IAAKwE,EACL6C,cAAerB,EACff,KAAMA,EACN9P,SAAW6B,GAAMkO,EAAQlO,GACzBsQ,WAAatQ,GAAMoO,EAAiBpO,OAGtCmN,GACAzS,EAAAA,cAAA6M,GAAAA,EAAA,CACE3B,YAAY,wBACZO,MAAO6B,EACP7J,SAAWC,GAAOwP,EAAWxP,EAAGC,OAAO8H,UAMnD,CAEA6G,GAAmB/F,aAAe,CAChCgG,eAAgB,UAChBE,oBAAoB,EACpBzP,UAAU,EACV0P,QAAS,CACP,CACEpQ,MAAO,MACPqS,IAAK,KAKXrC,GAAmBjR,UAAY,CAC7BkR,eAAgBjR,KAAAA,OAChBkR,UAAWlR,KAAAA,KAAeC,WAC1B0L,SAAU3L,KAAAA,OAAiBC,WAC3BkR,mBAAoBnR,KAAAA,KACpB0B,SAAU1B,KAAAA,KACVoR,QAASpR,KAAAA,QACPA,KAAAA,MAAgB,CACdgB,MAAOhB,KAAAA,OACPqT,IAAKrT,KAAAA,WAKX,Y,ykBCnQA,SAASuU,IAAa,WACpB3I,EAAU,SACVD,EAAQ,SACRxJ,EAAQ,MACRqS,EAAK,SACLC,EAAQ,mBACRtD,EAAkB,SAClBzP,EAAQ,WACRqK,EAAU,eACV2I,EAAc,QACdtD,IAEA,MAAOuD,EAAYC,IAAiB9R,EAAAA,EAAAA,UAAS,CAAC,IACvC+R,EAAaC,IAAkBhS,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOwD,KAAM,KAEjEC,GAAUC,EAAAA,GAAAA,KACdC,EAAAA,GAAAA,IAAUC,GAAAA,KACVD,EAAAA,GAAAA,IAAUE,GAAAA,GAAgB,CACxBC,iBAAkBC,GAAAA,MA2BhBzJ,EAAe0J,IACnB,MAAMC,EAAMhB,EAAMiB,WAAWzX,GAAMA,EAAEM,KAAOiX,IAC5CpT,EAAS,IAAIqS,EAAMkB,MAAM,EAAGF,MAAShB,EAAMkB,MAAMF,EAAM,IAAI,EAGvD1J,EAAcyJ,IAClB,MAAMlX,EAAKmW,EAAMmB,MAAM3X,GAAMA,EAAEM,KAAOiX,IAClClX,GACFyW,EAAc1a,GAAAA,GAAC,CAAC,EAAIya,GAAW,IAAEtD,SAAS,EAAMgE,QAAOR,KAAM1W,EAAG0W,KAAMa,MAAOvX,EAAG0W,OAClF,EAGIc,EAAmBA,KACvBf,EAAc1a,GAAAA,GAAC,CAAC,EAAIya,GAAW,IAAEtD,SAAS,IAAQ,EAsBpD,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACoX,GAAAA,GAAU,CACTd,QAASA,EACTe,mBAAoBC,GAAAA,GACpBC,UA1DiB9H,IAErByG,EAAc,CAAC,GACf,MAAM,OAAEsB,EAAM,KAAEC,GAAShI,EAEzB,GAAI+H,EAAO5X,KAAO6X,EAAK7X,GAAI,CAOzB,MAAM8X,EAAW5B,EAAMiB,WAAWzX,GAAMA,EAAEM,KAAO4X,EAAO5X,KAClD+X,EAAW7B,EAAMiB,WAAWzX,GAAMA,EAAEM,KAAO6X,EAAK7X,KACtD6D,GAASmU,EAAAA,GAAAA,IAAU9B,EAAO4B,EAAUC,GACtC,GA4CIE,YAhEmBpI,IAEvByG,EAAczG,EAAM+H,OAAO,GAgEvBxX,EAAAA,cAAA,OAAKC,UAAWC,GAAkBgD,MAAO,CAAE,qBAAsB,GAAG+J,QACjE6I,EAAMxL,OAASyL,GACd/V,EAAAA,cAACsS,GAAkB,CACjBE,UAfUsF,IACpBrU,EAAS,IAAIqS,EAAOgC,GAAK,EAef7K,SAAUA,EACVwF,mBAAoBA,EACpBC,QAASA,EACT1P,SAAUA,IAIdhD,EAAAA,cAAC+X,GAAAA,GAAe,CAACjC,MAAOA,EAAOkC,SAAUC,GAAAA,IACtCnC,EAAMT,KAAKyC,GACV9X,EAAAA,cAACkY,GAAY,CACX3Z,IAAKuZ,EAAIlY,GACTA,GAAIkY,EAAIlY,GACRuY,QAAM,EACN1M,MAAOqM,EAAIM,SACXnL,SAAUA,EACVC,WAAYA,EACZC,YAAaA,EACbC,WAAY4I,EAAiB,KAAO5I,EACpCE,QAASwK,EAAIzB,KACbhJ,WAAYA,EACZrK,SAAUA,MAGdhD,EAAAA,cAACqY,GAAAA,GAAW,KACTpC,GAAYrW,GACXI,EAAAA,cAAA,OACEkD,MAAO,CAELjC,OAAQ,0BAIRuD,gBAAiB,SAGnBxE,EAAAA,cAAA,OACEkD,MAAO,CAAEjC,OAAQ,QACjBqN,IAAK,GAAGpB,MAAeD,KAAYgJ,GAAYrW,KAC/C2O,IAAI,UAGN,SAKZvO,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,0BACNuS,KAAMoB,EAAYtD,QAClBoC,SAAUkC,EACVmB,KAjFeC,KACnB,MAAMzB,EAAMhB,EAAMiB,WAAWzX,GAAMA,EAAEM,KAAOuW,EAAYU,QACpDC,GAAO,GACTrT,EAAS,IACJqS,EAAMkB,MAAM,EAAGF,GAAIpb,GAAAA,GAAA,GAEjBoa,EAAMgB,IAAI,IACbT,KAAMF,EAAYE,UAEjBP,EAAMkB,MAAMF,EAAM,KAGzBK,GAAkB,EAsEdqB,OAAO,YACPC,cAAe,CACbzV,SAAUmT,EAAYE,OAASF,EAAYe,QAG7ClX,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CACbC,WAAS,EACTC,UAAQ,EACRtV,WAAS,EACTmI,MAAO0K,EAAYE,KACnB5S,SAAWC,GAAO0S,EAAc1a,GAAAA,GAAC,CAAC,EAAIya,GAAW,IAAEE,KAAM3S,EAAGC,OAAO8H,YAK7E,CAEAoK,GAAatJ,aAAe,CAC1BU,SAAU,IACV6I,MAAO,GACPC,SAAU,GACVtD,oBAAoB,EACpBzP,UAAU,EACVqK,YAAY,EACZ2I,gBAAgB,EAChBtD,QAAS,CACP,CACEpQ,MAAO,MACPqS,IAAK,KAKXkB,GAAaxU,UAAY,CACvB6L,WAAY5L,KAAAA,OAAiBC,WAC7B0L,SAAU3L,KAAAA,OACVyU,SAAUzU,KAAAA,OACV+L,WAAY/L,KAAAA,KACZmR,mBAAoBnR,KAAAA,KACpB0B,SAAU1B,KAAAA,KACVmC,SAAUnC,KAAAA,KAAeC,WACzBuU,MAAOxU,KAAAA,QACLA,KAAAA,MAAgB,CACd1B,GAAI0B,KAAAA,OAAiBC,WACrB6W,SAAU9W,KAAAA,OACV+U,KAAM/U,KAAAA,UAGV0U,eAAgB1U,KAAAA,KAChBoR,QAASpR,KAAAA,QACPA,KAAAA,MAAgB,CACdgB,MAAOhB,KAAAA,OACPqT,IAAKrT,KAAAA,WAKX,YCvNA,SAASuX,IAAiB,GAAElZ,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC3C,MAAM,GACJxD,EAAE,KACFgC,EAAI,MACJU,EAAK,KACLI,EAAI,SACJC,EAAQ,UACRmW,EAAS,QACTC,EAAO,SACPhD,EAAQ,mBACRtD,EAAkB,WAClBpF,EAAU,YACV2L,EAAW,QACXtG,GACE/S,GAEGkX,EAAOoC,EAAS3L,GAAWwL,GAAa,GAGzCI,GADM3V,KAAGlB,EAAOT,IAAS,IACN,IAAIyT,KAAK/V,GAC5B0Z,EACK,CACLpZ,GAAIN,EACJ8Y,SAAU9Y,EACV+W,KAAM/W,GAEH,CACLM,GAAIN,EAAEuX,GAAS,OAASvX,EAAE2Z,GAAW,QACrCb,SAAU9Y,EAAE2Z,GAAW,QACvB5C,KAAM/W,EAAEgO,GAAW,WAmBvB,OACEtN,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACWtC,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,KACjBF,EAAAA,cAAC6V,GAAY,CACX5I,SAAU8L,GAAW,IACrB7L,WAAW,OACXzJ,SA5BgB0V,IACxB,MAAMC,EAAOD,EAAM9D,KAAK/V,IACtB,GAAI0Z,EAAa,OAAO1Z,EAAE8Y,SAG1B,MAAMiB,EAAI,CAAC,EAIX,MAHc,QAAVxC,IAAiBwC,EAAExC,GAAS,MAAQvX,EAAEM,IAC1B,QAAZqZ,IAAmBI,EAAEJ,GAAW,QAAU3Z,EAAE8Y,UAChC,QAAZ9K,IAAmB+L,EAAE/L,GAAW,QAAUhO,EAAE+W,MACzCgD,CAAC,IAGVjW,EAAczD,EAAIyZ,EAAK,EAiBftD,MAAOoD,EACPnD,SAAUA,EACVtD,mBAAoBA,IAAsB,EAC1CpF,WAAYA,IAAc,EAC1BqF,QAASA,MAMrB,CAEAmG,GAAiBxX,UAAY,CAC3B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVwX,UAAWxX,KAAAA,QAAkBA,KAAAA,OAAiBC,YAC9CwX,QAASzX,KAAAA,OACTyU,SAAUzU,KAAAA,OACVmR,mBAAoBnR,KAAAA,KACpB+L,WAAY/L,KAAAA,KACZ0X,YAAa1X,KAAAA,KACboR,QAASpR,KAAAA,QACPA,KAAAA,MAAgB,CACdgB,MAAOhB,KAAAA,OACPqT,IAAKrT,KAAAA,YAGRC,WACHc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,iDC9FA,SAAS+X,IAAY,GAAE3Z,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACtC,MAAMmW,GAAYC,EAAAA,GAAAA,MAEZ,GACJ5Z,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,YACR8W,EAAW,SACXC,EAAQ,YACRC,EAAW,iBACXC,EAAgB,mBAChBC,EAAkB,UAClBC,EAAS,UACTC,EAAS,cACTC,EAAa,WACbC,EAAU,kBACVC,EAAiB,QACjBjW,GACEtE,GACGwa,EAAMC,IAAWhW,EAAAA,EAAAA,UAAS,KAC1BiW,EAASC,IAAclW,EAAAA,EAAAA,UAAS,KAsBhC,CAAEmW,IAAUC,EAAAA,GAAAA,IACjBve,UACE,GAAIke,GAAQA,EAAK7P,OAAS,IAAM+P,EAAQpD,MAAM3X,GAAMA,EAAEgD,QAAU6X,IAAO,CACrE,MAAMM,QAAaf,EAASS,GACxBZ,KAAae,EAAWG,EAC9B,IAEF,IACA,CAACN,IAeGlY,EAAMsB,KAAGlB,EAAOT,IACtByC,EAAAA,EAAAA,YAAU,KACJpC,GAAO9F,MAAMC,QAAQ6F,IAAuB,IAAfA,EAAIqI,QAVvBrO,WACd,MAAMye,EAAMC,EAAGC,KAAK,KACpB,GAAuB,IAAnBP,EAAQ/P,SAAiB+P,EAAQpD,MAAM3X,GAAMA,EAAEmM,QAAUiP,IAAM,CACjE,MAAMG,QAAapB,EAAYkB,GAC3BpB,KAAaa,EAAQS,EAC3B,GAKmDC,CAAQ7Y,EAAI,GAC9D,CAACA,IAUJ,OACEjC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,MACXoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAOyB,GACdjE,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CACE,CAACA,IAAwB,UAATkC,GAElB,CAAE,CAAClC,MAA2ByZ,GAC9B,CAAE,CAACzZ,MAAyB4Z,KAG9B9Z,EAAAA,cAAA+a,GAAAA,EAAA,CACEnb,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcsX,EAC1BxO,MAAO0O,EACPE,QAASA,EACTW,SApFKA,CAAC/Y,EAAKgZ,KACrBb,EAAQa,EAAO3Y,OACfc,EAAczD,EAAIsb,EAAOxP,MAAMzE,MAAM,KAAKqO,IAAI6F,YAAY,EAmFhDC,SAtDaN,IACvBT,EAAQS,EAAK,EAsDHO,QAtCK1X,IACfA,EAAGC,OAAO0X,QAAQ,EAsCRnY,MAAO,CAAEhC,MAAO,YAEfyY,GACD3Z,EAAAA,cAAA,OACEC,UAAWC,GACXgD,MAAO,CAAEsB,gBAAiBoV,GAC1BxZ,QAzCakb,KACzBzB,EAAmB5X,EAAI,GA0CV0X,KAGFG,IAAcnX,GACf3C,EAAAA,cAAA,UACEC,UAAWC,GACXC,KAAK,SACLqC,MAAM,gBACNpC,QAlGMmb,KACdrB,EACFpF,GAAAA,EAAM0G,QAAQ,CACZvY,KAAMjD,EAAAA,cAACyb,GAAAA,EAAyB,MAChCjZ,MAAO0X,EACP5B,IAAAA,GACElV,EAAczD,EAAI,KACpB,EACAsV,QAAAA,GAAY,IAGd7R,EAAczD,EAAI,KACpB,GAuFW,KAIFoa,GACC/Z,EAAAA,cAAA,UACEG,KAAK,SACLF,UAAWC,GACXE,QAAUsD,GAAOsW,EAActW,EAAI9B,GACnCY,MAAM,oBAENxC,EAAAA,cAAA,OACEa,OAAO,UACPC,KAAK,OACLC,YAAY,IACZC,QAAQ,YACRC,OAAO,OACPC,MAAM,OACNC,MAAM,8BAENnB,EAAAA,cAAA,QACE0b,cAAc,QACdC,eAAe,QACf5a,YAAY,IACZK,EAAE,0DAUtB,CAEAkY,GAAYjY,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACV2Y,WAAY3Y,KAAAA,KACZ4Y,kBAAmB5Y,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAC1DmY,YAAanY,KAAAA,KAAeC,WAC5BmY,SAAUpY,KAAAA,KAAeC,WACzBoY,YAAarY,KAAAA,OACbsY,iBAAkBtY,KAAAA,OAClBuY,mBAAoBvY,KAAAA,KACpBwY,UAAWxY,KAAAA,KACXyY,UAAWzY,KAAAA,KACX0Y,cAAe1Y,KAAAA,KACf2C,QAAS3C,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,SAC/CC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCrMA,SAASqa,IAAU,GAAEjc,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACpC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,OAAEa,GAAWjF,GAE/Ekc,EAAKC,IAAU1X,EAAAA,EAAAA,UAAS,IAEzBnC,GAAOsB,KAAGlB,EAAOT,IAAS,IAAIgZ,KAAK,MAmBzC,OAlBAvW,EAAAA,EAAAA,YAAU,KACJpC,IAAQ4Z,GAAKC,EAAO7Z,EAAI,GAC3B,CAACA,IAiBFjC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOoQ,EACPpY,SAlCV,SAAkBC,GAChB,MAAM2V,EAAI3V,EAAGC,OAAO8H,MACpBqQ,EAAOzC,GAEP,MAAMsB,EAAKtB,EACRrS,MAAM,KACNqO,KAAK/V,GAAMA,EAAEyc,SACb1G,KAAK/V,GAAM4b,WAAW5b,MAErBnD,MAAMC,QAAQue,IAAqB,IAAdA,EAAGrQ,QAAiB0R,MAAMrB,EAAG,KAAQqB,MAAMrB,EAAG,KACrEvX,EAAczD,EAAIgb,EAEtB,EAuBU/V,OAAQA,MAMpB,CAEAgX,GAAUva,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,YAC9CC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCrEM0a,GACJjc,EAAAA,cAAA,OACEa,OAAO,eACPC,KAAK,OACLC,YAAY,IACZC,QAAQ,YACR0a,cAAc,QACdC,eAAe,QACf1a,OAAO,MACPC,MAAM,MACNC,MAAM,8BAENnB,EAAAA,cAAA,WAASkc,OAAO,iDAIpB,SAASC,IAAkB,GAAExc,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC5C,MAAM,GAAExD,EAAE,MAAE0C,EAAK,KAAEV,EAAI,MAAEY,EAAK,QAAEC,EAAO,KAAEC,EAAI,SAAEC,EAAQ,OAAEyZ,GAAWzc,GAE7D0c,EAAYC,IAAiBlY,EAAAA,EAAAA,WAAS,IACtCrG,EAAQwe,IAAanY,EAAAA,EAAAA,UAAS,CAAC,GAQtC,SAASoY,EAAa9Y,GACpB4Y,GAAc,GACdlZ,EAAczD,EAAI5B,EACpB,CAEA,SAAS0e,EAAc/Y,GACrB4Y,GAAc,EAChB,CAMA,OACEtc,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,MACXoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA+C,EAAAA,EAAA,CACEnD,GAAIA,EACJwC,KAAMA,EACNY,WAAYL,EACZM,KAAMR,GAAWwZ,GACjB7b,QAlCZ,SAA4BsD,GAC1B,MAAMgZ,EAAInZ,KAAGlB,EAAOT,EAAM,CAAC,GAC3B2a,EAAUG,GACVJ,GAAc,EAChB,OAoCKD,GACCrc,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOA,GAAS,SAChBuS,MAAI,EACJuD,KAAMkE,EACNvH,SAAUwH,EACVvb,MAAO,IACPkU,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,SAAS6B,QAASqc,GAAe,YAG7Czc,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,KAAK4B,KAAK,UAAUC,QAASoc,GAAc,eAKzDxc,EAAAA,cAAC2c,GAAS,CACRC,OAAK,EACLxa,KAAK,QACLC,MAAOtE,EACP8e,cA7CV,SAAyBH,GACvBH,EAAUG,EACZ,EA4CUI,KAAMV,KAMlB,CAEAD,GAAkB9a,UAAY,CAC5B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CM,KAAMN,KAAAA,OAAiBC,WACvBiB,MAAOlB,KAAAA,OACP8a,OAAQ9a,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,IAAIC,WAC/CkB,QAASnB,KAAAA,QACToB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,OACTC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,yBC5GA,SAASwb,IAAU,GAAEpd,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACpC,MAAM,GACJxD,EAAE,KACFgC,EAAI,MACJU,EAAK,SACLgK,EAAQ,YACRpB,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,KACRiZ,EAAI,IACJC,EAAG,IACHC,GACEvd,EAMEsC,EAAMsB,KAAGlB,EAAOT,EAAM,GAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,GAC3C5B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,EAAI4C,MAAOF,GACxBA,EAAM,MAAIgK,GAAYtM,EAAAA,cAAA,WAAMsM,KAGjCtM,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAAmd,GAAAA,EAAA,CACEvd,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOxJ,EACP+a,KAAMA,EACNC,IAAKA,EACLC,IAAKA,EACLzZ,SA9BQxB,IAChBmB,EAAczD,EAAIsC,EAAI,EA8BdiB,MAAO,CAAEhC,MAAO,YAM5B,CAEA6b,GAAU1b,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CgL,SAAUhL,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,QAAmBA,KAAAA,OACpE4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV0b,KAAM1b,KAAAA,OACN2b,IAAK3b,KAAAA,OACL4b,IAAK5b,KAAAA,SACJC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,wCCrEA,SAAS6b,IAAS,GAAEzd,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACnC,MAAMia,GAAWjK,EAAAA,EAAAA,QAAO,OAClB,GAAExT,EAAE,KAAEgC,EAAI,MAAEU,EAAK,UAAEgB,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,QAAEC,EAAO,YAAEkH,EAAW,KAAEoS,GAAS3d,GACtF4d,EAAQC,IAAapZ,EAAAA,EAAAA,UAAS,KAErCC,EAAAA,EAAAA,YAAU,KACR,MAAMpC,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B4b,EAAUvb,EAAI,GACb,KAEHoC,EAAAA,EAAAA,YAAU,KACJgZ,EAAStJ,SAAS0J,QACpBC,EAAAA,GAAAA,IAAML,EAAStJ,QAAQ0J,MAAO,CAC5BH,KAAMA,GAAQ,wBAElB,GACC,CAACD,EAAStJ,UA6Bb,OACE/T,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAmBzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEuB,IAAKiP,EACLzd,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAO8R,EACP9Z,SAvDQC,IAChB,MAAMzB,EAAMyB,EAAGC,OAAO8H,MAEtB,GADA+R,EAAUvb,GACNA,EAAK,CAEP,MAAM0b,GAA4B,MAAlB1b,EAAI2b,OAAO,GAAa,GAAK,KAAO3b,EAC9C4b,GAAQC,EAAAA,GAAAA,OAAMH,GAChBE,EAAMrU,QACRpG,EAAczD,EAAIke,EAAME,aAExB3a,EAAczD,EAAI,GAEtB,GA4CQqe,OAAQhe,EAAAA,cAACie,GAAAA,EAAa,UAMlC,CAEAb,GAAS/b,UAAY,CACnB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC/Cgc,KAAMhc,KAAAA,SACLC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCvHA,SAAS2c,IAAgB,GAAEve,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC1C,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,QAAEsB,EAAO,SAAED,EAAQ,WAAEoa,EAAa,GAAMxe,GACtFye,EAAUC,IAAeja,EAAAA,EAAAA,UAAS,KAClCka,EAAUC,IAAena,EAAAA,EAAAA,UAAS,GAOzC,SAASoa,EAAUC,GACjB,MAAMC,EAAaD,EAAK7D,KAAK,IACzB8D,EAAWpU,SAAW6T,EAAY/a,EAAczD,EAAI+e,GACnDtb,EAAczD,EAAI,GACzB,CAsCA,OA/CA0E,EAAAA,EAAAA,YAAU,KACRga,EAAY,IACZE,EAAY,EAAE,GACb,IA6CDve,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGxB5H,MAAMwiB,MAAM,KAAMxiB,MAAMgiB,IAAa9I,KAAI,CAAC/V,EAAGsf,KAC5C,MAAMrgB,EAAM,GAAGqB,KAAMgf,IACrB,IAAI3c,EAAMmc,EAASQ,GAEnB,YADY3S,IAARhK,IAAmBA,EAAMA,EAAI2b,OAAO,IAEtC5d,EAAAA,cAAA6M,GAAAA,EAAA,CACEtO,IAAKA,EACLqB,GAAIrB,EACJ6D,KAAMA,EACN8I,YAAa,IACbO,MAAOxJ,EACPwB,SAAWC,GAhEzB,SAAkBoT,EAAKpT,GACrB,MAAMmb,EAASnb,EAAGC,OAAO8H,MACnBqT,EAAWD,EAAOjB,OAAOiB,EAAOvU,OAAS,GAC/C5G,EAAGC,OAAO8H,MAAQqT,EAElB,IAAIL,EAAOL,EAIX,GAHAK,EAAK3H,GAAOgI,EACZT,EAAYI,GAERK,GAAYR,EAAWH,EAAa,EAAG,CACzC,MAAMY,EAAWT,EAAW,EACtBU,EAAI,GAAGpf,KAAMmf,IACbE,EAAKhQ,SAASiQ,eAAeF,GAC/BC,GAAIA,EAAGE,QACXZ,EAAYQ,EACd,CAEAP,EAAUC,EACZ,CA8CgChb,CAASmb,EAAGlb,GAC9B0b,UAAY1b,GA7C1B,SAAmBoT,EAAKpT,GACtB,GAAmB,IAAfA,EAAG2b,UACAjB,EAAStH,IACRwH,EAAW,EAAG,CAChB,MAAMS,EAAWT,EAAW,EACtBU,EAAI,GAAGpf,KAAMmf,IACbE,EAAKhQ,SAASiQ,eAAeF,GAC/BC,GAAIA,EAAGE,QACXZ,EAAYQ,GACZrb,EAAGsO,gBACL,CAGJwM,EAAUJ,EACZ,CA+BiCgB,CAAUR,EAAGlb,GAChCR,MAAO,CAAEyN,UAAW,UACpBrN,UAAiB,IAANsb,GAAWtb,EACtBuN,KAAMtS,EACN+gB,aAAc/gB,GACd,MAOhB,CAEA2f,GAAgB7c,UAAY,CAC1B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV6c,WAAY7c,KAAAA,SACXC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YC9GA,SAASge,IAAiB,GAAE5f,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC3C,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,KAAEI,EAAI,SAAEC,EAAQ,QAAEoW,EAAO,mBAAEtG,EAAkB,WAAEpF,GAAe1N,EAE/EsC,EAAMsB,KAAGlB,EAAOT,EAAM,IAO5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,KACjBF,EAAAA,cAAC6V,GAAY,CACX7S,SAAUL,EACVqT,gBAAc,EACd/I,SAAU8L,GAAW,IACrB7L,WAAW,OACXzJ,SAjBgB0V,IACxB,MAAMrB,EAAMqB,EAAM7O,OAAS,EAAI6O,EAAM,GAAGf,SAAW,GAC/CN,IAAQ7V,GAAKmB,EAAczD,EAAImY,EAAI,EAgB/BhC,MACE7T,EACI,CACE,CACErC,GAAIqC,EACJmW,SAAUnW,IAGd,GAEN8T,SAAU,EACVtD,mBAAoBA,IAAsB,EAC1CpF,WAAYA,IAAc,MAMtC,CAEAkS,GAAiBle,UAAY,CAC3B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyX,QAASzX,KAAAA,OACTmR,mBAAoBnR,KAAAA,KACpB+L,WAAY/L,KAAAA,OACXC,WACHc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,wBC3DA,SAASie,IAAU,GAAE7f,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,SAAEqc,IACnD,MAAM,GACJ7f,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,OACRyZ,EAAM,aACNsD,EAAY,eACZC,GACEhgB,EAEEigB,GAAaxM,EAAAA,EAAAA,SAAO,GACpBmG,GAAYhF,EAAAA,EAAAA,cAAY,IAAMqL,EAAW7L,SAAS,KAEjD8L,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChC2b,EAASC,IAAc5b,EAAAA,EAAAA,UAAS,KAGvCC,EAAAA,EAAAA,YAAU,KACRub,EAAW7L,SAAU,EACd,KACL6L,EAAW7L,SAAU,CAAK,KAI9B,MAWM9R,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,MACXoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAuB2f,KAG5B7f,EAAAA,cAAAigB,GAAAA,EAAA,CACEC,YAAU,EACVC,sBAAoB,EACpBC,0BAAwB,EACxBxgB,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,EACb5H,YAAaA,EACbN,WAAYL,EACZ8I,MAAOxJ,EACPwB,SAtCQgI,IAChBrI,EAAczD,EAAI8L,EAAM,EAsChBvI,MAAO,CAAEhC,MAAO,QAChB2e,QAASA,EACTQ,iBAAiB,WACjBlF,SAtCOlf,UACf6jB,GAAW,GACX,MAAMrF,QAAa2B,EAAOxW,EAAKvD,GAC3BkX,GAAWyG,EAAWvF,GAC1BqF,GAAW,EAAM,IAoCPC,GAAW,IAAI1K,KAAKgE,GACpBrZ,EAAAA,cAAAigB,GAAAA,EAAQK,OAAM,CAAC/hB,IAAK8a,EAAEzZ,GAAI6L,MAAO4N,EAAEzZ,IAChCyZ,EAAExI,WAQnB,CAEA2O,GAAUne,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACX8a,OAAQ9a,KAAAA,UAAoB,CAACA,KAAAA,MAAiBA,KAAAA,OAC9CoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,OACTC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,yBClGA,SAASgf,IAAU,GAAE5gB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,SAAEqc,IACnD,MAAM,GACJ7f,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,OACRqY,EAAM,aACNsD,EAAY,eACZC,EAAc,YACda,GACE7gB,EAEEigB,GAAaxM,EAAAA,EAAAA,SAAO,GACpBmG,GAAYhF,EAAAA,EAAAA,cAAY,IAAMqL,EAAW7L,SAAS,KAEjD8L,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChC2b,EAASC,IAAc5b,EAAAA,EAAAA,UAAS,KAChCqc,EAAUC,IAAetc,EAAAA,EAAAA,UAAS,KAGzCC,EAAAA,EAAAA,YAAU,KACRub,EAAW7L,SAAU,EAEd,KACL6L,EAAW7L,SAAU,CAAK,MAK9B1P,EAAAA,EAAAA,YAAU,KACJ+X,GAAUjgB,MAAMC,QAAQggB,GAC1B4D,EAAW5D,IAGXA,IAASzgB,MAAM8e,IAETlB,MACFyG,EAAWvF,GACXqF,GAAW,GACb,IAEFA,GAAW,GACb,GACC,CAAC1D,IAEJ,MAIMuE,EAAoBjd,IACxBgd,EAAYhd,EAAGC,OAAO8H,MAAM,EAGxBmV,EAAgBA,KACpBZ,EAAW,IACND,EACH,CACEngB,GAAI6gB,EACJ5P,KAAM4P,KAGVC,EAAY,GAAG,EAGjB,IAAIG,EAAc,GACd5e,EAAMsB,KAAGlB,EAAOT,EAAM6d,EAAW,QAAKxT,GAS1C,GARI4T,IACF5d,EAAMwd,EAAW,QAAKxT,GAGpBwT,IAAatjB,MAAMC,QAAQ6F,IAC7BnG,QAAQC,MAAM,8BAA8B6F,gBAAmBK,sBAG7D8B,EAAU,CACZ,MAAM+c,EAAOf,EAAQ9I,MAAM3X,GAAMA,EAAEM,KAAOqC,IACtC6e,GAAMjQ,OAAMgQ,EAAcC,EAAKjQ,KACrC,CAGA,IAAK1U,MAAMC,QAAQ6F,GAAM,CACV8d,EAAQ9I,MAAM3X,GAAMA,EAAEM,KAAOqC,MAExCA,EAAM,GAEV,CAEA,IAAI8e,GAAiB,EA2BrB,OA1BIP,IACFO,EAAkBC,GAChBhhB,EAAAA,cAAAA,EAAAA,SAAA,KACGghB,EACDhhB,EAAAA,cAAAihB,GAAAA,EAAA,CAAS/d,MAAO,CAAE+K,OAAQ,WAC1BjO,EAAAA,cAAA,OAAKkD,MAAO,CAAEge,QAAS,OAAQC,SAAU,SAAUC,QAAS,IAC1DphB,EAAAA,cAAA6M,GAAAA,EAAA,CACEzK,KAAK,QACLc,MAAO,CAAEme,KAAM,QACf5V,MAAOgV,EACPhd,SAAUkd,IAEZ3gB,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLjC,KAAK,SACLC,QAASwgB,EACT5d,UAAWyd,EACXvd,MAAO,CAAEoe,WAAY,IAErBthB,EAAAA,cAACyQ,EAAAA,EAAY,UAQrBzQ,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,MACXoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAuB2f,KAG3B9b,GACC/D,EAAAA,cAAA,OAAKC,UAAU,+BAA+BiD,MAAO,CAAEhC,MAAO,SAC5DlB,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,QAAMC,UAAU,6BAA6B4gB,MAKjD9c,GACA/D,EAAAA,cAAAigB,GAAAA,EAAA,CACErgB,GAAIA,EACJwC,KAAMA,EACN8I,YAAa2U,EAAUF,GAAkB,kBAAoBzU,EAC7D5H,YAAaA,EACbN,WAAYL,GAAYkd,EACxBpU,MAAOxJ,EACPwB,SArGMgI,IAChBrI,EAAczD,EAAI8L,EAAM,EAqGdvI,MAAO,CAAEhC,MAAO,QAChBgf,YAAU,EACVL,QAASA,EACT0B,KAAM9B,EAAW,WAAa,GAC9BY,iBAAiB,WACjBU,eAAgBA,IAEdhB,GAAW,IACVhiB,QAAQsb,IACFqG,GACEA,EAAalV,SAAS6O,EAAEzZ,MAEhCyV,KAAKgE,GACJrZ,EAAAA,cAAAigB,GAAAA,EAAQK,OAAM,CAAC/hB,IAAK8a,EAAEzZ,GAAI6L,MAAO4N,EAAEzZ,IAChCyZ,EAAExI,WASvB,CAEA0P,GAAUlf,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV8a,OAAQ9a,KAAAA,UAAoB,CAACA,KAAAA,MAAiBA,KAAAA,OAC9Coe,aAAcpe,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UACvEqe,eAAgBre,KAAAA,OAChBkf,YAAalf,KAAAA,OACZC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9Bke,SAAUne,KAAAA,KAAeC,YAG3B,YCtMA,SAASigB,IAAgB,GAAE7hB,EAAE,KAAEyC,EAAI,MAAEC,IACnC,MAAM,GAAEzC,EAAE,KAAEgC,EAAI,MAAEU,EAAK,OAAEoD,EAAM,KAAEhD,GAAS/C,EAEpCsC,EAAMsB,KAAGlB,EAAOT,GACtB,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA,OAAKJ,GAAIA,EAAIK,UAAWC,SACb+L,IAARhK,EAAoB,GAAK6C,IAAM7C,GAAKyD,OAAOA,GAAU,0BAMlE,CAEA8b,GAAgBngB,UAAY,CAC1B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,OACNoE,OAAQpE,KAAAA,SACPC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,YAG7B,Y,ykBCxCA,MAAMkgB,GAAa,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAE7DC,GAAe,CAAC,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEtEC,GAAY,CAAC,IAAK,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAE1EC,GAAc,CAAC,IAAK,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,SAQnFC,GAAiBA,CAACC,EAAQ/a,EAAQsT,KACtC,IAAIze,EAASkmB,EAOb,MANsB,iBAAX/a,GAAuB5K,MAAMC,QAAQ2K,GAC9CnL,EAASkmB,EAAOD,eAAe9a,EAAQsT,IACnB,IAAXtT,QAA+BkF,IAAZoO,IAC5Bze,EAASkmB,EAAOD,oBAAe5V,EAAWoO,IAGrCze,CAAM,EAoEf,GAjEsBmmB,CAACC,EAASC,EAAW,CAAC,KAC1C,IAAIH,EAASE,EACb,IAAKE,OAAOC,SAASL,GACnB,MAAM,IAAIM,UAAU,wCAAwCN,MAAWA,KAGzE,MAAMzH,EAAO3e,GAAA,CAAK2mB,MAAM,EAAOC,QAAQ,GAAUL,GAG3CM,EAAQlI,EAAQgI,KAClBhI,EAAQiI,OACNV,GACAD,GACFtH,EAAQiI,OACRZ,GACAD,GAEJ,GAAIpH,EAAQmI,QAAqB,IAAXV,EACpB,MAAO,MAAMS,EAAM,KAGrB,MAAME,EAAaX,EAAS,EAEtB9D,EAASyE,EAAa,IAAMpI,EAAQmI,OAAS,IAAM,GAMzD,IAAIE,EAaJ,GAjBID,IACFX,GAAUA,QAK0B7V,IAAlCoO,EAAQsI,wBACVD,EAAgB,CAAEC,sBAAuBtI,EAAQsI,6BAGb1W,IAAlCoO,EAAQuI,wBACVF,EAAahnB,GAAA,CACXknB,sBAAuBvI,EAAQuI,uBAC5BF,IAIHZ,EAAS,EAAG,CAEd,MAAO,GAAG9D,EADW6D,GAAeC,EAAQzH,EAAQtT,OAAQ2b,MACzBH,EAAM,IAC3C,CAEA,MAAMM,EAAWC,KAAK7F,IACpB6F,KAAKC,MAAM1I,EAAQiI,OAASQ,KAAK5b,IAAI4a,GAAUgB,KAAK5b,IAAI,MAAQ4b,KAAKE,MAAMlB,GAAU,GACrFS,EAAMjY,OAAS,GAGjBwX,IAAWzH,EAAQiI,OAAS,KAAO,MAASO,EAEvCH,IACHZ,EAASA,EAAOmB,YAAY,IAO9B,MAAO,GAAGjF,EAJW6D,GAAeK,OAAOJ,GAASzH,EAAQtT,OAAQ2b,MAEvDH,EAAMM,IAEsB,EC/E3C,SAASK,IAAgB,GAAEvjB,EAAE,KAAEyC,EAAI,MAAEC,IACnC,MAAM,GAAEzC,EAAE,KAAEgC,EAAI,MAAEU,EAAK,KAAEI,GAAS/C,EAE5BsC,EAAMsB,KAAGlB,EAAOT,GACtB,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA,OAAKJ,GAAIA,EAAIK,UAAWC,SACb+L,IAARhK,EAAoB,GAAK8f,GAAc9f,MAMpD,CAEAihB,GAAgB7hB,UAAY,CAC1B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,SACLC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,YAG7B,YChCA,SAAS4hB,IAAY,GAAExjB,EAAE,KAAEyC,EAAI,MAAEC,IAC/B,MAAM,GAAEzC,EAAE,KAAEgC,EAAI,MAAEU,EAAK,KAAEI,GAAS/C,EAE5BsC,EAAMsB,KAAGlB,EAAOT,GACtB,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA,OAAKJ,GAAIA,EAAIK,UAAWC,SACb+L,IAARhK,EAAoB,GAAKA,KAMtC,CAEAkhB,GAAY9hB,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CoB,KAAMpB,KAAAA,SACLC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,YAG7B,Y,wBC/BA,SAAS6hB,IAAU,GAAEzjB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACpC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,SAAEe,EAAQ,UAAEC,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,MAAEb,GAAUnC,EAQlEsC,EAAMP,GAAYW,EAAOT,GAAMyB,GAAmB,EAAGvB,GAC3D,OACE9B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,GAC3C5B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CACE,CAACA,IAAwB,UAATkC,GAElB,CAAE,CAAClC,IAAwB,UAATkC,KAGpBpC,EAAAA,cAAAqjB,GAAAA,EAAA,CACEzjB,GAAIA,EACJ6D,SAzBQ6f,IAChB,IAAIrhB,IAAQqhB,EACPjgB,IAAUpB,EAAMA,EAAM,EAAI,GAC/BmB,EAAczD,EAAIsC,EAAI,EAuBde,WAAYL,EACZW,YAAaA,EACbM,UAAW3B,MAMvB,CAEAmhB,GAAU/hB,UAAY,CACpB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C+B,SAAU/B,KAAAA,KACVgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVQ,MAAOR,KAAAA,OACNC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCvDA,SAASgiB,IAAe,GAAE5jB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACzC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,KAAEc,EAAI,QAAE8gB,GAAY7jB,EAE9B8jB,EAAOlgB,KAAGlB,EAAOT,EAAM,IAK7B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClBlC,MAGAujB,GAAQ,IAAIpO,KAAI,CAACqO,EAAKrZ,IACtBrK,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKplB,IAAK8L,EAAGuZ,OAAQ,CAAC,EAAG,KACrBJ,GAAW,IAAInO,KAAKwO,GACD,WAAfA,EAAI5S,OAEJjR,EAAAA,cAAA4C,GAAAA,EAAA,CAAKrE,IAAKslB,EAAI5S,OAAQvO,KAAMmhB,EAAInhB,MAAQ,IACtC1C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAOiC,KAAMA,EAAMhC,QAASA,KAAM0jB,OApBjDhN,EAoB0DzM,OAnB1EjH,EAAczD,EAAI,IAAI8jB,EAAKzM,MAAM,EAAGF,MAAS2M,EAAKzM,MAAMF,EAAM,KAD9CA,KAoB6D,GAAC,YAOhE9W,EAAAA,cAAA4C,GAAAA,EAAA,CAAKrE,IAAKslB,EAAIjiB,KAAMc,KAAMmhB,EAAInhB,MAAQ,IACpC1C,EAAAA,cAAA,OAAKC,UAAWC,IAAyBwjB,EAAIG,EAAIjiB,eAUrE,CAEA2hB,GAAeliB,UAAY,CACzB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBmB,KAAMpB,KAAAA,OACNkiB,QAASliB,KAAAA,QACPA,KAAAA,MAAgB,CACd2P,OAAQ3P,KAAAA,OACRnB,KAAMmB,KAAAA,OACNM,KAAMN,KAAAA,YAGTC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YC9DA,SAASwiB,IAAQ,GAAEpkB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAClC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,OAAEyZ,GAAWzc,EAEtEigB,GAAaxM,EAAAA,EAAAA,SAAO,GACpBmG,GAAYhF,EAAAA,EAAAA,cAAY,IAAMqL,EAAW7L,SAAS,KAEjD8L,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChC2b,EAASC,IAAc5b,EAAAA,EAAAA,UAAS,KAGvCC,EAAAA,EAAAA,YAAU,KACRub,EAAW7L,SAAU,EAEd,KACL6L,EAAW7L,SAAU,CAAK,MAK9B1P,EAAAA,EAAAA,YAAU,KACJ+X,GAAUjgB,MAAMC,QAAQggB,GAC1B4D,EAAW5D,IAGXA,IAASzgB,MAAM8e,IACTlB,MACFyG,EAAWvF,GACXqF,GAAW,GACb,IAEFA,GAAW,GACb,GACC,CAAC1D,IAEJ,MAIMna,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAwB,UAATkC,KAGpBpC,EAAAA,cAAAigB,GAAAA,EAAA,CACErgB,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,EACZ8I,MAAOxJ,EACPwB,SAzBQgI,IAChBrI,EAAczD,EAAI8L,EAAM,EAyBhBvI,MAAO,CAAEhC,MAAO,QAChBgf,YAAU,EACVL,QAASA,EACT0B,KAAK,SAEHxB,GAAW,IAAI1K,KAAKgE,GACpBrZ,EAAAA,cAAAigB,GAAAA,EAAQK,OAAM,CAAC/hB,IAAK8a,EAAEzZ,GAAI6L,MAAO4N,EAAEzZ,IAChCyZ,EAAExI,WAQnB,CAEAkT,GAAQ1iB,UAAY,CAClB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACV8a,OAAQ9a,KAAAA,UAAoB,CAACA,KAAAA,MAAiBA,KAAAA,SAC7CC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YC7FA,SAASyiB,IAAQ,GAAErkB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,aAAE6gB,IACjD,MAAM,GACJrkB,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,OACRa,EAAM,QACNZ,EAAO,QACPC,EAAO,UACP0U,EAAS,UACTuL,GACEvkB,EAYEsC,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,GAC3C5B,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAmBgkB,KAC7DlkB,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAOyB,GACdjE,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOxJ,EACPwB,SAnCMC,IAChBN,EAAczD,EAAI+D,EAAGC,OAAO8H,MAAM,EAmCxB7G,OAAQA,EACRwa,UAjCO1b,IACE,KAAfA,EAAG2b,SACD4E,GAAcA,EAAavgB,EAAI/D,EACrC,EA+BUgZ,YAAaA,OAO3B,CAEAqL,GAAQ3iB,UAAY,CAClB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC/C0C,QAAS1C,KAAAA,KACTuD,QAASvD,KAAAA,KACT2C,QAAS3C,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAChDqX,UAAWrX,KAAAA,KACX4iB,UAAW5iB,KAAAA,OACVC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9B0iB,aAAc3iB,KAAAA,KAAeC,YAG/B,YCvFA,SAAS4iB,IAAY,GAAExkB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACtC,MAAM,GACJxD,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,KACR0f,EAAI,SACJ7K,EAAQ,UACRD,GACEhZ,EAMEsC,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CACb9Y,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOxJ,EACPwB,SAzBQC,IAChBN,EAAczD,EAAI+D,EAAGC,OAAO8H,MAAM,EAyB1BmN,SAAU,CAAEwL,QAASX,GAAQ,EAAGY,QAASzL,EAAW,GAAK6K,GAAQ,GACjE9K,YAAaA,MAMzB,CAEAwL,GAAY9iB,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVmiB,KAAMniB,KAAAA,OACNsX,SAAUtX,KAAAA,KACVqX,UAAWrX,KAAAA,OACVC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YC1EM+iB,GAAatkB,EAAAA,YAAiB,CAAChC,EAAOoQ,IAE1CpO,EAAAA,cAACsL,IAAU+C,EAAAA,GAAAA,GAAA,GAAKrQ,EAAK,CAAEumB,OAAO,OAAOhD,UAAMtV,EAAWmC,IAAKA,OAG7DkW,GAAWE,YAAc,aAEzB,YCEA,SAASC,IAAQ,GAAE9kB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAClC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,OAAE+C,EAAM,OAAEyF,GAAWxL,EAMpF,MAAMsC,EAAMsB,KAAGlB,EAAOT,EAAMkD,OAE5B,OACE9E,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAACskB,GAAU,CACT1kB,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,EACZ8I,MAAO3G,IAAM7C,EAAKyD,GAAUjE,IAC5BgC,SApBV,SAAkB+D,EAAM0E,GACtB9I,EAAczD,EAAIuM,EACpB,EAmBUhJ,MAAO,CAAEhC,MAAOiK,EAAS,OAAS,QAClCzF,OAAQA,GAAUjE,OAM9B,CAEAgjB,GAAQpjB,UAAY,CAClB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVoE,OAAQpE,KAAAA,OACR6J,OAAQ7J,KAAAA,OACPC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCxDamjB,GAAcA,CAACplB,EAAGsf,EAAI,KAGjC,GAAI5C,MAAM1c,IAAM0c,MAAM4C,GAAI,OAE1B,MAAM7R,EAAI+V,KAAK6B,IAAI,GAAI/F,GACvB,OAAOkE,KAAK8B,MAAMtlB,EAAIyN,GAAKA,CAAC,EAGjB8X,GAAgBjjB,GACvBA,GAA2B,MAAnBA,EAAKgc,OAAO,GAAmBhc,EAAKkjB,UAAU,GACnDljB,ECJT,SAASmjB,IAAiB,GAAEplB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,eAAE2iB,IAC3C,MAAOC,EAAWC,IAAgB9gB,EAAAA,EAAAA,WAAU,IAEtC,GAAExE,EAAE,MAAE0C,EAAK,MAAEE,EAAK,KAAEZ,EAAI,KAAEc,EAAI,SAAEC,EAAQ,UAAEwiB,EAAS,YAAEC,GAAgBzlB,EACrE0lB,EAAiBD,GANC,SAQjBE,EAAcC,GAAgBJ,GAAa,GAE5CK,EAAWjiB,KAAGlB,EAAOT,GACrB6jB,EAAWliB,KAAGlB,EAAOkjB,GAAgB,OAAQ,GAsCnD,OACEvlB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAiBA,OAC/BoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAAA4Q,GAAAA,EAAA,CACEhR,GAAIA,EACJiR,KAAK,UACL5Q,UAAU,oBACV8Q,OAAO,MACPC,gBAAgB,EAChBC,OAAO,gBACPxN,SApDOxH,OAASkV,WAKxB,GAJIA,EAAKqD,QAAU,GAAKrD,EAAKqD,SAAW,KACtC0Q,EAAa7Q,SAASlD,EAAKqD,QAAS,KAGjB,MAAjBrD,EAAKqD,SAAmBrD,EAAKxU,SAAU,CACzC,MAAM,IAAE7B,EAAG,OAAEC,EAAM,KAAEI,GAASgW,EAAKxU,SAEnC,GAAY,IAAR7B,EAAW,CACboqB,GAAc,GAEd,MAAMnY,EAAI,CAAC,EACX/K,GAAY+K,EAAGnL,EAAMzG,EAAKid,UACtBkN,GAActjB,GAAY+K,EAAGuY,EAAcnU,EAAKN,MAChD0U,GAAcvjB,GAAY+K,EAAGwY,EAAcpU,EAAK/O,MAEpD4iB,EAAejY,EACjB,MAAO,GAAI5Q,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IAEzC,GA6BQ+W,aAzBYV,KAChBA,EAAK/O,KAAOijB,KACd/oB,EAAAA,GAAQP,MAAM,oCAAoCgmB,GAAcsD,OACzD,GAuBDriB,SAAUiiB,GAAa,GAAKtiB,EAC5BlH,QAAS,CACP,eAAgB,GAChB,eAAgBmZ,mBAAmB,QACnC,uBAAwB,EACxB,mBAAoB,IAGrBqQ,GAAa,GACZjlB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,GAAYgD,MAAO,CAAEhC,MAAO,GAAG+jB,QAC/CjlB,EAAAA,cAAA,YAAO0kB,GAAYO,EAAW,GAAG,OAGpCA,EAAY,GACXjlB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQnD,GAAIA,EAAIwC,KAAMA,EAAMY,WAAYL,EAAUO,MAAO,CAAEhC,MAAO,SAC/DsB,GACC,GAAGgjB,GAAY,iBACbC,EAAW,EAAI,MAAM1D,GAAc0D,KAAc,SASrE,CAEAV,GAAiB1jB,UAAY,CAC3B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CkB,MAAOlB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CqB,SAAUrB,KAAAA,KACVoB,KAAMpB,KAAAA,OACN6jB,UAAW7jB,KAAAA,QAAkBA,KAAAA,QAC7B8jB,YAAa9jB,KAAAA,SACZC,WACHc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3Ba,KAAMd,KAAAA,OAAiBC,WACvByjB,eAAgB1jB,KAAAA,MAGlB,YC7GA,SAASokB,IAAO,GAAE/lB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,aAAE6gB,IAChD,MAAM,GAAErkB,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,QAAEC,GAAYrE,EAEjFsC,EAAMsB,KAAGlB,EAAOT,EAAM,KACrB+jB,EAAMC,IAAWxhB,EAAAA,EAAAA,UAASnC,IAC1B4jB,EAAWC,IAAgB1hB,EAAAA,EAAAA,WAAS,IAE3CC,EAAAA,EAAAA,YAAU,KACRuhB,EAAQriB,KAAGlB,EAAOT,EAAM,IAAI,GAC3B,KAEHyC,EAAAA,EAAAA,YAAU,KAhBH,ycAAyc0hB,KAiB9bJ,IACdG,GAAa,GACT7jB,IAAQ0jB,GACVviB,EAAczD,EAAIgmB,KAGhBA,GAAMG,GAAa,GACvB1iB,EAAczD,EAAI,IACpB,GACC,CAACgmB,IAEJ,MAUM/gB,EACJ5E,EAAAA,cAAA,KACEgmB,KAAM/jB,EACN0B,OAAO,SACPsiB,IAAI,aACJzjB,MAAM,uBACNU,MAAO,CAAEoe,WAAY,MAElBrf,GACDjC,EAAAA,cAAA,OACEa,OAAO,eACPC,KAAK,OACLC,YAAY,IACZC,QAAQ,YACRC,OAAO,MACPC,MAAM,MACNC,MAAM,8BAENnB,EAAAA,cAAA,QACE0b,cAAc,QACdC,eAAe,QACf5a,YAAY,IACZK,EAAE,mFAOZ,OACEpB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,GACvB,CAAE,CAAC7D,IAAoB2lB,KAGzB7lB,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,cAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOka,EACPliB,SA/DQC,IAChBkiB,EAAQliB,EAAGC,OAAO8H,MAAM,EA+DhB7G,OAAQA,EACRwa,UA7DS1b,IACE,KAAfA,EAAG2b,SACD4E,GAAcA,EAAavgB,EAAI/D,EACrC,EA2DQ6L,YAAU,MAMtB,CAEAka,GAAOrkB,UAAY,CACjB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV0C,QAAS1C,KAAAA,KACTuD,QAASvD,KAAAA,OACRC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9B0iB,aAAc3iB,KAAAA,KAAeC,YAG/B,YC5HMxC,GAAS,CACbmnB,kBAAkB,EAClBC,kBAAkB,EAClBC,sBAAsB,EACtBC,kBAAmB,QACnBC,QACE,gHACFC,UACE,gHACFC,UACE,gHACFC,UACE,gHACFC,SAAU,CACRC,wBAAwB,IAMfC,GAAWA,CAACxY,EAAKyY,KAC5B,MAAMC,GAAS1T,EAAAA,EAAAA,QAAO,OAEfhD,GAAUzB,GA1BE,8DA2BZoY,G5BvBF,SAAmBzY,GACxB,MAAOQ,EAAMC,IAAW3K,EAAAA,EAAAA,WAAS,GAoBjC,OAlBAC,EAAAA,EAAAA,YAAU,KACR,GAAIiK,EACF,GAAII,GAASJ,GAAMS,GAAQ,OACtB,CACH,MAAMiY,EAAO/X,SAASG,cAAc,QACpC4X,EAAKzV,OAAS,KACZ7C,GAASJ,IAAO,EAChBS,GAAQ,EAAK,EAEfiY,EAAKhB,KAAO1X,EACZ0Y,EAAK7mB,KAAO,WACZ6mB,EAAKf,IAAM,aACXe,EAAKC,MAAQ,eACbhY,SAASiY,qBAAqB,QAAQ,GAAG3X,YAAYyX,EACvD,CACF,GACC,CAAC1Y,IAEG,CAACQ,EACV,C4BCoBqY,CAAU/W,GA1BR,+DA4BbgX,EAAMC,IAAWjjB,EAAAA,EAAAA,UAAS,KAC1BkjB,EAAUC,IAAenjB,EAAAA,EAAAA,WAAS,GA4BzC,OA1BAC,EAAAA,EAAAA,YAAU,KACJ0iB,IAAYD,EAAO/S,UAErB+S,EAAO/S,QAAUyT,MAAMC,KAAKrZ,EAAI2F,QAAShV,IACzC+nB,EAAO/S,QAAQ2T,eAAeb,GAAe,IAC7CC,EAAO/S,QAAQ4T,OAAOC,GAAG,UAAWvO,IAElCgO,EAAQhO,EAAE,IAEZkO,GAAY,IAGP,KAEDT,EAAO/S,UACT+S,EAAO/S,QAAQ8T,WACff,EAAO/S,QAAU,KACnB,IAED,CAACgT,EAAS3Y,EAAI2F,WAEjB1P,EAAAA,EAAAA,YAAU,KAEJwiB,GAAeC,EAAO/S,SAAS+S,EAAO/S,QAAQ2T,eAAeb,EAAY,GAC5E,CAACA,IAEG,CAACS,EAAUF,EAAK,ECpDzB,SAASU,IAAY,GAAEnoB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACtC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,KAAE0f,GAAS9jB,EAE9EsC,EAAMsB,KAAGlB,EAAOT,EAAM,IAEtBklB,GAAS1T,EAAAA,EAAAA,QAAO,OACf2U,EAAWC,GAAWpB,GAASE,EAAQ7kB,GAQ9C,OANAoC,EAAAA,EAAAA,YAAU,KACJ0jB,GACF3kB,EAAczD,EAAIqoB,EACpB,GACC,CAACD,EAAWC,IAGbhoB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA,YACEoO,IAAK0Y,EACLlnB,GAAIA,EACJsL,YAAaA,GAAe,GAC5BlI,WAAYL,KAAcoB,MAMtC,CAEA+jB,GAAYzmB,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVmiB,KAAMniB,KAAAA,SACLC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCzDA,SAAS0mB,GAAgBhmB,GACvB,MAAMimB,EAAO7T,SAASpS,EAAK,IAC3B,OAAIA,IAAQ,GAAGimB,IAAe,KACvBA,CACT,CAEA,SAASC,IAAgB,GAAExoB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IAC1C,MAAOglB,EAAMC,IAAWjkB,EAAAA,EAAAA,UAAS,KAC1BkkB,EAAMC,IAAWnkB,EAAAA,EAAAA,UAAS,KAE3B,GAAExE,EAAE,KAAEgC,EAAI,MAAEU,EAAK,SAAEgK,EAAQ,UAAEhJ,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,GAAapE,GAEpE6oB,EAAQC,GAAUllB,KAAGlB,EAAOT,IAAS,IAE5CyC,EAAAA,EAAAA,YAAU,KACRgkB,EAAQG,GAAU,IAClBD,EAAQE,GAAU,GAAG,GACpB,CAAC7oB,EAAIgC,IAkBR,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,EAAI4C,MAAOF,GACxBA,EAAM,MAAIgK,GAAYtM,EAAAA,cAAA,WAAMsM,KAGjCtM,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAY,MACZ5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAO2c,EACP3kB,SAvCWC,IACnB,MAAMzB,EAAMyB,EAAGC,OAAO8H,MACtB4c,EAAQpmB,GAER,MAAMimB,EAAOD,GAAgBhmB,GAC7BmB,EAAczD,EAAI,CAACuoB,EAAMO,GAAQ,EAmCzBxoB,UAAWC,GACXsL,YAAU,IAEZxL,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,KAAiB,OACpCF,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAY,OACZlI,WAAYL,KAAcoB,EAC1B0H,MAAO6c,EACP7kB,SA1CWC,IACnB,MAAMzB,EAAMyB,EAAGC,OAAO8H,MACtB8c,EAAQtmB,GAER,MAAMimB,EAAOD,GAAgBhmB,GAC7BmB,EAAczD,EAAI,CAAC6oB,EAAQN,GAAM,EAsCzBjoB,UAAWC,GACXsL,YAAU,MAMtB,CAEA2c,GAAgB9mB,UAAY,CAC1B1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CgL,SAAUhL,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,QAAmBA,KAAAA,OACpEgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,OACTC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,Y,kmBCpFA,SAASmnB,IAAS,GAAE/oB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACnC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,SAAEoB,EAAQ,QAAEC,GAAYrE,EAEjFmY,GAAM1E,EAAAA,EAAAA,QAAO,OACZuV,EAAYC,IAAiBxkB,EAAAA,EAAAA,UAAS,CAAEykB,QAAS,KAClD5mB,GAAOsB,KAAGlB,EAAOT,IAAS,IAAIoF,MAAM,MACnC8hB,EAAWD,EAASE,GAAe9mB,GAE1CoC,EAAAA,EAAAA,YAAU,KAENukB,EADEE,GAAaD,EACD,CACZC,YACAD,WAGY,CACZA,QAAS,IAEb,GACC,CAACC,EAAWD,EAASE,IAqBxB,OACE/oB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAA,CACEjN,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOkd,EAAWE,QAClBplB,SA1CQC,IAChB,MAAM2V,EAAI3V,EAAGC,OAAO8H,MACdud,EAjCc9tB,KAEtB,MAAM+tB,EAAS,IAAIC,OACjB,iGACA,KAEIC,EAAUjuB,EAAI8R,MAAMic,GAC1B,QAAOE,GAAUA,EAAQ,EAAU,EA0BrBC,CAAe/P,GAE3BuP,EAAaltB,GAAAA,GAAC,CAAC,EACVitB,GAAU,IACbE,QAASG,GAAO3P,IAChB,KAsCMsP,EAAWE,SACX7oB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAqpB,GAAAA,EAAA,CAAOC,MAAOD,GAAAA,EAAME,uBAAwB9oB,YAAY,eAI3DkoB,EAAWE,SACV7oB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OACEoO,IAAK0J,EACLxD,OA7CMkV,KAClB,MAAMvV,EAAI6D,EAAI/D,SAAS7S,OAAS,IAC1BiT,EAAI2D,EAAI/D,SAAS9S,QAAU,IAC3BwoB,EAAK/E,GAAYzQ,EAAIE,EAAG,GAExBuV,EAAY,WAAWf,EAAWE,WAAWY,IAC/CC,IAAcznB,GAAKmB,EAAczD,EAAI+pB,EAAU,EAwCvCpb,IAAK,wBAAwBqa,EAAWE,wBACxCta,IAAI,qBAQpB,CAEAma,GAASrnB,UAAY,CACnB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV0C,QAAS1C,KAAAA,OACRC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YChHA,SAASooB,IAAa,GAAEhqB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACvC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEqJ,EAAK,MAAE3I,EAAK,YAAE4I,EAAW,UAAE5H,EAAS,KAAEZ,EAAI,SAAEC,EAAQ,OAAE+C,EAAM,OAAEyF,GAAWxL,EAUrFsC,EAAMsB,KAAGlB,EAAOT,EAAM,KACtByJ,EAAO9H,KAAGlB,EAAO4I,EAAO,KAG9B,OACEjL,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAsB,CAAE,CAACA,IAAwB,UAATkC,KACzDpC,EAAAA,cAACsL,GAAWC,YAAW,CACrBgZ,OAAO,OACPhD,UAAMtV,EACNrM,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,EACZO,MAAO,CAAEhC,MAAOiK,EAAS,OAAS,QAClCzF,OAAQA,GAAUjE,GAClBgC,SA7BQmmB,IAChBxmB,EACEzD,EACkB,GAAlBiqB,EAAM,GAAGzhB,OAAcyhB,EAAM,GAAGvhB,SACd,GAAlBuhB,EAAM,GAAGzhB,OAAcyhB,EAAM,GAAGvhB,SACjC,EAyBOoD,MAAO,CACL3G,MACGyD,OAAO,GACPJ,KAAKkM,SAASpS,EAAM,GAAI,KACxBoG,OAAOpG,EAAM,IAChB6C,MACGyD,OAAO,GACPJ,KAAKkM,SAAShJ,EAAO,GAAI,KACzBhD,OAAOgD,EAAO,KAEnBwe,WAAY,MAMxB,CAEAF,GAAatoB,UAAY,CACvB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvB0J,MAAO3J,KAAAA,OAAiBC,WACxBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVoE,OAAQpE,KAAAA,OACR6J,OAAQ7J,KAAAA,OACPC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCzEA,SAASuoB,IAAY,GAAEnqB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,aAAE6gB,EAAY,YAAE8F,IACnE,MAAM,GACJnqB,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,OACRa,EAAM,QACNZ,EAAO,QACPC,EAAO,UACP0U,GACEhZ,EAYEsC,EAAMsB,KAAGlB,EAAOT,EAAM,IAC5B,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,GAC3C5B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GACb0C,EACA0B,GAAWhE,EAAAA,cAAA,WAAK,OAGrBA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAOyB,GACdjE,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,MAAoB6D,KAGzB/D,EAAAA,cAAA6M,GAAAA,EAAOmd,SAAQ,CACbpqB,GAAIA,EACJwC,KAAMA,EACN8I,YAAaA,GAAe,GAC5B5H,YAAaA,EACbN,WAAYL,KAAcoB,EAC1B0H,MAAOxJ,EACPwB,SAnCMC,IAChBN,EAAczD,EAAI+D,EAAGC,OAAO8H,MAAM,EAmCxB7G,OAAQA,EACRwa,UAjCO1b,IACE,KAAfA,EAAG2b,SACD4E,GAAcA,EAAavgB,EAAI/D,EACrC,EA+BUgZ,YAAaA,EACb2G,aAAcyK,EAAc,YAAS9d,OAOnD,CAEA6d,GAAYzoB,UAAY,CACtB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACVsD,OAAQtD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC/C0C,QAAS1C,KAAAA,KACTuD,QAASvD,KAAAA,KACT2C,QAAS3C,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAChDqX,UAAWrX,KAAAA,KACXyoB,YAAazoB,KAAAA,OACZC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9B0iB,aAAc3iB,KAAAA,KAAeC,YAG/B,Y,yBCvFA,SAAS0oB,IAAW,GAAEtqB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,IACrC,MAAM,GAAExD,EAAE,KAAEgC,EAAI,MAAEU,EAAK,KAAEI,EAAI,SAAEC,EAAQ,MAAEb,GAAUnC,EAC7CsC,EAAMP,GAAYW,EAAOT,GAAO,GAetC,OACE5B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,GAAiB,aAAY0B,GAC3C5B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAEvBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACAA,GACA,CACE,CAACA,IAAwB,UAATkC,GAElB,CAAE,CAAClC,IAAwB,UAATkC,IAEpBc,MAAO,CAAEwN,UAAW,IAEpB1Q,EAAAA,cAAAkqB,GAAAA,GAAAA,MAAY,CAACzmB,SA9BHC,MA8BuB+H,MAAOxJ,EAAKG,KAAK,QAAQ+nB,YAAY,SAEpEnqB,EAAAA,cAAAkqB,GAAAA,GAAAA,OAAa,CAACze,MAAO,EAAGrL,QAvBjBgqB,KACfhnB,EAAczD,EAAY,IAARsC,GAAa,EAAI,EAAE,GAsBc,MAG3CjC,EAAAA,cAAAkqB,GAAAA,GAAAA,OAAa,CAACze,MAAO,EAAGrL,QA9BjBiqB,KACfjnB,EAAczD,EAAY,IAARsC,GAAa,EAAI,EAAE,GA6Bc,UAQvD,CAEAgoB,GAAW5oB,UAAY,CACrB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C+B,SAAU/B,KAAAA,KACVgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVQ,MAAOR,KAAAA,OACNC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,YAGhC,YCjEA,SAAS+oB,IAAS,GAAE3qB,EAAE,KAAEyC,EAAI,MAAEC,EAAK,cAAEe,EAAa,SAAEqc,IAClD,MAAM,GACJ7f,EAAE,KACFgC,EAAI,MACJU,EAAK,YACL4I,EAAW,UACX5H,EAAS,KACTZ,EAAI,SACJC,EAAQ,SACRoB,EAAQ,OACRqY,EAAM,aACNsD,EAAY,eACZC,GACEhgB,EAEEigB,GAAaxM,EAAAA,EAAAA,SAAO,GACpBmG,GAAYhF,EAAAA,EAAAA,cAAY,IAAMqL,EAAW7L,SAAS,KAEjD8L,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChC2b,EAASC,IAAc5b,EAAAA,EAAAA,UAAS,KAGvCC,EAAAA,EAAAA,YAAU,KACRub,EAAW7L,SAAU,EAEd,KACL6L,EAAW7L,SAAU,CAAK,MAK9B1P,EAAAA,EAAAA,YAAU,KACJ+X,GAAUjgB,MAAMC,QAAQggB,GAC1B4D,EAAW5D,IAGXA,IAASzgB,MAAM8e,IAETlB,MACFyG,EAAWvF,GACXqF,GAAW,GACb,IAEFA,GAAW,GACb,GACC,CAAC1D,IAOJ,IAAIna,EAAMsB,KAAGlB,EAAOT,EAAM6d,EAAW,QAAKxT,GAM1C,GALI4T,IACF5d,EAAMwd,EAAW,QAAKxT,IAInB9P,MAAMC,QAAQ6F,GAAM,CACV8d,EAAQ9I,MAAM3X,GAAMA,EAAEM,KAAOqC,MAExCA,EAAM,GAEV,CAEA,OACEjC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAMA,GAAQ,IACjB1C,EAAAA,cAAA,OAAKC,UAAWC,MACXoC,GACDtC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,SAAO6C,QAASjD,GAAK0C,IAGzBtC,EAAAA,cAAA,OACEC,UAAW6C,KACT5C,GACA,CAAE,CAACA,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAwB,UAATkC,GAClB,CAAE,CAAClC,IAAuB2f,KAG5B7f,EAAAA,cAAAkqB,GAAAA,GAAAA,MAAY,CACVtqB,GAAIA,EACJwC,KAAMA,EACNqB,SArCQ8mB,IAChB,MAAM,MAAE9e,GAAU8e,EAAE5mB,OACpBP,EAAczD,EAAI8L,EAAM,EAoChBA,MAAOxJ,EACPe,WAAYL,GAAYkd,IAEtBE,GAAW,IACVhiB,QAAQsb,IACFqG,GACEA,EAAalV,SAAS6O,EAAEzZ,MAEhCyV,KAAKgE,GACJrZ,EAAAA,cAAAkqB,GAAAA,GAAA,CAAO3rB,IAAK8a,EAAEzZ,GAAI6L,MAAO4N,EAAEzZ,IACxByZ,EAAExI,WAQrB,CAEAyZ,GAASjpB,UAAY,CACnB1B,GAAI2B,KAAAA,MAAgB,CAClB1B,GAAI0B,KAAAA,OAAiBC,WACrBK,KAAMN,KAAAA,OAAiBC,WACvBe,MAAOhB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9C4J,YAAa5J,KAAAA,OACbgC,UAAWhC,KAAAA,KACXoB,KAAMpB,KAAAA,OACNqB,SAAUrB,KAAAA,KACVyC,SAAUzC,KAAAA,KACV8a,OAAQ9a,KAAAA,UAAoB,CAACA,KAAAA,MAAiBA,KAAAA,OAC9Coe,aAAcpe,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UACvEqe,eAAgBre,KAAAA,SACfC,WACHa,KAAMd,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B6B,cAAe9B,KAAAA,KAAeC,WAC9Bke,SAAUne,KAAAA,KAAeC,YAG3B,YCjFA,SAxCA,SAASoG,EAAMhG,GACb,IAAI/F,EAAS+F,EACb,IAAIxB,EAAO,CAAC,EAAE6N,SAASwc,KAAK7oB,GAAKqV,MAAM,GAAI,GAC3C,GAAY,OAAR7W,EACF,OAAO,IAAIsqB,IAAI,IAAI9oB,GAAK0T,KAAI5J,GAAS9D,EAAM8D,MAE7C,GAAY,OAARtL,EACF,OAAO,IAAIuqB,IAAI,IAAI/oB,GAAK0T,KAAIsV,GAAM,CAAChjB,EAAMgjB,EAAG,IAAKhjB,EAAMgjB,EAAG,QAE5D,GAAY,QAARxqB,EACF,OAAO,IAAIyqB,KAAKjpB,EAAIkpB,WAEtB,GAAY,UAAR1qB,EACF,OAAO+oB,OAAOvnB,EAAImpB,OAatB,SAAwBC,GACtB,GAAkC,iBAAvBA,EAAOD,OAAOE,MACvB,OAAOD,EAAOD,OAAOE,MAErB,IAAIA,EAAQ,GAMZ,OALAD,EAAOE,QAAUD,EAAME,KAAK,KAC5BH,EAAOI,YAAcH,EAAME,KAAK,KAChCH,EAAOK,WAAaJ,EAAME,KAAK,KAC/BH,EAAOM,QAAUL,EAAME,KAAK,KAC5BH,EAAOO,SAAWN,EAAME,KAAK,KACtBF,EAAMpQ,KAAK,GAEtB,CAzB8B2Q,CAAe5pB,IAE3C,GAAY,SAARxB,GAA2B,UAARA,EAErB,IAAK,IAAI5B,KADT3C,EAASO,MAAMC,QAAQuF,GAAO,GAAK,CAAC,EACpBA,EAEd/F,EAAO2C,GAAOoJ,EAAMhG,EAAIpD,IAI5B,OAAO3C,CACT,E,ykBCoBAoI,EAAQ,OACR,MAAMiB,GAAUjB,EAAQ,OAClBkB,GAAalB,EAAQ,OACrBe,GAAoBf,EAAQ,OAElCc,IAAAA,OAAa,MACbA,IAAAA,OAAaG,IACbH,IAAAA,OAAaI,IACbJ,IAAAA,OAAaC,IAGN,MAAMymB,GAAW,CACtBC,KAAM,EACNC,SAAU,EACVC,OAAQ,EACRC,SAAU,EACVC,OAAQ,EACRC,OAAQ,EACRC,YAAa,EACbC,KAAM,EACNC,SAAU,GACVC,KAAM,GACNC,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,OAAQ,GACRC,MAAO,GACPC,eAAgB,GAChBC,cAAe,GACfC,QAAS,GACTC,MAAO,GACPC,iBAAkB,GAClBC,MAAO,GACPC,IAAK,GACLC,QAAS,GACTC,cAAe,GACfC,UAAW,GACXC,MAAO,GACPC,qBAAsB,GACtBC,aAAc,GACdC,OAAQ,GACRC,eAAgB,GAChBC,eAAgB,GAChBC,eAAgB,GAChBC,gBAAiB,GACjBC,eAAgB,GAChBC,MAAO,GACPC,UAAW,GACXC,SAAU,GACVC,QAAS,GACTC,MAAO,IAuBT,SAASpR,IAAU,MACjBqR,EAAK,OACLC,EAAM,MACNzrB,EAAK,KACLJ,EAAI,MACJlB,EAAK,MACL0b,EAAK,KACLE,EAAI,MACJza,EAAK,MACLP,EAAK,cACL+a,EAAa,aACbqR,EAAY,SAEZnuB,IAEA,MAAOouB,EAAUC,IAAehqB,EAAAA,EAAAA,UAAS,CAAC,IACnCiqB,EAAmBC,IAAwBlqB,EAAAA,EAAAA,WAAS,GAGrDmqB,EAAWC,KAAW,CAC1B1R,KAAMA,EACH/e,QAAQuB,IAAOA,EAAEmvB,OACjBpZ,KAAK/V,IAECA,EAAEM,KAAIN,EAAEM,IAAK8uB,EAAAA,GAAAA,IAAO,IAClB,CACLC,QAASrvB,EAAEqvB,QACXzjB,YAAa5L,EAAE4L,YACf/K,KAAMb,EAAEa,KACRmC,MAAOhD,EAAEgD,MACTI,KAAMpD,EAAEoD,KACRC,SAAUrD,EAAEqD,SACZoB,SAAUzE,EAAEyE,SACZT,UAAWhE,EAAEgE,UACbyW,UAAWza,EAAEya,UACb6U,aAActvB,EAAE8c,QAAUoS,KAAWlvB,EAAE8c,QACvCyS,mBAAoBvvB,EAAEogB,cAAgB8O,KAAWlvB,EAAEogB,oBAOrDoP,GAAUC,EAAAA,EAAAA,UACd,IACEjS,EACG/e,QAAQuB,IAAOA,EAAEmvB,OACjBpZ,KAAI,CAAC/V,EAAG+K,IAAC3O,GAAAA,GAAA,GACL4D,GAAC,IACJf,IAAK,GAAGe,EAAEsC,QAAQyI,SAExB,CAACkkB,IA0CH,SAASS,EAAgBjiB,GACvB,IAAK,MAAMkiB,KAAOH,EAChB,GAAIG,EAAIjrB,UAAYtC,GAAYqL,EAAGkiB,EAAIrtB,UAAMqK,EAAWnK,GAAQ,OAAO,EAEzE,OAAO,CACT,CAEA,SAASsB,EAAczD,EAAI8L,EAAOyjB,GAIhC,MAAMniB,EAAIoiB,GAAU9sB,GAIpBL,GAAY+K,EAAGpN,EAAGiC,KAAM6J,EAAO3J,QAEhBmK,IAAXijB,GACFltB,GAAY+K,EAAGpN,EAAGsL,MAAOikB,EAAQptB,GAEnC+a,EAAc9P,EAAGiiB,EAAgBjiB,GACnC,CAEA,SAASiY,EAAeoK,GACtB,MAAMriB,EAACrR,GAAAA,GAAA,GACF2G,GACA+sB,GAELvS,EAAc9P,EAAGiiB,EAAgBjiB,GACnC,CAEA,SAASkX,EAAavgB,EAAI/D,GACxB+D,EAAGsO,iBAECkc,GAAcA,EAAaxqB,EAAI/D,EACrC,CAEA,SAAS0vB,EAAc1vB,GACrB,MAAM2vB,EAAS,CACb/wB,IAAKoB,EAAGpB,IACR6D,OACAzC,KACA0C,QACAe,gBACA4hB,iBACAf,eACAxE,UAAU,EACV3d,SAGF,OAAQnC,EAAGQ,MACT,KAAKqrB,GAASC,KACZ,OAAOzrB,EAAAA,cAACgkB,GAAYsL,GACtB,KAAK9D,GAASqC,SACZ,OAAO7tB,EAAAA,cAAC8pB,GAAgBwF,GAE1B,KAAK9D,GAASE,SACZ,OAAO1rB,EAAAA,cAACmkB,GAAgBmL,GAC1B,KAAK9D,GAASuB,QACZ,OAAO/sB,EAAAA,cAAC8nB,GAAgBwH,GAC1B,KAAK9D,GAASyB,UACZ,OAAOjtB,EAAAA,cAACmjB,GAAgBmM,GAC1B,KAAK9D,GAASgC,eACZ,OAAOxtB,EAAAA,cAACkjB,GAAoBoM,GAE9B,KAAK9D,GAAS4B,aACZ,OAAOptB,EAAAA,cAACujB,GAAmB+L,GAE7B,KAAK9D,GAAS0B,MACZ,OAAOltB,EAAAA,cAAC6D,GAAayrB,GAEvB,KAAK9D,GAASe,MACZ,OAAOvsB,EAAAA,cAACod,GAAakS,GACvB,KAAK9D,GAASgB,eACZ,OAAOxsB,EAAAA,cAACke,GAAoBoR,GAC9B,KAAK9D,GAASmB,MACZ,OAAO3sB,EAAAA,cAAC0M,GAAa4iB,GAEvB,KAAK9D,GAASG,OACZ,OAAO3rB,EAAAA,cAAC+c,GAAcuS,GACxB,KAAK9D,GAASkC,eACZ,OAAO1tB,EAAAA,cAACmoB,GAAoBmH,GAE9B,KAAK9D,GAASsB,IACZ,OAAO9sB,EAAAA,cAAC0lB,GAAW4J,GAErB,KAAK9D,GAASa,SACZ,OAAOrsB,EAAAA,cAACsZ,GAAgBgW,GAC1B,KAAK9D,GAASkB,QACZ,OAAO1sB,EAAAA,cAAC4b,GAAc0T,GAExB,KAAK9D,GAASI,SACZ,OAAO5rB,EAAAA,cAACmD,GAAgBmsB,GAC1B,KAAK9D,GAAS2B,qBACZ,OAAOntB,EAAAA,cAACwM,GAA2B8iB,GACrC,KAAK9D,GAASK,OACZ,OAAO7rB,EAAAA,cAACojB,GAAckM,GACxB,KAAK9D,GAASsC,QACZ,OAAO9tB,EAAAA,cAACiqB,GAAeqF,GAEzB,KAAK9D,GAASM,OACZ,OAAO9rB,EAAAA,cAACugB,GAAc+O,GACxB,KAAK9D,GAASuC,MACZ,OAAO/tB,EAAAA,cAACsqB,GAAagF,GAEvB,KAAK9D,GAAS6B,OACZ,OAAOrtB,EAAAA,cAACwf,GAAc8P,GAExB,KAAK9D,GAASO,YAEZ,OADAuD,EAAO7P,UAAW,EACXzf,EAAAA,cAACugB,GAAc+O,GAExB,KAAK9D,GAASQ,KAEZ,OADAsD,EAAO7P,UAAW,EACXzf,EAAAA,cAAC+jB,GAAYuL,GAEtB,KAAK9D,GAASS,SACZ,OAAOjsB,EAAAA,cAAC4L,GAAgB0jB,GAC1B,KAAK9D,GAASW,UACZ,OAAOnsB,EAAAA,cAACgL,GAAiBskB,GAE3B,KAAK9D,GAASU,KACZ,OAAOlsB,EAAAA,cAACykB,GAAY6K,GACtB,KAAK9D,GAASoC,UACZ,OAAO5tB,EAAAA,cAAC2pB,GAAiB2F,GAE3B,KAAK9D,GAASiB,cACZ,OAAOzsB,EAAAA,cAACwhB,GAAoB8N,GAC9B,KAAK9D,GAASY,QACZ,OAAOpsB,EAAAA,cAACoM,GAAekjB,GAEzB,KAAK9D,GAASc,OACZ,OAAOtsB,EAAAA,cAACmC,GAAcmtB,GAExB,KAAK9D,GAASoB,iBACZ,OAAO5sB,EAAAA,cAACmc,GAAsBmT,GAEhC,KAAK9D,GAASwB,cACZ,OAAOhtB,EAAAA,cAACmQ,GAAoBmf,GAC9B,KAAK9D,GAAS8B,eACZ,OAAOttB,EAAAA,cAAC6Y,GAAqByW,GAC/B,KAAK9D,GAAS+B,eACZ,OAAOvtB,EAAAA,cAACuf,GAAqB+P,GAC/B,KAAK9D,GAASiC,gBACZ,OAAOztB,EAAAA,cAAC+kB,GAAqBuK,GAE/B,KAAK9D,GAASmC,MACZ,OAAO3tB,EAAAA,cAAC0oB,GAAa4G,GAEvB,KAAK9D,GAASqB,MACZ,OACE7sB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKrE,IAAKoB,EAAGpB,IAAKmE,UAAkBuJ,IAAZtM,EAAG+C,KAAqB/C,EAAG+C,KAAO,IACvD/C,EAAG8L,OAIV,QACE,OAAO,KAEb,CAEA,OAxMApH,EAAAA,EAAAA,YAAU,KACJgqB,IACFxR,EAAcsR,GACdG,GAAqB,GACvB,GACC,CAACD,KAEJhqB,EAAAA,EAAAA,YAAU,KAER,IAAIkrB,GAAO,EACX,MAAMC,EAAM9zB,GAAA,GAAQ2G,GAEpB,IAAK,MAAM1C,KAAMmvB,OACuC7iB,IAAlDvK,GAAYW,EAAO1C,EAAGiC,UAAMqK,EAAWnK,UACrBmK,IAAhBtM,EAAG8vB,UAELztB,GAAYwtB,EAAQ7vB,EAAGiC,KAAMjC,EAAG8vB,SAAU3tB,GAC1CytB,GAAO,GACE5vB,EAAGQ,OAASqrB,GAASO,aAAepsB,EAAGQ,OAASqrB,GAASQ,KAC7D7vB,MAAMC,QAAQsF,GAAYW,EAAO1C,EAAGiC,UAAMqK,EAAWnK,KACxDE,GAAYwtB,EAAQ7vB,EAAGiC,KAAM,GAAIE,GAE1BnC,EAAGQ,OAASqrB,GAASS,SAC9BjqB,GAAYwtB,EAAQ7vB,EAAGiC,KAAMkD,MAAQY,OAAO/F,EAAG+F,QAAUlE,IAAqBM,GACrEnC,EAAGQ,OAASqrB,GAASW,WAC9BnqB,GAAYwtB,EAAQ7vB,EAAGiC,KAAMkD,MAAQY,OAAO/F,EAAG+F,QAAUlE,IAAqBM,GAC9EE,GAAYwtB,EAAQ7vB,EAAGsL,MAAOnG,MAAQY,OAAO/F,EAAG+F,QAAUlE,IAAqBM,IACtEnC,EAAGQ,OAASqrB,GAASU,MAC9BlqB,GAAYwtB,EAAQ7vB,EAAGiC,KAAMkD,MAAQY,OAAO/F,EAAG+F,QAAUjE,IAAqBK,IAKhFytB,IACFnB,EAAYoB,GACZlB,GAAqB,GACvB,GACC,CAACQ,IAoKF9uB,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAkB,CAAE,CAACA,IAAwB+tB,IAAW/qB,MAAO,CAAEhC,YAC/EsB,GAASxC,EAAAA,cAAA,UAAKwC,IACfoa,GACA5c,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKC,OAAQ,CAAC,EAAG,IACdkL,EAAQzZ,IAAIga,GACZtvB,GAAYC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKye,KAAK,QAAQthB,IAGlC6c,GACC5c,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACG8uB,EAAQzZ,KAAK1V,QACIsM,IAAZtM,EAAGQ,KAEHH,EAAAA,cAAA,MAAIzB,IAAKoB,EAAGpB,IAAK0B,UAAWC,IAC1BF,EAAAA,cAAA,MAAI0vB,aAAqBzjB,IAAZtM,EAAGQ,KAAqB,EAAI,GACvCH,EAAAA,cAAA,OAAKkD,MAAO,CAAEsB,gBAAiB7E,EAAGgF,QAAUhF,EAAG2C,SAOrDtC,EAAAA,cAAA,MAAIzB,IAAKoB,EAAGpB,KACVyB,EAAAA,cAAA,UAAKL,EAAG2C,OACRtC,EAAAA,cAAA,UACEA,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKC,OAAQ,CAAC,EAAG,IACdyL,EAAa3zB,GAAAA,GAAC,CAAC,EACXiE,GAAE,IACL2C,WAAO2J,EACPvJ,KAAM,eAUrBsrB,GACDhuB,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKC,OAAQ,CAAC,EAAG,IACf5jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,OACEkD,MAAO,CACLysB,OAAQ,oBACRnrB,gBAAiB,UACjBorB,WAAY,UACZC,SAAU,GACVzO,QAAS,EACT1Q,UAAW,GACXof,WAAY,aAGbC,KAAKC,UACJ7zB,MAAMC,QAAQ4xB,GACViC,OAAOC,KAAK7tB,GACTtE,QAAQihB,GAAMgP,EAAMxjB,SAASwU,KAC7B3f,QAAO,CAAC8wB,EAAGnR,KAEVmR,EAAEnR,GAAK3c,EAAM2c,GACNmR,IACN,CAAC,GACN9tB,EACJ,KACA,MAQhB,CAEAsa,GAAUpQ,aAAe,CACvByhB,OAAO,EACPC,QAAQ,EACRzrB,MAAO,KACPJ,KAAM,SACNlB,MAAO,OACP0b,OAAO,EACPsR,aAAc,KACdpsB,OAAO,GAGT6a,GAAUtb,UAAY,CACpB2sB,MAAO1sB,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,QAAkBA,KAAAA,UAC9D2sB,OAAQ3sB,KAAAA,KACRkB,MAAOlB,KAAAA,OACPc,KAAMd,KAAAA,OACNJ,MAAOI,KAAAA,OACPsb,MAAOtb,KAAAA,KACPwb,KAAMxb,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,GAAGC,YAAYA,WACxDc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3Bsb,cAAevb,KAAAA,KAAeC,WAC9B2sB,aAAc5sB,KAAAA,KACdQ,MAAOR,KAAAA,MAGT,YCpeA,IAAgB,WAAa,oBAAoB,UAAY,mBAAmB,OAAS,gBAAgB,KAAO,cAAc,MAAQ,eAAe,KAAO,cAAc,OAAS,gBAAgB,YAAc,qBAAqB,KAAO,cAAc,QAAU,iBAAiB,GAAK,YAAY,UAAY,mBAAmB,UAAY,mBAAmB,OAAS,gBAAgB,MAAQ,eAAe,eAAiB,wBAAwB,YAAc,qBAAqB,QAAU,iBAAiB,aAAe,sBAAsB,UAAY,mBAAmB,MAAQ,eAAe,MAAQ,eAAe,UAAY,mBAAmB,gBAAgB,uBAAuB,mBAAmB,0BAA0B,cAAgB,uBAAuB,eAAiB,wBAAwB,aAAe,sBAAsB,IAAM,aAAa,MAAQ,gBC6I12B,MCnIM8uB,GAAc,sEAyB3B,SAASC,IAAiB,YAAEC,EAAW,cAAEC,EAAa,YAAEC,IACtD,MAAOxd,EAAUC,IAAe7O,EAAAA,EAAAA,UAAS,IAClCjJ,EAAMs1B,IAAWrsB,EAAAA,EAAAA,UAAS,OAE1BssB,EAAQC,IAAavsB,EAAAA,EAAAA,WAAS,IAC9BwsB,GAAejiB,GAAa+hB,GAAUN,KACtChgB,GAAUzB,GAAaiiB,GA9BH,uEAgCrBC,GAAWzd,EAAAA,EAAAA,QAAO,MAClB0d,GAAQ1d,EAAAA,EAAAA,QAAO,MAEf2d,EAAa90B,UACbu0B,EAAYQ,WA3BFA,EAACC,EAAWC,EAAe,MAC3CD,EAAUzN,QAAQ2N,SAASC,IACzB,IAAIC,EAAkB,EACtBD,EAAOE,SAAS,CAAEC,cAAc,IAASC,IACvCH,EAAkBvO,KAAK5F,IACrBmU,EACAH,EACAM,EAAK/lB,MAAQ+lB,EAAK/lB,MAAMuC,WAAW1D,OAAS,EAC7C,IAGH8mB,EAAOlwB,MAAQmwB,EAAkB,CAAC,GAClC,EAgBEL,CAAUF,EAAM/c,SAGlB8c,EAAS9c,QAAQ0d,KAAKC,cAAc/1B,MAAMg2B,IAExCC,OACE,IAAIC,KAAK,CAACF,GAAS,CAAExxB,KAAM,6BAC3B,GAAGqwB,EAAYpY,iBAIjB0Z,YAAW,KACTvB,GAAe,GACd,IAAK,GACR,EAGEwB,EAAW91B,UACf,IAAKq0B,EAAa,OAElB,MAAM10B,QAAe40B,EAAYwB,YAC/Bn0B,EACA2yB,EAAYyB,YA9DK,GA+DjBzB,EAAYzyB,OACZyyB,EAAYxyB,MACZwyB,EAAYvyB,SACZuyB,EAAYtyB,UACZsyB,EAAYryB,aAGdsyB,EAAQ70B,EAAO,EAGXs2B,EAAgBj2B,UAEpB40B,EAAS9c,QAAU,IAAIoe,QAAQC,SAC/BvB,EAAS9c,QAAQse,QAAU,IAAIzH,KAC/BiG,EAAS9c,QAAQue,SAAW,IAAI1H,KAGhCkG,EAAM/c,QAAU8c,EAAS9c,QAAQwe,aAAa/B,EAAYgC,SAG1D,MAAMC,EAAe,IAChBjC,EAAYkC,cAAclP,WACzBgN,EAAYmC,oBAAoBnP,SAAW,IAE9CzlB,QAAQ8lB,IAASA,EAAI+O,YACrBvd,KAAI,CAACwO,EAAKxZ,KACT,MAAMzI,EAAOijB,GAAahB,EAAIjiB,MACxBsB,EAAQ,CAAC,EAIf,OAHI2gB,EAAIvT,QACNpN,EAAM2vB,UAAY,CAAEC,WAAYjP,EAAIvT,QAE/B,CACL/R,IAAK,KAAKqD,KAAQyI,IAClB0oB,OAAQlP,EAAImP,eAAqC,iBAAbnP,EAAIhT,KAAoBgT,EAAIhT,KAAO,IACvE3P,MAAO,GACPgC,QACA+vB,OAAQpP,EAAIqP,aAAe7oB,EAC5B,IAEF8oB,MAAK,CAAChD,EAAGiD,IAAMjD,EAAE8C,OAASG,EAAEH,SAC/BnC,EAAM/c,QAAQyP,QAAUiP,EAGxBV,EAAS,EAAE,EAgDb,OA7CA1tB,EAAAA,EAAAA,YAAU,KACR,GAAIwsB,EAAS9c,SAAW5Y,EAAM,CAE5B,IAAK,MAAM2lB,KAAQ3lB,EAAKsf,KAAM,CAC5B,MAAMiJ,EAAM,CAAC,EACb,IAAI8M,EAAYkC,cAAclP,WAAagN,EAAYmC,oBAAoBnP,SAAW,IACnFzlB,QAAQuH,IAAOA,EAAEstB,YACjBzB,SAAQ,CAACtN,EAAKxZ,KACb,MAAMzI,EAAOijB,GAAahB,EAAIjiB,MAC9B8hB,EAAI,KAAK9hB,KAAQyI,KAAOmmB,EAAY6C,YAAYxP,EAAKjiB,EAAMkf,GAAM,EAAK,IAG1EgQ,EAAM/c,QAAQuf,OAAO5P,EACvB,CAGIvoB,EAAKsf,MAAMnQ,OAAS,GACtBynB,EAAS52B,EAAK0C,KAAO,GACrBoV,EAAYD,GAAY7X,EAAKsf,MAAMnQ,QAAU,KAE7CymB,GAEJ,IACC,CAAC51B,KAEJkJ,EAAAA,EAAAA,YAAU,KACJisB,IACFrd,EAAY,GACPwB,OAAO0d,QACPD,IADgBvB,GAAU,IAG1B,KACDL,IAEFO,EAAS9c,QAAU,KACrB,IAED,CAACuc,KAEJjsB,EAAAA,EAAAA,YAAU,KACJ+L,GACF8hB,GACF,GACC,CAAC9hB,IAGFpQ,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,gCACN2S,gBAAc,EACdoe,UAAU,EACVC,UAAU,EACVC,cAAc,EACd1e,KAAMub,EACNrb,SAAUsb,EACV9X,cAAe,CAAEvV,MAAO,CAAEge,QAAS,SACnCwS,kBAAmB,CAAE1wB,SAAUgQ,IAAa7X,GAAMw4B,OAClDzyB,MAAO,IACP0yB,UAAW,CAAEjjB,UAAW,WAExB3Q,EAAAA,cAAA6U,GAAAA,EAAA,CAAU1U,KAAK,SAASqU,QAAUrZ,EAAWupB,GAAa,IAAM1R,EAAY7X,EAAKw4B,MAAO,GAA/C,IAG/C,CAEAtD,GAAiB9jB,aAAe,CAC9B+jB,aAAa,GAGfD,GAAiBhvB,UAAY,CAC3BivB,YAAahvB,KAAAA,KACbivB,cAAejvB,KAAAA,KAAeC,WAC9BivB,YAAalvB,KAAAA,MAAgB,CAC3B8W,SAAU9W,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OACjDkxB,QAASlxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAChD2wB,WAAY3wB,KAAAA,OACZ0vB,UAAW1vB,KAAAA,KAEX+xB,YAAa/xB,KAAAA,KAAeC,WAC5BywB,YAAa1wB,KAAAA,KAAeC,WAC5BxD,OAAQuD,KAAAA,MAAgB,CAAC,GACzBtD,MAAOsD,KAAAA,QAAkBA,KAAAA,QACzBnD,YAAamD,KAAAA,QAAkBA,KAAAA,QAC/BrD,SAAUqD,KAAAA,OACVpD,UAAWoD,KAAAA,OACXoxB,cAAepxB,KAAAA,MAAgB,CAC7BkiB,QAASliB,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,MAE9CqxB,mBAAoBrxB,KAAAA,MAAgB,CAClCkiB,QAASliB,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,QAE7CC,YAGL,Y,ykBC7K2B,IAEpBsyB,GAAQ,SAAA71B,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,uCAAAP,OAAA,WAARgzB,GAAQtnB,aAAA,CAAA1L,OAAA,UAAAC,KAAA,UAAAC,YAAA,IAAAC,QAAA,YAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,kCACR2yB,GAAU,SAAA91B,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,ktBAAAP,OAAA,WAAVizB,GAAUvnB,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,gBAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,kCACV4yB,GAAY,SAAA/1B,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,otBAAAP,OAAA,WAkBZ,SAASmzB,GACdC,EACAl2B,EAAS,CAAC,EACVm2B,EAAS,CAAC,MAAO,GACjBC,EAAc,GACdr2B,EAAW,GACXs2B,EAAe,OAEf,MAAMC,EAAYC,KAAAA,8BAAuCvE,KAAKC,UAAUjyB,IAIxE,MAAO,GAAGk2B,IAHW,IAAIG,KAAgBt2B,OAAco2B,EAAO,MAC9C,IAAdA,EAAO,GAAW,IAAM,OACtBC,KAAeE,MAAa3F,EAAAA,GAAAA,IAAO,QAEzC,CAmBA,SAAS6F,IAAW,YAClBvC,EAAW,aACXwC,EAAY,cACZ9B,EAAa,gBACb+B,EAAe,aACfL,EAAY,UACZM,EAAS,UACTC,EAAS,WACTC,EAAU,YACVC,EAAW,aACXC,EAAY,WACZC,EAAU,SACVC,EAAQ,WACRC,EAAU,UACVC,EAAS,YACT/2B,EAAW,YACXg3B,EAAW,YACXC,EAAW,oBACXC,EAAmB,oBACnBC,EAAmB,mBACnBC,EAAkB,YAClBC,EAAW,oBACXC,EAAmB,YACnBjF,EAAW,kBACXkF,EAAiB,MACjB1H,IAEA,MAAMzU,GAAYC,EAAAA,GAAAA,KACZxc,GAAKoW,EAAAA,EAAAA,QAAO,MAEZuiB,GAAaC,EAAAA,GAAAA,MACZxnB,EAAKynB,IAAmBC,EAAAA,GAAAA,KAEzBC,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,MAGXC,EADKC,GAAAA,MAAkBH,EAASI,QACbjC,IAAiB,IAEnCkC,EAAYC,IAAiBnyB,EAAAA,EAAAA,UAAS,CAAC,IACvCoyB,EAAiBC,IAAsBryB,EAAAA,EAAAA,WAAS,IAGhDsyB,EAAcC,IAAmBvyB,EAAAA,EAAAA,UAAS,CAAC,IAE3CwyB,EAAcC,IAAmBzyB,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KACpEy0B,EAAaC,IAAkB3yB,EAAAA,EAAAA,WAAS,IACxC4yB,EAAWC,IAAgB7yB,EAAAA,EAAAA,UAAS,KACpCksB,GAAa4G,KAAkB9yB,EAAAA,EAAAA,WAAS,IAG7C+yB,GACAr5B,GACAs5B,GACAn5B,GACAC,GACAy0B,GACA50B,GACAs5B,GACAr5B,GACAs5B,IFvIG,SACL5E,EACA+B,EACAG,EACAI,EACAmB,EACAxB,GAEA,MAAO72B,EAAUy5B,IAAenzB,EAAAA,EAAAA,UAASuwB,EAAU72B,WAC5Cs5B,EAAYI,IAAiBpzB,EAAAA,EAAAA,UAAS,IACtCnG,EAAUw5B,IAAerzB,EAAAA,EAAAA,UAAS,KAClClG,EAAWw5B,IAAgBtzB,EAAAA,EAAAA,UAAS,IACpCuuB,EAAoBgF,IAAyBvzB,EAAAA,EAAAA,UAAS,OACtDpG,EAAO45B,IAAYxzB,EAAAA,EAAAA,UAAS,KAC5B+yB,EAAWU,IAAgBzzB,EAAAA,EAAAA,UAAS,KACpCrG,EAAQwe,IAAanY,EAAAA,EAAAA,UAASwwB,IAC9ByC,EAASS,IAAc1zB,EAAAA,EAAAA,UAAS,KAChCkzB,EAAuBS,IAA4B3zB,EAAAA,EAAAA,UAAS,IAC5D4zB,EAAQC,IAAa7zB,EAAAA,EAAAA,UAAS,IA6DrC,OA3DAC,EAAAA,EAAAA,YAAU,KACR,MAAM6zB,EAAW/B,EAAcnvB,MAAM,KACrC6wB,EAAa,cAAcK,EAAStd,KAAK,QAEzCsd,EAAS,IAAMX,EAAYljB,SAAS6jB,EAAS,GAAI,KACjDA,EAAS,IAAMV,EAAcnjB,SAAS6jB,EAAS,GAAI,KAE/CA,EAAS,IACXT,EAAYS,EAAS,IACrBR,EAA6B,MAAhBQ,EAAS,GAAa,GAAK,KAExCT,EAAYzC,EAAS,IACrB0C,EAAa1C,EAAS,KAGxB,IAAImD,EAAa,KACbh8B,MAAMC,QAAQq4B,IAAoBA,EAAgBnqB,OAAS,IACzD4tB,EAAS,KAAIC,EAAa1D,EAAgBxd,MAAM3X,GAAMA,EAAEM,KAAOs4B,EAAS,MAEvEC,IAAYA,EAAa1D,EAAgB,KAEhDkD,EAAsBQ,GAGtBL,EAAWI,EAAS,IAAM,IAE1B,IAAIE,EAAUxD,EACd,GAAIsD,EAAS,GACX,IACEE,EAAUrI,KAAK9lB,MAAMqqB,KAAAA,kCAA2C4D,EAAS,IAC3E,CAAE,MAAO3N,GAEPzuB,QAAQC,MAAMwuB,EAChB,CAEFhO,EAAU6b,GAGV,IAAIC,EAAS,IAAK3F,EAAc10B,OAAS,IACzC00B,EAAclP,QAAQ2N,SAAStN,IACF,MAAvBA,EAAIjiB,KAAKgc,OAAO,IAAYya,EAAOnN,KAAKrH,EAAIjiB,KAAKkjB,UAAU,GAAG,IAEhEqT,GAAcA,EAAWv4B,KAC3By4B,EAAS,IAAIA,KAAYF,EAAWn6B,OAAS,IAC7Cm6B,EAAW3U,QAAQ2N,SAAStN,IACC,MAAvBA,EAAIjiB,KAAKgc,OAAO,IAAYya,EAAOnN,KAAKrH,EAAIjiB,KAAKkjB,UAAU,GAAG,KAKtEmT,EAAUC,EAAS,IAGC,MAAhBA,EAAS,GAAYH,EAAyB,GAC7CA,EAAyB,GAE9BH,EAASS,EAAO,GACf,CAAClC,IAEG,CACLgB,EACAr5B,EACAs5B,EACAn5B,EACAC,EACAy0B,EACA50B,EACAs5B,EACAr5B,EACAs5B,EACAU,EAEJ,CE6CMM,CACF5F,EACA+B,EACAG,EACAI,EACAmB,EACAxB,IAGK4D,GAAYC,KAAiBp0B,EAAAA,EAAAA,UAAS,CAC3CqW,KAAM,GACNkZ,MAAO,IAGH8E,IAAWrlB,EAAAA,EAAAA,QAAO,MAClBslB,IAAcC,EAAAA,GAAAA,GAAUF,IAExBG,IAAexlB,EAAAA,EAAAA,QAAO,OACrBylB,GAAYC,KAAiB10B,EAAAA,EAAAA,UAAS,CAC3CxE,IAAK,EACLgC,KAAM,GACNS,MAAO,CAAC,EACR02B,WAAW,EACXlmB,SAAS,KAKJmmB,GAAeC,KAAoB70B,EAAAA,EAAAA,UAAS,CAAC,GAC9C80B,IAAmBnK,EAAAA,EAAAA,UAAQ,IAAMkB,OAAOC,KAAK8I,IAAe1uB,QAAQ,CAAC0uB,KAI3E,SAASG,KACPL,GAAap9B,GAAAA,GAAC,CAAC,EAAIm9B,IAAU,IAAEhmB,SAAS,IAC1C,CAMA,SAASumB,GAAcx5B,EAAIgC,EAAMK,EAAKo3B,GACpC,MAAMvc,EAAOuY,EACVt3B,QAAQuB,GAAMA,EAAEsC,OAASA,IACzByT,KAAK/V,GAAC5D,GAAAA,GAAA,GACF4D,GAAC,IACJM,IAAI8uB,EAAAA,GAAAA,MACJhsB,KAAM,GACNY,WAAW,MAGK,IAAhBwZ,EAAKxS,QAA4B,UAAZ+uB,GACvBvc,EAAKoO,KAAK,CACRtrB,IAAI8uB,EAAAA,GAAAA,MACJhsB,KAAM,GACNY,WAAW,EACXnD,KAAMqrB,GAASK,OACfjqB,SAIJk3B,GAAc,CACZjmB,SAAS,EACTjT,KACAgC,OACAm3B,WAAW,EACXjc,OACAza,MAAO,CACL,CAACT,GAAOK,IAGd,CAEA,SAASq3B,KACPL,GAAiB,CAAC,GACd3D,GAAqBA,EAAoB,CAAC,GAE9C6D,IACF,EA/CAI,EAAAA,GAAAA,GAAgBL,GAAmB,EAAG,qCAMtCM,EAAAA,GAAAA,GAAO,UAAU,KACfL,IAAoB,IA0CtB,MAAMM,GAAwBA,KAC5B,MAAMC,EAAGh+B,GAAAA,GAAA,GACJs9B,IAAa,IAChB,CAAC,GAAGH,GAAWj5B,MAAMi5B,GAAWj3B,QAASi3B,GAAWx2B,MAAMw2B,GAAWj3B,QAEvEq3B,GAAiBS,GACbpE,GAAqBA,EAAoBoE,EAAKJ,IAElDH,IAAoB,EAchBQ,GAA0BA,CAAC5sB,EAAGzH,KAClCwzB,GAAap9B,GAAAA,GAAC,CAAC,EACVm9B,IAAU,IACbE,UAAWzzB,EACXjD,MAAK3G,GAAA,GACAqR,KAEL,GAGG6sB,GAAaC,KAAkBz1B,EAAAA,EAAAA,UAAS,OAC/C01B,EAAAA,GAAAA,IACE,KACED,GAAe,KAAK,GAEtBD,GAAc,IAAO,MAMvB,MAAM7H,GAAW91B,UACf86B,GAAe,GACf,IAAIn7B,QAAeo2B,EACjBoF,GACAt5B,GACAC,GACAC,GACAC,GACAC,GACAC,GAEF,GAAIq2B,EAAc,CAChB,MAAMuF,EAAavF,EAAa54B,GAC5Bm+B,IAAYn+B,EAASm+B,EAC3B,CAEAvB,GAAc,CACZ/d,KAAM7e,EAAO6e,KACbkZ,MAAO/3B,EAAO+3B,QAEhBoD,GAAe,GAGXn7B,EAAO4E,MAAQxD,EAAG+W,SACpB/W,EAAG+W,QAAQvW,KAAK,YAAa5B,EAAO4E,KACtC,EA8FF,SAASw5B,GAAiBC,EAAW,CAAC,EAAGp0B,GAAU,GACjD,IAAK0T,EAAW,OAGhB,MAAM8a,EAAYC,KAAAA,8BAChBvE,KAAKC,UAAUiK,EAASl8B,QAAUA,KAG9Bm8B,EAAe,GAAGD,EAASn8B,UAAYA,MAAYm8B,EAAS7C,YAAcA,MAC9E6C,EAASh8B,UAAYA,MACmB,KAArCg8B,EAAS/7B,WAAaA,IAAmB,IAAM,OAClD+7B,EAASE,UAAaxH,IAAsBA,GAAmB/yB,IAAO,MACpEy0B,MAAa3F,EAAAA,GAAAA,IAAO,WACaziB,IAAnCguB,EAAS3C,sBACL2C,EAAS3C,sBACTA,KAKA8C,EAAKhE,GAAAA,UAAqB16B,GAAAA,GAAC,CAAC,EAC7B06B,GAAAA,MAAkBH,EAASI,SAAO,IACrC,CAACjC,GAAe8F,KAElBnE,EAAQlwB,EAAU,UAAY,QAAQ,IAAIu0B,IAC5C,EAtCA/1B,EAAAA,EAAAA,YAAU,KACJ8yB,IA7CmBl7B,WACvB,GAAIu6B,EAAiB,OAAOzE,KAG5B,SAASsI,EAAgBC,EAAO14B,EAAM6Y,EAAM8f,EAASC,GAEnDF,EAAM14B,GAAQ6Y,EAAKpb,QAAO,CAAC8wB,EAAG7wB,KAE5B6wB,EAAE7wB,EAAEi7B,IAAYj7B,EAAEk7B,GACXrK,IACN,CAAC,EACN,CATA4G,GAAe,GAYf,MAAMuD,EAAQ,CAAC,EAEfr+B,eAAew+B,EAAYjX,GACzB,IAAK,MAAMK,KAAOL,EAChB,GAAIrnB,MAAMC,QAAQynB,EAAI6W,aAAyC,IAA1B7W,EAAI6W,WAAWpwB,OAAc,CAChE,MAAM1I,EAAOijB,GAAahB,EAAIjiB,OACvB0M,EAAKisB,EAASC,GAAW3W,EAAI6W,WACpC,GAAIv+B,MAAMC,QAAQkS,GAChB+rB,EAAgBC,EAAO14B,EAAM0M,EAAKisB,EAASC,OACtC,CAEL,MAAM/f,QAAanM,IACnB+rB,EAAgBC,EAAO14B,EAAM6Y,EAAM8f,EAASC,EAC9C,CACF,CAEJ,CAGA,SAFMC,EAAY/H,EAAclP,SAE5BiR,EACF,IAAK,MAAMkG,KAAMlG,QAETgG,EAAYE,EAAGnX,SAIzBiT,EAAmB6D,GACZvI,IAAU,EAMf6I,EACF,GACC,CAACzD,MAEJ9yB,EAAAA,EAAAA,YAAU,KACJ2yB,IAAcj5B,GAAO88B,UACvB5D,EAAal5B,GAAO88B,SACtB,GACC,CAAC98B,GAAO88B,YA8BXx2B,EAAAA,EAAAA,YAAU,KACJrH,EAAG+W,SACL/W,EAAG+W,QAAQvW,KAAK,iBAAkBO,GACpC,GACC,CAACf,EAAG+W,QAASsjB,MAGhBhzB,EAAAA,EAAAA,YAAU,KACJmxB,GAAasF,iBACftF,EAAYsF,gBAAgB/8B,GAC9B,GACC,CAACs5B,MAGJhzB,EAAAA,EAAAA,YAAU,KACJoxB,IAEFA,EAAoB,eAAe,KACjCuE,GAAiB,CAAC,GAAG,EAAK,IAI5BvE,EAAoB,cAAe/Y,IACjCsd,GAAiB,CACfj8B,OAAMrC,GAAA,GACDghB,GAEL0a,WAAY,GACZ,IAEN,GACC,CAAC3B,IFnVC,SACLp4B,EACAD,EACAK,EACAs9B,GAEA,MAAMC,GAAgB5nB,EAAAA,EAAAA,WAGtB/O,EAAAA,EAAAA,YAAU,KACR22B,EAAcjnB,QAAUgnB,CAAQ,GAC/B,CAACA,KAGJ12B,EAAAA,EAAAA,YAAU,KACR,SAAS42B,EAAmB5+B,GAC1B2+B,EAAcjnB,QAAQ1X,EACxB,CAGA,OADAgB,GAAeD,EAAmBC,EAAa49B,GACxC,KACL59B,GAAeI,EAAqBJ,EAAa49B,EAAmB,CACrE,GACA,CAAC59B,GACN,CE6TE69B,CAAuBhG,EAAU,GAAIA,EAAU,GAAIA,EAAU,IAAK74B,IAChE,MAAM8+B,EAAajG,EAAU,IAAM,MAEnC,GAAe,WAAX74B,EAAIqH,GAAiB,CAEvB,MAAMoT,EAAMyhB,GAAW9d,KAAK1D,WAAWzX,GAAMA,EAAE67B,KAAgB9+B,EAAIuD,KAC/DkX,GAAO,IACT+iB,GAAex9B,EAAIuD,IACnB44B,GAAa98B,GAAAA,GAAC,CAAC,EACV68B,IAAU,IACb9d,KAAM,IACD8d,GAAW9d,KAAKzD,MAAM,EAAGF,GAAIpb,GAAAA,GAAA,GAE3B68B,GAAW9d,KAAK3D,IAChBza,EAAIlB,SAENo9B,GAAW9d,KAAKzD,MAAMF,EAAM,OAIvC,MAAO,GAAe,WAAXza,EAAIqH,IAxKjBzH,eAA0Bm/B,GACxB,MAAMD,EAAajG,GAAYA,EAAU,IAAc,MACjDpe,EAAMyhB,GAAW9d,KAAK1D,WAAWzX,GAAMA,EAAE67B,KAAgBC,IAC/D,GAAItkB,GAAO,EAAG,CACZ,MAAMgK,EAAOyX,GAAW9d,KAAK3D,IAGvB,KAAE2D,EAAI,MAAEkZ,SAAgB3B,EAC5B,EACA,EACA,CACEqJ,IAAK,CAACva,EAAKua,MAEbr9B,GACAC,GACAC,GACAC,GAGF,GAAc,IAAVw1B,EAAa,CACfkG,GAAeuB,GACf,MAAOjgC,GAAQsf,EACf+d,GAAa98B,GAAAA,GAAC,CAAC,EACV68B,IAAU,IACb9d,KAAM,IAAI8d,GAAW9d,KAAKzD,MAAM,EAAGF,GAAM3b,KAASo9B,GAAW9d,KAAKzD,MAAMF,EAAM,MAElF,CACF,CACF,CA+IIwkB,CAAWj/B,EAAIuD,SACV,GAAe,WAAXvD,EAAIqH,GAAiB,CAC9B,MAAMoT,EAAMyhB,GAAW9d,KAAK1D,WAAWzX,GAAMA,EAAE67B,KAAgB9+B,EAAIuD,KAC/DkX,GAAO,GACT0hB,GAAa98B,GAAAA,GAAC,CAAC,EACV68B,IAAU,IACb9d,KAAM,IAAI8d,GAAW9d,KAAKzD,MAAM,EAAGF,MAASyhB,GAAW9d,KAAKzD,MAAMF,EAAM,MAG9E,KAAsB,QAAXza,EAAIqH,IACbm2B,GAAex9B,EAAIuD,IACnB44B,GAAa98B,GAAAA,GAAC,CAAC,EACV68B,IAAU,IACb9d,KAAM,CAAA/e,GAAA,GAAMW,EAAIlB,SAAWo9B,GAAW9d,UAEpB,YAAXpe,EAAIqH,KAEbm2B,GAAex9B,EAAIuD,IAEnBmyB,KACF,IAGF,MAAMwJ,GAAqBA,CAACC,EAAIC,KAC9BzB,GAAiB,CACf5C,WAAYt5B,KAAa29B,EAAQ,EAAID,EACrC19B,SAAU29B,GACV,EAGEC,GAAmBA,EAAGn9B,UAC1By7B,GAAiB,CACfG,SAAU57B,GACV,EAWJ,MAAM4c,GAAYlZ,IAChB+3B,GAAiB,CACfj8B,OAAMrC,GAAAA,GAAA,GACDqC,IAAM,IACT88B,SAAU54B,QAAOgK,IAEnBmrB,WAAY,GACZ,EAGEuE,GAAeA,KACnB9E,EAAgB,CACdhkB,SAAS,EACTxQ,MAAOtE,IACP,EA2BE69B,GAAgBA,KAGpB,MAAMC,EAAM,CAAC,EACT1/B,MAAMC,QAAQy4B,IAAgBA,EAAYvqB,OAAS,IACjDsqB,EAAWC,EAAY,MAAKgH,EAAIhH,EAAY,IAAMD,EAAWC,EAAY,KACzED,EAAWC,EAAY,MAAKgH,EAAIhH,EAAY,IAAMD,EAAWC,EAAY,MAG/EmF,GAAiB,CACfj8B,OAAQ89B,EACRzE,WAAY,EACZE,sBAAuB,GACvB,EAGEwE,GAAmBA,EAAGv9B,UAC1B,MAAMmN,EAAQnN,EAAIyI,MAAM,KACpB0E,EAAMpB,QAAU,GAClB0vB,GAAiB,CACfj8B,OAAMrC,GAAAA,GAAA,GACDqC,IAAM,IACT,CAAC82B,EAAY,IAAKnpB,EAAM,GACxB,CAACmpB,EAAY,IAAKnpB,EAAM,KAE1B0rB,WAAY,GAEhB,EAGI2E,GAAkBA,KACtB7E,IAAe,EAAK,GAQtB7yB,EAAAA,EAAAA,YAAU,KACJkxB,IACFv4B,EAAG+W,QAAU,IAAI9W,KAEjBD,EAAG+W,QAAQxW,YAAY,cAAemf,IACpCsd,GAAiB,CACfj8B,OAAMrC,GAAA,GACDghB,GAEL0a,WAAY,GACZ,IAGJp6B,EAAG+W,QAAQxW,YAAY,eAAe,KAEpCy8B,GAAiB,CAAC,GAAG,EAAK,IAI5BzE,EAAmBv4B,EAAG+W,UAEjB,KACL/W,EAAG+W,SAASioB,oBAAoB,IAEjC,IAEH,MAAMC,GAAyBA,KAC7B,IAAIJ,EAAGngC,GAAA,GACFg7B,GAEAY,KACHX,EAAej7B,GAAC,CAAC,EAAIqC,KACrB89B,EAAM,CACJR,IAAKpL,OAAOC,KAAKoG,GACdv4B,QAAQuB,GAAMg3B,EAAWh3B,KACzB+V,KAAK/V,GAAmC,WAA5Bo2B,GAAmBv1B,KAAoBb,EAAI+U,SAAS/U,EAAG,QAI1E06B,GAAiB,CACfj8B,OAAQ89B,EACRzE,WAAY,EACZE,sBAAuBA,GAAwB,EAAI,GACnD,EA4NJ,SAAS4E,GAAcrY,GACrB,IAAKA,EAAIsP,KAAM,OAAO,KAEtB,MAAMgJ,EAAUtX,GAAahB,EAAIjiB,MACjC,IAAIqB,EAAOjD,EAAAA,cAAC6zB,GAAQ,MAQpB,OAPIsI,IAAYl+B,KAEZgF,EADgB,IAAd/E,GACK8B,EAAAA,cAAC8zB,GAAU,MAEX9zB,EAAAA,cAAC+zB,GAAY,OAItB/zB,EAAAA,cAAA,UACEG,KAAK,SACLC,QAASA,KA9Wf,IAAsBwB,EACpBo4B,GAAiB,CACf/7B,SAFkB2D,EA8WYu6B,EA3W9Bj+B,UAAWD,KAAa2D,GAAoB,EAAb1D,GAAiB,EAChDk5B,WAAY,GA0W2B,EACrCn3B,UAAW6C,KAAG,CAAE,CAAC5C,GAAOk8B,IAAKD,IAAYl+B,MAExCgF,EAGP,CAEA,MAAMo5B,GAAiBA,EAAG14B,aACxB,MAAM24B,EAAM,CAAC,EACb/D,GAAW9d,KAAK0W,SAASrQ,IACvBwb,EAAIxb,EAAK4U,EAAkB9zB,MAAQ,QAAU+B,EAAOC,OAAO,IAE7D2yB,EAAa76B,GAAAA,GAAC,CAAC,EACV46B,GACAgG,GACH,EAGEC,GAAeA,KACnB,IAAK,MAAMzb,KAAQyX,GAAW9d,KAC5B,GAAI6b,EAAWxV,EAAK4U,EAAkB9zB,MAAQ,QAAS,OAAO,EAEhE,OAAO,CAAK,EA4Bd,SAASyxB,GAAYxP,EAAKjiB,EAAMkf,EAAM0b,GAAW,GAC/C,IAAIv6B,EAAMsB,KAAGud,EAAMlf,GAGnB,MAAM66B,EAAgB,GAAG3b,EAAKua,OAAOz5B,IAwDrC,YAvDqCqK,IAAjC+sB,GAAcyD,KAChBx6B,EAAM+2B,GAAcyD,KAIjB5Y,EAAI6Y,QAAU7Y,EAAI6W,YAAclE,EAAgB50B,KAC/CzF,MAAMC,QAAQ6F,GAChBA,EAAMA,EAAIoT,KAAK/V,IACb,MAAM+Z,EAAImd,EAAgB50B,GAAMtC,GAChC,YAAa2M,IAANoN,EAAkBA,EAAI,EAAE,KAGjCpX,EAAMu0B,EAAgB50B,GAAMK,QAChBgK,IAARhK,IAAmBA,EAAM,MAKhB,UAAb4hB,EAAI1jB,OACQ8B,EAAVu6B,EAAgBv6B,EAAM,IAAM,GACrBA,EAAMjC,EAAAA,cAACsV,GAAAA,EAAa,MAAM,IAEtB,SAAbuO,EAAI1jB,MAAmB8B,IACzBA,EAAM6C,IAAM7C,GAAKyD,OAAOme,EAAIne,QAAU,wBAIrB,iBAARzD,QAAkCgK,IAAd4X,EAAIe,QACjC3iB,EAAMyiB,GAAYziB,EAAK4hB,EAAIe,SAIxB4X,GAAY3Y,EAAI6Y,OACnBz6B,EAAM4hB,EAAI6Y,OAAO5b,EAAM7e,EAAKu0B,EAAgB50B,IACnC46B,GAAY3Y,EAAI8Y,cACS16B,EAAV,WAApB4hB,EAAI8Y,YAAgC9Y,EAAI6Y,OAAO5b,EAAM7e,GAC9C4hB,EAAI8Y,YAAY7b,EAAM7e,IAG/B4hB,EAAI+Y,SAAmB,IAAR36B,IACjBA,EAAM,IAGJ9F,MAAMC,QAAQ6F,GAChBA,EAAMA,EAAIoT,KAAI,CAAC/V,EAAG+K,IAChBrK,EAAAA,cAAA,QAAMzB,IAAK8L,EAAGpK,UAAWC,GAAO28B,OAC7Bv9B,KAGiB,WAAbukB,EAAI1jB,OACRq8B,GAA2B,iBAARv6B,IACtBA,EAAMA,EAAI4f,mBAIT2a,EAGc,iBAARv6B,GACQ,iBAARA,EADyBA,EAEpC,MAAIA,EAA0B,GAGvB66B,OAAO76B,GARQA,CASxB,CAEA,SAAS86B,GAAUC,EAASlc,EAAMmc,GAChC,IAAKD,EAAS,OAAO,KACrB,MAAMtZ,EAAM,GAEZ,IAAI5M,EAAM,EACV,IAAK,MAAM+M,KAAOmZ,EAAQxZ,QAAS,CACjC,IAAItgB,EAAQ,CAAC,EACb,MAAMtB,EAAOijB,GAAahB,EAAIjiB,MACxBK,EAAMoxB,GAAYxP,EAAKjiB,EAAMkf,GAEnC,GAAI4R,EAAcwK,SAAU,CAC1B,MAAMC,EAAKzK,EAAcwK,SAASpc,GAC9Bqc,IACFj6B,EAAKxH,GAAAA,GAAA,GACAwH,GACAi6B,GAGT,CAmBA,GAhBItZ,EAAI3gB,QACNA,EAAKxH,GAAAA,GAAA,GACAwH,GACA2gB,EAAI3gB,SAIP2gB,EAAI3iB,MAAQ,GAEL2iB,EAAI3iB,SADbgC,EAAMhC,MAAQ2iB,EAAI3iB,OAIhB2iB,EAAIvT,QACNpN,EAAMyN,UAAYkT,EAAIvT,OAGpBuT,EAAIuZ,UAAW,CACjB,MAAMC,EAAMhpB,SAASpS,EAAK,IACtBo7B,EAAM,EAAGn6B,EAAMyB,MAAQ,QAClB04B,EAAM,IAAGn6B,EAAMyB,MAAQ,MAClC,CAGA,IAAI24B,EAUJ,SAASC,EAAU75B,GACjBA,EAAGsO,iBACC6R,EAAIzjB,QACNyjB,EAAIzjB,QAAQ0gB,EAAMmc,EAAQl/B,IACjBk3B,GACTA,EAAWnU,EAAMmc,EAAQl/B,GAE7B,CAhBI8lB,EAAI5jB,YAEJq9B,EAD2B,mBAAlBzZ,EAAI5jB,UACG4jB,EAAI5jB,UAAU6gB,EAAM7e,GAEpB4hB,EAAI5jB,WAcxB,MAAMk7B,EAAajG,GAAYA,EAAU,IAAc,MACvD,GAAKrR,EAAIoK,OAaF,CACL,MAAMuP,EAAexE,GAAc,GAAGlY,EAAKua,OAAOz5B,KAElD8hB,EAAIwH,KACFlrB,EAAAA,cAAA,MACEzB,IAAK,GAAGqD,KAAQo7B,EAAQp9B,MAAMkX,MAC9B5T,MAAOA,EACPjD,UAAW6C,KAAG,CAAE,CAAC5C,GAAOu9B,QAAS5Z,EAAI4Z,QAAUv9B,GAAOw9B,eAAgBJ,EAAe,CACnF,CAACp9B,GAAOk8B,IAAKxC,KAAgB9Y,EAAKqa,MAGpCn7B,EAAAA,cAAA,OACEpC,KAAK,SACL+/B,SAAU,EACV19B,UAAW6C,KACT5C,GAAO09B,YACP,CACE,CAAC19B,GAAO29B,SACNhF,GAAWhmB,SAAWiO,EAAKua,MAAQxC,GAAWj5B,IAAMgC,IAASi3B,GAAWj3B,MAE5E,CACE,CAAC1B,GAAOs9B,mBAAgCvxB,IAAjBuxB,IAG3Bp9B,QAAUsD,IACRA,EAAGsO,iBAEHonB,GAActY,EAAKua,IAAKz5B,EAAMK,EAAK4hB,EAAI1jB,KAAK,GAI7C8B,GAEF42B,GAAWhmB,SAAWiO,EAAKua,MAAQxC,GAAWj5B,IAAMgC,IAASi3B,GAAWj3B,MACvE5B,EAAAA,cAAA,OACEC,UAAWC,GAAO49B,UAClB1vB,IAAKwqB,GACL11B,MAAO,CAAEoe,YAAaoX,GAAYp5B,IAElCU,EAAAA,cAAC2c,GAAS,CACR7a,OAAK,EACLO,MAAOw2B,GAAWx2B,MAClBya,KAAM+b,GAAW/b,KACjBD,cAAe8c,KAEjB35B,EAAAA,cAAA,OAAKC,UAAWC,GAAO69B,OAQrB/9B,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAACyO,GAAAA,EAAY,MACnBrO,QAASq5B,GACTz2B,UAAW61B,GAAWE,WACvB,cAIH/4B,EAAAA,cAAA,UAAQG,KAAK,SAASF,UAAWC,GAAO89B,MAAO59B,QAAS+4B,IAAoB,OAOtF,MAlFEzV,EAAIwH,KACFlrB,EAAAA,cAAA,MACEzB,IAAK,GAAGqD,KAAQo7B,EAAQp9B,MAAMkX,MAC9B5T,MAAOA,EACP9C,QAASyjB,EAAIoa,aAAUhyB,EAAYsxB,EACnCt9B,UAAW6C,KAAG,CAAE,CAAC5C,GAAOu9B,QAAS5Z,EAAI4Z,QAAUH,EAAe,CAC5D,CAACp9B,GAAOk8B,IAAKxC,KAAgB9Y,EAAKqa,MAGpCn7B,EAAAA,cAAA,WAAMiC,IA0Ed,CAEA,OAAOyhB,CACT,CASA,SAASwa,KACP,OAAO3F,GAAW9d,KAAKpF,KAAI,CAACyL,EAAMmc,KAChC,IAAIkB,GAAgB,EAKpB,OAJIhiC,MAAMC,QAAQs4B,IAAmC,IAArBA,EAAUpqB,QACpCwW,EAAK4T,EAAU,MAAQA,EAAU,KAAIyJ,GAAgB,GAIzDn+B,EAAAA,cAAA,MAAIzB,IAAK,GAAGuiB,EAAKua,OAAO4B,IAAUh9B,UAAW6C,KAAG,CAAE,CAAC5C,GAAOw0B,WAAYyJ,KACnEzI,GACC11B,EAAAA,cAAA,MAAIzB,IAAI,WAAW0B,UAAWC,GAAOk+B,WACnCp+B,EAAAA,cAAA,SACEG,KAAK,WACLsD,SAAW8mB,GApBN8T,GAAG16B,UAAUmd,KAC9ByV,EAAa76B,GAAAA,GAAC,CAAC,EACV46B,GAAU,IACb,CAACxV,EAAK4U,EAAkB9zB,MAAQ,QAAS+B,EAAOC,UAChD,EAgB2By6B,CAAW9T,EAAGzJ,GAC/Bld,UAAW0yB,EAAWxV,EAAK4U,EAAkB9zB,MAAQ,WAI1Dm7B,GAAUrK,EAAe5R,EAAMmc,GAC/BtK,IAAsBoK,GAAUpK,GAAoB7R,EAAMmc,GACxD,GAGX,CAcA,OACEj9B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,GAAOo+B,YAtiBvBt+B,EAAAA,cAAA,OAAKC,UAAWC,GAAOq+B,UAAWnwB,IAAKA,GACpC6hB,OAAOC,KAAKoG,GAAYv4B,QAAQuB,GAAMg3B,EAAWh3B,KAAIgL,OAAS,GAC7DtK,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAOu+B,iBACvCz+B,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAgC,IAA1Bm3B,GAA8B,UAAY,UAChDr0B,KAAMjD,EAAAA,cAAC0+B,GAAAA,EAAkB,CAACC,aAAa,YACvCv8B,KAAK,QACLhC,QAAS67B,IACV,IACQhM,OAAOC,KAAKoG,GAAYv4B,QAAQuB,GAAMg3B,EAAWh3B,KAAIgL,SAKjEqoB,IAAsB8B,EAAgBnqB,OAAS,GAC9CtK,EAAAA,cAAA,OAAKC,UAAWC,GAAOs+B,QACrBx+B,EAAAA,cAAA4+B,EAAAA,EAAA,CACEC,QACE7+B,EAAAA,cAAA8+B,EAAAA,EAAA,CAAM1+B,QAASs7B,GAAkBqD,aAAc,CAACpM,IAAoB/yB,KACjE60B,EAAgBpf,KAAKwO,GACpB7jB,EAAAA,cAAA8+B,EAAAA,EAAME,KAAI,CAACzgC,IAAKslB,EAAIjkB,IAAKikB,EAAIhT,UAKnC7Q,EAAAA,cAAA+C,EAAAA,EAAA,CAAQX,KAAK,SACXpC,EAAAA,cAACi/B,GAAAA,EAAgB,MACjBj/B,EAAAA,cAACk/B,GAAAA,EAAY,SAMpBrJ,EAAgB30B,MAAQ,KACvB/C,GACgE,IAAhE8xB,OAAOC,KAAKoG,GAAYv4B,QAAQuB,GAAMg3B,EAAWh3B,KAAIgL,QACnDtK,EAAAA,cAAA,OAAKC,UAAWC,GAAOs+B,OAAQjgC,IAAI,UACjCyB,EAAAA,cAAA6M,GAAAA,EAAOsyB,OAAM,CACXn8B,SAAU8zB,EACVjX,QAAS9hB,GAAO88B,UAAY/D,EAC5B10B,KAAK,QACLoJ,YAAU,EACVN,YAAaiqB,EACbha,SAAUA,GACVjY,MAAO,CAAEk8B,SAAU,KACnB3zB,MAAOurB,EACPvzB,SAAWC,GAAOuzB,EAAavzB,EAAGC,OAAO8H,YAK9C+kB,GACDxwB,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,QAASjgC,IAAI,gBACrCyB,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,mBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQX,KAAK,QAAQa,KAAMjD,EAAAA,cAACq/B,GAAAA,EAAiB,MAAKj/B,QAAS27B,SAK9D3G,GACDA,EAAY/f,KAAI,CAAC4J,EAAI5U,IACnBrK,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,QAASjgC,IAAK,OAAO8L,KAC5C4U,EAAGhc,MACFjD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAOyc,EAAGhb,SACjBjE,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAM8e,EAAGqgB,QAAU,UAAY,UAC/Bl9B,KAAK,QACLa,KAAMgc,EAAGhc,KACT7C,QAAS6e,EAAG7e,QACZ4C,SAAUic,EAAGjc,YAIlBic,EAAG3c,OACFtC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAM8e,EAAGqgB,QAAU,UAAY,UAC/Bl9B,KAAK,QACLhC,QAAS6e,EAAG7e,QACZ4C,SAAUic,EAAGjc,UAEZic,EAAG3c,UAMdtC,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAOq/B,UAEvCjI,MAA2BzC,GAC3B70B,EAAAA,cAAAA,EAAAA,SAAA,OACK80B,GACD90B,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAO20B,aAAct2B,IAAI,iBACzDyB,EAAAA,cAAA4+B,EAAAA,EAAA,CACEC,QACE7+B,EAAAA,cAAA8+B,EAAAA,EAAA,CACE1+B,QAAS07B,GACThmB,MAAOgf,EAAazf,KAAI,CAACmqB,EAAIn1B,KAAM,CACjC9L,IAAK,GAAGihC,EAAGC,OAAOD,EAAGE,OAAOr1B,IAC5B/H,MAAOk9B,EAAGl9B,aAKhBtC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQX,KAAK,QAAQa,KAAMjD,EAAAA,cAAC2/B,GAAAA,EAAgB,UAKlD3/B,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAO20B,aAAct2B,IAAI,gBACzDyB,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKC,OAAQ,CAAC,EAAG,IACf5jB,EAAAA,cAACgL,GAAY,CACXrL,GAAI,CACFC,GAAI,qBACJgC,KAAMizB,EAAY,GAClB5pB,MAAO4pB,EAAY,GACnBnvB,OAAQmvB,EAAY,IAEtBzyB,KAAK,QACLC,MAAOtE,GACPqF,cAAeA,CAACzD,EAAI8L,EAAOyjB,KACzB8K,GAAiB,CACfj8B,OAAMrC,GAAAA,GAAA,GACDqC,IAAM,IACT,CAAC4B,EAAGiC,MAAO6J,EACX,CAAC9L,EAAGsL,OAAQikB,IAEdkI,WAAY,GACZ,SAQXrC,GACD/0B,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAOnC,QAASQ,IAAI,UACpDyB,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,qBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAM8vB,OAAOC,KAAKnyB,IAAQuM,OAAS,EAAI,UAAY,KACnDlI,KAAK,QACLa,KAAMjD,EAAAA,cAAC4/B,GAAAA,EAAc,MACrBx/B,QAASu7B,MAGb37B,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,mBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAAC6/B,GAAAA,EAAmB,MAC1Bz/B,QAASw7B,GACT14B,MAAO,CAAEoe,WAAY,MAGzBthB,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,mBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAAC8/B,EAAAA,EAAc,MACrB1/B,QAAS2xB,GACT7uB,MAAO,CAAEoe,WAAY,OAM7BthB,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAOs+B,OAAQt+B,GAAO6/B,OACvC//B,EAAAA,cAAAggC,GAAAA,EAAA,CACE59B,KAAK,QACLuxB,MAAO4E,GAAW5E,MAClBsM,iBAAe,EACfC,iBAAe,EACfpiC,SAAUA,GACViW,QAASqjB,GACT3zB,SAAU83B,GACV4E,UAAYxM,GAAU,GAAGA,IACzByM,gBAAiB,CAAC,GAAI,GAAI,GAAI,IAAK,KACnCr5B,OAAQ,CACNlJ,KAAM,GACNwiC,QAASrgC,EAAAA,cAACsgC,GAAAA,EAAY,CAAC99B,MAAM,mCAuXnCxC,EAAAA,cAAA,OAAKC,UAAWC,GAAOua,KAAMrM,IAAKqqB,IAdpCz4B,EAAAA,cAAA,aACEA,EAAAA,cAAA,aAlWN,WACE,GAA2B,OAAvB0yB,EAAc7hB,KAAe,OAAO,KAGxC,MAAM0vB,EAAiB5N,GACnBA,GAAmBnP,QAAQzM,WAAWzR,GAAMnJ,MAAMC,QAAQkJ,EAAEk7B,UAC3D,EACL,OACExgC,EAAAA,cAAA,MAAIzB,IAAI,QACNyB,EAAAA,cAAA,MAAIzB,IAAI,aAAamxB,QAASgD,EAAclP,QAAQlZ,QAAUorB,EAAoB,EAAI,IACnFhD,EAAc7hB,MAEhB8hB,IAAsB4N,EAAiB,GACtCvgC,EAAAA,cAAA,MAAIzB,IAAI,UAAUmxB,QAASiD,GAAmBnP,QAAQlZ,QACnDqoB,GAAmB9hB,MAGvB0vB,GAAkB,GACjB5N,GAAmBnP,QAChBzlB,QAAQuH,GAAMA,EAAEk7B,QAChBnrB,KAAI,CAAC/P,EAAG+E,IACPrK,EAAAA,cAAA,MAAIzB,IAAK,YAAY8L,IAAKqlB,QAASpqB,EAAEk7B,MAAM,IACxCl7B,EAAEk7B,MAAM,MAKvB,CAwUSC,GA3RLzgC,EAAAA,cAAA,MAAIzB,IAAI,OAAO0B,UAAWC,GAAOwgC,WAC9BhL,GACC11B,EAAAA,cAAA,MAAIzB,IAAI,WAAW0B,UAAWC,GAAOk+B,WACnCp+B,EAAAA,cAAA,SAAOG,KAAK,WAAWsD,SAAU44B,GAAgBz4B,QAAS24B,QAG7D7J,EAAclP,QAAQnO,KAAI,CAACwO,EAAK/M,IAC/B9W,EAAAA,cAAA,MAAIzB,IAAK,GAAGslB,EAAIjiB,SAASkV,IAAO7W,UAAW6C,KAAG,CAAE,CAAC5C,GAAOygC,WAAY9c,EAAIsP,QACtEnzB,EAAAA,cAAA,YAAO6jB,EAAIhT,MACVqrB,GAAcrY,MAGlB8O,IACCA,GAAmBnP,QAAQnO,KAAI,CAACwO,EAAK/M,IACnC9W,EAAAA,cAAA,MAAIzB,IAAK,GAAGslB,EAAIjiB,SAASkV,IAAO7W,UAAW6C,KAAG,CAAE,CAAC5C,GAAOygC,WAAY9c,EAAIsP,QACtEnzB,EAAAA,cAAA,YAAO6jB,EAAIhT,MACVqrB,GAAcrY,QA8QrB7jB,EAAAA,cAAA,aAAQk+B,OAWLpH,GAAe92B,EAAAA,cAAA,OAAKC,UAAWC,GAAO,uBAIxC60B,GACD/0B,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,sBACNuS,KAAM6hB,EAAa/jB,QACnByF,KAxpBYsoB,KAClB/J,EAAen7B,GAAAA,GAAC,CAAC,EACZk7B,GAAY,IACf/jB,SAAS,KAEXmnB,GAAiB,CACfj8B,OAAMrC,GAAA,GACDk7B,EAAav0B,OAElB+0B,WAAY,EACZE,sBAAuB,GACvB,EA8oBIriB,SAAUA,IAAM4hB,EAAen7B,GAAAA,GAAC,CAAC,EAAIk7B,GAAY,IAAE/jB,SAAS,KAC5D3R,MAAO,IACP0yB,UAAW,CACTiN,UAAW,OACXC,UAAWnL,EAAW10B,OAAS,KAEjCiC,MAAO,CAAE8R,IAAK,IACdwD,OAAO,aAEPxY,EAAAA,cAAC2c,GAAS,CACRC,OAAK,EACLxa,KAAK,QACLC,MAAOu0B,EAAav0B,MACpBwa,cAhrBeH,IACvBma,EAAen7B,GAAAA,GAAC,CAAC,EACZk7B,GAAY,IACfv0B,MAAK3G,GAAAA,GAAA,GACAk7B,EAAav0B,OACbqa,KAEL,EA0qBMI,KAAMiY,EACN/G,QAASA,GAAOjwB,UAKtBiC,EAAAA,cAACqwB,GAAgB,CACfC,YAAaA,GACbC,cA/nBgBA,KACpB2G,IAAe,EAAM,EA+nBjB1G,YAAW90B,GAAAA,GAAA,GACN80B,GAAW,IACd6C,eACArB,cACAj0B,UACAC,SACAG,cACAF,YACAC,aACAw0B,gBACAC,0BAKV,CA5rCOoB,GAAYxnB,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,gBAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,8BA8rCnBozB,GAAWhoB,aAAe,CACxBioB,aAAc,KACdU,UAAW,GACXd,aAAc,MACdM,UAAW,KACXC,UAAW,CACT72B,SAAU,IAEZ82B,WAAY,CAAC,EACbC,YAAa,KACbC,aAAc,KACdC,WAAY,KACZC,SAAU,CAAC,GAAI,GACfC,WAAY,KACZ92B,YAAa,KACbg3B,YAAa,SACbC,YAAa,KACbC,oBAAqB,GACrBC,oBAAqB,KACrBb,gBAAiB,KACjBc,mBAAoB,KACpBC,YAAa,KACbC,oBAAqB,KACrBjF,YAAa,KACbkF,kBAAmB,KACnB1H,MAAO,MAGTuG,GAAWlzB,UAAY,CAErB2wB,YAAa1wB,KAAAA,KAAeC,WAC5BizB,aAAclzB,KAAAA,KACd4zB,UAAW5zB,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,QAEpEoxB,cAAepxB,KAAAA,MAAgB,CAC7BuP,KAAMvP,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC7CtD,MAAOsD,KAAAA,QAAkBA,KAAAA,QACzB47B,SAAU57B,KAAAA,KACVkiB,QAASliB,KAAAA,QACPA,KAAAA,MAAgB,CACdM,KAAMN,KAAAA,OAAiBC,WACvBsP,KAAMvP,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,aAE/CC,aACDA,WACHkzB,gBAAiBnzB,KAAAA,QACfA,KAAAA,MAAgB,CACd1B,GAAI0B,KAAAA,OAAiBC,WACrBsP,KAAMvP,KAAAA,OAAiBC,WACvBiiB,QAASliB,KAAAA,QACPA,KAAAA,MAAgB,CACdM,KAAMN,KAAAA,OAAiBC,WACvBsP,KAAMvP,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,aAE/CC,cAIN6yB,aAAc9yB,KAAAA,OAEdozB,UAAWpzB,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAEpEqzB,UAAWrzB,KAAAA,MAAgB,CACzBxD,SAAUwD,KAAAA,SAGZ0zB,SAAU1zB,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAEnEszB,WAAYtzB,KAAAA,MAAgB,CAAC,GAC7ByzB,WAAYzzB,KAAAA,QACVA,KAAAA,MAAgB,CACdnB,KAAMmB,KAAAA,UAIVnD,YAAamD,KAAAA,QAAkBA,KAAAA,QAC/B6zB,YAAa7zB,KAAAA,OAEbuzB,YAAavzB,KAAAA,QAAkBA,KAAAA,QAC/BwzB,aAAcxzB,KAAAA,QACZA,KAAAA,MAAgB,CACdgB,MAAOhB,KAAAA,OACPm+B,IAAKn+B,KAAAA,OACLo+B,IAAKp+B,KAAAA,UAIT2zB,WAAY3zB,KAAAA,KAEZ8zB,YAAa9zB,KAAAA,QACXA,KAAAA,MAAgB,CACd2B,KAAM3B,KAAAA,QACNlB,QAASkB,KAAAA,KACT2C,QAAS3C,KAAAA,UAIb+zB,oBAAqB/zB,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,IACxDg0B,oBAAqBh0B,KAAAA,KAErBi0B,mBAAoBj0B,KAAAA,KAEpBk0B,YAAal0B,KAAAA,MAAgB,CAC3Bw5B,gBAAiBx5B,KAAAA,OAEnBm0B,oBAAqBn0B,KAAAA,KAErBkvB,YAAalvB,KAAAA,MAAgB,CAC3B8W,SAAU9W,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OACjDkxB,QAASlxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAChD2wB,WAAY3wB,KAAAA,OACZ0vB,UAAW1vB,KAAAA,OAGbo0B,kBAAmBp0B,KAAAA,MAAgB,CACjCM,KAAMN,KAAAA,OACNnB,KAAMmB,KAAAA,SAGR0sB,MAAO1sB,KAAAA,MAAgB,CACrBvD,OAAQuD,KAAAA,QAIZ,Y,ylBCv1CA,MAEMy/B,GAAavP,GACE,OAAfA,EAAK/lB,MACA,GAEL+lB,EAAK/lB,iBAAiBwkB,aAAgChkB,IAAtBulB,EAAK/lB,MAAM7P,OACtC41B,EAAK/lB,MAAM7P,OAEhB41B,EAAKrxB,OAASgyB,QAAQ6O,UAAU9e,OAC3BwC,GAAY8M,EAAK/lB,OAEnB+lB,EAAK/lB,MAGd,SAASw1B,IAAkB,QACzBpuB,EAAO,QACPquB,EAAO,UACPC,EAAS,WACTC,EAAU,QACV5d,EAAO,eACP6d,EAAc,cACdC,IAEA,MAAO1Q,GAAejiB,GAAakE,GAAWud,IAExCmR,GAAKnuB,EAAAA,EAAAA,QAAO,MACZouB,GAAKpuB,EAAAA,EAAAA,QAAO,MACZquB,GAAaruB,EAAAA,EAAAA,QAAO,OAEnBugB,EAAO+N,IAAYt9B,EAAAA,EAAAA,UAAS,IAC5Bu9B,EAAYC,IAAiBx9B,EAAAA,EAAAA,UAAS,IACtCyb,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChCy9B,EAAgBC,IAAqB19B,EAAAA,EAAAA,WAAS,IAC9C6gB,EAAWC,IAAgB9gB,EAAAA,EAAAA,WAAS,IAe3CC,EAAAA,EAAAA,YAAU,KACJwO,IACF0uB,EAAGxtB,QAAU,KACbytB,EAAGztB,QAAU,KACb0tB,EAAW1tB,QAAU,GACrB2tB,EAAS,GACTE,EAAc,GACd9hB,GAAW,GACXgiB,GAAkB,GAClB5c,GAAa,GACf,GACC,CAACrS,KAGJxO,EAAAA,EAAAA,YAAU,KACJwO,GAAW2uB,EAAGztB,UACZ4tB,IAAehO,EAEjBmO,GAAkB,GAElBhQ,YAAW,KACT,IAAIiQ,EAAM,EACV,KAAOJ,EAAaI,EAAMpO,GAAO,CAC/B,MAAMjQ,EAAM8d,EAAGztB,QAAQiuB,OAAOL,EAAaI,EAAM,GAC3CpiC,EAAEjE,GAAA,GAAQ0lC,GA0BhB,GAxBA5d,EAAQ2N,SAAQ,CAACtN,EAAK/M,KAChB6qB,EAAaI,IAAQ,EACvBpiC,EAAGkkB,EAAIjiB,MAAQiiB,EAAIjiB,KAAOm/B,GAAUrd,EAAIue,QAAQnrB,EAAM,IAAM,GACnD+M,EAAIjiB,OACTiiB,EAAIqe,QACNviC,EAAGkkB,EAAIjiB,MAAQm/B,GAAUrd,EAAIue,QAAQnrB,EAAM,IACxC9P,MAAM6c,EAAIqe,SACV7sB,KAAK/V,GAAMA,EAAEyc,SACM,UAAb8H,EAAI1jB,MACbR,EAAGkkB,EAAIjiB,MAAQsZ,WAAW6lB,GAAUrd,EAAIue,QAAQnrB,EAAM,KAClD+M,EAAIse,SACFxiC,EAAGkkB,EAAIjiB,MAAQiiB,EAAIse,OAAO,IAAMxiC,EAAGkkB,EAAIjiB,MAAQiiB,EAAIse,OAAO,MAC5DxwB,MAAM,YAAYkS,EAAIjiB,4BAA4BjC,EAAGkkB,EAAIjiB,SACzDs/B,MAIJvhC,EAAGkkB,EAAIjiB,MAAQm/B,GAAUrd,EAAIue,QAAQnrB,EAAM,IAE/C,IAEF2qB,EAAW1tB,QAAQmX,KAAKvrB,GAExBoiC,GAAO,EACHA,EAAMT,EAAe,KAC3B,CACAM,EAAcD,EAAaI,EAAI,GAC9B,IAEP,GACC,CAAClvB,EAAS2uB,EAAGztB,QAAS4tB,EAAYhO,IA+BrC,OACE3zB,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNrQ,MAAM,+BACNyS,SAAUisB,EACV/rB,gBAAc,EACdue,kBAAmB,CACjB1wB,SAAUiiB,GAEZxM,cAAe,CACbzV,UAAW6+B,GAAkB5c,GAE/BzM,OAAO,gBACPF,KAjHuBrc,UACzBipB,GAAa,GACb,MAAMpqB,QAAYqmC,EAAUM,EAAW1tB,QAAQiD,MAAM,IACjDlc,EACFwB,EAAAA,GAAQP,MAAM,iBAAiBjB,KAE/Bg3B,YAAW,KACToP,GAAS,GACR,IACL,EAyGE3N,UAAU,EACVE,cAAc,EACdvyB,MAAO,KAEPlB,EAAAA,cAAA4Q,GAAAA,EAAA,CACE3Q,UAAWC,GAAOkiC,cAClBrxB,OAAO,QACPgF,SAAS,IACTlE,aA/BgBV,IACpB,MAAMnB,EAAS,IAAIC,WAKnB,OAJAD,EAAON,iBAAiB,QAAQ,KAtBViiB,QAuBL3hB,EAAOpU,OAtBxBkkB,GAAW,GACXyhB,EAAGxtB,QAAU,IAAIoe,QAAQC,SACzBmP,EAAGxtB,QAAQ0d,KAAK4Q,KAAK1Q,GAAQh2B,MAAK,KAChC4lC,EAAGxtB,QAAQuuB,WAAWC,IACD,OAAff,EAAGztB,UACLytB,EAAGztB,QAAUwuB,EACbd,EAAW1tB,QAAU,GACrB2tB,EAASF,EAAGztB,QAAQyuB,UACpBZ,EAAc,GACd1c,GAAa,GACf,GACA,GAW2B,IAE/BlV,EAAOyyB,kBAAkBtxB,IAClB,CAAK,EA0BRuxB,gBAAiB,GACjB1/B,UAAW4tB,GAAe/Q,EAC1B7O,eAAgB,CACd2xB,gBAAgB,IAGlB3iC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQE,KAAMjD,EAAAA,cAAC4iC,GAAAA,EAAc,MAAK1/B,MAAO,CAAEhC,MAAO,QAAU8B,SAAU6c,GACnEwhB,KAGHQ,GAAkBlO,EAAQ,GAC1B3zB,EAAAA,cAAA,OAAKC,UAAWC,GAAO2iC,gBACrB7iC,EAAAA,cAAA6U,GAAAA,EAAA,CAAUL,QAASkQ,GAAa,IAAMid,EAAchO,EAAO,GAAIvxB,KAAK,WAGvEy/B,GACC7hC,EAAAA,cAAA,OAAKC,UAAWC,GAAO4iC,cACrB9iC,EAAAA,cAAA,OAAKC,UAAWC,GAAO7D,KAAK,aAAWs3B,EAAM,UAC7C3zB,EAAAA,cAAA,OAAKC,UAAWC,GAAO0c,OACrB5c,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,aACJA,EAAAA,cAAA,UAAI,kBACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UAAI,cAGRA,EAAAA,cAAA,aACGwjB,EAAQnO,KAAKwO,IACZ,MAAMJ,EAAO,GACbA,EAAKyH,KAAKlrB,EAAAA,cAAA,MAAIzB,IAAI,KAAKslB,EAAIjiB,OAC3B,IAAK,IAAIyI,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoZ,EAAKyH,KAAKlrB,EAAAA,cAAA,MAAIzB,IAAK8L,GAAIo3B,EAAW1tB,QAAQ1J,GAAGwZ,EAAIjiB,QAEnD,OAAO5B,EAAAA,cAAA,MAAIzB,IAAKslB,EAAIjiB,MAAO6hB,EAAU,QASvD,CAEAwd,GAAkB10B,aAAe,CAC/B80B,eAAgB,2BAChBC,cAhNgB,IAiNhBF,WAAY,CAAC,GAGfH,GAAkB5/B,UAAY,CAC5BwR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,KAAeC,WACxB4/B,UAAW7/B,KAAAA,KAAeC,WAC1B8/B,eAAgB//B,KAAAA,OAChBggC,cAAehgC,KAAAA,OACf8/B,WAAY9/B,KAAAA,MAAgB,CAAC,GAC7BkiB,QAASliB,KAAAA,QACPA,KAAAA,MAAgB,CACdM,KAAMN,KAAAA,OAAiBC,aACtBA,YACHA,YAGJ,YC9OawhC,GAMA,IANAA,GAOK,IAPLA,GAQI,IARJA,GAUG,IAVHA,GAWI,IAXJA,GAYK,IAZLA,GAaQ,IAbRA,GAgBE,IAOFC,GAAgB,CAC3B,CACEpjC,IAAK,EACLiR,KAAM,gBAER,CACEjR,GAAI,EACJiR,KAAM,cAER,CACEjR,GAAI,EACJiR,KAAM,YAIGoyB,GAAuB,CAClC,EAAG,GACH,EAAG,aACH,EAAG,gBAGQC,GAA+B,CAC1C,CACEtjC,IAAK,EACLiR,KAAM,UAER,CACEjR,GAAI,EACJiR,KAAM,mBAER,CACEjR,GAAI,EACJiR,KAAM,cAIGsyB,GAA0B,CACrC,CACEvjC,IAAK,EACLiR,KAAM,UAER,CACEjR,GAAI,EACJiR,KAAM,mBAER,CACEjR,GAAI,EACJiR,KAAM,gBAER,CACEjR,GAAI,EACJiR,KAAM,UAIGuyB,GAAkB,CAC7B,CACExjC,GAAI,EACJiR,KAAM,iBAER,CACEjR,GAAI,EACJiR,KAAM,UAER,CACEjR,GAAI,EACJiR,KAAM,wBAER,CACEjR,GAAI,EACJiR,KAAM,2BAER,CACEjR,GAAI,EACJiR,KAAM,aAIGwyB,GAAqB,CAChC,CAAEzjC,GAAI,EAAGiR,KAAM,wBACf,CAAEjR,GAAI,EAAGiR,KAAM,iBAAkByrB,KAAK,GACtC,CAAE18B,GAAI,EAAGiR,KAAM,oCACf,CAAEjR,GAAI,GAAIiR,KAAM,oBAChB,CAAEjR,GAAI,GAAIiR,KAAM,0BAChB,CAAEjR,GAAI,GAAIiR,KAAM,2BAChB,CAAEjR,GAAI,GAAIiR,KAAM,2BAChB,CAAEjR,GAAI,GAAIiR,KAAM,0BAChB,CAAEjR,GAAI,EAAGiR,KAAM,SACf,CAAEjR,GAAI,EAAGiR,KAAM,SACf,CAAEjR,GAAI,EAAGiR,KAAM,OACf,CAAEjR,GAAI,GAAIiR,KAAM,mBAChB,CAAEjR,GAAI,EAAGiR,KAAM,0BACf,CAAEjR,GAAI,EAAGiR,KAAM,8BACf,CAAEjR,GAAI,EAAGiR,KAAM,gDACf,CAAEjR,GAAI,GAAIiR,KAAM,kCAChB,CAAEjR,GAAI,GAAIiR,KAAM,QAChB,CAAEjR,GAAI,GAAIiR,KAAM,+BAChB,CAAEjR,GAAI,GAAIiR,KAAM,qCAChB,CAAEjR,GAAI,GAAIiR,KAAM,0BAChB,CAAEjR,GAAI,GAAIiR,KAAM,kBAChB,CAAEjR,GAAI,GAAIiR,KAAM,6BAChB,CAAEjR,GAAI,GAAIiR,KAAM,iBAChB,CAAEjR,GAAI,GAAIiR,KAAM,2CAChB,CAAEjR,GAAI,GAAIiR,KAAM,uBAChB,CAAEjR,GAAI,GAAIiR,KAAM,kCAChB,CAAEjR,IAAK,EAAGiR,KAAM,sBAGLyyB,GAA4BD,GAAmBhkC,QAAO,CAAC8wB,EAAG7wB,KAErE6wB,EAAE7wB,EAAEM,IAAMN,EAAEuR,KACLsf,IACN,CAAC,GAESoT,GAAuB,CAClC,CACE3jC,GAAI,EACJiR,KAAM,mBAER,CACEjR,GAAI,EACJiR,KAAM,iBAIG2yB,GAAmB,CAC9B,CACE5jC,GAAI,EACJiR,KAAM,2BAER,CACEjR,GAAI,EACJiR,KAAM,qBAER,CACEjR,GAAI,EACJiR,KAAM,kBAER,CACEjR,GAAI,EACJiR,KAAM,qBAER,CACEjR,GAAI,EACJiR,KAAM,0CAIG4yB,GAAuB,CAClC,CACE7jC,GAAI,EACJiR,KAAM,iCAER,CACEjR,GAAI,EACJiR,KAAM,gCAER,CACEjR,GAAI,EACJiR,KAAM,gCAER,CACEjR,GAAI,EACJiR,KAAM,kCAER,CACEjR,GAAI,EACJiR,KAAM,6CAIG6yB,GAAkB,oBC7LvBloB,QAAOA,IAAE1G,GAAAA,EAWV7Y,eAAe0nC,GAAcnhC,EAAOwlB,EAAS4b,GAClD,OAAO,IAAIxoC,SAAQ,CAACsB,EAASqT,KAC3ByL,GAAQ,CACNhZ,QACAwlB,UACA/kB,KAAMjD,EAAAA,cAACyb,GAAAA,EAAyB,MAChC8X,UAAU,EACV/a,OAAQorB,EAAKt5B,OAAS,GAAKs5B,EAAK,GAAGthC,MACnCuhC,WAAYD,EAAKt5B,OAAS,GAAKs5B,EAAK,GAAGthC,MACvCwhC,WAAYA,KACVpnC,GAAS,EAAE,EAEb4b,IAAAA,GACE5b,EAAQ,EACV,EACAuY,QAAAA,GACEvY,EAAQ,EACV,GACA,GAEN,C,+NC3BA,SAASqnC,IAAa,QAAElxB,EAAO,MAAExQ,EAAK,QAAE6+B,IACtC,MAAO1R,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GA8DrD,OA5DAC,EAAAA,EAAAA,YAAU,KACJwO,IACFmxB,EAAU3hC,GACV6hC,GAAkB,GACpB,GACC,CAACrxB,IAwDF7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,sBAAqB,gCAC1CkV,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA9BxDnE,iBAOE,GAAY,UANM0nC,GAChB,kBACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,qBAAsB,CAC1D2E,GAAIyC,EAAMg5B,MAEZ,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,GAQ2E,kBAGrElhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QA5DxCnE,iBAME,GAAY,UALM0nC,GAAc,wBAAyB,iCAAkC,CACzF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAGI,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,qBAAsB,CAC1D2E,GAAIyC,EAAMg5B,IACVlgC,KAAMq0B,IAER,GAAI10B,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,EAsCyDl+B,UAAWihC,GAAgB,eAKhFjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAxEN,SAAuB9P,EAAGsM,GACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EACpB,EAsEMyD,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,QACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,cACPV,KAAM,SACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,QACNoC,SAAS,EACTtB,KAAM,OAMlB,CAEAqhC,GAAa1iC,UAAY,CACvBwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YChIA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,gBCAlG,SAA6B,oBAA7B,GAAuD,aAAvD,GAA2E,cCS3E,SAAS4iC,IAAY,KAAEC,IACrB,OACEpkC,EAAAA,cAAAqkC,EAAAA,EAAA,CACE1jC,UAAU,QACVqnB,QACEhoB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IAAa4E,IAAMs/B,EAAKE,KAAK5+B,OAAO,qBACpD1F,EAAAA,cAAA,OAAKC,UAAWC,IAAckkC,EAAK1jC,OAIvCV,EAAAA,cAACukC,GAAAA,EAAU,CAACrhC,MAAO,CAAEyB,MAAO,aAGlC,CAEAw/B,GAAY9iC,UAAY,CACtB+iC,KAAM9iC,KAAAA,MAAgB,CACpBgjC,IAAKhjC,KAAAA,OAAiBC,WACtBb,IAAKY,KAAAA,OAAiBC,aACrBA,YAGL,YCzBamxB,GAAiB8R,IAAiB,CAC7C3zB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,SACNiP,KAAM,QACNmiB,aAAc,gBACdE,YAAa,EACbC,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,QACNmiB,aAAc,QACdE,YAAa,EACbC,MAAM,GAER,CACEvxB,KAAM,UACNiP,KAAM,QACNmiB,aAAc,QACdE,YAAa,EACbC,MAAM,M,ykBCvBL,MAAMuR,GACXA,CAAC/mC,EAAYgnC,EAAWC,GAAoB,IAC5C3oC,UACE,MAAM,IAAEnB,SAAcG,EAAQ,eAAgB,CAC5C0C,aACAgnC,YACAC,oBACAzpC,SAEF,OAAOL,CAAG,E,+NCnBd,SAAS+pC,IAAc,QAAEhyB,EAAO,MAAExQ,EAAK,QAAE6+B,IACvC,MAAO1R,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GA8DrD,OA5DAC,EAAAA,EAAAA,YAAU,KACJwO,IACFmxB,EAAU3hC,GACV6hC,GAAkB,GACpB,GACC,CAACrxB,IAwDF7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,uBAAsB,iCAC3CkV,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA9BxDnE,iBAOE,GAAY,UANM0nC,GAChB,kBACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,sBAAuB,CAC3D2E,GAAIyC,EAAMg5B,MAEZ,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,GAQ2E,kBAGrElhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QA5DxCnE,iBAME,GAAY,UALM0nC,GAAc,wBAAyB,iCAAkC,CACzF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAGI,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,sBAAuB,CAC3D2E,GAAIyC,EAAMg5B,IACVlgC,KAAMq0B,IAER,GAAI10B,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,EAsCyDl+B,UAAWihC,GAAgB,eAKhFjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAxEN,SAAuB9P,EAAGsM,GACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EACpB,EAsEMyD,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,YACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,gBACPV,KAAM,gBACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,gBACNoC,SAAS,EACTtB,KAAM,OAMlB,CAEAmiC,GAAcxjC,UAAY,CACxBwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YChIA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBCOrFmxB,GAAiB8R,IAAiB,CAC7C3zB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,aACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,gBACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,SACNsiB,MAAM,M,wyBC3BZ,SAAS2R,IAAY,QAAEjyB,EAAO,MAAExQ,EAAK,QAAE6+B,IACrC,MAAO1R,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GA8DrD,OA5DAC,EAAAA,EAAAA,YAAU,KACJwO,IACFmxB,EAAU3hC,GACV6hC,GAAkB,GACpB,GACC,CAACrxB,IAwDF7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,wCACzCkV,KAAMlC,EACN3R,MAAO,IACPqyB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA/BxDnE,iBAOE,GAAY,UANM0nC,GAChB,kBACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,oBAAqB,CACzD2E,GAAIyC,EAAMg5B,MAEZ,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,GAS2E,kBAGrElhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QA7DxCnE,iBAME,GAAY,UALM0nC,GAAc,wBAAyB,iCAAkC,CACzF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAGI,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,oBAAqB,CACzD2E,GAAIyC,EAAMg5B,IACVlgC,KAAMq0B,IAER,GAAI10B,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,EAuCyDl+B,UAAWihC,GAAgB,eAKhFjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAzEN,SAAuB9P,EAAGsM,GACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EACpB,EAuEMyD,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,aACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,kBACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,oBACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,mBACPV,KAAM,UACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,mCACPV,KAAM,aACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,wBACPV,KAAM,UACNoC,SAAS,EACTtB,KAAM,OAMlB,CAEAoiC,GAAYzjC,UAAY,CACtBwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YClLA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBCOrFmxB,GAAiB8R,IAAiB,CAC7C3zB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,cACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,UACNiP,KAAM,YACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,kBACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,MACNiP,KAAM,oBACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,MACNiP,KAAM,iBACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,WACNiP,KAAM,mBACNsiB,MAAM,GAER,CACEvxB,KAAM,cACNiP,KAAM,mCACNsiB,MAAM,GAER,CACEvxB,KAAM,WACNiP,KAAM,wBACNsiB,MAAM,M,wyBCnEZ,SAAS4R,IAAc,QAAElyB,EAAO,MAAExQ,EAAK,QAAE6+B,IACvC,MAAO1R,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,IACFmxB,EAAU3hC,GACV6hC,GAAkB,GACpB,GACC,CAACrxB,IAuDJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,uBAAsB,iCAC3CkV,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA9BvCnE,UAOf,GAAY,UANM0nC,GAChB,kBACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,sBAAuB,CAC3D2E,GAAIyC,EAAMg5B,MAEZ,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,IASyE,kBAGrElhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QA5DzBnE,UAMb,GAAY,UALM0nC,GAAc,wBAAyB,iCAAkC,CACzF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAGI,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,sBAAuB,CAC3D2E,GAAIyC,EAAMg5B,IACVlgC,KAAMq0B,IAER,GAAI10B,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,GAuCuDl+B,UAAWihC,GAAgB,eAKhFjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAxEgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAuEhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASyB,UACf3qB,MAAO,eACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,SACPV,KAAM,UACNc,KAAM,GACN0Z,OAAQ,IAEV,CACEjc,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,WACPV,KAAM,OACNc,KAAM,OAMlB,CAEAqiC,GAAc1jC,UAAY,CACxBwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CACrB+5B,IAAK/5B,KAAAA,SACJC,WACH2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YCvIA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA6H,iBAA7H,GAA2J,oB,gBCOpJ,MAAMmxB,GAAiBsS,IAAY,CACxCn0B,KAAM,KACN7S,MAAO,CAAC,MAAO,QACfwlB,QAAS,CACP,CACE5hB,KAAM,QACNiP,KAAM,WACNsiB,MAAM,GAER,CACEvxB,KAAM,WACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,aACNsiB,MAAM,GAER,CACEvxB,KAAM,cACNiP,KAAM,YACNsiB,MAAM,EACNhzB,KAAM,QAER,CACEyB,KAAM,OACNiP,KAAM,GACNP,MAAO,SACP2tB,SAAS,EACTvB,OAAS5b,GACP9gB,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAACilC,GAAAA,EAAW,MAClB7kC,QAASA,IAAM4kC,EAAalkB,SCvC/B,SAASokB,GAAU52B,EAAKM,GAAY,GAEzC,MAAO/S,EAAQgT,IAAazK,EAAAA,EAAAA,UAASkK,EAAM,UAAY,SAChDQ,EAAMC,IAAW3K,EAAAA,EAAAA,WAAS,GA8DjC,OA5DAC,EAAAA,EAAAA,YACE,KAGE,IAAKiK,EAEH,YADAO,EAAU,QAGZE,GAAQ,GAIR,IAAIC,EAASC,SAASC,cAAc,eAAeZ,OAEnD,GAAKU,EAmBHH,EAAUG,EAAOG,aAAa,oBAnBnB,CAEXH,EAASC,SAASG,cAAc,UAChCJ,EAAOV,IAAMA,EACbU,EAAO/S,MAAQ2S,EACfI,EAAOK,aAAa,cAAe,WAEnCJ,SAASK,KAAKC,YAAYP,GAI1B,MAAMQ,EAAyBC,IAC7BT,EAAOK,aAAa,cAA8B,SAAfI,EAAMtP,KAAkB,QAAU,QAAQ,EAG/E6O,EAAOU,iBAAiB,OAAQF,GAChCR,EAAOU,iBAAiB,QAASF,EACnC,CAQA,MAAMG,EAAqBF,IACzBZ,EAAyB,SAAfY,EAAMtP,KAAkB,QAAU,SAC5C4O,EAAuB,SAAfU,EAAMtP,KAAgB,EAShC,OALA6O,EAAOU,iBAAiB,OAAQC,GAChCX,EAAOU,iBAAiB,QAASC,GAI1B,KACDX,IACFA,EAAOY,oBAAoB,OAAQD,GACnCX,EAAOY,oBAAoB,QAASD,GACtC,CACD,GAEH,CAACrB,IAGI,CAACQ,EAAMjT,EAChB,C,qmBCrEA,UAAgB,KAAO,eCSvB,SAASspC,IAAY,KACnB9uB,EAAI,WACJ+uB,EAAU,QACVC,EAAO,UACPh1B,EAAS,cACTi1B,EAAa,UACbC,EAAS,OACTC,EAAM,cACNC,IAEA,MAAOzyB,EAAUC,IAAe7O,EAAAA,EAAAA,WAAU,GAwC1C,OACEpE,EAAAA,cAAA,OAAKC,UAAWC,GAAOwlC,MACrB1lC,EAAAA,cAAA4Q,GAAAA,EAAA,CACEhR,GAAG,qBACHiR,KAAK,UACLC,SAAS,eACTC,OAAQV,EACRW,gBAAgB,EAChBC,OAAO,gBACPxN,SA/CWA,EAAG0N,OAAM1B,YAKxB,GAJI0B,EAAKqD,QAAU,GAAKrD,EAAKqD,SAAW,KACtCvB,EAAYoB,SAASlD,EAAKqD,QAAS,KAGhB,MAAjBrD,EAAKqD,SAAmBrD,EAAKxU,SAAU,CACzC,MAAM,IAAE7B,EAAG,OAAEC,EAAM,KAAEI,GAASgW,EAAKxU,SAEnC,GAAY,IAAR7B,EACFmY,GAAa,GACbuyB,EAAOrqC,QACF,GAAIgB,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IAEzC,GA8BI+W,aA1BgBV,IACpB8B,GAAa,GACT9B,EAAK/O,KAAOijC,GACd/oC,EAAAA,GAAQP,MACN,4BAA4BgmB,GAAc5Q,EAAK/O,KAAM,CACnD2E,OAAQ,8BACgBgb,GAAcsjB,EAAS,CAAEt+B,OAAQ,SAC3D,KAEK,IAGT0+B,GAAiBA,KACV,IAcHxlC,UAAWC,GAAOylC,UAClBlqC,QAAS,CACP,eAAgBmZ,mBAAmByB,GACnC,eAAgBzB,mBAAmBwwB,GACnC,uBAAwBE,EAAgB,EAAI,EAC5C,mBAAoBC,EAAY,EAAI,GAEtCviC,SAAUgQ,GAAY,GAErBA,EAAW,GACVhT,EAAAA,cAAA,WACEA,EAAAA,cAACyQ,EAAAA,EAAY,MACbzQ,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,IAAK,aAGjCsC,GAAY,GAAKhT,EAAAA,cAAA6U,GAAAA,EAAA,CAAU1U,KAAK,SAASqU,QAASxB,KAI3D,CAEAmyB,GAAY54B,aAAe,CACzB8J,KAAM,GACN+uB,WAAY,OACZC,QAASO,IACTv1B,UAAW,MACXi1B,eAAe,EACfC,WAAW,EACXE,cAAe,MAGjBN,GAAY9jC,UAAY,CACtBgV,KAAM/U,KAAAA,OACN8jC,WAAY9jC,KAAAA,OACZgkC,cAAehkC,KAAAA,KACfikC,UAAWjkC,KAAAA,KACX+jC,QAAS/jC,KAAAA,OACT+O,UAAW/O,KAAAA,OACXkkC,OAAQlkC,KAAAA,KAAeC,WACvBkkC,cAAenkC,KAAAA,MAGjB,YC/FA,SAbA,SAAmB3D,EAAYC,EAAO,GACpC,OAAO3B,MAAO2D,EAAI5B,KAChB,MAAM,IAAElD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,WAAY,CACtD0C,aACAC,OACAgC,KACA5B,UAEF,GAAY,IAARlD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,CAEf,ECbM0qC,GAAS,CAAC,EA0BhB,SArBA,SAAwBloC,EAAYiE,GAClC,OAAO3F,MAAO8B,EAAS,CAAC,KACtB,MAAMQ,EAAM,GAAGZ,KAAciE,KAAQmuB,KAAKC,UAAUjyB,KACpD,GAAI8nC,GAAOtnC,GAAM,OAAOsnC,GAAOtnC,GAE/B,MAAM,IAAEzD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,iBAAkB,CAC5D2C,KAAM,EACND,aACAiE,OACA7D,WAEF,GAAY,IAARjD,EAAW,MAAMD,EAASC,EAAKC,GACnC,MAAM0f,EAAOtf,EAAKsf,KAAK0Y,OAAO9d,KAAK/V,IAAC,CAClCM,GAAIN,EACJuR,KAAMvR,MAGR,OADAumC,GAAOtnC,GAAOkc,EACPA,CAAI,CAEf,E,gBCrBO,MAAMiY,GAAgBA,CAAC8R,EAAmBsB,KAAoB,CACnEj1B,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IACbjC,EAAAA,cAAA,OAAKkD,MAAO,CAAEoe,WAAY,IACf,IAARrf,EAAYjC,EAAAA,cAAC+lC,GAAAA,EAAoB,MAAM/lC,EAAAA,cAACilC,GAAAA,EAAW,QAI1D,CACErjC,KAAM,OACNiP,KAAM,eACNsiB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,cAEV,CACE9D,KAAM,SACNiP,KAAM,YACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,SACNiP,KAAM,mBACN4sB,QAAQ,EACRf,OAAQA,CAAC5b,EAAM7e,KAASA,GAAO,IAAIoT,KAAK/V,GAAMA,EAAE0mC,OAAMprB,KAAK,UAMpDqrB,GAAa,CACxB,CACErmC,IAAK,EACLiR,KAAM,WAER,CACEjR,GAAI,EACJiR,KAAM,mBAER,CACEjR,GAAI,EACJiR,KAAM,iBAKGq1B,GAAc,CACzB,CACEtmC,GAAI,EACJiR,KAAM,kBAIGs1B,GAAc,aAGdC,GAAa,CACxB,cACA,UACA,UACA,cACA,YACA,uBACA,gBACA,0BACA,gBAECjT,OACA9d,KAAK/V,IAAC,CACLM,GAAIN,EACJuR,KAAMvR,MC5FH,SAASozB,GAAc8R,GAC5B,MAAO,CACL3zB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,IAAQjC,EAAAA,cAACyO,GAAAA,EAAY,OAEtC,CACE7M,KAAM,cACNiP,KAAM,aACNmiB,aAAc,uBACdG,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,aACNiP,KAAM,aACNmiB,aAAc,qBACdG,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,YACNiP,KAAM,YACNmiB,aAAc,0BACdG,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,WACNiP,KAAM,YACNmiB,aAAc,wBACdG,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,YACNiP,KAAM,oBACNmiB,aAAc,kCACdG,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,QACNiP,KAAM,QACNsiB,MAAM,EACNsK,QAAQ,EACRxP,QAAQ,GAEV,CACErsB,KAAM,SACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACRxP,QAAQ,GAEV,CACErsB,KAAM,YACNiP,KAAM,aACNsiB,MAAM,EACNsK,QAAQ,EACRxP,QAAQ,EACR0O,YAAaA,CAACh9B,EAAIsC,IAASA,EAAMA,EAAIoT,KAAK/V,GAAM,IAAIA,OAAMsb,KAAK,KAAO,IAExE,CACEhZ,KAAM,WACNiP,KAAM,UACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,MACNiP,KAAM,YACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,MACNiP,KAAM,eACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,cACNiP,KAAM,cACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,QACNiP,KAAM,IACNP,MAAO,SACP6iB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IAASA,EAAM,IAAM,GACpCgsB,QAAQ,GAEV,CACErsB,KAAM,QACNiP,KAAM,SACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,UACNiP,KAAM,YACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,EACRxP,QAAQ,GAEV,CACErsB,KAAM,SACNiP,KAAM,gCACNsiB,MAAM,EACNlF,QAAQ,GAEV,CACErsB,KAAM,WACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACRxP,QAAQ,IAIhB,CAEO,SAASoY,GAAqB7W,GACnC,MAAO,CACL,CACErvB,KAAMqrB,GAASG,OACfrpB,MAAO,eACPV,KAAM,aACNc,KAAM,EACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASG,OACfrpB,MAAO,aACPV,KAAM,YACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,cACPV,KAAM,WACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,aAAaktB,EAASA,EAAO8W,SAAW,KAC/C1kC,KAAM,UACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,sBACPV,KAAM,WACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,QACPV,KAAM,OACNwa,OAAQmqB,GAAe,kBAAmB,QAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASO,YACfzpB,MAAO,aACPV,KAAM,WACNwa,OAAQmqB,GAAe,kBAAmB,YAC1C7jC,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,UACPV,KAAM,UACNwa,OAAQmqB,GAAe,kBAAmB,WAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,YACPV,KAAM,KACNwa,OAAQmqB,GAAe,kBAAmB,MAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,eACPV,KAAM,KACNwa,OAAQmqB,GAAe,kBAAmB,MAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,cACPV,KAAM,aACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASK,OACfvpB,MAAO,IACPV,KAAM,OACNyB,UAAU,EACVX,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,OAENwa,OAAQgqB,GACR1jC,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,YACPV,KAAM,SACNwa,OAAQmqB,GAAe,kBAAmB,UAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,MACPV,KAAM,OACNwa,OAAQmqB,GAAe,kBAAmB,QAC1C7jC,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,gCACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,UACNc,KAAM,IAGZ,C,+NC9QA,SAAS8jC,IAAmB,QAAE3zB,EAAO,MAAExQ,EAAK,QAAE6+B,IAC5C,MAAO1R,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GAmErD,OA3DAC,EAAAA,EAAAA,YAAU,KACJwO,GAAWxQ,EAAMg5B,KAPvBp/B,eAAyB2D,GACvB,MAAMzE,QAAasrC,GAAU,kBAAVA,CAA6B7mC,EAAI,IACpDokC,EAAU7oC,GACV+oC,GAAkB,EACpB,CAIIwC,CAAUrkC,EAAMg5B,IAClB,GACC,CAACxoB,IAwDF7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,kCACzCkV,KAAMlC,EACN3R,MAAO,IACPqyB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA/BxDnE,iBAOE,GAAY,UANM0nC,GAChB,kBACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,oBAAqB,CACzD2E,GAAIyC,EAAMg5B,MAEZ,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,GAS2E,kBAGrElhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QA7DxCnE,iBAME,GAAY,UALM0nC,GAAc,wBAAyB,iCAAkC,CACzF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAGI,CAEb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,oBAAqB,CACzD2E,GAAIyC,EAAMg5B,IACVlgC,KAAMq0B,IAER,GAAI10B,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElComC,GACT,CACF,EAuCyDl+B,UAAWihC,GAAgB,eAKhFjkC,EAAAA,cAAC2c,GAAS,CAACta,MAAOmtB,EAAQ3S,cAvE9B,SAAuB9P,EAAGsM,GACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EACpB,EAoE4DyD,KAAMupB,GAAqB7W,KAGzF,CAEAgX,GAAmBnlC,UAAY,CAC7BwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3B2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YC7GA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,uqBCIlG,MAUA,GAV4BtF,MAAO2D,EAAI5B,EAAQ,CAAC,OAAQ,QAAS,WAC/D,MAAM,IAAElD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,WAAY,CACtD0C,WAAY,gBACZC,KAAM,EACNgC,KACA5B,UAEF,GAAY,IAARlD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,ECHb,GAL+Bc,SACtBhB,EAAQ,yBAA0B,CACvC0rC,eCQJ,GAV6B1qC,MAAO2D,EAAIgnC,EAAO/1B,EAAM4N,IAC5CxjB,EAAQ,uBAAwB,CACrC2E,KACAzE,KAAM,CACJyrC,QACA/1B,OACA4N,UCDN,GAL6BxiB,SACpBhB,EAAQ,uBAAwB,CACrC0rC,eCNSE,GAAqB,CAChC,CACEjnC,GAAI,cACJc,IAAK,qGAEP,CACEd,GAAI,wBACJc,IAAK,0FAEP,CACEd,GAAI,wBACJc,IAAK,0BAEP,CACEd,GAAI,yBACJc,IAAK,8CAEP,CACEd,GAAI,YACJc,IAAK,oBAEP,CACEd,GAAI,gBACJc,IAAK,wBAEP,CACEd,GAAI,eACJc,IAAK,yBAEP,CACEd,GAAI,gBACJc,IAAK,oBAEP,CACEd,GAAI,aACJc,IAAK,wBAEP,CACEd,GAAI,aACJc,IAAK,uBCvCT,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAkI,sBAAlI,GAAoK,mBAApK,GAAqM,qBAArM,GAAqO,kBAArO,GAAoQ,oBCMpQ,SAASomC,IAAwB,WAAEH,EAAU,QAAE9zB,EAAO,QAAEquB,IACtD,MAAO6F,EAAYC,IAAiB5iC,EAAAA,EAAAA,WAAS,GAM7C,OAJAC,EAAAA,EAAAA,YAAU,KACR2iC,EAAcn0B,EAAQ,GACrB,CAACA,IAGF7S,EAAAA,cAAA8U,GAAAA,EAAA,CAAOtS,MAAM,sBAAsBuS,KAAMlC,EAASoC,SAAUisB,EAAShgC,MAAO,IAAKkU,OAAQ,MACtF2xB,GACC/mC,EAAAA,cAAA,UACEwC,MAAM,iBACNykC,UAAU,MACV34B,IAAK,4CAA4Cq4B,QAAgB,IAAI/b,MAAOC,YAC5Eqc,YAAY,IACZjmC,OAAO,QACPC,MAAM,SAKhB,CAEA4lC,GAAwBv6B,aAAe,CAAC,EAExCu6B,GAAwBzlC,UAAY,CAClCslC,WAAYrlC,KAAAA,OAAiBC,WAC7BsR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YCjCM4lC,GAAY,CAChB,+DACA,qEACA,yEACA,wEACA,+E,+NCTF,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAkI,sB,6OCgBlI,MAEMhZ,GAAW,CACfhuB,KAAM,UACNinC,aAAa,EACbC,SAAS,EACThxB,KAAM,IClBR,MAKA,GALuBpa,MAAO4D,EAAKa,KACjC,MAAM,IAAE5F,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,eAAgB,CAAE4E,MAAKa,QACnE,GAAY,IAAR5F,EAAW,MAAMD,EAASC,EAAKC,EAC7B,ECPR,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,msCCMlG,SAASusC,IAAgB,MAAEtZ,EAAK,MAAExrB,EAAK,QAAEqQ,EAAO,MAAE3R,EAAK,MAAEmB,EAAK,KAAEya,EAAI,QAAEokB,EAAO,OAAEsE,EAAM,SAAE1hB,IACrF,MAAO0L,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAStoC,GAAC,CAAC,EAAI2G,IACf6hC,GAAkB,IAElBF,EAAU,CAAC,EACb,GACC,CAACnxB,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEK,gBAAc,EACdJ,KAAMlC,EACN3R,MAAOA,EACPsB,MAAOA,EACPyS,SAAUisB,EACV9rB,OAAQ,CACN0O,GACE9jB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,SAAS6B,QAASA,IAAM0jB,EAAS0L,GAAStsB,MAAO,CAAEsS,YAAa,SAAU,WAIxFxV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QApB/CmnC,KAClB/B,EAAOhW,EAAO,GAmByE,cAGnFzxB,OAAOypC,UAETxnC,EAAAA,cAAC2c,GAAS,CAACqR,MAAOA,EAAO3rB,MAAOmtB,EAAQ3S,cA9BtBA,CAAC9P,EAAG06B,KACxBzD,EAAStoC,GAAC,CAAC,EAAIqR,IACfm3B,EAAkBuD,EAAI,EA4BkD3qB,KAAMA,IAGlF,CAEAwqB,GAAgB/6B,aAAe,CAC7ByhB,OAAO,EACPxrB,MAAO,KACPqQ,SAAS,EACT3R,MAAO,IACPmB,MAAO,CAAC,EACRyhB,SAAU,MAGZwjB,GAAgBjmC,UAAY,CAC1B2sB,MAAO1sB,KAAAA,KACPkB,MAAOlB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAC9CuR,QAASvR,KAAAA,KACTe,MAAOf,KAAAA,MAAgB,CAAC,GACxBJ,MAAOI,KAAAA,OACPwb,KAAMxb,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,IAAIC,WAC7C2/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,WACvBuiB,SAAUxiB,KAAAA,MAGZ,YC3EA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAiI,qBAAjI,GAAmK,oBAAnK,GAA+L,eAA/L,GAAoN,a,ykBCcpN,SAASomC,KACP,MAAOrlC,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CwjC,EAAKC,IAAUzjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAczDgC,EAAAA,EAAAA,YAAU,KAZUpI,WAClB,MAAMd,QAAasrC,GAAU,eAAVA,CAA0B,IAAK,IAClDkB,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACP2sC,OAAQ3sC,EAAK2sC,OAAS,IAAIzyB,KAAK/V,GAAC5D,GAAAA,GAAA,GAC3B4D,GAAC,IACJ+7B,KAAK3M,EAAAA,GAAAA,aAGTwV,GAAkB,EAAM,EAIxB6D,EAAa,GACZ,IAEH,MAoBMC,EAAaA,KACjBH,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,IAAQ,EAkDpC,OAAKxQ,EAAMg5B,IAETr7B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QArElCnE,UAClB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,sBAAqBS,GAAA,GACtD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,QACb,GAAI/nC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,GAyD0E,aAGxEkF,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAhFgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA+EjBnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASK,OACfvpB,MAAO,kBACPV,KAAM,SACNc,KAAM,MAIZ1C,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,SACJA,EAAAA,cAAA,UAAI,OACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UACEA,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLhC,QAASA,IACPynC,EAAMnsC,GAAAA,GAAC,CAAC,EACHksC,GAAG,IACN/0B,SAAS,EACTxQ,MAAO,CACLg5B,KAAK3M,EAAAA,GAAAA,MACLwZ,eAAgB,OAIvB,eAMPloC,EAAAA,cAAA,aACGqC,EAAMylC,MAAMzyB,KAAI,CAAC1V,EAAI0K,IACpBrK,EAAAA,cAAA,MAAIzB,IAAKoB,EAAG07B,KACVr7B,EAAAA,cAAA,MAAII,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,MAAQA,EAAG2d,MACrEtd,EAAAA,cAAA,MAAII,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,MAAQA,EAAGQ,MACrEH,EAAAA,cAAA,MACEI,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,KACtDM,UAAWC,MAERP,EAAGmY,KAAO9X,EAAAA,cAAA,OAAKsO,IAAK,OAAO3O,EAAGmY,MAAOvJ,IAAI,SAE9CvO,EAAAA,cAAA,MAAIC,UAAWC,IACbF,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACmoC,GAAAA,EAAe,MACtBnlC,SAAgB,IAANqH,EACVjK,QAASA,IA/EP2M,KAChB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAyEMkE,CAASzoC,KAE1BK,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACqoC,GAAAA,EAAiB,MACxBrlC,SAAUqH,IAAMhI,EAAMylC,MAAMx9B,OAAS,EACrClK,QAASA,IA5EL2M,KAClB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAsEMoE,CAAW3oC,WAQtCK,EAAAA,cAACsnC,GAAe,CACdz0B,QAAS+0B,EAAI/0B,QACbxQ,MAAOulC,EAAIvlC,MACX6+B,QAAS8G,EACTxC,OA9Haz4B,IACjB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MAEnDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,GAFRyU,EAAM,EAEE,CACRgxB,MAAO,IAAIzlC,EAAMylC,MAAO/6B,IAIhB,CACR+6B,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGxEotB,GAAkB,GAClB8D,GAAY,EAiHRlkB,SA9Ge/W,IACnB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACjDvkB,GAAO,GACT6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,MAASzU,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGrEotB,GAAkB,GAClB8D,GAAY,EAsGRlrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,gDACPV,KAAM,OACN0B,WAAW,EACXZ,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,cACPV,KAAM,OACNwa,OAAQqnB,GACR/gC,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,uCACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,qBACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,MACNc,KAAM,QAjHO,IAuHzB,CAEAglC,GAAan7B,aAAe,CAAC,EAE7Bm7B,GAAarmC,UAAY,CAAC,EAE1B,Y,ykBChOA,SAASknC,OACP,MAAOlmC,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAUrDC,EAAAA,EAAAA,YAAU,KARUpI,WAClB,MAAMd,QAAasrC,GAAU,eAAVA,CAA0B,KAAM,IACnDkB,EAAQjsC,GAAC,CAAC,EACLP,IAEL+oC,GAAkB,EAAM,EAIxB6D,EAAa,GACZ,IAsBH,OACE/nC,EAAAA,cAAA,WACEA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAjBnCnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,sBAAqBS,GAAA,GACtD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,QACb,GAAI/nC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,GAKyE,aAGvEkF,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA5BgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA2BjBnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASK,OACfvpB,MAAO,kBACPV,KAAM,SACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASK,OACfvpB,MAAO,cACPV,KAAM,cACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASK,OACfvpB,MAAO,qBACPV,KAAM,SACNc,KAAM,GAGR,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,WACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,UACNc,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,UACNc,KAAM,OAMlB,CAEA6lC,GAAiBh8B,aAAe,CAAC,EAEjCg8B,GAAiBlnC,UAAY,CAAC,EAE9B,Y,ykBCzFA,SAASmnC,KACP,MAAOnmC,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CwjC,EAAKC,IAAUzjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAczDgC,EAAAA,EAAAA,YAAU,KAZUpI,WAClB,MAAMd,QAAasrC,GAAU,eAAVA,CAA0B,KAAM,IACnDkB,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACP2sC,OAAQ3sC,EAAK2sC,OAAS,IAAIzyB,KAAK/V,GAAC5D,GAAAA,GAAA,GAC3B4D,GAAC,IACJ+7B,KAAK3M,EAAAA,GAAAA,aAGTwV,GAAkB,EAAM,EAIxB6D,EAAa,GACZ,IAEH,MAoBMC,EAAaA,KACjBH,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,IAAQ,EAkDpC,OAAKxQ,EAAMg5B,IAETr7B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QArElCnE,UAClB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,sBAAqBS,GAAA,GACtD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,QACb,GAAI/nC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,GAyD0E,aAGxEkF,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAhFgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA+EjBnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASK,OACfvpB,MAAO,kBACPV,KAAM,SACNc,KAAM,MAIZ1C,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,SACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UACEA,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLhC,QAASA,IACPynC,EAAMnsC,GAAAA,GAAC,CAAC,EACHksC,GAAG,IACN/0B,SAAS,EACTxQ,MAAO,CACLg5B,KAAK3M,EAAAA,GAAAA,MACLwZ,eAAgB,OAIvB,eAMPloC,EAAAA,cAAA,aACGqC,EAAMylC,MAAMzyB,KAAI,CAAC1V,EAAI0K,IACpBrK,EAAAA,cAAA,MAAIzB,IAAKoB,EAAG07B,KACVr7B,EAAAA,cAAA,MAAII,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,MAAQA,EAAG2d,MACrEtd,EAAAA,cAAA,MACEI,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,KACtDM,UAAWC,MAERP,EAAGmY,KAAO9X,EAAAA,cAAA,OAAKsO,IAAK,OAAO3O,EAAGmY,MAAOvJ,IAAI,SAE9CvO,EAAAA,cAAA,MAAIC,UAAWC,IACbF,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACmoC,GAAAA,EAAe,MACtBnlC,SAAgB,IAANqH,EACVjK,QAASA,IA7EP2M,KAChB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAuEMkE,CAASzoC,KAE1BK,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACqoC,GAAAA,EAAiB,MACxBrlC,SAAUqH,IAAMhI,EAAMylC,MAAMx9B,OAAS,EACrClK,QAASA,IA1EL2M,KAClB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAoEMoE,CAAW3oC,WAQtCK,EAAAA,cAACsnC,GAAe,CACdz0B,QAAS+0B,EAAI/0B,QACbxQ,MAAOulC,EAAIvlC,MACX6+B,QAAS8G,EACTxC,OA5Haz4B,IACjB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MAEnDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,GAFRyU,EAAM,EAEE,CACRgxB,MAAO,IAAIzlC,EAAMylC,MAAO/6B,IAIhB,CACR+6B,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGxEotB,GAAkB,GAClB8D,GAAY,EA+GRlkB,SA5Ge/W,IACnB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACjDvkB,GAAO,GACT6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,MAASzU,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGrEotB,GAAkB,GAClB8D,GAAY,EAoGRlrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,gDACPV,KAAM,OACN0B,WAAW,EACXZ,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,uCACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,sCACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,MACNc,KAAM,QAvGO,IA6GzB,CAEA8lC,GAAiBj8B,aAAe,CAAC,EAEjCi8B,GAAiBnnC,UAAY,CAAC,EAE9B,Y,ykBChNA,SAASonC,KACP,MAAOpmC,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CwjC,EAAKC,IAAUzjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAczDgC,EAAAA,EAAAA,YAAU,KAZUpI,WAClB,MAAMd,QAAasrC,GAAU,eAAVA,CAA0B,MAAO,IACpDkB,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACP2sC,OAAQ3sC,EAAK2sC,OAAS,IAAIzyB,KAAK/V,GAAC5D,GAAAA,GAAA,GAC3B4D,GAAC,IACJ+7B,KAAK3M,EAAAA,GAAAA,aAGTwV,GAAkB,EAAM,EAIxB6D,EAAa,GACZ,IAEH,MAoBMC,EAAaA,KACjBH,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,IAAQ,EAkDpC,OAAKxQ,EAAMg5B,IAETr7B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QArElCnE,UAClB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,sBAAqBS,GAAA,GACtD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,QACb,GAAI/nC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,GAyD0E,aAGxEkF,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAhFgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA+EjBnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASK,OACfvpB,MAAO,kBACPV,KAAM,SACNc,KAAM,MAIZ1C,EAAAA,cAAAihB,GAAAA,EAAA,MACAjhB,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,SACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UACEA,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLhC,QAASA,IACPynC,EAAMnsC,GAAAA,GAAC,CAAC,EACHksC,GAAG,IACN/0B,SAAS,EACTxQ,MAAO,CACLg5B,KAAK3M,EAAAA,GAAAA,MACLwZ,eAAgB,OAIvB,eAMPloC,EAAAA,cAAA,aACGqC,EAAMylC,MAAMzyB,KAAI,CAAC1V,EAAI0K,IACpBrK,EAAAA,cAAA,MAAIzB,IAAKoB,EAAG07B,KACVr7B,EAAAA,cAAA,MAAII,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,MAAQA,EAAG2d,MACrEtd,EAAAA,cAAA,MACEI,QAASA,IAAMynC,EAAMnsC,GAAAA,GAAC,CAAC,EAAIksC,GAAG,IAAE/0B,SAAS,EAAMxQ,MAAO1C,KACtDM,UAAWC,MAERP,EAAGmY,KAAO9X,EAAAA,cAAA,OAAKsO,IAAK,OAAO3O,EAAGmY,MAAOvJ,IAAI,SAE9CvO,EAAAA,cAAA,MAAIC,UAAWC,IACbF,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACmoC,GAAAA,EAAe,MACtBnlC,SAAgB,IAANqH,EACVjK,QAASA,IA7EP2M,KAChB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAuEMkE,CAASzoC,KAE1BK,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLa,KAAMjD,EAAAA,cAACqoC,GAAAA,EAAiB,MACxBrlC,SAAUqH,IAAMhI,EAAMylC,MAAMx9B,OAAS,EACrClK,QAASA,IA1EL2M,KAClB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,OAAOlwB,EAAAA,GAAAA,IAAUvV,EAAMylC,MAAOhxB,EAAKA,EAAM,MAE3CotB,GAAkB,EAAK,EAoEMoE,CAAW3oC,WAQtCK,EAAAA,cAACsnC,GAAe,CACdz0B,QAAS+0B,EAAI/0B,QACbxQ,MAAOulC,EAAIvlC,MACX6+B,QAAS8G,EACTxC,OA5Haz4B,IACjB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MAEnDsM,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,GAFRyU,EAAM,EAEE,CACRgxB,MAAO,IAAIzlC,EAAMylC,MAAO/6B,IAIhB,CACR+6B,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGxEotB,GAAkB,GAClB8D,GAAY,EA+GRlkB,SA5Ge/W,IACnB,MAAM+J,EAAMzU,EAAMylC,MAAM/wB,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACjDvkB,GAAO,GACT6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRylC,MAAO,IAAIzlC,EAAMylC,MAAM9wB,MAAM,EAAGF,MAASzU,EAAMylC,MAAM9wB,MAAMF,EAAM,OAGrEotB,GAAkB,GAClB8D,GAAY,EAoGRlrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,gDACPV,KAAM,OACN0B,WAAW,EACXZ,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,uCACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,sCACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,MACNc,KAAM,QAvGO,IA6GzB,CAEA+lC,GAAkBl8B,aAAe,CAAC,EAElCk8B,GAAkBpnC,UAAY,CAAC,EAE/B,YC7NA,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,ykBCAlG,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,ykBCAlG,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAiI,qBC4CjI,SAnBA,SAA6B6I,GAC3B,OAAO,IAAI9O,SAASsB,IACbgsC,UAAUC,UAGbD,UAAUC,UAAUC,UAAU1+B,GAAMvO,MAClC,KAEEe,GAAQ,EAAK,IAEd5B,IAEC4B,GAAQ,EAAK,IAtCvB,SAAqCwN,EAAMxN,GACzC,MAAMmsC,EAAW55B,SAASG,cAAc,YACxCy5B,EAASp9B,MAAQvB,EAGjB2+B,EAAS3lC,MAAM8R,IAAM,IACrB6zB,EAAS3lC,MAAM4lC,KAAO,IACtBD,EAAS3lC,MAAM6lC,SAAW,QAE1B95B,SAASK,KAAKC,YAAYs5B,GAC1BA,EAAS1pB,QACT0pB,EAASxtB,SAET,IAAI2tB,GAAY,EAChB,IACqB/5B,SAASg6B,YAAY,QAGxCD,GAAY,CACd,CAAE,MAAOluC,GACP,CAEFmU,SAASK,KAAK45B,YAAYL,GAC1BnsC,EAAQssC,EACV,CAKMG,CAA4Bj/B,EAAMxN,EAYpC,GAEJ,ECzCM0sC,GAAiB,CACrB,CACEjpC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,IAIRywB,GAAiB,CACrB,CACElpC,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,EACVtV,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,IAIR0wB,GAAiB,CACrB,CACEnpC,KAAMqrB,GAASE,SACfppB,MAAO,cACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,EACVtV,WAAW,IAITimC,GAAiB,CACrB,CACEppC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,GAEZ,CACEzY,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,IAIR4wB,GAAiB,CACrB,CACErpC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,YACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GACN7K,UAAU,IAIR6wB,GAAiB,CACrB,CACEtpC,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNkX,UAAW,CAAC,MAAO,MAAO,QAC1BzL,YAAY,EACZ0I,SAAU,EACVrT,KAAM,KAKGgnC,GAAsBvpC,IAEjC,OAAQA,GACN,KAAK,EACH,OAAOipC,GACT,KAAK,EACH,OAAOC,GACT,KAAK,EACH,OAAOC,GACT,KAAK,EACH,OAAOC,GACT,KAAK,EACH,OAAOC,GACT,KAAK,EACH,OAAOC,GAEX,MAAO,EAAE,EC3HX,GAAuB,cAAvB,GAA4C,cAA5C,GAAoE,iBAApE,GAA8F,gBAA9F,GAAuH,gBAAvH,GAAkJ,kBAAlJ,GAA2K,cAA3K,GAAsM,oBAAtM,GAAkO,eAAlO,GAA+P,qBAA/P,GAAkS,qBAAlS,GAAkU,kBAAlU,GAA2V,cAA3V,GAAgX,cAAhX,GAA6Y,sBCM7Y,SAASE,IAAgB,QAAE92B,EAAO,KAAEuG,EAAI,SAAE4B,EAAQ,QAAEkmB,IAClD,OACElhC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,+BACNuS,KAAMlC,EACN3R,MAAM,MACN+T,SAAUisB,EACV9rB,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,aAKxClhC,EAAAA,cAAA,OAAKC,UAAWC,IACbkZ,EAAK/D,KAAKyC,GACT9X,EAAAA,cAAA,UAAQG,KAAK,SAAS5B,IAAKuZ,EAAIA,IAAK7X,UAAWC,GAAaE,QAASA,IAAM4a,EAASlD,IAClF9X,EAAAA,cAAA,OAAKsO,IAAK,aAAawJ,EAAIA,MAAOvJ,IAAI,QACrCuJ,EAAIzB,MAAQrW,EAAAA,cAAA,OAAKC,UAAWC,IAAc4X,EAAIzB,UAM3D,CAEAszB,GAAgBp9B,aAAe,CAAC,EAEhCo9B,GAAgBtoC,UAAY,CAC1BwR,QAASvR,KAAAA,KAAeC,WACxB6X,KAAM9X,KAAAA,QACJA,KAAAA,MAAgB,CACdwW,IAAKxW,KAAAA,OACL+U,KAAM/U,KAAAA,UAERC,WACFyZ,SAAU1Z,KAAAA,KAAeC,WACzB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YC7BA,MAAMqoC,GAAS,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGWC,GAAiB/yB,GAAQ8yB,GAAO9yB,EAAM8yB,GAAOt/B,QAQ7Cw/B,GAAYA,CAACxqC,EAAGsf,EAAI,KAE/B,GAAI5C,MAAM1c,IAAM0c,MAAM4C,GAAI,OAC1B,MAAM7R,EAAI,IAAM6R,EAChB,OAAOkE,KAAK8B,MAAMtlB,EAAIyN,GAAKA,CAAC,E,ykBCnC9B,MAAMohB,GAAW,CACfvJ,MAAO,EACPiE,QAAS,GACThY,KAAM,IAGR,SAASk5B,IAAmB,QAAEl3B,EAAO,SAAEmI,EAAQ,QAAEkmB,IAC/C,MAAO7+B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,IAE7BrW,GAAM1E,EAAAA,EAAAA,QAAO,OAEnB/O,EAAAA,EAAAA,YAAU,KACHwO,GACH80B,EAASxZ,GACX,GACC,CAACtb,IAiBJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,gBACNuS,KAAMlC,EACN3R,MAAO,IACP+T,SAAUisB,EACV9rB,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,WAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,SAAS4B,KAAK,UAAU6C,UAAWX,EAAMwmB,QAASzoB,QAnB9C4pC,KACpB,MAAM/1B,EAAI6D,EAAI/D,SAAS7S,OAAS,IAC1BiT,EAAI2D,EAAI/D,SAAS9S,QAAU,IACjC+Z,EAAQtf,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRonB,GAAIqgB,GAAU71B,EAAIE,EAAG,KACrB,GAawF,aAKxFnU,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAhCgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EACLqR,GACH,EA8BE+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,mBACPV,KAAM,UACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASM,OACfxpB,MAAO,QACPV,KAAM,QACNwa,OAAQ,CACN,CACExc,GAAI,EACJiR,KAAM,iBAER,CACEjR,GAAI,EACJiR,KAAM,YAGVnO,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,OACNc,KAAM,SAITL,EAAMwmB,SACP7oB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OACEoO,IAAK0J,EACLxJ,IAAK,wBAAwBjM,EAAMwmB,wBACnCta,IAAI,mBAMhB,CAEAw7B,GAAmBx9B,aAAe,CAAC,EAEnCw9B,GAAmB1oC,UAAY,CAC7BwR,QAASvR,KAAAA,KAAeC,WACxByZ,SAAU1Z,KAAAA,KAAeC,WACzB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YCxGyC,IAElC0oC,GAAQ,SAAAjsC,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAc,KAAA,OAAAM,EAAA,kBAAAP,OAAA,SAAAb,EAAAA,cAAA,QAAAoB,EAAA,sSAAAP,OAAA,WAARopC,GAAQ19B,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,YAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,8BAwCf,SArCA,UAA2B,GAAEvB,EAAE,MAAE6L,EAAK,OAAEy+B,EAAM,QAAE9pC,EAAO,cAAE+pC,IACvD,MAAM,WAAE58B,EAAU,UAAEC,EAAS,WAAEC,EAAU,UAAEC,EAAS,WAAEC,EAAU,WAAEC,IAAeC,EAAAA,GAAAA,IAAY,CAC3FjO,OAGIsD,EAAQ,CACZwK,UAAWI,GAAAA,GAAIC,UAAUC,SAASN,GAClCC,aACAM,OAAQ,QACRC,OAAQN,EAAa,MAAQ,OAC7BO,QAASP,EAAa,GAAM,GAS9B,OACE5N,EAAAA,cAAA,OACEoO,IAAKX,EACLvK,MAAOA,EACPjD,UAAW6C,KAAG5C,GAAgB,CAAE,CAACA,IAAgBgqC,IAAWtqC,IAC5DQ,QAASA,GAETJ,EAAAA,cAAA,OAAAqO,EAAAA,GAAAA,GAAA,CAAKpO,UAAWC,IAAqBsN,EAAeD,GAClDvN,EAAAA,cAACiqC,GAAQ,OAEXjqC,EAAAA,cAAA,OAAKC,UAAWC,IAAa,QAAMuL,GACnCzL,EAAAA,cAAA,UAAQG,KAAK,SAASF,UAAWC,GAAesC,MAAM,UAAUpC,QAjBlDsD,IAChBA,EAAGsO,iBACHtO,EAAGuO,kBACHk4B,GAAe,GAeXnqC,EAAAA,cAACwO,GAAAA,EAAc,OAIvB,E,+NC3B2B,IAEpBy7B,GAAQ,SAAAjsC,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAc,KAAA,OAAAM,EAAA,kBAAAP,OAAA,SAAAb,EAAAA,cAAA,QAAAoB,EAAA,sSAAAP,OAAA,WAARopC,GAAQ19B,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,YAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,kCACRipC,GAAU,SAAApsC,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAjpC,EAAA,+RAAAP,OAAA,WASjB,SAASypC,IAAoB,OAAEC,EAAM,aAAEC,EAAY,KAAEpxB,IACnD,MAAOnD,EAAYC,IAAiB9R,EAAAA,EAAAA,UAAS,CAAC,IACvCqmC,EAAQC,IAAatmC,EAAAA,EAAAA,WAAU,IAE/BumC,EAAkBC,IAAuBxmC,EAAAA,EAAAA,WAAS,IAClDymC,EAAsBC,IAA2B1mC,EAAAA,EAAAA,WAAS,GA6D3DkS,GAAUC,EAAAA,GAAAA,KACdC,EAAAA,GAAAA,IAAUC,GAAAA,KACVD,EAAAA,GAAAA,IAAUE,GAAAA,GAAgB,CACxBC,iBAAkBC,GAAAA,MAkDhBoK,EAAOhhB,EAAAA,cAAA8+B,EAAAA,EAAA,CAAM1+B,QArGA2qC,EAAGxsC,UACpBisC,EAAa,IACRD,EACH,CACEpqC,KAAMkU,SAAS9V,EAAK,IACpBqB,IAAI8uB,EAAAA,GAAAA,QAEN,EA8FoC5Y,MA3B1B,CACZ,CACExT,MAAO,oCACP/D,IAAK,GAEP,CACE+D,MAAO,uBACP/D,IAAK,GAEP,CACE+D,MAAO,uBACP/D,IAAK,GAEP,CACE+D,MAAO,sDACP/D,IAAK,GAEP,CACE+D,MAAO,uDACP/D,IAAK,GAEP,CACE+D,MAAO,wBACP/D,IAAK,MAiBT,OACEyB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,WACEA,EAAAA,cAAA4+B,EAAAA,EAAA,CAAUC,QAAS7d,EAAMgqB,QAAS,CAAC,UACjChrC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQG,MAAO,CAAEhC,MAAO,SAAU,mBAItClB,EAAAA,cAACoX,GAAAA,GAAU,CACTd,QAASA,EACTe,mBAAoBC,GAAAA,GACpBC,UAhEe9H,IAErByG,EAAc,CAAC,GACf,MAAM,OAAEsB,EAAM,KAAEC,GAAShI,EAEzB,GAAI+H,EAAO5X,KAAO6X,EAAK7X,GAAI,CACzB,MAAM8X,EAAW6yB,EAAOxzB,WAAWzX,GAAMA,EAAEM,KAAO4X,EAAO5X,KACnD+X,EAAW4yB,EAAOxzB,WAAWzX,GAAMA,EAAEM,KAAO6X,EAAK7X,KACvD4qC,GAAa5yB,EAAAA,GAAAA,IAAU2yB,EAAQ7yB,EAAUC,GAC3C,GAwDME,YAxEiBpI,IAGvBi7B,GAAW,GACXx0B,EAAczG,EAAM+H,OAAO,GAsErBxX,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC+X,GAAAA,GAAe,CAACjC,MAAOy0B,EAAQvyB,SAAUC,GAAAA,IACvCsyB,EAAOl1B,KAAI,CAAC41B,EAAK5gC,IAChBrK,EAAAA,cAACkrC,GAAiB,CAChB3sC,IAAK0sC,EAAIrrC,GACTA,GAAIqrC,EAAIrrC,GACRuY,QAAM,EACN1M,MAAOw/B,EAAI9qC,KAEX+pC,OAAQO,GAAU,EAAIF,EAAOE,IAAS7qC,GAAK,KAC3CQ,QAASA,KArJvBsqC,EAqJ4CrgC,EAAG,EACjC8/B,cAAeA,KAAMA,OAnJdrzB,EAmJ4BzM,EAlJjDqgC,GAAW,QACP5zB,GAAO,GACT0zB,EAAa,IAAID,EAAOvzB,MAAM,EAAGF,MAASyzB,EAAOvzB,MAAMF,EAAM,MAH1CA,KAmJ+B,MAG1C9W,EAAAA,cAACqY,GAAAA,GAAW,KACTpC,GAAYrW,GACXI,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACiqC,GAAQ,OAEXjqC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACoqC,GAAU,QAGb,UAMdpqC,EAAAA,cAAA,OAAKC,UAAWC,IACbuqC,GAAU,GACTzqC,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAASA,IAAM0qC,GAAwB,IAAO,kBACrD1xB,GAAM9O,OAAS,GACdtK,EAAAA,cAAA+C,EAAAA,EAAA,CAAQG,MAAO,CAAEoe,WAAY,IAAMlhB,QAnJ7B+qC,KAClBP,GAAoB,EAAK,GAkJ4C,sBAK7D5qC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOkoC,EAAOE,GACd5tB,cAnKQA,CAAC9P,EAAGk7B,KAExBsC,EAAOE,G,uWAAO/uC,CAAA,GACTqR,GAELy9B,EAAaD,EAAO,EA+JRztB,KAAM4sB,GAAmBa,EAAOE,GAAQtqC,WAOjDiZ,GAAM9O,OAAS,GACdtK,EAAAA,cAAC2pC,GAAe,CACd92B,QAAS83B,EACTvxB,KAAMA,EACN4B,SAnKY/e,UAClB2uC,GAAoB,SACHQ,GAAoB,IAAItzB,EAAIA,eAE3CvX,GAAAA,EAAa8qC,QAAQ,CACnB9uC,QAAS,iDACTkE,YAAa,+DACbG,SAAU,GAEd,EA2JMsgC,QAASA,IAAM0J,GAAoB,KAIvC5qC,EAAAA,cAAC+pC,GAAkB,CACjBl3B,QAASg4B,EACT7vB,SA9JgB/e,UACpB6uC,GAAwB,SACPM,GACf,IAAIE,EAAMziB,mBAAmByiB,EAAM7hB,QAAQ6hB,EAAMz6B,YAGjDtQ,GAAAA,EAAa8qC,QAAQ,CACnB9uC,QAAS,8CACTkE,YAAa,+DACbG,SAAU,GAEd,EAoJIsgC,QAASA,IAAM4J,GAAwB,KAI/C,CAhOOV,GAAU79B,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,YAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,8BAkOjBmpC,GAAoB/9B,aAAe,CACjCg+B,OAAQ,GACRnxB,KAAM,IAGRkxB,GAAoBjpC,UAAY,CAC9BkpC,OAAQjpC,KAAAA,QACNA,KAAAA,MAAgB,CACdnB,KAAMmB,KAAAA,UAGVkpC,aAAclpC,KAAAA,KAAeC,WAC7B6X,KAAM9X,KAAAA,QACJA,KAAAA,MAAgB,CACdwW,IAAKxW,KAAAA,OACL+U,KAAM/U,KAAAA,WAKZ,Y,ykBC3PA,MAAM6sB,GAAW,CACfkN,IAAK,aACLx/B,OAAQ,EACRic,IAAK,GACLsB,KAAM,ICtBR,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,kpCCOlG,MAAM+U,GAAW,CACfrmB,KAAM,KACN+I,KAAM,GACNwF,KAAM,GACNyB,IAAK,IAGP,SAASyzB,IAAoB,MAAElpC,EAAK,QAAE6+B,EAAO,OAAEsE,IAC7C,MAAOhW,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS+pB,KAC9B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJhC,EACF2hC,EAAStoC,GAAAA,GAAC,CAAC,EAAIyyB,IAAa9rB,KAE5B2hC,EAAU7V,IACV+V,GAAkB,GACpB,GACC,CAAC7hC,IAOJ,OACErC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,wBACNuS,OAAQ1S,EACR4S,SAAUisB,EACV1oB,OAAO,YACPC,cAAe,CAAEzV,UAAWihC,GAC5B3rB,KAAMA,IAAMktB,EAAOhW,MAEhBntB,GAAOg5B,KACRr7B,EAAAA,cAAC2c,GACC,CACAta,MAAOmtB,EACP3S,cAlBcA,CAAC9P,EAAG06B,KACxBzD,EAAStoC,GAAC,CAAC,EAAIqR,IACfm3B,EAAkBuD,EAAI,EAiBhB3qB,KAAM,CACJ,CACE3c,KAAMqrB,GAASG,OACfrpB,MAAO,MACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,iBACPV,KAAM,SACNwa,OAAQmnB,GACR7gC,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,uCACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,EACNngB,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,WACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GAER,CACEtjB,KAAMqrB,GAAS+B,eACfjrB,MAAO,WACPV,KAAM,MACNyL,YAAY,EACZ3K,KAAM,OAOpB,CAEA6oC,GAAoBh/B,aAAe,CACjClK,MAAO,MAGTkpC,GAAoBlqC,UAAY,CAC9BgB,MAAOf,KAAAA,MAAgB,CAAC,GACxB4/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,YAGzB,YCnGA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,+NCAlG,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAiI,qB,ykBCkBjI,MAAM4sB,GAAW,CACfkN,IAAK,aACLx/B,OAAQ,EACRic,IAAK,GACLsB,KAAM,IClBR,MAKA,GALuBnd,OAASf,MAAKsH,QAAO6T,WAC1C,MAAM,IAAEvb,EAAG,OAAEC,SAAiBE,EAAQ,iBAAkB,CAAEC,MAAKsH,QAAO6T,SACtE,GAAY,IAARvb,EAAW,MAAMD,EAASC,EAAKC,EAC7B,ECPR,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,ykBCAlG,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAiI,qB,ykBCiBjI,MAAMozB,GAAW,CACfkN,IAAK,aACLx/B,OAAQ,EACR2vC,SAAU1mC,MAAQY,OAAO,cACzBoS,IAAK,GACLsB,KAAM,ICtBR,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAiI,qBAAjI,GAAsK,uB,4BCK/J,MAmCMqyB,GAAyBA,CACpCC,EACAC,EACAC,EACAC,IACG,CACH,CACErpC,MAAO,YACPspC,UAAW,QACXvtC,IAAK,SAEP,CACEiE,MAAO,cACPspC,UAAW,OACXvtC,IAAK,QAEP,CACEiE,MACExC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,sCAAsC7B,UAAU,SAC7DX,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC+rC,GAAAA,EAAmB,MAC1B/oC,SAAU6oC,EACVzrC,QAASsrC,KAIfntC,IAAK,UACL+R,MAAO,SACPosB,OAAQA,CAACxyB,EAAM8hC,EAAQC,IACrBjsC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,wBAAwB7B,UAAU,QAC/CX,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLjC,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAACyO,GAAAA,EAAY,MACnBvL,MAAO,CAAEsS,YAAa,GACtBpV,QAASA,IAAMurC,EAAcM,MAGjCjsC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,kBAAkB7B,UAAU,SACzCX,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACL2P,MAAM,SACN9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MACrBpO,QAASA,IAAMwrC,EAAgBK,SA8B9BC,GAAsBA,CAACC,EAAcC,EAAYC,IAAiB,CAC7E,CACE7pC,MAAO,YACPspC,UAAW,QACXvtC,IAAK,SAEP,CACEiE,MAAO,QACPspC,UAAW,QACXvtC,IAAK,SAEP,CACEiE,MAAO,MACPspC,UAAW,OACXvtC,IAAK,QAEP,CACEiE,MAAO,SACPspC,UAAW,OACXvtC,IAAK,OACLm+B,OAASxyB,IAASoiC,EAAAA,GAAAA,YAAWpiC,GAAM,IAErC,CACE1H,MACExC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,sBAAsB7B,UAAU,SAC7CX,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC+rC,GAAAA,EAAmB,MAC1B3rC,QAAS+rC,KAIf5tC,IAAK,UACL+R,MAAO,SACPosB,OAAQA,CAACxyB,EAAM8hC,EAAQC,IACrBjsC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,qBAAqB7B,UAAU,QAC5CX,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLjC,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAACyO,GAAAA,EAAY,MACnBvL,MAAO,CAAEsS,YAAa,GACtBpV,QAASA,IAAMgsC,EAAWH,MAG9BjsC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,eAAe7B,UAAU,SACtCX,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACL2P,MAAM,SACN9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MACrBpO,QAASA,IAAMisC,EAAaJ,S,kmBC/JxC,SAASM,IAAuB,MAAElqC,EAAK,cAAEwa,IACvC,MAAO2vB,EAAiBC,IAAsBroC,EAAAA,EAAAA,UAAS,CACrDyO,SAAS,EACTxQ,MAAO,CAAC,IAGJqqC,EAAgB3/B,IACpB8P,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACRsqC,SAAU,IAAItqC,EAAMsqC,SAAU5/B,MAEhC,EACD,EAeG6/B,EAAiB7/B,IACrB,MAAM+J,EAAMzU,EAAMsqC,SAAS51B,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACxDxe,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACRsqC,SAAU,IAAItqC,EAAMsqC,SAAS31B,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMsqC,SAAS31B,MAAMF,EAAM,OAE/E,EACD,EA6BG+1B,EAAoBA,KACxBJ,EAAkB/wC,GAAAA,GAAC,CAAC,EAAI8wC,GAAe,IAAE35B,SAAS,IAAQ,EAQ5D,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8sC,GAAAA,EAAA,CACE7sC,UAAWC,GACX6sC,YAAY,EACZC,UAAQ,EACR5qC,KAAK,QACL6qC,YAAa5qC,EAAMsqC,UAAY,IAAIt3B,KAAK/V,GAAC5D,GAAAA,GAAA,GACpC4D,GAAC,IACJf,IAAKe,EAAE+7B,QAET7X,QAASioB,IArESC,KACtBe,EAAkB/wC,GAAAA,GAAC,CAAC,EACf8wC,GAAe,IAClB35B,SAAS,EACTrQ,MAAO,sBACPH,MAAO,CACLg5B,KAAK3M,EAAAA,GAAAA,OAEP8W,OAAQkH,IACR,IAcmB51B,IACrB21B,EAAkB/wC,GAAAA,GAAC,CAAC,EACf8wC,GAAe,IAClB35B,SAAS,EACTrQ,MAAO,0BACPH,MAAK3G,GAAA,GAAO2G,EAAMsqC,SAAS71B,IAC3B0uB,OAAQoH,IACR,IAGoB3wC,UAKV,UAJM0nC,GAAc,0BAA2B,mBAAoB,CAC7E,CAAErhC,MAAO,UACT,CAAEA,MAAO,cAGTua,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACRsqC,SAAU,IAAItqC,EAAMsqC,SAAS31B,MAAM,EAAGF,MAASzU,EAAMsqC,SAAS31B,MAAMF,EAAM,OAE5E,EAEJ,IA2BOzU,EAAMsqC,UAAY,IAAIriC,QAAU,KAGrCtK,EAAAA,cAACsnC,GAAe,CACd9kC,MAAOgqC,EAAgBhqC,MACvBqQ,QAAS25B,EAAgB35B,QACzBxQ,MAAOmqC,EAAgBnqC,MACvBya,KDXyB,CAC/B,CACE3c,KAAMqrB,GAAS+B,eACfjrB,MAAO,oBACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,KCNFw+B,QAAS2L,EACTrH,OA7ByBz4B,IAC7B8/B,IACAL,EAAgBhH,OAAOz4B,EAAE,IA+B7B,CAEAw/B,GAAuBhgC,aAAe,CACpClK,MAAO,CAAC,GAGVkqC,GAAuBlrC,UAAY,CACjCgB,MAAOf,KAAAA,MAAgB,CACrBqrC,SAAUrrC,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,MAE/Cub,cAAevb,KAAAA,KAAeC,YAGhC,Y,ykBCnHA,SAAS2rC,IAAoB,KAAEtrC,EAAI,MAAES,EAAK,cAAEwa,IAC1C,MAAO2vB,EAAiBC,IAAsBroC,EAAAA,EAAAA,UAAS,CACrDyO,SAAS,EACTxQ,MAAO,CAAC,IAGJqqC,EAAgB3/B,IACpB8P,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACR,CAACT,GAAO,IAAIS,EAAMT,GAAOmL,MAE3B,EACD,EAeG6/B,EAAiB7/B,IACrB,MAAM+J,EAAMzU,EAAMT,GAAMmV,WAAWzX,GAAMA,EAAE+7B,MAAQtuB,EAAEsuB,MACrDxe,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACR,CAACT,GAAO,IAAIS,EAAMT,GAAMoV,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMT,GAAMoV,MAAMF,EAAM,OAEvE,EACD,EA6BG+1B,EAAoBA,KACxBJ,EAAkB/wC,GAAAA,GAAC,CAAC,EAAI8wC,GAAe,IAAE35B,SAAS,IAAQ,EAQ5D,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8sC,GAAAA,EAAA,CACE7sC,UAAWC,GACX6sC,YAAY,EACZC,UAAQ,EACR5qC,KAAK,QACL6qC,YAAa5qC,EAAMT,IAAS,IAAIyT,KAAK/V,GAAC5D,GAAAA,GAAA,GACjC4D,GAAC,IACJf,IAAKe,EAAE+7B,QAET7X,QAAS0oB,IArEMC,KACnBM,EAAkB/wC,GAAAA,GAAC,CAAC,EACf8wC,GAAe,IAClB35B,SAAS,EACTrQ,MAAO,sBACPH,MAAO,CACLg5B,KAAK3M,EAAAA,GAAAA,OAEP8W,OAAQkH,IACR,IAcgB51B,IAClB21B,EAAkB/wC,GAAAA,GAAC,CAAC,EACf8wC,GAAe,IAClB35B,SAAS,EACTrQ,MAAO,0BACPH,MAAK3G,GAAA,GAAO2G,EAAMT,GAAMkV,IACxB0uB,OAAQoH,IACR,IAGiB3wC,UAKP,UAJM0nC,GAAc,0BAA2B,mBAAoB,CAC7E,CAAErhC,MAAO,UACT,CAAEA,MAAO,cAGTua,EAAanhB,GAAAA,GAAC,CAAD,EAEN2G,GAAK,IACR,CAACT,GAAO,IAAIS,EAAMT,GAAMoV,MAAM,EAAGF,MAASzU,EAAMT,GAAMoV,MAAMF,EAAM,OAEpE,EAEJ,MAyBE9W,EAAAA,cAACsnC,GAAe,CACd9kC,MAAOgqC,EAAgBhqC,MACvBqQ,QAAS25B,EAAgB35B,QACzBxQ,MAAOmqC,EAAgBnqC,MACvBya,KF4EsB,CAC5B,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,0BACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,0BACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,MACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,0BACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASgC,eACflrB,MAAO,eACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiC,gBACfjrB,MAAO,iBACPZ,KAAM,OACNujB,UAAW,CAAC,QAAS,QACrBC,YAAa,SACb1iB,KAAM,KEjHFw+B,QAAS2L,EACTrH,OAxByBz4B,IAC7B8/B,IACAL,EAAgBhH,OAAOz4B,EAAE,IA0B7B,CAEAmgC,GAAoB3gC,aAAe,CACjClK,MAAO,CAAC,GAGV6qC,GAAoB7rC,UAAY,CAC9BO,KAAMN,KAAAA,OAAiBC,WACvBc,MAAOf,KAAAA,MAAgB,CAAC,GACxBub,cAAevb,KAAAA,KAAeC,YAGhC,Y,ykBCrGA,MAAM4sB,GAAW,CACftyB,OAAQ,G,ykBCbV,MAAMsyB,GAAW,CACftd,KAAM,GACNs8B,SAAU,GAGZ,SAASC,IAAmB,MAAE/qC,EAAK,QAAE6+B,EAAO,OAAEsE,IAC5C,MAAOhW,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS+pB,KAC9B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJhC,EACF2hC,EAAStoC,GAAAA,GAAC,CAAC,EAAIyyB,IAAa9rB,KAE5B2hC,EAAU7V,IACV+V,GAAkB,GACpB,GACC,CAAC7hC,IAOJ,OACErC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,wBACNuS,OAAQ1S,EACR4S,SAAUisB,EACV1oB,OAAO,YACPC,cAAe,CAAEzV,UAAWihC,GAC5B3rB,KAAMA,IAAMktB,EAAOhW,MAEhBntB,GAAOg5B,KACRr7B,EAAAA,cAAC2c,GACC,CACAta,MAAOmtB,EACP3S,cAlBcA,CAAC9P,EAAG06B,KACxBzD,EAAStoC,GAAC,CAAC,EAAIqR,IACfm3B,EAAkBuD,EAAI,EAiBhB3qB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNY,WAAW,GAQb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,IAGR,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,WACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,GAGR,CACEtjB,KAAMqrB,GAASC,KACfnpB,MAAO,6BACPV,KAAM,MACNc,KAAM,IAGR,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,wCACPV,KAAM,MACNc,KAAM,OAQpB,CAEA0qC,GAAmB7gC,aAAe,CAChClK,MAAO,MAGT+qC,GAAmB/rC,UAAY,CAC7BgB,MAAOf,KAAAA,MAAgB,CAAC,GACxB4/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,YAGzB,YCvGA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,wPCAlG,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA0H,cAA1H,GAAiJ,gB,ykBCgBjJ,MAAM8rC,GAAY,CAChB,CACE7qC,MAAO,QACPjE,IAAK,SACLwB,SAAU,CACR,CACEyC,MAAO,aACPjE,IAAK,cAEP,CACEiE,MAAO,eACPjE,IAAK,WAEP,CACEiE,MAAO,aACPjE,IAAK,YAIX,CACEiE,MAAO,YACPjE,IAAK,WACLwB,SAAU,CACR,CACEyC,MAAO,eACPjE,IAAK,wBAIX,CACEiE,MAAO,YACPjE,IAAK,YACLwB,SAAU,CACR,CACEyC,MAAO,oBACPjE,IAAK,qBAEP,CACEiE,MAAO,kBACPjE,IAAK,iBAEP,CACEiE,MAAO,yBACPjE,IAAK,oBAIX,CACEiE,MAAO,UACPjE,IAAK,eAEP,CACEiE,MAAO,qBACPjE,IAAK,oBAEP,CACEiE,MAAO,kBACPjE,IAAK,aAIH+uC,GAAqB/uC,IACzB,IAAK,MAAMgvC,KAAKF,GAAW,CACzB,GAAIE,EAAEhvC,MAAQA,EAAK,OAAOgvC,EAAE/qC,MAC5B,GAAI+qC,EAAExtC,SACJ,IAAK,MAAMsZ,KAAKk0B,EAAExtC,SAChB,GAAIsZ,EAAE9a,MAAQA,EAAK,OAAO8a,EAAE7W,KAGlC,CACA,MAAO,EAAE,ECtFX,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,qoBCAlG,UAAgB,WAAa,oBAAoB,cAAgB,uBAAuB,eAAiB,wBAAwB,QAAU,iBAAiB,SAAW,kBAAkB,YAAc,qBAAqB,KAAO,cAAc,WAAa,oBAAoB,IAAM,aAAa,UAAY,mBAAmB,gBAAgB,uBAAuB,mBAAmB,2BCa9X,SATAvG,eAA+BuxC,EAASC,GACtC,MAAM,IAAE3yC,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,qBAAsB,CAChEuyC,UACAC,UAEF,GAAY,IAAR3yC,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CACT,E,gBCDA,MAAMuyC,GAAe,CACnBC,OAAQ,CACNzsB,SAAS,EACT6nB,SAAU,UAEZ6E,SAAU,CACRC,QAAQ,GAEVC,UAAW,CACTC,eAAe,EACfntC,SAAU,KAIC,MAAMotC,WAA6BC,EAAAA,UAChDC,oBAAsB,CACpBC,UAAW,EACXC,SAAU,OAGZF,iBAAmB,CACjBG,MAAO/sC,KAAAA,OAAiBC,WACxB+sC,MAAOhtC,KAAAA,OAAiBC,WACxBiB,MAAOlB,KAAAA,OAAiBC,WACxBgtC,WAAYjtC,KAAAA,OAAiBC,WAC7BitC,UAAWltC,KAAAA,OACX6sC,UAAW7sC,KAAAA,OACX8sC,SAAU9sC,KAAAA,OACVmtC,OAAQntC,KAAAA,QAGVotC,UAAYA,CAACL,EAAOrvB,KAClB,MAAM2vB,EAAWN,EAAMrvB,GACvB,IAAK2vB,EAAU,OAAO,KAEtB,MAAMC,EAAS,GACTpqC,EAAkB,GAClBqqC,EAAuB,GACvB1zC,EAAOwzC,EAAS33B,MAAM,EAAG,IAAI3B,KAAI,CAAC/V,EAAG+K,KACzCukC,EAAO1jB,KAAK,GAAG5rB,EAAE+7B,SAASyO,GAAW,IAAMxqC,EAAEwvC,KAAQT,EAAMU,OAAOD,KAAM,OACxEtqC,EAAgB0mB,KAAK2e,GAAcx/B,IACnCwkC,EAAqB3jB,KAAK2e,GAAcx/B,IACjC/K,EAAEwvC,QAGX,IAAIE,EAAa,EAYjB,OAXAL,EAAS33B,MAAM,IAAIma,SAAS7xB,IAC1B0vC,GAAc1vC,EAAEwvC,IAAI,IAGlBE,EAAa,IACf7zC,EAAK+vB,KAAK8jB,GACVJ,EAAO1jB,KAAK,eAAe4e,GAAW,IAAMkF,EAAcX,EAAMU,OAAOD,KAAM,OAC7EtqC,EAAgB0mB,KAAK2e,GAAc,KACnCgF,EAAqB3jB,KAAK2e,GAAc,MAIxC7pC,EAAAA,cAACivC,GAAAA,GAAG,CACFhuC,OAAQ,IACR9F,KAAM,CACJyzC,SACAM,SAAU,CACR,CACE/zC,OACAqJ,kBACAqqC,0BAINx0B,QAASqzB,IACT,EAINhR,MAAAA,GACE,MAAM,MAAE2R,EAAK,MAAEC,EAAK,MAAE9rC,EAAK,WAAE+rC,EAAU,UAAEC,EAAS,UAAEL,EAAS,SAAEC,EAAQ,OAAEK,GAAW1oC,KAAK/H,MACzF,OACEgC,EAAAA,cAAA,OAAKkD,MAAO,CAAEisC,aAAc,KACzBV,GAAUzuC,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAIb,GACvCD,GACCxuC,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAId,KAInCxuC,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,GACT1C,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAI9sC,IAE/BxC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,GACT1C,EAAAA,cAAA,SAAOC,UAAU,eACfD,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAKuuC,GACLvuC,EAAAA,cAAA,UAAI,YAGRA,EAAAA,cAAA,aACGquC,EAAMC,GAAOt3B,MAAMm3B,EAAWA,EAAYC,GAAU/4B,KAAI,CAAC/V,EAAG+K,IAC3DrK,EAAAA,cAAA,MAAIzB,IAAK,WAAW8L,KAClBrK,EAAAA,cAAA,UAAKV,EAAE+7B,KACPr7B,EAAAA,cAAA,MACEkD,MAAO,CACLqsC,WAAY,OACZ5qC,MAAOklC,GAAcx/B,GAAK,GAAmB,IAAd8jC,EAAkB9jC,EAAI,MAGtD/K,EAAEwvC,SAIRX,EAAYC,GAAYC,EAAMC,GAAOhkC,QACpCtK,EAAAA,cAAA,MAAIkD,MAAO,CAAEsB,gBAAiB,YAC5BxE,EAAAA,cAAA,UAAI,SACJA,EAAAA,cAAA,MAAIkD,MAAO,CAAEqsC,WAAY,SAAWlB,EAAMU,OAAOD,UAM3D9uC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IAAmB,IAAdyrC,GAAmBpoC,KAAK2oC,UAAUL,EAAOC,KAIjE,ECjIF,SAASkB,IAAuB,MAAEnB,EAAK,QAAEoB,IACvC,OACEzvC,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,SAAOC,UAAU,eACfD,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,OACJA,EAAAA,cAAA,UAAI,aACJA,EAAAA,cAAA,UAAI,YACJA,EAAAA,cAAA,UAAI,SACJA,EAAAA,cAAA,UAAI,YAGRA,EAAAA,cAAA,aACGuD,KAAG8qC,EAAOoB,EAAS,IAAIp6B,KAAI,CAAC/V,EAAG+K,IAC9BrK,EAAAA,cAAA,MAAIzB,IAAK,WAAW8L,KAClBrK,EAAAA,cAAA,UAAKqK,EAAI,GACTrK,EAAAA,cAAA,UAAKuD,KAAG8qC,EAAO,cAAc/uC,EAAEowC,WAAY,KAC3C1vC,EAAAA,cAAA,UAAKV,EAAEuR,MACP7Q,EAAAA,cAAA,UAAKV,EAAEub,MACP7a,EAAAA,cAAA,UAAKV,EAAEwvC,YAQvB,CAEAU,GAAuBjjC,aAAe,CACpCkjC,QAAS,gBAGXD,GAAuBnuC,UAAY,CACjCgtC,MAAO/sC,KAAAA,MAAgB,CACrBuP,KAAMvP,KAAAA,SACLC,WACHkuC,QAASnuC,KAAAA,QAGX,Y,+NChCA,MAEMquC,GAAO,CACX,CACEnB,UAAW,sCACXF,MAAO,QACP9rC,MAAO,aACP+rC,WAAY,kBAEd,CACEC,UAAW,oCACXF,MAAO,YACP9rC,MAAO,WACP+rC,WAAY,WAEd,CACEC,UAAW,0CACXF,MAAO,YACP9rC,MAAO,SACP+rC,WAAY,UAEd,CACEC,UAAW,0CACXF,MAAO,kBACP9rC,MAAO,iBACP+rC,WAAY,WCtChB,MAKA,GALuBtyC,UACrB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,gBAAiB,CAAC,GAC9D,GAAY,IAARH,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,ECLAy0C,IAAmBtxC,EAAAA,EAAAA,IAAS,CACvCC,IAAK,mBACLC,IAAKvC,OAASuC,eACWqxC,OAKdC,IAAkBxxC,EAAAA,EAAAA,IAAS,CACtCC,IAAK,uBACLC,IAAKA,EAAGA,UACN,MAAM,aAAEuxC,GAAiBvxC,EAAIoxC,IAC7B,OAAOG,CAAY,IAIVC,IAAqB1xC,EAAAA,EAAAA,IAAS,CACzCC,IAAK,qBACLC,IAAKA,EAAGA,UACN,MAAM,WAAEyxC,GAAezxC,EAAIoxC,IAC3B,OAAOK,CAAU,IAIRC,IAAgB5xC,EAAAA,EAAAA,IAAS,CACpCC,IAAK,gBACLC,IAAKA,EAAGA,UACN,MAAM,MAAE2xC,GAAU3xC,EAAIoxC,IACtB,OAAOO,CAAK,IAIHC,IAAe9xC,EAAAA,EAAAA,IAAS,CACnCC,IAAK,eACLC,IAAKA,EAAGA,UACN,MAAM,KAAE6xC,GAAS7xC,EAAIoxC,IACrB,OAAOS,CAAI,IAYFC,KARgBhyC,EAAAA,EAAAA,IAAS,CACpCC,IAAK,gBACLC,IAAKA,EAAGA,UACN,MAAM,MAAER,GAAUQ,EAAIoxC,IACtB,OAAO5xC,CAAK,KAIgBM,EAAAA,EAAAA,IAAS,CACvCC,IAAK,mBACLC,IAAKA,EAAGA,UACN,MAAM,MAAER,GAAUQ,EAAIoxC,IACtB,OAAO5xC,EAAMqB,QAAO,CAAC8wB,EAAG7wB,KAEtB6wB,EAAE7wB,EAAEsC,MAAQtC,EACL6wB,IACN,CAAC,EAAE,KCtCV,SAASogB,GAAkBC,GAEzBzqC,KAAK0qC,UAAYD,EAAIzH,SACrBhjC,KAAK2qC,MAAQF,EAAIG,KAEjB,MAAMC,EAAM3hC,SAASG,cAAc,OACnCwhC,EAAI1tC,MAAM2tC,QACR,6FAGGL,EAAIvtC,mCACYutC,EAAIpuC,KAAK,QAAQouC,EAAIpuC,KAAK,kBACjC,IAAO,IAAMouC,EAAIr1C,KAAKyjB,GACpCgyB,EAAI1tC,MAAMysB,OAAS,OACnBihB,EAAI1tC,MAAM4tC,YAAc,MACxBF,EAAI1tC,MAAM6tC,OAAS,UAEnBH,EAAI1tC,MAAMhC,MAAQ,GAAGsvC,EAAIpuC,KAAK,OAC9BwuC,EAAI1tC,MAAMjC,OAAS,GAAGuvC,EAAIpuC,KAAK,YAEb6J,IAAdukC,EAAIhuC,QACNouC,EAAIpuC,MAAQguC,EAAIhuC,OAGD,OAAbguC,EAAIr1C,KAAey1C,EAAII,UAAYR,EAAIS,GAGzCL,EAAII,UAAY,oCAAoCR,EAAIr1C,KAAKgF,SAASqwC,EAAIr1C,KAAKyjB,UAIjF7Y,KAAKmrC,KAAON,CACd,CAEe,MAAMO,WAAelD,EAAAA,UAClCC,iBAAmB,CACjBkD,UAAW9vC,KAAAA,OAAiBC,WAC5B0uC,WAAY3uC,KAAAA,MAAgBC,WAC5B8vC,OAAQ/vC,KAAAA,KAAeC,WACvB+vC,IAAKhwC,KAAAA,OACLiwC,IAAKjwC,KAAAA,OACLkwC,KAAMlwC,KAAAA,OACNmwC,eAAgBnwC,KAAAA,KAEhBowC,WAAYpwC,KAAAA,OACZqwC,kBAAmBrwC,KAAAA,MAGrBslC,MAAQ,CACNgL,KAAM,GACNC,cAAe,IAGjBC,WAAAA,CAAY9zC,GACV+zC,MAAM/zC,GACN+H,KAAKisC,QAAU,WAAU,IAAIpnB,MAAOC,YACpC9kB,KAAKksC,MAAQ,KAERx9B,OAAOy9B,QAAWz9B,OAAOy9B,OAAOC,MACnCpsC,KAAKqsC,kBAET,CAEAC,iBAAAA,GACEtsC,KAAKusC,SAAU,EAEfxgB,YAAW,KACU,OAAf/rB,KAAKksC,OAAgBlsC,KAAKwsC,eAAe,GAC5C,GACL,CAEAC,gCAAAA,CAAiCC,GAC/B1sC,KAAK2sC,WAAWD,GAEZ1sC,KAAK/H,MAAMszC,MAAQmB,EAAUnB,KAAOvrC,KAAK/H,MAAMuzC,MAAQkB,EAAUlB,KAC/DxrC,KAAKksC,YAA2BhmC,IAAlBwmC,EAAUnB,UAAuCrlC,IAAlBwmC,EAAUlB,KACzDxrC,KAAKksC,MAAMU,UAAU,CAAErB,IAAKmB,EAAUnB,IAAKC,IAAKkB,EAAUlB,KAGhE,CAEAqB,oBAAAA,GACE7sC,KAAKusC,SAAU,SACRvsC,KAAKksC,MACZlsC,KAAKksC,MAAQ,IACf,CAEAG,iBAAmBA,KAEjB39B,OAAO89B,cAAgBxsC,KAAKwsC,cAC5B,MAAMvjC,EAASC,SAASG,cAAc,UACtCJ,EAAOV,IAAM,+CAA+CvI,KAAK/H,MAAMozC,mCACvEniC,SAAS4jC,KAAKtjC,YAAYP,EAAO,EAGnCujC,cAAgBA,KACd,IACGxsC,KAAKusC,SACS,OAAfvsC,KAAKksC,YACahmC,IAAlBwI,OAAOy9B,aACgBjmC,IAAvBwI,OAAOy9B,OAAOC,KAEd,OAGF,MAAM,WAAElC,EAAU,IAAEqB,EAAG,IAAEC,EAAG,KAAEC,GAASzrC,KAAK/H,MAE5C+H,KAAK+sC,WAAa,CAAC,EACnB7C,EAAW9e,SAAS7rB,IAClBS,KAAK+sC,WAAWxtC,EAAE1F,IAAM,CACtByK,EAAG/E,EAAErC,KACLgR,EAAG3O,EAAEytC,GACL5+B,EAAG7O,EAAE0tC,GACL1zC,EAAGgG,EAAE2tC,GACL7gC,EAAG9M,EAAE4tC,GACN,IAGH,MAAMC,EAAO7B,GAAO,UACd8B,EAAO7B,GAAO,UACd8B,EAAQ7B,GAAQ,GAGtBzrC,KAAKksC,MAAQ,IAAIx9B,OAAOy9B,OAAOC,KAAKznB,IAAIzb,SAASiQ,eAAenZ,KAAKisC,SAAU,CAC7EsB,OAAQ,CAAEhC,IAAK6B,EAAM5B,IAAK6B,GAC1B5B,KAAM6B,EACNE,aAAa,EACbC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,eAAe,EACfC,mBAAmB,IAGrB7tC,KAAK8tC,WAAa,IAAIp/B,OAAOy9B,OAAOC,KAAK2B,SAEzC/tC,KAAKguC,UAAY,GACjBhuC,KAAKiuC,cAAgB,EAErBjuC,KAAKkuC,2BAELluC,KAAKmuC,eAELnuC,KAAK2sC,WAAW3sC,KAAK/H,MAAM,EAG7Bm2C,kBAAqBC,IACnB,MAAM,kBAAEzC,GAAsB5rC,KAAK/H,MAC7B2D,EAAM,CAAE2vC,IAAK8C,EAAO9C,MAAOC,IAAK6C,EAAO7C,OAC7CxrC,KAAK8tC,WAAWQ,QAAQ,CAAEpe,SAAUme,IAAU,CAACE,EAASz4C,KAEvC,OAAXA,GAAmBy4C,GAAWA,EAAQhqC,OAAS,IACjD3I,EAAI4yC,MAAQD,EAAQ,GAAGE,kBACvBF,EAAQ,GAAGG,mBAAmBtjB,SAAS7xB,IACjCA,EAAEo1C,QACAp1C,EAAEo1C,MAAMlqC,SAAS,YACnB7I,EAAIgzC,OAASr1C,EAAEs1C,UACNt1C,EAAEo1C,MAAMlqC,SAAS,+BAC1B7I,EAAIkzC,OAASv1C,EAAEs1C,UACNt1C,EAAEo1C,MAAMlqC,SAAS,aAC1B7I,EAAImzC,UAAYx1C,EAAEs1C,WAEtB,KAGAjD,GACFA,EAAkBhwC,EACpB,GACA,EAGJ+wC,WAAc10C,IACZ,IAAKyW,OAAOy9B,SAAWz9B,OAAOy9B,OAAOC,KAAM,OAE3C,MAAM4C,EAAQhvC,MACR,WAAE2rC,GAAe1zC,EAGlB+H,KAAKivC,eACRjvC,KAAKivC,aAAe,IAAIvgC,OAAOy9B,OAAOC,KAAK8C,OAAO,CAChDlM,SAAU,CAAEuI,IAAK,EAAGC,IAAK,GACzBtuC,KAAM,CACJ/H,IAAK,8BACLkH,KAAM,IAAIqS,OAAOy9B,OAAOC,KAAK+C,KAAK,GAAI,IACtCC,OAAQ,IAAI1gC,OAAOy9B,OAAOC,KAAKiD,MAAM,GAAI,KAE3ClnC,OAAQ,IACRmnC,WAAW,EACX7yC,MAAO,cAGTiS,OAAOy9B,OAAOC,KAAK1iC,MAAMlS,YAAYwI,KAAKivC,aAAc,WAAYtxC,IAClEqxC,EAAMZ,kBAAkBzwC,EAAG0wC,OAAO,KAIjC1C,GAIH3rC,KAAKivC,aAAaM,OAAOvvC,KAAKksC,OAC9BlsC,KAAKivC,aAAaO,YAAY,CAAEjE,IAAKI,EAAWJ,IAAKC,IAAKG,EAAWH,OAHrExrC,KAAKivC,aAAaM,OAAO,KAI3B,EAGFpB,aAAeA,KACb,MAAMa,EAAQhvC,KACdA,KAAKyvC,YAAc,IAAI/gC,OAAOy9B,OAAOC,KAAKsD,aAAa,CACrDC,UAAAA,CAAW/6B,EAAIg7B,GACbZ,EAAMa,SAASj7B,EAAGrb,GAAK,GAAKq2C,GAAIh7B,EAAGvI,EAAGujC,EACxC,EACAE,SAAU,IAAIphC,OAAOy9B,OAAOC,KAAK+C,KAAK,IAAK,KAC3CY,OAAO,EACP3nC,QAAS,IAIXpI,KAAKksC,MAAM8D,gBAAgBC,SAAS,EAAGjwC,KAAKyvC,YAAY,EAG1DI,SAAW35C,MAAOqD,EAAG8S,EAAGujC,KACtB,MAAMZ,EAAQhvC,MACR,WAAE2rC,GAAe3rC,KAAK/H,MAExB+H,KAAKiuC,gBAAkBjuC,KAAKksC,MAAMgE,YACpClwC,KAAKiuC,cAAgBjuC,KAAKksC,MAAMgE,UAChClwC,KAAKguC,UAAU5iB,SAASpkB,GAAMA,EAAEuoC,OAAO,QACvCvvC,KAAKguC,UAAY,IAGnB,MAAM,KAAEnC,GAAS7rC,KAAK6gC,OAChB,IAAE9rC,EAAG,KAAEK,SAAeqB,EAAU,YAAYm5C,KAAKvjC,KAAK9S,IAAK,CAAEsyC,SACvD,IAAR92C,GAEEK,EAAKw6C,IAAM5vC,KAAKksC,MAAMgE,WAAa96C,EAAK+6C,GAC1C/6C,EAAK+6C,EAAE/kB,SAASpkB,IACd,GAAY,IAARA,EAAEzH,GACJ,IAAKosC,GAAcA,EAAWrW,MAAQtuB,EAAEnN,GAAI,CAC1C,MAAMu2C,EAAMpwC,KAAK+sC,WAAW/lC,EAAE2iC,KAExB0G,EAAS,IAAI3hC,OAAOy9B,OAAOC,KAAK8C,OAAO,CAC3C5/B,IAAKtP,KAAKksC,MACVlJ,SAAU,CAAEuI,IAAKvkC,EAAEukC,IAAKC,IAAKxkC,EAAEwkC,KAC/BtuC,KAAM,CACJ/H,IAAKi7C,EAAI9rC,EACTjI,KAAM,IAAIqS,OAAOy9B,OAAOC,KAAK+C,KAAKiB,EAAIliC,EAAGkiC,EAAIhiC,GAC7CghC,OAAQ,IAAI1gC,OAAOy9B,OAAOC,KAAKiD,MAAMe,EAAI72C,EAAG62C,EAAI/jC,IAElD5P,MAAOuK,EAAEojB,EAAI,UAAY,aACzBhiB,QAASpB,EAAEojB,EAAI,EAAI,KAGrBimB,EAAOC,IAAMtpC,EACbhH,KAAKguC,UAAU7oB,KAAKkrB,GAEpB3hC,OAAOy9B,OAAOC,KAAK1iC,MAAMlS,YAAY64C,EAAQ,SAAS,SAAU1yC,GAG1DqxC,EAAM/2C,MAAMyzC,gBAEdsD,EAAM/2C,MAAMyzC,eAAe1rC,KAAKswC,IAEpC,GACF,MACK,CACL,IAAIl2C,EAAO,EAEPiC,EAAO,CAAC,GAAI,IACZ2K,EAAEzH,EAAI,GAAKyH,EAAEzH,EAAI,KACnBnF,EAAO,EACPiC,EAAO,CAAC,GAAI,KACH2K,EAAEzH,GAAK,MAChBnF,EAAO,EACPiC,EAAO,CAAC,GAAI,KAGd,MASMg0C,EAAS,IAAI7F,GATH,CACdxH,SAAU,IAAIt0B,OAAOy9B,OAAOC,KAAKmE,OAAOvpC,EAAEukC,IAAKvkC,EAAEwkC,KACjDtuC,KAAM,6BAA6B9C,QACnCiC,OACAuuC,KAAM,CAACvuC,EAAK,GAAK,EAAGA,EAAK,GAAK,GAC9B6uC,GAAI,kCACJ91C,KAAM,CAAEyjB,EAAG7R,EAAEzH,EAAI,IAAM,KAAOyH,EAAEzH,EAAGnF,UAIrCi2C,EAAOC,IAAMtpC,EACbqpC,EAAOd,OAAOvvC,KAAKksC,OACnBlsC,KAAKguC,UAAU7oB,KAAKkrB,GAEpB3hC,OAAOy9B,OAAOC,KAAK1iC,MAAMlS,YAAY64C,EAAQ,SAAU1yC,OAIzD,IAGN,EAGFuwC,yBAA2BA,KACzB1D,GAAkB/qC,UAAY,IAAIiP,OAAOy9B,OAAOC,KAAKoE,YACrDhG,GAAkB/qC,UAAUgxC,MAAQ,WACrBzwC,KAAK0wC,WAAWC,mBACxBnnC,YAAYxJ,KAAKmrC,MACtB,MAAMvyC,EAAKoH,KACXA,KAAK4wC,WAAa,CAChBliC,OAAOy9B,OAAOC,KAAK1iC,MAAMmnC,eAAe7wC,KAAKmrC,KAAM,SAAS,KAC1Dz8B,OAAOy9B,OAAOC,KAAK1iC,MAAMu7B,QAAQrsC,EAAI,QAAQ,IAGnD,EACA4xC,GAAkB/qC,UAAUqxC,SAAW,WACrC9wC,KAAKmrC,KAAK4F,WAAW5N,YAAYnjC,KAAKmrC,MAGtC,IAAK,IAAI7mC,EAAI,EAAG0sC,EAAIhxC,KAAK4wC,WAAWrsC,OAAQD,EAAI0sC,IAAK1sC,EACnDoK,OAAOy9B,OAAOC,KAAK1iC,MAAM/R,eAAeqI,KAAK4wC,WAAWtsC,GAE5D,EACAkmC,GAAkB/qC,UAAUwxC,KAAO,WACjC,MACMjV,EADah8B,KAAKkxC,gBACDC,qBAAqBnxC,KAAK0qC,WACjD1O,EAAIziC,GAAKyG,KAAK2qC,MAAM,GACpB3O,EAAI3vB,GAAKrM,KAAK2qC,MAAM,GAEpB,MAAME,EAAM7qC,KAAKmrC,KACjBN,EAAI1tC,MAAM4lC,KAAO,GAAG/G,EAAIziC,MACxBsxC,EAAI1tC,MAAM8R,IAAM,GAAG+sB,EAAI3vB,KACzB,CAAC,EAGH+kC,YAAezH,IACb,GAAY,IAARA,EACF3pC,KAAKqxC,SAAS,CAAExF,KAAM,SACjB,CACL,MAAM,KAAEA,GAAS7rC,KAAK6gC,MAChB9vB,EAAM86B,EAAK76B,WAAW6H,GAAMA,IAAM8wB,IACpC54B,GAAO,EACT/Q,KAAKqxC,SAAS,CAAExF,KAAM,IAAIA,EAAK56B,MAAM,EAAGF,MAAS86B,EAAK56B,MAAMF,EAAM,MAElE/Q,KAAKqxC,SAAS,CAAExF,KAAM,IAAIA,EAAMlC,IAEpC,CAEA3pC,KAAKksC,MAAM8D,gBAAgBsB,SAAS,GACpCtxC,KAAKiuC,eAAiB,EACtBjuC,KAAKmuC,cAAc,EAGrBxX,MAAAA,GACE,MAAM,WAAEuT,EAAU,OAAEoB,GAAWtrC,KAAK/H,OAC9B,KAAE4zC,EAAI,cAAEC,GAAkB9rC,KAAK6gC,MACrC,OACE5mC,EAAAA,cAAA,OAAKC,UAAU,kEACbD,EAAAA,cAAA,OAAKJ,GAAImG,KAAKisC,QAAS/xC,UAAU,iBAEjCD,EAAAA,cAAA,OAAKC,UAAU,YACbD,EAAAA,cAAA,UACEA,EAAAA,cAAA,MAAIC,UAAU,QAAQG,QAASA,IAAM2F,KAAKoxC,YAAY,IACpDn3C,EAAAA,cAAA,OAAKsO,I,ixEAAoBC,IAAI,iBAE9B0hC,EAAW56B,KAAI,CAAC/V,EAAG+K,IAEhBrK,EAAAA,cAAA,MACEzB,IAAKe,EAAEM,GACPQ,QAASA,IAAM2F,KAAKoxC,YAAY73C,EAAEM,IAClCK,UAA2B,IAAhB2xC,EAAKtnC,QAAgBsnC,EAAKpnC,SAASlL,EAAEM,IAAM,GAAK,SAE3DI,EAAAA,cAAA,OAAKwC,MAAOlD,EAAEuR,KAAMvC,IAAKhP,EAAEg4C,MAAO/oC,IAAKjP,EAAEM,UAOnDI,EAAAA,cAAA,OAAKC,UAAU,iCAAiCL,GAAG,4BACjDI,EAAAA,cAAA,MAAIC,UAAU,WACZD,EAAAA,cAAA,UACEA,EAAAA,cAAA,OAAKC,UAAU,iCACbD,EAAAA,cAAA,OAAKC,UAAU,mBAAmBL,GAAI,GAAGmG,KAAKisC,yBAC9ChyC,EAAAA,cAAA,OACEC,UAAU,iBACVL,GAAI,GAAGmG,KAAKisC,qBACZ5xC,QAASA,IAAMixC,UAOzBrxC,EAAAA,cAAA,OAAKC,UAAU,gBAAgBL,GAAI,GAAGmG,KAAKisC,qBACzChyC,EAAAA,cAAA,SACEG,KAAK,OACL+K,YAAY,gBACZO,MAAOomC,EACPpuC,SAAWC,IACTqC,KAAKqxC,SAAS,CAAEvF,cAAenuC,EAAGC,OAAO8H,OAAQ,EAEnD2T,UAAY1b,IACK,UAAXA,EAAGnF,KACLwH,KAAK8tC,WAAWQ,QAAQ,CAAEkD,QAAS1F,IAAiB,CAACyC,EAASz4C,KAC7C,OAAXA,GAAmBy4C,GAAWA,EAAQhqC,OAAS,IACjDvE,KAAKksC,MAAMuF,MAAMlD,EAAQ,GAAGmD,SAASxhB,UACrClwB,KAAKouC,kBAAkBG,EAAQ,GAAGmD,SAASxhB,UAC7C,GAEJ,KAMNj2B,EAAAA,cAAA,OAAKC,UAAU,iCAAiCL,GAAG,4BACjDI,EAAAA,cAAA,MAAIC,UAAU,WACZD,EAAAA,cAAA,UACEA,EAAAA,cAAA,OACEC,UAAU,oCACVL,GAAG,yBACH,YAAU,mCAGdI,EAAAA,cAAA,UACEA,EAAAA,cAAA,OAAKC,UAAU,8BAA8BL,GAAG,iCAElDI,EAAAA,cAAA,UACEA,EAAAA,cAAA,OAAKC,UAAU,kBAAkBL,GAAG,mCAClCI,EAAAA,cAAA,UACEA,EAAAA,cAAA,MAAIC,UAAU,aACZD,EAAAA,cAAA,gBAKRA,EAAAA,cAAA,UACEA,EAAAA,cAAA,QAAMC,UAAU,aAAa,YAAU,mBACrCD,EAAAA,cAAA,OAAKC,UAAU,yBAAyBL,GAAG,qCAG/CI,EAAAA,cAAA,UACEA,EAAAA,cAAA,QAAMC,UAAU,aAAa,YAAU,iBACrCD,EAAAA,cAAA,OAAKC,UAAU,2BACbD,EAAAA,cAAA,OACEC,UAAU,eACVL,GAAG,6BACHQ,QAASA,IAAM2F,KAAKksC,OAASlsC,KAAKksC,MAAMyF,QAAQ3xC,KAAKksC,MAAMgE,UAAY,KAEzEj2C,EAAAA,cAAA,OACEC,UAAU,gBACVL,GAAG,8BACHQ,QAASA,IAAM2F,KAAKksC,OAASlsC,KAAKksC,MAAMyF,QAAQ3xC,KAAKksC,MAAMgE,UAAY,UA8BzF,ECpfF,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA0H,cAA1H,GAAqJ,oBAArJ,GAA+K,aAA/K,GAAwM,mBCAlM0B,GAAa,CAAC,QAAS,QAAS,QAAS,MCI/C,MACA,GADwB17C,SAAiBhB,EAAQ,kBAAmBoH,G,ykBCJpE,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,gBCa3F,SAASqwB,KAGd,MAAO,CACL7hB,KAAM,mBACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,YACNsiB,MAAM,EACNuH,WAAY,EAVKkd,EAAAA,EAAAA,IAAe5H,IAUH,KAAM,QACnCvS,QAAQ,GAEV,CACE77B,KAAM,UACNiP,KAAM,aACNsiB,MAAM,EACNuH,WAAY,CAACsI,GAAe,KAAM,SAEpC,CACEphC,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,QACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,WACNiP,KAAM,aACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,MACNiP,KAAM,SACNsiB,MAAM,IAId,CA4EO,SAAS4B,KACd,MAAM8iB,GAAiBD,EAAAA,EAAAA,IAAe5H,IACtC,MAAO,CACL,CACE1tC,MAAO,QACPqC,MAAO,WAET,CACExE,KAAMqrB,GAASO,YACfzpB,MAAO,YACPV,KAAM,MACNwa,OAAQy7B,GAEV,CACE13C,KAAMqrB,GAASO,YACfzpB,MAAO,aACPV,KAAM,SACNwa,OAAQ4mB,IAEV,CACE7iC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,UAGR,CACEU,MAAO,iBACPqC,MAAO,WAET,CACExE,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,YAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,YAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,eAGR,CACEU,MAAO,WACPqC,MAAO,WAET,CACExE,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,WAGZ,CAEO,SAASk2C,GAAsB/5C,EAAQg6C,EAAgBC,EAAgBC,GAC5E,MAAO,CACLpnC,KAAM,KACN7S,MAAO,CAAC,QACRwlB,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,WACNsiB,MAAM,EACNliB,QAAQ,EACRwsB,QAAQ,EACRf,OAAQA,CAAC/8B,EAAIsC,KACX,MAAMi2C,EAAgBj8C,gBACdO,EAAU,yBAA0B,CAAEoD,GAAID,EAAG07B,IAAKuL,UACxDqR,GAAc,EAGhB,OACEj4C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,aACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL8C,KAAMjD,EAAAA,cAACsV,GAAAA,EAAa,MACpBlT,KAAK,QACLhC,QAASA,IAAM83C,EAAc,GAC7Bl1C,SAAkB,IAARf,KAGdjC,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,WACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEo1C,QAAM,EACNl1C,KAAMjD,EAAAA,cAACo4C,EAAAA,EAAa,MACpBh2C,KAAK,QACLc,MAAO,CAAEoe,WAAY,GACrBlhB,QAASA,IAAM83C,GAAe,GAC9Bl1C,UAAmB,IAATf,MAIZlE,EAAOs6C,MACPr4C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,sCACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAAC4/B,GAAAA,EAAc,MACrBx9B,KAAK,QACLc,MAAO,CAAEoe,WAAY,IACrBlhB,QAASA,IAAM43C,EAAer4C,MAKnCxD,MAAMC,QAAQ2B,EAAOs6C,OAASt6C,EAAOs6C,KAAK/tC,OAAS,GAClDtK,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,4BACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAACs4C,GAAAA,EAAY,MACnBl2C,KAAK,QACLc,MAAO,CAAEoe,WAAY,IACrBlhB,QAASA,IAAM23C,EAAeh6C,EAAOs6C,KAAK,OAI/C,GAIT,CACEz2C,KAAM,UACNiP,KAAM,YACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACwI,GAA8B,KAAM,SAEnD,CACEthC,KAAM,cACNiP,KAAM,eACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,OACNsiB,MAAM,EACNztB,OAAQ,iBACRvF,KAAM,OACNs9B,QAAQ,GAEV,CACE77B,KAAM,UACNiP,KAAM,UACNsiB,MAAM,EACN7iB,MAAO,SACPosB,OAAQA,CAAC/8B,EAAIsC,KACX,MAAM5G,EAAIgZ,SAASpS,EAAK,IAExB,OAAO+Z,MAAM3gB,GAAK,EAAIA,CAAC,GAG3B,CACEuG,KAAM,OACNiP,KAAM,cACNsiB,MAAM,EACNsK,QAAQ,IAIhB,C,sQCjTA,SAAS8a,IAAqB,QAAE1lC,EAAO,OAAE2yB,EAAM,SAAEvwB,IAC/C,MAAM4iC,GAAiBD,EAAAA,EAAAA,IAAe5H,IAChCwI,GAAYZ,EAAAA,EAAAA,IAAe1H,IAC3BuI,GAAWb,EAAAA,EAAAA,IAAexH,KAEzB5gB,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAU,CAAC,EACb,GACC,CAACnxB,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,sBACNuS,KAAMlC,EACNyF,KAbgBivB,KAClB/B,EAAOhW,EAAO,EAaZ/W,cAAe,CACbzV,UAAWihC,GAEbhvB,SAAUA,GAEVjV,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAjBgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAgBhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,YACPV,KAAM,MACNwa,OAAQy7B,EACRn1C,KAAM,IAER,CACEvC,KAAMqrB,GAASI,SACfvoB,UAAU,EACVb,MAAO,UACPZ,KAAM,SACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASO,YACfzpB,MAAO,aACPV,KAAM,KACNwa,OAAQq8B,EAAS16C,QAAQuB,GAAiB,OAAXA,EAAEsC,OACjCc,KAAM,IAER,CACEvC,KAAMqrB,GAASO,YACfzpB,MAAO,aACPV,KAAM,MACNwa,OAAQq8B,EAAS16C,QAAQuB,GAAiB,QAAXA,EAAEsC,OACjCc,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,KACNc,KAAM,GACN0Z,OAAQ6T,OAAOC,KAAK+S,IAAsB5tB,KAAK2J,IAAC,CAC9Cpf,GAAIyU,SAAS2K,EAAG,IAChBnO,KAAMoyB,GAAqBjkB,QAG/B,CACE7e,KAAMqrB,GAASM,OACfxpB,MAAO,4BACPV,KAAM,OACNc,KAAM,GACN0Z,OAAQ,CAAC,CAAExc,GAAI,GAAIiR,KAAM,eAAgB6nC,OACvCF,GAAWnjC,KAAK4J,IAAE,CAChBrf,GAAIqf,EAAGrf,GACPiR,KAAM,GAAGoO,EAAGpO,SAASoO,EAAGrf,YAI9B,CACEO,KAAMqrB,GAASY,QACf9pB,MAAO,2CAET,CACEnC,KAAMqrB,GAASG,OACfrpB,MAAO,gBACPV,KAAM,gBACNoC,SAAS,MAMrB,CAEAu0C,GAAqBhsC,aAAe,CAAC,EAErCgsC,GAAqBl3C,UAAY,CAC/BwR,QAASvR,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,WACvB0T,SAAU3T,KAAAA,KAAeC,YAG3B,Y,+OC/GA,SAASo3C,IAAmB,QAAE9lC,IAC5B,MAAMglC,GAAiBD,EAAAA,EAAAA,IAAe5H,KAE/B4I,EAAeC,IAAoBz0C,EAAAA,EAAAA,WAAS,IAC5C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,GAE9B4jC,EAAaA,OAEnB,OACEhoC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,oBACNuS,KAAMlC,EACNyF,KAAM0vB,EACNvvB,cAAe,CACbzV,UAAW41C,GAEb3jC,SAAU+yB,IAER4Q,GACA54C,EAAAA,cAAA,WACEA,EAAAA,cAAA+C,EAAAA,EAAA,KAAQ,yBAIX61C,GACC54C,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAgB9P,GAAM46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,IACpC+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,YACPV,KAAM,MACNwa,OAAQy7B,EACRn1C,KAAM,IAER,CACEvC,KAAMqrB,GAASI,SACfvoB,UAAU,EACVb,MAAO,UACPZ,KAAM,SACNc,KAAM,MAOpB,CAEAi2C,GAAmBpsC,aAAe,CAAC,EAEnCosC,GAAmBt3C,UAAY,CAC7BwR,QAASvR,KAAAA,KAAeC,Y,ykBC9D1B,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,+NCKlG,SAASu3C,IAAqB,QAAEjmC,EAAO,MAAExQ,EAAK,OAAEmjC,EAAM,SAAEvwB,IACtD,MAAOua,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAU3hC,EACZ,GACC,CAACwQ,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,2BACNuS,KAAMlC,EACNyF,KAbgBivB,KAClB/B,EAAOhW,EAAO,EAaZ/W,cAAe,CACbzV,UAAWihC,GAEbhvB,SAAUA,GAEVjV,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAjBgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAgBhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASG,OACfrpB,MAAO,KACPV,KAAM,KACNc,KAAM,EACNC,UAAU,GAEZ,CACExC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASwB,cACf1qB,MAAO,iBACPV,KAAM,QACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASwB,cACf1qB,MAAO,kBACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAGR,CACEvC,KAAMqrB,GAASY,QACf9pB,MAAO,6BAET,CACEnC,KAAMqrB,GAASG,OACfrpB,MAAO,SACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,SACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,cACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,cACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,MAMlB,CAEAo2C,GAAqBvsC,aAAe,CAAC,EAErCusC,GAAqBz3C,UAAY,CAC/BwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3BikC,OAAQlkC,KAAAA,KAAeC,WACvB0T,SAAU3T,KAAAA,KAAeC,YAG3B,Y,+NC5GA,SAASw3C,IAAgB,QAAElmC,EAAO,MAAExQ,EAAK,OAAEmjC,EAAM,SAAEvwB,IACjD,MAAOua,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAU3hC,EACZ,GACC,CAACwQ,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,8BACNuS,KAAMlC,EACNyF,KAbgBivB,KAClB/B,EAAOhW,EAAO,EAaZ/W,cAAe,CACbzV,UAAWihC,GAEbhvB,SAAUA,GAEVjV,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAjBgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAgBhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,WACPV,KAAM,OACNwa,OAAQinB,GACR3gC,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,OACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,KACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASK,OACfvpB,MAAO,eACPV,KAAM,MACNyB,UAAU,EACVX,KAAM,IAER,CACEvC,KAAMqrB,GAASK,OACfvpB,MAAO,UACPV,KAAM,MACNyB,UAAU,EACVX,KAAM,OAMlB,CAEAq2C,GAAgBxsC,aAAe,CAAC,EAEhCwsC,GAAgB13C,UAAY,CAC1BwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3BikC,OAAQlkC,KAAAA,KAAeC,WACvB0T,SAAU3T,KAAAA,KAAeC,YAG3B,Y,+NCvFA,SAASy3C,IAAgB,QAAEnmC,EAAO,MAAExQ,EAAK,OAAEmjC,EAAM,SAAEvwB,IACjD,MAAOua,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAU3hC,EACZ,GACC,CAACwQ,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,8BACNuS,KAAMlC,EACNyF,KAbgBivB,KAClB/B,EAAOhW,EAAO,EAaZ/W,cAAe,CACbzV,UAAWihC,GAEbhvB,SAAUA,GAEVjV,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAjBgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAgBhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASG,OACfrpB,MAAO,KACPV,KAAM,KACNc,KAAM,EACNC,UAAU,GAEZ,CACExC,KAAMqrB,GAASC,KACfnpB,MAAO,OACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,MAMrB,CAEAg1C,GAAgBzsC,aAAe,CAAC,EAEhCysC,GAAgB33C,UAAY,CAC1BwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3BikC,OAAQlkC,KAAAA,KAAeC,WACvB0T,SAAU3T,KAAAA,KAAeC,YAG3B,Y,+NCtEA,SAAS03C,IAAgB,QAAEpmC,EAAO,MAAExQ,EAAK,OAAEmjC,EAAM,SAAEvwB,IACjD,MAAOua,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAC/B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAU3hC,EACZ,GACC,CAACwQ,IAWJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,2BACNuS,KAAMlC,EACNyF,KAbgBivB,KAClB/B,EAAOhW,EAAO,EAaZ/W,cAAe,CACbzV,UAAWihC,GAEbhvB,SAAUA,GAEVjV,EAAAA,cAAC2c,GAAS,CACRta,MAAOmtB,EACP3S,cAjBgBA,CAAC9P,EAAGsM,KACxB2qB,E,uWAAStoC,CAAC,CAAC,EAAIqR,IACfm3B,EAAkB7qB,EAAE,EAgBhByD,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,KACPV,KAAM,KACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASwB,cACf1qB,MAAO,kBACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAGR,CACEvC,KAAMqrB,GAASY,QACf9pB,MAAO,6BAET,CACEnC,KAAMqrB,GAASG,OACfrpB,MAAO,SACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,SACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,cACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,cACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,MAMlB,CAEAu2C,GAAgB1sC,aAAe,CAAC,EAEhC0sC,GAAgB53C,UAAY,CAC1BwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CAAC,GAAGC,WAC3BikC,OAAQlkC,KAAAA,KAAeC,WACvB0T,SAAU3T,KAAAA,KAAeC,YAG3B,Y,ykBC3FA,MAAM,MAAE23C,IAAOC,GAAAA,ECbR,MAAMC,IAAwB96C,EAAAA,EAAAA,IAAS,CAC5CC,IAAK,wBACLC,IAAKvC,qBAC0BwqC,GAAU,qBAAVA,CAAgC,oBAAqB,MCNtF,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,ykBCiBlG,MAAMtY,GAAW,CACftyB,OAAQ,EACRw9C,IAAK,EACLC,GAAIx0C,MAAQY,OAAOygC,IACnB3jC,MAAO,GACP+2C,QAAS,GACTnyB,KAAM,GACNoyB,MAAO,GACPC,KAAM,GACNC,gBAAiB50C,IAAM,cAAcY,OAAOygC,IAC5CwT,gBAAiB70C,MAAQY,OAAOygC,K,0DCtBlC,MAaA,GAbmBlqC,MAAO2D,EAAIg6C,KAC5B,MAAM,IAAE9+C,EAAG,OAAEC,SAAiBE,EAAQ,YAAa,CAAE2E,KAAIzE,KAAMy+C,IAC/D,GAAI9+C,EACF,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAM8+C,KAAM9+C,EACfuB,EAAAA,GAAQP,MAAM89C,EAAGt9C,QAAS,QAG5BD,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,KAG1C,MAAO,CAAEA,MAAK,ECEhB,GAbwBmB,MAAO2D,EAAIgnC,KACjC,MAAM,IAAE9rC,EAAG,OAAEC,SAAiBE,EAAQ,kBAAmB,CAAE2E,KAAIgnC,UAC/D,GAAI9rC,EACF,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAM8+C,KAAM9+C,EACfuB,EAAAA,GAAQP,MAAM89C,EAAGt9C,QAAS,QAG5BD,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,KAG1C,MAAO,CAAEA,MAAK,EChBhB,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAAgI,oBAAhI,GAA+J,kBCQ/J,SAASg/C,IAAqB,QAAEjnC,EAAO,IAAEwmC,EAAG,OAAE7T,EAAM,QAAEtE,IACpD,MAAOriC,EAAOk7C,IAAY31C,EAAAA,EAAAA,UAAS,KAEnCC,EAAAA,EAAAA,YAAU,KACJwO,GACFknC,EAASV,EACX,GACC,CAACxmC,IAOJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNrQ,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,6CACrCqB,MAAO,IACPqyB,UAAQ,EACRte,SAAUisB,EACV9rB,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QAASA,IAAMolC,EAAO3mC,IAAQ,aAGhEmB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,UAAU6B,QAAS8gC,GAAS,cAK1ClhC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAg6C,GAAAA,EAAA,CACEC,kBAAgB,EAChBC,WAAS,EACTC,YAAY,EACZC,QA1BQA,CAACC,EAAa75C,KAE5Bu5C,EAASM,EAAY,EAyBfC,SAAUC,GACVF,YAAax7C,KAKvB,CAEAi7C,GAAqBvtC,aAAe,CAAC,EAErCutC,GAAqBz4C,UAAY,CAC/BwR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,WACvB83C,IAAK/3C,KAAAA,QAAkBA,KAAAA,QAAkBC,YAG3C,Y,ykBCtDO,SAASmxB,GAAc8R,GAC5B,MAAO,CACL3zB,KAAM,eACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPosB,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNjyB,MAAO,IAET,CACEU,KAAM,YACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,MACNsiB,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,iBAER,CACEjP,KAAM,SACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,OACNiP,KAAM,iBACNsiB,MAAM,EACNhzB,KAAM,OACNuF,OAAQ,uBAIhB,CC9DA,UAAgB,WAAa,oBAAoB,cAAgB,uBAAuB,QAAU,kBCK3F,SAASgtB,GAAc8R,GAC5B,MAAO,CACL3zB,KAAM,eACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPosB,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNjyB,MAAO,IAET,CACEU,KAAM,aACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,MACNsiB,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,iBAER,CACEjP,KAAM,eACNiP,KAAM,YAER,CACEjP,KAAM,OACNiP,KAAM,cACNsiB,MAAM,EACNhzB,KAAM,OACNuF,OAAQ,sBAEV,CACE9D,KAAM,SACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,eACNiP,KAAM,mBAId,C,uPCzDA,SAAS2pC,IAAe,OAAEC,EAAM,QAAEvZ,IAChC,MAAO7+B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,MAiDnC,OA/CAC,EAAAA,EAAAA,YAAUpI,UACR,GAAIw+C,EAAS,EAAG,CACd,MAAMb,QAAanT,GAAU,OAAVA,CAAkBgU,EAAQ,CAC3C,MACA,OACA,WACA,UACA,QACA,QACA,UACA,kBACA,UACA,SACA,UACA,OACA,SAGmB,IAAjBb,EAAKc,QAAed,EAAKe,aAAe,sBACnCf,EAAKgB,kBAAiBhB,EAAKe,aAAe,cAEnDhT,EAASiS,EACX,MACEjS,EAAS,KACX,GACC,CAAC8S,IAuBFz6C,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GAAO26C,YAClBr4C,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,wCACzCqB,MAAO,IACP6T,KAAM0lC,EAAS,EACflnB,UAAQ,EACRte,SAAUisB,EACV9rB,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,UAAUyE,UAAWX,EAAOjC,QAnB9CnE,iBAKc,UAJM0nC,GAAc,6BAA8B,+BAAgC,CAC5F,CAAErhC,MAAO,UACT,CAAEA,MAAO,qBATbrG,iBACE,MAAM,IAAEnB,SAAcggD,GAAgBL,EAAQ,GACzC3/C,GAAKwB,EAAAA,GAAQkE,KAAK,+BACvB0gC,GACF,CAQI6Z,EAEJ,GAWsE,qBAKhE14C,GAASrC,EAAAA,cAAAg7C,GAAAA,EAAA,CAAUxjC,QAAM,MAExBnV,GACDrC,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAvCR,SAAuB9P,EAAGgsB,GACxB4O,E,uWAAQjsC,CAAC,CAAC,EAAIqR,GAChB,EAsCQ+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,kBACPV,KAAM,MACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,eACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASE,SACfppB,MAAO,4BACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,GACNqB,UAAU,MAOxB,CAEAy2C,GAAejuC,aAAe,CAAC,EAE/BiuC,GAAen5C,UAAY,CACzBo5C,OAAQn5C,KAAAA,OAAiBC,WACzB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YCrLA,UAAgB,WAAa,oBAAoB,cAAgB,uBAAuB,QAAU,kBCK3F,SAASmxB,GAAc8R,GAC5B,MAAO,CACL3zB,KAAM,eACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPosB,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNjyB,MAAO,IAET,CACEU,KAAM,YACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,MACNsiB,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,iBAER,CACEjP,KAAM,WACNiP,KAAM,WACNP,MAAO,SACPosB,OAAQA,CAAC/8B,EAAIsC,IACC,IAARA,EAAkBjC,EAAAA,cAACsV,GAAAA,EAAa,MAC7B,cAGX,CACE1T,KAAM,OACNiP,KAAM,cACNsiB,MAAM,EACNhzB,KAAM,OACNuF,OAAQ,sBAEV,CACE9D,KAAM,SACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,WACNiP,KAAM,iBACNP,MAAO,SACPnQ,KAAM,UAId,C,+NC/DA,SAAS86C,IAAqB,OAAER,EAAM,QAAEvZ,IACtC,MAAO7+B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,MAqEnC,OAnEAC,EAAAA,EAAAA,YAAUpI,UACR,GAAIw+C,EAAS,EAAG,CACd,MAAMb,QAAanT,GAAU,OAAVA,CAAkBgU,EAAQ,CAC3C,MACA,OACA,WACA,UACA,QACA,QACA,UACA,kBACA,UACA,SACA,UACA,OACA,SAGmB,IAAjBb,EAAKc,QAAed,EAAKe,aAAe,sBACnCf,EAAKgB,kBAAiBhB,EAAKe,aAAe,cAEnDhT,EAASiS,EACX,MACEjS,EAAS,KACX,GACC,CAAC8S,IA2CFz6C,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GAAO26C,YAClBr4C,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,wCACzCqB,MAAO,IACP6T,KAAM0lC,EAAS,EACflnB,UAAQ,EACRte,SAAUisB,EACV9rB,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQyE,UAAWX,EAAOjC,QA9B5CnE,iBAKc,UAJM0nC,GAAc,6BAA8B,8BAA+B,CAC3F,CAAErhC,MAAO,UACT,CAAEA,MAAO,oBAlBbrG,iBACE,MAAM,IAAEnB,SAAcggD,GAAgBL,GAAS,GAC1C3/C,GAAKwB,EAAAA,GAAQkE,KAAK,8BACvB0gC,GACF,CAiBIga,EAEJ,GAsBkE,iBAG5Dl7C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,UAAU4B,KAAK,UAAU6C,UAAWX,EAAOjC,QAvB7DnE,iBAMc,UALM0nC,GAChB,6BACA,uCACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,mBAvBnCrG,iBACE,MAAM,IAAEnB,SAAcggD,GAAgBL,EAAQ,GACzC3/C,GACHwB,EAAAA,GAAQkE,KACN,8FAEJ0gC,GACF,CAmBIia,EAEJ,GAcqF,mBAK/E94C,GAASrC,EAAAA,cAAAg7C,GAAAA,EAAA,CAAUxjC,QAAM,MAExBnV,GACDrC,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA9DR,SAAuB9P,EAAGgsB,GACxB4O,E,uWAAQjsC,CAAC,CAAC,EAAIqR,GAChB,EA6DQ+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,kBACPV,KAAM,MACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,eACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,UACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASE,SACfppB,MAAO,4BACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,GACNqB,UAAU,MAOxB,CAEAk3C,GAAqB1uC,aAAe,CAAC,EAErC0uC,GAAqB55C,UAAY,CAC/Bo5C,OAAQn5C,KAAAA,OAAiBC,WACzB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,Y,sFC7MA,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA4H,gBAA5H,GAAqJ,gBAArJ,GAA2K,aAA3K,GAAiM,gBAAjM,GAA4N,kBAA5N,GAA6P,sBAA7P,GAAgS,oBAAhS,GAA8T,iBAA9T,GAA6V,qBAA7V,GAA6X,kBAA7X,GAAwZ,gBAAxZ,GAAib,gBAAjb,GAA0c,gBAA1c,GAAke,eCOle,SAAS65C,IAAmB,OAAEC,EAAM,QAAEna,EAAO,aAAEoa,IAC7C,MAAOzoC,EAAS0oC,IAAcn3C,EAAAA,EAAAA,WAAS,IAChC/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,GAkBpC,OAVAC,EAAAA,EAAAA,YAAU,KACJg3C,EAAS,GACXE,GAAW,GARGt/C,WAChB,MAAMd,QAAasrC,GAAU,gBAAVA,CAA2BrL,EAAQ,IACtDuM,EAASxsC,EAAK,EAOZqgD,CAAUH,KAEVE,GAAW,GACX5T,EAAS,CAAC,GACZ,GACC,CAAC0T,IAGFr7C,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNuC,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,YAIxChgC,MAAM,MACNsB,MAAOH,GAAOwO,KACd0iB,UAAU,GAEVvzB,EAAAA,cAAA,OAAKC,UAAWC,IAAqBmC,GAAOgU,MAC3ChU,GAAOo5C,WAAWpmC,KAAI,CAACqmC,EAAGrxC,IACzBrK,EAAAA,cAAA,OAAKzB,IAAKm9C,EAAE97C,GAAIK,UAAWC,IACzBF,EAAAA,cAAA,OAAKC,UAAWC,IAAe,UAAQmK,EAAI,GAC3CrK,EAAAA,cAAA,OAAKC,UAAWC,IAAgBw7C,EAAEh7C,KAClCV,EAAAA,cAAA,OAAKC,UAAWC,IAAgBw7C,EAAErlC,MAClCrW,EAAAA,cAAA,OAAKC,UAAWC,IACbw7C,EAAEC,SAAStmC,KAAK8a,GACfnwB,EAAAA,cAAA,OAAKzB,IAAK4xB,EAAEvwB,IACVI,EAAAA,cAAA,SAAOJ,GAAIuwB,EAAEvwB,GAAIO,KAAK,aACtBH,EAAAA,cAAA,SAAO6C,QAASstB,EAAEvwB,IAAKuwB,EAAEzvB,YAQzC,CAEA06C,GAAmB7uC,aAAe,CAChC8uC,OAAQ,EACRC,aAAc,MAGhBF,GAAmB/5C,UAAY,CAC7Bg6C,OAAQ/5C,KAAAA,OACR4/B,QAAS5/B,KAAAA,KAAeC,WACxB+5C,aAAch6C,KAAAA,MAAgB,CAAC,IAGjC,Y,0nBC5DO,MAAMs6C,GAAgB,CAC3B,CACEh8C,GAAI,EACJiR,KAAM,2BACNgrC,IAAK77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAKn3C,MAAM,QAAO,6BAEzB,CACE/E,GAAI,EACJiR,KAAM,2BACNgrC,IAAK77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAKn3C,MAAM,YAAW,8BAIlBo3C,GAAuBH,GAAcv8C,QAAO,CAAC8wB,EAAG7wB,IAAC5D,GAAAA,GAAA,GAAWy0B,GAAC,IAAE,CAAC7wB,EAAEM,IAAKN,EAAEu8C,OAAQ,CAAC,GAElFG,GAAkB,CAC7B,CACEp8C,GAAI,EACJiR,KAAM,UACNgrC,IACE77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAACi8C,GAAAA,EAAmB,MAAKt3C,MAAM,WAAU,YAKxD,CACE/E,GAAI,EACJiR,KAAM,UACNgrC,IACE77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAACk8C,EAAAA,EAAmB,MAAKv3C,MAAM,WAAU,YAKxD,CACE/E,GAAI,EACJiR,KAAM,WACNgrC,IACE77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAACm8C,GAAAA,EAAmB,MAAKx3C,MAAM,cAAa,aAK3D,CACE/E,IAAK,EACLiR,KAAM,UACNgrC,IACE77C,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAAC6/B,GAAAA,EAAmB,MAAKl7B,MAAM,SAAQ,aAO3Cy3C,GAAyBJ,GAAgB38C,QACpD,CAAC8wB,EAAG7wB,IAAC5D,GAAAA,GAAA,GAAWy0B,GAAC,IAAE,CAAC7wB,EAAEM,IAAKN,EAAEu8C,OAC7B,CAAC,GAGUQ,GAAgB,CAC3B,CACEz8C,GAAI,EACJiR,KAAM,eAER,CACEjR,GAAI,EACJiR,KAAM,iBAER,CACEjR,GAAI,EACJiR,KAAM,YAIGyrC,GAAyBD,GAAch9C,QAClD,CAAC8wB,EAAG7wB,IAAC5D,GAAAA,GAAA,GAAWy0B,GAAC,IAAE,CAAC7wB,EAAEM,IAAKN,EAAEuR,QAC7B,CAAC,GCtFH,IAAgB,WAAa,oBAAoB,cAAgB,uBAAuB,QAAU,iBAAiB,OAAS,gBAAgB,aAAe,sBAAsB,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,IAAM,c,gBCW5P,SAAS0rC,IAAsB,QAAE1pC,EAAO,QAAEquB,EAAO,OAAEsE,IACjD,MAAOzwB,EAAMynC,IAAWp4C,EAAAA,EAAAA,WAAS,IAC1Bq4C,EAAQC,IAAat4C,EAAAA,EAAAA,UAAS,OAC9Bu4C,EAAQC,IAAax4C,EAAAA,EAAAA,UAAS,OAC9B/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CACjCy4C,IAAK,uBACLC,YAAa,GACbC,KAAM,EACNC,KAAM,EACNC,SAAU,EACVC,SAAU,EACVxxC,MAAO,GAAG5G,MAAQq4C,SAAS,EAAG,OAAOz3C,OAAO,mBAAmBZ,MAAQY,OAAO,gBAC9E03C,WAAY,GACZC,IAAK,EACLC,KAAM,MAGRj5C,EAAAA,EAAAA,YAAU,KACJwO,EACF2pC,GAAQ,IAERA,GAAQ,GACRI,EAAU,MACVF,EAAU,MACZ,GACC,CAAC7pC,KAEJxO,EAAAA,EAAAA,YAAU,KAENu4C,EADEH,EAEA,6BAA6BA,WAAgB7nC,mBAAmBmb,KAAKC,UAAU3tB,MAEpE,KAAK,GACnB,CAACo6C,EAAQp6C,IAgEZ,OACErC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,wBACNuS,KAAMA,EACN7T,MAAO,IACP+T,SAAUisB,EACV1oB,OAAO,YACPF,KA7DsBilC,KACxB,MAAM5Q,EAAW19B,SAASuuC,uBAAuB,2BACjD,GAAI7Q,GAAUriC,OAAS,EAAG,CACxB,MACMmzC,EADY9Q,EAAS,GACCj7B,UAAU,aAEhCgsC,EAAUzuC,SAASiQ,eAAe,iBAClCy+B,EAAMD,EAAQE,WAAW,MACzB9tC,EAAM,IAAIwB,MAEhBxB,EAAIyB,OAAS,KAEXmsC,EAAQz8C,OAASy8C,EAAQx8C,OAAS4O,EAAI7O,OAAS6O,EAAI5O,OAGnD,MAAM28C,EAAK5uC,SAASG,cAAc,UAC5B0uC,EAAOD,EAAGD,WAAW,MAE3BC,EAAG38C,MAAoB,GAAZ4O,EAAI5O,MACf28C,EAAG58C,OAAsB,GAAb6O,EAAI7O,OAChB68C,EAAKC,UAAUjuC,EAAK,EAAG,EAAG+tC,EAAG38C,MAAO28C,EAAG58C,QAGvC68C,EAAKC,UAAUF,EAAI,EAAG,EAAc,GAAXA,EAAG38C,MAAyB,GAAZ28C,EAAG58C,QAG5C08C,EAAII,UACFF,EACA,EACA,EACW,GAAXA,EAAG38C,MACS,GAAZ28C,EAAG58C,OACH,EACA,EACAy8C,EAAQx8C,MACRw8C,EAAQz8C,QAGV,MAAM+8C,EAAeN,EAAQhsC,UAAU,aAGjCusC,EAAY,CAChBxB,SACAyB,OAAQ77C,EACRk3C,QAASyE,GAEXliD,QAAQoL,IAAI+2C,GAEZzY,EAAOyY,EAAU,EAEnBnuC,EAAIxB,IAAMmvC,CACZ,IAYEz9C,EAAAA,cAAA2jB,GAAAA,EAAA,MACIg5B,GACA38C,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAACmlC,GAAW,CACVC,WAAW,OACX/uB,KAAK,GACLgvB,QAlHQ,SAmHRG,OA9EW2Y,EAAGv+C,SACxB88C,EAAU98C,EAAG,EA8EH6lC,cA3EUA,KACpB3pC,QAAQoL,IAAI,eAAe,KA+EtBy1C,GACC38C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAACo+C,GAAAA,GAAQ,CAACjtC,KAAMwrC,GACd38C,EAAAA,cAACq+C,GAAAA,GAAI,CAACjnB,WAAY,MAGtBp3B,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,GACT1C,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAgB9P,GAAM46B,EAAS56B,GAC/B+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,eACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,gBACPV,KAAM,cACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,IACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,IACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAAS2B,qBACf7qB,MAAO,2BACPV,KAAM,WACNyB,UAAU,EACVX,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,aACPV,KAAM,QACNc,KAAM,GACN+rB,KAAyB,IAAnBpsB,EAAM66C,UAEd,CACE/8C,KAAMqrB,GAASG,OACfrpB,MAAO,gBACPV,KAAM,aACNc,KAAM,GACN+rB,KAAyB,IAAnBpsB,EAAM66C,UAEd,CACE/8C,KAAMqrB,GAASG,OACfrpB,MAAO,IACPV,KAAM,MACNc,KAAM,EACN+rB,KAAyB,IAAnBpsB,EAAM66C,UAEd,CACE/8C,KAAMqrB,GAASG,OACfrpB,MAAO,IACPV,KAAM,MACNc,KAAM,EACN+rB,KAAyB,IAAnBpsB,EAAM66C,gBAQ1Bl9C,EAAAA,cAAA,UAAQJ,GAAG,gBAAgBsB,MAAM,MAAMgC,MAAO,CAAEge,QAAS,UAG/D,CAEAq7B,GAAsBhwC,aAAe,CAAC,EAEtCgwC,GAAsBl7C,UAAY,CAChCwR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,YAGzB,YCnNA,SAAS+8C,IAAsB,KAAEvpC,EAAI,QAAEmsB,EAAO,KAAEnb,EAAI,aAAEu1B,EAAY,MAAEiD,EAAK,cAAEC,IACzE,MAAOC,EAAOC,IAAYt6C,EAAAA,EAAAA,UAAS,IAMnC,OACEpE,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMA,EACNvS,MAAM,wCACNyS,SAAUisB,EACVhgC,MAAM,MACNkU,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,aAKvCnb,GAAM01B,WAAWnxC,OAAS,GACzBtK,EAAAA,cAAAm5C,GAAAA,EAAA,CAAUwF,UAAWF,EAAOh7C,SAjBjBub,IACf0/B,EAAS1/B,EAAE,GAiBJ+G,EAAK01B,UACH19C,QAAQ+iB,GAAuB,IAAdA,EAAK3gB,OACtBkV,KAAI,CAACyL,EAAMhK,IACV9W,EAAAA,cAAAm5C,GAAAA,EAAUD,MAAK,CACb36C,IAAKuiB,EAAKlhB,GACVmzB,OAAQ,UAAUjc,EAAM,IACxB8nC,MAAO,CACS,IAAd99B,EAAK3gB,MACHH,EAAAA,cAAA,QAAMzB,IAAI,OAAO0B,UAAWC,GAAO2+C,QAAQ,mBAI7C9gD,OAAOypC,UAETxnC,EAAAA,cAAA,OAAKC,UAAWC,GAAO4+C,QACrB9+C,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,OAAKC,UAAWC,GAAO6+C,QAAQ,UAC/B/+C,EAAAA,cAAA,OAAKC,UAAWC,GAAO+B,KAAM6e,EAAKpgB,OAGtCV,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,OAAKC,UAAWC,GAAO6+C,QAAQ,aAC/B/+C,EAAAA,cAAA,OAAKC,UAAWC,GAAO+B,KAAM6e,EAAKzK,QAGvB,IAAdyK,EAAK3gB,MACJH,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,MACJA,EAAAA,cAAA,UAAI,oBACJA,EAAAA,cAAA,UAAI,SACHs7C,GACCt7C,EAAAA,cAAA,MAAIkD,MAAO,CAAEhC,MAAO,GAAIyP,UAAW,WAAY,aAEhD6tC,GACCx+C,EAAAA,cAAA,MAAIkD,MAAO,CAAEhC,MAAO,GAAIyP,UAAW,WAAY,kBAIrD3Q,EAAAA,cAAA,aACG8gB,EAAK66B,QAAQtmC,KAAI,CAAC2pC,EAAK30C,IACtBrK,EAAAA,cAAA,MAAIzB,IAAKygD,EAAIp/C,IACXI,EAAAA,cAAA,UAAKqK,EAAI,GACTrK,EAAAA,cAAA,UACgB,IAAbg/C,EAAI7+C,KAAaH,EAAAA,cAACsV,GAAAA,EAAa,CAACpS,MAAO,CAAEyB,MAAO,SAAc,IAEjE3E,EAAAA,cAAA,UAAKg/C,EAAIt+C,KACR46C,GACCt7C,EAAAA,cAAA,MAAIkD,MAAO,CAAEhC,MAAO,GAAIyP,UAAW,WACtB,IAAV4tC,GAKS,IAHNzU,GACG,IAAMwR,EAAa,GAAGx6B,EAAKlhB,MAAMo/C,EAAIp/C,MAAS2+C,EAC/C,GAHF,GAMAzU,GACG,IAAMwR,EAAa,GAAGx6B,EAAKlhB,MAAMo/C,EAAIp/C,MAAS2+C,EAC/C,IAITC,GACCx+C,EAAAA,cAAA,MAAIkD,MAAO,CAAEhC,MAAO,GAAIyP,UAAW,WACU,IAA1C6tC,EAAc,GAAG19B,EAAKlhB,MAAMo/C,EAAIp/C,MAC/BI,EAAAA,cAACsV,GAAAA,EAAa,MAEd,cAgBlC,CAEAgpC,GAAsB/xC,aAAe,CACnC+uC,aAAc,KACdiD,MAAO,EACPC,cAAe,MAGjBF,GAAsBj9C,UAAY,CAChC0T,KAAMzT,KAAAA,KAAeC,WACrB2/B,QAAS5/B,KAAAA,KAAeC,WACxBwkB,KAAMzkB,KAAAA,MAAgB,CACpBm6C,UAAWn6C,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,MAC7CC,WACH+5C,aAAch6C,KAAAA,MAAgB,CAAC,GAC/Bi9C,MAAOj9C,KAAAA,OACPk9C,cAAel9C,KAAAA,MAAgB,CAAC,IAGlC,Y,ykBChGA,MAAM29C,GAAU,IAAIC,GAAAA,EAEdC,GAAoBC,IACxB,IAAIC,EAAYv6C,MAAQuD,OAAO,GAI/B,OAHI+2C,EAAO90C,OAAS,IAClB+0C,EAAYv6C,IAAMs6C,EAAOA,EAAO90C,OAAS,GAAGg1C,OAAO52C,IAAI,GAAI,YAEtD,CACL9I,IAAI8uB,EAAAA,GAAAA,IAAO,GACX6wB,QAASF,EAAUlzC,cACnBmzC,MAAOD,EAAU32C,IAAI,GAAI,WAAWyD,cACpC6a,KAAM,GACP,EAGGw4B,GAAkBA,KAAA,CACtB5/C,GAAI,EACJ6/C,UAAW,EACXF,QAASz6C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IAClC4b,MAAOx6C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IAChC+X,UAAW,EACX8C,MAAO,EACPmB,QAAS,EACTC,SAAU,IAGNC,GAAuB3jD,gBACR4jD,EAAW,gBAAXA,CAA4B,EAAG,IAAM,CAAC,EAAG,CAAC,MAAO,QAAS,OAAQ,IACzEplC,KAAKpF,KAAK/V,IAAC,CACrBM,GAAIN,EAAE+7B,IACNxqB,KAAMvR,EAAEuR,SAINivC,GAAyBC,GAAY9jD,UACzC,MAAM+jD,EAAS,GACf,IAAK,MAAMl/B,KAAQrG,EAAM,CACvB,IAAIsD,EAAc+C,EAAKhD,MACA,MAAnBC,EAAY,KAAYA,EAAc,IAAIA,KAC9CiiC,EAAO90B,KAAKnN,EACd,CACA,MAAM5iB,QAAaa,EAAY,0CAA2C,CACxE+jD,UACAC,WAGFlrC,GAAAA,EAAMtU,KAAK,CACTgC,MAAO,yBACPwlB,QACEhoB,EAAAA,cAAA,WACEA,EAAAA,cAAA,UAAI,kCACF7E,EAAK8kD,eAAiB,IAAI5qC,KAAK/V,GAC/BU,EAAAA,cAAA,WAAMV,MAIZgZ,IAAAA,GAAQ,GACR,EAGE4nC,GAAkB,CACtB,CACE19C,MAAO,SACPspC,UAAW,OACXvtC,IAAK,QAEP,CACEiE,MAAO,SACPspC,UAAW,MACXvtC,IAAK,MACL+R,MAAO,U,gBCvFX,SAlBA,WACE,OAAOrU,MAAO4B,EAAMC,EAAUC,EAAQC,EAAOC,EAAUC,EAAWC,KAChE,MAAM,IAAErD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,wBAAyB,CACnE0C,WAAY,iBACZC,KAAM,EACNC,OACAC,WACAC,SACAC,QACAC,WACAC,YACAE,SAAUD,IAEZ,GAAY,IAARrD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,CAEf,E,omBCTA,SAASglD,IAAa,MAAE99C,EAAK,SAAEoB,EAAQ,SAAEqgB,IAevC,OACE9jB,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK1jB,UAAWC,IACdF,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA6M,GAAAA,EAAA,CACEpB,MAAOpJ,EAAM3B,IACb+C,SAnBcC,IACpBD,EAAQ/H,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR3B,IAAKgD,EAAGC,OAAO8H,QACf,EAgBI20C,YACEpgD,EAAAA,cAAAigB,GAAAA,EAAA,CACEogC,aAAc,EACdpgD,UAAU,gBACVwD,SAjBUxB,IACpBwB,EAAQ/H,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRlC,KAAM8B,IACN,EAcQwJ,MAAOpJ,EAAMlC,KACb+C,MAAO,CAAEhC,MAAO,MAEhBlB,EAAAA,cAAAigB,GAAAA,EAAQK,OAAM,CAAC7U,MAAO,GAAG,iBACzBzL,EAAAA,cAAAigB,GAAAA,EAAQK,OAAM,CAAC7U,MAAO,GACpBzL,EAAAA,cAAA,QAAMkD,MAAO,CAAEyB,MAAO,qBAAsB,gBAIlDC,OAAQ5E,EAAAA,cAACwO,GAAAA,EAAc,CAACpO,QAASA,IAAM0jB,EAASzhB,GAAQpC,UAAWC,QAK7E,CAWA,SAASogD,IAAyB,QAAEztC,EAAO,MAAExQ,EAAK,QAAE6+B,EAAO,OAAEsE,EAAM,SAAE1hB,IACnE,MAAO0L,EAAQwU,IAAa5/B,EAAAA,EAAAA,UAAS,CAAC,IAEtCC,EAAAA,EAAAA,YAAU,KACJwO,GACFmxB,EAAStoC,GAAC,CACRigD,QAAS,IACNt5C,GAEP,GACC,CAACwQ,IAGJ,MAgCM0tC,EAAexzC,IACnB,MAAM+J,EAAM0Y,EAAOmsB,QAAQ5kC,WAAWzX,GAAMA,EAAEM,KAAOmN,EAAEnN,KACnDkX,GAAO,GACTktB,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTmsB,QAAS,IAAInsB,EAAOmsB,QAAQ3kC,MAAM,EAAGF,GAAM/J,KAAMyiB,EAAOmsB,QAAQ3kC,MAAMF,EAAM,MAEhF,EAGI0pC,EAAezzC,IACnB,MAAM+J,EAAM0Y,EAAOmsB,QAAQ5kC,WAAWzX,GAAMA,EAAEM,KAAOmN,EAAEnN,KACnDkX,GAAO,GACTktB,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTmsB,QAAS,IAAInsB,EAAOmsB,QAAQ3kC,MAAM,EAAGF,MAAS0Y,EAAOmsB,QAAQ3kC,MAAMF,EAAM,MAE7E,EAuDF,OACE9W,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNrQ,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,6BAA4B,0BACjDqB,MAAO,IACPkU,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM2E,MAAO,CAAEsS,YAAa,QAAUpV,QA3ClCnE,UAOR,UANM0nC,GAChB,mBACA,+EACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,cAI/BwhB,EAAS0L,EACX,GAkC8E,kBAG1ExvB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAAS8gC,GAAS,UAGtClhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAUC,QArCpBnE,UAClB,IAAIwkD,GAAU,EAQd,GANoB,IAAhBjxB,EAAOrvB,MACTqvB,EAAOmsB,QAAQxqB,SAASxxB,IACjBA,EAAGe,MAAK+/C,GAAU,EAAI,IAI1BA,EACA,CAMS,UALM9c,GAChB,sBACA,qEACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,gBAG/BkjC,EAAM9pC,GAAAA,GAAC,CAAC,EACH8zB,GAAM,IACTmsB,QAASnsB,EAAOmsB,QAAQ59C,QAAQ4B,GAAOA,EAAGe,QAGhD,MAbc8kC,EAAOhW,EAarB,GAe4D,eAK1DxvB,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK1jB,UAAWC,IACdF,EAAAA,cAAA4C,GAAAA,EAAA,KAAK,iDAEP5C,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK+8B,QAAQ,gBAAgBzgD,UAAWC,IACtCF,EAAAA,cAAA4C,GAAAA,EAAA,KAAK,WACL5C,EAAAA,cAAA4C,GAAAA,EAAA,KACE5C,EAAAA,cAAAwD,GAAAA,EAAA,CAAUC,SA/HKwb,IACrB,MAAM9e,EAAO8e,EAAGtb,OAAOC,QAAU,EAAI,EACrCogC,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTmsB,QAAkB,IAATx7C,EAAa,GAAKqvB,EAAOmsB,QAClCgF,OAAiB,IAATxgD,EAAa,GAAKqvB,EAAOmxB,OACjCxgD,SACA,EAwHuCyD,UAAW4rB,EAAOrvB,MAAM,oBAK/DH,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKzgB,MAAO,CAAEisC,aAAc,KAC1BnvC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CAACjN,MAAO+jB,EAAO9uB,IAAK+C,SA5HtBwb,IACnB+kB,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACT9uB,IAAKue,EAAGtb,OAAO8H,QACf,MA2HAzL,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK1jB,UAAWC,IACdF,EAAAA,cAAA4C,GAAAA,EAAA,KAAK,eAEP5C,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKzgB,MAAO,CAAEisC,aAAc,KAC1BnvC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CAACjN,MAAO+jB,EAAOnZ,KAAM5S,SA7HtBwb,IACpB+kB,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTnZ,KAAM4I,EAAGtb,OAAO8H,QAChB,MA4HAzL,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK1jB,UAAWC,IACdF,EAAAA,cAAA4C,GAAAA,EAAA,KAAK,4CAGU,IAAhB4sB,EAAOrvB,MACNH,EAAAA,cAAAA,EAAAA,SAAA,MACIwvB,EAAOmsB,SAAW,IAAItmC,KAAK2pC,GAC3Bh/C,EAAAA,cAACmgD,GAAY,CAAC5hD,IAAKygD,EAAIp/C,GAAIyC,MAAO28C,EAAKv7C,SAAU88C,EAAaz8B,SAAU08B,MAE1ExgD,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,KACE5C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAxGCwgD,KACnB5c,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTmsB,QAAS,IACJnsB,EAAOmsB,QACV,CACE/7C,IAAI8uB,EAAAA,GAAAA,IAAO,GACXhuB,IAAK,GACLP,KAAM,MAGV,EA6FuC+C,MAAO,CAAEwN,UAAW,GAAKtO,KAAK,SAAQ,qBAQ5D,IAAhBotB,EAAOrvB,MACNH,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKzgB,MAAO,CAAEisC,aAAc,KAC1BnvC,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CAACjN,MAAO+jB,EAAOmxB,OAAQl9C,SA/I1Bwb,IACpB+kB,EAAStoC,GAAAA,GAAC,CAAC,EACN8zB,GAAM,IACTmxB,OAAQ1hC,EAAGtb,OAAO8H,QAClB,MAiJN,CAnMA00C,GAAa9+C,UAAY,CACvBgB,MAAOf,KAAAA,MAAgB,CACrBZ,IAAKY,KAAAA,OACLnB,KAAMmB,KAAAA,SACLC,WACHkC,SAAUnC,KAAAA,KAAeC,WACzBuiB,SAAUxiB,KAAAA,KAAeC,YA+L3B++C,GAAyB/zC,aAAe,CAAC,EAEzC+zC,GAAyBj/C,UAAY,CACnCwR,QAASvR,KAAAA,KAAeC,WACxBc,MAAOf,KAAAA,MAAgB,CACrBq6C,QAASr6C,KAAAA,QAAkBA,KAAAA,MAAgB,CAAC,MAC3CC,WACH2/B,QAAS5/B,KAAAA,KAAeC,WACxBikC,OAAQlkC,KAAAA,KAAeC,WACvBuiB,SAAUxiB,KAAAA,KAAeC,YAG3B,YCjQas/C,GAAsBA,KAAA,CACjChwC,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,qBACNiP,KAAM,kBACNsiB,MAAM,EACNuJ,OAAS5b,GACP,GAAGhc,IAAMgc,GAAMggC,YAAYvB,SAAS75C,OAAO,eAAeZ,IACxDgc,GAAMigC,WAAWzB,OACjB55C,OAAO,iBAEb,CACE9D,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IAAQm6C,GAAuBn6C,IAEhD,CACEL,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IAAQ85C,GAAqB95C,IAE9C,CACEL,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNuH,WAAY,CAAC2hB,GAAe,KAAM,SAEpC,CACEz6C,KAAM,QACNiP,KAAM,uBACNsiB,MAAM,EACNsK,QAAQ,MC5Bd,SAASujB,IAAuB,OAAE3F,EAAM,QAAEna,IACxC,MAAMnL,GAAUC,EAAAA,EAAAA,OAETnjB,EAAS0oC,IAAcn3C,EAAAA,EAAAA,WAAS,IAEvCC,EAAAA,EAAAA,YAAU,KAENk3C,EADEF,EAAS,EAIb,GACC,CAACA,IAMJ,OACEr7C,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNrQ,MACExC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kCAAiC,yCAIjDoV,SAAUisB,EACV9rB,OAAQpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAAS8gC,GAAS,WAClChgC,MAAM,OAENlB,EAAAA,cAACu0B,GAAU,CACTvC,YAAaivB,KACbvuB,cAAemuB,KACfpsB,gBAAiB,KACjBO,SAAU,CAAC,qBAAsB,GACjCJ,WAAY,CACV,UAAWymB,GAEbpmB,WAxBcnU,IAClBiV,EAAQ7K,KAAK,wBAAwBpK,EAAKua,MAAM,EAwB5CnG,UAAW,CAAC,wBAAyB93B,EAAoBK,GACzDU,YAAa,CAAC,UAItB,CAEA6iD,GAAuBz0C,aAAe,CAAC,EAEvCy0C,GAAuB3/C,UAAY,CACjCg6C,OAAQ/5C,KAAAA,OAAiBC,WACzB2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,Y,ykBC1CA,SAlBA,WACE,OAAOtF,MAAO4B,EAAMC,EAAUC,EAAQC,EAAOC,EAAUC,EAAWC,KAChE,MAAM,IAAErD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,uBAAwB,CAClE0C,WAAY,gBACZC,KAAM,EACNC,OACAC,WACAC,SACAC,QACAC,WACAC,YACAE,SAAUD,IAEZ,GAAY,IAARrD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,CAEf,E,ylBCEA,SAlBA,SAAuBwC,EAAYC,EAAO,GACxC,OAAO3B,MAAO4B,EAAMC,EAAUC,EAAQC,EAAOC,EAAUC,EAAWC,KAChE,MAAM,IAAErD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,sBAAuB,CACjE0C,aACAC,OACAC,OACAC,WACAC,SACAC,QACAC,WACAC,YACAE,SAAUD,IAEZ,GAAY,IAARrD,EAAW,MAAMD,EAASC,EAAKC,GACnC,OAAOI,CAAI,CAEf,ECpBA,GAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBCUlG,SAAS+lD,IAA2B,QAAEruC,EAAO,QAAEquB,EAAO,SAAElmB,IACtD,OACEhb,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMlC,EACNrQ,MACExC,EAAAA,cAACF,GAAQ,CAACD,IAAI,+BAA8B,gDAI9CoV,SAAUisB,EACV9rB,OAAQpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAAS8gC,GAAS,WAClChgC,MAAM,OAEL2R,GACC7S,EAAAA,cAACu0B,GAAU,CACTvC,YAAaivB,KACbvuB,cAAemuB,KACfpsB,gBAAiB,KACjBO,SAAU,CAAC,qBAAsB,GACjCJ,WAAY,CAAC,EACbK,WAAavxB,GAAOsX,EAAStX,EAAG23B,KAChCnG,UAAW,CAAC,wBAAyB93B,EAAoBK,GACzDU,YAAa,CAAC,QACdi2B,aAAa,WAKvB,CAEA8sB,GAA2B30C,aAAe,CAAC,EAE3C20C,GAA2B7/C,UAAY,CACrCwR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,KAAeC,WACxByZ,SAAU1Z,KAAAA,KAAeC,YAG3B,Y,2PCvBA,MAAM4/C,GAAeA,CAACC,EAAqBC,EAAuBC,IAA0B,CAC1F,CACE9+C,MAAO,kBACPspC,UAAW,QACXvtC,IAAK,QACL2C,MAAO,IACPw7B,OAAQA,CAACrjB,EAAG1Z,IACNA,EAAG4hD,SAASC,WAAa7hD,EAAG4hD,SAASE,QAErCzhD,EAAAA,cAAA,QAAMkD,MAAO,CAAE4sB,WAAY,WAAa,GAAGhrB,IAAMnF,EAAG4hD,QAAQC,WAAW97C,OACrE,eACMZ,IAAMnF,EAAG4hD,QAAQE,SAAS/7C,OAAO,iBAGtC,IAGX,CACElD,MAAO,SACPspC,UAAW,SACXvtC,IAAK,SACL2C,MAAO,IACPw7B,OAAQA,CAACrjB,EAAG1Z,IAAOy8C,GAAuBz8C,EAAG4hD,SAAS1lD,SAExD,CACE2G,MAAO,MACPspC,UAAW,OACXvtC,IAAK,OACL2C,MAAO,IACPw7B,OAAQA,CAACrjB,EAAG1Z,IAAOo8C,GAAqBp8C,EAAG4hD,SAASG,OAEtD,CACEl/C,MAAO,MACPspC,UAAW,OACXvtC,IAAK,OACL2C,MAAO,IACPw7B,OAAQA,CAACrjB,EAAG1Z,KACTA,EAAG4hD,SAASphD,MAAQ,IAAIkV,KAAKssC,GAC5B3hD,EAAAA,cAAA87C,GAAAA,EAAA,CAAKv9C,IAAKojD,EAAGh9C,MAAM,SAChB23C,GAAuBqF,OAIhC,CACEn/C,MAAO,WACPspC,UAAW,OACXvtC,IAAK,OACLm+B,OAAQA,CAACrjB,EAAG1Z,IAAOK,EAAAA,cAAC4hD,EAAAA,GAAI,CAACC,GAAI,wBAAwBliD,EAAG4hD,QAAQlmB,OAAQ17B,EAAG4hD,QAAQ1wC,OAErF,CACErO,MAAO,GACPspC,UAAW,cACXvtC,IAAK,cACL+R,MAAO,SACPwxC,MAAO,QACP5gD,MAAO,GACPw7B,OAAQA,CAACrjB,EAAG1Z,IACVK,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACL8C,KAAMjD,EAAAA,cAAC+hD,GAAAA,EAAiB,MACxB3hD,QAASA,IAAMihD,EAAsB1hD,GACrCqD,SAA4B,IAAlBrD,EAAGomB,MAAMjX,QAIzB,CACEtM,MAAOxC,EAAAA,cAACgiD,GAAAA,EAAyB,MACjClW,UAAW,OACXvtC,IAAK,OACL+R,MAAO,SACPwxC,MAAO,QACP5gD,MAAO,GACPw7B,OAAQA,CAACrjB,EAAG1Z,IACY,IAAlBA,EAAGomB,MAAMjX,KACPnP,EAAGomB,MAAMslB,QACJ1rC,EAAG4hD,SAASU,aAAaxF,OAC9Bz8C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAO8C,KAAMjD,EAAAA,cAACilC,GAAAA,EAAW,MAAK7kC,QAASA,IAAMkhD,EAAsB3hD,KAEhF,OAEG,WAEHA,EAAG4hD,SAASx7B,MAAMnmB,GAAK,EAItB,YAHED,EAAG4hD,SAASU,aAAaxF,OAC9Bz8C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAO8C,KAAMjD,EAAAA,cAACilC,GAAAA,EAAW,MAAK7kC,QAASA,IAAMkhD,EAAsB3hD,KAC9E,MAIV,CACE6C,MAAO,GACPspC,UAAW,SACXvtC,IAAK,SACL+R,MAAO,SACPwxC,MAAO,QACP5gD,MAAO,GACPw7B,OAAQA,CAACrjB,EAAG1Z,IACVK,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAO8C,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MAAKpO,QAASA,IAAMghD,EAAoBzhD,OC1HvF,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBCKrF+yB,GAAgBA,CAAC8R,EAAmBsB,KAAoB,CACnEj1B,KAAM,KACN7S,MAAO,CAAC,iBAAkB,OAC1BwlB,QAAS,CACP,CACE5hB,KAAM,MACNiP,KAAM,GACN3P,MAAO,GACPoP,MAAO,SACPsiB,WAAW,EACX8J,OAAQA,CAAC5b,EAAM7e,KACb,MAAMmiC,EAAOI,EAAkBviC,GAC/B,OAAImiC,EAAapkC,EAAAA,cAACmkC,GAAW,CAACC,KAAMA,IAC7BpkC,EAAAA,cAACykC,EAAAA,EAAY,CAACvhC,MAAO,CAAEyB,MAAO,SAAY,GAGrD,CACE/C,KAAM,OACNiP,KAAM,OACNsiB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,oBAEV,CACE9D,KAAM,WACNiP,KAAM,UACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,gBACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACoL,EAAgBoc,OAAQ,KAAM,SAE7C,CACEtgD,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACoL,EAAgBqc,SAAU,KAAM,SAE/C,CACEvgD,KAAM,SACNiP,KAAM,gBACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,WACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,WACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,QACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,WACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,YACNiP,KAAM,YACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,SACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,kBACNiP,KAAM,qBACN4sB,QAAQ,EACRntB,MAAO,SACPqsB,YAAcxhC,GAAUA,EAAKinD,eAAiB,IAAM,GACpD1lB,OAASvhC,GACHA,EAAKinD,eAAuBpiD,EAAAA,cAACsV,GAAAA,EAAa,CAACpS,MAAO,CAAEyB,MAAO,WACxD,Q,2qCCpD4D,IACpE09C,GAAY,SAAArkD,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,4oBAAAP,OAAA,WAAZwhD,GAAY91C,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,gBAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,kCACZmhD,GAAO,SAAAtkD,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAc,KAAA,OAAAD,OAAA,OAAAE,YAAA,IAAAK,EAAA,kKAAPkhD,GAAO/1C,aAAA,CAAA1L,OAAA,eAAAC,KAAA,eAAAC,YAAA,IAAAC,QAAA,YAAAC,OAAA,MAAAC,MAAA,MAAAC,MAAA,kCACPohD,GAAY,SAAAvkD,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,+dAAAN,KAAA,OAAA0hD,YAAA,UAAZD,GAAYh2C,aAAA,CAAArL,MAAA,KAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,kCACZshD,GAAS,SAAAzkD,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAoB,EAAA,2qCAAAN,KAAA,OAAA0hD,YAAA,UAATC,GAASl2C,aAAA,CAAArL,MAAA,KAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAGhB,MAAMuhD,GAAS,CACb,CACE9kD,KAAM,IACN0E,MAAO,kBACPW,KAAMjD,EAAAA,cAACuiD,GAAY,MACnBI,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,YACPsgD,KAAM,mBACNC,UC1DO,WACb,MAAOxgD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,IAgB9C,SAASiwC,IACPnb,EAAS,CACP90B,SAAS,GAEb,CAOA,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,sBAEvCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,iBACxBntB,cClDL,CACL7hB,KAAM,YACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNjyB,MAAO,KAET,CACEU,KAAM,OACNiP,KAAM,QACNsiB,MAAM,KDsCAsB,gBAAiB,KACjBQ,WAtCZ,SAAoBnU,GAClB6mB,EAAQjsC,GAAC,CACPmX,SAAS,GACNiO,GAEP,EAkCYoU,UAAW,CAAC,gBAAiB93B,EAAoBK,GACjDu3B,SAAU,CAAC,MAAO,QAK1Bh1B,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,0BACNuS,KAAM1S,EAAMwQ,QACZoC,SAAU6tC,EACVtqC,OAAO,YACPF,KA9BNrc,uBACQinD,GAAe7gD,EAAMg5B,IAAKh5B,EAAM3B,KACtCoiD,GACF,GA6BM9iD,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA/CR,SAAuB9P,GACrB46B,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GACA0K,GAEP,EA2CQ+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASE,SACfppB,MAAO,kBACPV,KAAM,MACN6hB,KAAM,EACN/gB,KAAM,GACNY,WAAW,OAOzB,GDZM,CACE1F,KAAM,IACNglD,KAAM,qCACNO,OAAO,EACPN,UG/CO,WAEb,MAAM9sB,GAAUC,EAAAA,EAAAA,OAEV,WAAE2Q,IAAeyc,EAAAA,EAAAA,MAEhB/gD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7Bi/C,EAAcC,IAAmBl/C,EAAAA,EAAAA,WAAS,IAC1Cqa,EAAM8kC,IAAWn/C,EAAAA,EAAAA,UAAS,KAC1B4O,EAAUC,IAAe7O,EAAAA,EAAAA,WAAS,IAClCo/C,EAAaC,IAAkBr/C,EAAAA,EAAAA,WAAS,GAEzCs/C,GAAYtwC,EAAAA,EAAAA,QAAO,OAClBuwC,EAAaC,GlG1BGC,EAACz1C,EAAK01C,KAC7B,MAAMh9B,GAAS1T,EAAAA,EAAAA,QAAO,OACftE,EAAMC,IAAW3K,EAAAA,EAAAA,WAAS,IAC1B2/C,EAAar8B,IAAkBtjB,EAAAA,EAAAA,UAAS,KAExC4/C,EAAaC,IAAkB7/C,EAAAA,EAAAA,WAAS,IACxC8/C,EAAWC,IAAgB//C,EAAAA,EAAAA,WAAS,IACpCggD,GAAWlf,GAAU8e,GAAe7c,GAAU,KAC9Ckd,GAAWnf,GAAUkf,GAAWjd,GAAU,IAAI,IAC9Cmd,GAAWpf,GAAUmf,GAAWld,GAAU,IAAI,IAC9Cod,GAAWrf,GAAUof,GAAWnd,GAAU,IAAI,IAC9Cqd,GAAWtf,GAAUqf,GAAWpd,GAAU,IAAI,GA6CrD,OA3CA9iC,EAAAA,EAAAA,YAAU,KACJmgD,GAASL,GAAa,EAAK,GAC9B,CAACK,KAGJngD,EAAAA,EAAAA,YAAU,UACW4H,IAAfwI,OAAOgwC,IACTR,GAAe,GAEfE,GAAa,EACf,GACC,KAEH9/C,EAAAA,EAAAA,YAAU,KACJ6/C,GAAa91C,EAAI2F,UAEnB+S,EAAO/S,QAAU0wC,IAAIC,KAAKt2C,EAAI2F,QAAS,CAIrC4wC,iBAAiB,EACjBC,QAAS,EACTC,WAAW,EACXC,eAAgB,OAChBC,MAAO,oBACPxjC,KAAM,kBAERuF,EAAO/S,QAAQ7R,SAAS4hD,GACxBh9B,EAAO/S,QAAQ6T,GAAG,UAAU,KAC1BF,EAAeZ,EAAO/S,QAAQhS,WAAW,KAGtC,SAGN,CAACmiD,EAAW91C,EAAI2F,WAEnB1P,EAAAA,EAAAA,YAAU,KACJyiB,EAAO/S,SACT+S,EAAO/S,QAAQ7R,SAAS4hD,EAC1B,GACC,CAACA,IAEG,CAACh1C,EAAMi1C,EAAY,EkG9BKF,CAAUH,EAAWjlC,GA6EpD,OA1CApa,EAAAA,EAAAA,YAAU,KACW,MAAfsiC,GAEFgB,EAAS,CACP/nC,IAAI8uB,EAAAA,GAAAA,IAAO,GAAGs2B,cACdpe,MAAO,IAET2c,EAAQ,KAxCStnD,WACnBgX,GAAY,GACZ,MAAMgyC,QAAiBC,GAAoBtlD,GAE3C+nC,EAAS,CACP/nC,GAAIqlD,EAAS5pB,IACbuL,MAAOqe,EAASre,MAChB/1B,KAAMo0C,EAASp0C,OAEjB0yC,EAAQ0B,EAASxmC,MACjB6kC,GAAgB,GAEhBrwC,GAAY,EAAM,EA+BhBkyC,CAAaxe,EACf,GACC,CAACA,KAEJtiC,EAAAA,EAAAA,YAAU,KAGRi/C,GAAgB,EAAK,GACpB,CAACM,IAyBF5jD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,mBACzC++C,MAAO,CACL5+C,EAAAA,cAAAolD,GAAAA,EAAA,CACE7mD,IAAI,IACJoC,UAAU,aACVsC,KAAMjD,EAAAA,cAACqlD,GAAAA,EAAsB,CAACniD,MAAO,CAAEyB,MAAO,SAC9CnC,MAAM,gDACN8iD,UAjBerpD,UACJ,MAAf0qC,SACI4e,GAAuB5e,EAC/B,EAeQ1xB,SApBYuwC,OAqBZhtC,OAAO,UACPqrB,WAAW,MACX7gC,SAAUgQ,GAA2B,MAAf2zB,GAEtB3mC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQo1C,QAAM,EAACl1C,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MAAKxL,SAAUgQ,GAA2B,MAAf2zB,GAAoB,YAKrF3mC,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,IACJ0E,KAAMjD,EAAAA,cAACylD,GAAAA,EAAY,MACnBziD,SAAUgQ,GAA2B,MAAf2zB,EACtBvmC,QAtCOslD,KACI,MAAf/e,GAAoBgf,GAAqBhf,EAAW,GAsCjD,gBAGD3mC,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,IACJ0E,KAAMjD,EAAAA,cAACilC,GAAAA,EAAW,MAClBjiC,SAAUgQ,GAA2B,MAAf2zB,EACtBvmC,QAASA,IAAMqjD,GAAe,IAC/B,gBAGDzjD,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,IACJ0E,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BzlD,KAAK,UACLC,QAtGWnE,UACnBgX,GAAY,GAEZ,MAAM,IAAEnY,EAAG,OAAEC,EAAM,KAAEI,SAAe0qD,GAClCxjD,EAAMzC,GACNyC,EAAMukC,MACNvkC,EAAMwO,KACN+yC,GAEE9oD,EAAKwB,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,MAE1B,MAAf6rC,GAAoB5Q,EAAQlwB,QAAQ,0BAA0B1K,EAAKkgC,OACvEioB,GAAgB,IAGlBrwC,GAAY,EAAM,EAwFVjQ,SAAUgQ,IAAaqwC,GACxB,gBAKLrjD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAxES9P,IACrB46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,IACdu2C,GAAgB,EAAK,EAuETxmC,KAAM,CAOJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,qDACPV,KAAM,KACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,mBACPV,KAAM,OACNc,KAAM,OAIZ1C,EAAAA,cAAA,eACEA,EAAAA,cAAA,UAAI,oCACJA,EAAAA,cAAA,SAAG,mCACgC,cAAc,IAACA,EAAAA,cAAA,WAAM,+BAGxDA,EAAAA,cAAAm5C,GAAAA,EAAA,CAAU2M,WAAS,GAChBjf,GAAmBxxB,KAAK/V,GACvBU,EAAAA,cAAAm5C,GAAAA,EAAUD,MAAK,CACbnmB,OACE/yB,EAAAA,cAAAovC,GAAAA,EAAY2W,UAAS,CACnBtnC,MAAI,EACJunC,SAAU,CACR97C,KAAM,KAAK5K,EAAEM,SAGdN,EAAEM,IAGPrB,IAAKe,EAAEM,IAENN,EAAEoB,UAMbV,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,KAAGgmB,KAAK,iCAAiCriB,OAAO,SAASsiB,IAAI,cAAa,wBAG1EjmB,EAAAA,cAAA,QAAMkD,MAAO,CAAE+iD,MAAO,UAAW,2CAEnCjmD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKJ,GAAG,aAAawO,IAAKs1C,EAAWxgD,MAAO,CAAEhC,MAAO,OAAQD,OAAQ,gBA2BjFjB,EAAAA,cAAC8mC,GAAuB,CACtBH,WAAYtkC,EAAMzC,IAAM,GACxBiT,QAAS2wC,EACTtiB,QAASA,IAAMuiB,GAAe,KAItC,GH5LM,CACE7lD,KAAM,IACN0E,MAAO,gBACPsgD,KAAM,0BACNO,OAAO,EACPN,UIxEO,WAEb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAehB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,yBACvC++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,MAAM6B,QAdA8lD,KACxBnwB,EAAQ7K,KAAK,2BAA2B,GAaY,2BAKlDlrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,iBACxBntB,cC3CL,CACL7hB,KAAM,UACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,KACNsiB,MAAM,GAER,CACEvxB,KAAM,OACNiP,KAAM,YACNsiB,MAAM,EACNhzB,KAAM,OACNuF,OAAQ,sBAEV,CACE9D,KAAM,QACNiP,KAAM,UACNsiB,MAAM,KDyBAsB,gBAAiB,KACjBQ,WAtBQnU,IAClBiV,EAAQ7K,KAAK,0BAA0BpK,EAAKua,MAAM,EAsBxCnG,UAAW,CAAC,kBAAmB93B,EAAoBK,GACnDu3B,SAAU,CAAC,MAAO,QAOhC,GJ8BM,CACEp3B,KAAM,IACN0E,MAAO,QACPsgD,KAAM,gBACNO,OAAO,EACPN,U7FjEO,WACb,MAAMsD,GAAe/yC,EAAAA,EAAAA,QAAO,OAIrBgzC,EAAkBC,KAFdzO,EAAAA,EAAAA,IAAel5C,KAEsB0F,EAAAA,EAAAA,WAAS,KAClDkiD,EAAgBC,IAAqBniD,EAAAA,EAAAA,WAAS,IAE9C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAEnC9pB,EAAAA,EAAAA,YAAU,KACH+hD,GACHze,EAASxZ,GACX,GACC,CAACi4B,IAEJ,MAIMI,EAAoBA,KACxBH,GAAoB,GACpBE,GAAkB,EAAM,EAkB1B,OACEvmD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,aAAY,4BACjC++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,SAAS4B,KAAK,UAAU8C,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAAKxlD,QA9BtDqmD,KACnBJ,GAAoB,EAAK,GA6BuE,oBAK9FrmD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,QACxBntB,cmG1EL,CACL7hB,KAAM,QACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,KACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IACbjC,EAAAA,cAAA,OAAKC,UAAWC,GAAqBsC,MAAOP,EAAKiB,MAAO,CAAEhC,MAAO,KAC9De,IAIP,CACEL,KAAM,SACNiP,KAAM,GACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IACD,IAARA,EAAkB,SACf,IAGX,CACEL,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IACbjC,EAAAA,cAAA,OAAKC,UAAWC,GAAqBsC,MAAOP,EAAKiB,MAAO,CAAEhC,MAAO,MAC9De,IAaP,CACE4O,KAAM7Q,EAAAA,cAAC0mD,GAAAA,EAAY,MACnB9kD,KAAM,SACNq8B,SAAS,EACT3tB,MAAO,SACPosB,OAAQA,CAAC5b,EAAM7e,IAC8B,IAAvC6e,EAAK6lC,YAAYC,QAAQ,UAEzB5mD,EAAAA,cAAA,KACEgmB,KAAM,OAAO/jB,IACb0B,OAAO,SACPsiB,IAAI,aACJzjB,MAAM,6BAENxC,EAAAA,cAAC0mD,GAAAA,EAAY,OAKjB1mD,EAAAA,cAAA,KACEgmB,KAAM,OAAO/jB,IACb0B,OAAO,SACPsiB,IAAI,aACJzjB,MAAM,6BAENxC,EAAAA,cAAC0mD,GAAAA,EAAY,QAKrB,CACE71C,KAAM,SACNjP,KAAM,OACNuxB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,oBAEV,CACEmL,KAAM,YACNjP,KAAM,eACNuxB,MAAM,EACNkD,QAAQ,GAEV,CACExlB,KAAM,MACNjP,KAAM,QACNuxB,MAAM,EACNkD,QAAQ,GAEV,CACExlB,KAAM,SACNjP,KAAM,QACNuxB,MAAM,EACN7iB,MAAO,QACPmtB,QAAQ,GAEV,CACE5sB,KAAM,SACNjP,KAAM,SACNuxB,MAAM,EACN7iB,MAAO,SAET,CACEO,KAAM,SACNjP,KAAM,UACNuxB,MAAM,EACN7iB,MAAO,SAET,CACEO,KAAM,YACNjP,KAAM,SACNuxB,MAAM,EACNkD,QAAQ,EACRqG,OAAQA,CAAC5b,EAAM7e,IACbjC,EAAAA,cAAA,OAAKC,UAAWC,GAAqBsC,MAAOP,EAAKiB,MAAO,CAAEhC,MAAO,MAC9De,IAIP,CACE4O,KAAM,SACNjP,KAAM,UACNuxB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,oBAEV,CACEmL,KAAM,MACNjP,KAAM,WACNuxB,MAAM,EACN7iB,MAAO,WnG3DDmkB,gBAAiB,KACjBS,UAAW,CAAC,YAAa93B,EAAoBK,GAC7Cu3B,SAAU,CAAC,OAAQ,GACnBO,mBAxBiBv4B,IAC3BmpD,EAAapyC,QAAU/W,CAAE,OA4BvBgD,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,iBACNuS,KAAMqxC,EACN7yB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO6B,QAASomD,EAAmBxjD,SAAUsjD,GAAgB,YAI3EplD,MAAO,KAEPlB,EAAAA,cAAA2jB,GAAAA,EAAA,CAAKC,OAAQ,CAAC,GAAI,IAChB5jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAgB9P,GAAM46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,IACpC+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,yBACPV,KAAM,OACN6tB,SAAU,UACVrT,OAAQ,CACN,CACExc,GAAI,UACJiR,KAAM,+BAER,CACEjR,GAAI,SACJiR,KAAM,4BAER,CACEjR,GAAI,OACJiR,KAAM,gCAGVnO,KAAM,GACNC,SAAU2jD,GAEZ,CACEnmD,KAAMqrB,GAASI,SACftpB,MAAO,iBACPV,KAAM,cACNyB,UAAU,EACVorB,MAAO,CAAC,UAAW,UAAUjkB,SAASnI,EAAMlC,MAC5CuC,KAAM,GACNC,SAAU2jD,GAEZ,CACEnmD,KAAMqrB,GAASI,SACftpB,MAAO,iBACPV,KAAM,UACNyB,UAAU,EACVorB,MAAO,CAAC,UAAW,UAAUjkB,SAASnI,EAAMlC,MAC5CuC,KAAM,GACNC,SAAU2jD,GAEZ,CACEnmD,KAAMqrB,GAASE,SACfppB,MAAO,0BACPV,KAAM,OACNc,KAAM,GACN+gB,KAAM,EACNngB,WAAW,EACXX,SAAU2jD,OAKlBtmD,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,EAAGQ,MAAO,CAAEyN,UAAW,UAChC3Q,EAAAA,cAACmlC,GAAW,CACVC,WAAY/iC,EAAMlC,KAClBkW,KAAMhU,EAAMgU,KACZgvB,QAnJQ,UAoJRC,cAAejjC,EAAM+kC,YACrB7B,UAAWljC,EAAMglC,QACjB7B,OApHW2Y,KACrBqI,IACA10B,YAAW,KACTq0B,EAAapyC,QAAQvW,KAAK,cAAc,GACvC,IAAK,EAiHEioC,cA9GUA,KACpB8gB,GAAkB,EAAK,OAoH3B,K6FhFE,CACE3oD,KAAM,IACN0E,MAAO,eACPW,KAAMjD,EAAAA,cAACyiD,GAAS,MAChBE,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,kBACPsgD,KAAM,aACNO,OAAO,EACPN,UO1FO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MACzD8jB,EAAeC,IAAoB1iD,EAAAA,EAAAA,UAAS,GAUnD,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GAAO6mD,WAClBvkD,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,aAAY,qBAEnCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,QACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,OAAQ,GACnBJ,WAAY,CAAEgS,MAAO,GACrB3R,WAvBZ,SAAoBnU,GAClBgmC,EAAiBhmC,EAAKua,IACxB,EAsBYnG,UAAW,CAAC,YAAa93B,EAAoBK,GAC7CU,YAAa,CAAC,OAAQ,WAAY,UAAW,QAAS,QAAS,gBAKvE6B,EAAAA,cAACi7C,GAAoB,CAACR,OAAQoM,EAAe3lB,QA1BjD,WACE4lB,EAAiB,EACnB,IA2BF,GPuDM,CACElpD,KAAM,IACN0E,MAAO,qBACPsgD,KAAM,kBACNO,OAAO,EACPN,UQjGO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MACVwO,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,KAMhE,OACE/iC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kBAAiB,wBAExCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,QACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,OAAQ,GACnBJ,WAAY,CAAEgS,MAAO,GACrB3R,WAnBQnU,IAClBiV,EAAQ7K,KAAK,cAAcpK,EAAKua,MAAM,EAmB5BnG,UAAW,CAAC,YAAa93B,EAAoBK,GAC7CU,YAAa,CAAC,OAAQ,WAAY,UAAW,QAAS,QAAS,gBAO7E,GRmEM,CACEP,KAAM,IACNglD,KAAM,qBACNO,OAAO,EACPN,USpGO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,OAAEykB,IAAW2I,EAAAA,EAAAA,KAEb8D,EAAU7yC,SAASomC,EAAQ,KAE1Bp4C,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,OAC5B+iD,EAAUC,IAAehjD,EAAAA,EAAAA,UAAS,OAClC6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CijD,EAAgBC,IAAqBljD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOwmC,IAAK,KAEtEkO,EAAWtrD,MAAOurD,GAAQ,KAC1BA,IACF7f,EAAS,MACTyf,EAAY,OAGd,MAAMxN,QAAanT,GAAU,OAAVA,CAAkBygB,EAAS,CAC5C,MACA,MACA,OACA,WACA,UACA,QACA,QACA,UACA,SACA,UACA,OACA,OACA,WACA,aAGFvf,EAASiS,GACTwN,EAAYxN,GACZ1V,GAAkB,EAAM,GAI1B7/B,EAAAA,EAAAA,YAAU,KACJo2C,EAAS,GACX8M,GACF,GACC,CAAC9M,IAEJ,MAAM59B,EAAiB9P,IACrB,MAAM06C,EAAE/rD,GAAAA,GAAA,GAAQ2G,GAAU0K,GAC1B46B,EAAS8f,GACTvjB,GAAmBwjB,KAAYD,EAAIN,GAAU,EAQzCQ,EAAW1rD,UACf,MAAM,IAAEnB,SAAc8sD,GAAWV,EAAS7kD,GACrCvH,IACHwB,EAAAA,GAAQkE,KAAK,iCACP+mD,GAAS,GACjB,EAyCF,OACEvnD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MACExC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACF,GAAQ,CAACD,IAAI,sBAAqB,sBACjCwC,GAASrC,EAAAA,cAAA6nD,GAAAA,EAAA,CAAM3kD,MAAO,CAAEoe,WAAY,OAG1CwmC,OA7BS7rD,UACb,IAAKgoC,EAEH,YADAlO,EAAQgyB,SAIV,MAAMC,QAAYrkB,GAChB,+BACA,+CACA,CAAC,CAAErhC,MAAO,gBAAkB,CAAEA,MAAO,eAE3B,IAAR0lD,EACFjyB,EAAQgyB,SACS,IAARC,UACHL,IACN5xB,EAAQgyB,SACV,EAcInJ,MAAO,GACHv8C,GACArC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQ6B,QAxCZnE,UAChB,MAAM,IAAEnB,SAAcggD,GAAgBoM,GAAU,GAC3CpsD,IACHwB,EAAAA,GAAQkE,KAAK,4BAA6B,GAC1Cu1B,EAAQgyB,SACV,GAmCgD,mBAIxC1lD,GACArC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAxDpDnE,UAML,UALM0nC,GAChB,6BACA,kDACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,gBAG/BqlD,GACF,GAgD0F,cAIpF5pD,OAAOypC,aAGRnlC,GACDrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAG,oBAC5BtvC,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,kBACPV,KAAM,MACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASiB,cACfnqB,MAAO,oBACPV,KAAM,MACN8D,OAAQ,mBACRhD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNc,KAAM,EACNqB,UAAU,GAGZ,CACE5D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASqB,MACfnqB,KAAM,GAGR,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,UACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNc,KAAM,GAGR,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,4BACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,SAOhB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAG,oBAC5BtvC,EAAAA,cAAA,WACEA,EAAAA,cAAAqjB,GAAAA,EAAA,CACE4kC,gBAAgB,UAChBC,kBAAkB,WAClBzkD,SAAWmjC,GAAU/pB,EAAc,CAAEsrC,SAAUvhB,IAC/ChjC,QAASvB,EAAM8lD,WAEjBnoD,EAAAA,cAAA,QAAMkD,MAAO,CAAEoe,WAAY,KAAM,2CAElCjf,GAAO8lD,UACNnoD,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,KACvB1Q,EAAAA,cAAAm5C,GAAAA,EAAA,KACEn5C,EAAAA,cAAAm5C,GAAAA,EAAUD,MAAK,CACbnmB,OAAO,0BACPx0B,IAAI,IACJqgD,MACE5+C,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAACooD,GAAAA,EAAe,MACtBhoD,QArMUsD,IAChCA,EAAGuO,kBACHq1C,EAAiB5rD,GAAAA,GAAC,CAAC,EAAI2rD,GAAc,IAAEx0C,SAAS,EAAMwmC,IAAKh3C,EAAMgmD,UAAY,KAAK,KAuMhEroD,EAAAA,cAAA,YACIqC,EAAMgmD,UAAY,IACjBl1B,OACAp1B,QAAQH,KAAW0qD,GAAyB1qD,KAC5CyX,KAAKzX,GACJoC,EAAAA,cAAA,OAAKzB,IAAKX,EAAMqC,UAAWC,IACxBooD,GAAyB1qD,YAW9CoC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAG,6BAC5BtvC,EAAAA,cAAA,WACEA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQC,UAAQ,GAAC,wBAO3BhD,EAAAA,cAAC85C,GAAoB,CACnBjnC,QAASw0C,EAAex0C,QACxBquB,QAASA,IAAMomB,EAAiB5rD,GAAAA,GAAC,CAAC,EAAI2rD,GAAc,IAAEx0C,SAAS,KAC/D2yB,OAAS6T,IACPx8B,EAAc,CAAEwrC,SAAUhP,IAC1BiO,EAAiB5rD,GAAAA,GAAC,CAAC,EAAI2rD,GAAc,IAAEx0C,SAAS,IAAQ,EAE1DwmC,IAAKgO,EAAehO,MAI5B,GT/LM,CACEz7C,KAAM,IACN0E,MAAO,sBACPsgD,KAAM,iBACNO,OAAO,EACPN,UU9GO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MACzDwlB,EAAeC,IAAoBpkD,EAAAA,EAAAA,UAAS,GAUnD,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GAAO6mD,WAClBvkD,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,yBAEvCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,QACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,OAAQ,GACnBJ,WAAY,CAAEgS,OAAQ,GACtB3R,WAvBQnU,IAClB0nC,EAAiB1nC,EAAKua,IAAI,EAuBhBnG,UAAW,CAAC,YAAa93B,EAAoBK,GAC7CU,YAAa,CAAC,OAAQ,WAAY,UAAW,QAAS,QAAS,gBAKvE6B,EAAAA,cAACw6C,GAAc,CAACC,OAAQ8N,EAAernB,QA1BjBunB,KACxBD,EAAiB,EAAE,IA4BvB,KV6EE,CACE5qD,KAAM,IACN0E,MAAO,UACPW,KAAMjD,EAAAA,cAAC8/B,EAAAA,EAAc,MACrB6iB,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,uBACPsgD,KAAM,oBACNO,OAAO,EACPN,UW5HO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAGVwO,IADkBoT,EAAAA,EAAAA,IAAewB,KACbxB,EAAAA,EAAAA,IAAen4C,GAAuB,OAOhE,OACEO,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,+BAA8B,wBACnD++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,mBAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QAASA,IAAM21B,EAAQ7K,KAAK,8BAA8B,eAMvFlrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,8BACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBQ,WAzBQnU,IAElBiV,EAAQ7K,KAAK,qBAAqBpK,EAAKua,MAAM,EAwBnCnG,UAAW,CAAC,uBAAwB93B,EAAoBK,GACxDm3B,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,IAC1Bm5B,SAAU,CAAC,OAAQ,GACnB72B,YAAa,CAAC,UAAW,aAOvC,GXoFM,CACEP,KAAM,IACNglD,KAAM,8BACNO,OAAO,EACPN,U9BlHO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,SAAE0yB,IAAatF,EAAAA,EAAAA,MAEdnf,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAC9C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAWnC9pB,EAAAA,EAAAA,YAAU,KACS,YAAbqkD,GAVYzsD,WAChBioC,GAAkB,GAClB,MAAM,IAAEppC,EAAG,KAAEK,SAAeF,EAAQ,YAAa,CAAE2E,OACnD+nC,EAAQjsC,GAAAA,GAAC,CAAC,EACLyyB,IACAhzB,GACH,EAKAqgD,CAAUkN,EACZ,GACC,CAACA,KAEJrkD,EAAAA,EAAAA,YAAU,KACRsjC,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRsmD,aAAc,KACd,GACD,CAACtmD,GAAOumD,gBAEX,MAAM/rC,EAAgBA,CAAC9P,EAAG87C,KACxB3kB,EAAkB2kB,GAClBlhB,EAAQjsC,GAAC,CAAC,EAAIqR,GAAI,EA0EpB,OACE/M,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MACExC,EAAAA,cAACF,GAAQ,CAACD,IAAI,sCAAqC,2CAIrD++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,uBACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL8C,KAAMjD,EAAAA,cAAC8oD,GAAAA,EAAY,MACnB9lD,UAAWihC,EACX7jC,QApCGnE,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,YAAa,CAAE2E,GAAI8oD,EAAUvtD,KAAMkH,IACzE,GAAY,IAARvH,EAAWi7B,EAAQ7K,KAAK,0BACvB,GAAI/uB,MAAMC,QAAQrB,GACrB,IAAK,MAAM8+C,KAAM9+C,EACfuB,EAAAA,GAAQP,MAAM89C,EAAGt9C,QAAS,QAG5BD,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,IACxC,GA4BS,iBAMPkF,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRna,MAAM,oBACNH,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,UACPV,KAAM,SACNwa,OAAQ6pB,GACRvjC,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,2BACPV,KAAM,MACNwa,OAAQ8pB,GACRvjC,UAAU,EACVD,KAAM,GAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,gBACPV,KAAM,KACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,aACPV,KAAM,QACNsJ,YAAa,oBACblH,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,SACPV,KAAM,UACNsJ,YAAa,oBACblH,SAAS,EACTyf,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAASwB,cACfprB,KAAM,MACN0O,MAAO,OACPrP,OAAQ,OACRsP,OAAQ,CACNrP,MAAO,IACPD,OAAQ,KAEVyB,KAAM,GAER,CACEvC,KAAMqrB,GAASuB,QACfzqB,MAAO,kBACPV,KAAM,OACNsJ,YAAa,iCACblH,SAAS,EACTyf,KAAM,EACN/gB,KAAM,SAOhB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC6V,GAAY,CACX5I,SAAU,IACVC,WAAW,OACXzJ,SA5GcqS,IACxB6xB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR+W,KAAMtD,EAAMT,KAAK/V,GAAMA,EAAEM,KACzBmpD,OAAQjzC,KAEVouB,GAAkB,EAAK,EAuGbpuB,MAAOzT,EAAM0mD,WAInB/oD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRna,MAAM,mBACNH,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,iBACPV,KAAM,gBACNwa,OAAQgqB,GACR3W,SAAU,cACVzrB,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAAS6B,OACf/qB,MAAO,WACPV,KAAM,eACNwa,OAnMUngB,MAAO2D,GAAMgpD,oBACrC,GAAIhpD,EAAG0K,OAAS,EAAG,MAAO,GAK1B,aAJmBi8B,GACjB,kBACA,aAFiBA,CAGjB,CAAEP,KAAM4iB,EAAeI,WAAY,CAAEC,OAAQ,KAAKrpD,MAAQspD,SAAU,MAC3D,EA8LGvmD,UAAWN,EAAMumD,cACjBlmD,KAAM,GAER,CACEvC,KAAMqrB,GAASc,OACf9pB,MAAO,WACPC,QAASzC,EAAAA,cAACyQ,EAAAA,EAAY,MACtBvP,MAAO,OACPd,QA3LC2M,IACf46B,EAAQjsC,GAAAA,GAAC,CAAC,EACLqR,GAAC,IACJ47C,aAAc,GACdnP,MAAO,IACFzsC,EAAEysC,MACL,CACEr5C,KAAM4M,EAAE67C,cACR5iB,KAAMj5B,EAAE47C,iBAGZ,EAiLYhmD,UAAWN,EAAMsmD,aACjBjmD,KAAM,GAER,CACEvC,KAAMqrB,GAAS4B,aACfxrB,KAAM,QACN4hB,QAAS,CACP,CACE5hB,KAAM,OACNc,KAAM,GAER,CACEd,KAAM,OACNc,KAAM,GAER,CACEuO,OAAQ,SACRvO,KAAM,IAGVA,KAAM,SAOhB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRna,MAAM,uBACNH,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,oBACPV,KAAM,cACNwa,OAAQmqB,GAAe,kBAAmB,QAC1CviC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAAS6B,OACf/qB,MAAO,qBACPV,KAAM,aACNwa,OAlPIngB,MAAO2D,GAAMupD,uBACZ5iB,GACjB,kBACA,QAFiBA,CAGjB,CAAE6iB,KAAMD,EAAa9mD,MAAO,CAAE4mD,OAAQ,KAAKrpD,MAAQspD,SAAU,OA+OjDxmD,KAAM,GAER,CACEvC,KAAMqrB,GAASW,UACf7pB,MAAO,kBACPV,KAAM,kBACNqJ,MAAO,kBACPG,OAAQ,CACN,eAAgB,CAACtG,IAAM,cAAeA,IAAM,eAC5C,eAAgB,CAACA,IAAM,cAAeA,IAAM,gBAE9CpC,KAAM,GAER,CACEvC,KAAMqrB,GAASc,OACf9pB,MAAO,WACPC,QAASzC,EAAAA,cAACyQ,EAAAA,EAAY,MACtBvP,MAAO,OACPd,QA/OA2M,IACd46B,EAAQjsC,GAAAA,GAAC,CAAC,EACLqR,GAAC,IACJs8C,WAAY,GACZ5P,KAAM,IACD1sC,EAAE0sC,KACL,CACE2P,KAAMr8C,EAAEo8C,YACR9mD,MAAO0K,EAAEs8C,WACTC,KAAMxkD,IAAMiI,EAAE2sC,gBAAiBvT,IAAazgC,OAAO,WACnDm8C,GACmD,OAAjD/8C,IAAMiI,EAAE4sC,gBAAiBxT,IAAar+B,OAClC,GACAhD,IAAMiI,EAAE4sC,gBAAiBxT,IAAazgC,OAAO,eAGvD,EAgOY/C,UAAWN,EAAM8mD,cAAgB9mD,EAAMgnD,WACvC3mD,KAAM,GAER,CACEvC,KAAMqrB,GAAS4B,aACf5qB,MAAO,KACPZ,KAAM,OACN4hB,QAAS,CACP,CACE5hB,KAAM,OACNc,KAAM,GAER,CACEd,KAAM,QACNc,KAAM,GAER,CACEd,KAAM,OACNc,KAAM,GAER,CACEd,KAAM,KACNc,KAAM,GAER,CACEuO,OAAQ,SACRvO,KAAM,IAGVA,KAAM,UASxB,G8BlOM,CACE9E,KAAM,IACN0E,MAAO,gBACPsgD,KAAM,aACNO,OAAO,EACPN,UY3IO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAUhB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,oBACrC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,oBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAftDmpD,KAChBxzB,EAAQ7K,KAAK,qBAAqB,QAkBhClrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,cACxBntB,cCnCL,CACL7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACW,IAAhBA,EAAKjlB,OAAqB,CAAE8I,MAAO,qBAChC,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAAC6I,GAAsB,KAAM,SAE3C,CACE3hC,KAAM,MACNiP,KAAM,OACNsiB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,cAEV,CACE9D,KAAM,SACNiP,KAAM,YACNsiB,MAAM,EACNsK,QAAQ,KDSFhJ,gBAAiB,KACjBQ,WAtBQnU,IAClBiV,EAAQ7K,KAAK,cAAcpK,EAAKua,MAAM,EAsB5BnG,UAAW,CAAC,iBAAkB93B,EAAoBK,GAClDu3B,SAAU,CAAC,MAAO,GAClB72B,YAAa,CAAC,QAAS,gBAOrC,GZsGM,CACEP,KAAM,IACNglD,KAAM,qBACNO,OAAO,EACPN,UhErIO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OAET3zB,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAC5B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE/C,OAAEolD,IAAWpG,EAAAA,EAAAA,MAgBnB/+C,EAAAA,EAAAA,YAAU,KACO,YAAXmlD,GAfgBvtD,WACpB,MAAMd,QAAasrC,GAAU,aAAVA,CAAwB7mC,EAAI,IAC/C+nC,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACPqwC,SAAUrwC,EAAKqwC,UAAY1mC,IAAM3J,EAAKm+C,IAAI5zC,OAAO,cACjD6kC,QAASpvC,GAAMovC,QAAU,IAAIl1B,KAAK+d,GAAC13B,GAAAA,GAAA,GAC9B03B,GAAC,IACJxzB,GAAIwzB,EAAExzB,KAAM8uB,EAAAA,GAAAA,UAEd+6B,KAAM3kD,IAAM3J,EAAKm+C,IAAI5zC,OAAO,iBAE9Bw+B,GAAkB,EAAM,EAKtBwlB,CAAcF,EAChB,GACC,CAACA,IAEJ,MAIM3sC,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA8BvB,OACEjoC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,wBAAuB,mCAC5CioD,OAAQA,IAAM/xB,EAAQgyB,SACtBnJ,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,aACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QA9BOnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,iBAAgBS,GAAA,GACvD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,GACd/oC,EAAKkgC,MAAQmuB,GACfzzB,EAAQlwB,QAAQ,cAAc1K,EAAKkgC,YAEhC,GAAIl/B,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAgBUkI,UAAWihC,QAKnBjkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2pD,GAAAA,EAAA,CAAMC,iBAAiB,UAAUzpD,KAAK,OAAO0pD,YAAY,QAAQpmD,SAzDtDlF,OA0DTyB,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,QAAQxrD,IAAI,WAC5ByB,EAAAA,cAAC2c,GAAS,CACRqR,OAAK,EACL3rB,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,iBACPV,KAAM,SACNwa,OAAQmnB,GACR7gC,KAAM,IAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,eACPV,KAAM,WACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,QACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,eACPV,KAAM,UACNc,KAAM,GACN+gB,KAAM,GAER,CACEtjB,KAAMqrB,GAAS+B,eACfjrB,MAAO,kBACPV,KAAM,MACNyL,YAAY,EACZ3K,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,aAAaxrD,IAAI,QACjCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNkX,UAAW,CAAC,MAAO,MAAO,QAC1BpW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,gBAAgBxrD,IAAI,UACpCyB,EAAAA,cAACsqC,GAAmB,CAClBC,OAAQloC,GAAOkoC,OACfC,aA7GMD,IAEpB5C,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRkoC,OAAQ,IAAIA,MAEdrG,GAAkB,EAAK,EAwGT9qB,KAAM/W,GAAO+W,YAS/B,KgEnBE,CACExb,KAAM,IACN0E,MAAO,qBACPW,KAAMjD,EAAAA,cAACqiD,GAAY,MACnBM,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,wBACPsgD,KAAM,iBACNO,OAAO,EACPN,UcrJO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,KAE1DinB,GAAiB52C,EAAAA,EAAAA,QAAO,OACvB62C,EAAeC,IAAoB9lD,EAAAA,EAAAA,UAAS,CAAC,IAC7CgiD,EAAkBC,IAAuBjiD,EAAAA,EAAAA,WAAS,IAClDkiD,EAAgBC,IAAqBniD,EAAAA,EAAAA,WAAS,IAC9C+lD,EAAWC,IAAgBhmD,EAAAA,EAAAA,UAAS,KACpCimD,EAAaC,IAAkBlmD,EAAAA,EAAAA,UAAS,CAAC,IAEzCmmD,EAASC,IAAcpmD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,IAuB3DooD,EAAmBA,KACnBT,EAAej2C,SACjBi2C,EAAej2C,SACjB,EAsEF,OAvBA+lB,EAAAA,GAAAA,IACE,KArBoB79B,WACpB,IACE,MAAM,IAAEnB,EAAG,KAAEK,SAAeF,EAAQ,gBAAiB,CACnDyvD,UAEG5vD,IACHwvD,EAAenvD,GACXA,EAAK2T,OACPs7C,EAAa,IACb/D,GAAoB,GACpBv0B,YAAW,KACTrd,OAAOwhB,SAAS00B,QAAQ,GACvB,MAGT,CAAE,MAAO5uD,GACPD,QAAQoL,IAAInL,EACd,GAKE6uD,CAAcT,EAAU,GAE1BA,EAAY,IAAO,MAoBnBnqD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,wBACrC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,WAAWiE,MAAM,yBAAyBpC,QAtB5CyqD,KACjBxE,GAAoB,EAAK,GAsBjBrmD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,SAElE5lD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,uBACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN7O,MAAO,CAAEoe,WAAY,IACrBre,KAAMjD,EAAAA,cAAC8oD,GAAAA,EAAY,MACnB9lD,SAAgD,IAAtCitB,OAAOC,KAAK+5B,GAAe3/C,OACrClK,QAlFQnE,UAClB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,0BAA2B,CAC/Dwf,KAAMwV,OAAOC,KAAK+5B,GAAe50C,KAAKy1C,IACpC,MAAOlrD,EAAIgC,GAAQkpD,EAAI9jD,MAAM,KAC7B,MAAO,CACLpH,KACAgC,OACAK,IAAKgoD,EAAca,GACpB,MAGL,GAAIhwD,EACF,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAM8+C,KAAM9+C,EACfuB,EAAAA,GAAQP,MAAM89C,EAAGt9C,QAAS,QAG5BD,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,UAGxC2vD,GACF,KAgEMzqD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,sBACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAAC+qD,GAAAA,EAAY,MACnB/nD,SAAgD,IAAtCitB,OAAOC,KAAK+5B,GAAe3/C,OACrClK,QAASqqD,KAGbzqD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,mBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MACnBvN,MAAO,CAAEoe,WAAY,IACrBlhB,QA1HM4qD,KAChBR,EAAW,CAAE33C,SAAS,EAAMxQ,MAAO,CAAC,GAAI,QA8HtCrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,mBACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,aAAc,GACzBJ,WAAY,CAAC,EACbK,WA5IQnU,IAClB0pC,EAAW,CAAE33C,SAAS,EAAMxQ,MAAOye,GAAO,EA4IhCoU,UAAW,CAAC,mBAAoB93B,EAAoBK,GACpDU,YAAa,CACX,aACA,OACA,QACA,OACA,SACA,OACA,QACA,WAEFk3B,oBAAqBgR,KACrB/Q,oBAzIgBA,CAAC21B,EAASC,KACpClB,EAAej2C,QAAUm3C,EACzBhB,EAAiBe,EAAQ,EAwIfz6B,YAAa,CACXpY,SAAU,iBAAiBtT,MAAQY,OAAO,gBAC1C8sB,QAAS,UACTP,WAAY,IACZjB,WAAW,QAOrBhxB,EAAAA,cAACwmC,GAAkB,CAAC3zB,QAAS03C,EAAQ13C,QAASxQ,MAAOkoD,EAAQloD,MAAO6+B,QA7JrD8G,KACjBwiB,EAAU9uD,GAAAA,GAAC,CAAC,EAAI6uD,GAAO,IAAE13C,SAAS,IAAQ,IA8JxC7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,kBACNuS,KAAMqxC,EACN7yB,UAAU,EACVne,OAAQ,CACNpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO6B,QA1FDomD,KACxBH,GAAoB,EAAM,EAyF2BrjD,SAAUsjD,GAAgB,YAI3EplD,MAAO,MAELipD,GACAnqD,EAAAA,cAAA,OAAKkD,MAAO,CAAEjC,OAAQ,MACpBjB,EAAAA,cAACmlC,GAAW,CACVC,WAAW,iBACX/uB,KAAK,UACLgvB,QArMQ,SAsMRC,eAAe,EACfC,WAAW,EACXC,OApGYn7B,IACtB+/C,EAAa//C,EAAEqgD,MAAM,EAoGXjlB,cAjGUA,KACpB8gB,GAAkB,EAAK,OAqGhB4D,GACDnqD,EAAAA,cAAA,OAAKkD,MAAO,CAAEjC,OAAQ,MACpBjB,EAAAA,cAAA,OACEkD,MAAO,CACLyN,UAAW,SACX4+B,WAAY,OACZ5qC,MAAO0lD,GAAatuD,MAAQ,MAAQ,SAGrCsuD,GAAaxuD,QAAU,OAE1BmE,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,GAAIC,UAAW,WACtC3Q,EAAAA,cAAA6U,GAAAA,EAAA,CAAU1U,KAAK,SAASqU,QAAS61C,GAAar3C,UAAY,OAOxE,GdxEM,CACEpV,KAAM,IACN0E,MAAO,SACPsgD,KAAM,kBACNO,OAAO,EACPN,UzHpJO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MAEzDwnB,EAASC,IAAcpmD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAC1D8oD,EAAWC,IAAgBhnD,EAAAA,EAAAA,WAAS,GAkB3C,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kBAAiB,UACtC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,4BAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QAASA,IAAMgrD,GAAa,MAGhCprD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,mBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA1BtD4qD,KAChBR,EAAW,CAAE33C,SAAS,EAAMxQ,MAAO,CAAC,GAAI,QAgCtCrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,uBACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,QAAS,GACpBJ,WAAY,CAAC,EACbK,WA9CQnU,IAClB0pC,EAAW,CAAE33C,SAAS,EAAMxQ,MAAOye,GAAO,EA8ChCoU,UAAW,CAAC,aAAc93B,EAAoBK,GAC9CU,YAAa,CAAC,QAAS,SAAU,SACjCqyB,YAAa,CACXpY,SAAU,eAAetT,MAAQY,OAAO,gBACxC8sB,QAAS,QACTP,WAAY,IACZjB,WAAW,QAOrBhxB,EAAAA,cAAC+jC,GAAY,CAAClxB,QAAS03C,EAAQ13C,QAASxQ,MAAOkoD,EAAQloD,MAAO6+B,QApD/C8G,KACjBwiB,EAAU9uD,GAAAA,GAAC,CAAC,EAAI6uD,GAAO,IAAE13C,SAAS,IAAQ,IAoDxC7S,EAAAA,cAACihC,GAAiB,CAChBpuB,QAASs4C,EACTjqB,QAASA,IAAMkqB,GAAa,GAC5B/pB,eAAe,mCACfC,cAAe,IACfH,UAAWuD,GAAmB,sBAAuB,cACrDlhB,QAAS,CACP,CACE5hB,KAAM,SAER,CACEA,KAAM,UAER,CACEA,KAAM,YAMlB,GyH+DM,CACEhE,KAAM,IACN0E,MAAO,UACPsgD,KAAM,oBACNO,OAAO,EACPN,UevKO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MAEzDwnB,EAASC,IAAcpmD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAC1D8oD,EAAWC,IAAgBhnD,EAAAA,EAAAA,WAAS,GAkB3C,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,iCACvC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,4BAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QAASA,IAAMgrD,GAAa,MAGhCprD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,mBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA1BtD4qD,KAChBR,EAAW,CAAE33C,SAAS,EAAMxQ,MAAO,CAAC,GAAI,QAgCtCrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,4BACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,YAAa,GACxBJ,WAAY,CAAC,EACbK,WA9CQnU,IAClB0pC,EAAW,CAAE33C,SAAS,EAAMxQ,MAAOye,GAAO,EA8ChCoU,UAAW,CAAC,cAAe93B,EAAoBK,GAC/CU,YAAa,CAAC,YAAa,gBAAiB,iBAC5CqyB,YAAa,CACXpY,SAAU,gBAAgBtT,MAAQY,OAAO,gBACzC8sB,QAAS,UACTP,WAAY,IACZjB,WAAW,QAOrBhxB,EAAAA,cAAC6kC,GAAa,CAAChyB,QAAS03C,EAAQ13C,QAASxQ,MAAOkoD,EAAQloD,MAAO6+B,QApDhD8G,KACjBwiB,EAAU9uD,GAAAA,GAAC,CAAC,EAAI6uD,GAAO,IAAE13C,SAAS,IAAQ,IAoDxC7S,EAAAA,cAACihC,GAAiB,CAChBpuB,QAASs4C,EACTjqB,QAASA,IAAMkqB,GAAa,GAC5B/pB,eAAe,oCACfC,cAAe,IACfH,UAAWuD,GAAmB,2BAA4B,eAC1DlhB,QAAS,CACP,CACE5hB,KAAM,aAER,CACEA,KAAM,iBAER,CACEA,KAAM,oBAMlB,GfkFM,CACEhE,KAAM,IACN0E,MAAO,iBACPsgD,KAAM,uBACNO,OAAO,EACPN,UgB9KO,WACb,MAAMre,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MAEzDwnB,EAASC,IAAcpmD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAC1D8oD,EAAWC,IAAgBhnD,EAAAA,EAAAA,WAAS,GAkB3C,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,wCACrC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,4BAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QAASA,IAAMgrD,GAAa,MAGhCprD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,mBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA1BtD4qD,KAChBR,EAAW,CAAE33C,SAAS,EAAMxQ,MAAO,CAAC,GAAI,QAgCtCrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,uBACxBntB,cAAeA,GAAc8R,GAC7B/P,gBAAiB,KACjBO,SAAU,CAAC,aAAc,GACzBJ,WAAY,CAAC,EACbK,WA9CQnU,IAClB0pC,EAAW,CAAE33C,SAAS,EAAMxQ,MAAOye,GAAO,EA8ChCoU,UAAW,CAAC,YAAa93B,EAAoBK,GAC7CU,YAAa,CAAC,aAAc,SAAU,QACtCqyB,YAAa,CACXpY,SAAU,cAActT,MAAQY,OAAO,gBACvC8sB,QAAS,iBACTP,WAAY,IACZjB,WAAW,QAOrBhxB,EAAAA,cAAC8kC,GAAW,CAACjyB,QAAS03C,EAAQ13C,QAASxQ,MAAOkoD,EAAQloD,MAAO6+B,QApD9C8G,KACjBwiB,EAAU9uD,GAAAA,GAAC,CAAC,EAAI6uD,GAAO,IAAE13C,SAAS,IAAQ,IAoDxC7S,EAAAA,cAACihC,GAAiB,CAChBpuB,QAASs4C,EACTjqB,QAASA,IAAMkqB,GAAa,GAC5B/pB,eAAe,yCACfC,cAAe,IACfH,UAAWuD,GAAmB,sBAAuB,aACrDlhB,QAAS,CACP,CACE5hB,KAAM,cAER,CACEA,KAAM,QAER,CACEA,KAAM,UAER,CACEA,KAAM,QAER,CACEA,KAAM,QAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,WAER,CACEA,KAAM,cAER,CACEA,KAAM,cAMlB,GhBoEM,CACEhE,KAAM,IACN0E,MAAO,iBACPsgD,KAAM,qBACNO,OAAO,EACPN,UiB1LO,WACb,MAAO0H,EAASC,IAAcpmD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAC1DgpD,EAAiBC,IAAsBlnD,EAAAA,EAAAA,UAAS,OAEhDmnD,GAAWrmB,GAChBmmB,GACE,+DAA+DA,KACjE,GAmBF,OACErrD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MACExC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,mEAIlC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,kBAAkB7B,UAAU,SACnDX,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAvBtD4qD,KAChBR,EAAW,CAAE33C,SAAS,EAAMxQ,MAAO,CAAC,GAAI,QA0BtCrC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,wBACxBntB,cAAeA,IAxBL5R,IACpBwqC,EAAmBxqC,EAAKviB,IAAI,IAwBlBk2B,gBAAiB,KACjBO,SAAU,CAAC,YAAa,GACxBJ,WAAY,CAAC,EACbK,WAxCQnU,IAClB0pC,EAAW,CAAE33C,SAAS,EAAMxQ,MAAOye,GAAO,EAwChCoU,UAAW,CAAC,wBAAyB93B,EAAoBK,GACzDU,YAAa,CAAC,MAAO,OAAQ,aAMrC6B,EAAAA,cAAC+kC,GAAa,CAAClyB,QAAS03C,EAAQ13C,QAASxQ,MAAOkoD,EAAQloD,MAAO6+B,QAxChD8G,KACjBwiB,EAAU9uD,GAAAA,GAAC,CAAC,EAAI6uD,GAAO,IAAE13C,SAAS,IAAQ,IAyCvCw4C,GACCrrD,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,OACNgpD,UAAQ,EACRz2C,KAAMs2C,EACNnqD,MAAO,KACPkU,OAAQ,KACRH,SAAUA,IAAMq2C,EAAmB,OAEnCtrD,EAAAA,cAAA,OAAKC,UAAWC,IACb,4EAA4EmrD,iBAE/ErrD,EAAAA,cAAA,OAAKC,UAAWC,GAAmBN,GAAG,gBAKhD,KjBiHE,CACEhC,KAAM,IACN0E,MAAO,kBACPW,KAAMjD,EAAAA,cAACsiD,GAAO,MACdK,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,oBACPsgD,KAAM,gBACNO,OAAO,EACPN,UkBrLO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAGV+Z,IAFoB6H,EAAAA,EAAAA,IAAen4C,GAAuBsjC,MAE3C6U,EAAAA,EAAAA,IAAe9H,KAC9B+H,GAAiBD,EAAAA,EAAAA,IAAe5H,KAC/Byb,EAASC,IAActnD,EAAAA,EAAAA,WAAS,IAChCunD,EAAmBC,IAAwBxnD,EAAAA,EAAAA,WAAS,GAErD+hD,GAAe/yC,EAAAA,EAAAA,QAAO,OACrBrV,EAAQwe,IAAanY,EAAAA,EAAAA,UAAS,CAAC,IAE/B/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7BynD,EAAkBC,IAAuB1nD,EAAAA,EAAAA,WAAS,IAClD2nD,EAAWC,IAAgB5nD,EAAAA,EAAAA,WAAS,IAEpC6nD,EAAaC,IAAkB9nD,EAAAA,EAAAA,WAAS,GA+C/C,OA9CA+nD,EAAAA,GAAAA,IAAW,SAAS,IAAMD,GAAe,KA+CvClsD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,eAAc,mBACnC++C,MAAO,CACLqN,GACEjsD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,UAAUiE,MAAM,uCAC3BxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQgP,MAAM,SAAS9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MAAKpO,QA9BrCgsD,KACtBzkB,EAAS,CAAC,GACVmkB,GAAoB,EAAK,KA+BnBG,GACEjsD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,aAAaiE,MAAM,oCAC9BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QApBUisD,KACtBL,GAAa,EAAK,EAoBN9oD,MAAO,CAAEsS,YAAa,OAK5BxV,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,kBAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAACssD,GAAAA,EAAe,MACtBlsD,QAASA,IAAM21B,EAAQ7K,KAAK,6CAG/BugC,GACCzrD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,kBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQgP,MAAM,SAAS9O,KAAMjD,EAAAA,cAACusD,EAAAA,EAAc,MAAKnsD,QAASA,IAAMsrD,GAAW,MAG/ED,GACEzrD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,oBACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACEgP,MAAM,SACN9O,KAAMjD,EAAAA,cAACwsD,GAAAA,EAAqB,MAC5BpsD,QAASA,IAAMsrD,GAAW,OAIhC3tD,OAAOypC,WAEXxnC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACZwI,GACCzrD,EAAAA,cAAA,OAAKC,UAAWC,GAAsBgD,MAAO,CAAEjC,OAAQ,OAAQwrD,cAAe,KAC5EzsD,EAAAA,cAACmxC,GAAM,CACLC,UAAWrB,EACXE,WAAY4H,EACZxG,OAAQA,IAAMqa,GAAW,GACzBja,eAAgBA,EAAG7xC,SACjBm2B,EAAQ7K,KAAK,gBAAgBtrB,IAAK,KAM1CI,EAAAA,cAAA,OAAKC,UAAWC,GAAsBgD,MAAO,CAAEge,QAASuqC,EAAU,OAAS,UACzEzrD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,cACxBntB,cAAeA,KACf+B,gB3D1FL,CACL,CACE70B,GAAI,MACJiR,KAAM,iBACN7S,MAAO,GACPwlB,QAAS,CACP,CACE3S,KAAM,QACNjP,KAAM,UACNuxB,MAAM,EACNsK,QAAQ,GAEV,CACE5sB,KAAM,SACNjP,KAAM,UACNuxB,MAAM,EACNsK,QAAQ,GAEV,CACE5sB,KAAM,SACNjP,KAAM,aACNuxB,MAAM,EACNsK,QAAQ,KAId,CACE79B,GAAI,WACJiR,KAAM,WACN7S,MAAO,GACPwlB,QAAS,CACP,CACE3S,KAAM,UACNjP,KAAM,SACN67B,QAAQ,GAEV,CACE5sB,KAAM,QACNjP,KAAM,SACN67B,QAAQ,M2DoDJzI,SAAU,CAAC,OAAQ,GACnBJ,WAAY,CAAEpd,OAAQ,CAAC,EAAG,IAC1Bud,WAAYA,KACZE,WAzGQnU,IAClBiV,EAAQ7K,KAAK,gBAAgBpK,EAAKua,MAAM,EAyG9BnG,UAAW,CAAC,cAAe93B,EAAoBK,GAC/C+yB,YAAa,CACXpY,SAAU,wBACVoa,QAAS,SACTP,WAAY,IACZjB,WAAW,GAEboE,YAAa,CACX,CACEnxB,QAAS,sBACThB,KAAMjD,EAAAA,cAAC0sD,GAAAA,EAAgB,MACvBtsD,QAjHMusD,KACpBf,GAAqB,EAAK,IAmHhBr2B,mBA/HiBv4B,IAC3BmpD,EAAapyC,QAAU/W,EACvBmpD,EAAapyC,SAASxW,YAAY,kBAAmBmf,IACnDH,EAAUG,EAAE,GACZ,OAiIA1c,EAAAA,cAACu4C,GAAoB,CACnB1lC,QAAS84C,EACT12C,SAAUA,IAAM22C,GAAqB,GACrCpmB,OAzHqBz4B,IACzB6+C,GAAqB,GACrB92C,GAAAA,EAAMtU,KAAK,CACTgC,MAAO,6CACP,IAwHAxC,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,oBACNuS,KAAM82C,EACNvzC,KAnHsBrc,UAC1B,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,sBAAuB,CACjE8C,SAEA6uD,MAAOvqD,EAAMwqD,gBAEX/xD,EACF6sC,EAAQjsC,GAAAA,GAAC,CAAC,EAAI2G,GAAK,IAAEtH,YAErB+wD,GAAoB,EACtB,EA0GIrzC,cAAe,CACbzV,SAAkC,IAAxBX,EAAMwqD,eAElB53C,SAAUA,IAAM62C,GAAoB,IAEpC9rD,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAgB9P,GAAM46B,EAAQjsC,GAAC,CAAC,EAAIqR,IACpC+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASY,QACf9pB,MAAO,0CAET,CACEnC,KAAMqrB,GAASG,OACfrpB,MAAO,gBACPV,KAAM,gBACNoC,SAAS,MAId3B,EAAMtH,QAAUiF,EAAAA,cAAA,OAAKkD,MAAO,CAAEyB,MAAO,QAAUtC,EAAMtH,SAKxDiF,EAAAA,cAACihC,GAAiB,CAChBpuB,QAASk5C,EACT7qB,QAASA,IAAM8qB,GAAa,GAC5B3qB,eAAe,oCACfC,cAAe,IACfH,UAAWuD,GAAmB,aAAc,eAAe,GAC3DtD,WAAY,CACV5pB,OAAQ,EACRk4B,IAAK,EACLoF,UAAW,UAEbtxB,QAAS,CACP,CACE5hB,KAAM,QAER,CACEA,KAAM,UAER,CACEA,KAAM,QAER,CACEA,KAAM,IAER,CACEA,KAAM,UAER,CACEA,KAAM,QACNsgC,QAAS,KAEX,CACEtgC,KAAM,IAER,CACEA,KAAM,IAER,CACEA,KAAM,MACNzB,KAAM,QACNgiC,OAAQ,EAAE,GAAI,KAEhB,CACEvgC,KAAM,MACNzB,KAAM,QACNgiC,OAAQ,EAAE,IAAK,MAEjB,CACEvgC,KAAM,WAMlB,GlB3DM,CACEhE,KAAM,IACN0E,MAAO,gBACPsgD,KAAM,mBACNO,OAAO,EACPN,UmB/MO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAOhB,OAN0B4hB,EAAAA,EAAAA,IAAen4C,GAAuBsjC,KAO9D/iC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,yBACvC++C,MACE,KAaJ5+C,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,cACxBntB,cAAeA,KACf+B,gB5DuBL,CACL,CACE70B,GAAI,MACJiR,KAAM,iBACN7S,MAAO,GACPwlB,QAAS,CACP,CACE3S,KAAM,QACNjP,KAAM,UACNuxB,MAAM,EACNsK,QAAQ,GAEV,CACE5sB,KAAM,SACNjP,KAAM,UACNuxB,MAAM,EACNsK,QAAQ,GAEV,CACE5sB,KAAM,SACNjP,KAAM,aACNuxB,MAAM,EACNsK,QAAQ,KAId,CACE79B,GAAI,WACJiR,KAAM,WACN7S,MAAO,GACPwlB,QAAS,CACP,CACE3S,KAAM,UACNjP,KAAM,SACN67B,QAAQ,GAEV,CACE5sB,KAAM,QACNjP,KAAM,SACN67B,QAAQ,M4D7DJzI,SAAU,CAAC,OAAQ,GACnBJ,WAAY,CAAEpd,OAAQ,EAAE,IACxBud,WAAYA,KACZE,WAjCQnU,IAClBiV,EAAQ7K,KAAK,gBAAgBpK,EAAKua,MAAM,EAiC9BnG,UAAW,CAAC,cAAe93B,EAAoBK,QAO7D,GnBoKM,CACEG,KAAM,IACNglD,KAAM,yBACNO,OAAO,EACPN,UoB5MO,WACb,MAAM9S,GAAe6H,EAAAA,EAAAA,IAAe9H,IAC9B+H,GAAiBD,EAAAA,EAAAA,IAAe5H,IAChCwI,GAAYZ,EAAAA,EAAAA,IAAe1H,IAC3BuI,GAAWb,EAAAA,EAAAA,IAAexH,IAC1B0c,GAAclV,EAAAA,EAAAA,IAAetH,KAE7B,SAAEoY,IAAatF,EAAAA,EAAAA,MAEd/gD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GAErDnI,eAAeyqC,EAAU9mC,GAEvB,GADAskC,GAAkB,GACP,6BAAPtkC,EAQF,YAPA+nC,EAAS,CACPtM,IAAK,2BACLqU,IAAK,EACLl4B,OAAQ,EACR85B,IAAK,UACLC,IAAK,YAKT,MACMxkC,EhE9CH,SAAsBggD,GAC3B,IAAK,MAAMnrD,KAAQ+1C,UAEVoV,EAAOnrD,GAShB,MALwB,UAApBmrD,EAAOpyC,IAAIxa,MAAoBhE,MAAMC,QAAQ2wD,EAAOpyC,IAAIqyC,eAC1DD,EAAOzb,IAAMyb,EAAOpyC,IAAIqyC,YAAY,GACpCD,EAAOxb,IAAMwb,EAAOpyC,IAAIqyC,YAAY,IAG/BD,CACT,CgEiCcE,OADSxmB,GAAU,aAAVA,CAAwB7mC,EAAI,MAE7B,IAAdmN,EAAEyK,SAAezK,EAAEyK,OAAS,GAChCmwB,EAAS56B,EACX,CAkNA,OAhNA1I,EAAAA,EAAAA,YAAU,KACJqkD,GACFhiB,EAAUgiB,EACZ,GACC,CAACA,IA6MF1oD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,0BACzC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,oBACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1B5iD,UAAWihC,EACX7jC,QA5BQnE,UAElB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBmyD,GAAgB7qD,GAC9C,GAAY,IAARvH,EACF,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAGvCopC,GAAkB,EACpB,QA2BElkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACbmC,EAAMg5B,KACLr7B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAtDEA,CAAC9P,EAAGsM,KACxBsuB,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB7qB,EAAE,EAqDFyD,KA5OKqwC,MACvB,MAAMC,EAAY,CAChB,CACEjtD,KAAMqrB,GAASM,OACfxpB,MAAO,YACPV,KAAM,MACNwa,OAAQy7B,EACRn1C,KAAM,KAIV,IAAI2qD,EAAW,GACf,MAAMC,EAAUzV,GAAgB5gC,MAAM3X,GAAMA,EAAEM,KAAOyC,EAAMqtC,MACvD4d,GAAWA,EAAQF,YACrBC,EAAWC,EAAQF,WAGrB,MAAMjd,EAAQqI,GAAWnjC,KAAK4J,IAAE,CAC9Brf,GAAIqf,EAAGrf,GACPiR,KAAM,GAAGoO,EAAGpO,SAASoO,EAAGrf,UA+J1B,OA5JAytD,EAASl8B,SAASoc,IAChB,MAAM/N,EAAKstB,EAAYvf,GACvB,OAAQ/N,EAAGr/B,MAET,QACEitD,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASC,KACfnpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN6qD,WAAY/tB,EAAGguB,MAEjB,MAEF,KAAK,EACHJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASsB,IACfxqB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN6qD,WAAY/tB,EAAGguB,MAEjB,MAEF,KAAK,GAuEL,KAAK,GACH,MA3DF,KAAK,GACHJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASC,KACfnpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN6qD,WAAY/tB,EAAGguB,MAEjBJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASC,KACfnpB,MAAO,4CACPV,KAAM,QACNc,KAAM,GACNqB,UAAU,EACVwpD,WAAY/tB,EAAGguB,MAEjB,MAEF,KAAK,EACHJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASO,YACfzpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTwa,OAAQq8B,EAAS16C,QAAQuB,GAAMA,EAAEsC,OAAS49B,EAAG59B,OAC7Cc,KAAM,KAER,MAEF,KAAK,EACH0qD,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASI,SACfvoB,UAAU,EACVb,MAAOg9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,KAER,MAEF,KAAK,EACH0qD,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASQ,KACf1pB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN0Z,OAAQ,KAEV,MAEF,KAAK,GACL,KAAK,GACHgxC,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASiB,cACfnqB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,KAER,MAKF,KAAK,GACH0qD,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASC,KACfnpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACNC,UAAU,IAEZ,MAEF,KAAK,GACL,KAAK,GACL,KAAK,GACHyqD,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASC,KACfnpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,EACNqB,UAAU,EACVwpD,WAAY/tB,EAAGguB,MAEjB,MAEF,KAAK,GACHJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASuB,QACfzqB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN6qD,WAAY/tB,EAAGguB,MAEjB,MAEF,KAAK,GACHJ,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASM,OACfxpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN0Z,OAAQ,CAAC,CAAExc,GAAI,GAAIiR,KAAM,eAAgB6nC,OAAOvI,KAElD,MAEF,KAAK,GACHid,EAAUliC,KAAK,CACb/qB,KAAMqrB,GAASM,OACfxpB,MAAOk9B,EAAG3uB,KACVjP,KAAM49B,EAAG59B,KACTc,KAAM,GACN0Z,OAAQ6T,OAAOC,KAAK+S,IAAsB5tB,KAAK2J,IAAC,CAC9Cpf,GAAIyU,SAAS2K,EAAG,IAChBnO,KAAMoyB,GAAqBjkB,SAInC,IAGKouC,CAAS,EA0DQD,OAIZntD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACmxC,GAAM,CACLC,UAAWrB,EACXE,WAAY4H,EACZxG,OAAQA,OACRC,IAAKjvC,EAAMivC,IACXC,IAAKlvC,EAAMkvC,IACXC,KAAM,GACNE,WAAYrvC,EACZsvC,kBAAoBh3B,IAClBgtB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GACAsY,GACH,UAY1B,GpBhGM,CACE/c,KAAM,IACN0E,MAAO,cACPsgD,KAAM,iBACNO,OAAO,EACPN,UqB/NO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAEVmwB,GAAe/yC,EAAAA,EAAAA,QAAO,OACrBrV,EAAQwe,IAAanY,EAAAA,EAAAA,UAAS,CAAC,GAqBtC,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,uBAAsB,uBAC3C++C,MACE,KAaJ5+C,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,qBACxBntB,cAAeolB,GACb/5C,GA7BU2qD,IACtB3yB,EAAQ7K,KAAK,gBAAgBw9B,IAAW,IALlB/oD,IACtBwmD,EAAapyC,SAASvW,KAAK,aAAc,CAAE66C,KAAM,CAAC14C,EAAG04C,OAAQ,IAL1CJ,KACnBkO,EAAapyC,SAASvW,KAAK,cAAc,IAyC/Bi3B,gBAAiB,KACjBO,SAAU,CAAC,QAAS,GACpBJ,WAAY,CAAE64B,OAAQ,CAAC,IACvB14B,W9DuPL,CACL,CACE50B,KAAMqrB,GAASO,YACfzpB,MAAO,aACPV,KAAM,SACNwa,OAAQ8mB,IAEV,CACE/iC,KAAMqrB,GAASQ,KACf1pB,MAAO,UACPV,KAAM,OACNwa,OAAQ,K8DjQA8Y,UAAW,CAAC,qBAAsB93B,EAAoBK,GACtD83B,mBAtDiBv4B,IAC3BmpD,EAAapyC,QAAU/W,EACvBmpD,EAAapyC,SAASxW,YAAY,kBAAmBmf,IACnDH,EAAUG,EAAE,GACZ,OAyDN,GrB8JM,CACE9e,KAAM,IACN0E,MAAO,kBACPsgD,KAAM,iBACNO,OAAO,EACPN,UjChOO,WACb,MAAM6K,GAAc9V,EAAAA,EAAAA,IAAehI,KAE5B+d,EAAQC,IAAaxpD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,EAAGyU,KAAM,KACjE+2C,EAASC,IAAc1pD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,EAAGyU,KAAM,KACnEi3C,EAASC,IAAc5pD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,EAAGyU,KAAM,KACnEm3C,EAASC,IAAc9pD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,EAAGyU,KAAM,KAEnEzU,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GAmErD,OAjEAC,EAAAA,EAAAA,YAAU,KACRsjC,EAAS+lB,EAAY,GACpB,IAgED1tD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,gBAAe,mBACpC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,SAASiE,MAAM,uBAC1BxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1B5iD,UAAWihC,OAKjBjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA/EcA,CAAC9P,EAAGsM,KACxBsuB,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB7qB,EAAE,EA8EdyD,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,eACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,eACNoC,SAAS,EACTtB,KAAM,QAKd1C,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAm5C,GAAAA,EAAA,CAAUyQ,iBAAkB,IAC1B5pD,EAAAA,cAACk5C,GAAK,CAACnmB,OAAO,sBAAsBx0B,IAAI,cACtCyB,EAAAA,cAAA8sC,GAAAA,EAAA,CACEtpB,QuDvIqB,CACrC,CACEhhB,MAAO,KACPspC,UAAW,KACX5qC,MAAO,IAET,CACEsB,MAAO,WACPspC,UAAW,QAEb,CACEtpC,MAAO,SACPspC,UAAW,OACXx7B,MAAO,QACPosB,OAASz6B,GAAQjC,EAAAA,cAAA,OAAKsO,IAAKrM,EAAKsM,IAAI,YAEtC,CACE/L,MAAO,iBACPspC,UAAW,QACXx7B,MAAO,QACPosB,OAASz6B,GAAQjC,EAAAA,cAAA,OAAKkB,MAAO,GAAID,OAAQ,GAAIqN,IAAKrM,EAAKsM,IAAI,qBvDoH7C0+B,YAAa5qC,EAAM4tC,YAAc,IAAI56B,KAAK/V,GAAC5D,GAAAA,GAAA,GAAW4D,GAAC,IAAEf,IAAKe,EAAEM,OAChEmtC,YAAY,EACZ3qC,KAAK,QACL+rD,MAAOA,CAACniB,EAAQoiB,KAAa,CAC3BhuD,QAASA,IAAMwtD,EAAU,CAAE/6C,SAAS,EAAMxQ,MAAO2pC,EAAQl1B,IAAKs3C,SAIpEpuD,EAAAA,cAACk5C,GAAK,CAACnmB,OAAO,kBAAkBx0B,IAAI,SAClCyB,EAAAA,cAAA8sC,GAAAA,EAAA,CACEtpB,QuD1HgB,CAChC,CACEhhB,MAAO,OACPspC,UAAW,QAEb,CACEtpC,MAAO,MACPspC,UAAW,OACXpP,OAASz6B,GAAQqhC,GAA0BrhC,IAE7C,CACEO,MAAO,WACPspC,UAAW,QAEb,CACEtpC,MAAO,eACPspC,UAAW,MACXpP,OAASz6B,GAASA,EAAM,IAAM,IAEhC,CACEO,MAAO,UACPspC,UAAW,MACXpP,OAASz6B,GAASA,EAAM,IAAM,IAEhC,CACEO,MAAO,YACPspC,UAAW,OvDiGGmB,YAAa5qC,EAAMrE,OAAS,IAAIqX,KAAK/V,GAAC5D,GAAAA,GAAA,GAAW4D,GAAC,IAAEf,IAAKe,EAAEsC,SAC3DmrC,YAAY,EACZ3qC,KAAK,QACL+rD,MAAOA,CAACniB,EAAQoiB,KAAa,CAC3BhuD,QAASA,IAAM0tD,EAAW,CAAEj7C,SAAS,EAAMxQ,MAAO2pC,EAAQl1B,IAAKs3C,SAIrEpuD,EAAAA,cAACk5C,GAAK,CAACnmB,OAAO,qBAAqBx0B,IAAI,SACrCyB,EAAAA,cAAA8sC,GAAAA,EAAA,CACEtpB,QuDvGgB,CAChC,CACEhhB,MAAO,KACPspC,UAAW,MAEb,CACEtpC,MAAO,OACPspC,UAAW,QAEb,CACEtpC,MAAO,WACPspC,UAAW,SvD6FGmB,YAAa5qC,EAAMguC,MAAQ,IAAIh7B,KAAK/V,GAAC5D,GAAAA,GAAA,GAAW4D,GAAC,IAAEf,IAAKe,EAAEM,OAC1DmtC,YAAY,EACZ3qC,KAAK,QACL+rD,MAAOA,CAACniB,EAAQoiB,KAAa,CAC3BhuD,QAASA,IAAM4tD,EAAW,CAAEn7C,SAAS,EAAMxQ,MAAO2pC,EAAQl1B,IAAKs3C,SAIrEpuD,EAAAA,cAACk5C,GAAK,CAACnmB,OAAO,mBAAmBx0B,IAAI,SACnCyB,EAAAA,cAAA8sC,GAAAA,EAAA,CACEtpB,QuDnGgB,CAChC,CACEhhB,MAAO,KACPspC,UAAW,KACX5qC,MAAO,IAET,CACEsB,MAAO,WACPspC,UAAW,QAEb,CACEtpC,MAAO,SACPspC,UAAW,OACXx7B,MAAO,QACPosB,OAASz6B,GAAQjC,EAAAA,cAAA,OAAKsO,IAAKrM,EAAKsM,IAAI,avDsFtB0+B,YAAa5qC,EAAM8tC,OAAS,IAAI96B,KAAK/V,GAAC5D,GAAAA,GAAA,GAAW4D,GAAC,IAAEf,IAAKe,EAAEM,OAC3DmtC,YAAY,EACZ3qC,KAAK,QACL+rD,MAAOA,CAACniB,EAAQoiB,KAAa,CAC3BhuD,QAASA,IAAM8tD,EAAW,CAAEr7C,SAAS,EAAMxQ,MAAO2pC,EAAQl1B,IAAKs3C,aAS7EpuD,EAAAA,cAAC84C,GAAoB,CACnBjmC,QAAS86C,EAAO96C,QAChBxQ,MAAOsrD,EAAOtrD,MACdmjC,OApJa6oB,IACjBT,EAASlyD,GAAAA,GAAC,CAAC,EAAIiyD,GAAM,IAAE96C,SAAS,KAChCqxB,GAAkB,GAClByD,EAAQjsC,GAAAA,GAAC,CAAC,EACLgyD,GAAW,IACdzd,WAAY,IACPyd,EAAYzd,WAAWj5B,MAAM,EAAG22C,EAAO72C,KAC1Cu3C,KACGX,EAAYzd,WAAWj5B,MAAM22C,EAAO72C,IAAM,MAE/C,EA2IE7B,SAAUA,IAAM24C,EAASlyD,GAAAA,GAAC,CAAC,EAAIiyD,GAAM,IAAE96C,SAAS,OAElD7S,EAAAA,cAAC+4C,GAAe,CACdlmC,QAASg7C,EAAQh7C,QACjBxQ,MAAOwrD,EAAQxrD,MACfmjC,OA5Ic+H,IAClBugB,EAAUpyD,GAAAA,GAAC,CAAC,EAAImyD,GAAO,IAAEh7C,SAAS,KAClCqxB,GAAkB,GAClByD,EAAQjsC,GAAAA,GAAC,CAAC,EACLgyD,GAAW,IACd1vD,MAAO,IACF0vD,EAAY1vD,MAAMgZ,MAAM,EAAG62C,EAAQ/2C,KACtCy2B,KACGmgB,EAAY1vD,MAAMgZ,MAAM62C,EAAQ/2C,IAAM,MAE3C,EAmIE7B,SAAUA,IAAM64C,EAAUpyD,GAAAA,GAAC,CAAC,EAAImyD,GAAO,IAAEh7C,SAAS,OAEpD7S,EAAAA,cAACg5C,GAAe,CACdnmC,QAASk7C,EAAQl7C,QACjBxQ,MAAO0rD,EAAQ1rD,MACfmjC,OApIcpkC,IAClB4sD,EAAUtyD,GAAAA,GAAC,CAAC,EAAIqyD,GAAO,IAAEl7C,SAAS,KAClCqxB,GAAkB,GAClByD,EAAQjsC,GAAAA,GAAC,CAAC,EACLgyD,GAAW,IACdrd,KAAM,IACDqd,EAAYrd,KAAKr5B,MAAM,EAAG+2C,EAAQj3C,KACrC1V,KACGssD,EAAYrd,KAAKr5B,MAAM+2C,EAAQj3C,IAAM,MAE1C,EA2HE7B,SAAUA,IAAM+4C,EAAUtyD,GAAAA,GAAC,CAAC,EAAIqyD,GAAO,IAAEl7C,SAAS,OAEpD7S,EAAAA,cAACi5C,GAAe,CACdpmC,QAASo7C,EAAQp7C,QACjBxQ,MAAO4rD,EAAQ5rD,MACfmjC,OA5HcpkC,IAClB8sD,EAAUxyD,GAAAA,GAAC,CAAC,EAAIuyD,GAAO,IAAEp7C,SAAS,KAClCqxB,GAAkB,GAClByD,EAAQjsC,GAAAA,GAAC,CAAC,EACLgyD,GAAW,IACdvd,MAAO,IACFud,EAAYvd,MAAMn5B,MAAM,EAAGi3C,EAAQn3C,KACtC1V,KACGssD,EAAYvd,MAAMn5B,MAAMi3C,EAAQn3C,IAAM,MAE3C,EAmHE7B,SAAUA,IAAMi5C,EAAUxyD,GAAAA,GAAC,CAAC,EAAIuyD,GAAO,IAAEp7C,SAAS,OAI1D,GiCkCM,CACEjV,KAAM,IACN0E,MAAO,kBACPsgD,KAAM,kBACNO,OAAO,EACPN,UjDxMO,WACb,MAAOxU,EAAOigB,IAAYlqD,EAAAA,EAAAA,UAAS,OAC5BmqD,EAASC,IAAcpqD,EAAAA,EAAAA,UAAS,KAEhCyb,EAASC,IAAc1b,EAAAA,EAAAA,WAAS,IAChCqqD,EAAeC,IAAoBtqD,EAAAA,EAAAA,WAAU,IAE7C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CACjCopC,QAAS1oC,MAAQ0C,KAAK,GAAG9B,OAAO,cAChC+nC,MAAO3oC,MAAQY,OAAO,gBAelBipD,EAAc3F,GACC,IAAfA,EAEAhpD,EAAAA,cAAA,OAAKzB,IAAI,QAAQ0B,UAAWC,GAAO0uD,gBACjC5uD,EAAAA,cAAA6uD,GAAAA,EAAA,CAAMrsD,MAAO,kDACXxC,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CACfC,MAAO,GACP,wCAAwCjB,EAAMU,OAAOD,QAEvD9uC,EAAAA,cAACguC,GAAoB,CACnBK,MAAOA,EACPC,MAAM,QACN9rC,MAAM,aACN+rC,WAAW,mBAEbvuC,EAAAA,cAACguC,GAAoB,CACnBK,MAAOA,EACPC,MAAM,YACN9rC,MAAM,WACN+rC,WAAW,cAOF,IAAfya,EAEAhpD,EAAAA,cAAA,OAAKzB,IAAI,QAAQ0B,UAAWC,GAAO0uD,gBACjC5uD,EAAAA,cAAA6uD,GAAAA,EAAA,CAAMrsD,MAAO,2CACXxC,EAAAA,cAACguC,GAAoB,CACnBK,MAAOA,EACPC,MAAM,YACN9rC,MAAM,SACN+rC,WAAW,WAEbvuC,EAAAA,cAACguC,GAAoB,CACnBK,MAAOA,EACPC,MAAM,kBACN9rC,MAAM,iBACN+rC,WAAW,aAOF,IAAfya,EAEAhpD,EAAAA,cAAA,OAAKzB,IAAI,QAAQ0B,UAAWC,GAAO0uD,gBACjC5uD,EAAAA,cAAA6uD,GAAAA,EAAA,CAAMrsD,MAAO,sCACXxC,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CACfC,MAAO,GACP,wCAAwCjB,EAAMU,OAAOD,QACvD9uC,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAG,sCAC5BtvC,EAAAA,cAACwvC,GAAsB,CAACnB,MAAOA,MAMpB,IAAf2a,EACKuF,EAAQl5C,KAAI,CAACha,EAAGgP,IACrBrK,EAAAA,cAAA,OAAKzB,IAAK,UAAU8L,IAAKpK,UAAWC,GAAO0uD,gBACzC5uD,EAAAA,cAAA6uD,GAAAA,EAAA,CAAMtwD,IAAKlD,EAAGmH,MAAO,sCACnBxC,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CACfC,MAAO,GACP,yCAAyCj0C,MAC3C2E,EAAAA,cAACwvC,GAAsB,CAACnB,MAAOA,EAAOoB,QAAS,uBAAuBp0C,UAMvE,KAwCHyzD,EAAeA,IAAMhqD,IAAMzC,EAAMmrC,QAAS,cAAc9nC,OAAO,aAE/DqpD,EAAgBA,CAACC,EAASC,IAC9BjvD,EAAAA,cAAA6uD,GAAAA,EAAA,CACEjvD,GAAI,iBAAiBovD,IACrBzwD,IAAK,WAAWywD,IAChBxsD,MACExC,EAAAA,cAAA,OACEC,UAAWC,GAAOgvD,QAClB5gD,IAAI,qsNACJpL,MAAO,CAAEhC,MAAO,KAChBqN,IAAI,UAIPygD,GAAW,GACVhvD,EAAAA,cAACguC,IAAoB3/B,EAAAA,GAAAA,GAAA,CACnBggC,MAAOA,EACPF,UA5LO,GA4Le8gB,EACtB7gB,SA7LO,IA8LHuB,GAAKqf,GAAQ,CACjBvgB,OAAQ,YAAYqgB,SAIX,IAAZE,GACChvD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,mBAAmB,YAAY6uD,OAC9C9uD,EAAAA,cAAA,OAAKC,UAAU,eAAc,sCAC7BD,EAAAA,cAAA,OAAKC,UAAU,mBAAmB,wCAAwCouC,EAAMU,OAAOD,QACvF9uC,EAAAA,cAAA,OAAKC,UAAU,eAAc,sCAC7BD,EAAAA,cAACwvC,GAAsB,CAACnB,MAAOA,KAIlC2gB,GAAW,GACVhvD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,mBAAmB,YAAY6uD,OAC9C9uD,EAAAA,cAAA,OAAKC,UAAU,eAAc,sCAC7BD,EAAAA,cAAA,OAAKC,UAAU,mBAAmB,yCAChCsuD,EAAQS,EAAU,OAEpBhvD,EAAAA,cAACwvC,GAAsB,CACrBnB,MAAOA,EACPoB,QAAS,uBAAuB8e,EAAQS,EAAU,SAO5D,OACEhvD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKkD,MAAO,CAAE6lC,SAAU,aACtB/oC,EAAAA,cAAA+iD,EAAAA,EAAA,CACExkD,IAAI,SACJ0B,UAAWC,GAAO6mD,WAClBvkD,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,mBACrCsvD,SACEnvD,EAAAA,cAAC2c,GAAS,CACRsR,QAAM,EACN1vB,IAAI,aACJ8D,MAAOA,EACPwa,cA7LW9P,IACrB46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,GAAI,EA6LR+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASW,UACfvqB,KAAM,UACNqJ,MAAO,QACPvI,KAAM,GACNC,SAAUkd,GAAW4uC,EAAgB,MAK7C7P,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,WAAWiE,MAAM,+BAC5BxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAvMDnE,UACjB6jB,GAAW,GACX,MAAM3kB,QAAai0D,GAAgB/sD,EAAMmrC,QAASnrC,EAAMorC,OACxD3tB,GAAW,GACXwuC,EAASnzD,GACTqzD,EAAWv+B,OAAOC,KAAK/0B,EAAKk0D,qBAAqB,EAkMVrsD,SAAU6c,GAAW4uC,EAAgB,GAAG,cAIvEzuD,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,oBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE3C,QAxHanE,UACzByyD,EAAiB,GAGjB,MAAMY,EAAM,IAAIC,GAAAA,GAAM,IAAK,KAAM,MAG3BC,EAFeF,EAAIG,SACQ3xD,SACAoD,MAEjC,IAAIrD,EAAO,EACX,MAAM6xD,EAAWnB,EAAQjkD,OAAS,EAwBlCwnB,YAvBA71B,eAAe0zD,IACb,MAAM1wC,EAAKhQ,SAASC,cAAc,kBAAkBrR,KAEpD,GAAIohB,EAAI,CAEN,MAAM2wC,QAAeC,KAAY5wC,EAAI,CACnCza,gBAAiB,UACjBsrD,YAAY,EACZC,SAAS,IAGXT,EAAIU,SAASJ,EAAOl+C,UAAU,aAAc,MAAO,GAAI,GAAI89C,EAAe,GAAI,GAC9EF,EAAIW,UAEJpyD,GAAQ,EACR6wD,EAAyB,IAAP7wD,EAAc6xD,GAChC59B,WAAW69B,EAAM,GACnB,MACEL,EAAIY,KAAK,oBACTxB,GAAkB,EAEtB,GAEiB,IAAI,EAuFT1rD,WAAYqrC,GAASA,EAAMU,SAAW0f,EAAgB,GACvD,WAMN5uC,GAAW7f,EAAAA,cAAA,OAAKC,UAAWC,GAAO,mBAClCuuD,GAAiB,GAChBzuD,EAAAA,cAAA,OAAKC,UAAWC,GAAOiwD,aACrBnwD,EAAAA,cAAA6U,GAAAA,EAAA,CACEL,QAASi6C,EACTrsD,KAAK,QACLsD,OAAS8O,GAAY,GAAGs1B,GAAUt1B,EAAS,UAMnDxU,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,CAAC1kD,IAAI,gBACjB8vC,GAASA,EAAMU,QACd/uC,EAAAA,cAAAA,EAAAA,SAAA,KACG2uD,EAAW,GACXA,EAAW,GACXA,EAAW,GACXA,EAAW,KAKjBtgB,GAASA,EAAMU,QACd/uC,EAAAA,cAAA,OAAKzB,IAAI,UAAU0B,UAAWC,GAAOkwD,UAClCzgB,GAAKt6B,KAAI,CAAC/V,EAAG+K,IAAM0kD,EAAc1kD,EAAG,KACpC0kD,EAAc,EAAG,GACjBR,EAAQl5C,KAAI,CAACha,EAAGgP,IAAM0kD,EAAc1kD,EAAI,EAAG,MAKtD,KiDzDE,CACEzM,KAAM,IACN0E,MAAO,cACPW,KAAMjD,EAAAA,cAACqwD,EAAAA,EAAiB,MACxB1N,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,MACPsgD,KAAM,aACNO,OAAO,EACPN,UuBzPO,WACb,MAAOxgD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,KACvCoxB,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GAyB/C0+C,EAAcA,KAClBnb,EAAS,CACP90B,SAAS,GACT,EAQJ,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,iCACrC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,mBACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAjCtD4qD,KAChBrjB,EAAS,CACP90B,SAAS,IAEXqxB,GAAkB,EAAM,QAiCtBlkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,mBACxBntB,cCnEL,CACL7hB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,eACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,SACNiP,KAAM,QACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,cACNsiB,MAAM,EACNsK,QAAQ,KDgDFhJ,gBAAiB,KACjBQ,WApDQnU,IAClB6mB,EAAQjsC,GAAC,CACPmX,SAAS,GACNiO,IAELojB,GAAkB,EAAM,EAgDdhP,UAAW,CAAC,iBAAkB93B,EAAoBK,GAClDu3B,SAAU,CAAC,MAAO,GAClB72B,YAAa,CAAC,MAAO,QAAS,aAMtC6B,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,0BACNuS,KAAM1S,EAAMwQ,QACZoC,SAAU6tC,EACVtqC,OAAO,YACPF,KArCWrc,gBACTq0D,GAAejuD,GACrBygD,GAAa,EAoCT5hD,MAAO,IACPuX,cAAe,CAAEzV,UAAWihC,IAE5BjkC,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAzDcA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GACA0K,IAELm3B,EAAkB+D,EAAG,EAqDfnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,eACPV,KAAM,MACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,eACPV,KAAM,QACNc,KAAM,GACNsB,SAAS,GAEX,CACE7D,KAAMqrB,GAASE,SACfppB,MAAO,qBACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,GACNsB,SAAS,OAOvB,GvBkJM,CACEpG,KAAM,IACN0E,MAAO,cACPsgD,KAAM,gBACNO,OAAO,EACPN,UyBjQO,WACb,MAAOxgD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,MAU7B4jC,EAAaA,KACjBL,EAAS,KAAK,EAkBhB,OACE3nC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,oBAAmB,eACxC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAlC1Do2C,aAsCVx2C,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,iBACxBntB,cCvDL,CACL7hB,KAAM,KACN7S,MAAO,CAAC,MAAO,OACfk/B,SAAWpc,GACW,IAAhBA,EAAKjlB,OAAqB,CAAE8I,MAAO,qBAChC,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAAC6I,GAAsB,KAAM,SAE3C,CACE3hC,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,WACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,WACNsiB,MAAM,KD2BAsB,gBAAiB,KACjBQ,WAzCQnU,IAClB6mB,EAAS7mB,EAAK,EAyCJoU,UAAW,CAAC,oBAAqB93B,EAAoBK,GACrDu3B,SAAU,CAAC,QAAS,GACpB72B,YAAa,CAAC,OAAQ,aAM9B6B,EAAAA,cAACurC,GAAmB,CAAClpC,MAAOA,EAAO6+B,QAAS8G,EAAYxC,OA1C7CvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,oB,uWAAmBS,CAAA,GACpDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,IAiCJ,GzBuMM,CACE8C,KAAM,IACN0E,MAAO,QACPsgD,KAAM,eACNO,OAAO,EACPN,U2BxQO,WACb,MAAOxgD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,MAU7B4jC,EAAaA,KACjBL,EAAS,KAAK,EAkBhB,OACE3nC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,qBAOzCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,gBACxBntB,cCzDL,CACL7hB,KAAM,KACN7S,MAAO,CAAC,MAAO,MAAO,YACtBwlB,QAAS,CACP,CACE5hB,KAAM,OACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,WACNsiB,MAAM,GAER,CACEvxB,KAAM,SACNiP,KAAM,YACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,mBACNsiB,MAAM,KDmCAsB,gBAAiB,KACjBQ,WAzCQnU,IAClB6mB,EAAS7mB,EAAK,EAyCJoU,UAAW,CAAC,mBAAoB93B,EAAoBK,GACpDu3B,SAAU,CAAC,MAAO,GAClB72B,YAAa,CAAC,OAAQ,OAAQ,cAMtC6B,EAAAA,cAACotC,GAAkB,CAAC/qC,MAAOA,EAAO6+B,QAAS8G,EAAYxC,OA1C5CvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,mB,uWAAkBS,CAAA,GACnDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,IAiCJ,G3B+MM,CACE8C,KAAM,IACN0E,MAAO,YACPsgD,KAAM,iBACNO,OAAO,EACPN,U6BjRO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAUhB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,sBAO3CG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,iBACxBntB,c3FnCe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACW,IAAhBA,EAAKjlB,OAAqB,CAAE8I,MAAO,qBAChC,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,SACNiP,KAAM,aACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,YACNiP,KAAM,mBACNsiB,MAAM,EACNsK,QAAQ,K2FMAhJ,gBAAiB,KACjBQ,WAtBQnU,IAClBiV,EAAQ7K,KAAK,iBAAiBpK,EAAKua,MAAM,EAsB/BnG,UAAW,CAAC,qBAAsB93B,EAAoBK,GACtDu3B,SAAU,CAAC,MAAO,GAClB72B,YAAa,CAAC,OAAQ,aAOpC,G7B4OM,CACEP,KAAM,IACNglD,KAAM,2BACNO,OAAO,EACPN,U3D9QO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,MACXq6B,EAAKn6B,GAAAA,MAAkBH,EAASI,SAE/Bh0B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAC5B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE/C,UAAEosD,IAAcpN,EAAAA,EAAAA,MAsBtB/+C,EAAAA,EAAAA,YAAU,KACU,YAAdmsD,GArBgBv0D,WACpB,MAAMd,QAAasrC,GAAU,gBAAVA,CAA2B7mC,EAAI,IAClD+nC,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACPwxC,UAAWxxC,EAAKwxC,UAAY,IAAIt3B,KAAK/V,GAAC5D,GAAAA,GAAA,GACjC4D,GAAC,IACJ+7B,IAAK/7B,EAAE+7B,MAAO3M,EAAAA,GAAAA,UAEhB+hC,cAAet1D,EAAKs1D,cAAgB,IAAIp7C,KAAK/V,GAAC5D,GAAAA,GAAA,GACzC4D,GAAC,IACJ+7B,IAAK/7B,EAAE+7B,MAAO3M,EAAAA,GAAAA,UAEhBgiC,SAAUv1D,EAAKu1D,SAAW,IAAIr7C,KAAK/V,GAAC5D,GAAAA,GAAA,GAC/B4D,GAAC,IACJ+7B,IAAK/7B,EAAE+7B,MAAO3M,EAAAA,GAAAA,aAGlBwV,GAAkB,EAAM,EAKtBwlB,CAAc8G,EAChB,GACC,CAACA,IAEJ,MAIM3zC,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EA8BvB,OACEjoC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,2BAA0B,2BAC/CioD,OAAQA,IAAM/xB,EAAQ7K,KAAK,kBAC3B0zB,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,aACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QA9BOnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,oBAAmBS,GAAA,GAC1D2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,GACd/oC,EAAKkgC,MAAQm1B,GACfz6B,EAAQlwB,QAAQ,iBAAiB1K,EAAKkgC,YAEnC,GAAIl/B,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAgBUkI,UAAWihC,QAKnBjkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2pD,GAAAA,EAAA,CACEhL,UAAW4R,EAAGxG,KAAO,YACrB5pD,KAAK,OACL0pD,YAAY,QACZpmD,SA7DSlF,IACnBw3B,EAAQ7K,KAAK,QAAQ3sB,IAAM,GA8DjByB,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,mBAAmBxrD,IAAI,aACvCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,iBACPV,KAAM,SACNwa,OAAQonB,GACR9gC,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,8BACPV,KAAM,QACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,wCACPV,KAAM,OACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,2CACPV,KAAM,MACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,wCACPV,KAAM,WACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,+CACPV,KAAM,OACNwa,OAAQ,GACR1Z,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,iDACPV,KAAM,UACNc,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,eAAexrD,IAAI,YACnCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS+B,eACfjrB,MAAO,iDACPV,KAAM,MACNmX,QAAS,IACTrW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,WAAWxrD,IAAI,QAC/ByB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASE,SACfppB,MAAO,8BACPV,KAAM,OACN6hB,KAAM,GACN7K,UAAU,EACVlW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,kBAAkBxrD,IAAI,QACtCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNoX,aAAa,EACbtW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,WAAWxrD,IAAI,YAC/ByB,EAAAA,cAACusC,GAAsB,CAAClqC,MAAOA,EAAOwa,cAAeA,KAEvD7c,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,aAAaxrD,IAAI,QACjCyB,EAAAA,cAACktC,GAAmB,CAACtrC,KAAK,UAAUS,MAAOA,EAAOwa,cAAeA,KAEnE7c,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,cAAcxrD,IAAI,QAClCyB,EAAAA,cAACktC,GAAmB,CAClBtrC,KAAK,eACLS,MAAOA,EACPwa,cAAeA,SASjC,G2DyDM,CACEjf,KAAM,IACN0E,MAAO,WACPsgD,KAAM,iBACNO,OAAO,EACPN,U8B5RO,WACb,MAAO8N,EAAUC,IAAexsD,EAAAA,EAAAA,UAAS,CAAEysD,UAAU,IAsB/C7oB,EAAaA,KACjB4oB,EAAWl1D,GAAAA,GAAC,CAAC,EAAIi1D,GAAQ,IAAEE,UAAU,IAAQ,EAkB/C,OACE7wD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,oBACzC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA9C1Do2C,KACZoa,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAO,CAAExG,OAAQ,EAAGi1D,OAAQhsD,MAAQY,OAAO,iBAC3C,QA6CA1F,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,iBACxBntB,cCvEe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACLA,EAAKjlB,QAAU,EAAU,CAAE8I,MAAO,qBAC/B,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACyI,GAAyB,KAAM,SAE9C,CACEvhC,KAAM,SACNiP,KAAM,aACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,mBACNsiB,MAAM,KD2CEsB,gBAAiB,KACjBQ,WAjDOh5B,UACjB,MAAMd,QAAasrC,GAAU,gBAAVA,CAA2B3lB,EAAKua,IAAK,IACxDu1B,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAK3G,GAAAA,GAAA,GACAP,GAAI,IACP21D,OAAQhsD,IAAM3J,EAAKqM,MAAM9B,OAAO,kBAElC,EAyCQwvB,UAAW,CAAC,qBAAsB93B,EAAoBK,GACtDm3B,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,EAAG,IAC7Bm5B,SAAU,CAAC,QAAS,GACpB72B,YAAa,CAAC,OAAQ,QACtBw2B,UAAW,CACT72B,SAAU,SAOpBkC,EAAAA,cAACsnC,GAAe,CACd9kC,MAAM,mCACNtB,MAAO,IACP2R,QAAS89C,EAASE,SAClBxuD,MAAOsuD,EAAStuD,MAChB6+B,QAAS8G,EACTxC,OApDSvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,oBAAmBS,GAAA,GACpDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAyCIgiB,KC3D6B,CACnC,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQ+mB,GACRzgC,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,qBACPV,KAAM,QACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,4BACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,gBACPV,KAAM,SACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,oBACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,MACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,0BACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASgC,eACflrB,MAAO,eACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiC,gBACfjrB,MAAO,iBACPZ,KAAM,OACNujB,UAAW,CAAC,QAAS,QACrBC,YAAa,SACb1iB,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,OACPV,KAAM,OACNwa,OAAQ,GACR1Z,KAAM,ODDV,G9B0MM,CACE9E,KAAM,IACN0E,MAAO,YACPsgD,KAAM,kBACNO,OAAO,EACPN,UgCnSO,WACb,MAAO8N,EAAUC,IAAexsD,EAAAA,EAAAA,UAAS,CAAEysD,UAAU,IAsB/C7oB,EAAaA,KACjB4oB,EAAWl1D,GAAAA,GAAC,CAAC,EAAIi1D,GAAQ,IAAEE,UAAU,IAAQ,EAkB/C,OACE7wD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,sBAAqB,qBAC1C++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA9C1Do2C,KACZoa,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAO,CAAExG,OAAQ,EAAGi1D,OAAQhsD,MAAQY,OAAO,iBAC3C,QA6CA1F,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,kBACxBntB,cCvEe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACLA,EAAKjlB,QAAU,EAAU,CAAE8I,MAAO,qBAC/B,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACyI,GAAyB,KAAM,SAE9C,CACEvhC,KAAM,SACNiP,KAAM,aACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,GAEV,CACE77B,KAAM,QACNiP,KAAM,mBACNsiB,MAAM,KD2CEsB,gBAAiB,KACjBQ,WAjDOh5B,UACjB,MAAMd,QAAasrC,GAAU,iBAAVA,CAA4B3lB,EAAKua,IAAK,IACzDu1B,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAK3G,GAAAA,GAAA,GACAP,GAAI,IACP21D,OAAQhsD,IAAM3J,EAAKqM,MAAM9B,OAAO,kBAElC,EAyCQwvB,UAAW,CAAC,sBAAuB93B,EAAoBK,GACvDm3B,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,EAAG,IAC7Bm5B,SAAU,CAAC,QAAS,GACpB72B,YAAa,CAAC,OAAQ,aAM9B6B,EAAAA,cAACsnC,GAAe,CACd9kC,MAAM,0BACNtB,MAAO,IACP2R,QAAS89C,EAASE,SAClBxuD,MAAOsuD,EAAStuD,MAChB6+B,QAAS8G,EACTxC,OAjDSvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,qBAAoBS,GAAA,GACrDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAsCIgiB,KCxD6B,CACnC,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQ+mB,GACRzgC,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,qBACPV,KAAM,QACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,4BACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,gBACPV,KAAM,SACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,oBACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAAS+B,eACfjrB,MAAO,mBACPV,KAAM,MACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,0BACPV,KAAM,QACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASgC,eACflrB,MAAO,eACPV,KAAM,OACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiC,gBACfjrB,MAAO,iBACPZ,KAAM,OACNujB,UAAW,CAAC,QAAS,QACrBC,YAAa,SACb1iB,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,OACPV,KAAM,OACNwa,OAAQ,GACR1Z,KAAM,ODJV,GhCoNM,CACE9E,KAAM,IACN0E,MAAO,mBACPsgD,KAAM,YACNO,OAAO,EACPN,UkC1SO,WACb,MAAO8N,EAAUC,IAAexsD,EAAAA,EAAAA,UAAS,CAAEysD,UAAU,IAsB/C7oB,EAAaA,KACjB4oB,EAAWl1D,GAAAA,GAAC,CAAC,EAAIi1D,GAAQ,IAAEE,UAAU,IAAQ,EAkB/C,OACE7wD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,gBAAe,oBACpC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA9C1Do2C,KACZoa,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAO,CAAExG,OAAQ,KACjB,QA6CAmE,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,aACxBntB,cCvEe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACLA,EAAKjlB,QAAU,EAAU,CAAE8I,MAAO,qBAC/B,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACyI,GAAyB,KAAM,SAE9C,CACEvhC,KAAM,SACNiP,KAAM,SACNsiB,MAAM,EACNuH,WAAY,CAAC0I,GAAiB,KAAM,SAEtC,CACExhC,KAAM,QACNiP,KAAM,WACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,OACNsiB,MAAM,KD2CEsB,gBAAiB,KACjBQ,WAjDOh5B,UACjB,MAAMd,QAAasrC,GAAU,YAAVA,CAAuB3lB,EAAKua,IAAK,IACpDu1B,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAK3G,GAAAA,GAAA,GACAP,GAAI,IACP21D,OAAQhsD,IAAM3J,EAAKqM,MAAM9B,OAAO,kBAElC,EAyCQwvB,UAAW,CAAC,qBAAsB93B,EAAoBK,GACtDm3B,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,EAAG,IAC7Bm5B,SAAU,CAAC,QAAS,GACpB72B,YAAa,CAAC,OAAQ,aAM9B6B,EAAAA,cAACsnC,GAAe,CACd9kC,MAAM,0BACNtB,MAAO,IACP2R,QAAS89C,EAASE,SAClBxuD,MAAOsuD,EAAStuD,MAChB6+B,QAAS8G,EACTxC,OAjDSvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,gBAAeS,GAAA,GAChDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAsCIgiB,KCxD6B,CACnC,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQ+mB,GAAwBplC,QAAQuB,GAAM,CAAC,EAAG,GAAGkL,SAASlL,EAAEM,MAChE8C,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,QACNwa,OAAQgnB,GACR1gC,KAAM,IAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,SACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,QACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,OACPV,KAAM,OACNwa,OAAQ,GACR1Z,KAAM,OD0BV,GlC2NM,CACE9E,KAAM,IACN0E,MAAO,mBACPsgD,KAAM,sBACNO,OAAO,EACPN,UoCjTO,WACb,MAAO8N,EAAUC,IAAexsD,EAAAA,EAAAA,UAAS,CAAEysD,UAAU,IAqB/C7oB,EAAaA,KACjB4oB,EAAWl1D,GAAAA,GAAC,CAAC,EAAIi1D,GAAQ,IAAEE,UAAU,IAAQ,EAkB/C,OACE7wD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kBAAiB,gBACtC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA7C1Do2C,KACZoa,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAO,CAAExG,OAAQ,KACjB,QA4CAmE,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,eACxBntB,cCtEe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACLA,EAAKjlB,QAAU,EAAU,CAAE8I,MAAO,qBAC/B,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAACyI,GAAyB,KAAM,SAE9C,CACEvhC,KAAM,SACNiP,KAAM,aACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,WACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,OACNsiB,MAAM,KD2CEsB,gBAAiB,KACjBQ,WAhDOh5B,UACjB,MAAMd,QAAasrC,GAAU,cAAVA,CAAyB3lB,EAAKua,IAAK,IACtDu1B,EAAWl1D,GAAAA,GAAC,CAAC,EACRi1D,GAAQ,IACXE,UAAU,EACVxuD,MAAK3G,GAAA,GACAP,KAEL,EAyCQ+5B,UAAW,CAAC,uBAAwB93B,EAAoBK,GACxDm3B,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,EAAG,IAC7Bm5B,SAAU,CAAC,QAAS,GACpB72B,YAAa,CAAC,OAAQ,aAM9B6B,EAAAA,cAACsnC,GAAe,CACd9kC,MAAM,0BACNtB,MAAO,IACP2R,QAAS89C,EAASE,SAClBxuD,MAAOsuD,EAAStuD,MAChB6+B,QAAS8G,EACTxC,OAjDSvpC,UACb,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,kBAAiBS,GAAA,GAClDqR,IAEL,GAAY,IAARjS,EACFktC,SACK,GAAI7rC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAsCIgiB,KCxD6B,CACnC,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQ+mB,GAAwBplC,QAAQuB,GAAM,EAAE,EAAG,EAAG,GAAGkL,SAASlL,EAAEM,MACpE8C,KAAM,IAER,CACEvC,KAAMqrB,GAASG,OACfrpB,MAAO,qBACPV,KAAM,QACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASmC,MACfrrB,MAAO,+CACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASQ,KACf1pB,MAAO,OACPV,KAAM,OACNwa,OAAQ,GACR1Z,KAAM,OD6BV,GpCoOM,CACE9E,KAAM,IACN0E,MAAO,4BACPsgD,KAAM,sBACNO,OAAO,EACPN,UsC5TO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAUhB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,0BAAyB,mCAC9C++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAftDmpD,KAChBxzB,EAAQ7K,KAAK,8BAA8B,QAkBzClrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,sBACxBntB,cCnCL,CACL7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACW,IAAhBA,EAAKjlB,OAAqB,CAAE8I,MAAO,qBAChC,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAAC6I,GAAsB,KAAM,SAE3C,CACE3hC,KAAM,MACNiP,KAAM,OACNsiB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,cAEV,CACE9D,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,KDSFhJ,gBAAiB,KACjBQ,WAtBQnU,IAClBiV,EAAQ7K,KAAK,uBAAuBpK,EAAKua,MAAM,EAsBrCnG,UAAW,CAAC,0BAA2B93B,EAAoBK,GAC3Du3B,SAAU,CAAC,MAAO,GAClBJ,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,IAC1BsC,YAAa,CAAC,aAO5B,GtCsRM,CACEP,KAAM,IACNglD,KAAM,2BACNO,OAAO,EACPN,UpEtTO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,MACXq6B,EAAKn6B,GAAAA,MAAkBH,EAASI,SAE/Bh0B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAC5B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE/C,IAAE2sD,IAAQ3N,EAAAA,EAAAA,MAchB/+C,EAAAA,EAAAA,YAAU,KACI,YAAR0sD,GAbgB90D,WACpB,MAAMd,QAAasrC,GAAU,qBAAVA,CAAgC7mC,EAAI,IACvD+nC,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACPovC,QAASpvC,GAAMovC,QAAU,IAAIl1B,KAAK+d,GAAC13B,GAAAA,GAAA,GAC9B03B,GAAC,IACJxzB,GAAIwzB,EAAExzB,KAAM8uB,EAAAA,GAAAA,aAGhBwV,GAAkB,EAAM,EAKtBwlB,CAAcqH,EAChB,GACC,CAACA,IAEJ,MAIMl0C,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EAmDvB,OACEjoC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iCAAgC,4BACrDioD,OAAQA,IAAM/xB,EAAQgyB,SACtBnJ,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,WACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQgP,MAAM,SAAS9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MAAKpO,QA9BtCnE,UAMnB,GAAY,UALM0nC,GAAc,2BAA4B,kBAAmB,CAC7E,CAAErhC,MAAO,UACT,CAAEA,MAAO,aAGI,CACb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,yBAAwBS,GAAAA,GAAA,GACzD2G,GAAK,IACRxG,QAAS,KAEX,GAAY,IAARf,EAAWi7B,EAAQ7K,KAAK,4BACvB,GAAI/uB,MAAMC,QAAQrB,GACrB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IAEzC,MAaMkF,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,aACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QAvDOnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,yBAAwBS,GAAA,GAC/D2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,GACd/oC,EAAKkgC,MAAQ01B,GACfh7B,EAAQlwB,QAAQ,uBAAuB1K,EAAKkgC,YAEzC,GAAIl/B,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAyCUkI,UAAWihC,QAKnBjkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2pD,GAAAA,EAAA,CACEhL,UAAW4R,EAAGxG,KAAO,SACrB5pD,KAAK,OACL0pD,YAAY,QACZpmD,SArFSlF,IACnBw3B,EAAQ7K,KAAK,QAAQ3sB,IAAM,GAsFjByB,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,qBAAqBxrD,IAAI,UACzCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQmnB,GACR7gC,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAAS+B,eACfjrB,MAAO,kBACPV,KAAM,MACNyL,YAAY,EACZ3K,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,aAAaxrD,IAAI,QACjCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNkX,UAAW,CAAC,MAAO,MAAO,QAC1BpW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,0BAA0BxrD,IAAI,UAC9CyB,EAAAA,cAACsqC,GAAmB,CAClBC,OAAQloC,GAAOkoC,OACfC,aA5HMD,IACpB5C,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRkoC,OAAQ,IAAIA,MAEdrG,GAAkB,EAAK,EAwHT9qB,KAAM/W,GAAO+W,YAS/B,GoE8IM,CACExb,KAAM,IACN0E,MAAO,kBACPsgD,KAAM,gBACNO,OAAO,EACPN,UwC1UO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAUhB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,oBAAmB,mBACxC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,YACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QAftDmpD,KAChBxzB,EAAQ7K,KAAK,wBAAwB,QAkBnClrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,gBACxBntB,cCnCL,CACL7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,GACW,IAAhBA,EAAKjlB,OAAqB,CAAE8I,MAAO,qBAChC,CAAC,EAEV6e,QAAS,CACP,CACE5hB,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAAC6I,GAAsB,KAAM,SAE3C,CACE3hC,KAAM,MACNiP,KAAM,OACNsiB,MAAM,EACNsK,QAAQ,EACRt9B,KAAM,OACNuF,OAAQ,cAEV,CACE9D,KAAM,QACNiP,KAAM,WACNsiB,MAAM,EACNsK,QAAQ,KDSFhJ,gBAAiB,KACjBQ,WAtBQnU,IAClBiV,EAAQ7K,KAAK,iBAAiBpK,EAAKua,MAAM,EAsB/BnG,UAAW,CAAC,oBAAqB93B,EAAoBK,GACrDu3B,SAAU,CAAC,MAAO,GAClBJ,WAAY,CAAE/4B,OAAQ,CAAC,EAAG,IAC1BsC,YAAa,CAAC,aAO5B,GxCoSM,CACEP,KAAM,IACNglD,KAAM,qBACNO,OAAO,EACPN,UzEpUO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,MACXq6B,EAAKn6B,GAAAA,MAAkBH,EAASI,SAE/Bh0B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS+pB,KAC5B8V,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE/C,IAAE2sD,IAAQ3N,EAAAA,EAAAA,MAchB/+C,EAAAA,EAAAA,YAAU,KACI,YAAR0sD,GAbgB90D,WACpB,MAAMd,QAAasrC,GAAU,eAAVA,CAA0B7mC,EAAI,IACjD+nC,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACPovC,QAASpvC,GAAMovC,QAAU,IAAIl1B,KAAK+d,GAAC13B,GAAAA,GAAA,GAC9B03B,GAAC,IACJxzB,GAAIwzB,EAAExzB,KAAM8uB,EAAAA,GAAAA,aAGhBwV,GAAkB,EAAM,EAKtBwlB,CAAcqH,EAChB,GACC,CAACA,IAEJ,MAIMl0C,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EAoDvB,OACEjoC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,2BAA0B,mBAC/CioD,OAAQA,IAAM/xB,EAAQgyB,SACtBnJ,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,WACvBxC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQgP,MAAM,SAAS9O,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MAAKpO,QA9BtCnE,UAMnB,GAAY,UALM0nC,GAAc,2BAA4B,kBAAmB,CAC7E,CAAErhC,MAAO,UACT,CAAEA,MAAO,aAGI,CACb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,mBAAkBS,GAAAA,GAAA,GACnD2G,GAAK,IACRxG,QAAS,KAEX,GAAY,IAARf,EAAWi7B,EAAQ7K,KAAK,sBACvB,GAAI/uB,MAAMC,QAAQrB,GACrB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IAEzC,MAaMkF,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,aACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QAvDOnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,mBAAkBS,GAAA,GACzD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,GACd/oC,EAAKkgC,MAAQ01B,GACfh7B,EAAQlwB,QAAQ,uBAAuB1K,EAAKkgC,YAEzC,GAAIl/B,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EAyCUkI,UAAWihC,QAKnBjkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2pD,GAAAA,EAAA,CACEhL,UAAW4R,EAAGxG,KAAO,SACrB5pD,KAAK,OACL0pD,YAAY,QACZpmD,SAtFSlF,IACnBw3B,EAAQ7K,KAAK,QAAQ3sB,IAAM,GAuFjByB,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,qBAAqBxrD,IAAI,UACzCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQmnB,GACR7gC,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNY,WAAW,GAEb,CACEnD,KAAMqrB,GAAS+B,eACfjrB,MAAO,kBACPV,KAAM,MACNyL,YAAY,EACZ3K,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,aAAaxrD,IAAI,QACjCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNkX,UAAW,CAAC,MAAO,MAAO,QAC1BpW,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,0BAA0BxrD,IAAI,UAC9CyB,EAAAA,cAACsqC,GAAmB,CAClBC,OAAQloC,GAAOkoC,OACfC,aA7HMD,IAEpB5C,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRkoC,OAAQ,IAAIA,MAEdrG,GAAkB,EAAK,EAwHT9qB,KAAM/W,GAAO+W,YAS/B,GyE2JM,CACExb,KAAM,IACN0E,MAAO,WACPsgD,KAAM,cACNO,OAAO,EACPN,UvD5QO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,OACX,KAAEr4B,GAASu4B,GAAAA,MAAkBH,EAASI,SAErCh0B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAcrDC,EAAAA,EAAAA,YAAU,KACJxG,GAbY5B,WAChB,MAAMd,QAAasrC,GAAU,aAAVA,CAAwB5oC,EAAM,IACjD8pC,EAAQjsC,GAAAA,GAAC,CAAC,EACLP,GAAI,IACPovC,QAASpvC,GAAMovC,QAAU,IAAIl1B,KAAK+d,GAAC13B,GAAAA,GAAA,GAC9B03B,GAAC,IACJxzB,GAAIwzB,EAAExzB,KAAM8uB,EAAAA,GAAAA,aAGhBwV,GAAkB,EAAM,EAId8sB,EAAe,GACxB,CAACnzD,IAEJ,MAgBMgf,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EAkBvB,OACEjoC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MACExC,EAAAA,cAACF,GAAQ,CAACD,IAAI,sBAAqB,0BAEhChC,EACCmC,EAAAA,cAAA,YAAM,KACFA,EAAAA,cAAA,QAAMkD,MAAO,CAAEyB,MAAO,qBAAuB2oC,GAAkBzvC,KAGnE,IAIN+gD,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,OAAOiE,MAAM,aACxBxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,UACL4R,MAAM,SACN9O,KAAMjD,EAAAA,cAAC4lD,EAAAA,EAAmB,MAC1BxlD,QArCOnE,UACjB,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,iBAAgBS,GAAA,GACjD2G,IAEL,GAAY,IAARvH,EACFopC,GAAkB,QACb,GAAI/nC,MAAMC,QAAQrB,GACvB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,IACvC,EA0BUkI,UAAWihC,QAKnBjkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAgBA,KACjCF,EAAAA,cAAAg6C,GAAAA,EAAA,CACEC,kBAAgB,EAChBgX,UAAQ,EACRC,aAAclxD,EAAAA,cAACk/B,GAAAA,EAAY,MAC3BH,aAAc,CAAClhC,GACfmd,SAxEKA,CAAC+jB,GAAgBoyB,WACL,MAAvBA,EAAK5yD,IAAIqf,OAAO,GAClBmY,EAAQ7K,KAAK,SAASimC,EAAK5yD,OAE3Bw3B,EAAQ7K,KAAK,IACf,EAoEUovB,SAAUjN,MAGbxvC,GAAQA,IAASwE,GAAOg5B,KACvBr7B,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAgBA,KACjCF,EAAAA,cAAA2pD,GAAAA,EAAA,CAAMxpD,KAAK,OAAO0pD,YAAY,OAC5B7pD,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,0BAA0BxrD,IAAI,UAC9CyB,EAAAA,cAACsqC,GAAmB,CAClBC,OAAQloC,GAAOkoC,OACfC,aA1EID,IACpB5C,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRkoC,OAAQ,IAAIA,MAEdrG,GAAkB,EAAK,EAsEP9qB,KAAM/W,GAAO+W,QAGjBpZ,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,qBAAqBxrD,IAAI,QACzCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,iBACPV,KAAM,YACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,uBACPV,KAAM,WACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,gCACPV,KAAM,WACNc,KAAM,QAKd1C,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,aAAaxrD,IAAI,QACjCyB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAAS8B,eACf1rB,KAAM,OACNkX,UAAW,CAAC,MAAO,MAAO,QAC1BpW,KAAM,YAY9B,GuDkHM,CACE9E,KAAM,IACN0E,MAAO,UACPsgD,KAAM,gBACNO,OAAO,EACPN,U0ClWO,WAEb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAIhB,OACEh2B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,oBAAmB,oBACxCioD,OAAQA,IAAM/xB,EAAQgyB,WAExB/nD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2pD,GAAAA,EAAA,CAAMxpD,KAAK,OAAO0pD,YAAY,SAC5B7pD,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,mBAAmBxrD,IAAI,KAAK6yD,aAAW,GACvDpxD,EAAAA,cAACuoC,GAAgB,OAEnBvoC,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,gBAAgBxrD,IAAI,WAAW6yD,aAAW,GAC1DpxD,EAAAA,cAACwoC,GAAgB,OAEnBxoC,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,qBAAqBxrD,IAAI,YAAY6yD,aAAW,GAChEpxD,EAAAA,cAACyoC,GAAiB,OAEpBzoC,EAAAA,cAAA2pD,GAAAA,EAAMG,QAAO,CAACC,IAAI,kBAAkBxrD,IAAI,OAAO6yD,aAAW,GACxDpxD,EAAAA,cAAC0nC,GAAY,WAQ7B,K1CmUE,CACE9pC,KAAM,IACN0E,MAAO,UACPW,KAAMjD,EAAAA,cAACusD,EAAAA,EAAc,MACrB5J,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,YACPsgD,KAAM,iBACNO,OAAO,EACPN,U2C5WO,WACb,MAAM/c,GAAkB8R,EAAAA,EAAAA,IAAewB,IACjC5U,GAAoBoT,EAAAA,EAAAA,IAAen4C,GAAuB,OAEzD4C,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,IAgBxCiwC,EAAcA,KAClBnb,EAAS,CACP90B,SAAS,GACT,EAQJ,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,iBAAgB,yBAEvCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa6tB,EAAW,sBACxBntB,cAAeA,GAAc8R,EAAmBsB,GAChDrR,gBAAiB,KACjBQ,WAtCQnU,IAClB6mB,EAAQjsC,GAAC,CACPmX,SAAS,GACNiO,GACH,EAmCQoU,UAAW,CAAC,kBAAmB93B,EAAoBK,GACnDm3B,WAAY,CAAEgS,MAAO,CAAEyqB,KAAM,IAC7Br8B,SAAU,CAAC,OAAQ,GACnB72B,YAAa,CAAC,UAAW,QACzBqyB,YAAa,CACXpY,SAAU,UACVoa,QAAS,SACTP,WAAY,IACZjB,WAAW,QAOrBhxB,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,0BACNuS,KAAM1S,EAAMwQ,QACZoC,SAAU6tC,EACVtqC,OAAO,YACPF,KAvCcrc,gBACZq0D,GAAejuD,GACrBygD,GAAa,EAsCT5hD,MAAO,KAEPlB,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAzDe9P,IACrB46B,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GACA0K,GACH,EAsDI+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,UACNc,KAAM,GACN6qD,UAAU,EACVjqD,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNc,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNc,KAAM,GACN0Z,OAAQ0pB,EAAgBqc,SACxBoL,UAAU,GAEZ,CACEptD,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNc,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNc,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,WACNc,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNc,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASM,OACfxpB,MAAO,0BACPV,KAAM,OACNwa,OAAQ0pB,EAAgBoc,OACxBx/C,KAAM,GACN6qD,UAAU,GAEZ,CACEptD,KAAMqrB,GAASiB,cACfnqB,MAAO,gBACPV,KAAM,MACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiB,cACfnqB,MAAO,4BACPV,KAAM,iBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiB,cACfnqB,MAAO,sBACPV,KAAM,MACNc,KAAM,OAOpB,G3CoNM,CACE9E,KAAM,IACN0E,MAAO,YACPsgD,KAAM,oBACNO,OAAO,EACPN,U4CpXO,WACb,MAAM/c,GAAkB8R,EAAAA,EAAAA,IAAewB,KAEhCkY,EAAMC,IAAWntD,EAAAA,EAAAA,UAAS,CAAC,IAC3B/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAErDC,EAAAA,EAAAA,YAAU,KACoB,sBAAxByhC,EAAgBzK,KAClBk2B,EAAO71D,GAAC,CAAC,EAAIoqC,GACf,GACC,CAACA,EAAgBzK,OAEpBh3B,EAAAA,EAAAA,YAAU,KACS,sBAAbitD,EAAKj2B,KACPsM,EAAS,CACPzsC,IAAK4qC,EAAgB5qC,IACrBs2D,OAAM91D,GAAA,GACD41D,EAAKnP,SAAS9iD,QAAO,CAAC8wB,EAAG7wB,KAC1B6wB,EAAE7wB,EAAEM,IAAMN,EAAEuR,KACLsf,IACN,CAAC,IAEN3oB,KAAI9L,GAAA,GACC41D,EAAKpP,OAAO7iD,QAAO,CAAC8wB,EAAG7wB,KACxB6wB,EAAE7wB,EAAEM,IAAMN,EAAEuR,KACLsf,IACN,CAAC,KAGV,GACC,CAACmhC,IAEJ,MASMG,EAAW5gD,IACf0gD,EAAO71D,GAAAA,GAAC,CAAC,EACJ41D,GAAI,IACP,CAACzgD,GAAO,IACHygD,EAAKzgD,GACR,CACEjR,IAAI8uB,EAAAA,GAAAA,IAAO,GACX7d,KAAM,QAIZqzB,GAAkB,EAAK,EAGnBwtB,EAAaA,CAAC7gD,EAAMjR,KACxB,MAAMkX,EAAMw6C,EAAKzgD,GAAMkG,WAAWzX,GAAMA,EAAEM,KAAOA,IAC7CkX,GAAO,GACTy6C,EAAO71D,GAAAA,GAAC,CAAC,EACJ41D,GAAI,IACP,CAACzgD,GAAO,IAAIygD,EAAKzgD,GAAMmG,MAAM,EAAGF,MAASw6C,EAAKzgD,GAAMmG,MAAMF,EAAM,OAGpEotB,GAAkB,EAAK,EAkBzB,OACElkC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,qBAAoB,oBACzC++C,MACE5+C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QAASA,IAAMqxD,EAAQ,aAAa,kBACzC,KAElBzxD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QAASA,IAAMqxD,EAAQ,WAAW,iBAGzDzxD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QA5B9BnE,UAC5B,MAAM,IAAEnB,EAAG,OAAEC,SAAiBE,EAAQ,oBAAmBS,GAAA,GAAO41D,IAChE,GAAIx2D,EACF,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAM8+C,KAAM9+C,EACfuB,EAAAA,GAAQP,MAAM89C,EAAGt9C,QAAS,QAG5BD,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,UAGxCopC,GAAkB,EACpB,GAgB0F,gBAMxFlkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAzEUA,CAAC9P,EAAGk7B,KACxB/D,EAAkB+D,GAClBspB,EAAO71D,GAAAA,GAAC,CAAC,EACJ41D,GAAI,IACPnP,SAAUlyB,OAAOC,KAAKnjB,EAAEykD,QAAQn8C,KAAKzV,IAAE,CAAQA,KAAIiR,KAAM9D,EAAEykD,OAAO5xD,OAClEsiD,OAAQjyB,OAAOC,KAAKnjB,EAAEvF,MAAM6N,KAAKzV,IAAE,CAAQA,KAAIiR,KAAM9D,EAAEvF,KAAK5H,SAC5D,EAoEQkd,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,eACPV,KAAM,MACNc,KAAM,GACNqB,UAAU,GAEZ,CACE5D,KAAMqrB,GAASY,QACf9pB,MAAO,kBAELgvD,EAAKnP,UAAY,IAAI9sC,KAAK/V,IAAC,CAC7Ba,KAAMqrB,GAASC,KACfnpB,MAAO,KACPV,KAAM,UAAUtC,EAAEM,KAClBgF,OACE5E,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,gBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLwxD,KAAK,QACL1uD,KAAMjD,EAAAA,cAACo4C,EAAAA,EAAa,MACpBh4C,QAASA,IAAMsxD,EAAW,WAAYpyD,EAAEM,WAKhD,CACEO,KAAMqrB,GAASY,QACf9pB,MAAO,+BAELgvD,EAAKpP,QAAU,IAAI7sC,KAAK/V,IAAC,CAC3Ba,KAAMqrB,GAASC,KACfnpB,MAAO,KACPV,KAAM,QAAQtC,EAAEM,KAChBgF,OACE5E,EAAAA,cAAAsE,EAAAA,EAAA,CAAS9B,MAAM,gBACbxC,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLwxD,KAAK,QACL1uD,KAAMjD,EAAAA,cAACo4C,EAAAA,EAAa,MACpBh4C,QAASA,IAAMsxD,EAAW,SAAUpyD,EAAEM,iBAY9D,K5CwNE,CACEhC,KAAM,IACN0E,MAAO,sBACPW,KAAMjD,EAAAA,cAACk8C,EAAAA,EAAmB,MAC1ByG,KAAM,CACJ,CACE/kD,KAAM,IACN0E,MAAO,YACPsgD,KAAM,kBACNO,OAAO,EACPN,U6CjYO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACT47B,EAAwBC,IAA6BztD,EAAAA,EAAAA,WAAS,GAE/D+hD,GAAe/yC,EAAAA,EAAAA,QAAO,OACrBrV,EAAQwe,IAAanY,EAAAA,EAAAA,UAAS,CAAC,GA0BtC,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kBAAiB,4BAExCG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAa8/B,GAAc,QAC3Bp/B,cCpDe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPk/B,SAAWpc,IACT,GAAqC,IAAjCA,EAAKixC,aAAaC,WACpB,MAAO,CACLxtD,gBAAiB,wBAClB,EAELgf,QAAS,CACP,CACE5hB,KAAM,qBACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,wBACNiP,KAAM,UACNsiB,MAAM,GAER,CACEvxB,KAAM,yBACNiP,KAAM,MACNsiB,MAAM,GAER,CACEvxB,KAAM,sBACNiP,KAAM,SACN4sB,QAAQ,EACRtK,MAAM,GAER,CACEvxB,KAAM,oBACNiP,KAAM,QACN4sB,QAAQ,EACRtK,MAAM,GAER,CACEvxB,KAAM,uBACNiP,KAAM,WACN4sB,QAAQ,EACRtK,MAAM,GAER,CACEvxB,KAAM,sBACNiP,KAAM,YACN4sB,QAAQ,EACRtK,MAAM,GAER,CACEvxB,KAAM,qBACNiP,KAAM,SACNsiB,MAAM,GAER,CACEvxB,KAAM,0BACNiP,KAAM,gBACN1Q,KAAM,QACNmQ,MAAO,SACP6iB,MAAM,GAER,CACEvxB,KAAM,cACNiP,KAAM,YACN+rB,SAAS,EACTzJ,MAAM,EACN7iB,MAAO,UAET,CACE1O,KAAM,cACNiP,KAAM,YACN+rB,SAAS,EACTzJ,MAAM,EACN7iB,MAAO,YDpBCmkB,gBAAiB,KACjBc,mBArCiBv4B,IAC3BmpD,EAAapyC,QAAU/W,EACvBmpD,EAAapyC,SAASxW,YAAY,kBAAmBmf,IACnDH,EAAUG,EAAE,GACZ,EAkCQsY,SAAU,CAAC,uBAAwB,GACnCJ,WAAY,CAAC,EACbG,WCsBL,CACL,CACEzyB,MAAO,wBAET,CACEnC,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,0BAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,2BAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,wBAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,sBAER,CACEU,MAAO,YAET,CACEnC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,yBAER,CACEzB,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,wBAER,CACEU,MAAO,eAET,CACEnC,KAAMqrB,GAASO,YACfzpB,MAAO,kBACPV,KAAM,eACNwa,OAAQw/B,IAEV,CACEz7C,KAAMqrB,GAASO,YACfzpB,MAAO,kBACPV,KAAM,eACNwa,OAAQigC,KDvEApnB,WAlCQnU,IAClBiV,EAAQ7K,KAAK,kBAAkBpK,EAAKua,MAAM,EAkChCnG,UAAW,CAAC,YAAa93B,EAAoBK,GAC7CU,YAAa,CACX,oBACA,uBACA,wBACA,qBAEFi3B,YAAa,CACXnF,OAAOC,KAAKnyB,GAAQuM,OAAS,GAAK,CAChCrH,KAAMjD,EAAAA,cAACiyD,GAAAA,EAAiB,MACxBhuD,QAAS,wCACT7D,QAASA,IAAMyxD,GAA0B,KAE3C9zD,OAAOypC,SACT9R,kBAAmB,CACjB9zB,KAAM,MACNzB,KAAM,eAOhBH,EAAAA,cAACkhD,GAA0B,CACzBruC,QAAS++C,EACT1wB,QAASA,IAAM2wB,GAA0B,GACzC72C,SAzDoB/e,UACxB41D,GAA0B,GAC1B,MAAM,KAAEp3C,SAAeq3C,GAAc,OAAdA,CAAsB,EAAG,IAAQ/zD,EAAQ,CAAC,OAAQ,MAAO,GAC1Em0D,EAAUz3C,EAAKpF,KAAK/V,GAAMA,EAAE+7B,YAE5Br/B,EAAY,gCAAiC,CACjD+jD,UACAmS,YAGF51D,EAAAA,GAAQ+uC,QAAQ,mCAAmC,IAmDvD,G7CoTM,CACEztC,KAAM,IACNglD,KAAM,qBACNO,OAAO,EACPN,UHvRO,WAIb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,GAAEp2B,IAAOwjD,EAAAA,EAAAA,MAER+O,EAAUC,IAAehuD,EAAAA,EAAAA,WAAS,IAClC/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CiuD,EAAWC,IAAgBluD,EAAAA,EAAAA,UAAS,KACpCmuD,EAAoBC,IAAyBpuD,EAAAA,EAAAA,UAAS,CAAE2Q,MAAM,IAE/DymC,EAAYv/C,UAChB,MAAMd,QAAaa,EAAY,uBAAwB,CACrDy+C,WAEF9S,EAASxsC,GACTm3D,EAAan3D,EAAKs3D,QAClBvuB,GAAkB,EAAM,EAqF1B,OAlFA7/B,EAAAA,EAAAA,YAAU,KACRm3C,EAAUnnC,SAASzU,EAAI,IAAI,GAC1B,CAACA,IAiFFI,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,wBAAuB,sBAC5C++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,QAAQyE,UAAQ,GAAC,iBAG7BhD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,GAAgB,cAI/D6jB,OA3Ca7rD,UACjB,GAAIgoC,EAAgB,CAON,UANMN,GAChB,+BACA,+CACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,sBAhDnBrG,aAoDNy2D,GACN38B,EAAQ7K,KAAK,mBAEjB,MACE6K,EAAQ7K,KAAK,kBACf,IA+BG7oB,GAAOg5B,IAAM,GACZr7B,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAnGQA,CAAC9P,EAAGk7B,KACxBN,E,uWAAQjsC,CAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EAkGTnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,uBACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,wBACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,qBACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,mBACNmC,UAAWouD,EACXzvD,KAAM,GAGR,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,UACPV,KAAM,oBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,sBACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,qBACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,oBACNmC,UAAWouD,EACXzvD,KAAM,GAGR,CACEvC,KAAMqrB,GAASiB,cACfnqB,MAAO,gBACPV,KAAM,kBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiB,cACfnqB,MAAO,4BACPV,KAAM,wBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASiB,cACfnqB,MAAO,sBACPV,KAAM,kBACNc,KAAM,QAMhB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA8sC,GAAAA,EAAA,CACE6lB,OAAQ,CAAErzD,EAAG,MACb8C,KAAK,QACL4qC,UAAQ,EACRD,YAAY,EACZE,WAAYolB,EACZ7uC,QAAS29B,IApKKllD,UAO1B,GAAY,UANM0nC,GAChB,kBACA,8CACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,aAGlB,CACb,MAAM,IAAExH,EAAG,OAAEC,SAAiBE,EAAQ,oCAAqC,CACzEw/C,OAAQ76C,EACRmgD,QAASpgD,EAAG4hD,QAAQlmB,MAEtB,GAAIvgC,EAAM,EACR,GAAIqB,MAAMC,QAAQrB,GAChB,IAAK,MAAMsB,KAAOtB,EAChBuB,EAAAA,GAAQP,MAAMM,EAAIE,cAGpBD,EAAAA,GAAQP,MAAMhB,GAAU,aAAaD,UAElC0gD,EAAUnnC,SAASzU,EAAI,IAChC,KAoB4B3D,UAC5Bu2D,EAAsB,CACpBz9C,MAAM,EACNgR,KAAMpmB,EAAG4hD,QAAQqR,OACjBpU,cAAe7+C,EAAGomB,KAAKy4B,eACvB,IAG2B7+C,IAC7B,MAAMkzD,EAAU,2BAA2BlzD,EAAG4hD,QAAQlmB,OAAOz7B,IAC7D6U,OAAOM,KAAK89C,EAAS,SAAS,SA4H5B7yD,EAAAA,cAACs+C,GAAqB,CACpBvpC,KAAMw9C,EAAmBx9C,KACzBmsB,QAASA,IAAMsxB,EAAsB,CAAEz9C,MAAM,IAC7CgR,KAAMwsC,EAAmBxsC,MAAQ,CAAC,EAClCy4B,cAAe+T,EAAmB/T,eAAiB,CAAC,IAI5D,GGgDM,CACE5gD,KAAM,IACN0E,MAAO,QACPsgD,KAAM,kBACNO,OAAO,EACPN,U+C7YO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACT88B,EAAeC,IAAoB3uD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KACtE2wD,EAAOC,IAAY7uD,EAAAA,EAAAA,UAAS,IAiCnC,OA1BAC,EAAAA,EAAAA,YAAU,KALSpI,WACjB,MAAM,KAAEwe,SAAey4C,KAAsB,EAAG,IAAO,CAAC,EAAG,CAAC,MAAO,QAAS,OAAQ,GACpFD,EAASx4C,EAAKpF,KAAK0Q,IAAI,CAAQnmB,GAAImmB,EAAKsV,IAAKxqB,KAAMkV,EAAKlV,SAAS,EAIjEsiD,EAAY,GACX,IAyBDnzD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,kBAAiB,sBACtC++C,MAAO,CACL5+C,EAAAA,cAAAsE,EAAAA,EAAA,CAAS/F,IAAI,MAAMiE,MAAM,sBAAsB7B,UAAU,QACvDX,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU4R,MAAM,SAAS9O,KAAMjD,EAAAA,cAACyQ,EAAAA,EAAY,MAAKrQ,QA7BrDnE,UAML,UALM0nC,GAAc,0BAA2B,uBAAwB,CACjF,CAAErhC,MAAO,UACT,CAAEA,MAAO,eAITywD,EAAiB,CACflgD,SAAS,EACTxQ,MAAO,CAAEwO,KAAM,GAAIuiD,UAAW,IAElC,QAyBEpzD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACu0B,GAAU,CACTvC,YAAakhC,KACbxgC,cCvEe,CAC3B7hB,KAAM,KACN7S,MAAO,GACPwlB,QAAS,CAaP,CACE5hB,KAAM,OACNiP,KAAM,IACNsiB,MAAM,GAER,CACEvxB,KAAM,QACNiP,KAAM,iBACNsiB,MAAM,EACNjyB,MAAO,QAET,CACEU,KAAM,cACNiP,KAAM,+BACNsiB,MAAM,GAER,CACEvxB,KAAM,iBACNiP,KAAM,WACNsiB,MAAM,KDqCEsB,gBAAiB,KACjBO,SAAU,CAAC,MAAO,GAClBJ,WAAY,CAAC,EACbK,WA3BQnU,IAClBiV,EAAQ7K,KAAK,kBAAkBpK,EAAKua,MAAM,EA2BhCnG,UAAW,CAAC,uBAAwB93B,EAAoBK,GACxDU,YAAa,CAAC,aAMtB6B,EAAAA,cAACsnC,GAAe,CACdz0B,QAASigD,EAAcjgD,QACvBxQ,MAAOywD,EAAczwD,MACrBG,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,yBAAwB,sBAC7Cid,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,yCACPV,KAAM,YACNc,KAAM,GACN0Z,OAAQ,CACN,CACExc,GAAI,EACJiR,KAAM,UAELmiD,IAGP,CACE7yD,KAAMqrB,GAASC,KACfnpB,MAAO,kBACPV,KAAM,OACNc,KAAM,GACNY,WAAW,IAGf49B,QAASA,IAAM6xB,EAAgBr3D,GAAAA,GAAC,CAAC,EAAIo3D,GAAa,IAAEjgD,SAAS,KAC7D2yB,OAnEkBvpC,UACtB,MAAMd,QAAaa,EAAY,yBAA0B+Q,GACzDgpB,EAAQ7K,KAAK,kBAAkB/vB,EAAKkgC,MAAM,IAqE9C,G/C6SM,CACEz9B,KAAM,IACNglD,KAAM,qBACNO,OAAO,EACPN,UiD7YO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,GAAEp2B,IAAOwjD,EAAAA,EAAAA,MAER3E,EAAOC,IAAYt6C,EAAAA,EAAAA,UAAS,KAC5B/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CivD,EAAeC,IAAoBlvD,EAAAA,EAAAA,UAAS,IAC5CmvD,EAAcC,IAAmBpvD,EAAAA,EAAAA,UAAS,IAE1CqvD,EAAWC,IAAgBtvD,EAAAA,EAAAA,UAAS,CAAEyO,SAAS,EAAOxQ,MAAO,CAAC,KAQrEgC,EAAAA,EAAAA,YAAU,KANQpI,WAChB,MAAMd,QAAasrC,GAAU,gBAAVA,CAA2BrL,EAAQ,IACtDuM,EAASxsC,GACT+oC,GAAkB,EAAM,EAIxBsX,CAAUnnC,SAASzU,EAAI,IAAI,GAC1B,CAACA,IAEJ,MAKM8yD,EAAYz2D,gBACVD,EAAY,uBAAwB,CACxC4D,GAAIyC,EAAMg5B,IACVlgC,KAAMkH,IAER6hC,GAAkB,EAAM,EA2CpByvB,EAAsBA,KAC1BD,EAAa,CAAE7gD,SAAS,EAAOxQ,MAAO,CAAC,GAAI,EAwE7C,OACErC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,wBAAuB,kBAC5C++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO6B,QAASA,IAAMozD,EAAgBn/C,SAASzU,EAAI,MAAM,gCAGrEI,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,UAAU6B,QAASA,IAAMkzD,EAAiBj/C,SAASzU,EAAI,MAAM,gBAGzEI,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QA7HtDnE,UAMD,UALM0nC,GAAc,sBAAuB,iCAAkC,CACvF,CAAErhC,MAAO,UACT,CAAEA,MAAO,gBAITowD,GACF,GAqHoF,cAIhF5K,OAjCa7rD,UACjB,GAAIgoC,EAAgB,CAON,UANMN,GAChB,+BACA,+CACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,uBAIzBowD,IACN38B,EAAQ7K,KAAK,mBAEjB,MACE6K,EAAQ7K,KAAK,kBACf,IAqBG7oB,GAAOg5B,IAAM,GACZr7B,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAtJQA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,EAAG,EAqJTnrB,KAAM,CACJ,CACE3c,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNsB,SAAS,EACTV,WAAW,GAEb,CACEnD,KAAMqrB,GAASE,SACfppB,MAAO,WACPV,KAAM,OACNsJ,YAAa,oCACbxI,KAAM,SAMhB1C,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAovC,GAAAA,EAAYC,MAAK,CAACC,MAAO,GAAG,+BAC3BjtC,GAAOo5C,WAAWnxC,OAAS,GAC1BtK,EAAAA,cAAAm5C,GAAAA,EAAA,CAAUwF,UAAWF,EAAOh7C,SA9HzBub,IACf0/B,EAAS1/B,EAAE,GA8HI3c,EAAMo5C,UAAUpmC,KAAI,CAACyL,EAAMhK,IAC1B9W,EAAAA,cAAAm5C,GAAAA,EAAUD,MAAK,CACb36C,IAAKuiB,EAAKlhB,GACVmzB,OAAQ,UAAUjc,EAAM,IACxB8nC,MAAO,CACS,IAAd99B,EAAK3gB,MACHH,EAAAA,cAAA,QAAMzB,IAAI,OAAO0B,UAAWC,IAAe,kBAI7CF,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,KACJ4B,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAAC4zD,GAAAA,EAAe,MACtBxzD,QAAUsD,GA9GrBmwD,EAACnwD,EAAIowD,KAChBpwD,EAAGuO,kBAEH,MAAM6E,EAAMzU,EAAMo5C,UAAU1kC,WAAWzX,GAAMA,EAAEM,KAAOk0D,IACtD,GAAIh9C,EAAM,EAAG,CACX,MAAM2kC,GAAY7jC,EAAAA,GAAAA,IAAUvV,EAAMo5C,UAAW3kC,EAAKA,EAAM,GACxD6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRo5C,UAAW,IAAIA,MAEjBvX,GAAkB,EACpB,GAmGuC2vB,CAAKnwD,EAAIod,EAAKlhB,MAEjCI,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,OACJ4B,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAAC+zD,GAAAA,EAAiB,MACxB3zD,QAAUsD,GAvGnBswD,EAACtwD,EAAIowD,KAClBpwD,EAAGuO,kBAEH,MAAM6E,EAAMzU,EAAMo5C,UAAU1kC,WAAWzX,GAAMA,EAAEM,KAAOk0D,IACtD,GAAIh9C,EAAMzU,EAAMo5C,UAAUnxC,OAAS,EAAG,CACpC,MAAMmxC,GAAY7jC,EAAAA,GAAAA,IAAUvV,EAAMo5C,UAAW3kC,EAAKA,EAAM,GACxD6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRo5C,UAAW,IAAIA,MAEjBvX,GAAkB,EACpB,GA4FuC8vB,CAAOtwD,EAAIod,EAAKlhB,MAEnCI,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,OACJ4B,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAACooD,GAAAA,EAAe,MACtBllD,MAAO,CAAEoe,WAAY,IACrBlhB,QAAUsD,IACRA,EAAGuO,kBACHyhD,EAAa,CAAE7gD,SAAS,EAAMxQ,MAAK3G,GAAA,GAAOolB,IAAS,KAGvD/iB,OAAOypC,UAETxnC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,OAAKC,UAAWC,IAAe,UAC/BF,EAAAA,cAAA,OAAKC,UAAWC,IAAa4gB,EAAKpgB,OAGtCV,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA,OAAKC,UAAWC,IAAe,aAC/BF,EAAAA,cAAA,OAAKC,UAAWC,IAAa4gB,EAAKzK,QAGvB,IAAdyK,EAAK3gB,MACJH,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAI,MACJA,EAAAA,cAAA,UAAI,oBACJA,EAAAA,cAAA,UAAI,WAGRA,EAAAA,cAAA,aACG8gB,EAAK66B,QAAQtmC,KAAI,CAAC2pC,EAAK30C,IACtBrK,EAAAA,cAAA,MAAIzB,IAAKygD,EAAIp/C,IACXI,EAAAA,cAAA,UAAKqK,EAAI,GACTrK,EAAAA,cAAA,UACgB,IAAbg/C,EAAI7+C,KACHH,EAAAA,cAACsV,GAAAA,EAAa,CAACpS,MAAO,CAAEyB,MAAO,SAE/B,IAGJ3E,EAAAA,cAAA,UAAKg/C,EAAIt+C,eAW7BV,EAAAA,cAAA2jB,GAAAA,EAAA,CAAK+8B,QAAQ,OACX1gD,EAAAA,cAAA4C,GAAAA,EAAA,KACE5C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QA3ON6zD,KAChB,MAAMC,GAAMxlC,EAAAA,GAAAA,IAAO,GACnBiZ,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRo5C,UAAW,IACNp5C,EAAMo5C,UACT,CACE77C,GAAIs0D,EACJxzD,IAAK,UAAU2B,EAAMo5C,UAAUnxC,OAAS,IACxC+L,KAAM,GACNlW,KAAM,EACNw7C,QAAS,CACP,CACE/7C,IAAI8uB,EAAAA,GAAAA,IAAO,GACXhuB,IAAK,GACLP,KAAM,SAMhBu+C,EAAS,CAACwV,IACVhwB,GAAkB,EAAK,EAqNmBhhC,MAAO,CAAEwN,UAAW,KAAM,wBAUlE1Q,EAAAA,cAACsgD,GAAwB,CACvBztC,QAAS4gD,EAAU5gD,QACnBxQ,MAAOoxD,EAAUpxD,MACjB6+B,QAASyyB,EACTnuB,OAxNgBz4B,IACpB,MAAM+J,EAAMzU,EAAMo5C,UAAU1kC,WAAWzX,GAAMA,EAAEM,KAAOmN,EAAEnN,KACpDkX,GAAO,GACT6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRo5C,UAAW,IAAIp5C,EAAMo5C,UAAUzkC,MAAM,EAAGF,GAAM/J,KAAM1K,EAAMo5C,UAAUzkC,MAAMF,EAAM,OAGpFotB,GAAkB,GAClByvB,GAAqB,EAgNjB7vC,SA7MkB/W,IACtB,MAAM+J,EAAMzU,EAAMo5C,UAAU1kC,WAAWzX,GAAMA,EAAEM,KAAOmN,EAAEnN,KACpDkX,GAAO,GACT6wB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRo5C,UAAW,IAAIp5C,EAAMo5C,UAAUzkC,MAAM,EAAGF,MAASzU,EAAMo5C,UAAUzkC,MAAMF,EAAM,OAGjFotB,GAAkB,GAClByvB,GAAqB,IAuMnB3zD,EAAAA,cAACghD,GAAsB,CAAC3F,OAAQkY,EAAcryB,QAASA,IAAMsyB,EAAgB,KAC7ExzD,EAAAA,cAACo7C,GAAkB,CAACC,OAAQgY,EAAenyB,QAASA,IAAMoyB,EAAiB,KAGjF,GjDgGM,CACE11D,KAAM,IACN0E,MAAO,sBACPsgD,KAAM,mBACNO,OAAO,EACPN,UkD5ZO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,MAEVmwB,GAAe/yC,EAAAA,EAAAA,QAAO,OACrBrV,EAAQwe,IAAanY,EAAAA,EAAAA,UAAS,CAAC,GA4BtC,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GAAO6mD,WAClBvkD,MAAOxC,EAAAA,cAACF,GAAQ,CAACD,IAAI,mBAAkB,uBACvC++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,cAAc0E,KAAMjD,EAAAA,cAACm0D,GAAAA,EAAmB,MAAK/zD,QArB9Cg0D,KACjBr+B,EAAQ7K,KAAK,4BAA4B,GAoB2C,mBAG9ElrB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,iBAAiB0E,KAAMjD,EAAAA,cAACk8C,EAAAA,EAAmB,MAAK97C,QArBhDi0D,KAClBt+B,EAAQ7K,KAAK,4BAA4B,GAoB+C,sBAKtFlrB,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAACu0B,GAAU,CACTvC,YAAaivB,KACbvuB,cCtDe,CAC3B7hB,KAAM,KACN7S,MAAO,CAAC,QACRwlB,QAAS,CACP,CACE5hB,KAAM,QACNiP,KAAM,uBACNsiB,MAAM,EACNsK,QAAQ,EACRx9B,UAAWC,GAAOo0D,cAEpB,CACE1yD,KAAM,qBACNiP,KAAM,QACNsiB,MAAM,EACNhzB,KAAM,OACNuF,OAAQ,mBACR+3B,QAAQ,GAEV,CACE77B,KAAM,UACNiP,KAAM,SACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IAAQm6C,GAAuBn6C,IAEhD,CACEL,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNuJ,OAAQA,CAAC5b,EAAM7e,IAAQ85C,GAAqB95C,IAE9C,CACEL,KAAM,QACNiP,KAAM,MACNsiB,MAAM,EACNsK,QAAQ,EACR/C,WAAY,CAAC2hB,GAAe,KAAM,SAEpC,CACEz6C,KAAM,aACNiP,KAAM,SACNsiB,MAAM,EACN7iB,MAAO,SACPssB,SAAS,GAEX,CACEh7B,KAAM,eACNiP,KAAM,aACNsiB,MAAM,EACN7iB,MAAO,SACPssB,SAAS,GAEX,CACEh7B,KAAM,gBACNiP,KAAM,gBACNsiB,MAAM,EACN7iB,MAAO,SACPssB,SAAS,GAEX,CACEh7B,KAAM,iBACNiP,KAAM,aACNsiB,MAAM,EACN7iB,MAAO,SACPssB,SAAS,GAEX,CACEh7B,KAAM,sBACNiP,KAAM,cACNsiB,MAAM,EACN7iB,MAAO,SACPosB,OAAS5b,GACFA,GAAMmhC,aAAaxF,OACpB37B,GAAMiF,MAAMnmB,GAAK,EAAUkhB,GAAMiF,MAAM25B,SAAW,KAC/C5+B,GAAMiF,MAAMw4B,OAAS,KAFW,QDjBjC9pB,gBAAiB,KACjBO,SAAU,CAAC,sBAAuB,GAClCJ,WACE,CAEE,EAGJG,WCkBL,CACL,CACE50B,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UAER,CACEzB,KAAMqrB,GAASO,YACfzpB,MAAO,kBACPV,KAAM,OACNwa,OAAQw/B,IAEV,CACEz7C,KAAMqrB,GAASO,YACfzpB,MAAO,qBACPV,KAAM,SACNwa,OAAQ4/B,IAEV,CACE77C,KAAMqrB,GAASO,YACfzpB,MAAO,kBACPV,KAAM,OACNwa,OAAQigC,KDvCApnB,WAhDQnU,IAClBiV,EAAQ7K,KAAK,wBAAwBpK,EAAKua,MAAM,EAgDtCnG,UAAW,CAAC,wBAAyB93B,EAAoBK,GACzDU,YAAa,CAAC,QACdu3B,kBAAmB,CACjB9zB,KAAM,MACNzB,KAAM,UAERi1B,YAAa,CACX,CACEnyB,KAAMjD,EAAAA,cAACu0D,GAAAA,EAAoB,MAC3Bn0D,QA/CYnE,UAC1B,MAAM,KAAEwe,SAAewmC,KAAuB,EAAG,IAAOljD,EAAQ,CAAC,OAAQ,MAAO,GAC1EipB,EAAOgN,GAAsB,kBAAmB,CACpDwgC,WAAY/5C,EAAKpF,KAAK/V,GAAMA,EAAE+7B,QAEhCtF,EAAQ7K,KAAKlE,EAAK,EA2CJ/iB,QAAS,2DAGbsxB,mBArEiBv4B,IAC3BmpD,EAAapyC,QAAU/W,EACvBmpD,EAAapyC,SAASxW,YAAY,kBAAmBmf,IACnDH,EAAUG,EAAE,GACZ,EAmFQ0X,aAAa,WAQ3B,GlDyTM,CACEx2B,KAAM,IACNglD,KAAM,4BACNO,OAAO,EACPN,UZjUO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,KAAE0rB,EAAI,GAAE9hD,IAAOwjD,EAAAA,EAAAA,KACfrD,EAAU1rC,SAASzU,EAAI,KAEtBuyD,EAAUC,IAAehuD,EAAAA,EAAAA,WAAS,IAClCqwD,EAAeC,IAAoBtwD,EAAAA,EAAAA,WAAS,IAE5C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAE9CivD,EAAeC,IAAoBlvD,EAAAA,EAAAA,UAAS,IAE5CuwD,EAAaC,IAAkBxwD,EAAAA,EAAAA,WAAS,IACxCywD,EAAUC,IAAe1wD,EAAAA,EAAAA,UAAS,CAAC,IACnCk3C,EAAcyZ,IAAmB3wD,EAAAA,EAAAA,UAAS,OAC1C4wD,EAAUC,IAAe7wD,EAAAA,EAAAA,UAAS,KAElC8wD,EAAiBC,IAAsB/wD,EAAAA,EAAAA,UAAS,MAEjDgxD,EAAan5D,UACjB,MAAMd,QAAaa,EAAY,uBAAwB,CAAE4D,GAAIy1D,IAI7D,GAHA1tB,EAASxsC,GACT+oC,GAAkB,GAEd/oC,EAAM,CACR,MAAMm6D,EAASn6D,EAAKo6D,WAAa,CAAC,EAC5B96C,GAAQtf,EAAKy3D,QAAQnX,WAAa,IACrC19C,QAAQuB,KAAQA,EAAEa,OAClBkV,KAAK/V,IAAC,CACLf,IAAKe,EAAEM,GACPiR,KAAMvR,EAAEoB,IACR80D,IAAKF,EAAOh2D,EAAEM,KAAO,MAEzBq1D,EAAYx6C,EACd,IAGFpW,EAAAA,EAAAA,YAAU,KACQ,IAAZ07C,GACFpY,EAAS,CACP9rC,OAAQ,EACR6lD,KAAe,YAATA,EAAqB,EAAI,EAC/BvhD,KAAM,GACN0Q,KAAM,GACN4kD,MAAO,GACPC,MAAO,GACPtW,OAAQ,GACRr5B,KAAMy5B,KACNyC,YAAa,CACX0T,OAAQ7wD,MAAQ4D,IAAI,EAAG,QAAQhD,OAAOg+B,KAExC+b,UAAW,KAEb2S,GAAY,IAEZgD,EAAWrV,EACb,GACC,CAAC2B,EAAM3B,IAEV,MAAM2S,EAAYz2D,UAChB,MAAMd,QAAaa,EAAY,wBAAyB,CACtD4D,GAAImgD,EACJ5kD,KAAMkH,IAEQ,IAAZ09C,EAAehqB,EAAQ7K,KAAK,2BAA2B/vB,EAAKkgC,QAE9D+2B,GAAY,GACZgD,EAAWrV,GACb,EAgCIljC,EAAgBA,CAAC9P,EAAGk7B,KACxBN,EAAQjsC,GAAC,CAAC,EAAIqR,IACdm3B,EAAkB+D,GAAMl7B,GAAGqyC,QAAQ90C,OAAS,EAAE,GAkDzCsrD,EAASC,IAAczxD,EAAAA,EAAAA,WAAS,GAqBvC,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GAAO6mD,WAClBvkD,MACkB,IAAhBH,GAAOq/C,KACL1hD,EAAAA,cAACF,GAAQ,CAACD,IAAI,2BAA0B,qBAExCG,EAAAA,cAACF,GAAQ,CAACD,IAAI,2BAA0B,qBAG5C++C,MAAO,CACL5+C,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,OACJwT,MAAM,SACN9O,KAAMjD,EAAAA,cAAC0mD,GAAAA,EAAY,MACnBtmD,QApBkB01D,KAC1BrhD,OAAOM,KAAK,8BAA6BkqC,GAAQ8W,OAAO1zD,EAAMq/C,KAAM3B,KAAY,SAAS,IAqBnF//C,EAAAA,cAAAqkC,EAAAA,EAAA,CACE9lC,IAAI,SACJypB,QAAShoB,EAAAA,cAACg2D,GAAAA,EAAM,CAACvqD,MAAOypD,GAAmB,QAC3C1yD,MAAM,mBACNwoC,QAAQ,QACRj2B,OAAQmgD,EACRe,aAAcA,KACZd,EACED,EACI,KACA,8BAA6BjW,GAAQ8W,OAAO1zD,EAAMq/C,KAAM3B,KAC7D,GAGH//C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQgP,MAAM,SAAS9O,KAAMjD,EAAAA,cAACk2D,GAAAA,EAAc,SAE9Cl2D,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,YACJ0E,KAAMjD,EAAAA,cAACu0D,GAAAA,EAAoB,MAC3Bn0D,QAASA,IAAMs0D,GAAiB,IACjC,qBAGD10D,EAAAA,cAAA+C,EAAAA,EAAA,CACExE,IAAI,WACJ0E,KAAMjD,EAAAA,cAACm2D,GAAAA,EAAe,MACtB/1D,QAASA,IAAM21B,EAAQ7K,KAAK,oBAC7B,uBAGDlrB,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,aAAa0E,KAAMjD,EAAAA,cAACo2D,EAAAA,EAAY,MAAKh2D,QA1EzBi2D,KAC9B,MAAMrvC,EAAOgN,GAAsB,kBAAmB,CAAEwgC,WAAYzU,IACpEhqB,EAAQ7K,KAAKlE,EAAK,GAwEuE,qBAGnFmrC,GACEnyD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAASsyD,GAAW,cAIlFP,GAAY9vD,EAAMxG,QAAU,GAC3BmE,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO6B,QAASA,IAAMgyD,GAAY,IAAO,kBAIvDr0D,OAAOypC,SACTsgB,OAxJa7rD,UACjB,GAAIgoC,EAAgB,CAON,UANMN,GAChB,+BACA,+CACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,uBAIzBowD,IACN38B,EAAQ7K,KAAK,oBAEjB,MACE6K,EAAQ7K,KAAK,mBACf,IA6IG7oB,GAAOq/C,MAAQ,GACd1hD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,oBACJA,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,SACPV,KAAM,SACNwa,OAAQ4/B,GACRj4C,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,MACPV,KAAM,OACNwa,OAAQw/B,GACR73C,UAAU,EACVrB,KAAM,GAER,CACEvC,KAAMqrB,GAASO,YACfzpB,MAAO,MACPV,KAAM,OACNwa,OAAQigC,GACR15C,UAAWwvD,EACXzvD,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,GACNqB,UAAWouD,EACX7uD,WAAW,GAEb,CACEnD,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,QACNmC,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,mBACPV,KAAM,QACNmC,UAAWouD,EACXzvD,KAAM,GACN+rB,KAAsB,IAAhBpsB,GAAOq/C,WAOvB1hD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,oBACJA,EAAAA,cAAA,YACIqC,GAAO+8C,QAAU,IAAI/pC,KAAI,CAACihD,EAAOjsD,IACjCrK,EAAAA,cAAC2c,GAAS,CACRpe,IAAK+3D,EAAM12D,GACXyC,MAAOi0D,EACPz5C,cAAgB9P,GA1MZwpD,EAACz/C,EAAK/J,KjEvNvB,IAAiCypD,EAAKvqB,EAAOxrB,EiEwNhDknB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR+8C,QjE1NkCoX,EiE0NFn0D,EAAM+8C,OjE1NCnT,EiE0NOn1B,EjE1NA2J,EiE0NG/kB,GAAA,GAC5CqR,GjE1NF,IAAIypD,EAAIx/C,MAAM,EAAGi1B,GAAQxrB,KAAa+1C,EAAIx/C,MAAMi1B,EAAQ,QiE6N7D/H,GAAkB,EAAK,EAmMeqyB,CAAclsD,EAAG0C,GACvC+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASS,SACf3pB,MAAO,sBACPV,KAAM,UACNiK,UAAU,EACVnG,OAAQg+B,GACR2c,aAAcv7C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IACvC3/B,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,0BACPV,KAAM,QACNiK,UAAU,EACVnG,OAAQg+B,GACR2c,aAAcv7C,MAAQuD,OAAO,GAAGK,IAAI,GAAI,UAAUhD,OAAOg+B,IACzD3/B,UAAWouD,EACXzvD,KAAM,GAEO,IAAfL,EAAMq/C,MAAc,CAClBvhD,KAAMqrB,GAASsB,IACfxqB,MAAO,oBACPV,KAAM,OACNmC,UAAWouD,EACXzvD,KAAM,IAEO,IAAfL,EAAMq/C,MAAc,CAClBvhD,KAAMqrB,GAASqB,MACfnqB,KAAM,KAER3E,OAAOypC,UAER2qB,GACCnyD,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAACwO,GAAAA,EAAc,MACrBpO,QAASA,KAAMq2D,OA9NhB3/C,EA8N4BzM,OA7N/Cs9B,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR+8C,QjExOiCoX,EiEwOFn0D,EAAM+8C,OjExOCnT,EiEwOOn1B,EjEvO1C,IAAI0/C,EAAIx/C,MAAM,EAAGi1B,MAAWuqB,EAAIx/C,MAAMi1B,EAAQ,QiEoOhCn1B,MjErOgB0/C,EAAKvqB,CiEmcU,EAC9B/oC,MAAO,CAAEwN,UAAW,GAAIxP,MAAO,SAChC,eAOTlB,EAAAA,cAAA,OAAKC,UAAWC,GAAOkV,QACrBpV,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAAC02D,GAAAA,EAAY,MACnB1zD,WAAYX,EAAM+8C,QAAQ90C,OAAS,GACnClK,QAzRUnE,gBAClBD,EAAY,kCAAmC,CACnD4D,GAAImgD,GACJ,GAuRW,6BAGAoS,GAAYnyD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAvPfu2D,KAClBhvB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR+8C,OAAQ,IAAI/8C,EAAM+8C,OAAQD,GAAiB98C,EAAM+8C,YAEnDlb,IAAoB7hC,EAAMwO,KAAK,GAkPwB,oBAKhDxO,GAAO+8C,QAAQ90C,OAAS,GACvBtK,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,wCACJA,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASM,OACfxpB,MAAO,iBACPV,KAAM,UACNwa,OAAQwjC,GACR77C,UAAWouD,EACXzvD,KAAML,GAAO0jB,MAAMnmB,GAAK,EAAI,GAAK,IAEnC,CACEO,KAAMqrB,GAASG,OACfrpB,MAAO,uCACPV,KAAM,YACNmC,UAAWouD,EACXzvD,KAAM,EACN+rB,OAAQpsB,GAAO0jB,MAAMnmB,GAAK,MAI7ByC,GAAO0jB,MAAMnmB,GAAK,GACjBI,EAAAA,cAAA+C,EAAAA,EAAA,CAAQG,MAAO,CAAEwN,UAAW,GAAIxP,MAAO,QAAUd,QAjQ7Cw2D,KACpBtD,EAAiBjxD,GAAO0jB,MAAMnmB,GAAG,GAgQwD,oBAK5EyC,GAAO0jB,MAAMnmB,GAAK,GACjBI,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASS,SACf3pB,MAAO,sBACPV,KAAM,eACNiK,UAAU,EACVnG,OAAQg+B,GACR2c,aAAcv7C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IACvC3/B,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASS,SACf3pB,MAAO,0BACPV,KAAM,aACNiK,UAAU,EACVnG,OAAQg+B,GACR2c,aAAcv7C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IACvC3/B,UAAWouD,EACXzvD,KAAM,GAER,CACEvC,KAAMqrB,GAASqB,MACfnqB,KAAM,IAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,mBACPV,KAAM,iBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,eACPV,KAAM,aACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,aACPV,KAAM,eACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,gBACPV,KAAM,gBACNc,KAAM,GAER,CACEvC,KAAMqrB,GAASyB,UACf3qB,MAAO,aACPV,KAAM,iBACNc,KAAM,KAIV1C,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAAC62D,GAAAA,EAAkB,MACzB3zD,MAAO,CAAEwN,UAAW,IACpB1N,SAAUX,EAAMxG,OAAS,EACzBuE,QAnUa02D,KAC/B/B,EAAgB1yD,GAAO0jB,MAAMu1B,cAC7BwZ,EAAYzyD,GAAOuwD,QACnBgC,GAAe,EAAK,GAiUH,2BAML50D,EAAAA,cAAA,OAAKC,UAAWC,GAAOkV,QACrBpV,EAAAA,cAAA+C,EAAAA,EAAA,CACEE,KAAMjD,EAAAA,cAAC02D,GAAAA,EAAY,MACnB1zD,WAAYX,EAAM0jB,KAAKnmB,GAAK,GAC5BQ,QApZcnE,gBACxBD,EAAY,oCAAqC,CACrD4D,GAAImgD,GACJ,GAkZa,wCAGAoS,GACCnyD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQC,WAAYX,GAAO0jB,MAAMnmB,GAAK,GAAIQ,QA9VzC22D,KACjBpvB,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR0jB,KAAMy5B,OACN,GA0V6E,mBASxEn9C,GAAO+8C,QAAQ90C,OAAS,GACvBtK,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,cACJA,EAAAA,cAAA2jB,GAAAA,EAAA,KACE3jB,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAtVL42D,KACnBnB,GAAW,EAAK,EAqV+B7yD,UAAWmvD,GAAU,wBAGpDnyD,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,KACtBrO,GAAO4/C,aAAa1I,SACnBv5C,EAAAA,cAAA,OAAKsO,IAAKjM,GAAO4/C,aAAa1I,QAAShrC,IAAI,oBAI9ClM,GAAO4/C,aAAaxF,QACrBz8C,EAAAA,cAAA4C,GAAAA,EAAA,CAAKF,KAAM,IACT1C,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAAeA,EACfC,KAAM,CACJ,CACE3c,KAAMqrB,GAASS,SACf3pB,MAAO,+BACPV,KAAM,qBACNiK,UAAU,EACVnG,OAAQg+B,GACR2c,aAAcv7C,MAAQuD,OAAO,GAAG3C,OAAOg+B,IACvC3/B,UAAWouD,EACXzvD,KAAM,WAWvBL,GAAO+8C,QAAQ90C,OAAS,GACvBtK,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,cAAe9jD,MAAO,CAAEupD,cAAe,KAC5DzsD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,qBACJA,EAAAA,cAAA8sC,GAAAA,EAAA,CACEG,WAAY+nB,EACZxxC,QAAS08B,GACT99C,KAAK,QACL2qC,YAAY,EACZC,UAAQ,EACRmhB,MAAOA,CAACniB,EAAQoiB,KAAa,CAC3BhuD,QAAUqP,IACRsmB,EAAQ7K,KAAK,mBAAmB60B,QAAc/T,EAAOztC,MAAM,EAE7D04D,cAAgBxnD,MAChBynD,cAAgBznD,MAChB0nD,aAAe1nD,MACf2nD,aAAe3nD,aAS7BzP,EAAAA,cAACo7C,GAAkB,CAACC,OAAQgY,EAAenyB,QAASA,IAAMoyB,EAAiB,KAE3EtzD,EAAAA,cAACs+C,GAAqB,CACpBvpC,KAAM4/C,EACNzzB,QAASA,IAAM0zB,GAAe,GAC9B7uC,KAAM8uC,EACNvZ,aAAcA,EACdiD,MAAOl8C,GAAO0jB,MAAMw4B,QAGtBv+C,EAAAA,cAACihC,GAAiB,CAChBpuB,QAAS4hD,EACTvzB,QAASA,IAAMwzB,GAAiB,GAChCrzB,eAAe,2BACfC,cAAe,IACfH,UAAW2e,GAAsBC,GACjCv8B,QAAS,CACP,CACE5hB,KAAM,YAKZ5B,EAAAA,cAACu8C,GAAqB,CACpB1pC,QAAS+iD,EACT10B,QAASA,IAAM20B,GAAW,GAC1BrwB,OAxaqByY,IACzBtW,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACR4/C,YAAWvmD,GAAAA,GAAA,GACL2G,EAAM4/C,aAAe,CAAC,GACvBhE,MAGP4X,GAAW,GACX3xB,GAAkB,EAAK,IAma3B,GYvQM,CACEtmC,KAAM,IACNglD,KAAM,+BACNO,OAAO,EACPN,UoD9aO,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,KAAE0rB,EAAI,GAAE9hD,EAAE,KAAEy3D,IAASjU,EAAAA,EAAAA,KAErBrD,EAAU1rC,SAASzU,EAAI,KAEtByC,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,GAmBpC,OARAC,EAAAA,EAAAA,YAAU,KATSpI,OAAOo5D,EAAKiC,KAC7B,MAAMn8D,QAAaa,EAAY,gCAAiC,CAC9D4D,GAAIy1D,EACJiC,QAGF3vB,EAASxsC,EAAK,EAIdi6D,CAAWrV,EAASsX,EAAK,GACxB,CAAC3V,EAAM3B,EAASsX,IAOjBr3D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GAAO6mD,WAClBvkD,MACkB,IAAhBH,GAAOq/C,KACL1hD,EAAAA,cAACF,GAAQ,CAACD,IAAI,6BAA4B,mDAI1CG,EAAAA,cAACF,GAAQ,CAACD,IAAI,6BAA4B,mDAK9CioD,OAnBa7rD,UACjB85B,EAAQgyB,QAAQ,IAqBd/nD,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAA,UAAI,UACJA,EAAAA,cAAA,OAAKC,UAAWC,GAAOq3D,KAAMl1D,EAAMm1D,gBAIvCx3D,EAAAA,cAAA,OAAKC,UAAWC,GAAO8mD,eACrBhnD,EAAAA,cAAA,OAAKC,UAAWC,GAAO+mD,SACrBjnD,EAAAA,cAAAy3D,GAAAA,GAAA,CACEC,WAAW,WACXzqB,WAAY5qC,EAAMs1D,WAAa,GAC/BC,WAAa92C,GACX9gB,EAAAA,cAAAy3D,GAAAA,GAAMz4B,KAAI,CAACzgC,IAAKuiB,EAAK+2C,IAAK55B,QAAS,MACjCj+B,EAAAA,cAAAy3D,GAAAA,GAAMz4B,KAAK84B,KAAI,CACbt1D,MACExC,EAAAA,cAAA,KAAGgmB,KAAM,kBAAkBlF,EAAK+2C,OAC7B/2C,EAAKi3C,EAAEC,SAAS,IAAEl3C,EAAKi3C,EAAEE,UAAU,MAAIn3C,EAAKi3C,EAAEG,QAAQ,KAAGp3C,EAAKi3C,EAAEl8D,QAGrE4E,YACET,EAAAA,cAAA,YACG8gB,EAAKi3C,EAAEvG,OAAO,KAAG1wC,EAAKi3C,EAAEI,KAAK,KAAGr3C,EAAKi3C,EAAEK,MAAM,IAAE,IAC/CtzD,IAAMgc,EAAKw4B,IAAI5zC,OAAO,uBAI5Bob,EAAKk+B,UASxB,MpDoWazE,GAA8BmI,GAAOrtC,KAAKtI,IAAC,CACtDxO,IAAKwO,EAAEnP,KACP4E,MAAOuK,EAAEzK,MACTvC,SAAUgN,EAAE41C,KACT5kD,QAAQuB,KAAQA,EAAEgD,QAClB+S,KAAK/V,IAAC,CACLf,IAAKe,EAAE1B,KACP4E,MAAOlD,EAAEgD,cAIFgmD,GAA2B,CAAC,EACzC/N,GAA4BppB,SAASknC,IAC/Bl8D,MAAMC,QAAQi8D,EAAOt4D,WACvBs4D,EAAOt4D,SAASoxB,SAASvzB,IACvB0qD,GAAyB1qD,EAAKW,KAC5ByB,EAAAA,cAAA,YACGq4D,EAAO71D,MAAM,MAAS5E,EAAK4E,MAE/B,GAEL,IAGF,YqDtdA,GAA8B,qBAA9B,GAAyD,aAAzD,GAA6E,cAA7E,GAAoG,gBAApG,GAA2H,c,+NCExF,IAE5B81D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAInB,SAAS03D,IAAoB,QAAE3lD,EAAO,YAAE4lD,IACtC,MAAOp2D,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,GAUpC,OACEpE,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,kBACaA,EAAAA,cAACs4D,GAAY,OAE9Bt4D,EAAAA,cAAA,OAAKC,UAAWC,IAAY,+DAC5BF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAvBiB9P,IACrB46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,GAAI,EAuBd+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASe,MACfjqB,MAAO,wBACPV,KAAM,QACNc,KAAM,GACNY,WAAW,EACXU,SAAS,MAIfhE,EAAAA,cAAA,OAAKC,UAAWC,IAAa,2IAEwBF,EAAAA,cAAA,KAAGgmB,KAAK,KAAI,2BAA2B,KAAG,IAC7FhmB,EAAAA,cAAA,KAAGgmB,KAAK,KAAI,iCAEdhmB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWX,EAAMyb,MAAO1d,QArCnCs4D,KAChBD,EAAYp2D,EAAMyb,MAAM,GAoC+C,iBAM3E,CAtDOw6C,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAwDnBq3D,GAAoBjsD,aAAe,CAAC,EAEpCisD,GAAoBn3D,UAAY,CAC9BwR,QAASvR,KAAAA,KAAeC,WACxBk3D,YAAan3D,KAAAA,KAAeC,YAG9B,Y,+NCjEmC,IAE5B+2D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAInB,SAAS63D,IAAsB,QAAE9lD,EAAO,YAAE+lD,EAAW,QAAEC,EAAO,SAAEC,IAC9D,MAAOz2D,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,GAUpC,OACEpE,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,kBACaA,EAAAA,cAACs4D,GAAY,OAEhB,SAAbQ,GACC94D,EAAAA,cAAA,OAAKC,UAAWC,IAAY,kGAIhB,QAAb44D,GACC94D,EAAAA,cAAA,OAAKC,UAAWC,IAAY,gEAK9BF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAjCiB9P,IACrB46B,E,uWAAQjsC,CAAC,CAAC,EAAIqR,GAAI,EAiCd+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASgB,eACflqB,MAAO,MACPV,KAAM,UACNsJ,YAAa,cACbxI,KAAM,GACNyb,WAAY,EACZ7a,WAAW,EACXU,SAAS,MAId60D,GAAW74D,EAAAA,cAAA,OAAKC,UAAWC,IAAa,oBAEzCF,EAAAA,cAAA,OAAKC,UAAWC,IAAa,kGAI7BF,EAAAA,cAAA,OAAKC,UAAWC,IAAa,mGAI7BF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWX,EAAM02D,QAAS34D,QAtDrC44D,KAChBJ,EAAYv2D,EAAM02D,QAAQ,GAqD+C,cAM7E,CAvEOT,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAyEnBw3D,GAAsBpsD,aAAe,CACnC0sD,QAAS,KACTH,SAAU,QAGZH,GAAsBt3D,UAAY,CAChCwR,QAASvR,KAAAA,KAAeC,WACxBq3D,YAAat3D,KAAAA,KAAeC,WAC5Bu3D,SAAUx3D,KAAAA,QAGZ,YChFA,SAAS43D,IAAe,QAAErmD,EAAO,cAAEsmD,IACjC,MAAOC,EAAiBC,IAAsBj1D,EAAAA,EAAAA,WAAS,IAChDk1D,EAAgBC,IAAqBn1D,EAAAA,EAAAA,WAAS,IAC9C00D,EAAUU,IAAep1D,EAAAA,EAAAA,UAAS,KAElCy0D,EAASY,IAAcr1D,EAAAA,EAAAA,WAAS,IAEhC2Z,EAAa27C,IAAkBt1D,EAAAA,EAAAA,UAAS,KAE/CC,EAAAA,EAAAA,YAAU,KACJwO,IACF0mD,GAAkB,GAClBF,GAAmB,GACrB,GACC,CAACxmD,IA4BJ,OACE7S,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACw4D,GAAmB,CAAC3lD,QAASumD,EAAiBX,YA5B/Bx8D,UAClB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,mBAAoB,CAAE6iB,UAC9DhjB,EACFwB,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,MAEtC0+D,EAAYr+D,EAAK29D,UACjBO,GAAmB,GACnBE,GAAkB,GAClBG,EAAe57C,GACjB,IAoBE9d,EAAAA,cAAC24D,GAAqB,CACpB9lD,QAASymD,EACTV,YAnBc38D,UAClB,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,mBAAoB,CAAE6iB,MAAOC,EAAaU,SAClF3jB,EACU,MAARA,EACF2+D,GAAW,GAEXn9D,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,KAE/Bq+D,GACTI,GAAkB,GAClBJ,EAAch+D,IACT8T,SAASgnB,SAAS00B,QAAQ,EAS7BkO,QAASA,EACTC,SAAUA,IAIlB,CAEAI,GAAe3sD,aAAe,CAC5B4sD,cAAe,MAGjBD,GAAe73D,UAAY,CACzBwR,QAASvR,KAAAA,KAAeC,WACxB43D,cAAe73D,KAAAA,MAGjB,Y,gBCtEO,MAAMq4D,GAAeA,CAACC,EAAmBC,GAAkB,IAChE,CACE,CACE15D,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WACNsJ,YAAa,uBACblH,SAAS,EACTV,WAAW,EACXZ,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,YACNsJ,YAAa,mBACblH,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNsJ,YAAa,mBACblH,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNsJ,YAAa,oBACblH,SAAS,EACTtB,KAAM,KAEPm3D,GAAmB,CAClB15D,KAAMqrB,GAASe,MACfjqB,MAAO,wBACPV,KAAM,QACNsJ,YAAa,kBACblH,SAAS,EACTtB,KAAM,GACNC,SAAUi3D,GAEZ,CACEz5D,KAAMqrB,GAASmB,MACfrqB,MAAO,SACPV,KAAM,QACNsJ,YAAa,mBACblH,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASM,OACfxpB,MAAO,aACPV,KAAM,SACNsJ,YAAa,sBACbkR,OAAQ,CACN,CACExc,GAAI,SACJiR,KAAM,UAER,CACEjR,GAAI,YACJiR,KAAM,aAER,CACEjR,GAAI,WACJiR,KAAM,YAER,CACEjR,GAAI,UACJiR,KAAM,WAER,CACEjR,GAAI,WACJiR,KAAM,aAGV7M,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNsJ,YAAa,oBACblH,SAAS,EACTtB,KAAM,KAER3E,OAAOypC,S,ykBCjFX,SAASsyB,IAAkB,QAAEjnD,EAAO,UAAEknD,EAAS,QAAE74B,IAC/C,MAAO7kB,EAAYC,IAAiBlY,EAAAA,EAAAA,WAAS,IACtCw1D,EAAmBI,IAAwB51D,EAAAA,EAAAA,WAAS,IAEpD/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,IAerDC,EAAAA,EAAAA,YAAU,KACJwO,GAdY5W,WAChB,MAAM,GAAE0C,SAAaF,IACjBE,GAAI08B,IAAM,GAAK18B,EAAGmf,QACpBhiB,QAAQoL,IAAI,KAAMvI,GAClBgpC,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRyb,MAAOnf,EAAGmf,SAEZk8C,GAAqB,IAEvB19C,GAAc,EAAK,EAIN29C,GAET59C,IAAexJ,GACjByJ,GAAc,EAChB,GACC,CAACzJ,IAeJ,OACE7S,EAAAA,cAAA8U,GAAAA,EAAA,CACEtS,MAAM,mCACNU,MAAO,CAAE8R,IAAKklD,GAAAA,GAAY,IAAM,IAChC3mC,UAAU,EACVxe,KAAMsH,EACNjH,OACEpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAfrCnE,gBACXD,EAAY,uBAAsBN,GAAAA,GAAA,GACnC2G,GAAK,IACR83D,SAAUr1D,MAAQY,OAAO,QAE3Bq0D,GAAW,GAUgE,cAKzE/5D,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA3BgBA,CAAC9P,EAAGqtD,KACxBzyB,EAAS56B,GACTm3B,EAAkBk2B,EAAI,EA0BlBt9C,KAAM68C,GAAaC,KAI3B,CAEAE,GAAkBvtD,aAAe,CAAC,EAElCutD,GAAkBz4D,UAAY,CAC5BwR,QAASvR,KAAAA,KAAeC,WACxBw4D,UAAWz4D,KAAAA,KAAeC,WAC1B2/B,QAAS5/B,KAAAA,KAAeC,YAG1B,YCjFA,IAAgB,KAAO,cAAc,KAAO,cAAc,UAAY,mBAAmB,MAAQ,eAAe,KAAO,cAAc,KAAO,cAAc,OAAS,gBAAgB,WAAa,oBAAoB,SAAW,kBAAkB,MAAQ,eAAe,MAAQ,eAAe,MAAQ,eAAe,IAAM,c,gBCKrT84D,GAAI,SAAAr8D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,KAAAc,KAAA,OAAAupC,SAAA,WAAArqC,EAAAA,cAAA,QAAAoB,EAAA,2hBAAAN,KAAA,SAAAd,EAAAA,cAAA,QAAAoB,EAAA,+tIAAAN,KAAA,eAKX,SAASw5D,KACP,MAAOC,EAAUC,IAAep2D,EAAAA,EAAAA,WAAS,GAEzC,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACy6D,GAAAA,GAAW,KACVz6D,EAAAA,cAAA,cACEA,EAAAA,cAAA,WACEA,EAAAA,cAAA,YACEA,EAAAA,cAACq6D,GAAI,OAEPr6D,EAAAA,cAAA,KAAGgmB,KAAK,sBAAsBriB,OAAO,SAASsiB,IAAI,cAAa,SAG/DjmB,EAAAA,cAAA,KAAGgmB,KAAK,kBAAkBriB,OAAO,SAASsiB,IAAI,cAAa,aAG3DjmB,EAAAA,cAAA,KAAGgmB,KAAK,qBAAqBriB,OAAO,SAASsiB,IAAI,cAAa,cAG9DjmB,EAAAA,cAAA,KAAGgmB,KAAK,0CAA0CriB,OAAO,SAASsiB,IAAI,cAAa,aAGnFjmB,EAAAA,cAAA,KAAGgmB,KAAK,8CAA8CriB,OAAO,SAASsiB,IAAI,cAAa,gBAO7FjmB,EAAAA,cAAC06D,GAAAA,GAAU,KACT16D,EAAAA,cAAA,UAAQC,UAAWC,GAAOy6D,MACxB36D,EAAAA,cAAA,YACEA,EAAAA,cAACq6D,GAAI,OAEPr6D,EAAAA,cAAA,YACEA,EAAAA,cAAA+C,EAAAA,EAAA,CACEX,KAAK,QACLjC,KAAK,OACL8C,KAAMs3D,EAAWv6D,EAAAA,cAACo4C,EAAAA,EAAa,MAAMp4C,EAAAA,cAAC46D,GAAAA,EAAY,MAClDx6D,QAASA,IAAMo6D,GAAaD,OAIjCA,GACCv6D,EAAAA,cAAA,OAAKC,UAAWC,GAAOy6D,MACrB36D,EAAAA,cAAA,KAAGgmB,KAAK,sBAAsBriB,OAAO,SAASsiB,IAAI,cAAa,SAG/DjmB,EAAAA,cAAA,KAAGgmB,KAAK,kBAAkBriB,OAAO,SAASsiB,IAAI,cAAa,aAG3DjmB,EAAAA,cAAA,KAAGgmB,KAAK,qBAAqBriB,OAAO,SAASsiB,IAAI,cAAa,cAG9DjmB,EAAAA,cAAA,KAAGgmB,KAAK,0CAA0CriB,OAAO,SAASsiB,IAAI,cAAa,aAGnFjmB,EAAAA,cAAA,KAAGgmB,KAAK,8CAA8CriB,OAAO,SAASsiB,IAAI,cAAa,eAQnG,CAvEOo0C,GAAI9tD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAE,MAAA,8BAyEXm5D,GAAuB/tD,aAAe,CAAC,EAEvC+tD,GAAuBj5D,UAAY,CAAC,EAEpC,YCrEA,SAASw5D,IAAqB,OAAEj/D,IAC9B,MAAOk/D,EAAUC,IAAe32D,EAAAA,EAAAA,WAAS,IAClC42D,EAAaC,IAAkB72D,EAAAA,EAAAA,WAAS,IAE/CC,EAAAA,EAAAA,YAAU,KACR,GAAIzI,EAAS,EAEX,OAAQA,GACN,KAAK,EACHm/D,GAAY,GACZ,MACF,KAAK,EACHE,GAAe,GAGrB,GACC,CAACr/D,IAEJ,MAAM0c,EAAOA,KACXrJ,SAASgnB,SAASpwB,QAAQ,IAAI,EAGhC,OACE7F,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAM+lD,EACNt4D,MAAM,6BACN4S,OAAQpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAASkY,GAAM,MAC/Bib,UAAU,GAEVvzB,EAAAA,cAAA,OAAKC,UAAWC,GAAOg7D,YAAY,+JAMrCl7D,EAAAA,cAAA8U,GAAAA,EAAA,CACEC,KAAMimD,EACNx4D,MAAM,4CACN4S,OAAQpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAASkY,GAAM,MAC/Bib,UAAU,GAEVvzB,EAAAA,cAAA,OAAKC,UAAWC,GAAOg7D,YAAY,uLAIjCl7D,EAAAA,cAAA,WAAM,sDAMhB,CAEA66D,GAAqBtuD,aAAe,CAAC,EAErCsuD,GAAqBx5D,UAAY,CAC/BzF,OAAQ0F,KAAAA,OAAiBC,YAG3B,Y,ykBCtDe,SAAS45D,KACtB,MAAMllC,GAAWC,EAAAA,EAAAA,MACXq6B,EAAKn6B,GAAAA,MAAkBH,EAASI,SAE/B+kC,EAAoBC,IAAyBj3D,EAAAA,EAAAA,WAAS,IACtDk3D,EAAcC,IAAmBn3D,EAAAA,EAAAA,WAAS,IAE1C/B,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAEs9C,KAAM,KACpC8Z,EAAgBC,IAAqBr3D,EAAAA,EAAAA,WAAS,IAC9Cs3D,EAAYC,IAAiBv3D,EAAAA,EAAAA,UAAS,KACtCw3D,EAAkBC,IAAuBz3D,EAAAA,EAAAA,UAAS,KAClD03D,EAAkBC,IAAuB33D,EAAAA,EAAAA,UAAS,IAClD43D,EAAaC,IAAkB73D,EAAAA,EAAAA,UAAS,GAOzC83D,EAAkBjgE,UACtB,GAAI2/D,EAAiBtxD,OAAS,EAAG,CAC/B,MAAM,OAAE1O,SAAiBI,EAAY,sBAAuB,CAAEmgE,SAAUP,IACxEG,EAAoBngE,EACtB,MACEqT,SAASgnB,SAASpwB,QAAQ,IAC5B,GAGFxB,EAAAA,EAAAA,YAAU,KAER4K,SAASiQ,eAAe,OAAOhc,MAAM,oBAAsB,UAhB3CjH,WAChB,MAAM,KAAEwe,SAAeze,EAAY,gCACnC2/D,EAAclhD,EAAK,EAenB2hD,EAAW,GACV,KAEH/3D,EAAAA,EAAAA,YAAU,KACR,GAAIksD,GAAI7sD,GAAI,CACV,MACMy4D,GADU,IAAIjd,GAAAA,GACKmd,OAAO9L,EAAG7sD,IACX,IAApBy4D,EAAS7xD,SACXq9B,EAAQjsC,GAAAA,GAAC,CAAC,EACL2G,GAAK,IACRq/C,KAAMya,EAAS,MAEjBN,EAAoB,IAAID,EAAkBO,EAAS,KACnDF,EAAeE,EAAS,IAE5B,IACC,CAAC5L,GAAI7sD,KAuCR,OACE1D,EAAAA,cAAA,OAAKC,UAAWC,GAAOwlC,MACrB1lC,EAAAA,cAACs6D,GAAsB,MACvBt6D,EAAAA,cAAA,OAAKC,UAAWC,GAAOo8D,WACrBt8D,EAAAA,cAAA,UAAI,kCACJA,EAAAA,cAAA,OAAKC,UAAWC,GAAOq8D,OAAO,kFAI9Bv8D,EAAAA,cAAA,OAAKC,UAAWC,GAAO4c,MACJ,IAAhBk/C,GACCh8D,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAlDW9P,IACrB46B,EAAS56B,EAAE,EAkDD+P,KAAM,CACJ,CACE3c,KAAMqrB,GAASuC,MACfzrB,MAAO,kBACPV,KAAM,OACNwa,OAAQw/B,GACRnsB,SAAU,EACV/sB,KAAM,IAER,CACEvC,KAAMqrB,GAASO,YACfzpB,MAAO,kBACPV,KAAM,OACNwa,OAAQigC,GACR35C,KAAM,OAMd1C,EAAAA,cAAA,OAAKkD,MAAO,CAAEwN,UAAW,KACN,IAAhBsrD,GAAqBh8D,EAAAA,cAAA,WAAK,mCAC3BA,EAAAA,cAAA,OAAKC,UAAWC,GAAOw7D,aACnBA,GAAc,IACb39D,QAAQ2F,IACP,MAAMgxC,EAAQryC,EAAMlC,MAAQ,GAC5B,OAAqB,IAAjBu0C,EAAMpqC,QAAgB5G,EAAGg+C,OAASr/C,EAAMq/C,MAE1Ch+C,EAAGg+C,OAASr/C,EAAMq/C,MAClBhN,EAAM32C,QAAQsb,IAAO3V,EAAGvD,MAAQ,IAAIqK,SAAS6O,KAAI/O,OAAS,CAGhD,IAEbvM,QAAQ2F,GACa,IAAhBs4D,GACGt4D,EAAG23B,MAAQ2gC,IAEnB3mD,KAAK5F,GACJzP,EAAAA,cAAA,OAAKzB,IAAKkR,EAAM4rB,IAAKp7B,UAAWC,GAAOs8D,UACrCx8D,EAAAA,cAAA,OAAKC,UAAWC,GAAOC,MACpBsP,EAAMtP,KAAKkV,KAAKssC,GACf3hD,EAAAA,cAAA87C,GAAAA,EAAA,CAAKv9C,IAAKojD,EAAGh9C,MAAM,SAChB23C,GAAuBqF,OAI9B3hD,EAAAA,cAAA,OAAKC,UAAWC,GAAOsC,OAAQiN,EAAMoB,MACpCpB,EAAMgmD,OAASz1D,EAAAA,cAAA,OAAKC,UAAWC,GAAOu1D,OAAO,WAAShmD,EAAMgmD,OAC7Dz1D,EAAAA,cAAA,OAAKC,UAAWC,GAAOwL,OACpB5G,IAAM2K,EAAMqxC,WAAWvB,SAAS75C,OAAO,uBAAuB,MAC9DZ,IAAM2K,EAAMsxC,UAAUzB,OAAO55C,OAAO,wBAEvC1F,EAAAA,cAAA,OAAKC,UAAWC,GAAOo8B,KACrBt8B,EAAAA,cAAAwD,GAAAA,EAAA,CACEC,SAAW8mB,GA9EXkyC,EAAClyC,EAAGw1B,KACpBx1B,EAAE5mB,OAAOC,QACXi4D,EAAoB,IAAID,EAAkB7b,IAE1C8b,EAAoB,IAAID,EAAiB79D,QAAQ6B,IAAQmgD,KAC3D,EAyEqC0c,CAAclyC,EAAG9a,EAAM4rB,KACxCz3B,QAASg4D,EAAiBpxD,SAASiF,EAAM4rB,MAC1C,oBAQbr7B,EAAAA,cAAA,OAAKC,UAAWC,GAAOkV,QACrBpV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAjHQs8D,KACxBjB,GAAkB,GAClBJ,GAAsB,EAAK,EA+GiBr4D,SAAUw4D,GAC3CI,EAAiBtxD,OAAS,EAAI,YAAc,0BAE/CtK,EAAAA,cAAA,SAAG,0GAQTA,EAAAA,cAACk5D,GAAc,CAACrmD,QAASuoD,EAAoBjC,cAvH1Bh+D,IACY,IAA7BA,GAAM42D,aAAanrB,MAErB20B,GAAgB,IAEhBF,GAAsB,GAEtBa,IACF,IAgHEl8D,EAAAA,cAAC85D,GAAiB,CAChBjnD,QAASyoD,EACTvB,UA/GoB99D,UACxBigE,GAAiB,EA+Gbh7B,QA5GkBy7B,KACtB1tD,SAASgnB,SAAS00B,QAAQ,IA6GxB3qD,EAAAA,cAAC66D,GAAoB,CAACj/D,OAAQkgE,IAGpC,C,4DC7MA,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA4H,gBAA5H,GAAmJ,cAAnJ,GAAwK,cAAxK,GAA6L,cAA7L,GAAkN,cAAlN,GAAsO,aAAtO,GAAyP,aAAzP,GAA+Q,gB,ykBCA/Q,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA4H,gBAA5H,GAAoJ,eAApJ,GAA4K,gBAA5K,GAAwM,mBAAxM,GAAkO,cAAlO,GAAuP,cAAvP,GAA6Q,eAA7Q,GAAqS,gBAArS,GAA4T,cAA5T,GAAiV,cAAjV,GAAyW,iBCiBzW,SAASc,IAAY,MAAEntD,IACrB,MAAMsmB,GAAUC,EAAAA,EAAAA,MA4BhB,OACEh2B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAeuP,EAAMoB,OACnCqpD,GAAAA,IAAal6D,EAAAA,cAAA,OAAKC,UAAWC,IAAgBk8C,GAAuB3sC,EAAM5T,SAE3E4T,EAAMsW,MAAMnmB,GAAK,GAAK6P,EAAMsW,MAC3B/lB,EAAAA,cAAA,OAAKC,UAAWC,IAAkB,2BACP4E,IAAM2K,EAAMsW,KAAKu5B,OAAO55C,OAAO,sBAG3Dw0D,GAAAA,IAAal6D,EAAAA,cAAA,OAAKC,UAAWC,IAAgBk8C,GAAuB3sC,EAAM5T,UAE7EmE,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMgmD,OAASz1D,EAAAA,cAAA,WAAK,WAASyP,EAAMgmD,OACnChmD,EAAM2vC,QAAQ90C,OAAS,GACtBtK,EAAAA,cAAA,WACGyP,EAAM2vC,OAAO/pC,KAAI,CAACihD,EAAOx/C,IACxB9W,EAAAA,cAAA,OAAKC,UAAWC,GAAc3B,IAAK+3D,EAAM12D,IACvCI,EAAAA,cAAA,WACEA,EAAAA,cAAA,SAAG,UAAQ8W,EAAM,GAAM,IAAEhS,IAAMwxD,EAAM/W,SAAS75C,OAAO,sBAAsB,MAAI,IAC9EZ,IAAMwxD,EAAMhX,OAAO55C,OAAO,UAE5B4wD,EAAMtvC,MACLhnB,EAAAA,cAAA,KAAGgmB,KAAMswC,EAAMtvC,KAAMrjB,OAAO,SAASsiB,IAAI,cACvCjmB,EAAAA,cAAAovC,GAAAA,EAAY2W,UAAS,CAACC,SAAU,CAAE97C,KAAMosD,EAAMtvC,OAC3CliB,IAAMwxD,EAAMhX,OAAOud,SAAS/3D,OACzB,4BACA,uCASpB9E,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAc67C,GAAqBtsC,EAAMiyC,OACzD1hD,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMtP,KAAKkV,KAAKssC,GACf3hD,EAAAA,cAAA87C,GAAAA,EAAA,CAAKv9C,IAAKojD,EAAGh9C,MAAM,SAChB23C,GAAuBqF,OAK9B3hD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QA9DGnE,UAOL,UANM0nC,GAChB,kBACA,8CACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,qBAKzBtG,EAAY,uCAAwC,CAAE+jD,QAAStwC,EAAM4rB,MAC3EtF,EAAQ7K,KAAK,qBACf,GAmDmC,cAE5BpmB,MAAQsE,QAAQtE,IAAM2K,EAAMsW,KAAKw5B,WAAaz6C,MAAQ+3D,SAAS/3D,IAAM2K,EAAMsW,KAAKu5B,SAC/Et/C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QA7EfnE,UAOJ,UANM0nC,GAChB,oBACA,0IACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,yBAI/ByzB,EAAQ7K,KAAK,aAAazb,EAAM4rB,MAClC,GAoEmD,iBAQvD,CAEAuhC,GAAYrwD,aAAe,CAAC,EAE5BqwD,GAAYv7D,UAAY,CACtBoO,MAAOnO,KAAAA,MAAgB,CACrBuP,KAAMvP,KAAAA,OAAiBC,WACvB1F,OAAQyF,KAAAA,OACRogD,KAAMpgD,KAAAA,OACNnB,KAAMmB,KAAAA,QAAkBA,KAAAA,QACxBm0D,MAAOn0D,KAAAA,OACPykB,KAAMzkB,KAAAA,MAAgB,CACpBi+C,QAASj+C,KAAAA,OACTg+C,MAAOh+C,KAAAA,OACP1B,GAAI0B,KAAAA,SAEN89C,OAAQ99C,KAAAA,QACNA,KAAAA,MAAgB,CACdi+C,QAASj+C,KAAAA,OACTg+C,MAAOh+C,KAAAA,OACP0lB,KAAM1lB,KAAAA,YAGTC,YAGL,YCnIA,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA4H,gBAA5H,GAAoJ,eAApJ,GAA4K,gBAA5K,GAAwM,mBAAxM,GAAkO,cAAlO,GAAuP,cAAvP,GAA6Q,eAA7Q,GAAqS,gBAArS,GAA4T,cAA5T,GAAiV,cCiBjV,SAASu7D,IAAqB,MAAErtD,IAC9B,MAAMsmB,GAAUC,EAAAA,EAAAA,MAehB,OACEh2B,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAeuP,EAAMoB,OACnCqpD,GAAAA,IAAal6D,EAAAA,cAAA,OAAKC,UAAWC,IAAgBk8C,GAAuB3sC,EAAM5T,SAE3E4T,EAAMsW,MAAMnmB,GAAK,GAAK6P,EAAMsW,MAC3B/lB,EAAAA,cAAA,OAAKC,UAAWC,IAAkB,2BACP4E,IAAM2K,EAAMsW,KAAKu5B,OAAO55C,OAAO,sBAG3Dw0D,GAAAA,IAAal6D,EAAAA,cAAA,OAAKC,UAAWC,IAAgBk8C,GAAuB3sC,EAAM5T,UAE7EmE,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMgmD,OAASz1D,EAAAA,cAAA,WAAK,WAASyP,EAAMgmD,OACnChmD,EAAM2vC,QAAQ90C,OAAS,GACtBtK,EAAAA,cAAA,WACGyP,EAAM2vC,OAAO/pC,KAAI,CAACihD,EAAOx/C,IACxB9W,EAAAA,cAAA,OAAKC,UAAWC,GAAc3B,IAAK+3D,EAAM12D,IACvCI,EAAAA,cAAA,WACEA,EAAAA,cAAA,SAAG,UAAQ8W,EAAM,GAAM,IAAEhS,IAAMwxD,EAAM/W,SAAS75C,OAAO,sBAAsB,MAAI,IAC9EZ,IAAMwxD,EAAMhX,OAAO55C,OAAO,UAE5B4wD,EAAMtvC,MACLhnB,EAAAA,cAAA,KAAGgmB,KAAMswC,EAAMtvC,KAAMrjB,OAAO,SAASsiB,IAAI,cACvCjmB,EAAAA,cAAAovC,GAAAA,EAAY2W,UAAS,CAACC,SAAU,CAAE97C,KAAMosD,EAAMtvC,OAC3CliB,IAAMwxD,EAAMhX,OAAOud,SAAS/3D,OACzB,4BACA,uCASpB9E,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAc67C,GAAqBtsC,EAAMiyC,OACzD1hD,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMtP,KAAKkV,KAAKssC,GACf3hD,EAAAA,cAAA87C,GAAAA,EAAA,CAAKv9C,IAAKojD,EAAGh9C,MAAM,SAChB23C,GAAuBqF,OAK9B3hD,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QA5DNnE,UAOT,UANM0nC,GAChB,wBACA,sCACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,wBAIzBtG,EAAY,sBAAuB,CAAEmgE,SAAU,CAAC1sD,EAAM4rB,OAC5DtF,EAAQ7K,KAAK,kBACf,GAkDoD,eAMxD,CAEA4xC,GAAqBvwD,aAAe,CAAC,EAErCuwD,GAAqBz7D,UAAY,CAC/BoO,MAAOnO,KAAAA,MAAgB,CACrBuP,KAAMvP,KAAAA,OAAiBC,WACvB1F,OAAQyF,KAAAA,OACRogD,KAAMpgD,KAAAA,OACNnB,KAAMmB,KAAAA,QAAkBA,KAAAA,QACxBm0D,MAAOn0D,KAAAA,OACPykB,KAAMzkB,KAAAA,MAAgB,CACpBg+C,MAAOh+C,KAAAA,OACP1B,GAAI0B,KAAAA,SAEN89C,OAAQ99C,KAAAA,QACNA,KAAAA,MAAgB,CACdi+C,QAASj+C,KAAAA,OACTg+C,MAAOh+C,KAAAA,OACP0lB,KAAM1lB,KAAAA,YAGTC,YAGL,YC/GA,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iBAAlG,GAA4H,gBAA5H,GAAoJ,eAApJ,GAA4K,gBAA5K,GAAkO,cAAlO,GAAuP,cAAvP,GAA6Q,eAA7Q,GAAqS,gBAArS,GAA4T,cAA5T,GAAiV,cCiBjV,SAASw7D,IAAoB,MAAEttD,EAAK,KAAEsW,IACpC,MAAMpnB,GAAKi5C,EAAAA,EAAAA,IAAel5C,IAM1B,OACEsB,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAeuP,EAAMoB,MACpCpB,EAAMsW,MAAMnmB,GAAK,GAChBI,EAAAA,cAAA,OAAKC,UAAWC,IACE,IAAf6lB,GAAMjX,MACL9O,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAACm8C,GAAAA,EAAmB,MAAKx3C,MAAOohB,GAAMslB,SAAW,WACzDtlB,GAAMslB,QAAU,eAAiB,gBAGtB,IAAftlB,GAAMjX,MAAc9O,EAAAA,cAAA87C,GAAAA,EAAA,CAAK74C,KAAMjD,EAAAA,cAACm8C,GAAAA,EAAmB,OAAK,sBAI/Dn8C,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMgmD,OAASz1D,EAAAA,cAAA,WAAK,WAASyP,EAAMgmD,OACnChmD,EAAM2vC,QAAQ90C,OAAS,GACtBtK,EAAAA,cAAA,WACGyP,EAAM2vC,OAAO/pC,KAAI,CAACihD,EAAOx/C,IACxB9W,EAAAA,cAAA,OAAKC,UAAWC,GAAc3B,IAAK+3D,EAAM12D,IACvCI,EAAAA,cAAA,WACEA,EAAAA,cAAA,SAAG,UAAQ8W,EAAM,GAAM,IAAEhS,IAAMwxD,EAAM/W,SAAS75C,OAAO,sBAAsB,MAAI,IAC9EZ,IAAMwxD,EAAMhX,OAAO55C,OAAO,UAE5B4wD,EAAMtvC,MACLhnB,EAAAA,cAAA,KAAGgmB,KAAMswC,EAAMtvC,KAAMrjB,OAAO,SAASsiB,IAAI,cACvCjmB,EAAAA,cAAAovC,GAAAA,EAAY2W,UAAS,CAACC,SAAU,CAAE97C,KAAMosD,EAAMtvC,OAC3CliB,IAAMwxD,EAAMhX,OAAOud,SAAS/3D,OACzB,4BACA,uCASpB9E,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,OAAKC,UAAWC,IAAc67C,GAAqBtsC,EAAMiyC,OACzD1hD,EAAAA,cAAA,OAAKC,UAAWC,IACbuP,EAAMtP,KAAKkV,KAAKssC,GACf3hD,EAAAA,cAAA87C,GAAAA,EAAA,CAAKv9C,IAAKojD,EAAGh9C,MAAM,SAChB23C,GAAuBqF,QAK7BlyC,GAAOwyC,aAAaxF,SAAW12B,GAAMslB,SAAa57B,GAAOsW,MAAMnmB,GAAK,EAKnEI,EAAAA,cAAA,UAJAA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAO8C,KAAMjD,EAAAA,cAACilC,GAAAA,EAAW,MAAK7kC,QAtDzB48D,KACxBvoD,OAAOM,KAAK,2BAA2BtF,EAAM4rB,OAAO18B,EAAG08B,MAAM,GAqDgB,eASjF,CAEA0hC,GAAoBxwD,aAAe,CACjCwZ,KAAM,MAGRg3C,GAAoB17D,UAAY,CAC9BoO,MAAOnO,KAAAA,MAAgB,CACrBuP,KAAMvP,KAAAA,OAAiBC,WACvB1F,OAAQyF,KAAAA,OACRogD,KAAMpgD,KAAAA,OACNnB,KAAMmB,KAAAA,QAAkBA,KAAAA,QACxBm0D,MAAOn0D,KAAAA,OACPykB,KAAMzkB,KAAAA,MAAgB,CACpBg+C,MAAOh+C,KAAAA,OACP1B,GAAI0B,KAAAA,SAEN89C,OAAQ99C,KAAAA,QACNA,KAAAA,MAAgB,CACdi+C,QAASj+C,KAAAA,OACTg+C,MAAOh+C,KAAAA,OACP0lB,KAAM1lB,KAAAA,UAGV2gD,YAAa3gD,KAAAA,MAAgB,CAC3Bm7C,OAAQn7C,KAAAA,WAETC,WACHwkB,KAAMzkB,KAAAA,MAAgB,CACpB+pC,QAAS/pC,KAAAA,KACTwN,KAAMxN,KAAAA,UAIV,YCrHA,UAAgB,WAAa,oBAAoB,cAAgB,uBAAuB,KAAO,cAAc,IAAM,aAAa,KAAO,cAAc,KAAO,cAAc,MAAQ,eAAe,WAAa,qBCA9M,SAA6B,oBAA7B,GAAiE,uBAAjE,GAAkG,iB,ykBCavE,IAEpB27D,GAAW,SAAAj/D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAUlB,SAASo8D,GAAQ56D,EAAO/D,EAAK0E,EAAMlD,GACjC,MAAO,CACLxB,MACA0E,OACAlD,WACAuC,QAEJ,CAjBO26D,GAAW1wD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAmBlB,MAAM2U,GAAQ,CACZonD,GAAQ,0BAA2B,SAAUl9D,EAAAA,cAACk8C,EAAAA,EAAmB,MAAK,CACpEghB,GAAQ,kBAAmB,UAC3BA,GAAQ,uBAAwB,aAChCA,GAAQ,cAAe,cAGzB,CACE/8D,KAAM,WAER+8D,GAAQ,UAAW,UAAWl9D,EAAAA,cAACo2D,EAAAA,EAAY,OAC3C8G,GAAQ,QAAS,SAAUl9D,EAAAA,cAACm9D,EAAAA,EAAc,QAGtCza,GAAS,CAEb1iD,EAAAA,cAACo9D,EAAAA,GAAQ,CAAC7+D,IAAI,OAAO4kD,OAAK,EAACmG,KAAK,IAAIzH,GAAG,mBACvC7hD,EAAAA,cAACq9D,EAAAA,GAAK,CAAC9+D,IAAI,UAAUqkD,KAAK,WAAWO,OAAK,EAACN,UCxC9B,WACb,MAAMlkD,GAAKi5C,EAAAA,EAAAA,IAAel5C,KAEnB2D,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GAmBrD,OAjBAC,EAAAA,EAAAA,YAAU,KACRsjC,EAAQjsC,GAAC,CAAC,EAAIiD,EAAGozD,aAAc,GAC9B,CAACpzD,GAAIozD,aAAaj0C,QAgBnB9d,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+iD,EAAAA,EAAA,CACE9iD,UAAWC,GACXsC,MAAM,UACNo8C,MACE5+C,EAAAA,cAAA+C,EAAAA,EAAA,CAAQxE,IAAI,OAAO4B,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAdlDnE,gBACXD,EAAY,uBAAsBN,GAAAA,GAAA,GACnC2G,GAAK,IACR83D,SAAUr1D,MAAQY,OAAO,QAE3Bw+B,GAAkB,EAAM,GASgE,eAKtFlkC,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,GAAgBgD,MAAO,CAAEk8B,SAAU,MACjDp/B,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cA7BUA,CAAC9P,EAAGqtD,KACxBzyB,EAAS56B,GACTm3B,EAAkBk2B,EAAI,EA4BZt9C,KAAM68C,IAAa,GAAM,QAOvC,IDNE35D,EAAAA,cAACq9D,EAAAA,GAAK,CAAC9+D,IAAI,SAASqkD,KAAK,UAAUO,OAAK,EAACN,UE/C5B,WAKb,OAJAx+C,EAAAA,EAAAA,YAAUpI,gBACFD,EAAY,gBAClBiT,SAASgnB,SAAS00B,QAAQ,GACzB,IAED3qD,EAAAA,cAAA,OAAKkD,MAAO,CAAEyN,UAAW,SAAU2sD,WAAY,KAC7Ct9D,EAAAA,cAAA6nD,GAAAA,EAAA,MAGN,IFsCE7nD,EAAAA,cAACq9D,EAAAA,GAAK,CAAC9+D,IAAI,gBAAgBqkD,KAAK,iBAAiBO,OAAK,EAACN,UG5C1C,WACb,MAAO6Y,EAAYC,IAAiBv3D,EAAAA,EAAAA,UAAS,IAW7C,OAJAC,EAAAA,EAAAA,YAAU,KALQpI,WAChB,MAAM,KAAEwe,SAAeze,EAAY,8BACnC2/D,EAAclhD,EAAK,EAInB2hD,EAAW,GACV,IAGDp8D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACF,GAAQ,CAACD,IAAI,iCAAgC,qCAGhDG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACbw7D,EAAWrmD,KAAK1V,GACfK,EAAAA,cAAC48D,GAAW,CAACr+D,IAAKoB,EAAG4hD,QAAQlmB,IAAK5rB,MAAO9P,EAAG4hD,cAMxD,IHkBEvhD,EAAAA,cAACq9D,EAAAA,GAAK,CAAC9+D,IAAI,WAAWqkD,KAAK,qBAAqBO,OAAK,EAACN,UIvCzC,WACb,MAAM9sB,GAAUC,EAAAA,EAAAA,OACV,QAAE+pB,IAAYqD,EAAAA,EAAAA,MAEb/gD,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7BxI,EAAQ2hE,IAAan5D,EAAAA,EAAAA,UAAS,CAAC,IAStCC,EAAAA,EAAAA,YAAU,KAPQpI,WAChB,MAAM,KAAE8pB,SAAe/pB,EAAY,2BAA4B,CAC7D+jD,QAAS1rC,SAAS0rC,EAAS,MAE7BpY,EAAS5hB,EAAK,EAIdq2C,EAAW,GACV,IAEH,MAgBMoB,EAAWvhE,UAOf,GAAY,UANM0nC,GAChB,wBACA,yFACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,eAGlB,CAEb,MAAMm7D,EAAS,CACb1d,QAAS1rC,SAAS0rC,EAAS,IAC3BtE,UAAW,IAGb,IAAK,MAAMC,KAAKr5C,EAAMo5C,UACpB,GAAe,IAAXC,EAAEv7C,KAAY,CAChB,MAAMw7C,EAAU,GAChB,IAAK,MAAMqD,KAAOtD,EAAEC,QAClBA,EAAQzwB,KAAK,CACXtrB,GAAIo/C,EAAIp/C,GACRyZ,EAAGzd,EAAO,GAAG8/C,EAAE97C,MAAMo/C,EAAIp/C,MAAQ,EAAI,IAIzC69D,EAAOhiB,UAAUvwB,KAAK,CACpBtrB,GAAI87C,EAAE97C,GACNO,KAAMu7C,EAAEv7C,KACRw7C,WAEJ,MAAsB,IAAXD,EAAEv7C,MACXs9D,EAAOhiB,UAAUvwB,KAAK,CACpBtrB,GAAI87C,EAAE97C,GACNO,KAAMu7C,EAAEv7C,KACRwgD,OAAQ/kD,EAAO,GAAG8/C,EAAE97C,cAKpB5D,EAAY,4BAA6B,CAC7C+jD,QAAS1rC,SAAS0rC,EAAS,IAC3B5kD,KAAMsiE,IAGR1nC,EAAQlwB,QAAQ,mBAClB,GAGF,OACE7F,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,YACEA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,OAAO8C,KAAMjD,EAAAA,cAAC09D,GAAAA,EAAiB,MAAKt9D,QAASA,IAAM21B,EAAQgyB,WAAY,IAEpF/nD,EAAAA,cAACF,GAAQ,CAACD,IAAI,4BAA2B,sBAE1Cq6D,GAAAA,IACCl6D,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QAASo9D,GAAU,0BAM9Cx9D,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAW6C,KAAG5C,GAAe,CAAE,CAACA,IAAcg6D,GAAAA,MACjDl6D,EAAAA,cAAA,UAAKqC,EAAMwO,MACX7Q,EAAAA,cAAA,WAAK,kBAAgB8E,IAAMzC,EAAMi9C,OAAO55C,OAAO,yBAEjD1F,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IAAcmC,EAAMgU,OAClChU,EAAMo5C,WAAa,IAAIpmC,KAAI,CAACsoD,EAAUtzD,IACtCrK,EAAAA,cAAA,OAAKzB,IAAKo/D,EAAS/9D,GAAIK,UAAWC,IAChCF,EAAAA,cAAA,UAAI,UAAQqK,EAAI,GAChBrK,EAAAA,cAAA,OAAKC,UAAWC,IAAay9D,EAASj9D,KACtCV,EAAAA,cAAA,OAAKC,UAAWC,IAAcy9D,EAAStnD,MACpB,IAAlBsnD,EAASx9D,MACRH,EAAAA,cAAA,YACI29D,EAAShiB,SAAW,IAAItmC,KAAK2pC,GAC7Bh/C,EAAAA,cAAA,OAAKzB,IAAKygD,EAAIp/C,GAAIK,UAAWC,IAC3BF,EAAAA,cAAAwD,GAAAA,EAAA,CAAUC,SAAW8mB,GAhGpBqzC,GAAGj6D,UAAUk6D,EAAY/J,KAChD,MAAM,QAAElwD,GAAYD,EACpB45D,EAAS7hE,GAAAA,GAAC,CAAC,EACNE,GAAM,IACT,CAAC,GAAGiiE,KAAc/J,KAAUlwD,IAC5B,EA2F+Cg6D,CAAiBrzC,EAAGozC,EAAS/9D,GAAIo/C,EAAIp/C,KAC7Do/C,EAAIt+C,SAMI,IAAlBi9D,EAASx9D,MACRH,EAAAA,cAAA,OAAKkD,MAAO,CAAEke,QAAS,IACrBphB,EAAAA,cAAA6M,GAAAA,EAAO6L,SAAQ,CACbE,SAAU,CAAEwL,QAAS,EAAGC,QAAS,GACjC5gB,SAAW8mB,GAnGfuzC,GAAGn6D,UAAUk6D,KAC7B,MAAM,MAAEpyD,GAAU9H,EAClB45D,EAAS7hE,GAAAA,GAAC,CAAC,EACNE,GAAM,IACT,CAAC,GAAGiiE,KAAepyD,IACnB,EA8FmCqyD,CAAUvzC,EAAGozC,EAAS/9D,IACvC6L,MAAO7P,EAAO+hE,EAAS/9D,IACvBm+D,UAAW,YAOrB7D,GAAAA,IACAl6D,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAUC,QAASo9D,GAAU,6BAU1D,IJ1GEx9D,EAAAA,cAACq9D,EAAAA,GAAK,CACJ9+D,IAAI,kBACJqkD,KAAK,mBACLO,OAAK,EACLN,UKlDW,WACb,MAAO6Y,EAAYC,IAAiBv3D,EAAAA,EAAAA,UAAS,IAW7C,OAJAC,EAAAA,EAAAA,YAAU,KALQpI,WAChB,MAAM,KAAEwe,SAAeze,EAAY,6BAA8B,CAAE4qC,MAAO,IAC1E+0B,EAAclhD,EAAK,EAInB2hD,EAAW,GACV,IAGDp8D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACF,GAAQ,CAACD,IAAI,mCAAkC,4DAKlDG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACbw7D,EAAWrmD,KAAK1V,GACfK,EAAAA,cAAC+8D,GAAmB,CAACx+D,IAAKoB,EAAG4hD,QAAQlmB,IAAK5rB,MAAO9P,EAAG4hD,QAASx7B,KAAMpmB,EAAGomB,WAMlF,ILuBE/lB,EAAAA,cAACq9D,EAAAA,GAAK,CACJ9+D,IAAI,mBACJqkD,KAAK,oBACLO,OAAK,EACLN,UMxDW,WACb,MAAO6Y,EAAYC,IAAiBv3D,EAAAA,EAAAA,UAAS,IAW7C,OAJAC,EAAAA,EAAAA,YAAU,KALQpI,WAChB,MAAM,KAAEwe,SAAeze,EAAY,6BAA8B,CAAE4qC,MAAO,IAC1E+0B,EAAclhD,EAAK,EAInB2hD,EAAW,GACV,IAGDp8D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACF,GAAQ,CAACD,IAAI,oCAAmC,4CAKnDG,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,KACbjjD,EAAAA,cAAA,OAAKC,UAAWC,IACbw7D,EAAWrmD,KAAK1V,GACfK,EAAAA,cAAC88D,GAAoB,CAACv+D,IAAKoB,EAAG4hD,QAAQlmB,IAAK5rB,MAAO9P,EAAG4hD,cAMjE,KN+BA,SAASyc,KACP,MAAMjoC,GAAUC,EAAAA,EAAAA,MACVC,GAAWC,EAAAA,EAAAA,MAEXv3B,GAAKi5C,EAAAA,EAAAA,IAAel5C,KACnBu/D,EAAqBC,IAA0B95D,EAAAA,EAAAA,WAAS,IACxD+5D,EAAcC,IAAmBh6D,EAAAA,EAAAA,UAAS,CAAC,YAElDC,EAAAA,EAAAA,YAAU,KACRq+C,GAAOvxB,SAAS91B,KACVgjE,EAAAA,EAAAA,IAAUpoC,EAASqoC,SAAUjjE,EAAE2C,MAAM4kD,OACvCwb,EAAgB/iE,EAAEkD,IAAIyI,MAAM,KAC9B,GACA,GACD,CAACivB,GAAUqoC,WAEd,MAAMC,EAAeA,EAAGC,cACtB,MAAMtjE,EAAMsjE,EAAQ1jD,UAAUF,KAAK,KACnCmb,EAAQ7K,KAAK,IAAIhwB,KACjBgjE,GAAuB,EAAM,EAG/B,OACEl+D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACy6D,GAAAA,GAAW,KACVz6D,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAWC,GAAOu+D,eACxBz+D,EAAAA,cAAAgjD,EAAAA,EAAQ0b,MAAK,CAACx9D,MAAO,IAAK8pC,QAAS,KAAM2zB,aAAW,EAACC,WAAW,EAAO7Z,MAAM,SAC3E/kD,EAAAA,cAAA,OAAKC,UAAWC,GAAO2+D,MACrB7+D,EAAAA,cAACi9D,GAAW,OAEdj9D,EAAAA,cAAA8+B,EAAAA,EAAA,CACEimB,MAAM,QACN+Z,gBAAiB,CAAC,UAClB//B,aAAco/B,EACd58C,KAAK,SACLzL,MAAOA,GACPkF,SAAUujD,KAGdv+D,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAU,eAChBD,EAAAA,cAAAgjD,EAAAA,EAAQ+b,OAAM,CAACha,MAAM,SACnB/kD,EAAAA,cAAA,QAAMC,UAAWC,GAAO28C,KACrBl+C,GAAIozD,aAAaiG,SAAS,IAAEr5D,GAAIozD,aAAakG,YAGlDj4D,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,CACbhjD,UAAU,yBACViD,MAAO,CACL87D,UAAW,MAGbh/D,EAAAA,cAACi/D,EAAAA,GAAM,KAAEvc,QAMjB1iD,EAAAA,cAAC06D,GAAAA,GAAU,KACT16D,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAWC,GAAOu+D,eACxBz+D,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAWC,GAAOg/D,YACxBl/D,EAAAA,cAAAgjD,EAAAA,EAAQ+b,OAAM,CAACha,MAAM,QAAQ9kD,UAAWC,GAAOy6D,MAC7C36D,EAAAA,cAAA,OAAKC,UAAWC,GAAO4oC,MACrB9oC,EAAAA,cAACi9D,GAAW,OAEdj9D,EAAAA,cAAA,OAAKC,UAAWC,GAAOq/B,OACrBv/B,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAAC46D,GAAAA,EAAY,MACnBx6D,QAASA,IAAM89D,GAAwBD,OAK7Cj+D,EAAAA,cAAAgjD,EAAAA,EAAQC,QAAO,CACb//C,MAAO,CACL87D,UAAW,MAGbh/D,EAAAA,cAACi/D,EAAAA,GAAM,KAAEvc,OAKf1iD,EAAAA,cAAAm/D,GAAAA,EAAA,CACE38D,MAAO,GAAG7D,GAAIozD,aAAaiG,YAAYr5D,GAAIozD,aAAakG,YACxDh4D,UAAWC,GAAOk/D,WAClBz+D,UAAU,OACVugC,QAASA,IAAMg9B,GAAuB,GACtCrrD,QAASorD,EACT1qC,UAAU,EACVqrB,MACE5+C,EAAAA,cAAAq/D,GAAAA,EAAA,KACEr/D,EAAAA,cAAA+C,EAAAA,EAAA,CACE5C,KAAK,OACLiC,KAAK,QACLa,KAAMjD,EAAAA,cAACo4C,EAAAA,EAAa,MACpBh4C,QAASA,IAAM89D,GAAwBD,MAI7CrqC,UAAW,CAAExS,QAAS,GACtBk+C,oBAAqB,CAAEp+D,MAAO,OAC9Bq+D,YAAa,CAAEn+C,QAAS,wBAExBphB,EAAAA,cAAA8+B,EAAAA,EAAA,CACEimB,MAAM,QACNya,oBAAqB,CAAC,UACtBV,gBAAiB,CAAC,UAClBv9C,KAAK,SACLzL,MAAOA,GACPkF,SAAUujD,MAMtB,CAEAP,GAAkBzxD,aAAe,CAAC,EAElCyxD,GAAkB38D,UAAY,CAAC,EAE/B,YOxLe,SAASo+D,KACtB,MAAM9gE,GAAKi5C,EAAAA,EAAAA,IAAel5C,KAEnB48D,EAAcC,IAAmBn3D,EAAAA,EAAAA,WAAS,IAEjDC,EAAAA,EAAAA,YAAU,KACJ1F,GAAI08B,IAAM,GAAgC,IAA3B18B,GAAIozD,aAAanrB,OAClC20B,GAAgB,EAClB,GACC,CAAC58D,GAAI08B,MAWR,OAAmB,MAAf18B,EAAG+gE,QACE1/D,EAAAA,cAACm7D,GAAoB,MAI5Bn7D,EAAAA,cAAAA,EAAAA,SAAA,KAC8B,IAA3BrB,GAAIozD,aAAanrB,OAAe5mC,EAAAA,cAACg+D,GAAiB,MAEnDh+D,EAAAA,cAAC85D,GAAiB,CAChBjnD,QAASyoD,EACTvB,UAnBoB4F,KACxB1wD,SAASgnB,SAAS00B,QAAQ,EAmBtBzpB,QAhBkBy7B,KACtB1tD,SAASgnB,SAAS00B,QAAQ,IAmB9B,CCtCA,SAASiV,IAAY,QAAE/sD,IACrB,OAAO7S,EAAAA,cAACk5D,GAAc,CAACrmD,QAASA,GAClC,CAEA+sD,GAAYv+D,UAAY,CACtBwR,QAASvR,KAAAA,KAAeC,YAG1B,YCbA,GAA8B,qBAA9B,GAA0D,cAA1D,GAAiF,gBAAjF,GAAuG,aAAvG,GAAkJ,gBCG1G,IAEjC+2D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAInB,SAAS++D,IAAY,QAAEhtD,IACrB,MAAMlU,GAAKi5C,EAAAA,EAAAA,IAAel5C,IAE1B,OACEsB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,0BACqBA,EAAAA,cAACs4D,GAAY,OAEtCt4D,EAAAA,cAAA,OAAKC,UAAWC,IAAa,eACfF,EAAAA,cAAA,YAAM,iBAEpBA,EAAAA,cAAA,OAAKC,UAAWC,IAAa,cAChBF,EAAAA,cAAA,YAAOrB,EAAGmf,QAGvB9d,EAAAA,cAAA,OAAKC,UAAWC,IAAe,kEAI/BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,oGAOpC,CAtCOo4D,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAwCnB0+D,GAAYx+D,UAAY,CACtBwR,QAASvR,KAAAA,KAAeC,YAG1B,Y,+NC5CgD,IACzC+2D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAOnB,SAASg/D,IAAY,QAAEjtD,EAAO,QAAEquB,IAC9B,MAAMviC,GAAKi5C,EAAAA,EAAAA,IAAel5C,KACnB2D,EAAOslC,IAAYvjC,EAAAA,EAAAA,UAAS,CAAC,IAC7B6/B,EAAgBC,IAAqB9/B,EAAAA,EAAAA,WAAS,GA2CrD,OAzCAC,EAAAA,EAAAA,YAAU,KACRsjC,EAAShpC,EAAG,GACX,IAwCDqB,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,0BACqBA,EAAAA,cAACs4D,GAAY,QAEpCp3B,GACAlhC,EAAAA,cAAA,OAAKC,UAAWC,IAAa,eACfF,EAAAA,cAAA,YAAM,wBAGtBA,EAAAA,cAAA,OAAKC,UAAWC,IAAa,cAChBF,EAAAA,cAAA,YAAOrB,EAAGmf,SAErBojB,GACAlhC,EAAAA,cAAA,OAAKC,UAAWC,IAAY,+LAM3BghC,GACDlhC,EAAAA,cAAA,OAAKC,UAAWC,IAAY,gEAI9BF,EAAAA,cAAC2c,GAAS,CACRta,MAAOA,EACPwa,cAvEN,SAAuB9P,EAAGgsB,GACxB4O,E,uWAAQjsC,CAAC,CAAC,EAAIqR,IACdm3B,EAAkBnL,EACpB,EAqEMjc,KAAM,CACJ,CACE3c,KAAMqrB,GAASmB,MACfrqB,MAAO,QACPV,KAAM,QACNc,KAAM,GACNsB,SAAS,EACTV,WAAY49B,GAEd,CACE/gC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,OACNc,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,UACPV,KAAM,WACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,MACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNoC,SAAS,EACTtB,KAAM,GAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,WACPV,KAAM,UACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,YACPV,KAAM,SACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,SACPV,KAAM,UACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASC,KACfnpB,MAAO,QACPV,KAAM,OACNoC,SAAS,EACTtB,KAAM,IAER,CACEvC,KAAMqrB,GAASE,SACfppB,MAAO,4BACPV,KAAM,OACN6hB,KAAM,EACN/gB,KAAM,GACNY,YAAa49B,MAInBlhC,EAAAA,cAAA,OAAKC,UAAWC,MACXghC,GACDlhC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ3C,QAAS8gC,EAASh+B,MAAO,CAAEsS,YAAa,SAAU,UAG1DxV,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QA1I5DnE,iBACE,IAAI+rD,GAAO,EACX,GAAIrpD,EAAGy5D,QAAU/1D,EAAM+1D,QACrBpQ,QAAYrkB,GACV,mBACA,6IACA,CAAC,CAAErhC,MAAO,UAAY,CAAEA,MAAO,gBAErB,IAAR0lD,GAAW,OAGjB,MAAM,IAAEltD,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,WAAYoH,GACpDvH,EACFwB,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,KAE1B,IAARktD,EACF/4C,SAASgnB,SAAS00B,SAElBzpB,GAGN,GAqHgF,eAKxEA,GACAlhC,EAAAA,cAAA+C,EAAAA,EAAA,CAAQ5C,KAAK,UAAU6C,UAAWihC,EAAgB7jC,QAzJ1DnE,iBACE,MAAM,IAAEnB,EAAG,OAAEC,EAAM,KAAEI,SAAeF,EAAQ,WAAYoH,GACpDvH,EACFwB,EAAAA,GAAQP,MAAMhB,GAAU,cAAcD,KAEtCmU,SAASgnB,SAAS00B,QAEtB,GAkJ6E,cAO/E,CArLO2N,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAuLnB2+D,GAAYvzD,aAAe,CACzB20B,QAAS,MAGX4+B,GAAYz+D,UAAY,CACtBwR,QAASvR,KAAAA,KAAeC,WACxB2/B,QAAS5/B,KAAAA,MAGX,YCnMwC,IAEjCg3D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAKnB,SAASi/D,IAAmB,QAAEltD,IAC5B,MAAMlU,GAAKi5C,EAAAA,EAAAA,IAAel5C,KACnBshE,EAAgBC,IAAqB77D,EAAAA,EAAAA,WAAS,GAOrD,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,0BACqBA,EAAAA,cAACs4D,GAAY,OAEtCt4D,EAAAA,cAAA,OAAKC,UAAWC,IAAa,eACfF,EAAAA,cAAA,YAAM,wBAEpBA,EAAAA,cAAA,OAAKC,UAAWC,IAAa,cAChBF,EAAAA,cAAA,YAAOrB,EAAGmf,QAGvB9d,EAAAA,cAAA,OAAKC,UAAWC,IAAe,yBAE7BF,EAAAA,cAAA,WAAM,+BAIRA,EAAAA,cAAA,OAAKC,UAAWC,IAAY,uIAI5BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,4EACgD,IAC1EF,EAAAA,cAAA,KAAGgmB,KAAK,IAAI5lB,QArCpB,SAAuBsD,GACrBA,EAAGsO,iBACHiuD,GAAkB,EACpB,GAkC4C,WAKxCjgE,EAAAA,cAAC8/D,GAAW,CAACjtD,QAASmtD,IAG5B,CAtDO1H,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAwDnB4+D,GAAmB1+D,UAAY,CAC7BwR,QAASvR,KAAAA,KAAeC,YAG1B,YC9DwC,IAEjC+2D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAKnB,SAASo/D,IAAqB,QAAErtD,IAC9B,MAAMlU,GAAKi5C,EAAAA,EAAAA,IAAel5C,KACnBshE,EAAgBC,IAAqB77D,EAAAA,EAAAA,WAAS,GAOrD,OACEpE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,0BACqBA,EAAAA,cAACs4D,GAAY,OAEtCt4D,EAAAA,cAAA,OAAKC,UAAWC,IAAa,eACfF,EAAAA,cAAA,YAAM,wBAEpBA,EAAAA,cAAA,OAAKC,UAAWC,IAAa,cAChBF,EAAAA,cAAA,YAAOrB,EAAGmf,QAGvB9d,EAAAA,cAAA,OAAKC,UAAWC,IAAe,qCAE/BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,qKAI5BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,4EACgD,IAC1EF,EAAAA,cAAA,KAAGgmB,KAAK,IAAI5lB,QAjCpB,SAAuBsD,GACrBA,EAAGsO,iBACHiuD,GAAkB,EACpB,GA8B4C,WAKxCjgE,EAAAA,cAAC8/D,GAAW,CAACjtD,QAASmtD,IAG5B,CAlDO1H,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAoDnB++D,GAAqB7+D,UAAY,CAC/BwR,QAASvR,KAAAA,KAAeC,YAG1B,YC1DwC,IAEjC+2D,GAAY,SAAAt6D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAInB,SAASq/D,IAAc,QAAEttD,IACvB,MAAMlU,GAAKi5C,EAAAA,EAAAA,IAAel5C,IAE1B,OACEsB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA8U,GAAAA,EAAA,CACE7U,UAAWC,GACXsC,MAAO,KACPtB,MAAO,IACP6T,KAAMlC,EACN0gB,UAAU,EACVne,OAAQ,MAERpV,EAAAA,cAAA,UAAI,0BACqBA,EAAAA,cAACs4D,GAAY,OAEtCt4D,EAAAA,cAAA,OAAKC,UAAWC,IAAa,eACfF,EAAAA,cAAA,YAAM,gBAEpBA,EAAAA,cAAA,OAAKC,UAAWC,IAAa,cAChBF,EAAAA,cAAA,YAAOrB,EAAGmf,QAGvB9d,EAAAA,cAAA,OAAKC,UAAWC,IAAe,8DAI/BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,oJAI5BF,EAAAA,cAAA,OAAKC,UAAWC,IAAY,mFAMpC,CAzCOo4D,GAAY/rD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BA2CnBg/D,GAAc9+D,UAAY,CACxBwR,QAASvR,KAAAA,KAAeC,YAG1B,YCpDA,GAA6B,oBAA7B,GAAyD,eAAzD,GAAiF,gBAAjF,GAAwG,cAAxG,GAAqI,sBAArI,GAAsK,kBAAtK,GAAwM,uBAAxM,GAA2O,mBAA3O,GAA4Q,qBAA5Q,GAA8S,oBAA9S,GAA+U,oBAA/U,GAAyW,aAAzW,GAA6X,cAA7X,GAAsa,kCCAta,IAAiB,ECKF,SAAS6+D,KAMtB,OAAOpgE,EAAAA,cAAA,OAAKC,UAAWC,GAAOwlC,MAAM,OACtC,CCKoE,IAC7Du3B,GAAW,SAAAj/D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAAXm8D,GAAW1wD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAmBlB,MAAMk/D,GACE,EADFA,GAEW,EAFXA,GAGK,EAHLA,GAIgB,EAJhBA,GAKa,EALbA,GAMQ,EANRA,GAOK,EAGLC,GAA4B,CAAC,uBAAwB,kBAW3D,SAASC,KACP,MAAM5hE,GAAKi5C,EAAAA,EAAAA,IAAel5C,IACpBG,GAAQ+4C,EAAAA,EAAAA,IAAeh5C,IAIvB4hE,GAAa5oB,EAAAA,EAAAA,IAAe34C,IAC5BwhE,GAAmBC,EAAAA,EAAAA,IAAkBzhE,IAErC0hE,GAAiB5xC,EAAAA,EAAAA,UACrB,IAAMyxC,EAAWziE,QAAQ+iB,GAASA,EAAK+2C,MAAQl5D,EAAG08B,OAClD,CAACmlC,EAAY7hE,EAAG08B,MAGZulC,GAAoBhpB,EAAAA,EAAAA,IAAex4C,IACnCyhE,GAAoBjpB,EAAAA,EAAAA,IAAer4C,KAElCuhE,EAAkBC,IAAuB38D,EAAAA,EAAAA,WAAS,IAClD48D,EAAeC,IAAoB78D,EAAAA,EAAAA,WAAS,IAC5C88D,EAAWC,IAAgB/8D,EAAAA,EAAAA,UAASi8D,IAErCpqC,GAAWC,EAAAA,EAAAA,OACVkrC,EAAYC,EAAcC,GCzE5B,SAAqB3iE,EAAI4iE,GAC9B,MAAOF,EAAcG,IAAmBp9D,EAAAA,EAAAA,UAAS,YAC1Ck9D,EAAcG,IAAmBr9D,EAAAA,EAAAA,UAAS,IAE3Cg9D,GAAaryC,EAAAA,EAAAA,UAAQ,KACzB,MAAM2yC,EAAS,GACf,IAAK,MAAMrmE,KAAKqnD,GACVvmD,MAAMC,QAAQf,EAAEsnD,OAClBtnD,EAAEsnD,KAAKxxB,SAASwwC,IACdD,EAAOx2C,KACLlrB,EAAAA,cAACq9D,EAAAA,GAAK,CACJ9+D,IAAKojE,EAAG/e,KACRA,KAAM+e,EAAG/e,KACTO,MAAOwe,EAAGxe,MACVN,UAAW8e,EAAG9e,WAAaud,KAE9B,IAIP,OAAOsB,CAAM,GACZ,CAAC/iE,IAoBJ,OAlBA0F,EAAAA,EAAAA,YAAU,KACR,IAAK,MAAMhJ,KAAKqnD,GACVvmD,MAAMC,QAAQf,EAAEsnD,OAClBtnD,EAAEsnD,KAAKxxB,SAASwwC,KACAtD,EAAAA,EAAAA,IAAU5pD,OAAOwhB,SAASqoC,SAAU,CAChD1b,KAAM+e,EAAG/e,KACTO,QAASwe,EAAGxe,MACZye,QAAQ,MAGRJ,EAAgB,CAAC,GAAGnmE,EAAEuC,QAAQ+jE,EAAG/jE,SACjC6jE,EAAgB,CAAC,GAAGpmE,EAAEuC,SACxB,GAGN,GACC,CAAC2jE,IAEG,CAACH,EAAYC,EAAcC,EACpC,CD+BmDO,CAAYljE,EAAIs3B,EAASqoC,WACnEwD,EAAWC,IAAgB39D,EAAAA,EAAAA,UAAS,OAEpC49D,EAAuBC,IAA4B79D,EAAAA,EAAAA,WAAS,IAMnEC,EAAAA,EAAAA,YAAU,KACR,GAAI1F,EAAG08B,IAAK,CAQV,GALAvJ,YAAW,K7RjFX/0B,IAEJA,GAASmlE,EAAAA,EAAAA,IAAG,IAAK,CACftf,KAAM,YAGR7lD,EAAO6qB,GAAG,WAAW,KACnBzqB,EAAcJ,EAAO6C,GACrB9D,QAAQoL,IAAI,gBAAiBnK,EAAO6C,IAEpCkyB,YAAW,KACT7B,OAAOC,KAAKhzB,GAAUi0B,SAAS9zB,IAE7BN,EAAOS,KAAK,OAAQ,CAClBH,eACA,GACF,GACD,IAAI,IAGTN,EAAO6qB,GAAG,OAAO,CAACvqB,EAAalC,KAI7B6B,EAAGQ,KAAK,oBAAoBH,IAAelC,EAAK,IAGlD4B,EAAO6qB,GAAG,cAAc,KACtBzqB,EAAc,KACdrB,QAAQoL,IAAI,mBAAmB,IAGjCnK,EAAO6qB,GAAG,SAAU9sB,IAClBgB,QAAQC,MAAM,MAAOjB,EAAI,I6RiDP,GACb,KAGc,IAAb6D,EAAGioC,OAAe/nC,GAAOyL,OAAS,EAEpC,YADA22D,GAAiB,GAKnB,GAAiB,IAAbtiE,EAAGioC,QAAgBjoC,EAAGy5D,MAExB,YADA+I,EAAad,IAIf,GAAiB,IAAb1hE,EAAGioC,OAAejoC,EAAGy5D,OAAwB,IAAfz5D,EAAGwjE,QAEnC,YADAhB,EAAad,IAIf,GAAiB,IAAb1hE,EAAGioC,OAAejoC,EAAGy5D,OAAwB,IAAfz5D,EAAGwjE,QAEnC,YADAhB,EAAad,IAIf,GAAiB,IAAb1hE,EAAGioC,MAEL,YADAu6B,EAAad,KAIG,IAAd1hE,EAAGioC,OACLu6B,EAAad,GAEjB,MAA0B,MAAf1hE,EAAG+gE,QAEZyB,EAAad,IAEbc,EAAad,GACf,GACC,CAAC1hE,EAAG08B,IAAK18B,EAAGy5D,MAAOz5D,EAAGwjE,QAAStjE,EAAM+b,KAAK,OzM7BxC,SAA8BwnD,EAAcrnC,GACjD,MAAMC,GAAgB5nB,EAAAA,EAAAA,WAGtB/O,EAAAA,EAAAA,YAAU,KACR22B,EAAcjnB,QAAUgnB,CAAQ,GAC/B,CAACA,KAGJ12B,EAAAA,EAAAA,YAAU,KACR,SAAS42B,EAAmB5+B,GAC1B2+B,EAAcjnB,QAAQ1X,EACxB,CAEA,IAAK,MAAMgB,KAAe+kE,EAExB/kE,GAAeD,EAAmBC,EAAa49B,GAEjD,MAAO,KACL,IAAK,MAAM59B,KAAe+kE,EAExB/kE,GAAeI,EAAqBJ,EAAa49B,EACnD,CACD,GACA,CAACmnC,EAAaxnD,KAAK,MACxB,CyMSEynD,CACExjE,EAAMwW,KAAKha,GAAM,QAAQA,OACxBgB,IAGC,GAAe,aAAXA,EAAIqH,GACN+8D,EAAiB,CAACpkE,EAAIlB,QAASqlE,SAC1B,GAAe,cAAXnkE,EAAIqH,GAAoB,CACjC,MAAM,KAAEvI,GAASkB,EACXimE,EAAc9B,EAAWziE,QAC5B4B,KAASA,EAAGC,KAAOzE,EAAKyE,IAAMD,EAAG/B,OAASzC,EAAKyC,QAElD6iE,EAAiB6B,EACnB,MAAO,GAAe,iBAAXjmE,EAAIqH,GAAuB,CACpC,MAAM4+D,EAAc9B,EAAWziE,QAAQ4B,GAAOA,EAAG07B,MAAQh/B,EAAIuD,KAC7D6gE,EAAiB6B,EACnB,MAOJj+D,EAAAA,EAAAA,YAAU,KAENi8D,GAA0B91D,SAASiK,OAAOwhB,SAASssC,WAC7B,2BAAtBtsC,EAASqoC,SAETyC,GAAoB,GAGpB3jE,EAAmB,MAAMuB,EAAG08B,OAAQh/B,IACnB,mBAAXA,EAAIqH,IACNuL,SAASgnB,SAAS00B,QACpB,GAEJ,GACC,IAEH,MAgBM6X,EACJxiE,EAAAA,cAAA8+B,EAAAA,EAAA,KACE9+B,EAAAA,cAAA8+B,EAAAA,EAAME,KAAI,CAAC/7B,KAAMjD,EAAAA,cAACo2D,EAAAA,EAAY,MAAKh2D,QAVnBqiE,KAClBR,GAAyB,EAAK,GAS6B,WAGzDjiE,EAAAA,cAAA8+B,EAAAA,EAAM4jC,QAAO,MACb1iE,EAAAA,cAAA8+B,EAAAA,EAAME,KAAI,CAAC/7B,KAAMjD,EAAAA,cAACm9D,EAAAA,EAAc,MAAK/8D,QAlB1BuiE,KACbluD,OAAOwhB,SAASpwB,QAAQ,qBAAqB,GAiBW,UA+B1D,OAAIi7D,EACK9gE,EAAAA,cAACy/D,GAAgB,MAGrBuB,EAcHhhE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAWC,IACjBF,EAAAA,cAAAgjD,EAAAA,EAAQ+b,OAAM,CAAC9+D,UAAWC,GAAegD,MAAO,CAAE0/D,aAAc,KAC9D5iE,EAAAA,cAAC4hD,EAAAA,GAAI,CAACC,GAAG,IAAI5hD,UAAWC,IACtBF,EAAAA,cAACi9D,GAAW,OAEdj9D,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,OAAKC,UAAWC,IAAiB,YACrB,IACVF,EAAAA,cAAC6iE,EAAAA,EAAe,CACd3/D,MAAO,CAAEoe,WAAY,EAAGuO,SAAU,GAAIlrB,MAAO,0BAGjD3E,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAAqkC,EAAAA,EAAA,CACErc,QA9CZhoB,EAAAA,cAAA,OAAKC,UAAWC,IACbygE,EAAetrD,KAAKyL,GACnB9gB,EAAAA,cAAA,OAAKzB,IAAKuiB,EAAKua,IAAKp7B,UAAWC,IAC7BF,EAAAA,cAAA,OAAKC,UAAWC,IAAa4E,IAAMgc,EAAKwjB,KAAK5+B,OAAO,wBACpD1F,EAAAA,cAAA,OAAKC,UAAWC,IAAc4gB,EAAKpgB,KACnCV,EAAAA,cAAA,UAAQG,KAAK,SAASC,QAASA,IAjBlBnE,iBACb6mE,EAAkBljE,EAAG,EAgBgBmjE,CAAajiD,EAAKua,MACrDr7B,EAAAA,cAACo4C,EAAAA,EAAa,WAyCV51C,MACExC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA,YAAM,cACL2gE,GAAgBr2D,OAAS,GACxBtK,EAAAA,cAAA,UAAQG,KAAK,SAASC,QAASA,IA3D3BnE,WACtB,IAAK,MAAM0D,KAAM8a,QAETqoD,EAAkBnjE,EAAG07B,IAC7B,EAuDuD2nC,CAAgBrC,IAAiB,iBAM5EhgE,UAAU,cACVsiE,oBAAkB,GAGlBjjE,EAAAA,cAAAkjE,EAAAA,EAAA,CAAO9gE,KAAK,QAAQ+gE,MAAOxC,EAAer2D,QACxCtK,EAAAA,cAACykC,EAAAA,EAAY,SAInBzkC,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAAA4+B,EAAAA,EAAA,CAAUC,QAAS2jC,EAAWx3B,QAAQ,QAAQrqC,UAAU,eACtDX,EAAAA,cAACojE,EAAAA,EAAY,UAKrBpjE,EAAAA,cAAAgjD,EAAAA,EAAA,KACEhjD,EAAAA,cAAAgjD,EAAAA,EAAQ0b,MAAK,CAACx9D,MAAO,IAAKjB,UAAWC,IACnCF,EAAAA,cAAA8+B,EAAAA,EAAA,CACEvd,KAAK,SACLwd,aAAcsiC,EACdgC,SAAUvB,GAAaR,EACvBrL,aAvHU/lC,IACpB6xC,EAAa7xC,EAAK,EAuHRhtB,MAAO,CAAEjC,OAAQ,SAEhByhD,GACE3kD,QAAQ+iB,KAAWjiB,EAAMoY,MAAM3X,GAAMA,EAAIwhB,EAAKljB,MAAQ0B,EAAIwhB,EAAKljB,KAAO,OACtEyX,KAAKyL,GACJ9gB,EAAAA,cAAA8+B,EAAAA,EAAMwkC,QAAO,CACX/kE,IAAKuiB,EAAKljB,KACVqF,KAAMjD,EAAAA,cAAAkjE,EAAAA,EAAA,CAAOK,IAAK1C,EAAkB//C,EAAKljB,OAAQkjB,EAAK7d,MACtDT,MAAOse,EAAKxe,OAEXwe,EAAK6hC,KACH5kD,QAAQuB,KACFA,EAAEgD,OACAzD,EAAM2L,SAASlL,EAAE1B,QAEzByX,KAAKmuD,GACJxjE,EAAAA,cAAA8+B,EAAAA,EAAME,KAAI,CAACzgC,IAAK,GAAGuiB,EAAKljB,QAAQ4lE,EAAI5lE,QAClCoC,EAAAA,cAAC4hD,EAAAA,GAAI,CAACC,GAAI2hB,EAAI5gB,MACX4gB,EAAIlhE,MAAM,IAACtC,EAAAA,cAAAkjE,EAAAA,EAAA,CAAO9gE,KAAK,QAAQ+gE,MAAOvC,EAAkB4C,EAAI5lE,iBAQ/EoC,EAAAA,cAAAgjD,EAAAA,EAAA,CAAQ/iD,UAAWC,IACjBF,EAAAA,cAACi/D,EAAAA,GAAM,KAAEmC,MAKfphE,EAAAA,cAAC8/D,GAAW,CAACjtD,QAASmvD,EAAuB9gC,QA5InBuiC,KAC5BxB,GAAyB,EAAM,KA8C7BjiE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC4/D,GAAW,CAAC/sD,QAASquD,IAAcb,KACpCrgE,EAAAA,cAAC8/D,GAAW,CAACjtD,QAASquD,IAAcb,KACpCrgE,EAAAA,cAACkgE,GAAoB,CAACrtD,QAASquD,IAAcb,KAC7CrgE,EAAAA,cAAC+/D,GAAkB,CAACltD,QAASquD,IAAcb,KAC3CrgE,EAAAA,cAACmgE,GAAa,CAACttD,QAASquD,IAAcb,KACtCrgE,EAAAA,cAAC6/D,GAAW,CAAChtD,QAASquD,IAAcb,KAyG5C,CAEAE,GAAUh0D,aAAe,CACvB0sD,QAAS,MAGXsH,GAAUl/D,UAAY,CAAC,EAEvB,YEnWA,GAAuB,cAAvB,GAA4C,cCET,IAE5B47D,GAAW,SAAAj/D,GAAA,OAAAgC,EAAAA,cAAA,MAAAhC,EAAAgC,EAAAA,cAAA,QAAAqqC,SAAA,UAAAkuB,SAAA,UAAAn3D,EAAA,6vBAAAN,KAAA,WAGlB,SAAS4iE,IAAY,QAAEzK,IACrB,OACEj5D,EAAAA,cAAA,OAAKC,UAAWC,IACdF,EAAAA,cAACi9D,GAAW,MACZj9D,EAAAA,cAAA6nD,GAAAA,EAAA,CAAMzlD,KAAK,QAAQnC,UAAWC,KAGpC,CAVO+8D,GAAW1wD,aAAA,CAAArL,MAAA,MAAAD,OAAA,KAAAH,KAAA,OAAAK,MAAA,8BAYlBuiE,GAAYn3D,aAAe,CACzB0sD,QAAS,MAGXyK,GAAYriE,UAAY,CACtB43D,QAAS33D,KAAAA,QAGX,YCZAxF,QAAQoL,IAAI,qBAcZ,SAZA,WACE,OACElH,EAAAA,cAAC2jE,EAAAA,GAAU,KACT3jE,EAAAA,cAAC4jE,EAAAA,GAAM,KACL5jE,EAAAA,cAACA,EAAAA,SAAc,CAAC6jE,SAAU7jE,EAAAA,cAAC0jE,GAAW,OACpC1jE,EAAAA,cAACugE,GAAS,QAKpB,GCjBA7jC,EAAAA,EAAAA,QACE18B,EAAAA,cAAA8jE,EAAAA,GAAA,CAAgB/8D,OAAQg9D,EAAAA,GACtB/jE,EAAAA,cAACgkE,GAAG,OAEN/0D,SAASiQ,eAAe,O,gFCXtB+kD,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBl4D,IAAjBm4D,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CACjDvkE,GAAIukE,EACJI,QAAQ,EACRF,QAAS,CAAC,GAUX,OANAG,EAAoBL,GAAU35C,KAAK85C,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG3EI,EAAOC,QAAS,EAGTD,EAAOD,OACf,CAGAH,EAAoBn3D,EAAIy3D,EC5BxBN,EAAoBO,KAAO,CAAC,EzSAxBjqE,EAAW,GACf0pE,EAAoBQ,EAAI,CAAC9oE,EAAQ+oE,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAel/B,IACnB,IAASv7B,EAAI,EAAGA,EAAI7P,EAAS8P,OAAQD,IAAK,CACrCs6D,EAAWnqE,EAAS6P,GAAG,GACvBu6D,EAAKpqE,EAAS6P,GAAG,GACjBw6D,EAAWrqE,EAAS6P,GAAG,GAE3B,IAJA,IAGI06D,GAAY,EACPn6D,EAAI,EAAGA,EAAI+5D,EAASr6D,OAAQM,MACpB,EAAXi6D,GAAsBC,GAAgBD,IAAa50C,OAAOC,KAAKg0C,EAAoBQ,GAAGM,OAAOzmE,GAAS2lE,EAAoBQ,EAAEnmE,GAAKomE,EAAS/5D,MAC9I+5D,EAASM,OAAOr6D,IAAK,IAErBm6D,GAAY,EACTF,EAAWC,IAAcA,EAAeD,IAG7C,GAAGE,EAAW,CACbvqE,EAASyqE,OAAO56D,IAAK,GACrB,IAAIhP,EAAIupE,SACE34D,IAAN5Q,IAAiBO,EAASP,EAC/B,CACD,CACA,OAAOO,CArBP,CAJCipE,EAAWA,GAAY,EACvB,IAAI,IAAIx6D,EAAI7P,EAAS8P,OAAQD,EAAI,GAAK7P,EAAS6P,EAAI,GAAG,GAAKw6D,EAAUx6D,IAAK7P,EAAS6P,GAAK7P,EAAS6P,EAAI,GACrG7P,EAAS6P,GAAK,CAACs6D,EAAUC,EAAIC,EAuBjB,E0S3BdX,EAAoBtlD,EAAK0lD,IACxB,IAAIY,EAASZ,GAAUA,EAAOa,WAC7B,IAAOb,EAAiB,QACxB,IAAM,EAEP,OADAJ,EAAoB9iE,EAAE8jE,EAAQ,CAAE/0C,EAAG+0C,IAC5BA,CAAM,EzSNVxqE,EAAWu1B,OAAOm1C,eAAkBzjE,GAASsuB,OAAOm1C,eAAezjE,GAASA,GAASA,EAAa,UAQtGuiE,EAAoBviB,EAAI,SAASl2C,EAAO8V,GAEvC,GADU,EAAPA,IAAU9V,EAAQ1F,KAAK0F,IAChB,EAAP8V,EAAU,OAAO9V,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAP8V,GAAa9V,EAAM05D,WAAY,OAAO15D,EAC1C,GAAW,GAAP8V,GAAoC,mBAAf9V,EAAM9P,KAAqB,OAAO8P,CAC5D,CACA,IAAI45D,EAAKp1C,OAAOq1C,OAAO,MACvBpB,EAAoB7oE,EAAEgqE,GACtB,IAAIxjE,EAAM,CAAC,EACXpH,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIqZ,EAAiB,EAAPwN,GAAY9V,EAAyB,iBAAXsI,KAAyBtZ,EAAemsD,QAAQ7yC,GAAUA,EAAUrZ,EAASqZ,GACxHkc,OAAOs1C,oBAAoBxxD,GAASod,SAAS5yB,GAASsD,EAAItD,GAAO,IAAOkN,EAAMlN,KAI/E,OAFAsD,EAAa,QAAI,IAAM,EACvBqiE,EAAoB9iE,EAAEikE,EAAIxjE,GACnBwjE,CACR,E0SxBAnB,EAAoB9iE,EAAI,CAACijE,EAASmB,KACjC,IAAI,IAAIjnE,KAAOinE,EACXtB,EAAoB7+D,EAAEmgE,EAAYjnE,KAAS2lE,EAAoB7+D,EAAEg/D,EAAS9lE,IAC5E0xB,OAAOw1C,eAAepB,EAAS9lE,EAAK,CAAEmnE,YAAY,EAAMlnE,IAAKgnE,EAAWjnE,IAE1E,ECND2lE,EAAoBxnD,EAAI,CAAC,EAGzBwnD,EAAoB35C,EAAKo7C,GACjBvqE,QAAQwqE,IAAI31C,OAAOC,KAAKg0C,EAAoBxnD,GAAGrd,QAAO,CAACwmE,EAAUtnE,KACvE2lE,EAAoBxnD,EAAEne,GAAKonE,EAASE,GAC7BA,IACL,KCNJ3B,EAAoBnM,EAAK4N,GAEjB,cAAgBA,EAAU,IAAM,CAAC,IAAM,UAAU,IAAM,WAAWA,GAAW,MCFrFzB,EAAoB4B,SAAYH,IAEf,ECHjBzB,EAAoB6B,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOjgE,MAAQ,IAAIkgE,SAAS,cAAb,EAChB,CAAE,MAAO17C,GACR,GAAsB,iBAAX9V,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxByvD,EAAoB7+D,EAAI,CAAC1D,EAAKC,IAAUquB,OAAOzqB,UAAU0gE,eAAe17C,KAAK7oB,EAAKC,G9SA9EjH,EAAa,CAAC,EACdC,EAAoB,0BAExBspE,EAAoBhuB,EAAI,CAACh7C,EAAK4T,EAAMvQ,EAAKonE,KACxC,GAAGhrE,EAAWO,GAAQP,EAAWO,GAAKgwB,KAAKpc,OAA3C,CACA,IAAIE,EAAQm3D,EACZ,QAAWl6D,IAAR1N,EAEF,IADA,IAAI6nE,EAAUn3D,SAASiY,qBAAqB,UACpC7c,EAAI,EAAGA,EAAI+7D,EAAQ97D,OAAQD,IAAK,CACvC,IAAIg8D,EAAID,EAAQ/7D,GAChB,GAAGg8D,EAAEl3D,aAAa,QAAUjU,GAAOmrE,EAAEl3D,aAAa,iBAAmBvU,EAAoB2D,EAAK,CAAEyQ,EAASq3D,EAAG,KAAO,CACpH,CAEGr3D,IACHm3D,GAAa,GACbn3D,EAASC,SAASG,cAAc,WAEzBk3D,QAAU,QACjBt3D,EAAOu3D,QAAU,IACbrC,EAAoBsC,IACvBx3D,EAAOK,aAAa,QAAS60D,EAAoBsC,IAElDx3D,EAAOK,aAAa,eAAgBzU,EAAoB2D,GAExDyQ,EAAOV,IAAMpT,GAEdP,EAAWO,GAAO,CAAC4T,GACnB,IAAI23D,EAAmB,CAACC,EAAMj3D,KAE7BT,EAAO23D,QAAU33D,EAAOuC,OAAS,KACjCq1D,aAAaL,GACb,IAAIM,EAAUlsE,EAAWO,GAIzB,UAHOP,EAAWO,GAClB8T,EAAO8nC,YAAc9nC,EAAO8nC,WAAW5N,YAAYl6B,GACnD63D,GAAWA,EAAQ11C,SAASyzC,GAAQA,EAAGn1D,KACpCi3D,EAAM,OAAOA,EAAKj3D,EAAM,EAExB82D,EAAUz0C,WAAW20C,EAAiB3gE,KAAK,UAAMmG,EAAW,CAAE9L,KAAM,UAAWwD,OAAQqL,IAAW,MACtGA,EAAO23D,QAAUF,EAAiB3gE,KAAK,KAAMkJ,EAAO23D,SACpD33D,EAAOuC,OAASk1D,EAAiB3gE,KAAK,KAAMkJ,EAAOuC,QACnD40D,GAAcl3D,SAAS4jC,KAAKtjC,YAAYP,EApCkB,CAoCX,E+SvChDk1D,EAAoB7oE,EAAKgpE,IACH,oBAAXyC,QAA0BA,OAAOC,aAC1C92C,OAAOw1C,eAAepB,EAASyC,OAAOC,YAAa,CAAEt7D,MAAO,WAE7DwkB,OAAOw1C,eAAepB,EAAS,aAAc,CAAE54D,OAAO,GAAO,ECL9Dy4D,EAAoB8C,IAAO1C,IAC1BA,EAAO2C,MAAQ,GACV3C,EAAOvkE,WAAUukE,EAAOvkE,SAAW,IACjCukE,GCHRJ,EAAoB32B,EAAI,I,MCAxB22B,EAAoB9wC,EAAInkB,SAASi4D,SAAWC,KAAKlxC,SAASjQ,KAK1D,IAAIohD,EAAkB,CACrB,IAAK,GAGNlD,EAAoBxnD,EAAE9R,EAAI,CAAC+6D,EAASE,KAElC,IAAIwB,EAAqBnD,EAAoB7+D,EAAE+hE,EAAiBzB,GAAWyB,EAAgBzB,QAAW15D,EACtG,GAA0B,IAAvBo7D,EAGF,GAAGA,EACFxB,EAAS36C,KAAKm8C,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIlsE,SAAQ,CAACsB,EAASqT,IAAYs3D,EAAqBD,EAAgBzB,GAAW,CAACjpE,EAASqT,KAC1G81D,EAAS36C,KAAKm8C,EAAmB,GAAKC,GAGtC,IAAIpsE,EAAMgpE,EAAoB32B,EAAI22B,EAAoBnM,EAAE4N,GAEpD5pE,EAAQ,IAAIf,MAgBhBkpE,EAAoBhuB,EAAEh7C,GAfFuU,IACnB,GAAGy0D,EAAoB7+D,EAAE+hE,EAAiBzB,KAEf,KAD1B0B,EAAqBD,EAAgBzB,MACRyB,EAAgBzB,QAAW15D,GACrDo7D,GAAoB,CACtB,IAAIE,EAAY93D,IAAyB,SAAfA,EAAMtP,KAAkB,UAAYsP,EAAMtP,MAChEqnE,EAAU/3D,GAASA,EAAM9L,QAAU8L,EAAM9L,OAAO2K,IACpDvS,EAAMQ,QAAU,iBAAmBopE,EAAU,cAAgB4B,EAAY,KAAOC,EAAU,IAC1FzrE,EAAM8U,KAAO,iBACb9U,EAAMoE,KAAOonE,EACbxrE,EAAM0rE,QAAUD,EAChBH,EAAmB,GAAGtrE,EACvB,CACD,GAEwC,SAAW4pE,EAASA,EAE/D,CACD,EAWFzB,EAAoBQ,EAAE95D,EAAK+6D,GAA0C,IAA7ByB,EAAgBzB,GAGxD,IAAI+B,EAAuB,CAACC,EAA4BxsE,KACvD,IAKIgpE,EAAUwB,EALVhB,EAAWxpE,EAAK,GAChBysE,EAAczsE,EAAK,GACnB0sE,EAAU1sE,EAAK,GAGIkP,EAAI,EAC3B,GAAGs6D,EAASmD,MAAMloE,GAAgC,IAAxBwnE,EAAgBxnE,KAAa,CACtD,IAAIukE,KAAYyD,EACZ1D,EAAoB7+D,EAAEuiE,EAAazD,KACrCD,EAAoBn3D,EAAEo3D,GAAYyD,EAAYzD,IAGhD,GAAG0D,EAAS,IAAIjsE,EAASisE,EAAQ3D,EAClC,CAEA,IADGyD,GAA4BA,EAA2BxsE,GACrDkP,EAAIs6D,EAASr6D,OAAQD,IACzBs7D,EAAUhB,EAASt6D,GAChB65D,EAAoB7+D,EAAE+hE,EAAiBzB,IAAYyB,EAAgBzB,IACrEyB,EAAgBzB,GAAS,KAE1ByB,EAAgBzB,GAAW,EAE5B,OAAOzB,EAAoBQ,EAAE9oE,EAAO,EAGjCmsE,EAAqBZ,KAAyC,mCAAIA,KAAyC,oCAAK,GACpHY,EAAmB52C,QAAQu2C,EAAqB5hE,KAAK,KAAM,IAC3DiiE,EAAmB78C,KAAOw8C,EAAqB5hE,KAAK,KAAMiiE,EAAmB78C,KAAKplB,KAAKiiE,G,KCpFvF,IAAIC,EAAsB9D,EAAoBQ,OAAEz4D,EAAW,CAAC,MAAM,IAAOi4D,EAAoB,SAC7F8D,EAAsB9D,EAAoBQ,EAAEsD,E","sources":["webpack://kyb-system-next-client/webpack/runtime/chunk loaded","webpack://kyb-system-next-client/webpack/runtime/create fake namespace object","webpack://kyb-system-next-client/webpack/runtime/load script","webpack://kyb-system-next-client/./src/api/index.js","webpack://kyb-system-next-client/./src/api/NotifyHideById.js","webpack://kyb-system-next-client/./src/api/sio.js","webpack://kyb-system-next-client/./src/api/AnyList.js","webpack://kyb-system-next-client/./src/api/MeGet.js","webpack://kyb-system-next-client/./src/state/panel-state.js","webpack://kyb-system-next-client/./src/state/notify-state.js","webpack://kyb-system-next-client/./src/api/GTolltipGet.js","webpack://kyb-system-next-client/./src/app/components/GTooltip/styles.scss","webpack://kyb-system-next-client/./src/app/components/GTooltip/GTooltip.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/constants.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/styles.scss","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/xdf-get-value.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/xdf-set-value.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFButton.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFCheckbox.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFColor.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/dayjs-ru-generator.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/DayJsDatePicker.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFDateRangePicker.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFDateTimePicker.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFDivider.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFDividerWithCheckbox.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFEmail.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataGallery/styles.scss","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataGallery/SortableItem.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/xdf-hooks.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFUploadBase64.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataGallery/UploadItemWithCrop.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataGallery/XDataGallery.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFGalleryUpload.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFGeocoder.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFLatLng.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFModalTableForm.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFNumber.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFPhone.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFPhoneSmsCode.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFPictureUpload.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFSearch.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFSelect.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFShowDateTime.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/utils/xd-pretty-bytes.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFShowFileSize.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFShowText.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFSwitch.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFTableSimple.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFTags.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFText.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFTextarea.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/DayJsTimePicker.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFTimePicker.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/xdf-utils.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFUploadBigFile.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFUrl.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/xdf-jodit.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFWysiwyg2.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFNumberMinMax.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFVideo.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFTimeRange.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFPassword.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFSwitch3.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDFRadio.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/deepClone.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/index.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/styles.scss","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/xdt-hooks.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/XDTExportToExcel.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/index.jsx","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataTable/XDImportExcelFile.jsx","webpack://kyb-system-next-client/./src/app/constants.js","webpack://kyb-system-next-client/./src/app/components/Common/WarningDialog.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Cross/CrossEditDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Cross/styles.scss","webpack://kyb-system-next-client/./src/app/components/Common/styles.scss","webpack://kyb-system-next-client/./src/app/components/Common/NotifyPopup.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Cross/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Cross/CrossList.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Analog/AnalogEditDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Analog/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Analog/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Characters/SpecEditDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Characters/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Characters/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/IFrame/IframeEditDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/IFrame/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Catalogs/IFrame/table-defs.jsx","webpack://kyb-system-next-client/./src/app/utils/hooks.js","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataUpload/styles.scss","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataUpload/XDataUpload.jsx","webpack://kyb-system-next-client/./src/api/AnyGet.js","webpack://kyb-system-next-client/./src/api/AnyPropList.js","webpack://kyb-system-next-client/./src/app/pages/News/NewProducts/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Main/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Main/MainCatalogEditDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Main/styles.scss","webpack://kyb-system-next-client/./src/api/EmailTemplateGet.js","webpack://kyb-system-next-client/./src/api/EmailTemplateRemove.js","webpack://kyb-system-next-client/./src/api/EmailTemplateSave.js","webpack://kyb-system-next-client/./src/api/EmailTemplateSend.js","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/editor-help.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/EmailTemplatePreviewDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/emails-editor-hooks.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Files/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Common/Files/CommonFiles.jsx","webpack://kyb-system-next-client/./src/api/GTolltipSet.js","webpack://kyb-system-next-client/./src/app/pages/Common/Tooltips/styles.scss","webpack://kyb-system-next-client/./src/app/components/xdf-antd/XDataForm/XDataFormDialog.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/KSBannerLeft.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/KSBannerMainPage.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/KSBannerTopRight.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/KSBannerTopRight2.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Bulletin/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Catalogs/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Experts/styles.scss","webpack://kyb-system-next-client/./src/app/utils/copy2clipboard.js","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/blocks-forms.js","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/styles.scss","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/KybBlockPicsDlg.jsx","webpack://kyb-system-next-client/./src/app/utils/utils.js","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/KybBlockYoutubeDlg.jsx","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/SortableBlockItem.jsx","webpack://kyb-system-next-client/./src/app/components/KybPageBlocksEditor/KybPageBlocksEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Experts/KybSiteExpertsEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/FAQ/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/History/KybHistoryEditorDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/History/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Installations/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Installations/KybSiteInstallationsEditor.jsx","webpack://kyb-system-next-client/./src/api/SiteMetaSet.js","webpack://kyb-system-next-client/./src/app/pages/KybSite/Meta/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/News/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/News/KybSiteNewsEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/KybSiteProductElements.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/KybSiteProductFiles.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/KybSiteProductEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Series/KybSeriesEditorDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Series/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/SitePages/styles.scss","webpack://kyb-system-next-client/./src/app/pages/KybSite/SitePages/KybSitePages.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Video/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Map/Analytics/styles.scss","webpack://kyb-system-next-client/./src/api/MapAnalytics.js","webpack://kyb-system-next-client/./src/app/pages/Map/Analytics/KybMapAnalyticsByKey.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Analytics/KybMapAnalyticsTop20PI.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Analytics/MapAnalytics.jsx","webpack://kyb-system-next-client/./src/api/MapSettings.js","webpack://kyb-system-next-client/./src/state/map-state.js","webpack://kyb-system-next-client/./src/app/components/Map/KybMap.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/ObjectEditor/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Map/ObjectEditor/utils.js","webpack://kyb-system-next-client/./src/api/MapObjectSet.js","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/MapObjectsMassChange.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/MapObjectUploadDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/MapSetsCategoriesDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/MapSetsPropsDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/MapSetsDictsDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/MapSetsIconsDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/MapSettings.jsx","webpack://kyb-system-next-client/./src/state/webinar1-state.js","webpack://kyb-system-next-client/./src/app/pages/News/NewProducts/styles.scss","webpack://kyb-system-next-client/./src/app/pages/News/NewProducts/NewProductsInAssortmentEditor.jsx","webpack://kyb-system-next-client/./src/api/UserSet.js","webpack://kyb-system-next-client/./src/api/UserStateSet.js","webpack://kyb-system-next-client/./src/app/pages/Users/Users/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Users/Users/access/KybStaffAccessDialog.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/Users/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersBlocked/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Users/UsersBlocked/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersBlocked/UserUnblockDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersNew/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Users/UsersNew/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersNew/UserAuthorizationDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/WebinarsTestPreview.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/webinar_constants.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/WebinarsCertEditorDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/WebinarsEventResults0.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/WebinarEventEditor.jsx","webpack://kyb-system-next-client/./src/api/Webinar3EventList.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/WebinarsTestAnswerEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Dialogs/events-list.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Dialogs/WebinarsEventsWithTest.jsx","webpack://kyb-system-next-client/./src/api/Webinar3TestList.js","webpack://kyb-system-next-client/./src/api/W3UserList.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Users/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Webinars/Dialogs/WebinarsAddUsersToEventDlg.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Users/WebinarsUserViewer.jsx","webpack://kyb-system-next-client/./src/app/pages/WebinarsV1/styles.scss","webpack://kyb-system-next-client/./src/app/pages/WebinarsV1/table-defs.js","webpack://kyb-system-next-client/./src/routes.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Tooltips/CommonGTooltipList.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Tooltips/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/CommonEmailEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/CommonEmailList.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Emails/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Common/Files/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersNew/UsersNew.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/Users/Users.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/Users/UserAccessEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/Users/UsersBlocked/UsersBlocked.jsx","webpack://kyb-system-next-client/./src/app/pages/News/NewProducts/NewProductsInAssortment.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/News/KybSiteNews.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/News/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Main/MainCatalogList.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Analog/AnalogList.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/Characters/SpecList.jsx","webpack://kyb-system-next-client/./src/app/pages/Catalogs/IFrame/IframeList.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/MapObjectsList.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/MapNewObjectsList.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/ObjectEditor/MapObjectEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Objects/MapCommentsList.jsx","webpack://kyb-system-next-client/./src/app/pages/Map/Settings/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Meta/KybSiteMeta.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Meta/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/History/KybHistory.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/History/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Series/KybSeries.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Series/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Product/KybSiteProduct.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Catalogs/KybSiteCatalogs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Catalogs/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Bulletin/KybSiteBulletins.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Bulletin/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/FAQ/KybSiteFAQList.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/FAQ/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Video/KybSiteVideoList.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Video/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Installations/KybSiteInstallations.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Installations/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Experts/KybSiteExperts.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Experts/table-defs.jsx","webpack://kyb-system-next-client/./src/app/pages/KybSite/Banners/KybSiteBanners.jsx","webpack://kyb-system-next-client/./src/app/pages/WebinarsV1/WebinarsV1List.jsx","webpack://kyb-system-next-client/./src/app/pages/WebinarsV1/WebinarsV1Settings.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Users/WebinarsUsersList.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Users/table-defs.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/WebinarsTestsList.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/table-defs.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Tests/WebinarsTestEditor.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/WebinarsEventsList.jsx","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/table-defs.js","webpack://kyb-system-next-client/./src/app/pages/Webinars/Events/WebinarEventResults1.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/KybLoginDialog/styles.scss","webpack://kyb-system-next-client/./src/app/components/Dialogs/KybLoginDialog/KybLoginPhoneDialog.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/KybLoginDialog/KybLoginSmsCodeDialog.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/KybLoginDialog/KybLoginDialog.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Common/user-form.js","webpack://kyb-system-next-client/./src/app/pages-connect/Common/Webinars3UserForm.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Home-Public/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/Home-Public/Webinars3ConnectHeader.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Home-Public/Webinars3StopDialogs.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Home-Public/Webinars3ConnectHome.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/W3Test/Run/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Active/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Active/W3EventCard.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Available/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Available/W3AvailableEventCard.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Finished/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Finished/W3FinishedEventCard.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Common/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/Home/styles.scss","webpack://kyb-system-next-client/./src/app/pages-connect/Common/Webinars3MainFrame.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Home/Webinars3UserProfile.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Common/Webinars3UserLogout.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Active/WebinarEventsActiveList.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/W3Test/Run/W3TestRun.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Finished/WebinarEventsFinishedList.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/WebinarEvents/Available/WebinarEventsAvailableList.jsx","webpack://kyb-system-next-client/./src/app/pages-connect/Common/Webinars3Connect.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/LoginDialog.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/styles.scss","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/UserBlocked.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/UserProfile.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/UserEmailConfirmed.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/UserWaitEmailConfirm.jsx","webpack://kyb-system-next-client/./src/app/components/Dialogs/UserProfile/UserWaitRoles.jsx","webpack://kyb-system-next-client/./src/app/components/MainFrame/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Null/styles.scss","webpack://kyb-system-next-client/./src/app/pages/Null/Null.jsx","webpack://kyb-system-next-client/./src/app/components/MainFrame/MainFrame.jsx","webpack://kyb-system-next-client/./src/app/components/MainFrame/useMainMenu.jsx","webpack://kyb-system-next-client/./src/app/components/SiteLoading/styles.scss","webpack://kyb-system-next-client/./src/app/components/SiteLoading/SiteLoading.jsx","webpack://kyb-system-next-client/./src/app/App.jsx","webpack://kyb-system-next-client/./src/index.jsx","webpack://kyb-system-next-client/webpack/bootstrap","webpack://kyb-system-next-client/webpack/runtime/amd options","webpack://kyb-system-next-client/webpack/runtime/compat get default export","webpack://kyb-system-next-client/webpack/runtime/define property getters","webpack://kyb-system-next-client/webpack/runtime/ensure chunk","webpack://kyb-system-next-client/webpack/runtime/get javascript chunk filename","webpack://kyb-system-next-client/webpack/runtime/get mini-css chunk filename","webpack://kyb-system-next-client/webpack/runtime/global","webpack://kyb-system-next-client/webpack/runtime/hasOwnProperty shorthand","webpack://kyb-system-next-client/webpack/runtime/make namespace object","webpack://kyb-system-next-client/webpack/runtime/node module decorator","webpack://kyb-system-next-client/webpack/runtime/publicPath","webpack://kyb-system-next-client/webpack/runtime/jsonp chunk loading","webpack://kyb-system-next-client/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"kyb-system-next-client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import { message } from 'antd';\nimport axios from 'axios';\n\n/**\n * Генерация ошибки (сообщения)\n * @param errCode\n * @returns {Error}\n * @constructor\n */\nexport const ApiError = (err, errmsg) =>\n new Error(`Network API error: ${err}${errmsg ? ` -> ${errmsg}` : ''}`);\n\n/**\n * Создать правильный конфиг для axios\n * @returns {{baseURL: string, headers: {}}}\n */\nexport const getAxiosConfig = () => {\n const axiosConfig = {\n baseURL: '/api/1',\n headers: {},\n };\n\n // если есть токен, добавить его в header\n // if (getApiToken()) {\n // axiosConfig.headers['access-token'] = getApiToken();\n // }\n\n return axiosConfig;\n};\n\n/**\n * Создать правильный конфиг для axios\n * @returns {{baseURL: string, headers: {}}}\n */\nexport const getAxiosConfig2 = () => {\n const axiosConfig = {\n baseURL: '/api/2',\n headers: {},\n };\n\n // если есть токен, добавить его в header\n // if (getApiToken()) {\n // axiosConfig.headers['access-token'] = getApiToken();\n // }\n\n return axiosConfig;\n};\n\n/**\n * Сделать POST запрос к серверу\n * @param url\n * @param data\n * @returns {AxiosPromise}\n * @constructor\n */\nexport const apiPostRaw = (url, data) => axios.post(url, data, getAxiosConfig());\n\n/**\n * Запрос сервера с разбором статуса ответа (200)\n * @param {*} url\n * @param {*} data\n */\nexport const apiPost = (url, data = {}) =>\n new Promise((r) => {\n apiPostRaw(url, { ...data /* , _tt_: getTerminalToken() */ }).then((result) => {\n if (result.status === 200) {\n r(result.data);\n } else {\n console.error('HTTP Error', result);\n }\n });\n });\n\nexport const apiPostData = async (url, params = {}) => {\n const { err, errmsg, data } = await apiPost(url, params);\n if (err !== 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n throw ApiError(err, errmsg);\n }\n return data;\n};\n\n/**\n * Сделать GET запрос к серверу (необходимо указать полный URL с доменом)\n * @param url\n * @param params\n * @returns {Promise}\n * @constructor\n */\nexport const apiPureGet = (url, params = {}) => axios.get(url, { params });\n\n/**\n * Выполнить POST запрос к серверу API v2\n * @param {string} route\n * @param {object} data\n */\nexport const netPOSTv2 = async (route, data) =>\n new Promise((resolve) => {\n axios\n .post(route, data, getAxiosConfig2())\n .then((response) => {\n const rsd = response.data;\n if (rsd.err === 0) {\n resolve({ err: 0, data: rsd.data });\n } else {\n resolve({ err: rsd.err, errmsg: rsd.errmsg });\n }\n })\n .catch((error) => {\n /* eslint-disable no-console */\n console.error(error);\n resolve({ err: -1 });\n });\n });\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiNotifyHideById = async (notifyId) => {\n const { err, errmsg } = await apiPost('/notify/hide/byid', { notifyId });\n if (err !== 0) throw ApiError(err, errmsg);\n return;\n};\nexport default apiNotifyHideById;\n","/* eslint-disable no-unused-expressions */\nimport io from 'socket.io-client';\nimport EventEmitter from 'wolfy87-eventemitter';\n\nlet socket = null;\nconst ee = new EventEmitter();\nconst channels = {};\nlet sioSocketId = null;\n\nexport const getSioId = () => sioSocketId;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const initSocketIO = () => {\n if (socket) return;\n\n socket = io('/', {\n path: '/kyb-ws',\n });\n\n socket.on('connect', () => {\n sioSocketId = socket.id;\n console.log('SIO - connect', socket.id);\n\n setTimeout(() => {\n Object.keys(channels).forEach((channelName) => {\n // console.log('subscribeToChannel', channelName);\n socket.emit('E2CH', {\n channelName,\n });\n });\n }, 500);\n });\n\n socket.on('MSG', (channelName, data) => {\n // if (data._sid === socket.id) return;\n\n // console.log('SIO - MSG', channelName, data);\n ee.emit(`MessageInChannel:${channelName}`, data);\n });\n\n socket.on('disconnect', () => {\n sioSocketId = null;\n console.log('SIO - disconnect');\n });\n\n socket.on('error', (err) => {\n console.error('SIO', err);\n });\n};\n\n/**\n * Подписаться на канал\n * @param {*} channelName\n * @param {*} listener\n */\nexport const subscribeToChannel = (channelName, listener) => {\n ee.addListener(`MessageInChannel:${channelName}`, listener);\n if (!channels[channelName]) channels[channelName] = 1;\n else channels[channelName] += 1;\n\n if (socket && channels[channelName] === 1) {\n // console.log('subscribeToChannel', channelName);\n socket.emit('E2CH', {\n channelName,\n });\n }\n};\n\n/**\n * Отписаться от канала\n * @param {*} channelName\n * @param {*} listener\n */\nexport const unsubscribeToChannel = (channelName, listener) => {\n ee.removeListener(`MessageInChannel:${channelName}`, listener);\n if (channels[channelName] > 0) channels[channelName] -= 1;\n\n if (socket && channels[channelName] === 0) {\n // console.log('unsubscribeToChannel', channelName);\n socket.emit('LVCH', {\n channelName,\n });\n }\n};\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nfunction apiAnyList(collection, role = 0) {\n return async (page, pageSize, filter, props, sortProp, sortOrder, searchProps) => {\n const { err, errmsg, data } = await apiPost('/any/list', {\n collection,\n role,\n page,\n pageSize,\n filter,\n props,\n sortProp,\n sortOrder,\n schProps: searchProps,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n };\n}\n\nexport default apiAnyList;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiMeGet = async () => {\n const { err, errmsg, data } = await apiPost('/me/get', {});\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n};\nexport default apiMeGet;\n","import { selector } from 'recoil';\nimport apiMeGet from '../api/MeGet';\n\nexport const panelState = selector({\n key: '__panel__',\n get: async ({ get }) => {\n const response = await apiMeGet();\n\n // const { notifications } = response;\n // console.log('notifications', notifications);\n // const setTodoList = useSetRecoilState(notifyListState);\n // setTodoList(notifications);\n\n return response;\n },\n});\n\nexport const meState = selector({\n key: '__me__',\n get: ({ get }) => {\n const { me } = get(panelState);\n return me;\n },\n});\n\nexport const rolesState = selector({\n key: '__roles__',\n get: ({ get }) => {\n const { roles } = get(panelState);\n return roles;\n },\n});\n\nexport const configState = selector({\n key: '__config__',\n get: ({ get }) => {\n const { config } = get(panelState);\n return config;\n },\n});\n\nexport const notificationsInitState = selector({\n key: '__notify_init__',\n get: ({ get }) => {\n // const todoList = useRecoilValue(notifyListState);\n // console.log('todoList', todoList);\n\n const { notifications } = get(panelState);\n return notifications;\n },\n});\n","/* eslint-disable no-param-reassign */\nimport { atom, selector, selectorFamily } from 'recoil';\n\nimport { notificationsInitState } from './panel-state';\n\n/**\n * Хранение списка оповещений\n */\nexport const notifyListState = atom({\n key: 'notifyListState',\n default: notificationsInitState,\n});\n\n/**\n * Запрос объекта role => notify count\n */\nexport const notifyCountByRoleState = selector({\n key: 'notifyCountByRoleState',\n get: ({ get }) => {\n const notiList = get(notifyListState);\n return notiList.reduce((r, x) => {\n if (!r[x.role]) r[x.role] = 1;\n else r[x.role] += 1;\n return r;\n }, {});\n },\n});\n\n/**\n * Запрос соотв естьли в групповой роли оповещения\n */\nexport const notifyByRoleGroupState = selector({\n key: 'notifyByRoleGroupState',\n get: ({ get }) => {\n const notiList = get(notifyListState);\n return notiList.reduce((r, x) => {\n const groupRole = x.role - (x.role % 100);\n if (!r[groupRole]) r[groupRole] = true;\n return r;\n }, {});\n },\n});\n\n/**\n * Запрос последних сообщений для ID для роли\n */\nexport const notifyLastForRoleState = selectorFamily({\n key: 'notifyLastForRoleState',\n get:\n (role) =>\n ({ get }) => {\n const notiList = get(notifyListState);\n return notiList\n .filter((it) => it.role === role)\n .reduce((r, x) => {\n if (!r[x.id]) r[x.id] = x;\n return r;\n }, {});\n },\n});\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiGTolltipGet = async (tid) => {\n const { err, errmsg, data } = await apiPost('/tooltip/get', { tid });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n};\nexport default apiGTolltipGet;\n","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"main__C3StP\"};","import React from 'react';\n\nimport { notification } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport apiGTolltipGet from '../../../api/GTolltipGet';\nimport styles from './styles.scss';\n\nfunction GTooltip({ tid, children }) {\n async function showTooltip() {\n const tt = await apiGTolltipGet(tid);\n notification.info({\n message: 'Подсказка',\n description: tt.txt,\n placement: 'topLeft',\n duration: 16,\n });\n }\n\n return (\n \n {children}\n \n \n );\n}\n\nGTooltip.propTypes = {\n tid: PropTypes.string.isRequired,\n children: PropTypes.any.isRequired,\n};\n\nexport default GTooltip;\n","export const DEFAULT_DATEFORMAT = 'DD.MM.YYYY';\nexport const DEFAULT_TIMEFORMAT = 'HH:mm';\n","// extracted by mini-css-extract-plugin\nexport default {\"xDataForm\":\"xDataForm__sA71U\",\"formItem\":\"formItem__ORJFi\",\"formItemLabel\":\"formItemLabel__qpRZD\",\"formItemField\":\"formItemField__SfUIe\",\"nullDiv\":\"nullDiv__VVGwP\",\"labelWrap\":\"labelWrap___2_h6\",\"dividerItem\":\"dividerItem__MJQ7u\",\"chbh\":\"chbh__TFSkV\",\"wysiwygEditor\":\"wysiwygEditor__rZOHh\",\"itemsFlex\":\"itemsFlex__ELKg0\",\"flexItem\":\"flexItem__DPJ2y\",\"flexDiv\":\"flexDiv__TMHYc\",\"videoBlk\":\"videoBlk__aRCO5\",\"colorBlock\":\"colorBlock___mQ_U\",\"colorEl\":\"colorEl__zSU2c\",\"colorPopover\":\"colorPopover__tpmPV\",\"colorClover\":\"colorClover__AHqvB\",\"checkbox\":\"checkbox__UY7bV\",\"selectNotShow\":\"selectNotShow__pLBDW\",\"invalidUrl\":\"invalidUrl__Uva6T\",\"showOnly\":\"showOnly__RU7Jg\",\"autocomplete\":\"autocomplete__ItKnS\",\"pointNumber\":\"pointNumber__ne5WS\",\"removePoint\":\"removePoint__GJk7S\",\"switchPoint\":\"switchPoint__wc4Eo\",\"withPointNumber\":\"withPointNumber__mzYBW\",\"withRemoveBtn\":\"withRemoveBtn__S2dYe\",\"showDateTime\":\"showDateTime__nYYky\",\"showFileSize\":\"showFileSize__Z69w0\",\"small\":\"small__MMdLq\",\"large\":\"large__LdeA3\",\"smsCodeField\":\"smsCodeField__ReKp1\",\"inlineFormMode\":\"inlineFormMode__RS0Nd\",\"uploadBigFile\":\"uploadBigFile__f4RN7\",\"uploadProgress\":\"uploadProgress___ftMO\",\"bar\":\"bar__C9GD9\",\"uploadPicBase64\":\"uploadPicBase64__CbNm0\",\"remove\":\"remove__BCtDi\",\"wysiwyg\":\"wysiwyg__x_mle\",\"wysiwyg4\":\"wysiwyg4__Ht9sF\",\"simpleTable\":\"simpleTable__gm_B7\",\"simpleTableCell\":\"simpleTableCell__VjQWt\"};","import getValue from 'get-value';\n\n/**\n * Работа как с plain props & dots\n * @param {*} obj\n * @param {*} prop\n * @param {*} def\n * @param {*} plain\n * @returns\n */\nconst xdfGetValue = (obj, prop, def, plain = false) => {\n if (!plain) return getValue(obj, prop, def);\n return obj[prop] || def;\n};\n\nexport default xdfGetValue;\n","import setValue from 'set-value';\n\n/**\n * Работа как с plain props & dots\n * @param {*} obj\n * @param {*} prop\n * @param {*} def\n * @param {*} plain\n * @returns\n */\nconst xdfSetValue = (obj, prop, val, plain = false) => {\n if (!plain) setValue(obj, prop, val);\n // eslint-disable-next-line no-param-reassign\n else obj[prop] = val;\n};\n\nexport default xdfSetValue;\n","import React from 'react';\n\nimport { Button, Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFButton({ it, size, model }) {\n const { id, label, hideLabel, title, btnIcon, span, readOnly, onClick, width } = it;\n\n return (\n \n
\n {!hideLabel && (\n
\n \n
\n )}\n
\n onClick(model)}\n >\n {title}\n \n
\n
\n \n );\n}\n\nXDFButton.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n hideLabel: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n btnIcon: PropTypes.element,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n width: PropTypes.string,\n }).isRequired,\n model: PropTypes.shape({}).isRequired,\n size: PropTypes.string.isRequired,\n};\n\nexport default XDFButton;\n","import React from 'react';\n\nimport { Checkbox, Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFCheckbox({ it, size, model, onPropChanged }) {\n const { id, prop, label, title, boolType, autoFocus, span, readOnly } = it;\n\n const onChange = (ev) => {\n let val = !!ev.target.checked;\n if (!boolType) val = val ? 1 : 0;\n onPropChanged(it, val);\n };\n\n const val = gv(model, prop, boolType ? false : 0);\n return (\n \n
\n {!!title && (\n
\n \n
\n )}\n \n \n {label}\n \n
\n \n \n );\n}\n\nXDFCheckbox.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n boolType: PropTypes.bool,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFCheckbox;\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useEffect, useState } from 'react';\n\nimport { Col, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\n\nimport styles from './styles.scss';\n\nfunction XDFColor({ it, size, model, onPropChanged }) {\n const { id, prop, label, colorType, span, showOnly, require, tooltip } = it;\n\n const [showPicker, setShowPicker] = useState(false);\n\n useEffect(() => {\n setShowPicker(false);\n }, []);\n\n const onColorChange = (color) => {\n onPropChanged(it, color[colorType || 'hex']);\n };\n\n const onShowPicker = () => {\n setShowPicker(true);\n };\n\n const onClosePicker = () => {\n setShowPicker(false);\n };\n\n const val = gv(model, prop, '#000000');\n return (\n \n
\n
\n \n
\n \n \n
\n
\n
\n\n {showPicker ? (\n
\n
\n \n
\n ) : null}\n
\n \n
\n \n );\n}\n\nXDFColor.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n require: PropTypes.bool,\n onEnter: PropTypes.func,\n tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n colorType: PropTypes.string,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFColor;\n","import dayjs from 'dayjs';\nimport weekday from 'dayjs/plugin/weekday';\nimport localeData from 'dayjs/plugin/localeData';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\n\ndayjs.extend((o, c) => {\n // todo support Wo (ISO week)\n const proto = c.prototype;\n const oldFormat = proto.format;\n proto.format = function f(formatStr) {\n const str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\nconst localeMap = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr', // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw',\n};\n\nconst parseLocale = (locale) => {\n const mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nconst parseNoMatchNotice = () => {\n /* istanbul ignore next */\n console.log(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nconst generateConfig = {\n // get\n getNow: () => dayjs(),\n getFixedDate: (string) => dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']),\n getEndDate: (date) => date.endOf('month'),\n getWeekDay: (date) => {\n const clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: (date) => date.year(),\n getMonth: (date) => date.month(),\n getDate: (date) => date.date(),\n getHour: (date) => date.hour(),\n getMinute: (date) => date.minute(),\n getSecond: (date) => date.second(),\n\n // set\n addYear: (date, diff) => date.add(diff, 'year'),\n addMonth: (date, diff) => date.add(diff, 'month'),\n addDate: (date, diff) => date.add(diff, 'day'),\n setYear: (date, year) => date.year(year),\n setMonth: (date, month) => date.month(month),\n setDate: (date, num) => date.date(num),\n setHour: (date, hour) => date.hour(hour),\n setMinute: (date, minute) => date.minute(minute),\n setSecond: (date, second) => date.second(second),\n\n // Compare\n isAfter: (date1, date2) => date1.isAfter(date2),\n isValidate: (date) => date.isValid(),\n\n locale: {\n getWeekFirstDay: (locale) => dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek(),\n getWeekFirstDate: (locale, date) => date.locale(parseLocale(locale)).weekday(0),\n getWeek: (locale, date) => date.locale(parseLocale(locale)).week(),\n getShortWeekDays: (locale) => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin(),\n getShortMonths: (locale) => dayjs().locale(parseLocale(locale)).localeData().monthsShort(),\n format: (locale, date, format) => date.locale(parseLocale(locale)).format(format),\n parse: (locale, text, formats) => {\n const localeStr = parseLocale(locale);\n for (let i = 0; i < formats.length; i += 1) {\n const format = formats[i];\n const formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n const year = formatText.split('-')[0];\n const weekStr = formatText.split('-')[1];\n const firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (let j = 0; j <= 52; j += 1) {\n const nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n const date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n },\n },\n};\n\nexport default generateConfig;\n","import 'antd/es/date-picker/style/index';\n\nimport generatePicker from 'antd/es/date-picker/generatePicker';\n\n/* eslint-disable import/no-extraneous-dependencies */\n// import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs';\nimport dayjsGenerateConfig from './dayjs-ru-generator';\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\nexport default DatePicker;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport dayjs from 'dayjs';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { DEFAULT_DATEFORMAT } from './constants';\nimport DatePicker from './DayJsDatePicker';\nimport styles from './styles.scss';\n\nfunction XDFDateRange({ it, size, model, onPropChanged }) {\n const { id, prop, prop2, label, placeholder, autoFocus, span, readOnly, noW100, format, ranges } =\n it;\n\n const onChange = (dates, datesString) => {\n onPropChanged(it, datesString[0], datesString[1]);\n };\n\n const val = gv(model, prop, dayjs());\n const val2 = gv(model, prop2, dayjs());\n\n return (\n \n
\n
\n \n
\n \n \n
\n
\n \n );\n}\n\nXDFDateRange.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n prop2: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n noW100: PropTypes.bool,\n format: PropTypes.string,\n ranges: PropTypes.shape({}),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFDateRange;\n","import React, { useEffect } from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport dayjs from 'dayjs';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { DEFAULT_DATEFORMAT } from './constants';\nimport DatePicker from './DayJsDatePicker';\nimport styles from './styles.scss';\n\nfunction XDFDateTime({ it, size, model, onPropChanged }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n showTime,\n format,\n noW100,\n disabledDate,\n iso8601,\n } = it;\n\n const onChange = (date, dateString) => {\n if (iso8601) onPropChanged(it, (date || dayjs()).toISOString());\n else onPropChanged(it, dateString);\n };\n\n const val = gv(model, prop, dayjs().format(format || DEFAULT_DATEFORMAT));\n let dateVal = dayjs(val, !iso8601 ? format || DEFAULT_DATEFORMAT : undefined);\n const dateWithFormatValid = dateVal.isValid();\n if (!dateWithFormatValid) {\n dateVal = dayjs(val);\n }\n\n // useEffect(() => {\n // if (!dateWithFormatValid) {\n // onChange(dateVal, dateVal.format(format || DEFAULT_DATEFORMAT));\n // }\n // }, [dateWithFormatValid]);\n\n // console.log('val', val, '->', format || DEFAULT_DATEFORMAT, '->', dateVal);\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFDateTime.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n showTime: PropTypes.bool,\n format: PropTypes.string,\n noW100: PropTypes.bool,\n disabledDate: PropTypes.func,\n iso8601: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFDateTime;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFDivider({ it, size, fontColor }) {\n const { label, labelSup, span } = it;\n\n return (\n \n
\n
\n
\n {label} {!!labelSup && {labelSup}}\n
\n
\n
\n \n );\n}\nXDFDivider.defaultProps = {\n fontColor: '#40a9ff',\n};\n\nXDFDivider.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n labelSup: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.bool]),\n span: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n fontColor: PropTypes.string,\n};\n\nexport default XDFDivider;\n","import React from 'react';\n\nimport { Checkbox, Col } from 'antd';\nimport PropTypes from 'prop-types';\nimport gv from 'get-value';\n\nimport styles from './styles.scss';\n\nfunction XDFDividerWithCheckbox({ it, model, onPropChanged, fontColor }) {\n const { label, labelSup, span, id, prop, boolType, autoFocus, readOnly } = it;\n\n const onChange = (ev) => {\n let val = !!ev.target.checked;\n if (!boolType) val = val ? 1 : 0;\n onPropChanged(it, val);\n };\n\n const val = gv(model, prop, boolType ? false : 0);\n return (\n \n
\n
\n
\n {label} {!!labelSup && {labelSup}}\n
\n \n
\n
\n
\n
\n \n );\n}\nXDFDividerWithCheckbox.defaultProps = {\n fontColor: '#40a9ff',\n};\n\nXDFDividerWithCheckbox.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n boolType: PropTypes.bool,\n autoFocus: PropTypes.bool,\n readOnly: PropTypes.bool,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n labelSup: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.bool]),\n span: PropTypes.number,\n }).isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n fontColor: PropTypes.string,\n};\n\nexport default XDFDividerWithCheckbox;\n","import React, { useEffect, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nconst PRECISE_PATTERN =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nfunction XDFEmail({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, showOnly, suffix, require } = it;\n const [email0, setEmail0] = useState('');\n\n const val = gv(model, prop, '');\n\n useEffect(() => {\n setEmail0(val);\n }, [val]);\n\n function onChange(ev) {\n const valz = ev.target.value;\n setEmail0(valz);\n if (valz) {\n const m = valz.match(PRECISE_PATTERN);\n if (m && m[0] === valz) {\n onPropChanged(it, valz);\n } else {\n onPropChanged(it, undefined);\n }\n }\n }\n\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFEmail.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n require: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFEmail;\n","// extracted by mini-css-extract-plugin\nexport default {\"picHolder\":\"picHolder__EfDAI\",\"photo\":\"photo__SYuDL\",\"remove\":\"remove___ktZS\",\"edit\":\"edit__zvsUe\",\"round\":\"round__faqEP\",\"noEdit\":\"noEdit__Lmqzp\",\"picDesc\":\"picDesc__Jqoo1\",\"uploadBtn\":\"uploadBtn__lSBVV\",\"picEditPlaceHolder\":\"picEditPlaceHolder__tCfrB\"};","import React from 'react';\n\nimport cn from 'classnames';\n\nimport { DeleteOutlined, EditOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport styles from './styles.scss';\n\nfunction SortableItem({\n id,\n value,\n picWidth,\n basePicUrl,\n onRemovePic,\n onEditDesc,\n roundImage,\n picDesc,\n disabled,\n}) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n width: roundImage ? picWidth + 2 : 'auto',\n height: picWidth + 2,\n margin: '8px',\n zIndex: isDragging ? '100' : 'auto',\n opacity: isDragging ? 0.3 : 1,\n };\n\n return (\n \n
\n \"pic\"\n\n {!disabled && (\n onRemovePic(id)}\n >\n \n \n )}\n\n {!!onEditDesc && (\n onEditDesc(id)}\n >\n \n \n )}\n
\n {!!picDesc &&
{picDesc}
}\n \n );\n}\n\nexport default SortableItem;\n","import React, { useEffect, useState, useRef } from 'react';\n\nconst cssCache = {};\n\n/**\n * Load CSS\n * @param {*} src\n */\nexport function useXDFCss(src) {\n const [done, setDone] = useState(false);\n\n useEffect(() => {\n if (src) {\n if (cssCache[src]) setDone(true);\n else {\n const link = document.createElement('link');\n link.onload = () => {\n cssCache[src] = true;\n setDone(true);\n };\n link.href = src;\n link.type = 'text/css';\n link.rel = 'stylesheet';\n link.media = 'screen,print';\n document.getElementsByTagName('head')[0].appendChild(link);\n }\n }\n }, [src]);\n\n return [done];\n}\n\n/**\n * Load JS\n * @param {*} src\n * @param {*} loadAsync\n * @returns\n */\nexport function useXDFScript(src, loadAsync = true) {\n // Keep track of script status (\"idle\", \"loading\", \"ready\", \"error\")\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n const [done, setDone] = useState(false);\n\n useEffect(\n () => {\n // Allow falsy src value if waiting on other data needed for\n // constructing the script URL passed to this hook.\n if (!src) {\n setStatus('idle');\n return;\n }\n // Fetch existing script element by src\n // It may have been added by another intance of this hook\n let script = document.querySelector(`script[src=\"${src}\"]`);\n if (!script) {\n // Create script\n script = document.createElement('script');\n script.src = src;\n script.async = true;\n script.setAttribute('data-status', 'loading');\n // Add script to document body\n document.body.appendChild(script);\n // Store status in attribute on script\n // This can be read by other instances of this hook\n const setAttributeFromEvent = (event) => {\n script.setAttribute('data-status', event.type === 'load' ? 'ready' : 'error');\n setDone(event.type === 'load');\n };\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n // Grab existing script status from attribute and set to state.\n setStatus(script.getAttribute('data-status'));\n setDone(script.getAttribute('data-status') === 'ready');\n }\n // Script event handler to update status in state\n // Note: Even if the script already exists we still need to add\n // event handlers to update the state for *this* hook instance.\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n setDone(event.type === 'load');\n };\n // Add event listeners\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n // Remove event listeners on cleanup\n // eslint-disable-next-line consistent-return\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n },\n [src], // Only re-run effect if script src changes\n );\n return [done, status];\n}\n","import React from 'react';\n\nimport { Button, Col, Tooltip, Upload } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { DeleteOutlined, PlusOutlined } from '@ant-design/icons';\n\nimport styles from './styles.scss';\nimport { useXDFScript } from './xdf-hooks';\n\nconst PICA_URL = 'https://cdnjs.cloudflare.com/ajax/libs/pica/9.0.1/pica.min.js';\n\nexport function getBase64(img) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('load', () => resolve(reader.result));\n reader.readAsDataURL(img);\n });\n}\n\nfunction resizeImage(base64Url, { width, height }) {\n return new Promise((resolve, reject) => {\n // console.log('resizeImage', width, height, base64Url);\n\n const resizedCanvas = document.createElement('canvas');\n resizedCanvas.height = width;\n resizedCanvas.width = height;\n\n const img = new Image();\n img.onload = () => {\n // eslint-disable-next-line no-undef\n pica()\n .resize(img, resizedCanvas, {\n // unsharpAmount: 80,\n // unsharpRadius: 0.6,\n // unsharpThreshold: 2,\n })\n .then((result) => {\n const resizedImgBase64 = result.toDataURL('image/jpeg');\n // console.log(resizedImgBase64);\n resolve(resizedImgBase64);\n })\n .catch((err) => {\n alert(err);\n });\n };\n img.src = base64Url;\n });\n}\n\nfunction XDFUploadBase64({ it, size, model, onPropChanged }) {\n const [doneJS] = useXDFScript(PICA_URL);\n\n const {\n id,\n prop,\n label,\n placeholder,\n span,\n readOnly,\n fileTypes,\n require,\n align,\n height,\n resize,\n } = it;\n\n const onChange = async (info) => {\n let imageUrl = await getBase64(info.file);\n\n if (resize) {\n imageUrl = await resizeImage(imageUrl, resize);\n }\n\n onPropChanged(it, imageUrl);\n };\n\n // Не загружать во вне файл\n const beforeUpload = async () => false;\n\n // удалить\n const onRemove = (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n onPropChanged(it, null);\n };\n\n const uploadButton = (\n
\n \n
{placeholder || 'Выбрать'}
\n
\n );\n\n const val = gv(model, prop, '');\n return (\n \n
\n
\n \n
\n \n {doneJS && (\n \n {val ? (\n
\n  \n
\n ) : (\n uploadButton\n )}\n {!!val && (\n \n }\n className={styles.remove}\n onClick={onRemove}\n />\n \n )}\n \n )}\n
\n \n \n );\n}\n\nXDFUploadBase64.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n fileTypes: PropTypes.string,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n require: PropTypes.bool,\n align: PropTypes.string,\n height: PropTypes.string,\n resize: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFUploadBase64;\n","import 'react-image-crop/dist/ReactCrop.css';\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button, Input, message, Modal, Progress, Upload } from 'antd';\nimport PropTypes from 'prop-types';\nimport ReactCrop from 'react-image-crop';\n\nimport { CheckOutlined, PlusOutlined } from '@ant-design/icons';\n\nimport { getBase64 } from '../XDataForm/XDFUploadBase64';\nimport styles from './styles.scss';\n\nconst defaultCropSettings = { unit: '%', x: 2, y: 2, height: 50, aspect: 1 };\n\nfunction UploadItemWithCrop({\n uploadFileType,\n picWidth,\n onAddFile,\n disableDescription,\n aspects,\n disabled,\n}) {\n const [picDlgVisible, setPicDlgVisible] = useState({ visible: false, width: '90%' });\n\n const [uploadedImage64, setUploadedImage64] = useState(null);\n const [progress, setProgress] = useState(-1);\n const [picDesc, setPicDesc] = useState('');\n\n const cropImg = useRef(null);\n const [cropUFile, setCropUFile] = useState('');\n\n const [crop, setCrop] = useState(defaultCropSettings);\n const [completedCrop, setCompletedCrop] = useState({});\n const [disableEdit, setDisableEdit] = useState(false);\n\n const beforeUploadResolve = useRef(null);\n\n const onSetAspect = (aspect) => {\n setCrop({\n ...defaultCropSettings,\n aspect,\n ...(aspect\n ? {}\n : {\n unit: '%',\n x: 2,\n y: 3,\n width: 30,\n height: 70,\n }),\n });\n setDisableEdit(false);\n };\n\n const onChange = ({ file, event }) => {\n if (file.percent > 0 && file.percent <= 100) {\n setProgress(parseInt(file.percent, 10));\n }\n\n if (file.percent === 100 && file.response) {\n const { err, errmsg, data } = file.response;\n // console.log('DONE', err);\n if (err === 0) {\n setProgress(-1);\n onAddFile(data);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n }\n };\n\n const onUploadOK = () => {\n beforeUploadResolve.current.resolve();\n setPicDlgVisible({ ...picDlgVisible, visible: false });\n setUploadedImage64(null);\n };\n\n const onUploadReject = () => {\n beforeUploadResolve.current.reject();\n setPicDlgVisible({ ...picDlgVisible, visible: false });\n setUploadedImage64(null);\n };\n\n // Не загружать во вне файл\n const beforeUpload = (file) => {\n setPicDesc('');\n setProgress(-1);\n return new Promise((resolve, reject) => {\n beforeUploadResolve.current = {\n resolve,\n reject,\n };\n getBase64(file).then((imageUrl) => {\n const img = new Image();\n img.onload = () => {\n const w = img.width;\n const h = img.height;\n\n setUploadedImage64(imageUrl);\n setPicDlgVisible({\n ...picDlgVisible,\n visible: true,\n width: w / h > 1 ? '90%' : ((window.innerHeight - 230) * w) / h,\n h,\n w,\n });\n\n setDisableEdit(false);\n if (Array.isArray(aspects) && aspects.length > 0) {\n onSetAspect(aspects[0].wph);\n } else {\n setCrop({ ...defaultCropSettings });\n }\n };\n img.src = imageUrl;\n });\n });\n };\n\n // crop\n useEffect(() => {\n // console.log('completedCrop', completedCrop);\n\n if (cropImg.current) {\n const kx = picDlgVisible.w / cropImg.current.width;\n const ky = picDlgVisible.h / cropImg.current.height;\n let cropFile = '';\n if (!disableEdit) {\n cropFile = `${parseInt(kx * completedCrop.x, 10)},${parseInt(\n ky * completedCrop.y,\n 10,\n )},${parseInt(kx * completedCrop.width, 10)},${parseInt(ky * completedCrop.height, 10)}`;\n }\n setCropUFile(cropFile);\n }\n }, [completedCrop, disableEdit]);\n\n const onLoad = useCallback((img) => {\n cropImg.current = img;\n // console.log('Crop - onLoad');\n }, []);\n\n const notEdit = () => {\n if (disableEdit) {\n if (Array.isArray(aspects) && aspects.length > 0) {\n onSetAspect(aspects[0].wph);\n } else {\n setCrop({ ...defaultCropSettings });\n }\n setDisableEdit(false);\n } else {\n setCrop({});\n setDisableEdit(true);\n }\n };\n\n const setAspectBy = (idx) => {\n if (Array.isArray(aspects) && idx < aspects.length) {\n onSetAspect(aspects[idx].wph);\n } else {\n onSetAspect(undefined);\n }\n };\n\n return (\n <>\n = 0 || disabled}\n >\n {progress < 0 && (\n
\n \n
Добавить
\n
\n )}\n {progress >= 0 && }\n \n\n (\n onSetAspect(x.wph)}\n disabled={disableEdit}\n icon={!disableEdit && x.wph === crop.aspect && }\n >\n {x.label}\n \n )),\n onSetAspect(undefined)}\n disabled={disableEdit}\n icon={!disableEdit && crop.aspect === undefined && }\n >\n Любое соотношение\n ,\n }\n >\n Не менять\n ,\n ,\n ]}\n >\n
\n setCrop(c)}\n onComplete={(c) => setCompletedCrop(c)}\n />\n
\n {!disableDescription && (\n setPicDesc(ev.target.value)}\n />\n )}\n \n \n );\n}\n\nUploadItemWithCrop.defaultProps = {\n uploadFileType: 'picture',\n disableDescription: false,\n disabled: false,\n aspects: [\n {\n label: '1x1',\n wph: 1,\n },\n ],\n};\n\nUploadItemWithCrop.propTypes = {\n uploadFileType: PropTypes.string,\n onAddFile: PropTypes.func.isRequired,\n picWidth: PropTypes.number.isRequired,\n disableDescription: PropTypes.bool,\n disabled: PropTypes.bool,\n aspects: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n wph: PropTypes.number,\n }),\n ),\n};\n\nexport default UploadItemWithCrop;\n","import React, { useState } from 'react';\n\nimport { Input, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport {\n closestCenter,\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n rectSortingStrategy,\n SortableContext,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\n\nimport SortableItem from './SortableItem';\nimport styles from './styles.scss';\nimport UploadItemWithCrop from './UploadItemWithCrop';\n\nfunction XDataGallery({\n basePicUrl,\n picWidth,\n onChange,\n items,\n maxCount,\n disableDescription,\n disabled,\n roundImage,\n picDescDisable,\n aspects,\n}) {\n const [activeItem, setActiveItem] = useState({});\n const [editDescDlg, setEditDescDlg] = useState({ visible: false, desc: '' });\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const handleDragStart = (event) => {\n // setActiveId(event.active.id);\n setActiveItem(event.active);\n };\n\n const handleDragEnd = (event) => {\n // setActiveId(null);\n setActiveItem({});\n const { active, over } = event;\n\n if (active.id !== over.id) {\n // setItems((values) => {\n // const oldIndex = values.findIndex((x) => x.id === active.id);\n // const newIndex = values.findIndex((x) => x.id === over.id);\n // return arrayMove(values, oldIndex, newIndex);\n // });\n\n const oldIndex = items.findIndex((x) => x.id === active.id);\n const newIndex = items.findIndex((x) => x.id === over.id);\n onChange(arrayMove(items, oldIndex, newIndex));\n }\n };\n\n const onRemovePic = (picId) => {\n const idx = items.findIndex((x) => x.id === picId);\n onChange([...items.slice(0, idx), ...items.slice(idx + 1)]);\n };\n\n const onEditDesc = (picId) => {\n const it = items.find((x) => x.id === picId);\n if (it) {\n setEditDescDlg({ ...editDescDlg, visible: true, picId, desc: it.desc, desc0: it.desc });\n }\n };\n\n const closeEditDescDlg = () => {\n setEditDescDlg({ ...editDescDlg, visible: false });\n };\n\n const onChangeDesc = () => {\n const idx = items.findIndex((x) => x.id === editDescDlg.picId);\n if (idx >= 0) {\n onChange([\n ...items.slice(0, idx),\n {\n ...items[idx],\n desc: editDescDlg.desc,\n },\n ...items.slice(idx + 1),\n ]);\n }\n closeEditDescDlg();\n };\n\n const onAddPicture = (pic) => {\n onChange([...items, pic]);\n };\n\n return (\n <>\n \n
\n {items.length < maxCount && (\n \n )}\n\n \n {items.map((pic) => (\n \n ))}\n \n {activeItem?.id ? (\n \n \n
\n ) : null}\n \n \n \n \n \n setEditDescDlg({ ...editDescDlg, desc: ev.target.value })}\n />\n \n \n );\n}\n\nXDataGallery.defaultProps = {\n picWidth: 130,\n items: [],\n maxCount: 99,\n disableDescription: false,\n disabled: false,\n roundImage: false,\n picDescDisable: false,\n aspects: [\n {\n label: '1x1',\n wph: 1,\n },\n ],\n};\n\nXDataGallery.propTypes = {\n basePicUrl: PropTypes.string.isRequired,\n picWidth: PropTypes.number,\n maxCount: PropTypes.number,\n roundImage: PropTypes.bool,\n disableDescription: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n filename: PropTypes.string,\n desc: PropTypes.string,\n }),\n ),\n picDescDisable: PropTypes.bool,\n aspects: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n wph: PropTypes.number,\n }),\n ),\n};\n\nexport default XDataGallery;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport XDataGallery from '../XDataGallery/XDataGallery';\nimport styles from './styles.scss';\n\nfunction XDFGalleryUpload({ it, size, model, onPropChanged }) {\n const {\n id,\n prop,\n label,\n span,\n readOnly,\n picsProps,\n picSize,\n maxCount,\n disableDescription,\n roundImage,\n simpleArray,\n aspects,\n } = it;\n\n const [picId, picName, picDesc] = picsProps || [];\n\n const val = gv(model, prop) || [];\n const picsList = (val || []).map((x) => {\n if (simpleArray)\n return {\n id: x,\n filename: x,\n desc: x,\n };\n return {\n id: x[picId || 'id'] || x[picName || 'name'],\n filename: x[picName || 'name'],\n desc: x[picDesc || 'desc'],\n };\n });\n\n const onPicListChanged = (plist) => {\n const pics = plist.map((x) => {\n if (simpleArray) return x.filename;\n\n // convert\n const v = {};\n if (picId !== '$$$') v[picId || 'id'] = x.id;\n if (picName !== '$$$') v[picName || 'name'] = x.filename;\n if (picDesc !== '$$$') v[picDesc || 'desc'] = x.desc;\n return v;\n });\n // console.log('onPicListChanged', pics);\n onPropChanged(it, pics);\n };\n\n return (\n \n
\n
\n \n
\n
\n \n
\n
\n \n );\n}\n\nXDFGalleryUpload.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n picsProps: PropTypes.arrayOf(PropTypes.string.isRequired),\n picSize: PropTypes.number,\n maxCount: PropTypes.number,\n disableDescription: PropTypes.bool,\n roundImage: PropTypes.bool,\n simpleArray: PropTypes.bool,\n aspects: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n wph: PropTypes.number,\n }),\n ),\n }).isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFGalleryUpload;\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useEffect, useState } from 'react';\n\nimport { AutoComplete, Col, Modal, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\nimport { useDebounce, useMountedState } from 'react-use';\n\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\n\nimport styles from './styles.scss';\n\nfunction XDFGeocoder({ it, size, model, onPropChanged }) {\n const isMounted = useMountedState();\n\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n revGeocoder,\n geocoder,\n pointNumber,\n pointNumberColor,\n onClickPointNumber,\n removeBtn,\n switchBtn,\n onClickSwitch,\n onlyRemove,\n alertBeforeRemove,\n tooltip,\n } = it;\n const [val0, setVal0] = useState('');\n const [options, setOptions] = useState([]);\n\n const onSelect = (val, option) => {\n setVal0(option.label);\n onPropChanged(it, option.value.split(',').map(parseFloat));\n };\n\n const removePoint = () => {\n if (alertBeforeRemove) {\n Modal.confirm({\n icon: ,\n title: alertBeforeRemove,\n onOk() {\n onPropChanged(it, null);\n },\n onCancel() {},\n });\n } else {\n onPropChanged(it, null);\n }\n };\n\n const [, cancel] = useDebounce(\n async () => {\n if (val0 && val0.length > 2 && !options.find((x) => x.label === val0)) {\n const list = await geocoder(val0);\n if (isMounted()) setOptions(list);\n }\n },\n 300,\n [val0],\n );\n\n const onSearchAddress = (addr) => {\n setVal0(addr);\n };\n\n const reverse = async (ll) => {\n const sll = ll.join(',');\n if (options.length === 0 || !options.find((x) => x.value === sll)) {\n const addr = await revGeocoder(ll);\n if (isMounted()) setVal0(addr);\n }\n };\n\n const val = gv(model, prop);\n useEffect(() => {\n if (val && Array.isArray(val) && val.length === 2) reverse(val);\n }, [val]);\n\n const onFocus = (ev) => {\n ev.target.select();\n };\n\n const clickOnPointNumber = () => {\n onClickPointNumber(val);\n };\n\n return (\n \n
\n {!!label && (\n
\n \n
\n )}\n \n \n \n {!!pointNumber && (\n \n {pointNumber}\n
\n )}\n {!!removeBtn && !readOnly && (\n \n ×\n \n )}\n {switchBtn && (\n onClickSwitch(ev, prop)}\n title=\"Поменять местами\"\n >\n \n \n \n \n )}\n \n \n \n \n );\n}\n\nXDFGeocoder.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n onlyRemove: PropTypes.bool,\n alertBeforeRemove: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n revGeocoder: PropTypes.func.isRequired,\n geocoder: PropTypes.func.isRequired,\n pointNumber: PropTypes.string,\n pointNumberColor: PropTypes.string,\n onClickPointNumber: PropTypes.func,\n removeBtn: PropTypes.bool,\n switchBtn: PropTypes.bool,\n onClickSwitch: PropTypes.func,\n tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFGeocoder;\n","import React, { useEffect, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFLatLng({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, showOnly, suffix } = it;\n\n const [loc, setLoc] = useState('');\n\n const val = (gv(model, prop) || []).join(', ');\n useEffect(() => {\n if (val !== loc) setLoc(val);\n }, [val]);\n\n function onChange(ev) {\n const v = ev.target.value;\n setLoc(v);\n\n const ll = v\n .split(',')\n .map((x) => x.trim())\n .map((x) => parseFloat(x));\n\n if (Array.isArray(ll) && ll.length === 2 && !isNaN(ll[0]) && !isNaN(ll[1])) {\n onPropChanged(it, ll);\n }\n }\n\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFLatLng.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFLatLng;\n","import React, { useState } from 'react';\n\nimport { Button, Col, Modal } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport XDataForm from '.';\nimport styles from './styles.scss';\n\nconst filterIcon = (\n \n \n \n);\n\nfunction XDFModalTableForm({ it, size, model, onPropChanged }) {\n const { id, label, prop, title, btnIcon, span, readOnly, values } = it;\n\n const [showDialog, setShowDialog] = useState(false);\n const [filter, setFilter] = useState({});\n\n function onShowFilterDialog(ev) {\n const f = gv(model, prop, {});\n setFilter(f);\n setShowDialog(true);\n }\n\n function onSaveFilter(ev) {\n setShowDialog(false);\n onPropChanged(it, filter);\n }\n\n function onCloseDialog(ev) {\n setShowDialog(false);\n }\n\n function onFilterChanged(f) {\n setFilter(f);\n }\n\n return (\n <>\n \n
\n {!!label && (\n
\n \n
\n )}\n
\n \n
\n
\n \n\n {showDialog && (\n \n Отменить\n ,\n ,\n ]}\n >\n \n \n )}\n \n );\n}\n\nXDFModalTableForm.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n prop: PropTypes.string.isRequired,\n title: PropTypes.string,\n values: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n btnIcon: PropTypes.element,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFModalTableForm;\n","import React from 'react';\n\nimport { Col, InputNumber } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFNumber({ it, size, model, onPropChanged }) {\n const {\n id,\n prop,\n label,\n labelSup,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n step,\n min,\n max,\n } = it;\n\n const onChange = (val) => {\n onPropChanged(it, val);\n };\n\n const val = gv(model, prop, 0);\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFNumber.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n labelSup: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.bool]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n step: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFNumber;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport IMask from 'imask';\nimport { phone } from 'phone';\nimport PropTypes from 'prop-types';\n\nimport { PhoneOutlined } from '@ant-design/icons';\n\n// import PhoneInput from 'react-phone-input-2';\n// import ru from 'react-phone-input-2/lang/ru.json';\nimport styles from './styles.scss';\n\nfunction XDFPhone({ it, size, model, onPropChanged }) {\n const inputRef = useRef(null);\n const { id, prop, label, autoFocus, span, readOnly, showOnly, require, placeholder, mask } = it;\n const [phone0, setPhone0] = useState('');\n\n useEffect(() => {\n const val = gv(model, prop, '');\n setPhone0(val);\n }, []);\n\n useEffect(() => {\n if (inputRef.current?.input) {\n IMask(inputRef.current.input, {\n mask: mask || '+{7} (000) 000-00-00',\n });\n }\n }, [inputRef.current]);\n\n // const onChange = (val) => {\n // setPhone0(val);\n // if (val) {\n // // eslint-disable-next-line no-underscore-dangle\n // const _phone = (val.charAt(0) === '+' ? '' : '+') + val;\n // const phRes = phone(_phone);\n // if (phRes.isValid) {\n // onPropChanged(it, phRes.phoneNumber);\n // }\n // }\n // };\n\n const onChange = (ev) => {\n const val = ev.target.value;\n setPhone0(val);\n if (val) {\n // eslint-disable-next-line no-underscore-dangle\n const _phone = (val.charAt(0) === '+' ? '' : '+') + val;\n const phRes = phone(_phone);\n if (phRes.isValid) {\n onPropChanged(it, phRes.phoneNumber);\n } else {\n onPropChanged(it, '');\n }\n }\n };\n\n return (\n \n
\n
\n \n
\n \n {/* */}\n\n }\n />\n
\n \n \n );\n}\n\nXDFPhone.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n mask: PropTypes.string,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFPhone;\n","import React, { useEffect, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFPhoneSmsCode({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, require, showOnly, smsCodeLen = 6 } = it;\n const [smsCode0, setSmsCode0] = useState([]);\n const [focusFld, setFocusFld] = useState(0);\n\n useEffect(() => {\n setSmsCode0([]);\n setFocusFld(0);\n }, []);\n\n function updateVal(code) {\n const resultCode = code.join('');\n if (resultCode.length === smsCodeLen) onPropChanged(it, resultCode);\n else onPropChanged(it, '');\n }\n\n function onChange(idx, ev) {\n const dotVal = ev.target.value;\n const codePart = dotVal.charAt(dotVal.length - 1);\n ev.target.value = codePart;\n\n let code = smsCode0;\n code[idx] = codePart;\n setSmsCode0(code);\n\n if (codePart && focusFld < smsCodeLen - 1) {\n const focusPos = focusFld + 1;\n const k = `${id}-${focusPos}`;\n const el = document.getElementById(k);\n if (el) el.focus();\n setFocusFld(focusPos);\n }\n\n updateVal(code);\n }\n\n function onKeyDown(idx, ev) {\n if (ev.keyCode === 8) {\n if (!smsCode0[idx]) {\n if (focusFld > 0) {\n const focusPos = focusFld - 1;\n const k = `${id}-${focusPos}`;\n const el = document.getElementById(k);\n if (el) el.focus();\n setFocusFld(focusPos);\n ev.preventDefault();\n }\n }\n }\n updateVal(smsCode0);\n }\n\n return (\n \n
\n
\n \n
\n \n {Array.apply(null, Array(smsCodeLen)).map((x, n) => {\n const key = `${id}-${n}`;\n let val = smsCode0[n];\n if (val !== undefined) val = val.charAt(0);\n return (\n onChange(n, ev)}\n onKeyDown={(ev) => onKeyDown(n, ev)}\n style={{ textAlign: 'center' }}\n autoFocus={n === 0 && autoFocus}\n name={key}\n autoComplete={key}\n />\n );\n })}\n
\n \n \n );\n}\n\nXDFPhoneSmsCode.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n smsCodeLen: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFPhoneSmsCode;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport XDataGallery from '../XDataGallery/XDataGallery';\nimport styles from './styles.scss';\n\nfunction XDFPictureUpload({ it, size, model, onPropChanged }) {\n const { id, prop, label, span, readOnly, picSize, disableDescription, roundImage } = it;\n\n const val = gv(model, prop, '');\n\n const onPicListChanged = (plist) => {\n const pic = plist.length > 0 ? plist[0].filename : '';\n if (pic !== val) onPropChanged(it, pic);\n };\n\n return (\n \n
\n
\n \n
\n
\n \n
\n
\n \n );\n}\n\nXDFPictureUpload.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n picSize: PropTypes.number,\n disableDescription: PropTypes.bool,\n roundImage: PropTypes.bool,\n }).isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFPictureUpload;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Col, Select } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFSearch({ it, size, model, onPropChanged, multiple }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n values,\n filterValues,\n loadingDataMsg,\n } = it;\n\n const mountedRef = useRef(false);\n const isMounted = useCallback(() => mountedRef.current, []);\n\n const [loading, setLoading] = useState(false);\n const [values0, setValues0] = useState([]);\n\n // mount / unmount\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n });\n\n const onChange = (value) => {\n onPropChanged(it, value);\n };\n\n const onSearch = async (str) => {\n setLoading(true);\n const list = await values(str, model);\n if (isMounted) setValues0(list);\n setLoading(false);\n };\n\n const val = gv(model, prop, '');\n return (\n \n
\n {!!label && (\n
\n \n
\n )}\n \n \n {(values0 || []).map((v) => (\n \n {v.name}\n \n ))}\n \n
\n \n \n );\n}\n\nXDFSearch.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n values: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFSearch;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button, Col, Divider, Input, Select } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { PlusOutlined } from '@ant-design/icons';\n\nimport styles from './styles.scss';\n\nfunction XDFSelect({ it, size, model, onPropChanged, multiple }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n values,\n filterValues,\n loadingDataMsg,\n canAddValue,\n } = it;\n\n const mountedRef = useRef(false);\n const isMounted = useCallback(() => mountedRef.current, []);\n\n const [loading, setLoading] = useState(false);\n const [values0, setValues0] = useState([]);\n const [newValue, setNewValue] = useState('');\n\n // mount / unmount\n useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n });\n\n // load values, if promise\n useEffect(() => {\n if (values && Array.isArray(values)) {\n setValues0(values);\n } else {\n // eslint-disable-next-line react/prop-types\n values().then((list) => {\n // console.log(list);\n if (isMounted()) {\n setValues0(list);\n setLoading(false);\n }\n });\n setLoading(true);\n }\n }, [values]);\n\n const onChange = (value) => {\n onPropChanged(it, value);\n };\n\n const onChangeNewValue = (ev) => {\n setNewValue(ev.target.value);\n };\n\n const onAddNewValue = () => {\n setValues0([\n ...values0,\n {\n id: newValue,\n name: newValue,\n },\n ]);\n setNewValue('');\n };\n\n let showOnlyVal = '';\n let val = gv(model, prop, multiple ? [] : undefined);\n if (loading) {\n val = multiple ? [] : undefined;\n }\n\n if (multiple && !Array.isArray(val)) {\n console.error(`Error with value for prop: ${prop} -> value = ${val} - MUST BE ARRAY!`);\n }\n\n if (showOnly) {\n const item = values0.find((x) => x.id === val);\n if (item?.name) showOnlyVal = item.name;\n }\n\n // check val\n if (!Array.isArray(val)) {\n const item = values0.find((x) => x.id === val);\n if (!item) {\n val = '';\n }\n }\n\n let dropdownRender = false;\n if (canAddValue) {\n dropdownRender = (menu) => (\n <>\n {menu}\n \n
\n \n \n \n \n
\n \n );\n }\n\n return (\n \n
\n {!!label && (\n
\n \n
\n )}\n \n {showOnly && (\n
\n
\n {showOnlyVal}\n
\n
\n )}\n\n {!showOnly && (\n \n {(values0 || [])\n .filter((v) => {\n if (!filterValues) return true;\n return filterValues.includes(v.id);\n })\n .map((v) => (\n \n {v.name}\n \n ))}\n \n )}\n
\n \n \n );\n}\n\nXDFSelect.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n values: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n filterValues: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n loadingDataMsg: PropTypes.string,\n canAddValue: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n multiple: PropTypes.bool.isRequired,\n};\n\nexport default XDFSelect;\n","import React from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFShowDateTime({ it, size, model }) {\n const { id, prop, label, format, span } = it;\n\n const val = gv(model, prop);\n return (\n \n
\n
\n \n
\n
\n
\n {val === undefined ? '' : dayjs(val).format(format || 'YYYY-MM-DD HH:mm:ss')}\n
\n
\n
\n \n );\n}\n\nXDFShowDateTime.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n format: PropTypes.string,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n};\n\nexport default XDFShowDateTime;\n","// https://github.com/sindresorhus/pretty-bytes\n\nconst BYTE_UNITS = ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst BIBYTE_UNITS = ['B', 'kiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n\nconst BIT_UNITS = ['b', 'kbit', 'Mbit', 'Gbit', 'Tbit', 'Pbit', 'Ebit', 'Zbit', 'Ybit'];\n\nconst BIBIT_UNITS = ['b', 'kibit', 'Mibit', 'Gibit', 'Tibit', 'Pibit', 'Eibit', 'Zibit', 'Yibit'];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n let result = number;\n if (typeof locale === 'string' || Array.isArray(locale)) {\n result = number.toLocaleString(locale, options);\n } else if (locale === true || options !== undefined) {\n result = number.toLocaleString(undefined, options);\n }\n\n return result;\n};\n\nconst xdPrettyBytes = (_number, _options = {}) => {\n let number = _number;\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n\n const options = { bits: false, binary: false, ..._options };\n\n // eslint-disable-next-line no-nested-ternary\n const UNITS = options.bits\n ? options.binary\n ? BIBIT_UNITS\n : BIT_UNITS\n : options.binary\n ? BIBYTE_UNITS\n : BYTE_UNITS;\n\n if (options.signed && number === 0) {\n return ` 0 ${UNITS[0]}`;\n }\n\n const isNegative = number < 0;\n // eslint-disable-next-line no-nested-ternary\n const prefix = isNegative ? '-' : options.signed ? '+' : '';\n\n if (isNegative) {\n number = -number;\n }\n\n let localeOptions;\n\n if (options.minimumFractionDigits !== undefined) {\n localeOptions = { minimumFractionDigits: options.minimumFractionDigits };\n }\n\n if (options.maximumFractionDigits !== undefined) {\n localeOptions = {\n maximumFractionDigits: options.maximumFractionDigits,\n ...localeOptions,\n };\n }\n\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale, localeOptions);\n return `${prefix + numberString} ${UNITS[0]}`;\n }\n\n const exponent = Math.min(\n Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3),\n UNITS.length - 1,\n );\n\n number /= (options.binary ? 1024 : 1000) ** exponent;\n\n if (!localeOptions) {\n number = number.toPrecision(3);\n }\n\n const numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n const unit = UNITS[exponent];\n\n return `${prefix + numberString} ${unit}`;\n};\n\nexport default xdPrettyBytes;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport xdPrettyBytes from '../utils/xd-pretty-bytes';\n\nfunction XDFShowFileSize({ it, size, model }) {\n const { id, prop, label, span } = it;\n\n const val = gv(model, prop);\n return (\n \n
\n
\n \n
\n
\n
\n {val === undefined ? '' : xdPrettyBytes(val)}\n
\n
\n
\n \n );\n}\n\nXDFShowFileSize.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n};\n\nexport default XDFShowFileSize;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFShowText({ it, size, model }) {\n const { id, prop, label, span } = it;\n\n const val = gv(model, prop);\n return (\n \n
\n
\n \n
\n
\n
\n {val === undefined ? '' : val}\n
\n
\n
\n \n );\n}\n\nXDFShowText.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n span: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n};\n\nexport default XDFShowText;\n","import React from 'react';\n\nimport { Col, Switch } from 'antd';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport xdfGetValue from './xdf-get-value';\n\nfunction XDFSwitch({ it, size, model, onPropChanged }) {\n const { id, prop, label, boolType, autoFocus, span, readOnly, plain } = it;\n\n const onChange = (_val) => {\n let val = !!_val;\n if (!boolType) val = val ? 1 : 0;\n onPropChanged(it, val);\n };\n\n const val = xdfGetValue(model, prop, boolType ? false : 0, plain);\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFSwitch.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n boolType: PropTypes.bool,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n plain: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFSwitch;\n","import React from 'react';\n\nimport { Button, Col, Row } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFTableSimple({ it, size, model, onPropChanged }) {\n const { id, prop, span, columns } = it;\n\n const rows = gv(model, prop, []);\n const onDelete = (idx) => {\n onPropChanged(it, [...rows.slice(0, idx), ...rows.slice(idx + 1)]);\n };\n\n return (\n \n
\n \n {(rows || []).map((row, i) => (\n \n {(columns || []).map((col) => {\n if (col.action === 'delete') {\n return (\n \n \n \n );\n }\n return (\n \n
{row[col.prop]}
\n \n );\n })}\n
\n ))}\n
\n \n \n );\n}\n\nXDFTableSimple.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n span: PropTypes.number,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n action: PropTypes.string,\n type: PropTypes.string,\n prop: PropTypes.string,\n }),\n ),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFTableSimple;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Col, Select } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFTags({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, values } = it;\n\n const mountedRef = useRef(false);\n const isMounted = useCallback(() => mountedRef.current, []);\n\n const [loading, setLoading] = useState(false);\n const [values0, setValues0] = useState([]);\n\n // mount / unmount\n useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n });\n\n // load values, if promise\n useEffect(() => {\n if (values && Array.isArray(values)) {\n setValues0(values);\n } else {\n // eslint-disable-next-line react/prop-types\n values().then((list) => {\n if (isMounted()) {\n setValues0(list);\n setLoading(false);\n }\n });\n setLoading(true);\n }\n }, [values]);\n\n const onChange = (value) => {\n onPropChanged(it, value);\n };\n\n const val = gv(model, prop, []);\n return (\n \n
\n
\n \n
\n \n \n {(values0 || []).map((v) => (\n \n {v.name}\n \n ))}\n \n
\n \n \n );\n}\n\nXDFTags.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n values: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFTags;\n","import React from 'react';\n\nimport { Col, Input, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFText({ it, size, model, onPropChanged, onEnterPress }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n suffix,\n require,\n tooltip,\n showCount,\n labelWrap,\n } = it;\n\n const onChange = (ev) => {\n onPropChanged(it, ev.target.value);\n };\n\n const onKeyDown = (ev) => {\n if (ev.keyCode === 13) {\n if (onEnterPress) onEnterPress(ev, it);\n }\n };\n\n const val = gv(model, prop, '');\n return (\n \n
\n
\n \n
\n \n \n \n
\n \n \n \n );\n}\n\nXDFText.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n require: PropTypes.bool,\n onEnter: PropTypes.func,\n tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n showCount: PropTypes.bool,\n labelWrap: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n onEnterPress: PropTypes.func.isRequired,\n};\n\nexport default XDFText;\n","import React from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFTextarea({ it, size, model, onPropChanged }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n rows,\n autoSize,\n showCount,\n } = it;\n\n const onChange = (ev) => {\n onPropChanged(it, ev.target.value);\n };\n\n const val = gv(model, prop, '');\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFTextarea.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n rows: PropTypes.number,\n autoSize: PropTypes.bool,\n showCount: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFTextarea;\n","/* eslint-disable import/no-unresolved */\nimport * as React from 'react';\nimport DatePicker from './DayJsDatePicker';\n\nconst TimePicker = React.forwardRef((props, ref) => (\n // eslint-disable-next-line react/jsx-props-no-spreading\n \n));\n\nTimePicker.displayName = 'TimePicker';\n\nexport default TimePicker;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport dayjs from 'dayjs';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { DEFAULT_TIMEFORMAT } from './constants';\nimport TimePicker from './DayJsTimePicker';\nimport styles from './styles.scss';\n\nfunction XDFTime({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, format, noW100 } = it;\n\n function onChange(date, dateString) {\n onPropChanged(it, dateString);\n }\n\n const val = gv(model, prop, dayjs());\n // console.log('XDFTime', val);\n return (\n \n
\n
\n \n
\n
\n \n
\n
\n \n );\n}\n\nXDFTime.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n format: PropTypes.string,\n noW100: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFTime;\n","/**\n * Округление числа до нужного знака после запятой\n * @param x\n * @param n\n * @returns {*}\n */\n// eslint-disable-next-line import/prefer-default-export\nexport const xdRoundPlus = (x, n = 2) => {\n // x - число, n - количество знаков\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(x) || isNaN(n)) return undefined;\n // eslint-disable-next-line no-restricted-properties\n const m = Math.pow(10, n);\n return Math.round(x * m) / m;\n};\n\nexport const xdGetColProp = (prop) => {\n if (prop && prop.charAt(0) === '+') return prop.substring(1);\n return prop;\n};\n","import React, { useState } from 'react';\n\nimport { Button, Col, message, Upload } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport xdPrettyBytes from '../utils/xd-pretty-bytes';\nimport { xdRoundPlus } from '../XDataTable/xdf-utils';\nimport xdfSetValue from './xdf-set-value';\n\nconst BIG_FILE_MAX_SIZE = 2 * 1024 * 1024;\n\nfunction XDFUploadBigFile({ it, size, model, onPropsChanged }) {\n const [uploading, setUploading] = useState(-1);\n\n const { id, label, title, prop, span, readOnly, fileProps, maxFileSize } = it;\n const bigfileMaxSize = maxFileSize || BIG_FILE_MAX_SIZE;\n\n const [propOrigname, propFileSize] = fileProps || [];\n\n const fileName = gv(model, prop);\n const fileSize = gv(model, propFileSize || '____', 0);\n\n const onChange = async ({ file }) => {\n if (file.percent > 0 && file.percent <= 100) {\n setUploading(parseInt(file.percent, 10));\n }\n\n if (file.percent === 100 && file.response) {\n const { err, errmsg, data } = file.response;\n // console.log('DONE', err);\n if (err === 0) {\n setUploading(-1);\n\n const m = {};\n xdfSetValue(m, prop, data.filename);\n if (propOrigname) xdfSetValue(m, propOrigname, file.name);\n if (propFileSize) xdfSetValue(m, propFileSize, file.size);\n\n onPropsChanged(m);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n }\n };\n\n // Не загружать во вне файл\n const beforeUpload = (file) => {\n if (file.size > bigfileMaxSize) {\n message.error(`Размер файла больше допустимого: ${xdPrettyBytes(bigfileMaxSize)}`);\n return false;\n }\n return true;\n };\n\n return (\n \n
\n {!!label && (\n
\n \n
\n )}\n
\n = 0 || readOnly}\n headers={{\n 'x-ufile-desc': '',\n 'x-ufile-type': encodeURIComponent('file'),\n 'x-ufile-pic-optimize': 0,\n 'x-ufile-pic-webp': 0,\n }}\n >\n {uploading >= 0 && (\n
\n
\n {xdRoundPlus(uploading, 1)} %\n
\n )}\n {uploading < 0 && (\n \n )}\n \n
\n
\n \n );\n}\n\nXDFUploadBigFile.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n readOnly: PropTypes.bool,\n span: PropTypes.number,\n fileProps: PropTypes.arrayOf(PropTypes.string), // ['propOrigFileName', 'propFileSize']\n maxFileSize: PropTypes.number,\n }).isRequired,\n model: PropTypes.shape({}).isRequired,\n size: PropTypes.string.isRequired,\n onPropsChanged: PropTypes.func,\n};\n\nexport default XDFUploadBigFile;\n","import React, { useEffect, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction validateUrl(value) {\n return /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(\n value,\n );\n}\n\nfunction XDFUrl({ it, size, model, onPropChanged, onEnterPress }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, showOnly, require } = it;\n\n const val = gv(model, prop, '');\n const [url0, setUrl0] = useState(val);\n const [isInvalid, setIsInvalid] = useState(false);\n\n useEffect(() => {\n setUrl0(gv(model, prop, ''));\n }, []);\n\n useEffect(() => {\n if (validateUrl(url0)) {\n setIsInvalid(false);\n if (val !== url0) {\n onPropChanged(it, url0);\n }\n } else {\n if (url0) setIsInvalid(true);\n onPropChanged(it, '');\n }\n }, [url0]);\n\n const onChange = (ev) => {\n setUrl0(ev.target.value);\n };\n\n const onKeyDown = (ev) => {\n if (ev.keyCode === 13) {\n if (onEnterPress) onEnterPress(ev, it);\n }\n };\n\n const suffix = (\n \n {!!val && (\n \n \n \n )}\n \n );\n\n return (\n \n
\n
\n \n
\n \n \n
\n
\n \n );\n}\n\nXDFUrl.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n require: PropTypes.bool,\n onEnter: PropTypes.func,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n onEnterPress: PropTypes.func.isRequired,\n};\n\nexport default XDFUrl;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { useXDFCss, useXDFScript } from './xdf-hooks';\n\nconst JODIT_JS_URL = '//cdnjs.cloudflare.com/ajax/libs/jodit/3.6.1/jodit.min.js';\nconst JODIT_CSS_URL = '//cdnjs.cloudflare.com/ajax/libs/jodit/3.6.1/jodit.min.css';\n\nconst config = {\n showCharsCounter: false,\n showWordsCounter: false,\n showXPathInStatusbar: false,\n toolbarButtonSize: 'small',\n buttons:\n 'bold,strikethrough,underline,italic,|,ul,ol,|,outdent,indent,|,font,fontsize,brush,|,link,|,align,hr,|,source',\n buttonsMD:\n 'bold,strikethrough,underline,italic,|,ul,ol,|,outdent,indent,|,font,fontsize,brush,|,link,|,align,hr,|,source',\n buttonsSM:\n 'bold,strikethrough,underline,italic,|,ul,ol,|,outdent,indent,|,font,fontsize,brush,|,link,|,align,hr,|,source',\n buttonsXS:\n 'bold,strikethrough,underline,italic,|,ul,ol,|,outdent,indent,|,font,fontsize,brush,|,link,|,align,hr,|,source',\n uploader: {\n insertImageAsBase64URI: true,\n },\n};\n// 'bold,strikethrough,underline,italic,|,ul,ol,|,outdent,indent,|,font,fontsize,brush,|,image,link,|,align,hr,|,source',\n\n// eslint-disable-next-line import/prefer-default-export\nexport const useJOdit = (ref, initContent) => {\n const editor = useRef(null);\n\n const [doneJS] = useXDFScript(JODIT_JS_URL);\n const [libDone] = useXDFCss(doneJS && JODIT_CSS_URL);\n\n const [html, setHtml] = useState('');\n const [initDone, setInitDone] = useState(false);\n\n useEffect(() => {\n if (libDone && !editor.current) {\n // eslint-disable-next-line no-undef\n editor.current = Jodit.make(ref.current, config);\n editor.current.setEditorValue(initContent || '');\n editor.current.events.on('change', (v) => {\n // console.log('Jodit', v);\n setHtml(v);\n });\n setInitDone(true);\n // console.log('!!!!!!!!!!!!!!!!!!!!!!!!', !!editor.current);\n }\n return () => {\n // console.log('------------------------', !!editor.current);\n if (editor.current) {\n editor.current.destruct();\n editor.current = null;\n }\n };\n }, [libDone, ref.current]);\n\n useEffect(() => {\n // console.log('initContent', initContent);\n if (initContent && editor.current) editor.current.setEditorValue(initContent);\n }, [initContent]);\n\n return [initDone, html];\n};\n","import React, { useEffect, useRef } from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport { useJOdit } from './xdf-jodit';\n\nfunction XDFWysiwyg2({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, showOnly, rows } = it;\n\n const val = gv(model, prop, '');\n\n const editor = useRef(null);\n const [joditDone, content] = useJOdit(editor, val);\n\n useEffect(() => {\n if (joditDone) {\n onPropChanged(it, content);\n }\n }, [joditDone, content]);\n\n return (\n \n
\n
\n \n
\n \n \n
\n \n \n );\n}\n\nXDFWysiwyg2.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n rows: PropTypes.number,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFWysiwyg2;\n","import React, { useEffect, useState } from 'react';\n\nimport { Col, Input } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction getIntValOrNull(val) {\n const ival = parseInt(val, 10);\n if (val !== `${ival}`) return null;\n return ival;\n}\n\nfunction XDFNumberMinMax({ it, size, model, onPropChanged }) {\n const [min0, setMin0] = useState('');\n const [max0, setMax0] = useState('');\n\n const { id, prop, label, labelSup, autoFocus, span, readOnly, showOnly } = it;\n\n const [valMin, valMax] = gv(model, prop) || [];\n\n useEffect(() => {\n setMin0(valMin || '');\n setMax0(valMax || '');\n }, [id, prop]);\n\n const onChangeMin = (ev) => {\n const val = ev.target.value;\n setMin0(val);\n\n const ival = getIntValOrNull(val);\n onPropChanged(it, [ival, valMax]);\n };\n\n const onChangeMax = (ev) => {\n const val = ev.target.value;\n setMax0(val);\n\n const ival = getIntValOrNull(val);\n onPropChanged(it, [valMin, ival]);\n };\n\n return (\n \n
\n
\n \n
\n \n \n
 ~ 
\n \n
\n \n \n );\n}\n\nXDFNumberMinMax.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n labelSup: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.bool]),\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFNumberMinMax;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { Col, Empty, Input, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport { xdRoundPlus } from '../XDataTable/xdf-utils';\n\nconst parseYoutubeId = (url) => {\n // eslint-disable-next-line prefer-regex-literals\n const regexp = new RegExp(\n '(?:youtube(?:-nocookie)?.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu.be/)([^\"&?/s]{11})',\n 'i',\n );\n const matches = url.match(regexp);\n return matches ? matches[1] : false;\n};\n\nfunction XDFVideo({ it, size, model, onPropChanged }) {\n const { id, prop, label, placeholder, autoFocus, span, readOnly, showOnly, require } = it;\n\n const pic = useRef(null);\n const [videoModel, setVideoModel] = useState({ videoId: '' });\n const val = (gv(model, prop) || '').split('|');\n const [videoType, videoId, aspectRatio] = val;\n\n useEffect(() => {\n if (videoType && videoId) {\n setVideoModel({\n videoType,\n videoId,\n });\n } else {\n setVideoModel({\n videoId: '',\n });\n }\n }, [videoType, videoId, aspectRatio]);\n\n const onChange = (ev) => {\n const v = ev.target.value;\n const vid = parseYoutubeId(v);\n\n setVideoModel({\n ...videoModel,\n videoId: vid || v,\n });\n };\n\n const onLoadImage = () => {\n const w = pic.current?.width || 400;\n const h = pic.current?.height || 300;\n const wh = xdRoundPlus(w / h, 3);\n\n const videoCode = `youtube|${videoModel.videoId}|${wh}`;\n if (videoCode !== val) onPropChanged(it, videoCode);\n };\n\n return (\n \n
\n
\n \n
\n \n \n\n {!videoModel.videoId && (\n
\n \n
\n )}\n\n {videoModel.videoId && (\n
\n \n
\n )}\n
\n \n \n );\n}\n\nXDFVideo.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n require: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFVideo;\n","import React from 'react';\n\nimport { Col } from 'antd';\nimport cn from 'classnames';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport dayjs from 'dayjs';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport { DEFAULT_TIMEFORMAT } from './constants';\nimport DatePicker from './DayJsDatePicker';\nimport styles from './styles.scss';\n\nfunction XDFTimeRange({ it, size, model, onPropChanged }) {\n const { id, prop, prop2, label, placeholder, autoFocus, span, readOnly, format, noW100 } = it;\n\n const onChange = (times) => {\n onPropChanged(\n it,\n times[0].hour() * 60 + times[0].minute(),\n times[1].hour() * 60 + times[1].minute(),\n );\n };\n\n const val = gv(model, prop, 420);\n const val2 = gv(model, prop2, 900);\n\n // console.log('XDFTime', model, val, val2);\n return (\n \n
\n
\n \n
\n
\n \n
\n
\n \n );\n}\n\nXDFTimeRange.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n prop2: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n format: PropTypes.string,\n noW100: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFTimeRange;\n","import React from 'react';\n\nimport { Col, Input, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFPassword({ it, size, model, onPropChanged, onEnterPress, newPassword }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n suffix,\n require,\n tooltip,\n showCount,\n } = it;\n\n const onChange = (ev) => {\n onPropChanged(it, ev.target.value);\n };\n\n const onKeyDown = (ev) => {\n if (ev.keyCode === 13) {\n if (onEnterPress) onEnterPress(ev, it);\n }\n };\n\n const val = gv(model, prop, '');\n return (\n \n
\n
\n \n
\n \n \n \n
\n \n \n \n );\n}\n\nXDFPassword.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n require: PropTypes.bool,\n onEnter: PropTypes.func,\n tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n showCount: PropTypes.bool,\n newPassword: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n onEnterPress: PropTypes.func.isRequired,\n};\n\nexport default XDFPassword;\n","import React from 'react';\n\nimport { Col, Radio } from 'antd';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport xdfGetValue from './xdf-get-value';\n\nfunction XDFSwitch3({ it, size, model, onPropChanged }) {\n const { id, prop, label, span, readOnly, plain } = it;\n const val = xdfGetValue(model, prop, -1);\n\n const onChange = (ev) => {\n // const nv = ev.target.value;\n // onPropChanged(it, nv);\n };\n\n const onClick0 = () => {\n onPropChanged(it, val === 0 ? -1 : 0);\n };\n\n const onClick1 = () => {\n onPropChanged(it, val === 1 ? -1 : 1);\n };\n\n return (\n \n
\n
\n \n
\n \n \n {/*  ?  */}\n \n Да\n \n \n Нет\n \n \n
\n \n \n );\n}\n\nXDFSwitch3.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n boolType: PropTypes.bool,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n plain: PropTypes.bool,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n};\n\nexport default XDFSwitch3;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Col, Radio, Select } from 'antd';\nimport cn from 'classnames';\nimport gv from 'get-value';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction XDFRadio({ it, size, model, onPropChanged, multiple }) {\n const {\n id,\n prop,\n label,\n placeholder,\n autoFocus,\n span,\n readOnly,\n showOnly,\n values,\n filterValues,\n loadingDataMsg,\n } = it;\n\n const mountedRef = useRef(false);\n const isMounted = useCallback(() => mountedRef.current, []);\n\n const [loading, setLoading] = useState(false);\n const [values0, setValues0] = useState([]);\n\n // mount / unmount\n useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n });\n\n // load values, if promise\n useEffect(() => {\n if (values && Array.isArray(values)) {\n setValues0(values);\n } else {\n // eslint-disable-next-line react/prop-types\n values().then((list) => {\n // console.log(list);\n if (isMounted()) {\n setValues0(list);\n setLoading(false);\n }\n });\n setLoading(true);\n }\n }, [values]);\n\n const onChange = (e) => {\n const { value } = e.target;\n onPropChanged(it, value);\n };\n\n let val = gv(model, prop, multiple ? [] : undefined);\n if (loading) {\n val = multiple ? [] : undefined;\n }\n\n // check val\n if (!Array.isArray(val)) {\n const item = values0.find((x) => x.id === val);\n if (!item) {\n val = '';\n }\n }\n\n return (\n \n
\n {!!label && (\n
\n \n
\n )}\n \n \n {(values0 || [])\n .filter((v) => {\n if (!filterValues) return true;\n return filterValues.includes(v.id);\n })\n .map((v) => (\n \n {v.name}\n \n ))}\n \n
\n \n \n );\n}\n\nXDFRadio.propTypes = {\n it: PropTypes.shape({\n id: PropTypes.string.isRequired,\n prop: PropTypes.string.isRequired,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n span: PropTypes.number,\n readOnly: PropTypes.bool,\n showOnly: PropTypes.bool,\n values: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n filterValues: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n loadingDataMsg: PropTypes.string,\n }).isRequired,\n size: PropTypes.string.isRequired,\n model: PropTypes.shape({}).isRequired,\n onPropChanged: PropTypes.func.isRequired,\n multiple: PropTypes.bool.isRequired,\n};\n\nexport default XDFRadio;\n","/*\n Deep clones all properties except functions\n\n var arr = [1, 2, 3];\n var subObj = {aa: 1};\n var obj = {a: 3, b: 5, c: arr, d: subObj};\n var objClone = clone(obj);\n arr.push(4);\n subObj.bb = 2;\n obj; // {a: 3, b: 5, c: [1, 2, 3, 4], d: {aa: 1}}\n objClone; // {a: 3, b: 5, c: [1, 2, 3], d: {aa: 1, bb: 2}}\n*/\n\nfunction clone(obj) {\n let result = obj;\n var type = {}.toString.call(obj).slice(8, -1);\n if (type == 'Set') {\n return new Set([...obj].map(value => clone(value)));\n }\n if (type == 'Map') {\n return new Map([...obj].map(kv => [clone(kv[0]), clone(kv[1])]));\n }\n if (type == 'Date') {\n return new Date(obj.getTime());\n }\n if (type == 'RegExp') {\n return RegExp(obj.source, getRegExpFlags(obj));\n }\n if (type == 'Array' || type == 'Object') {\n result = Array.isArray(obj) ? [] : {};\n for (var key in obj) {\n // include prototype properties\n result[key] = clone(obj[key]);\n }\n }\n // primitives and non-supported objects (e.g. functions) land here\n return result;\n}\n\nfunction getRegExpFlags(regExp) {\n if (typeof regExp.source.flags == 'string') {\n return regExp.source.flags;\n } else {\n var flags = [];\n regExp.global && flags.push('g');\n regExp.ignoreCase && flags.push('i');\n regExp.multiline && flags.push('m');\n regExp.sticky && flags.push('y');\n regExp.unicode && flags.push('u');\n return flags.join('');\n }\n}\n\nexport default clone;\n","/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable no-restricted-syntax */\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Col, Row } from 'antd';\nimport cn from 'classnames';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport dayjs from 'dayjs';\nimport { nanoid } from 'nanoid';\nimport objectHash from 'object-hash';\nimport PropTypes from 'prop-types';\n\nimport { DEFAULT_DATEFORMAT, DEFAULT_TIMEFORMAT } from './constants';\nimport styles from './styles.scss';\nimport xdfGetValue from './xdf-get-value';\nimport xdfSetValue from './xdf-set-value';\nimport XDFButton from './XDFButton';\nimport XDFCheckbox from './XDFCheckbox';\nimport XDFColor from './XDFColor';\nimport XDFDateRange from './XDFDateRangePicker';\nimport XDFDateTime from './XDFDateTimePicker';\nimport XDFDivider from './XDFDivider';\nimport XDFDividerWithCheckbox from './XDFDividerWithCheckbox';\nimport XDFEmail from './XDFEmail';\nimport XDFGalleryUpload from './XDFGalleryUpload';\nimport XDFGeocoder from './XDFGeocoder';\nimport XDFLatLng from './XDFLatLng';\n// eslint-disable-next-line import/no-cycle\nimport XDFModalTableForm from './XDFModalTableForm';\nimport XDFNumber from './XDFNumber';\nimport XDFPhone from './XDFPhone';\nimport XDFPhoneSmsCode from './XDFPhoneSmsCode';\nimport XDFPictureUpload from './XDFPictureUpload';\nimport XDFSearch from './XDFSearch';\nimport XDFSelect from './XDFSelect';\nimport XDFShowDateTime from './XDFShowDateTime';\nimport XDFShowFileSize from './XDFShowFileSize';\nimport XDFShowText from './XDFShowText';\nimport XDFSwitch from './XDFSwitch';\nimport XDFTableSimple from './XDFTableSimple';\nimport XDFTags from './XDFTags';\nimport XDFText from './XDFText';\nimport XDFTextarea from './XDFTextarea';\nimport XDFTime from './XDFTimePicker';\nimport XDFUploadBase64 from './XDFUploadBase64';\nimport XDFUploadBigFile from './XDFUploadBigFile';\nimport XDFUrl from './XDFUrl';\nimport XDFWysiwyg2 from './XDFWysiwyg2';\nimport XDFNumberMinMax from './XDFNumberMinMax';\nimport XDFVideo from './XDFVideo';\nimport XDFTimeRange from './XDFTimeRange';\nimport XDFPassword from './XDFPassword';\nimport XDFSwitch3 from './XDFSwitch3';\nimport XDFRadio from './XDFRadio';\nimport deepClone from './deepClone';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nrequire('dayjs/locale/ru');\nconst weekday = require('dayjs/plugin/weekday');\nconst localeData = require('dayjs/plugin/localeData');\nconst customParseFormat = require('dayjs/plugin/customParseFormat');\n\ndayjs.locale('ru');\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(customParseFormat);\n\n// Типы полей формы\nexport const XDF_TYPE = {\n TEXT: 1,\n TEXTAREA: 2,\n NUMBER: 3,\n CHECKBOX: 4,\n SWITCH: 5,\n SELECT: 7,\n MULTISELECT: 8,\n TAGS: 9,\n DATETIME: 10,\n TIME: 11,\n DATERANGE: 12,\n DIVIDER: 13,\n GEOCODER: 14,\n BUTTON: 16,\n PHONE: 17,\n PHONE_SMS_CODE: 18,\n SHOW_DATETIME: 19,\n LAT_LNG: 20,\n EMAIL: 21,\n MODAL_TABLE_FORM: 22,\n SPACE: 23,\n URL: 25,\n WYSIWYG: 26,\n UPLOAD_BASE64: 27,\n SHOW_TEXT: 28,\n COLOR: 29,\n DIVIDER_WITH_CECKBOX: 30,\n TABLE_SIMPLE: 31,\n SEARCH: 32,\n GALLERY_UPLOAD: 34,\n PICTURE_UPLOAD: 35,\n SHOW_FILE_SIZE: 36,\n UPLOAD_BIG_FILE: 37,\n NUMBER_MIN_MAX: 38,\n VIDEO: 39,\n TIMERANGE: 40,\n PASSWORD: 41,\n SWITCH3: 43,\n RADIO: 44,\n};\n\n/**\n *\n * @param {*} form.item\n * type - XFD_TYPE\n * prop - название свойства (возможно использовать dot notation)\n * label - название подписи\n * span - количество колонок (макс 24)\n * hide - =true - скрыть поле\n * readOnly - =true - поле только для чтения\n * autoFocus - =true - установить фокус на элементе\n * defValue - значение по умолчанию, если оно не установлено (устанавливается при инициализации)\n * required - обязательное поле\n * placeholder - для Input подсказака\n *\n * @param onChangeModel вызывется с параметрами\n * model - измененная модель\n * isChanged - =true - модель измненилась\n * isError - в форме ошибка\n *\n */\nfunction XDataForm({\n debug,\n inline,\n title,\n size,\n width,\n table,\n form,\n model,\n plain,\n onChangeModel,\n onPressEnter,\n // eslint-disable-next-line react/prop-types\n children,\n}) {\n const [defModel, setDefModel] = useState({});\n const [updateModelDefVal, setUpdateModelDefVal] = useState(false);\n\n // подсчитаем HASH формы\n const formHash = objectHash({\n form: form\n .filter((x) => !x.hide)\n .map((x) => {\n // eslint-disable-next-line no-param-reassign\n if (!x.id) x.id = nanoid(7);\n return {\n version: x.version,\n placeholder: x.placeholder,\n type: x.type,\n label: x.label,\n span: x.span,\n readOnly: x.readOnly,\n showOnly: x.showOnly,\n autoFocus: x.autoFocus,\n switchBtn: x.switchBtn,\n __valuesHash: x.values && objectHash(x.values),\n __filterValuesHash: x.filterValues && objectHash(x.filterValues),\n };\n }),\n });\n // console.log('formHash', formHash);\n\n // добаивть уникальный ключ к каждой записи\n const formOut = useMemo(\n () =>\n form\n .filter((x) => !x.hide)\n .map((x, i) => ({\n ...x,\n key: `${x.prop}-${i}`,\n })),\n [formHash],\n );\n\n useEffect(() => {\n if (updateModelDefVal) {\n onChangeModel(defModel);\n setUpdateModelDefVal(false);\n }\n }, [updateModelDefVal]);\n\n useEffect(() => {\n // check if def exists\n let ifMC = false;\n const model0 = { ...model };\n\n for (const it of formOut) {\n if (xdfGetValue(model, it.prop, undefined, plain) === undefined) {\n if (it.defValue !== undefined) {\n // console.log('defValue', it.defValue);\n xdfSetValue(model0, it.prop, it.defValue, plain);\n ifMC = true;\n } else if (it.type === XDF_TYPE.MULTISELECT || it.type === XDF_TYPE.TAGS) {\n if (!Array.isArray(xdfGetValue(model, it.prop, undefined, plain))) {\n xdfSetValue(model0, it.prop, [], plain);\n }\n } else if (it.type === XDF_TYPE.DATETIME) {\n xdfSetValue(model0, it.prop, dayjs().format(it.format || DEFAULT_DATEFORMAT), plain);\n } else if (it.type === XDF_TYPE.DATERANGE) {\n xdfSetValue(model0, it.prop, dayjs().format(it.format || DEFAULT_DATEFORMAT), plain);\n xdfSetValue(model0, it.prop2, dayjs().format(it.format || DEFAULT_DATEFORMAT), plain);\n } else if (it.type === XDF_TYPE.TIME) {\n xdfSetValue(model0, it.prop, dayjs().format(it.format || DEFAULT_TIMEFORMAT), plain);\n }\n }\n }\n\n if (ifMC) {\n setDefModel(model0);\n setUpdateModelDefVal(true);\n }\n }, [formOut]);\n\n function checkByRequired(m) {\n for (const fld of formOut) {\n if (fld.require && !xdfGetValue(m, fld.prop, undefined, plain)) return false;\n }\n return true;\n }\n\n function onPropChanged(it, value, value2) {\n // const m = {\n // ...model,\n // };\n const m = deepClone(model);\n\n // console.log('onPropChanged', m, it.prop, value);\n\n xdfSetValue(m, it.prop, value, plain);\n\n if (value2 !== undefined) {\n xdfSetValue(m, it.prop2, value2, plain);\n }\n onChangeModel(m, checkByRequired(m));\n }\n\n function onPropsChanged(modelBlk) {\n const m = {\n ...model,\n ...modelBlk,\n };\n onChangeModel(m, checkByRequired(m));\n }\n\n function onEnterPress(ev, it) {\n ev.preventDefault();\n // console.log('onEnterPress', it);\n if (onPressEnter) onPressEnter(ev, it);\n }\n\n function renderElement(it) {\n const iprops = {\n key: it.key,\n size,\n it,\n model,\n onPropChanged,\n onPropsChanged,\n onEnterPress,\n multiple: false,\n plain,\n };\n\n switch (it.type) {\n case XDF_TYPE.TEXT:\n return ;\n case XDF_TYPE.PASSWORD:\n return ;\n\n case XDF_TYPE.TEXTAREA:\n return ;\n case XDF_TYPE.WYSIWYG:\n return ;\n case XDF_TYPE.SHOW_TEXT:\n return ;\n case XDF_TYPE.SHOW_FILE_SIZE:\n return ;\n\n case XDF_TYPE.TABLE_SIMPLE:\n return ;\n\n case XDF_TYPE.COLOR:\n return ;\n\n case XDF_TYPE.PHONE:\n return ;\n case XDF_TYPE.PHONE_SMS_CODE:\n return ;\n case XDF_TYPE.EMAIL:\n return ;\n\n case XDF_TYPE.NUMBER:\n return ;\n case XDF_TYPE.NUMBER_MIN_MAX:\n return ;\n\n case XDF_TYPE.URL:\n return ;\n\n case XDF_TYPE.GEOCODER:\n return ;\n case XDF_TYPE.LAT_LNG:\n return ;\n\n case XDF_TYPE.CHECKBOX:\n return ;\n case XDF_TYPE.DIVIDER_WITH_CECKBOX:\n return ;\n case XDF_TYPE.SWITCH:\n return ;\n case XDF_TYPE.SWITCH3:\n return ;\n\n case XDF_TYPE.SELECT:\n return ;\n case XDF_TYPE.RADIO:\n return ;\n\n case XDF_TYPE.SEARCH:\n return ;\n\n case XDF_TYPE.MULTISELECT:\n iprops.multiple = true;\n return ;\n\n case XDF_TYPE.TAGS:\n iprops.multiple = true;\n return ;\n\n case XDF_TYPE.DATETIME:\n return ;\n case XDF_TYPE.DATERANGE:\n return ;\n\n case XDF_TYPE.TIME:\n return ;\n case XDF_TYPE.TIMERANGE:\n return ;\n\n case XDF_TYPE.SHOW_DATETIME:\n return ;\n case XDF_TYPE.DIVIDER:\n return ;\n\n case XDF_TYPE.BUTTON:\n return ;\n\n case XDF_TYPE.MODAL_TABLE_FORM:\n return ;\n\n case XDF_TYPE.UPLOAD_BASE64:\n return ;\n case XDF_TYPE.GALLERY_UPLOAD:\n return ;\n case XDF_TYPE.PICTURE_UPLOAD:\n return ;\n case XDF_TYPE.UPLOAD_BIG_FILE:\n return ;\n\n case XDF_TYPE.VIDEO:\n return ;\n\n case XDF_TYPE.SPACE:\n return (\n \n {it.value}\n \n );\n\n default:\n return null;\n }\n }\n\n return (\n
\n {!!title &&

{title}

}\n {!table && (\n \n {formOut.map(renderElement)}\n {children && {children}}\n \n )}\n {table && (\n \n \n {formOut.map((it) => {\n if (it.type === undefined) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n \n );\n })}\n \n
\n
{it.label}
\n
{it.label}\n \n {renderElement({\n ...it,\n label: undefined,\n span: 24,\n })}\n \n
\n )}\n {!!debug && (\n \n \n \n {JSON.stringify(\n Array.isArray(debug)\n ? Object.keys(model)\n .filter((k) => debug.includes(k))\n .reduce((a, k) => {\n // eslint-disable-next-line no-param-reassign\n a[k] = model[k];\n return a;\n }, {})\n : model,\n null,\n 2,\n )}\n
\n \n \n )}\n \n );\n}\n\nXDataForm.defaultProps = {\n debug: false,\n inline: false,\n title: null,\n size: 'middle',\n width: '100%',\n table: false,\n onPressEnter: null,\n plain: false,\n};\n\nXDataForm.propTypes = {\n debug: PropTypes.oneOfType([PropTypes.bool, PropTypes.arrayOf(PropTypes.string)]),\n inline: PropTypes.bool,\n title: PropTypes.string,\n size: PropTypes.string,\n width: PropTypes.string,\n table: PropTypes.bool,\n form: PropTypes.arrayOf(PropTypes.shape({}).isRequired).isRequired,\n model: PropTypes.shape({}).isRequired,\n onChangeModel: PropTypes.func.isRequired,\n onPressEnter: PropTypes.func,\n plain: PropTypes.bool,\n};\n\nexport default XDataForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"listHolder\":\"listHolder__xanL3\",\"listCtrls\":\"listCtrls__C0W0I\",\"elCtrl\":\"elCtrl__Hd7_S\",\"left\":\"left__UebDE\",\"right\":\"right__FcgQO\",\"last\":\"last__fwGca\",\"filter\":\"filter__VW2qe\",\"datesFilter\":\"datesFilter__JX4u0\",\"list\":\"list__UvSFu\",\"sortHdr\":\"sortHdr__lZu9i\",\"hl\":\"hl__PoYyz\",\"secondHdr\":\"secondHdr__jHIs4\",\"selectRow\":\"selectRow__JKme8\",\"nowrap\":\"nowrap__nj2ir\",\"multi\":\"multi__Gpnfy\",\"inlineEditCell\":\"inlineEditCell__RDiiJ\",\"inlineValue\":\"inlineValue__mn0wx\",\"editing\":\"editing__Wcawn\",\"changedValue\":\"changedValue__qvOlE\",\"inlineDlg\":\"inlineDlg__b4_Au\",\"close\":\"close__HXOiX\",\"ctrls\":\"ctrls__r24Dp\",\"checkCell\":\"checkCell__eE_Cw\",\"progress-line\":\"progress-line__s0iuA\",\"running-progress\":\"running-progress__cky7X\",\"uploadFormBtn\":\"uploadFormBtn__V1Gfp\",\"progressImport\":\"progressImport___9fR6\",\"progressInfo\":\"progressInfo__fchbD\",\"msg\":\"msg__VBt4F\",\"table\":\"table__IOSqH\"};","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState, useRef } from 'react';\nimport LZString from 'lz-string';\n\n/**\n * Параметры из URL в состояние таблицы\n * @param {*} urlParams\n * 0 - количество в списке\n * 1 - номер страницы\n * 2 - сортировка (поле)\n * 3 - сортировка (направление)\n * 4 - ID доп колонок\n * 5 - сжатый текущий фильтр\n *\n * @param {*} commonColumns\n * @param {*} extentedColumns\n */\nexport function useUrlToTableState(\n commonColumns,\n extentedColumns,\n initFilter,\n initSort,\n urlTableState,\n defValues,\n) {\n const [pageSize, setPageSize] = useState(defValues.pageSize);\n const [pageNumber, setPageNumber] = useState(1);\n const [sortProp, setSortProp] = useState('');\n const [sortOrder, setSortOrder] = useState(1);\n const [extColumnsSelected, setExtColumnsSelected] = useState(null);\n const [props, setProps] = useState([]);\n const [stateHash, setStateHash] = useState('');\n const [filter, setFilter] = useState(initFilter);\n const [sfilter, setSfilter] = useState('');\n const [filteredByCheckedRows, setFilteredByCheckedRows] = useState(0);\n const [tempId, setTempId] = useState('');\n\n useEffect(() => {\n const urlState = urlTableState.split(',');\n setStateHash(`STATE-HASH:${urlState.join('$')}`);\n\n urlState[0] && setPageSize(parseInt(urlState[0], 10));\n urlState[1] && setPageNumber(parseInt(urlState[1], 10));\n\n if (urlState[2]) {\n setSortProp(urlState[2]);\n setSortOrder(urlState[3] === 'a' ? 1 : -1);\n } else {\n setSortProp(initSort[0]);\n setSortOrder(initSort[1]);\n }\n\n let exSelected = null;\n if (Array.isArray(extentedColumns) && extentedColumns.length > 0) {\n if (urlState[4]) exSelected = extentedColumns.find((x) => x.id === urlState[4]);\n // eslint-disable-next-line prefer-destructuring\n if (!exSelected) exSelected = extentedColumns[0];\n }\n setExtColumnsSelected(exSelected);\n\n // filter\n setSfilter(urlState[5] || '');\n\n let filter0 = initFilter;\n if (urlState[5]) {\n try {\n filter0 = JSON.parse(LZString.decompressFromEncodedURIComponent(urlState[5]));\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n setFilter(filter0);\n\n // props\n let _props = [...(commonColumns.props || [])];\n commonColumns.columns.forEach((col) => {\n if (col.prop.charAt(0) === '+') _props.push(col.prop.substring(1));\n });\n if (exSelected && exSelected.id) {\n _props = [..._props, ...(exSelected.props || [])];\n exSelected.columns.forEach((col) => {\n if (col.prop.charAt(0) === '+') _props.push(col.prop.substring(1));\n });\n }\n\n // temp id\n setTempId(urlState[5 + 1]);\n\n // checked\n if (urlState[7] === '1') setFilteredByCheckedRows(1);\n else setFilteredByCheckedRows(0);\n\n setProps(_props);\n }, [urlTableState]);\n\n return [\n stateHash,\n pageSize,\n pageNumber,\n sortProp,\n sortOrder,\n extColumnsSelected,\n filter,\n sfilter,\n props,\n filteredByCheckedRows,\n tempId,\n ];\n}\n\n/**\n * Подписаться на канал\n * @param {*} channelName\n * @param {*} callback\n */\nexport function useXDTChannelSubscribe(\n channelName,\n subscribeToChannel,\n unsubscribeToChannel,\n callback,\n) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Remember the latest callback.\n useEffect(() => {\n function onMessageInChannel(msg) {\n savedCallback.current(msg);\n }\n\n channelName && subscribeToChannel(channelName, onMessageInChannel);\n return () => {\n channelName && unsubscribeToChannel(channelName, onMessageInChannel);\n };\n }, [channelName]);\n}\n\nexport const useXDTClickOutside = (ref, callback, useEscKey = false) => {\n useEffect(\n () => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n callback();\n };\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n const escKeyUpListener = (ev) => {\n if (ev.keyCode === 27) {\n callback();\n }\n };\n if (useEscKey) {\n document.addEventListener('keyup', escKeyUpListener);\n }\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n if (useEscKey) {\n document.removeEventListener('keyup', escKeyUpListener);\n }\n };\n },\n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, callback, useEscKey],\n );\n};\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Modal, Progress } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { useXDFScript } from '../XDataForm/xdf-hooks';\nimport { xdGetColProp, xdRoundPlus } from './xdf-utils';\n\nconst LOAD_DATA_STEP = 20;\n\nexport const EXCELJS_URL = 'https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.3.0/exceljs.min.js';\nexport const FILESAVER_URL = 'https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js';\n\n/**\n * Autofit columns by width\n * https://github.com/exceljs/exceljs/issues/83\n *\n * @param worksheet {ExcelJS.Worksheet}\n * @param minimalWidth\n */\nconst autoWidth = (worksheet, minimalWidth = 10) => {\n worksheet.columns.forEach((column) => {\n let maxColumnLength = 0;\n column.eachCell({ includeEmpty: true }, (cell) => {\n maxColumnLength = Math.max(\n maxColumnLength,\n minimalWidth,\n cell.value ? cell.value.toString().length : 0,\n );\n });\n // eslint-disable-next-line no-param-reassign\n column.width = maxColumnLength + 2;\n });\n};\n\nfunction XDTExportToExcel({ startExport, onCloseExport, excelExport }) {\n const [progress, setProgress] = useState(0);\n const [data, setData] = useState(null);\n\n const [loadJs, setLoadJs] = useState(false);\n const [doneExcelJS] = useXDFScript(loadJs && EXCELJS_URL);\n const [doneJS] = useXDFScript(doneExcelJS && FILESAVER_URL);\n\n const workbook = useRef(null);\n const sheet = useRef(null);\n\n const onSaveXlsx = async () => {\n if (excelExport.autoWidth) {\n autoWidth(sheet.current);\n }\n\n workbook.current.xlsx.writeBuffer().then((buffer) => {\n // eslint-disable-next-line no-undef\n saveAs(\n new Blob([buffer], { type: 'application/octet-stream' }),\n `${excelExport.filename}.xlsx`,\n );\n\n // close\n setTimeout(() => {\n onCloseExport();\n }, 1000);\n });\n };\n\n const loadData = async (page) => {\n if (!startExport) return;\n\n const result = await excelExport.apiLoadData(\n page,\n excelExport.exportStep || LOAD_DATA_STEP,\n excelExport.filter,\n excelExport.props,\n excelExport.sortProp,\n excelExport.sortOrder,\n excelExport.searchProps,\n );\n\n setData(result);\n };\n\n const onStartExport = async () => {\n // eslint-disable-next-line no-undef\n workbook.current = new ExcelJS.Workbook();\n workbook.current.created = new Date();\n workbook.current.modified = new Date();\n\n // add sheet\n sheet.current = workbook.current.addWorksheet(excelExport.tabname);\n\n // columns\n const sheetColumns = [\n ...excelExport.commonColumns.columns,\n ...(excelExport.extColumnsSelected?.columns || []),\n ]\n .filter((col) => !col.excelHide)\n .map((col, i) => {\n const prop = xdGetColProp(col.prop);\n const style = {};\n if (col.align) {\n style.alignment = { horizontal: col.align };\n }\n return {\n key: `k_${prop}_${i}`,\n header: col.excelColName || (typeof col.name === 'string' ? col.name : ''),\n width: 13,\n style,\n __sort: col.excelColPos || i,\n };\n })\n .sort((a, b) => a.__sort - b.__sort);\n sheet.current.columns = sheetColumns;\n\n // start load data\n loadData(1);\n };\n\n useEffect(() => {\n if (workbook.current && data) {\n // add data\n for (const item of data.list) {\n const row = {};\n [...excelExport.commonColumns.columns, ...(excelExport.extColumnsSelected?.columns || [])]\n .filter((c) => !c.excelHide)\n .forEach((col, i) => {\n const prop = xdGetColProp(col.prop);\n row[`k_${prop}_${i}`] = excelExport.getRowValue(col, prop, item, true);\n });\n // debugger;\n sheet.current.addRow(row);\n }\n\n // load next?\n if (data.list?.length > 0) {\n loadData(data.page + 1);\n setProgress(progress + (data.list?.length || 0));\n } else {\n onSaveXlsx();\n }\n }\n }, [data]);\n\n useEffect(() => {\n if (startExport) {\n setProgress(0);\n if (!window.ExcelJS) setLoadJs(true);\n else onStartExport();\n }\n return () => {\n if (startExport) {\n // console.log('startExport - CLOSE');\n workbook.current = null;\n }\n };\n }, [startExport]);\n\n useEffect(() => {\n if (doneJS) {\n onStartExport();\n }\n }, [doneJS]);\n\n return (\n \n \n \n );\n}\n\nXDTExportToExcel.defaultProps = {\n startExport: false,\n};\n\nXDTExportToExcel.propTypes = {\n startExport: PropTypes.bool,\n onCloseExport: PropTypes.func.isRequired,\n excelExport: PropTypes.shape({\n filename: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n tabname: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exportStep: PropTypes.number,\n autoWidth: PropTypes.bool,\n // internal\n getRowValue: PropTypes.func.isRequired,\n apiLoadData: PropTypes.func.isRequired, // функция для загрузки данных\n filter: PropTypes.shape({}),\n props: PropTypes.arrayOf(PropTypes.string),\n searchProps: PropTypes.arrayOf(PropTypes.string),\n sortProp: PropTypes.string,\n sortOrder: PropTypes.number,\n commonColumns: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n extColumnsSelected: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n }).isRequired,\n};\n\nexport default XDTExportToExcel;\n","/* eslint-disable no-plusplus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Button, Dropdown, Input, Menu, Modal, Pagination, Row, Tooltip } from 'antd';\nimport cn from 'classnames';\nimport dayjs from 'dayjs';\nimport gv from 'get-value';\nimport LZString from 'lz-string';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport queryString from 'query-string';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport {\n useBeforeUnload,\n useInterval,\n useKey,\n useMeasure,\n useMountedState,\n useScroll,\n useWindowSize,\n} from 'react-use';\nimport EventEmitter from 'wolfy87-eventemitter';\n\nimport {\n AppstoreOutlined,\n CalendarOutlined,\n CheckOutlined,\n CheckSquareTwoTone,\n CloseCircleOutlined,\n DownOutlined,\n EditOutlined,\n FileExcelOutlined,\n FilterOutlined,\n ReloadOutlined,\n SwapOutlined,\n} from '@ant-design/icons';\n\nimport SortIcon from '../../../../assets/svg/sort0.svg';\nimport SortIconUp from '../../../../assets/svg/sort1.svg';\nimport SortIconDown from '../../../../assets/svg/sort2.svg';\nimport XDataForm, { XDF_TYPE } from '../XDataForm';\nimport XDFDateRange from '../XDataForm/XDFDateRangePicker';\nimport styles from './styles.scss';\nimport { xdGetColProp, xdRoundPlus } from './xdf-utils';\nimport { useUrlToTableState, useXDTChannelSubscribe } from './xdt-hooks';\nimport XDTExportToExcel from './XDTExportToExcel';\n\n/**\n * Переход на список по URL с инициализаций фильтра и сортировки\n * @param {*} history\n * @param {*} baseTableUrl\n * @param {*} filter\n * @param {*} sortBy\n * @param {*} extColumnId\n * @param {*} pageSize\n * @param {*} urlParamName\n */\nexport function xdGetTableUrlByParams(\n baseTableUrl,\n filter = {},\n sortBy = ['_id', 1],\n extColumnId = '',\n pageSize = 20,\n urlParamName = '_t_',\n) {\n const _lzFilter = LZString.compressToEncodedURIComponent(JSON.stringify(filter));\n const searchParams = `?${urlParamName}=${pageSize},1,${sortBy[0]},${\n sortBy[1] === 1 ? 'a' : 'd'\n },${extColumnId},${_lzFilter},${nanoid(4)},0`;\n return `${baseTableUrl}${searchParams}`;\n}\n\n/**\n * Таблица данных\n * @param {*} loadData - загрузка данных (await), параметры:\n * - page (текущая страница)\n * - pageSize (размер страницы)\n * - filter\n * - props\n * - sortProp\n * - sortOrder\n * - возврат\n * - list - список объектов\n * - total - всего объектов\n * @param {*} commonColumns\n * @param {*} extentedColumns\n * @param {*} urlParamName\n * @param {*} defValues\n */\nfunction XDataTable({\n apiLoadData,\n postLoadData,\n commonColumns,\n extentedColumns,\n urlParamName,\n selectRow,\n defValues,\n initFilter,\n datesFilter,\n datesPresets,\n filterForm,\n initSort,\n onRowClick,\n sioEvents,\n searchProps,\n searchLabel,\n leftActions,\n inlineEditFormProps,\n onInlineEditChanged,\n onSaveEventEmitter,\n onCallbacks,\n onSaveTableHandlers,\n excelExport,\n enableItemsSelect,\n debug,\n}) {\n const isMounted = useMountedState();\n const ee = useRef(null);\n\n const windowSize = useWindowSize();\n const [ref, ctrlsHeaderSize] = useMeasure();\n\n const history = useHistory();\n const location = useLocation();\n\n const qs = queryString.parse(location.search);\n const urlTableState = qs[urlParamName] || '';\n\n const [checkedRow, setCheckedRow] = useState({});\n const [prop2ValueCache, setProp2ValueCache] = useState(false);\n\n // const [filteredByCheckedRows, setFilteredByCheckedRows] = useState(false);\n const [filterBackup, setFilterBackup] = useState({});\n\n const [filterDialog, setFilterDialog] = useState({ visible: false, model: {} });\n const [loadingList, setLoadingList] = useState(false);\n const [searchStr, setSearchStr] = useState('');\n const [startExport, setStartExport] = useState(false);\n\n const [\n stateHash,\n pageSize,\n pageNumber,\n sortProp,\n sortOrder,\n extColumnsSelected,\n filter,\n sfilter,\n props,\n filteredByCheckedRows,\n // tempId,\n ] = useUrlToTableState(\n commonColumns,\n extentedColumns,\n initFilter,\n initSort,\n urlTableState,\n defValues,\n );\n\n const [tableState, setTableState] = useState({\n list: [],\n total: 0,\n });\n\n const tableRef = useRef(null);\n const tableScroll = useScroll(tableRef);\n\n const refInlineDlg = useRef(null);\n const [inlineEdit, setInlineEdit] = useState({\n id: -1,\n prop: '',\n model: {},\n isChanged: false,\n visible: false,\n });\n\n // хранится лог изменения значений для типов inline\n // _id:prop => value\n const [inlineEditLog, setInlineEditLog] = useState({});\n const inlineEditLogLen = useMemo(() => Object.keys(inlineEditLog).length, [inlineEditLog]);\n\n useBeforeUnload(inlineEditLogLen > 0, 'У вас есть не схраненные данные!');\n\n function closeInlienEditDlg() {\n setInlineEdit({ ...inlineEdit, visible: false });\n }\n\n useKey('Escape', () => {\n closeInlienEditDlg();\n });\n\n function showInlineDlg(id, prop, val, colType) {\n const form = inlineEditFormProps\n .filter((x) => x.prop === prop)\n .map((x) => ({\n ...x,\n id: nanoid(),\n span: 24,\n autoFocus: true,\n }));\n\n if (form.length === 0 && colType === 'check') {\n form.push({\n id: nanoid(),\n span: 24,\n autoFocus: true,\n type: XDF_TYPE.SWITCH,\n prop,\n });\n }\n\n setInlineEdit({\n visible: true,\n id,\n prop,\n isChanged: false,\n form,\n model: {\n [prop]: val,\n },\n });\n }\n\n function onResetInlienEditAll() {\n setInlineEditLog({});\n if (onInlineEditChanged) onInlineEditChanged({});\n\n closeInlienEditDlg();\n }\n\n const onSaveInlineEditValue = () => {\n const ieV = {\n ...inlineEditLog,\n [`${inlineEdit.id}:${inlineEdit.prop}`]: inlineEdit.model[inlineEdit.prop],\n };\n setInlineEditLog(ieV);\n if (onInlineEditChanged) onInlineEditChanged(ieV, onResetInlienEditAll);\n\n closeInlienEditDlg();\n };\n\n // const onResetInlienEditValue = () => {\n // const ieV = {\n // ...inlineEditLog,\n // };\n // delete ieV[`${inlineEdit.id}:${inlineEdit.prop}`];\n // setInlineEditLog(ieV);\n // if (onInlineEditChanged) onInlineEditChanged(ieV, onResetInlienEditAll);\n\n // closeInlienEditDlg();\n // };\n\n const onChangeInlineEditModel = (m, c) => {\n setInlineEdit({\n ...inlineEdit,\n isChanged: c,\n model: {\n ...m,\n },\n });\n };\n\n const [highlightId, setHighlightId] = useState(null);\n useInterval(\n () => {\n setHighlightId(null);\n },\n highlightId ? 1000 : null,\n );\n\n /**\n * Загрузить весь список\n */\n const loadData = async () => {\n setLoadingList(true);\n let result = await apiLoadData(\n pageNumber,\n pageSize,\n filter,\n props,\n sortProp,\n sortOrder,\n searchProps,\n );\n if (postLoadData) {\n const postResult = postLoadData(result);\n if (postResult) result = postResult;\n }\n\n setTableState({\n list: result.list,\n total: result.total,\n });\n setLoadingList(false);\n\n // send info from list\n if (result.info && ee.current) {\n ee.current.emit('LIST-INFO', result.info);\n }\n };\n\n /**\n * Обновить элемент, если он есть в списке\n * @param {*} itemId\n */\n async function reloadItem(itemId) {\n const idPropName = sioEvents ? sioEvents[3] || '_id' : '_id';\n const idx = tableState.list.findIndex((x) => x[idPropName] === itemId);\n if (idx >= 0) {\n const item = tableState.list[idx];\n\n // reload\n const { list, total } = await apiLoadData(\n 1,\n 1,\n {\n _id: [item._id],\n },\n props,\n sortProp,\n sortOrder,\n searchProps,\n );\n\n if (total === 1) {\n setHighlightId(itemId);\n const [data] = list;\n setTableState({\n ...tableState,\n list: [...tableState.list.slice(0, idx), data, ...tableState.list.slice(idx + 1)],\n });\n }\n }\n }\n\n const recalcDictsCache = async () => {\n if (prop2ValueCache) return loadData();\n setLoadingList(true);\n\n function createDict4Prop(cache, prop, list, keyName, valName) {\n // eslint-disable-next-line no-param-reassign\n cache[prop] = list.reduce((a, x) => {\n // eslint-disable-next-line no-param-reassign\n a[x[keyName]] = x[valName];\n return a;\n }, {});\n }\n\n // load cache\n const cache = {};\n\n async function updateCache(columns) {\n for (const col of columns) {\n if (Array.isArray(col.prop2value) && col.prop2value.length === 3) {\n const prop = xdGetColProp(col.prop);\n const [src, keyName, valName] = col.prop2value;\n if (Array.isArray(src)) {\n createDict4Prop(cache, prop, src, keyName, valName);\n } else {\n // eslint-disable-next-line no-await-in-loop\n const list = await src();\n createDict4Prop(cache, prop, list, keyName, valName);\n }\n }\n }\n }\n await updateCache(commonColumns.columns);\n\n if (extentedColumns) {\n for (const ec of extentedColumns) {\n // eslint-disable-next-line no-await-in-loop\n await updateCache(ec.columns);\n }\n }\n\n setProp2ValueCache(cache);\n return loadData();\n };\n\n useEffect(() => {\n if (stateHash) {\n // loadData();\n recalcDictsCache();\n }\n }, [stateHash]);\n\n useEffect(() => {\n if (searchStr !== filter.__search) {\n setSearchStr(filter.__search);\n }\n }, [filter.__search]);\n\n function changeTableState(changeTo = {}, replace = false) {\n if (!isMounted) return;\n // console.log('changeTableState', changeTo, replace);\n\n const _lzFilter = LZString.compressToEncodedURIComponent(\n JSON.stringify(changeTo.filter || filter),\n );\n\n const searchParams = `${changeTo.pageSize || pageSize},${changeTo.pageNumber || pageNumber},${\n changeTo.sortProp || sortProp\n },${(changeTo.sortOrder || sortOrder) === 1 ? 'a' : 'd'},${\n changeTo.extColId || (extColumnsSelected && extColumnsSelected.id) || ''\n },${_lzFilter},${nanoid(4)},${\n changeTo.filteredByCheckedRows !== undefined\n ? changeTo.filteredByCheckedRows\n : filteredByCheckedRows\n }`;\n\n // console.log(searchParams);\n\n const sq = queryString.stringify({\n ...queryString.parse(location.search),\n [urlParamName]: searchParams,\n });\n history[replace ? 'replace' : 'push'](`?${sq}`);\n }\n\n // event\n useEffect(() => {\n if (ee.current) {\n ee.current.emit('FILTER-CHANGED', filter);\n }\n }, [ee.current, sfilter]);\n\n // alternative -> onCallbacks\n useEffect(() => {\n if (onCallbacks?.onFilterChanged) {\n onCallbacks.onFilterChanged(filter);\n }\n }, [sfilter]);\n\n // + handlers\n useEffect(() => {\n if (onSaveTableHandlers) {\n // reload data\n onSaveTableHandlers('RELOAD-DATA', () => {\n changeTableState({}, true);\n });\n\n // set filter\n onSaveTableHandlers('SET-FILTER', (f) => {\n changeTableState({\n filter: {\n ...f,\n },\n pageNumber: 1,\n });\n });\n }\n }, [onSaveTableHandlers]);\n\n useXDTChannelSubscribe(sioEvents[0], sioEvents[1], sioEvents[2], (msg) => {\n const idPropName = sioEvents[3] || '_id';\n // console.log('useChannelSubscribe', msg);\n if (msg.ev === 'update') {\n // прилетает полностью готовый объект, прилетевшие поля меняют поля объекта в списке\n const idx = tableState.list.findIndex((x) => x[idPropName] === msg.id);\n if (idx >= 0) {\n setHighlightId(msg.id);\n setTableState({\n ...tableState,\n list: [\n ...tableState.list.slice(0, idx),\n {\n ...tableState.list[idx],\n ...msg.data,\n },\n ...tableState.list.slice(idx + 1),\n ],\n });\n }\n } else if (msg.ev === 'reload') {\n // прилетает только id, если он есть в списке\n // то делаем обновление всего списка\n reloadItem(msg.id);\n } else if (msg.ev === 'remove') {\n const idx = tableState.list.findIndex((x) => x[idPropName] === msg.id);\n if (idx >= 0) {\n setTableState({\n ...tableState,\n list: [...tableState.list.slice(0, idx), ...tableState.list.slice(idx + 1)],\n });\n }\n } else if (msg.ev === 'add') {\n setHighlightId(msg.id);\n setTableState({\n ...tableState,\n list: [{ ...msg.data }, ...tableState.list],\n });\n } else if (msg.ev === 'refresh') {\n // console.log('REFRESH');\n setHighlightId(msg.id);\n // refresh\n loadData();\n }\n });\n\n const onChangePageNumber = (pn, psize) => {\n changeTableState({\n pageNumber: pageSize !== psize ? 1 : pn,\n pageSize: psize,\n });\n };\n\n const selectExtColumns = ({ key }) => {\n changeTableState({\n extColId: key,\n });\n };\n\n function onChangeSort(prop) {\n changeTableState({\n sortProp: prop,\n sortOrder: sortProp === prop ? sortOrder * -1 : 1,\n pageNumber: 1,\n });\n }\n\n const onSearch = (val) => {\n changeTableState({\n filter: {\n ...filter,\n __search: val || undefined,\n },\n pageNumber: 1,\n });\n };\n\n const onShowFilter = () => {\n setFilterDialog({\n visible: true,\n model: filter,\n });\n };\n\n const onFilterChanged = (f) => {\n setFilterDialog({\n ...filterDialog,\n model: {\n ...filterDialog.model,\n ...f,\n },\n });\n };\n\n const onSetFilter = () => {\n setFilterDialog({\n ...filterDialog,\n visible: false,\n });\n changeTableState({\n filter: {\n ...filterDialog.model,\n },\n pageNumber: 1,\n filteredByCheckedRows: 0,\n });\n };\n\n const onResetFilter = () => {\n // setFilteredByCheckedRows(false);\n\n const flt = {};\n if (Array.isArray(datesFilter) && datesFilter.length > 2) {\n if (initFilter[datesFilter[0]]) flt[datesFilter[0]] = initFilter[datesFilter[0]];\n if (initFilter[datesFilter[1]]) flt[datesFilter[1]] = initFilter[datesFilter[1]];\n }\n\n changeTableState({\n filter: flt,\n pageNumber: 1,\n filteredByCheckedRows: 0,\n });\n };\n\n const onSetPresetDates = ({ key }) => {\n const dates = key.split('|');\n if (dates.length >= 2) {\n changeTableState({\n filter: {\n ...filter,\n [datesFilter[0]]: dates[0],\n [datesFilter[1]]: dates[1],\n },\n pageNumber: 1,\n });\n }\n };\n\n const onExportToExcel = () => {\n setStartExport(true);\n };\n\n const onCloseExport = () => {\n setStartExport(false);\n };\n\n // external connection EventEmmiter\n useEffect(() => {\n if (onSaveEventEmitter) {\n ee.current = new EventEmitter();\n // add listeners\n ee.current.addListener('SET-FILTER', (f) => {\n changeTableState({\n filter: {\n ...f,\n },\n pageNumber: 1,\n });\n });\n\n ee.current.addListener('RELOAD-DATA', () => {\n // console.log('RELOAD-DATA');\n changeTableState({}, true);\n // loadData();\n });\n // save\n onSaveEventEmitter(ee.current);\n }\n return () => {\n ee.current?.removeAllListeners();\n };\n }, []);\n\n const onFilterBySelectedRows = () => {\n let flt = {\n ...filterBackup,\n };\n if (!filteredByCheckedRows) {\n setFilterBackup({ ...filter });\n flt = {\n _id: Object.keys(checkedRow)\n .filter((x) => checkedRow[x])\n .map((x) => (enableItemsSelect?.type !== 'number' ? x : parseInt(x, 10))),\n };\n }\n // setFilteredByCheckedRows(!filteredByCheckedRows);\n changeTableState({\n filter: flt,\n pageNumber: 1,\n filteredByCheckedRows: filteredByCheckedRows ? 0 : 1,\n });\n };\n\n // Элементы управления\n function listControls() {\n return (\n
\n {Object.keys(checkedRow).filter((x) => checkedRow[x]).length > 0 && (\n
\n }\n size=\"small\"\n onClick={onFilterBySelectedRows}\n >\n  {Object.keys(checkedRow).filter((x) => checkedRow[x]).length}\n \n
\n )}\n\n {extColumnsSelected && extentedColumns.length > 1 && (\n
\n \n {extentedColumns.map((col) => (\n {col.name}\n ))}\n \n }\n >\n \n \n
\n )}\n\n {ctrlsHeaderSize.width > 1000 &&\n searchProps &&\n Object.keys(checkedRow).filter((x) => checkedRow[x]).length === 0 && (\n
\n setSearchStr(ev.target.value)}\n />\n
\n )}\n\n {!!excelExport && (\n
\n \n
\n )}\n\n {!!leftActions &&\n leftActions.map((el, i) => (\n
\n {el.icon && (\n \n \n \n )}\n {el.label && (\n \n {el.label}\n \n )}\n
\n ))}\n\n
\n\n {!filteredByCheckedRows && !!datesFilter && (\n <>\n {!!datesPresets && (\n
\n ({\n key: `${ps.dt1}|${ps.dt2}|${i}`,\n label: ps.label,\n }))}\n />\n }\n >\n
\n )}\n\n
\n \n {\n changeTableState({\n filter: {\n ...filter,\n [it.prop]: value,\n [it.prop2]: value2,\n },\n pageNumber: 1,\n });\n }}\n />\n \n
\n \n )}\n\n {!!filterForm && (\n
\n \n 0 ? 'primary' : null}\n size=\"small\"\n icon={}\n onClick={onShowFilter}\n />\n \n \n }\n onClick={onResetFilter}\n style={{ marginLeft: 8 }}\n />\n \n \n }\n onClick={loadData}\n style={{ marginLeft: 8 }}\n />\n \n
\n )}\n\n
\n `${total}`}\n pageSizeOptions={[10, 20, 50, 100, 500]}\n locale={{\n page: '',\n jump_to: ,\n }}\n />\n
\n
\n );\n }\n\n function renderHdr1() {\n if (commonColumns.name === null) return null;\n\n // calc extColumns groups\n const groupsStartIdx = extColumnsSelected\n ? extColumnsSelected.columns.findIndex((c) => Array.isArray(c.group))\n : -1;\n return (\n \n \n {commonColumns.name}\n \n {extColumnsSelected && groupsStartIdx < 0 && (\n \n {extColumnsSelected.name}\n \n )}\n {groupsStartIdx >= 0 &&\n extColumnsSelected.columns\n .filter((c) => c.group)\n .map((c, i) => (\n \n {c.group[0]}\n \n ))}\n \n );\n }\n\n function renderSortBtn(col) {\n if (!col.sort) return null;\n\n const colProp = xdGetColProp(col.prop);\n let icon = ;\n if (colProp === sortProp) {\n if (sortOrder === 1) {\n icon = ;\n } else {\n icon = ;\n }\n }\n return (\n onChangeSort(colProp)}\n className={cn({ [styles.hl]: colProp === sortProp })}\n >\n {icon}\n \n );\n }\n\n const onCheckAllRows = ({ target }) => {\n const sel = {};\n tableState.list.forEach((item) => {\n sel[item[enableItemsSelect.prop || '_id']] = target.checked;\n });\n setCheckedRow({\n ...checkedRow,\n ...sel,\n });\n };\n\n const isAllChecked = () => {\n for (const item of tableState.list) {\n if (checkedRow[item[enableItemsSelect.prop || '_id']]) return true;\n }\n return false;\n };\n\n function renderHdr2() {\n return (\n \n {enableItemsSelect && (\n \n \n \n )}\n {commonColumns.columns.map((col, idx) => (\n \n {col.name}\n {renderSortBtn(col)}\n \n ))}\n {extColumnsSelected &&\n extColumnsSelected.columns.map((col, idx) => (\n \n {col.name}\n {renderSortBtn(col)}\n \n ))}\n \n );\n }\n\n function getRowValue(col, prop, item, forExcel = false) {\n let val = gv(item, prop);\n\n // check inline\n const inlienEditKey = `${item._id}:${prop}`;\n if (inlineEditLog[inlienEditKey] !== undefined) {\n val = inlineEditLog[inlienEditKey];\n }\n\n // if prop2value\n if (!col.render && col.prop2value && prop2ValueCache[prop]) {\n if (Array.isArray(val)) {\n val = val.map((x) => {\n const v = prop2ValueCache[prop][x];\n return v !== undefined ? v : '';\n });\n } else {\n val = prop2ValueCache[prop][val];\n if (val === undefined) val = '';\n }\n }\n\n // types\n if (col.type === 'check') {\n if (forExcel) val = val ? '+' : '';\n else val = val ? : '';\n }\n if (col.type === 'date' && val) {\n val = dayjs(val).format(col.format || 'DD.MM.YYYY HH:mm:ss');\n }\n\n // round\n if (typeof val === 'number' && col.round !== undefined) {\n val = xdRoundPlus(val, col.round);\n }\n\n // if render\n if (!forExcel && col.render) {\n val = col.render(item, val, prop2ValueCache[prop]);\n } else if (forExcel && col.excelRender) {\n if (col.excelRender === 'render') val = col.render(item, val);\n else val = col.excelRender(item, val);\n }\n\n if (col.notNull && val === 0) {\n val = '';\n }\n\n if (Array.isArray(val)) {\n val = val.map((x, i) => (\n \n {x}\n \n ));\n } else if (col.type === 'bigInt') {\n if (!forExcel && typeof val === 'number') {\n val = val.toLocaleString();\n }\n }\n\n if (!forExcel) return val;\n\n // forExcel\n if (typeof val === 'string') return val;\n if (typeof val === 'number') return val;\n if (val === undefined) return '';\n if (val === null) return '';\n\n return String(val);\n }\n\n function renderRow(colPart, item, rowIdx) {\n if (!colPart) return null;\n const row = [];\n\n let idx = 0;\n for (const col of colPart.columns) {\n let style = {};\n const prop = xdGetColProp(col.prop);\n const val = getRowValue(col, prop, item);\n\n if (commonColumns.rowStyle) {\n const rs = commonColumns.rowStyle(item);\n if (rs) {\n style = {\n ...style,\n ...rs,\n };\n }\n }\n\n // styles\n if (col.style) {\n style = {\n ...style,\n ...col.style,\n };\n }\n\n if (col.width > 0) {\n style.width = col.width;\n } else if (col.width) {\n style.width = col.width;\n }\n if (col.align) {\n style.textAlign = col.align;\n }\n\n if (col.zeroColor) {\n const vvv = parseInt(val, 10);\n if (vvv > 0) style.color = 'green';\n else if (vvv < 0) style.color = 'red';\n }\n\n // classname\n let cellClassName;\n if (col.className) {\n if (typeof col.className === 'function') {\n cellClassName = col.className(item, val);\n } else {\n cellClassName = col.className;\n }\n }\n\n // eslint-disable-next-line no-inner-declarations\n function onClickTD(ev) {\n ev.preventDefault();\n if (col.onClick) {\n col.onClick(item, rowIdx, filter);\n } else if (onRowClick) {\n onRowClick(item, rowIdx, filter);\n }\n }\n\n const idPropName = sioEvents ? sioEvents[3] || '_id' : '_id';\n if (!col.inline) {\n row.push(\n \n
{val}
\n ,\n );\n } else {\n const changedValue = inlineEditLog[`${item._id}:${prop}`];\n\n row.push(\n \n {\n ev.preventDefault();\n // showInlineDlg(item._id, prop, changedValue !== undefined ? changedValue : val);\n showInlineDlg(item._id, prop, val, col.type);\n }}\n >\n {/* {changedValue !== undefined ? changedValue : val} */}\n {val}\n
\n {inlineEdit.visible && item._id === inlineEdit.id && prop === inlineEdit.prop && (\n \n \n
\n {/* }\n disabled={changedValue === undefined}\n onClick={onResetInlienEditValue}\n style={{ marginRight: 8 }}\n /> */}\n }\n onClick={onSaveInlineEditValue}\n disabled={!inlineEdit.isChanged}\n >\n Сохранить\n \n
\n \n \n )}\n ,\n );\n }\n }\n\n return row;\n }\n\n const onCheckRow = ({ target }, item) => {\n setCheckedRow({\n ...checkedRow,\n [item[enableItemsSelect.prop || '_id']]: target.checked,\n });\n };\n\n function renderTableBody() {\n return tableState.list.map((item, rowIdx) => {\n let selectThisRow = false;\n if (Array.isArray(selectRow) && selectRow.length === 2) {\n if (item[selectRow[0]] === selectRow[1]) selectThisRow = true;\n }\n\n return (\n \n {enableItemsSelect && (\n \n onCheckRow(e, item)}\n checked={!!checkedRow[item[enableItemsSelect.prop || '_id']]}\n />\n \n )}\n {renderRow(commonColumns, item, rowIdx)}\n {extColumnsSelected && renderRow(extColumnsSelected, item, rowIdx)}\n \n );\n });\n }\n\n function renderTable() {\n return (\n \n \n {renderHdr1()}\n {renderHdr2()}\n \n {renderTableBody()}\n
\n );\n }\n\n return (\n <>\n
\n {listControls()}\n
\n {renderTable()}\n {loadingList &&
}\n
\n
\n\n {!!filterForm && (\n setFilterDialog({ ...filterDialog, visible: false })}\n width={700}\n bodyStyle={{\n overflowY: 'auto',\n maxHeight: windowSize.height - 220,\n }}\n style={{ top: 40 }}\n okText=\"Применить\"\n >\n \n \n )}\n\n \n \n );\n}\n\nXDataTable.defaultProps = {\n postLoadData: null,\n sioEvents: [],\n urlParamName: '_t_',\n selectRow: null,\n defValues: {\n pageSize: 20,\n },\n initFilter: {},\n datesFilter: null,\n datesPresets: null,\n filterForm: null,\n initSort: ['', 1],\n onRowClick: null,\n searchProps: null,\n searchLabel: 'Искать',\n leftActions: null,\n inlineEditFormProps: [],\n onInlineEditChanged: null,\n extentedColumns: null,\n onSaveEventEmitter: null,\n onCallbacks: null,\n onSaveTableHandlers: null,\n excelExport: null,\n enableItemsSelect: null,\n debug: null,\n};\n\nXDataTable.propTypes = {\n // API load data\n apiLoadData: PropTypes.func.isRequired, // функция для загрузки данных\n postLoadData: PropTypes.func, // функция для обработки (если возвращает - то изменение) данных\n sioEvents: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.func])), // [channelName, subscribeToChannel, unsubscribeToChannel, {название поля = msg.id}]\n // columns\n commonColumns: PropTypes.shape({\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n props: PropTypes.arrayOf(PropTypes.string),\n rowStyle: PropTypes.func,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n prop: PropTypes.string.isRequired,\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n ).isRequired,\n }).isRequired,\n extentedColumns: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n prop: PropTypes.string.isRequired,\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n ).isRequired,\n }),\n ),\n // url parameter state\n urlParamName: PropTypes.string,\n // object\n selectRow: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), // ['id-prop-name', 'value']\n // default\n defValues: PropTypes.shape({\n pageSize: PropTypes.number,\n }),\n // sort\n initSort: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n // filter\n initFilter: PropTypes.shape({}),\n filterForm: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n }),\n ),\n // search\n searchProps: PropTypes.arrayOf(PropTypes.string), // если перед именем поля стоит # - то искать как число\n searchLabel: PropTypes.string,\n // date periods filter\n datesFilter: PropTypes.arrayOf(PropTypes.string), // ['fromPropName', 'toPropName', 'DATE_FORMAT']\n datesPresets: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n dt1: PropTypes.string,\n dt2: PropTypes.string,\n }),\n ),\n // events\n onRowClick: PropTypes.func,\n // actions - buttons\n leftActions: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.element,\n onClick: PropTypes.func,\n tooltip: PropTypes.string,\n }),\n ),\n // inline\n inlineEditFormProps: PropTypes.arrayOf(PropTypes.shape({})),\n onInlineEditChanged: PropTypes.func,\n // external ctrl\n onSaveEventEmitter: PropTypes.func,\n // on callbacks / controls\n onCallbacks: PropTypes.shape({\n onFilterChanged: PropTypes.func,\n }),\n onSaveTableHandlers: PropTypes.func,\n // Excel export table\n excelExport: PropTypes.shape({\n filename: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n tabname: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exportStep: PropTypes.number,\n autoWidth: PropTypes.bool,\n }),\n // select items (checkboxes)\n enableItemsSelect: PropTypes.shape({\n prop: PropTypes.string,\n type: PropTypes.string, // 'string' (default) | 'number'\n }),\n // DEBUG\n debug: PropTypes.shape({\n filter: PropTypes.bool,\n }),\n};\n\nexport default XDataTable;\n","/* eslint-disable no-undef */\nimport React, { useState, useEffect, useRef } from 'react';\n\nimport { Button, Col, message, Modal, Progress, Row, Upload } from 'antd';\nimport PropTypes from 'prop-types';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport styles from './styles.scss';\nimport { useXDFScript } from '../XDataForm/xdf-hooks';\nimport { xdRoundPlus } from './xdf-utils';\nimport { EXCELJS_URL } from './XDTExportToExcel';\nimport { apiPost } from '../../../../api';\n\nconst LOAD_STEP = 100;\n\nconst cellValue = (cell) => {\n if (cell.value === null) {\n return '';\n }\n if (cell.value instanceof Object && cell.value.result !== undefined) {\n return cell.value.result;\n }\n if (cell.type === ExcelJS.ValueType.Number) {\n return xdRoundPlus(cell.value);\n }\n return cell.value;\n};\n\nfunction XDImportExcelFile({\n visible,\n onClose,\n uploadApi,\n initObject,\n columns,\n importBtnTitle,\n maxStepToLoad,\n}) {\n const [doneExcelJS] = useXDFScript(visible && EXCELJS_URL);\n\n const wb = useRef(null);\n const ws = useRef(null);\n const uploadData = useRef(null);\n\n const [total, setTotal] = useState(0);\n const [currentPos, setCurrentPos] = useState(0);\n const [loading, setLoading] = useState(false);\n const [readyForUpload, setReadyForUpload] = useState(false);\n const [uploading, setUploading] = useState(false);\n\n const uploadDataToServer = async () => {\n setUploading(true);\n const err = await uploadApi(uploadData.current.slice(1));\n if (err) {\n message.error(`Upload error: ${err}`);\n } else {\n setTimeout(() => {\n onClose();\n }, 200);\n }\n };\n\n // init -> open dlg\n useEffect(() => {\n if (visible) {\n wb.current = null;\n ws.current = null;\n uploadData.current = [];\n setTotal(0);\n setCurrentPos(0);\n setLoading(false);\n setReadyForUpload(false);\n setUploading(false);\n }\n }, [visible]);\n\n // start read\n useEffect(() => {\n if (visible && ws.current) {\n if (currentPos === total) {\n // end\n setReadyForUpload(true);\n } else {\n setTimeout(() => {\n let pos = 0;\n while (currentPos + pos < total) {\n const row = ws.current.getRow(currentPos + pos + 1);\n const it = { ...initObject };\n // eslint-disable-next-line no-loop-func\n columns.forEach((col, idx) => {\n if (currentPos + pos === 0) {\n it[col.prop] = col.prop ? cellValue(row.getCell(idx + 1)) : '';\n } else if (col.prop) {\n if (col.splitBy) {\n it[col.prop] = cellValue(row.getCell(idx + 1))\n .split(col.splitBy)\n .map((x) => x.trim());\n } else if (col.type === 'float') {\n it[col.prop] = parseFloat(cellValue(row.getCell(idx + 1)));\n if (col.minMax) {\n if (it[col.prop] < col.minMax[0] || it[col.prop] > col.minMax[1]) {\n alert(`Занчение ${col.prop} выходит за min/max: ${it[col.prop]}`);\n onClose();\n }\n }\n } else {\n it[col.prop] = cellValue(row.getCell(idx + 1));\n }\n }\n });\n uploadData.current.push(it);\n\n pos += 1;\n if (pos > maxStepToLoad) break;\n }\n setCurrentPos(currentPos + pos);\n }, 10);\n }\n }\n }, [visible, ws.current, currentPos, total]);\n\n const decodeXlsxFile = (buffer) => {\n setLoading(true);\n wb.current = new ExcelJS.Workbook();\n wb.current.xlsx.load(buffer).then(() => {\n wb.current.eachSheet((_ws) => {\n if (ws.current === null) {\n ws.current = _ws;\n uploadData.current = [];\n setTotal(ws.current.rowCount);\n setCurrentPos(0);\n setUploading(false);\n }\n });\n });\n };\n\n // const someFunction = useCallback(() => {\n // console.log(title);\n // }, [title]);\n\n const beforeUpload = (file) => {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n decodeXlsxFile(reader.result);\n });\n reader.readAsArrayBuffer(file);\n return false;\n };\n\n return (\n \n \n \n \n {!readyForUpload && total > 0 && (\n
\n \n
\n )}\n {readyForUpload && (\n
\n
Загружено {total} строк
\n
\n \n \n \n \n \n \n \n \n \n \n \n {columns.map((col) => {\n const rows = [];\n rows.push();\n for (let i = 0; i < 4; i += 1) {\n rows.push();\n }\n return {rows};\n })}\n \n
Поле в БДСтолбец в XlsxСтрока 1Строка 2Строка 3
{col.prop}{uploadData.current[i][col.prop]}
\n
\n
\n )}\n \n );\n}\n\nXDImportExcelFile.defaultProps = {\n importBtnTitle: 'Укажите файл для импорта',\n maxStepToLoad: LOAD_STEP,\n initObject: {},\n};\n\nXDImportExcelFile.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n uploadApi: PropTypes.func.isRequired,\n importBtnTitle: PropTypes.string,\n maxStepToLoad: PropTypes.number,\n initObject: PropTypes.shape({}),\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n prop: PropTypes.string.isRequired,\n }).isRequired,\n ).isRequired,\n};\n\nexport default XDImportExcelFile;\n","// eslint-disable-next-line import/prefer-default-export\nexport const USER_ROLE = {\n // 100\n GTOOLTIP: 101,\n EMAIL_TEMPLATES: 102,\n FILES_CONTROL: 103,\n // 200\n USERS_NEW: 201,\n USERS_APPROVED: 202,\n USERS_BLOCKED: 203,\n // 300\n CATALOG_MAIN: 301,\n CATALOG_CROSS: 302,\n CATALOG_ANALOG: 303,\n CATALOG_CHARACTER: 304,\n CATALOG_IFRAME: 305,\n // 400\n MAP_OBJECTS: 401,\n MAP_NEW_OBJECTS: 402,\n MAP_COMMENTS: 403,\n MAP_SETTINGS: 404,\n MAP_ANALYTICS: 405,\n};\n\nexport const OBJECT_STATES = [\n {\n id: -1,\n name: 'Новый объект',\n },\n {\n id: 0,\n name: 'Не активно',\n },\n {\n id: 1,\n name: 'Активно',\n },\n];\n\nexport const KYB_MAP_OBJECT_GROUP = {\n 0: '',\n 1: 'KYB в мире',\n 2: 'KYB в России',\n};\n\nexport const KYB_MAP_OBJECT_COMMENT_STATE = [\n {\n id: -1,\n name: 'Удален',\n },\n {\n id: 0,\n name: 'На рассмотрении',\n },\n {\n id: 1,\n name: 'Утвержден',\n },\n];\n\nexport const KYB_SITE_CATALOG_STATUS = [\n {\n id: -1,\n name: 'Удален',\n },\n {\n id: 0,\n name: 'Не опубликовано',\n },\n {\n id: 1,\n name: 'Опубликовано',\n },\n {\n id: 2,\n name: 'Архив',\n },\n];\n\nexport const KYB_FAQ_SECTION = [\n {\n id: 0,\n name: 'Общие вопросы',\n },\n {\n id: 1,\n name: 'Подбор',\n },\n {\n id: 2,\n name: 'Установка и гарантии',\n },\n {\n id: 3,\n name: 'Покупка, сотрудничество',\n },\n {\n id: 4,\n name: 'Подделки',\n },\n];\n\nexport const KYB_MAP_PROP_TYPES = [\n { id: 9, name: 'Поле Да/Нет (On/Off)' }, // 0/1\n { id: 0, name: 'Текст / строка', sel: true }, // string\n { id: 8, name: 'Текстовое поле в несколько строк' }, // string (textarea)\n { id: 20, name: 'WebText редактор' },\n { id: 10, name: 'Адрес, геокодированием' }, // string + geoButton + reversGeocoder\n { id: 22, name: 'Страна, геокодированием' }, // string + reversGeocoder\n { id: 23, name: 'Регион, геокодированием' }, // string + reversGeocoder\n { id: 24, name: 'Город, геокодированием' }, // string + reversGeocoder\n { id: 1, name: 'Число' }, // int/float\n { id: 2, name: 'Email' }, // email\n { id: 3, name: 'Url' }, // url\n { id: 13, name: 'Список картинок' }, // [imgId, imgId, imgId, ..]\n { id: 4, name: 'Выбор одного из списка' }, // id of dict\n { id: 5, name: 'Выбор нескольких из списка' }, // [id1, id2, ..] of dict\n { id: 7, name: 'Массив произвольных строк (список телефонов)' }, // [string, string, string, ..]\n { id: 18, name: 'Внешнее видео (Youtube, Vimeo)' }, // [string, string, string, ..]\n { id: 11, name: 'Дата' }, // int (милисек)\n { id: 14, name: 'Дата создания (автом. поле)' }, // int (милисек)\n { id: 15, name: 'Дата редактирования (автом. поле)' }, // int (милисек)\n { id: 16, name: 'Только для чтения (RO)' }, // поле только для чтения, для вывода полей из базы, которое нельзя редактировать\n { id: 17, name: 'Группа объекта' },\n { id: 19, name: 'Уникальная иконка объекта' },\n { id: 21, name: 'Список ссылок' },\n { id: 25, name: 'Рейтинг пользователей (только просмотр)' },\n { id: 26, name: 'Рейтинг объекта 1-5' },\n { id: 27, name: 'Список ближайших объектов (RO)' },\n { id: -1, name: 'Категория объекта' },\n];\n\nexport const KYB_MAP_PROP_TYPE_ID2NAME = KYB_MAP_PROP_TYPES.reduce((a, x) => {\n // eslint-disable-next-line no-param-reassign\n a[x.id] = x.name;\n return a;\n}, {});\n\nexport const KYB_SITE_ITEM_STATUS = [\n {\n id: 0,\n name: 'Не опубликовано',\n },\n {\n id: 1,\n name: 'Опубликовано',\n },\n];\n\nexport const KYB_PRODUCT_TYPE = [\n {\n id: 0,\n name: 'Продукт скрыт из показа',\n },\n {\n id: 1,\n name: 'Стандартные серии',\n },\n {\n id: 2,\n name: 'Спорт и тюнинг',\n },\n {\n id: 3,\n name: 'Доп. оборудование',\n },\n {\n id: 4,\n name: 'Детали рулевого управления и подвески',\n },\n];\n\nexport const KYB_LEFT_BANNER_TYPE = [\n {\n id: 1,\n name: 'Одна стрелка по кругу (тип 1)',\n },\n {\n id: 2,\n name: 'Две стрелки по кругу (тип 2)',\n },\n {\n id: 3,\n name: 'Три стрелки по кругу (тип 3)',\n },\n {\n id: 4,\n name: 'Подписаться на новости (тип 4)',\n },\n {\n id: 5,\n name: 'Произвольная картинка с подписью (тип 5)',\n },\n];\n\nexport const DATETIME_FORMAT = 'DD.MM.YYYY HH.mm';\n","import React from 'react';\n\nimport { Button, Modal } from 'antd';\n\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\n\nconst { confirm } = Modal;\n\n/**\n * Открыть диалог для уточнения действия, возвращает код из btns\n * @param {*} title\n * @param {*} content\n * @param {*} btns (максимум 2)\n * - label - название на кнопке\n * @returns\n */\n// eslint-disable-next-line import/prefer-default-export\nexport async function warningDialog(title, content, btns) {\n return new Promise((resolve, reject) => {\n confirm({\n title,\n content,\n icon: ,\n closable: true,\n okText: btns.length > 1 && btns[1].label,\n cancelText: btns.length > 0 && btns[0].label,\n afterClose: () => {\n resolve(-1);\n },\n onOk() {\n resolve(1);\n },\n onCancel() {\n resolve(0);\n },\n });\n });\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal, message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport { apiPost } from '../../../../api/index';\n\nfunction CrossEditDlg({ visible, model, onClose }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n setIsModelChanged(false);\n }\n }, [visible]);\n\n function onChangeModel(m, v) {\n setModel0({ ...m });\n setIsModelChanged(v);\n }\n\n async function onSave() {\n const res = await warningDialog('Редактирование записи', 'Сохранить внесённые изменения?', [\n { label: 'Отмена' },\n { label: 'Сохранить' },\n ]);\n\n if (res === 1) {\n // save record\n const { err, errmsg } = await apiPost('/catalog/cross/set', {\n id: model._id,\n data: model0,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n async function onDelete() {\n const res = await warningDialog(\n 'Удаление записи',\n 'Удалить запись, без возможности восстановления?',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n // delete record\n const { err, errmsg } = await apiPost('/catalog/cross/del', {\n id: model._id,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n return (\n Редактирование записи кросса}\n open={visible}\n closable={false}\n footer={[\n ,\n ,\n ,\n ]}\n >\n \n \n );\n}\n\nCrossEditDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default CrossEditDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__rROHp\",\"contextHolder\":\"contextHolder__yKVMx\",\"context\":\"context__E60fp\"};","// extracted by mini-css-extract-plugin\nexport default {\"notifyItem\":\"notifyItem__X2vkF\",\"ndt\":\"ndt__da8sh\",\"ntxt\":\"ntxt__IT7Sm\"};","import React from 'react';\n\nimport { Popover } from 'antd';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\n\nimport { BellFilled } from '@ant-design/icons';\n\nimport styles from './styles.scss';\n\nfunction NotifyPopup({ noti }) {\n return (\n \n
{dayjs(noti.cdt).format('DD.MM / HH:mm:ss')}
\n
{noti.txt}
\n
\n }\n >\n \n \n );\n}\n\nNotifyPopup.propTypes = {\n noti: PropTypes.shape({\n cdt: PropTypes.string.isRequired,\n txt: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default NotifyPopup;\n","import React from 'react';\n\nimport { BellOutlined } from '@ant-design/icons';\n\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = (notifyLastForRole) => ({\n name: null, // 'Кроссы', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+maker',\n name: 'Марка',\n excelColName: 'Производитель',\n excelColPos: 2,\n sort: true,\n },\n {\n prop: '+oe_pn',\n name: 'ОЕМ №',\n excelColName: 'OEM #',\n excelColPos: 1,\n sort: true,\n },\n {\n prop: '+kyb_pn',\n name: 'KYB №',\n excelColName: 'KYB #',\n excelColPos: 3,\n sort: true,\n },\n ],\n});\n","import React, { useState } from 'react';\n\nimport { Button, Layout, PageHeader, Tooltip } from 'antd';\nimport dayjs from 'dayjs';\nimport { useRecoilValue } from 'recoil';\n\nimport { CloudUploadOutlined, PlusOutlined } from '@ant-design/icons';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport XDImportExcelFile from '../../../components/xdf-antd/XDataTable/XDImportExcelFile';\nimport { USER_ROLE } from '../../../constants';\nimport CrossEditDlg from './CrossEditDlg';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport const uploadDataToServer =\n (collection, eventName, cleanBeforeImport = true) =>\n async (data) => {\n const { err } = await apiPost('/import/data', {\n collection,\n eventName,\n cleanBeforeImport,\n data,\n });\n return err;\n };\n\nexport default function CrossList() {\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(USER_ROLE.CATALOG_CROSS));\n\n const [editDlg, setEditDlg] = useState({ visible: false, model: {} });\n const [importDlg, setImportDlg] = useState(false);\n\n const onRowClick = (item) => {\n setEditDlg({ visible: true, model: item });\n };\n\n const addRecord = () => {\n setEditDlg({ visible: true, model: {} });\n };\n\n const onCloseDlg = () => {\n setEditDlg({ ...editDlg, visible: false });\n };\n\n // const downloadFile = () => {\n // window.open('/api/1/catalog/cross/export', '_blank');\n // };\n\n return (\n <>\n Кроссы}\n extra={[\n \n }\n onClick={() => setImportDlg(true)}\n />\n ,\n \n ,\n ,\n ,\n ]}\n >\n \n \n );\n}\n\nAnalogEditDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default AnalogEditDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__Ysp36\",\"contextHolder\":\"contextHolder__nYBP9\",\"context\":\"context__HxuEi\"};","import React from 'react';\n\nimport { BellOutlined } from '@ant-design/icons';\n\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = (notifyLastForRole) => ({\n name: null, // 'Аналоги', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+productId',\n name: 'Артикул',\n sort: true,\n },\n {\n prop: '+productSeries',\n name: 'Серия аналога',\n sort: true,\n },\n {\n prop: '+productAnalog',\n name: 'Аналог',\n sort: true,\n },\n ],\n});\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal, message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport { apiPost } from '../../../../api/index';\n\nfunction SpecEditDlg({ visible, model, onClose }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n setIsModelChanged(false);\n }\n }, [visible]);\n\n function onChangeModel(m, v) {\n setModel0({ ...m });\n setIsModelChanged(v);\n }\n\n async function onSave() {\n const res = await warningDialog('Редактирование записи', 'Сохранить внесённые изменения?', [\n { label: 'Отмена' },\n { label: 'Сохранить' },\n ]);\n\n if (res === 1) {\n // save record\n const { err, errmsg } = await apiPost('/catalog/spec/set', {\n id: model._id,\n data: model0,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n async function onDelete() {\n const res = await warningDialog(\n 'Удаление записи',\n 'Удалить запись, без возможности восстановления?',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n // delete record\n const { err, errmsg } = await apiPost('/catalog/spec/del', {\n id: model._id,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n return (\n Редактирование записи характеристики}\n open={visible}\n width={700}\n closable={false}\n footer={[\n ,\n ,\n ,\n ]}\n >\n \n \n );\n}\n\nSpecEditDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default SpecEditDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__zsCS5\",\"contextHolder\":\"contextHolder__qKvZ3\",\"context\":\"context__smIVm\"};","import React from 'react';\n\nimport { BellOutlined } from '@ant-design/icons';\n\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = (notifyLastForRole) => ({\n name: null, // 'Характеристики', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+partNumber',\n name: 'Артикул',\n sort: true,\n },\n {\n prop: '+part',\n name: 'Деталь',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+series',\n name: 'Серия KYB',\n sort: true,\n },\n {\n prop: '+type',\n name: 'Тип',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+spec',\n name: 'Состав артикула',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+fr',\n name: 'Передний / задний',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+rl',\n name: 'Правый / левый',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+changes',\n name: 'Возможная замена',\n sort: true,\n },\n {\n prop: '+amoProtect',\n name: 'Защитный комплект к амортизатору',\n sort: true,\n },\n {\n prop: '+fixType',\n name: 'Тип крепления / форма',\n sort: true,\n },\n ],\n});\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal, message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport { apiPost } from '../../../../api/index';\n\nfunction IframeEditDlg({ visible, model, onClose }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n setIsModelChanged(false);\n }\n }, [visible]);\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n const onSave = async () => {\n const res = await warningDialog('Редактирование записи', 'Сохранить внесённые изменения?', [\n { label: 'Отмена' },\n { label: 'Сохранить' },\n ]);\n\n if (res === 1) {\n // save record\n const { err, errmsg } = await apiPost('/catalog/iframe/set', {\n id: model._id,\n data: model0,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n };\n\n const onDelete = async () => {\n const res = await warningDialog(\n 'Удаление записи',\n 'Удалить запись, без возможности восстановления?',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n // delete record\n const { err, errmsg } = await apiPost('/catalog/iframe/del', {\n id: model._id,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n };\n\n return (\n Редактирование записи аналога}\n open={visible}\n closable={false}\n footer={[\n ,\n ,\n ,\n ]}\n >\n \n \n );\n}\n\nIframeEditDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({\n _id: PropTypes.number,\n }).isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default IframeEditDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__LjhLI\",\"contextHolder\":\"contextHolder__GB87m\",\"context\":\"context__oWEy5\",\"example\":\"example__Hb5fF\",\"testIframe\":\"testIframe__r9nqb\"};","import React from 'react';\n\nimport { Button } from 'antd';\n\nimport { EyeOutlined } from '@ant-design/icons';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = (onShowIframe) => ({\n name: null, // 'Аналоги', // название\n props: ['key', 'desc'], // список полей для запроса к серверу\n columns: [\n {\n prop: '+name',\n name: 'Название',\n sort: true,\n },\n {\n prop: '+domains',\n name: 'Домены',\n sort: true,\n },\n {\n prop: '+views',\n name: 'Количество',\n sort: true,\n },\n {\n prop: '+lastAccess',\n name: 'Последний',\n sort: true,\n type: 'date',\n },\n {\n prop: '+_id',\n name: '',\n align: 'center',\n actions: true,\n render: (item) => (\n }\n onClick={() => onShowIframe(item)}\n />\n ),\n },\n ],\n});\n","import { useEffect, useRef, useState } from 'react';\n\nimport { subscribeToChannel, unsubscribeToChannel } from '../../api/sio';\n\nexport function useScript(src, loadAsync = true) {\n // Keep track of script status (\"idle\", \"loading\", \"ready\", \"error\")\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n const [done, setDone] = useState(false);\n\n useEffect(\n () => {\n // Allow falsy src value if waiting on other data needed for\n // constructing the script URL passed to this hook.\n if (!src) {\n setStatus('idle');\n return;\n }\n setDone(false);\n\n // Fetch existing script element by src\n // It may have been added by another intance of this hook\n let script = document.querySelector(`script[src=\"${src}\"]`);\n\n if (!script) {\n // Create script\n script = document.createElement('script');\n script.src = src;\n script.async = loadAsync;\n script.setAttribute('data-status', 'loading');\n // Add script to document body\n document.body.appendChild(script);\n\n // Store status in attribute on script\n // This can be read by other instances of this hook\n const setAttributeFromEvent = (event) => {\n script.setAttribute('data-status', event.type === 'load' ? 'ready' : 'error');\n };\n\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n // Grab existing script status from attribute and set to state.\n setStatus(script.getAttribute('data-status'));\n }\n\n // Script event handler to update status in state\n // Note: Even if the script already exists we still need to add\n // event handlers to update the state for *this* hook instance.\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n setDone(event.type === 'load');\n };\n\n // Add event listeners\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n\n // Remove event listeners on cleanup\n // eslint-disable-next-line consistent-return\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n },\n [src], // Only re-run effect if script src changes\n );\n\n return [done, status];\n}\n\n/**\n * Подписаться на канал\n * @param {*} channelName\n * @param {*} callback\n */\nexport function useChannelSubscribe(channelName, callback) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Remember the latest callback.\n useEffect(() => {\n function onMessageInChannel(msg) {\n savedCallback.current(msg);\n }\n\n // eslint-disable-next-line no-unused-expressions\n channelName && subscribeToChannel(channelName, onMessageInChannel);\n return () => {\n // eslint-disable-next-line no-unused-expressions\n channelName && unsubscribeToChannel(channelName, onMessageInChannel);\n };\n }, [channelName]);\n}\n\n/**\n * Подписка на несколько каналов с одинм callback (roles)\n * @param {*} channelsName\n * @param {*} callback\n */\nexport function useChannelsSubscribe(channelsName, callback) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Remember the latest callback.\n useEffect(() => {\n function onMessageInChannel(msg) {\n savedCallback.current(msg);\n }\n\n for (const channelName of channelsName) {\n // eslint-disable-next-line no-unused-expressions\n channelName && subscribeToChannel(channelName, onMessageInChannel);\n }\n return () => {\n for (const channelName of channelsName) {\n // eslint-disable-next-line no-unused-expressions\n channelName && unsubscribeToChannel(channelName, onMessageInChannel);\n }\n };\n }, [channelsName.join('|')]);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"main__hfha4\"};","import React, { useState } from 'react';\n\nimport { message, Progress, Upload } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { PlusOutlined } from '@ant-design/icons';\n\nimport styles from './styles.scss';\nimport xdPrettyBytes from '../utils/xd-pretty-bytes';\n\nfunction XDataUpload({\n desc,\n uploadType,\n maxSize,\n fileTypes,\n optimizeImage,\n webpImage,\n onSave,\n onStartUpload,\n}) {\n const [progress, setProgress] = useState(-1);\n\n const onChange = ({ file, event }) => {\n if (file.percent > 0 && file.percent <= 100) {\n setProgress(parseInt(file.percent, 10));\n }\n\n if (file.percent === 100 && file.response) {\n const { err, errmsg, data } = file.response;\n // console.log('DONE', err);\n if (err === 0) {\n setProgress(-1);\n onSave(data);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n }\n };\n\n // Не загружать во вне файл\n const beforeUpload = (file) => {\n setProgress(-1);\n if (file.size > maxSize) {\n message.error(\n `Размер выбранного файла: ${xdPrettyBytes(file.size, {\n locale: 'ru',\n })} больше разрешенного ${xdPrettyBytes(maxSize, { locale: 'ru' })}`,\n 10,\n );\n return false;\n }\n // eslint-disable-next-line no-unused-expressions\n onStartUpload && onStartUpload();\n return true;\n };\n\n return (\n
\n = 0}\n >\n {progress < 0 && (\n
\n \n
Добавить
\n
\n )}\n {progress >= 0 && }\n \n
\n );\n}\n\nXDataUpload.defaultProps = {\n desc: '',\n uploadType: 'file',\n maxSize: Infinity,\n fileTypes: '*/*',\n optimizeImage: true,\n webpImage: true,\n onStartUpload: null,\n};\n\nXDataUpload.propTypes = {\n desc: PropTypes.string,\n uploadType: PropTypes.string,\n optimizeImage: PropTypes.bool,\n webpImage: PropTypes.bool,\n maxSize: PropTypes.number,\n fileTypes: PropTypes.string,\n onSave: PropTypes.func.isRequired,\n onStartUpload: PropTypes.func,\n};\n\nexport default XDataUpload;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nfunction apiAnyGet(collection, role = 0) {\n return async (id, props) => {\n const { err, errmsg, data } = await apiPost('/any/get', {\n collection,\n role,\n id,\n props,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n };\n}\n\nexport default apiAnyGet;\n","import { apiPost, ApiError } from '.';\n\n// кеширование ответов\nconst _cache = {};\n\n/**\n * Запрос серий продуктов\n */\nfunction apiAnyPropList(collection, prop) {\n return async (filter = {}) => {\n const key = `${collection}|${prop}|${JSON.stringify(filter)}`;\n if (_cache[key]) return _cache[key];\n\n const { err, errmsg, data } = await apiPost('/any/prop/list', {\n role: 0,\n collection,\n prop,\n filter,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n const list = data.list.sort().map((x) => ({\n id: x,\n name: x,\n }));\n _cache[key] = list;\n return list;\n };\n}\n\nexport default apiAnyPropList;\n","/* eslint-disable import/prefer-default-export */\nimport React from 'react';\nimport { BellOutlined, EyeInvisibleOutlined, EyeOutlined } from '@ant-design/icons';\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\nexport const commonColumns = (notifyLastForRole, webinarSettings) => ({\n name: null,\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+status',\n name: 'Статус',\n sort: true,\n render: (item, val) => (\n
\n {val === 0 ? : }\n
\n ),\n },\n {\n prop: '+_dt',\n name: 'Дата новости',\n sort: true,\n nowrap: true,\n type: 'date',\n format: 'DD.MM.YYYY',\n },\n {\n prop: '+title',\n name: 'Заголовок',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+parts',\n name: 'Артикулы новости',\n nowrap: true,\n render: (item, val) => (val || []).map((x) => x.part).join(', '),\n },\n ],\n});\n\n// Состояния новостей\nexport const NPIA_STATE = [\n {\n id: -1,\n name: 'Удалена',\n },\n {\n id: 0,\n name: 'Не опубликовано',\n },\n {\n id: 1,\n name: 'Опубликовано',\n },\n];\n\n// доступ\nexport const NPIA_ACCESS = [\n {\n id: 0,\n name: 'Доступно всем',\n },\n];\n\nexport const DATE_FORMAT = 'DD.MM.YYYY';\n\n// part types\nexport const PART_TYPES = [\n 'Амортизатор',\n 'Пружина',\n 'Пыльник',\n 'Верх. опора',\n 'Подшипник',\n 'Стойка стабилизатора',\n 'Шаровая опора',\n 'Наконечник рулевой тяги',\n 'Рулевая тяга',\n]\n .sort()\n .map((x) => ({\n id: x,\n name: x,\n }));\n","import React from 'react';\n\nimport { BellOutlined, EditOutlined } from '@ant-design/icons';\n\nimport apiAnyPropList from '../../../../api/AnyPropList';\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm/index';\nimport { PART_TYPES } from '../../News/NewProducts/table-defs';\n\n// Общие колонки, есть на всех видах\nexport function commonColumns(notifyLastForRole) {\n return {\n name: null, // 'Кроссы', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => ,\n },\n {\n prop: '+startMonth',\n name: 'Начало (м)',\n excelColName: 'Месяц начала выпуска',\n sort: true,\n inline: true,\n },\n {\n prop: '+startYear',\n name: 'Начало (г)',\n excelColName: 'Год начала выпуска',\n sort: true,\n inline: true,\n },\n {\n prop: '+endMonth',\n name: 'Конец (м)',\n excelColName: 'Месяц окончания выпуска',\n sort: true,\n inline: true,\n },\n {\n prop: '+endYear',\n name: 'Конец (г)',\n excelColName: 'Год окончания выпуска',\n sort: true,\n inline: true,\n },\n {\n prop: '+endYear2',\n name: 'Конец (г) условно',\n excelColName: 'Год окончания выпуска (условно)',\n sort: true,\n inline: true,\n },\n {\n prop: '+firm',\n name: 'Марка',\n sort: true,\n nowrap: true,\n inline: true,\n },\n {\n prop: '+model',\n name: 'Модель',\n sort: true,\n nowrap: true,\n inline: true,\n },\n {\n prop: '+bodyType',\n name: 'Тип кузова',\n sort: true,\n nowrap: true,\n inline: true,\n excelRender: (it, val) => (val ? val.map((x) => `[${x}]`).join(' ') : ''),\n },\n {\n prop: '+catalog',\n name: 'Каталог',\n sort: true,\n inline: true,\n },\n {\n prop: '+fr',\n name: 'Перед/зад',\n sort: true,\n inline: true,\n },\n {\n prop: '+lr',\n name: 'Левый/правый',\n sort: true,\n inline: true,\n },\n {\n prop: '+partNumber',\n name: 'Артикул KYB',\n sort: true,\n inline: true,\n },\n {\n prop: '+info',\n name: '*',\n align: 'center',\n sort: true,\n render: (item, val) => (val ? '*' : ''),\n inline: true,\n },\n {\n prop: '+part',\n name: 'Деталь',\n sort: true,\n inline: true,\n },\n {\n prop: '+series',\n name: 'Серия KYB',\n sort: true,\n inline: true,\n },\n {\n prop: '+type',\n name: 'Тип',\n sort: true,\n nowrap: true,\n inline: true,\n },\n {\n prop: '+codes',\n name: 'Код модели, двигателя, кузова',\n sort: true,\n inline: true,\n },\n {\n prop: '+version',\n name: 'Версия',\n sort: true,\n nowrap: true,\n inline: true,\n },\n ],\n };\n}\n\nexport function mainCatalogFormProps(model0) {\n return [\n {\n type: XDF_TYPE.NUMBER,\n label: 'Месяц начала',\n prop: 'startMonth',\n span: 6,\n autoFocus: true,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Год начала',\n prop: 'startYear',\n span: 4,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Месяц конца',\n prop: 'endMonth',\n span: 4,\n },\n {\n type: XDF_TYPE.TEXT,\n label: `Год конца ${model0 ? model0.endYear0 : ''}`,\n prop: 'endYear',\n span: 4,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Год конца (условно)',\n prop: 'endYear2',\n span: 6,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Марка',\n prop: 'firm',\n values: apiAnyPropList('KybCatalog:Main', 'firm'),\n span: 8,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Модель',\n prop: 'model',\n span: 16,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Тип кузова',\n prop: 'bodyType',\n values: apiAnyPropList('KybCatalog:Main', 'bodyType'),\n span: 24,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Каталог',\n prop: 'catalog',\n values: apiAnyPropList('KybCatalog:Main', 'catalog'),\n span: 4,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Перед/зад',\n prop: 'fr',\n values: apiAnyPropList('KybCatalog:Main', 'fr'),\n span: 4,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Левый/правый',\n prop: 'lr',\n values: apiAnyPropList('KybCatalog:Main', 'lr'),\n span: 4,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Артикул KYB',\n prop: 'partNumber',\n span: 8,\n },\n {\n type: XDF_TYPE.SWITCH,\n label: '*',\n prop: 'info',\n boolType: true,\n span: 4,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Деталь',\n prop: 'part',\n // values: apiAnyPropList('KybCatalog:Main', 'part'),\n values: PART_TYPES,\n span: 8,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Серия KYB',\n prop: 'series',\n values: apiAnyPropList('KybCatalog:Main', 'series'),\n span: 8,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Тип',\n prop: 'type',\n values: apiAnyPropList('KybCatalog:Main', 'type'),\n span: 8,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Код модели, двигателя, кузова',\n prop: 'codes',\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Версия',\n prop: 'version',\n span: 24,\n },\n ];\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, message, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport apiAnyGet from '../../../../api/AnyGet';\nimport { apiPost } from '../../../../api/index';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm from '../../../components/xdf-antd/XDataForm';\nimport { mainCatalogFormProps } from './table-defs';\n\nfunction MainCatalogEditDlg({ visible, model, onClose }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n async function loadModel(id) {\n const data = await apiAnyGet('KybCatalog:Main')(id, []);\n setModel0(data);\n setIsModelChanged(false);\n }\n\n useEffect(() => {\n if (visible && model._id) {\n loadModel(model._id);\n }\n }, [visible]);\n\n function onChangeModel(m, v) {\n setModel0({ ...m });\n setIsModelChanged(v);\n }\n\n async function onSave() {\n const res = await warningDialog('Редактирование записи', 'Сохранить внесённые изменения?', [\n { label: 'Отмена' },\n { label: 'Сохранить' },\n ]);\n\n if (res === 1) {\n // save record\n const { err, errmsg } = await apiPost('/catalog/main/set', {\n id: model._id,\n data: model0,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n async function onDelete() {\n const res = await warningDialog(\n 'Удаление записи',\n 'Удалить запись, без возможности восстановления?',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n // delete record\n const { err, errmsg } = await apiPost('/catalog/main/del', {\n id: model._id,\n });\n if (err > 0) {\n if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n } else onClose();\n }\n }\n\n return (\n Редактирование записи каталога}\n open={visible}\n width={800}\n closable={false}\n footer={[\n ,\n ,\n ,\n ]}\n >\n \n \n );\n}\n\nMainCatalogEditDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default MainCatalogEditDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__mSPjP\",\"contextHolder\":\"contextHolder__YIBeW\",\"context\":\"context__EXDj4\"};","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiEmailTemplateGet = async (id, props = ['name', 'state', 'code']) => {\n const { err, errmsg, data } = await apiPost('/any/get', {\n collection: 'EmailTemplate',\n role: 0,\n id,\n props,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n};\nexport default apiEmailTemplateGet;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiEmailTemplateRemove = async (templateId) => {\n return apiPost('/email/template/remove', {\n templateId,\n });\n};\nexport default apiEmailTemplateRemove;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiEmailTemplateSave = async (id, state, name, code) => {\n return apiPost('/email/template/save', {\n id,\n data: {\n state,\n name,\n code,\n },\n });\n};\nexport default apiEmailTemplateSave;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiEmailTemplateSend = async (templateId) => {\n return apiPost('/email/template/send', {\n templateId,\n });\n};\nexport default apiEmailTemplateSend;\n","// eslint-disable-next-line import/prefer-default-export\nexport const EDITOR_HELP_MACROS = [\n {\n id: 'EMAIL_TRACE',\n txt: 'Отслеживание открытия Email, в письмо вставляется ссылка на картинку 1x1 пиксел, с уникальным URL',\n },\n {\n id: 'TMPL.название_шаблона',\n txt: 'Вставка другого шаблона в данный, обычно используется для стандартизации HEADER/FOOTER',\n },\n {\n id: 'SYS.kyb_system_domain',\n txt: 'Домен сайта KYB System',\n },\n {\n id: 'SYS.approve_email_link',\n txt: 'Ссылка для подтврждения Email пользователя',\n },\n {\n id: 'USER.name',\n txt: 'Имя пользователя',\n },\n {\n id: 'USER.lastName',\n txt: 'Фамилия пользователя',\n },\n {\n id: 'USER.midName',\n txt: 'Отчество пользователя',\n },\n {\n id: 'USER.fullName',\n txt: 'ФИО пользователя',\n },\n {\n id: 'USER.phone',\n txt: 'Телефон пользователя',\n },\n {\n id: 'USER.email',\n txt: 'Email пользователя',\n },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader___NClH\",\"contextHolder\":\"contextHolder__NyU_z\",\"context\":\"context__tKdGq\",\"emailDetails\":\"emailDetails__kzPOC\",\"emailCode\":\"emailCode__jikPg\",\"codeWrapper\":\"codeWrapper__rEm0x\",\"codeHelp\":\"codeHelp__c8EKm\",\"codeHolder\":\"codeHolder__ZB_I5\"};","import React, { useEffect, useState } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\nimport { Modal } from 'antd';\n\nfunction EmailTemplatePreviewDlg({ templateId, visible, onClose }) {\n const [showIframe, setShowIframe] = useState(false);\n\n useEffect(() => {\n setShowIframe(visible);\n }, [visible]);\n\n return (\n \n {showIframe && (\n \n )}\n \n );\n}\n\nEmailTemplatePreviewDlg.defaultProps = {};\n\nEmailTemplatePreviewDlg.propTypes = {\n templateId: PropTypes.string.isRequired,\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default EmailTemplatePreviewDlg;\n","/* eslint-disable no-undef */\n/* eslint-disable import/prefer-default-export */\nimport React, { useRef, useEffect, useState } from 'react';\nimport { useScript } from '../../../utils/hooks';\n\nconst aceJsList = [\n 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.13/ace.min.js',\n 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.13/mode-html.min.js',\n 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.13/theme-monokai.min.js',\n 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.13/ext-beautify.min.js',\n 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.13/theme-idle_fingers.min.js',\n];\n\n/**\n * Загрузка и инициалиазция Ace редактора для xml\n * @param {*} ref\n */\nexport const useAceXml = (ref, initCode) => {\n const editor = useRef(null);\n const [done, setDone] = useState(false);\n const [editorValue, setEditorValue] = useState('');\n\n const [startLoadJs, setStartLoadJs] = useState(false);\n const [jsAllDone, setJsAllDone] = useState(false);\n const [jsDone0] = useScript(startLoadJs && aceJsList[0]);\n const [jsDone1] = useScript(jsDone0 && aceJsList[1], true);\n const [jsDone2] = useScript(jsDone1 && aceJsList[2], true);\n const [jsDone3] = useScript(jsDone2 && aceJsList[3], true);\n const [jsDone4] = useScript(jsDone3 && aceJsList[4], true);\n\n useEffect(() => {\n if (jsDone4) setJsAllDone(true);\n }, [jsDone4]);\n\n // load js\n useEffect(() => {\n if (window.ace === undefined) {\n setStartLoadJs(true);\n } else {\n setJsAllDone(true);\n }\n }, []);\n\n useEffect(() => {\n if (jsAllDone && ref.current) {\n // console.log('All JS Load - done');\n editor.current = ace.edit(ref.current, {\n // enableBasicAutocompletion: true,\n // enableLiveAutocompletion: true,\n // enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n useWorker: false,\n selectionStyle: 'text',\n theme: 'ace/theme/monokai',\n mode: 'ace/mode/html',\n });\n editor.current.setValue(initCode);\n editor.current.on('change', () => {\n setEditorValue(editor.current.getValue());\n });\n }\n return () => {\n // cleanup;\n };\n }, [jsAllDone, ref.current]);\n\n useEffect(() => {\n if (editor.current) {\n editor.current.setValue(initCode);\n }\n }, [initCode]);\n\n return [done, editorValue];\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__umQ7T\",\"contextHolder\":\"contextHolder__o1DPz\",\"context\":\"context__VE5vd\",\"ellipsisCell\":\"ellipsisCell__tIGgP\"};","import React, { useEffect, useState, useRef } from 'react';\n\nimport { Button, Col, Layout, Modal, PageHeader, Row } from 'antd';\nimport { useRecoilValue } from 'recoil';\n\nimport { CloudUploadOutlined } from '@ant-design/icons';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { meState } from '../../../../state/panel-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport XDataUpload from '../../../components/xdf-antd/XDataUpload/XDataUpload';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nconst MAX_FILE_SIZE = 256 * 1024 * 1024;\n\nconst defModel = {\n type: 'picture',\n picOptimize: true,\n picWebp: true,\n desc: '',\n};\n\nexport default function CommonFiles() {\n const tableEmitter = useRef(null);\n\n const me = useRecoilValue(meState);\n\n const [uploadDlgVisible, setUploadDlgVisible] = useState(false);\n const [startUploading, setStartUploading] = useState(false);\n\n const [model, setModel] = useState(defModel);\n\n useEffect(() => {\n if (!uploadDlgVisible) {\n setModel(defModel);\n }\n }, [uploadDlgVisible]);\n\n const onUploadFile = () => {\n setUploadDlgVisible(true);\n };\n\n const closeUploadDialog = () => {\n setUploadDlgVisible(false);\n setStartUploading(false);\n };\n\n const onSaveFileInfo = () => {\n closeUploadDialog();\n setTimeout(() => {\n tableEmitter.current.emit('RELOAD-DATA');\n }, 1000);\n };\n\n const onStartUpload = () => {\n setStartUploading(true);\n };\n\n const onSaveEventEmmitter = (ee) => {\n tableEmitter.current = ee;\n };\n\n return (\n <>\n Список файлов (картинок)}\n extra={[\n ,\n ]}\n />\n \n
\n
\n \n
\n
\n
\n \n Закрыть\n ,\n ]}\n width={610}\n >\n \n \n setModel({ ...m })}\n form={[\n {\n type: XDF_TYPE.SELECT,\n label: 'Тип загружаемого файла',\n prop: 'type',\n defValue: 'picture',\n values: [\n {\n id: 'picture',\n name: 'Картинка (resize: 1920 max)',\n },\n {\n id: 'avatar',\n name: 'Аватар (resize: 480х480)',\n },\n {\n id: 'file',\n name: 'Просто файл (без изменений)',\n },\n ],\n span: 24,\n readOnly: startUploading,\n },\n {\n type: XDF_TYPE.CHECKBOX,\n label: 'Оптимизировать',\n prop: 'picOptimize',\n boolType: true,\n hide: !['picture', 'avatar'].includes(model.type),\n span: 12,\n readOnly: startUploading,\n },\n {\n type: XDF_TYPE.CHECKBOX,\n label: 'Создавать WEBP',\n prop: 'picWebp',\n boolType: true,\n hide: !['picture', 'avatar'].includes(model.type),\n span: 12,\n readOnly: startUploading,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: 'Описание (обязательное)',\n prop: 'desc',\n span: 24,\n rows: 3,\n autoFocus: true,\n readOnly: startUploading,\n },\n ]}\n />\n \n \n \n \n \n \n \n );\n}\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiGTolltipSet = async (tid, txt) => {\n const { err, errmsg, data } = await apiPost('/tooltip/set', { tid, txt });\n if (err !== 0) throw ApiError(err, errmsg);\n return;\n};\nexport default apiGTolltipSet;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__PSM7Y\",\"contextHolder\":\"contextHolder__VpJOM\",\"context\":\"context__pWeXo\"};","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport XDataForm from '.';\n\nfunction XDataFormDialog({ debug, title, visible, width, model, form, onClose, onSave, onDelete }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0({ ...model });\n setIsModelChanged(false);\n } else {\n setModel0({});\n }\n }, [visible]);\n\n const onChangeModel = (m, isc) => {\n setModel0({ ...m });\n setIsModelChanged(isc);\n };\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n return (\n onDelete(model0)} style={{ marginRight: 'auto' }}>\n Удалить\n \n ),\n ,\n ,\n ].filter(Boolean)}\n >\n \n \n );\n}\n\nXDataFormDialog.defaultProps = {\n debug: false,\n title: null,\n visible: false,\n width: 520,\n model: {},\n onDelete: null,\n};\n\nXDataFormDialog.propTypes = {\n debug: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n visible: PropTypes.bool,\n model: PropTypes.shape({}),\n width: PropTypes.number,\n form: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n onClose: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onDelete: PropTypes.func,\n};\n\nexport default XDataFormDialog;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__VKmz7\",\"contextHolder\":\"contextHolder__tAtxJ\",\"context\":\"context__cTJmB\",\"contextPage\":\"contextPage__e4j3Z\",\"bannerPage\":\"bannerPage__ABXtY\",\"ctrls\":\"ctrls__UUGW2\",\"pic\":\"pic__w3ZGd\"};","import React, { useEffect, useState } from 'react';\n\nimport { Button, Divider, message } from 'antd';\nimport { nanoid } from 'nanoid';\n\nimport { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons';\nimport { arrayMove } from '@dnd-kit/sortable';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyGet from '../../../../api/AnyGet';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataFormDialog from '../../../components/xdf-antd/XDataForm/XDataFormDialog';\nimport styles from './styles.scss';\nimport { KYB_LEFT_BANNER_TYPE } from '../../../constants';\n\nfunction KSBannerLeft() {\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const [dlg, setDlg] = useState({ visible: false, model: {} });\n\n const fetchBanner = async () => {\n const data = await apiAnyGet('KybDb:Banner')('l', []);\n setModel({\n ...data,\n masks: (data.masks || []).map((x) => ({\n ...x,\n _id: nanoid(),\n })),\n });\n setIsModelChanged(false);\n };\n\n useEffect(() => {\n fetchBanner();\n }, []);\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is);\n };\n\n const onSaveModel = async () => {\n const { err, errmsg } = await apiPost('/site/banner/tr/set', {\n ...model,\n });\n if (err === 0) {\n setIsModelChanged(false);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n };\n\n const onCloseDlg = () => {\n setDlg({ ...dlg, visible: false });\n };\n\n const onSaveDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx < 0) {\n setModel({\n ...model,\n masks: [...model.masks, m],\n });\n } else {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), m, ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onDeleteDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx >= 0) {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onMoveUp = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx - 1),\n });\n setIsModelChanged(true);\n };\n\n const onMoveDown = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx + 1),\n });\n setIsModelChanged(true);\n };\n\n if (!model._id) return null;\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {model.masks.map((it, i) => (\n \n \n \n setDlg({ ...dlg, visible: true, model: it })}\n className={styles.pic}\n >\n {!!it.pic && \"pic\"}\n \n \n \n ))}\n \n
МаскаТипКартинка\n \n setDlg({\n ...dlg,\n visible: true,\n model: {\n _id: nanoid(),\n enableOpenPage: 1,\n },\n })\n }\n >\n Добавить\n \n
setDlg({ ...dlg, visible: true, model: it })}>{it.mask} setDlg({ ...dlg, visible: true, model: it })}>{it.type}\n }\n disabled={i === 0}\n onClick={() => onMoveUp(it)}\n />\n }\n disabled={i === model.masks.length - 1}\n onClick={() => onMoveDown(it)}\n />\n
\n\n \n
\n );\n}\n\nKSBannerLeft.defaultProps = {};\n\nKSBannerLeft.propTypes = {};\n\nexport default KSBannerLeft;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Divider, message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyGet from '../../../../api/AnyGet';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\n\nfunction KSBannerMainPage({}) {\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const fetchBanner = async () => {\n const data = await apiAnyGet('KybDb:Banner')('mp', []);\n setModel({\n ...data,\n });\n setIsModelChanged(false);\n };\n\n useEffect(() => {\n fetchBanner();\n }, []);\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is);\n };\n\n const onSaveItem = async () => {\n const { err, errmsg } = await apiPost('/site/banner/mp/set', {\n ...model,\n });\n if (err === 0) {\n setIsModelChanged(false);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n };\n\n return (\n
\n \n \n \n
\n );\n}\n\nKSBannerMainPage.defaultProps = {};\n\nKSBannerMainPage.propTypes = {};\n\nexport default KSBannerMainPage;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Divider, message } from 'antd';\nimport { nanoid } from 'nanoid';\n\nimport { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons';\nimport { arrayMove } from '@dnd-kit/sortable';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyGet from '../../../../api/AnyGet';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataFormDialog from '../../../components/xdf-antd/XDataForm/XDataFormDialog';\nimport styles from './styles.scss';\n\nfunction KSBannerTopRight() {\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const [dlg, setDlg] = useState({ visible: false, model: {} });\n\n const fetchBanner = async () => {\n const data = await apiAnyGet('KybDb:Banner')('tr', []);\n setModel({\n ...data,\n masks: (data.masks || []).map((x) => ({\n ...x,\n _id: nanoid(),\n })),\n });\n setIsModelChanged(false);\n };\n\n useEffect(() => {\n fetchBanner();\n }, []);\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is);\n };\n\n const onSaveModel = async () => {\n const { err, errmsg } = await apiPost('/site/banner/tr/set', {\n ...model,\n });\n if (err === 0) {\n setIsModelChanged(false);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n };\n\n const onCloseDlg = () => {\n setDlg({ ...dlg, visible: false });\n };\n\n const onSaveDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx < 0) {\n setModel({\n ...model,\n masks: [...model.masks, m],\n });\n } else {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), m, ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onDeleteDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx >= 0) {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onMoveUp = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx - 1),\n });\n setIsModelChanged(true);\n };\n\n const onMoveDown = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx + 1),\n });\n setIsModelChanged(true);\n };\n\n if (!model._id) return null;\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {model.masks.map((it, i) => (\n \n \n setDlg({ ...dlg, visible: true, model: it })}\n className={styles.pic}\n >\n {!!it.pic && \"pic\"}\n \n \n \n ))}\n \n
МаскаКартинка\n \n setDlg({\n ...dlg,\n visible: true,\n model: {\n _id: nanoid(),\n enableOpenPage: 1,\n },\n })\n }\n >\n Добавить\n \n
setDlg({ ...dlg, visible: true, model: it })}>{it.mask}\n }\n disabled={i === 0}\n onClick={() => onMoveUp(it)}\n />\n }\n disabled={i === model.masks.length - 1}\n onClick={() => onMoveDown(it)}\n />\n
\n\n \n
\n );\n}\n\nKSBannerTopRight.defaultProps = {};\n\nKSBannerTopRight.propTypes = {};\n\nexport default KSBannerTopRight;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Divider, message } from 'antd';\nimport { nanoid } from 'nanoid';\n\nimport { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons';\nimport { arrayMove } from '@dnd-kit/sortable';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyGet from '../../../../api/AnyGet';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataFormDialog from '../../../components/xdf-antd/XDataForm/XDataFormDialog';\nimport styles from './styles.scss';\n\nfunction KSBannerTopRight2() {\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const [dlg, setDlg] = useState({ visible: false, model: {} });\n\n const fetchBanner = async () => {\n const data = await apiAnyGet('KybDb:Banner')('tr2', []);\n setModel({\n ...data,\n masks: (data.masks || []).map((x) => ({\n ...x,\n _id: nanoid(),\n })),\n });\n setIsModelChanged(false);\n };\n\n useEffect(() => {\n fetchBanner();\n }, []);\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is);\n };\n\n const onSaveModel = async () => {\n const { err, errmsg } = await apiPost('/site/banner/tr/set', {\n ...model,\n });\n if (err === 0) {\n setIsModelChanged(false);\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n };\n\n const onCloseDlg = () => {\n setDlg({ ...dlg, visible: false });\n };\n\n const onSaveDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx < 0) {\n setModel({\n ...model,\n masks: [...model.masks, m],\n });\n } else {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), m, ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onDeleteDlg = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n if (idx >= 0) {\n setModel({\n ...model,\n masks: [...model.masks.slice(0, idx), ...model.masks.slice(idx + 1)],\n });\n }\n setIsModelChanged(true);\n onCloseDlg();\n };\n\n const onMoveUp = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx - 1),\n });\n setIsModelChanged(true);\n };\n\n const onMoveDown = (m) => {\n const idx = model.masks.findIndex((x) => x._id === m._id);\n setModel({\n ...model,\n masks: arrayMove(model.masks, idx, idx + 1),\n });\n setIsModelChanged(true);\n };\n\n if (!model._id) return null;\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {model.masks.map((it, i) => (\n \n \n setDlg({ ...dlg, visible: true, model: it })}\n className={styles.pic}\n >\n {!!it.pic && \"pic\"}\n \n \n \n ))}\n \n
МаскаКартинка\n \n setDlg({\n ...dlg,\n visible: true,\n model: {\n _id: nanoid(),\n enableOpenPage: 1,\n },\n })\n }\n >\n Добавить\n \n
setDlg({ ...dlg, visible: true, model: it })}>{it.mask}\n }\n disabled={i === 0}\n onClick={() => onMoveUp(it)}\n />\n }\n disabled={i === model.masks.length - 1}\n onClick={() => onMoveDown(it)}\n />\n
\n\n \n
\n );\n}\n\nKSBannerTopRight2.defaultProps = {};\n\nKSBannerTopRight2.propTypes = {};\n\nexport default KSBannerTopRight2;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__ENNye\",\"contextHolder\":\"contextHolder__B9B5i\",\"context\":\"context__pgqfc\"};","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__TChE0\",\"contextHolder\":\"contextHolder__iud0j\",\"context\":\"context__tI7cW\"};","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__gs60q\",\"contextHolder\":\"contextHolder__xqZ5C\",\"context\":\"context__B8tm7\",\"contextPage\":\"contextPage__IZfPK\"};","function fallbackCopyTextToClipboard(text, resolve) {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n\n // Avoid scrolling to bottom\n textArea.style.top = '0';\n textArea.style.left = '0';\n textArea.style.position = 'fixed';\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n let successOK = false;\n try {\n const successful = document.execCommand('copy');\n const msg = successful ? 'successful' : 'unsuccessful';\n // console.log('Fallback: Copying text command was ' + msg);\n successOK = true;\n } catch (err) {\n // console.error('Fallback: Oops, unable to copy', err);\n }\n document.body.removeChild(textArea);\n resolve(successOK);\n}\n\nfunction copyTextToClipboard(text) {\n return new Promise((resolve) => {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text, resolve);\n } else {\n navigator.clipboard.writeText(text).then(\n () => {\n // console.log('Async: Copying to clipboard was successful!');\n resolve(true);\n },\n (err) => {\n // console.error('Async: Could not copy text: ', err);\n resolve(true);\n },\n );\n }\n });\n}\n\nexport default copyTextToClipboard;\n","import { XDF_TYPE } from '../xdf-antd/XDataForm';\n\nconst FORM_BLK_TYPE1 = [\n {\n type: XDF_TYPE.TEXT,\n label: 'Заголовок',\n prop: 'title',\n span: 24,\n autoFocus: true,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: '1 Колонка',\n prop: 'col1',\n span: 24,\n rows: 16,\n autoSize: true,\n },\n];\n\nconst FORM_BLK_TYPE2 = [\n {\n type: XDF_TYPE.TEXTAREA,\n label: '1 Колонка',\n prop: 'col1',\n span: 12,\n rows: 20,\n autoSize: true,\n autoFocus: true,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: '2 Колонка',\n prop: 'col2',\n span: 12,\n rows: 20,\n autoSize: true,\n },\n];\n\nconst FORM_BLK_TYPE3 = [\n {\n type: XDF_TYPE.TEXTAREA,\n label: 'Цитирование',\n prop: 'col1',\n span: 24,\n rows: 20,\n autoSize: true,\n autoFocus: true,\n },\n];\n\nconst FORM_BLK_TYPE4 = [\n {\n type: XDF_TYPE.TEXT,\n label: 'Заголовок',\n prop: 'title',\n span: 24,\n autoFocus: true,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: '1 Колонка',\n prop: 'col1',\n span: 12,\n rows: 16,\n autoSize: true,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: '2 Колонка',\n prop: 'col2',\n span: 12,\n rows: 16,\n autoSize: true,\n },\n];\n\nconst FORM_BLK_TYPE5 = [\n {\n type: XDF_TYPE.TEXT,\n label: 'Заголовок',\n prop: 'title',\n span: 24,\n autoFocus: true,\n },\n {\n type: XDF_TYPE.TEXTAREA,\n label: '1 Колонка',\n prop: 'col1',\n span: 24,\n rows: 16,\n autoSize: true,\n },\n];\n\nconst FORM_BLK_TYPE7 = [\n {\n type: XDF_TYPE.GALLERY_UPLOAD,\n prop: 'pics',\n picsProps: ['pic', 'pic', 'desc'],\n roundImage: true,\n maxCount: 3,\n span: 24,\n },\n];\n\n// eslint-disable-next-line import/prefer-default-export\nexport const getBlockFormByType = (type) => {\n // eslint-disable-next-line default-case\n switch (type) {\n case 1:\n return FORM_BLK_TYPE1;\n case 2:\n return FORM_BLK_TYPE2;\n case 3:\n return FORM_BLK_TYPE3;\n case 4:\n return FORM_BLK_TYPE4;\n case 5:\n return FORM_BLK_TYPE5;\n case 7:\n return FORM_BLK_TYPE7;\n }\n return [];\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"main___b5tz\",\"left\":\"left__cUfQV\",\"blkItem\":\"blkItem__PienJ\",\"inEdit\":\"inEdit__MAjBh\",\"remove\":\"remove__AIC20\",\"dragArea\":\"dragArea__yhS51\",\"blkT\":\"blkT__gAq9F\",\"blocksList\":\"blocksList__KPyOi\",\"right\":\"right__yYnP3\",\"editorCtrls\":\"editorCtrls__IoqCR\",\"blockEditor\":\"blockEditor__qVsK2\",\"picsList\":\"picsList__TEByq\",\"item\":\"item__KDOl3\",\"desc\":\"desc__v1wzs\",\"videoPreview\":\"videoPreview__i7XiT\"};","import React from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nfunction KybBlockPicsDlg({ visible, pics, onSelect, onClose }) {\n return (\n \n Закрыть\n ,\n ]}\n >\n
\n {pics.map((pic) => (\n \n ))}\n
\n \n );\n}\n\nKybBlockPicsDlg.defaultProps = {};\n\nKybBlockPicsDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n pics: PropTypes.arrayOf(\n PropTypes.shape({\n pic: PropTypes.string,\n desc: PropTypes.string,\n }),\n ).isRequired,\n onSelect: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default KybBlockPicsDlg;\n","export function getConnectDomain() {\n // eslint-disable-next-line no-undef\n return CONNECT_DOMAIN || 'https://kyb-connect.geo4.biz';\n}\n\nexport function arrayReplaceItemAtIndex(arr, index, newValue) {\n return [...arr.slice(0, index), newValue, ...arr.slice(index + 1)];\n}\n\nexport function arrayRemoveItemAtIndex(arr, index) {\n return [...arr.slice(0, index), ...arr.slice(index + 1)];\n}\n\nexport function arrayAddItemToStart(arr, newValue) {\n return [newValue, ...arr];\n}\n\nconst colors = [\n '#cc0033',\n '#FF9900',\n '#6666FF',\n '#339966',\n '#9933CC',\n '#FF3366',\n '#333399',\n '#CC9900',\n '#FF00CC',\n '#3399CC',\n '#00CC99',\n '#999900',\n];\n\nexport const getGraphColor = (idx) => colors[idx % colors.length];\n\n/**\n * Округление числа до нужного знака после запятой\n * @param x\n * @param n\n * @returns {*}\n */\nexport const roundPlus = (x, n = 2) => {\n // x - число, n - количество знаков\n if (isNaN(x) || isNaN(n)) return undefined;\n const m = 10 ** n;\n return Math.round(x * m) / m;\n};\n\nexport const Logger = {\n log: (...args) => console.log(...args),\n error: (...args) => console.error(...args),\n};\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport XDataForm, { XDF_TYPE } from '../xdf-antd/XDataForm';\nimport styles from './styles.scss';\nimport { roundPlus } from '../../utils/utils';\n\nconst defModel = {\n round: 0,\n videoId: '',\n name: '',\n};\n\nfunction KybBlockYoutubeDlg({ visible, onSelect, onClose }) {\n const [model, setModel] = useState(defModel);\n\n const pic = useRef(null);\n\n useEffect(() => {\n if (!visible) {\n setModel(defModel);\n }\n }, [visible]);\n\n const onChangeModel = (m, is) => {\n setModel({\n ...m,\n });\n };\n\n const onSelectVideo = () => {\n const w = pic.current?.width || 400;\n const h = pic.current?.height || 300;\n onSelect({\n ...model,\n wh: roundPlus(w / h, 3),\n });\n };\n\n return (\n \n Закрыть\n ,\n ,\n ]}\n >\n \n {!!model.videoId && (\n
\n \n
\n )}\n \n );\n}\n\nKybBlockYoutubeDlg.defaultProps = {};\n\nKybBlockYoutubeDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n onSelect: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default KybBlockYoutubeDlg;\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\n\nimport cn from 'classnames';\n\nimport { DeleteOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport DragIcon from '../../../assets/svg/drag.svg';\nimport styles from './styles.scss';\n\nfunction SortableBlockItem({ id, value, editId, onClick, onDeleteBlock }) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n margin: '8px 0',\n zIndex: isDragging ? '100' : 'auto',\n opacity: isDragging ? 0.3 : 1,\n };\n\n const onDelete = (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n onDeleteBlock();\n };\n\n return (\n \n
\n \n
\n
тип: {value}
\n \n \n );\n}\n\nexport default SortableBlockItem;\n","/* eslint-disable react/no-array-index-key */\nimport React, { useState } from 'react';\n\nimport { Button, Dropdown, Menu, notification } from 'antd';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\n\nimport {\n closestCenter,\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n rectSortingStrategy,\n SortableContext,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\n\nimport DragIcon from '../../../assets/svg/drag.svg';\nimport UpDownIcon from '../../../assets/svg/up-down.svg';\nimport copyTextToClipboard from '../../utils/copy2clipboard';\nimport XDataForm from '../xdf-antd/XDataForm';\nimport { getBlockFormByType } from './blocks-forms';\nimport KybBlockPicsDlg from './KybBlockPicsDlg';\nimport KybBlockYoutubeDlg from './KybBlockYoutubeDlg';\nimport SortableBlockItem from './SortableBlockItem';\nimport styles from './styles.scss';\n\nfunction KybPageBlocksEditor({ blocks, onSaveBlocks, pics }) {\n const [activeItem, setActiveItem] = useState({});\n const [blkIdx, setBlkIdx] = useState(-1);\n\n const [showPicSelectDlg, setShowPicSelectDlg] = useState(false);\n const [showYoutubeSelectDlg, setShowYoutubeSelectDlg] = useState(false);\n\n const startEditBlock = (bi) => {\n setBlkIdx(bi);\n };\n\n const onDeleteBlock = (idx) => {\n setBlkIdx(-1);\n if (idx >= 0) {\n onSaveBlocks([...blocks.slice(0, idx), ...blocks.slice(idx + 1)]);\n }\n };\n\n const onAddBlock = ({ key }) => {\n onSaveBlocks([\n ...blocks,\n {\n type: parseInt(key, 10),\n id: nanoid(),\n },\n ]);\n };\n\n const onChangeModel = (m, is) => {\n // eslint-disable-next-line no-param-reassign\n blocks[blkIdx] = {\n ...m,\n };\n onSaveBlocks(blocks);\n };\n\n const onInsertPic = () => {\n setShowPicSelectDlg(true);\n };\n\n const onSelectPic = async (pic) => {\n setShowPicSelectDlg(false);\n const ok = await copyTextToClipboard(`!${pic.pic}||%%%%!`);\n if (ok) {\n notification.success({\n message: 'Код вставки картинки скопирован в буфер обмена',\n description: 'Выберите место в тексте и вставьте из буфера обмена (Ctrl+V)',\n duration: 9,\n });\n }\n };\n\n const onSelectVideo = async (video) => {\n setShowYoutubeSelectDlg(false);\n const ok = await copyTextToClipboard(\n `!${video.videoId}.youtube|${video.wh}|%%${video.name}%%!`,\n );\n if (ok) {\n notification.success({\n message: 'Код вставки видео скопирован в буфер обмена',\n description: 'Выберите место в тексте и вставьте из буфера обмена (Ctrl+V)',\n duration: 9,\n });\n }\n };\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const handleDragStart = (event) => {\n // setActiveId(event.active.id);\n // console.log('handleDragStart', event.active);\n setBlkIdx(-1);\n setActiveItem(event.active);\n };\n\n const handleDragEnd = (event) => {\n // setActiveId(null);\n setActiveItem({});\n const { active, over } = event;\n\n if (active.id !== over.id) {\n const oldIndex = blocks.findIndex((x) => x.id === active.id);\n const newIndex = blocks.findIndex((x) => x.id === over.id);\n onSaveBlocks(arrayMove(blocks, oldIndex, newIndex));\n }\n };\n\n const items = [\n {\n label: 'Заголовок + одна колонка (тип: 1)',\n key: 1,\n },\n {\n label: 'Две колонки (тип: 2)',\n key: 2,\n },\n {\n label: 'Цитирование (тип: 3)',\n key: 3,\n },\n {\n label: 'Заголовк + две колонки (скрывающийся блок) (тип: 4)',\n key: 4,\n },\n {\n label: 'Заголовк + одна колонка (скрывающийся блок) (тип: 5)',\n key: 5,\n },\n {\n label: 'Три картинки (тип: 7)',\n key: 7,\n },\n ];\n\n const menu = ;\n\n // const menu = (\n // \n // Заголовок + одна колонка (тип: 1)\n // Две колонки (тип: 2)\n // Цитирование (тип: 3)\n // Заголовк + две колонки (скрывающийся блок) (тип: 4)\n // Заголовк + одна колонка (скрывающийся блок) (тип: 5)\n // Три картинки (тип: 7)\n // \n // );\n\n return (\n
\n
\n
\n \n \n \n
\n\n \n
\n \n {blocks.map((blk, i) => (\n = 0 ? blocks[blkIdx]?.id : null}\n onClick={() => startEditBlock(i)}\n onDeleteBlock={() => onDeleteBlock(i)}\n />\n ))}\n \n {activeItem?.id ? (\n
\n
\n \n
\n
\n \n
\n
\n ) : null}\n
\n
\n
\n \n
\n
\n {blkIdx >= 0 && (\n
\n
\n \n {pics?.length > 0 && (\n \n )}\n
\n
\n \n
\n
\n )}\n
\n\n {pics?.length > 0 && (\n setShowPicSelectDlg(false)}\n />\n )}\n\n setShowYoutubeSelectDlg(false)}\n />\n
\n );\n}\n\nKybPageBlocksEditor.defaultProps = {\n blocks: [],\n pics: [],\n};\n\nKybPageBlocksEditor.propTypes = {\n blocks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n }),\n ),\n onSaveBlocks: PropTypes.func.isRequired,\n pics: PropTypes.arrayOf(\n PropTypes.shape({\n pic: PropTypes.string,\n desc: PropTypes.string,\n }),\n ),\n};\n\nexport default KybPageBlocksEditor;\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Button, Layout, message, PageHeader, Tabs, Tooltip } from 'antd';\nimport { nanoid } from 'nanoid';\nimport queryString from 'query-string';\nimport { useHistory, useLocation, useParams } from 'react-router-dom';\n\nimport { CloudUploadOutlined, DeleteOutlined } from '@ant-design/icons';\n\nimport { apiPost } from '../../../../api';\nimport apiAnyGet from '../../../../api/AnyGet';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport KybPageBlocksEditor from '../../../components/KybPageBlocksEditor/KybPageBlocksEditor';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_SITE_ITEM_STATUS } from '../../../constants';\nimport styles from './styles.scss';\n\nconst defModel = {\n _id: '___Null___',\n status: 0,\n pic: '',\n pics: [],\n};\n\nexport default function KybSiteExpertsEditor() {\n const history = useHistory();\n const location = useLocation();\n const qs = queryString.parse(location.search);\n\n const [model, setModel] = useState(defModel);\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const { zid } = useParams();\n\n const fetchSiteNews = async (id) => {\n const data = await apiAnyGet('KybDb:Expert')(id, []);\n setModel({\n ...data,\n blocks: (data?.blocks || []).map((b) => ({\n ...b,\n id: b.id || nanoid(),\n })),\n });\n setIsModelChanged(false);\n };\n\n useEffect(() => {\n if (zid !== '--new--') {\n fetchSiteNews(zid);\n }\n }, [zid]);\n\n const onChangeTab = (key) => {\n history.push(`?tab=${key}`);\n };\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is);\n };\n\n const onSaveBlocks = (blocks) => {\n // console.log('onSaveBlocks', blocks);\n setModel({\n ...model,\n blocks: [...blocks],\n });\n setIsModelChanged(true);\n };\n\n const onSaveItem = async () => {\n const { err, errmsg, data } = await apiPost('/site/expert/set', {\n ...model,\n });\n if (err === 0) {\n setIsModelChanged(false);\n if (data._id !== zid) {\n history.replace(`/site/installations/${data._id}`);\n }\n } else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n };\n\n const onDeleteItem = async () => {\n const res = await warningDialog('Рекомендация к установке', 'Удалить запись?', [\n { label: 'Отмена' },\n { label: 'Удалить' },\n ]);\n\n if (res === 1) {\n const { err, errmsg } = await apiPost('/site/expert/set', {\n ...model,\n status: -1,\n });\n if (err === 0) history.push(`/site/experts`);\n else if (Array.isArray(errmsg)) {\n for (const msg of errmsg) {\n message.error(msg.message);\n }\n } else {\n message.error(errmsg || `Net error ${err}`);\n }\n }\n };\n\n return (\n <>\n Экспертный клуб}\n onBack={() => history.goBack()}\n extra={[\n \n \n ,\n \n 0}\n >\n PDF\n \n ,\n ]}\n />\n {loading &&
}\n {renderPercent >= 0 && (\n
\n `${roundPlus(percent, 0)}%`}\n />\n
\n )}\n
\n\n \n {stats && stats.common && (\n <>\n {renderPart(0)}\n {renderPart(1)}\n {renderPart(2)}\n {renderPart(3)}\n \n )}\n \n\n {stats && stats.common && (\n
\n {tbls.map((x, i) => renderPdfPage(i, 0))}\n {renderPdfPage(4, 0)}\n {regions.map((r, i) => renderPdfPage(i + 5, 0))}\n
\n )}\n \n );\n}\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiMapSettings = async () => {\n const { err, errmsg, data } = await apiPost('/map/settings', {});\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n};\nexport default apiMapSettings;\n","import { selector } from 'recoil';\nimport apiMapSettings from '../api/MapSettings';\n\nexport const mapSettingsState = selector({\n key: '__map_settings__',\n get: async ({ get }) => {\n const response = await apiMapSettings();\n return response;\n },\n});\n\nexport const mapGoogleKeyApi = selector({\n key: '__map_googleKeyApi__',\n get: ({ get }) => {\n const { googleKeyApi } = get(mapSettingsState);\n return googleKeyApi;\n },\n});\n\nexport const mapCategoriesState = selector({\n key: '__map_categories__',\n get: ({ get }) => {\n const { categories } = get(mapSettingsState);\n return categories;\n },\n});\n\nexport const mapIconsState = selector({\n key: '__map_icons__',\n get: ({ get }) => {\n const { icons } = get(mapSettingsState);\n return icons;\n },\n});\n\nexport const mapDictState = selector({\n key: '__map_dict__',\n get: ({ get }) => {\n const { dict } = get(mapSettingsState);\n return dict;\n },\n});\n\nexport const mapPropsState = selector({\n key: '__map_props__',\n get: ({ get }) => {\n const { props } = get(mapSettingsState);\n return props;\n },\n});\n\nexport const mapId2PropsState = selector({\n key: '__map_id2props__',\n get: ({ get }) => {\n const { props } = get(mapSettingsState);\n return props.reduce((a, x) => {\n // eslint-disable-next-line no-param-reassign\n a[x.prop] = x;\n return a;\n }, {});\n },\n});\n","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable camelcase */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport FilterAllIcon from '../../../assets/images/map/fltr_all.png';\nimport { netPOSTv2 } from '../../../api';\n\n/*\n * Групповой GoogleMap маркер, параметры:\n * \tposition: new google.maps.LatLng\n * icon: png/gif картинка (становится как background к div)\n * size: размер div {x,y)\n * offs: смещение для указания места на карте {x,y}\n * st: содержимое, которое вставляется в div\n * data: если присутствует, то st - используется как шалон в MGoMApi.tmpl, а data - данные\n * title: всплывающая посказка\n */\nfunction googleGroupMarker(opt) {\n // params\n this.position_ = opt.position;\n this.offs_ = opt.offs;\n // create marker\n const div = document.createElement('div');\n div.style.cssText =\n `${\n 'line-height:normal;position:absolute;display:block;padding:0px;margin:0px;' +\n 'background: url('\n }${opt.icon}) no-repeat;` +\n `background-size:${opt.size[0]}px ${opt.size[1]}px;` +\n `z-index: ${1000 + 100 * opt.data.n}`;\n div.style.border = 'none';\n div.style.borderWidth = '0px';\n div.style.cursor = 'pointer';\n // size\n div.style.width = `${opt.size[0]}px`;\n div.style.height = `${opt.size[1]}px`;\n // title\n if (opt.title !== undefined) {\n div.title = opt.title;\n }\n\n if (opt.data === null) div.innerHTML = opt.st;\n // SPEEDUP: заменить шаблонизатор на простую замену\n else {\n div.innerHTML = `
${opt.data.n}
`;\n } /* MGoMApi.tmpl(opt.st, opt.data); */\n\n // save\n this.div_ = div;\n}\n\nexport default class KybMap extends Component {\n static propTypes = {\n googleKey: PropTypes.string.isRequired,\n categories: PropTypes.array.isRequired,\n onHide: PropTypes.func.isRequired,\n lat: PropTypes.number,\n lng: PropTypes.number,\n zoom: PropTypes.number,\n onSelectObject: PropTypes.func,\n\n editObject: PropTypes.object,\n onMovedEditObject: PropTypes.func,\n };\n\n state = {\n cids: [],\n searchAddress: '',\n };\n\n constructor(props) {\n super(props);\n this.__mapID = `MAP_ID_${new Date().getTime()}`;\n this.__map = null;\n\n if (!window.google || !window.google.maps) {\n this.loadGoogleMapApi();\n }\n }\n\n componentDidMount() {\n this.__mount = true;\n\n setTimeout(() => {\n if (this.__map === null) this.initGoogleMap();\n }, 50);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.editMarket(nextProps);\n\n if (this.props.lat !== nextProps.lat || this.props.lng !== nextProps.lng) {\n if (this.__map && nextProps.lat !== undefined && nextProps.lng !== undefined) {\n this.__map.setCenter({ lat: nextProps.lat, lng: nextProps.lng });\n }\n }\n }\n\n componentWillUnmount() {\n this.__mount = false;\n delete this.__map;\n this.__map = null;\n }\n\n loadGoogleMapApi = () => {\n // console.log('loadGoogleMapApi');\n window.initGoogleMap = this.initGoogleMap;\n const script = document.createElement('script');\n script.src = `https://maps.googleapis.com/maps/api/js?key=${this.props.googleKey}&callback=initGoogleMap`;\n document.head.appendChild(script);\n };\n\n initGoogleMap = () => {\n if (\n !this.__mount ||\n this.__map !== null ||\n window.google === undefined ||\n window.google.maps === undefined\n )\n return;\n\n // console.log('initGoogleMap');\n const { categories, lat, lng, zoom } = this.props;\n // create info for icons\n this.__catIcons = {};\n categories.forEach((c) => {\n this.__catIcons[c.id] = {\n i: c.icon,\n w: c.iW,\n h: c.iH,\n x: c.iX,\n y: c.iY,\n };\n });\n\n const _lat = lat || 55.745827;\n const _lng = lng || 37.624513;\n const _zoom = zoom || 11;\n\n // init google map\n this.__map = new window.google.maps.Map(document.getElementById(this.__mapID), {\n center: { lat: _lat, lng: _lng },\n zoom: _zoom,\n zoomControl: false,\n mapTypeControl: false,\n scaleControl: false,\n streetViewControl: false,\n rotateControl: false,\n fullscreenControl: false,\n });\n\n this.__geocoder = new window.google.maps.Geocoder();\n\n this.__markers = [];\n this.__merkersZoom = 0;\n\n this.create_googleGroupMarker();\n\n this.addFakeLayer();\n\n this.editMarket(this.props);\n };\n\n userLocationMoved = (latLng) => {\n const { onMovedEditObject } = this.props;\n const obj = { lat: latLng.lat(), lng: latLng.lng() };\n this.__geocoder.geocode({ location: latLng }, (results, status) => {\n // console.log(status, results);\n if (status === 'OK' && results && results.length > 0) {\n obj._addr = results[0].formatted_address;\n results[0].address_components.forEach((x) => {\n if (x.types) {\n if (x.types.includes('locality')) {\n obj.g_city = x.long_name;\n } else if (x.types.includes('administrative_area_level_1')) {\n obj.g_area = x.long_name;\n } else if (x.types.includes('country')) {\n obj.g_country = x.long_name;\n }\n }\n });\n }\n if (onMovedEditObject) {\n onMovedEditObject(obj);\n }\n });\n };\n\n editMarket = (props) => {\n if (!window.google || !window.google.maps) return;\n\n const _this = this;\n const { editObject } = props;\n // https://panel.geo4.biz/assets/img/poi4edit.png 50x60 -23 -56\n\n if (!this.__editMarket) {\n this.__editMarket = new window.google.maps.Marker({\n position: { lat: 0, lng: 0 },\n icon: {\n url: '/assets/static/poi4edit.png',\n size: new window.google.maps.Size(50, 60),\n anchor: new window.google.maps.Point(23, 56),\n },\n zIndex: 1000,\n draggable: true,\n title: 'тащи меня',\n });\n\n window.google.maps.event.addListener(this.__editMarket, 'dragend', (ev) => {\n _this.userLocationMoved(ev.latLng);\n });\n }\n\n if (!editObject) {\n // remove\n this.__editMarket.setMap(null);\n } else {\n this.__editMarket.setMap(this.__map);\n this.__editMarket.setPosition({ lat: editObject.lat, lng: editObject.lng });\n }\n };\n\n addFakeLayer = () => {\n const _this = this;\n this.__fakeLayer = new window.google.maps.ImageMapType({\n getTileUrl(ll, z) {\n _this.tileLoad(ll.x % (1 << z), ll.y, z);\n },\n tileSize: new window.google.maps.Size(256, 256),\n isPng: false,\n opacity: 0,\n });\n\n // Добавляем слои к карте\n this.__map.overlayMapTypes.insertAt(0, this.__fakeLayer);\n };\n\n tileLoad = async (x, y, z) => {\n const _this = this;\n const { editObject } = this.props;\n\n if (this.__merkersZoom !== this.__map.getZoom()) {\n this.__merkersZoom = this.__map.getZoom();\n this.__markers.forEach((m) => m.setMap(null));\n this.__markers = [];\n }\n\n const { cids } = this.state;\n const { err, data } = await netPOSTv2(`/map/p4t/${z}/${y}/${x}`, { cids });\n if (err === 0) {\n // console.log(data);\n if (data.z === this.__map.getZoom() && data.l) {\n data.l.forEach((m) => {\n if (m.c === 1) {\n if (!editObject || editObject._id !== m.id) {\n const mmm = this.__catIcons[m.cid];\n\n const marker = new window.google.maps.Marker({\n map: this.__map,\n position: { lat: m.lat, lng: m.lng },\n icon: {\n url: mmm.i,\n size: new window.google.maps.Size(mmm.w, mmm.h),\n anchor: new window.google.maps.Point(mmm.x, mmm.y),\n },\n title: m.a ? 'активно' : 'не активно',\n opacity: m.a ? 1 : 0.4,\n });\n\n marker.kyb = m;\n this.__markers.push(marker);\n\n window.google.maps.event.addListener(marker, 'click', function (ev) {\n // $.map('panTo', this.kyb.ll);\n // $.map('zoomIn');\n if (_this.props.onSelectObject) {\n // console.log(this.kyb);\n _this.props.onSelectObject(this.kyb);\n }\n });\n }\n } else {\n let type = 1;\n\n let size = [38, 38];\n if (m.c > 9 && m.c < 100) {\n type = 2;\n size = [48, 48];\n } else if (m.c >= 100) {\n type = 3;\n size = [58, 58];\n }\n // cluster\n const markOpt = {\n position: new window.google.maps.LatLng(m.lat, m.lng),\n icon: `/assets/static/group-icon0${type}.png`,\n size,\n offs: [size[0] / 2, size[1] / 2],\n st: '
${n}
',\n data: { n: m.c > 999 ? '..' : m.c, type },\n };\n\n const marker = new googleGroupMarker(markOpt);\n marker.kyb = m;\n marker.setMap(this.__map);\n this.__markers.push(marker);\n\n window.google.maps.event.addListener(marker, 'click', (ev) => {\n // $.map('panTo', this.kyb.ll);\n // $.map('zoomIn');\n });\n }\n });\n }\n }\n };\n\n create_googleGroupMarker = () => {\n googleGroupMarker.prototype = new window.google.maps.OverlayView();\n googleGroupMarker.prototype.onAdd = function () {\n const pane = this.getPanes().overlayMouseTarget;\n pane.appendChild(this.div_);\n const me = this;\n this.listeners_ = [\n window.google.maps.event.addDomListener(this.div_, 'click', () => {\n window.google.maps.event.trigger(me, 'click');\n }),\n ];\n };\n googleGroupMarker.prototype.onRemove = function () {\n this.div_.parentNode.removeChild(this.div_);\n\n // Label is removed from the map, stop updating its position/text.\n for (let i = 0, I = this.listeners_.length; i < I; ++i) {\n window.google.maps.event.removeListener(this.listeners_[i]);\n }\n };\n googleGroupMarker.prototype.draw = function () {\n const projection = this.getProjection();\n const pos = projection.fromLatLngToDivPixel(this.position_);\n pos.x -= this.offs_[0];\n pos.y -= this.offs_[1];\n\n const div = this.div_;\n div.style.left = `${pos.x}px`;\n div.style.top = `${pos.y}px`;\n };\n };\n\n addCategory = (cid) => {\n if (cid === 0) {\n this.setState({ cids: [] });\n } else {\n const { cids } = this.state;\n const idx = cids.findIndex((n) => n === cid);\n if (idx >= 0) {\n this.setState({ cids: [...cids.slice(0, idx), ...cids.slice(idx + 1)] });\n } else {\n this.setState({ cids: [...cids, cid] });\n }\n }\n\n this.__map.overlayMapTypes.removeAt(0);\n this.__merkersZoom = -1;\n this.addFakeLayer();\n };\n\n render() {\n const { categories, onHide } = this.props;\n const { cids, searchAddress } = this.state;\n return (\n
\n
\n\n
\n
    \n
  • this.addCategory(0)}>\n \"All\n
  • \n {categories.map((x, i) => {\n return (\n this.addCategory(x.id)}\n className={cids.length === 0 || cids.includes(x.id) ? '' : 'noact'}\n >\n {x.id}\n \n );\n })}\n
\n
\n\n
\n
    \n
  • \n
    \n
    \n onHide()}\n />\n
    \n
  • \n
\n
\n\n
\n {\n this.setState({ searchAddress: ev.target.value });\n }}\n onKeyDown={(ev) => {\n if (ev.key === 'Enter') {\n this.__geocoder.geocode({ address: searchAddress }, (results, status) => {\n if (status === 'OK' && results && results.length > 0) {\n this.__map.panTo(results[0].geometry.location);\n this.userLocationMoved(results[0].geometry.location);\n }\n });\n }\n }}\n />\n {/*
*/}\n
\n\n
\n
    \n
  • \n \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
      \n
    • \n
      \n
    • \n
    \n
    \n
  • \n
  • \n \n
    \n \n
  • \n
  • \n \n
    \n this.__map && this.__map.setZoom(this.__map.getZoom() + 1)}\n />\n this.__map && this.__map.setZoom(this.__map.getZoom() - 1)}\n />\n
    \n
    \n
  • \n {/*\n
  • \n \n
  • \n
  • \n \n
  • \n
  • \n \n
    \n \n
  • \n */}\n
\n
\n
\n );\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__rPzEo\",\"contextHolder\":\"contextHolder__GVkYz\",\"context\":\"context__zJ4YN\",\"form\":\"form__wz3AC\",\"formHolder\":\"formHolder__SjZqv\",\"map\":\"map__EoHVA\",\"mapHolder\":\"mapHolder__cLdwd\"};","/* eslint-disable no-param-reassign */\nconst cleanProps = ['__g4b', '__lat', '__lng', '_t'];\n\n// eslint-disable-next-line import/prefer-default-export\nexport function fixMapObject(object) {\n for (const prop of cleanProps) {\n // eslint-disable-next-line no-param-reassign\n delete object[prop];\n }\n\n // fix geo location\n if (object.ll?.type === 'Point' && Array.isArray(object.ll?.coordinates)) {\n object.lat = object.ll?.coordinates[1];\n object.lng = object.ll?.coordinates[0];\n }\n\n return object;\n}\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nconst apiMapObjectSet = async (model) => apiPost('/map/object/set', model);\nexport default apiMapObjectSet;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__bnwJ6\",\"contextHolder\":\"contextHolder__XNyCT\",\"context\":\"context__dCKLG\"};","/* eslint-disable no-underscore-dangle */\nimport React from 'react';\n\nimport { Button, Tooltip } from 'antd';\nimport { useRecoilValue } from 'recoil';\n\nimport { CheckOutlined, CloseOutlined, FilterOutlined, FormOutlined } from '@ant-design/icons';\n\nimport { netPOSTv2 } from '../../../../api';\nimport { mapCategoriesState } from '../../../../state/map-state';\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_MAP_OBJECT_COMMENT_STATE, OBJECT_STATES } from '../../../constants';\n\n// Общие колонки, есть на всех видах\nexport function commonColumns() {\n const categoriesList = useRecoilValue(mapCategoriesState);\n\n return {\n name: 'Общая информация', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '+cid',\n name: 'Категория',\n sort: true,\n prop2value: [categoriesList, 'id', 'name'],\n nowrap: true,\n },\n {\n prop: '+active',\n name: 'Активность',\n sort: true,\n prop2value: [OBJECT_STATES, 'id', 'name'],\n },\n {\n prop: '+name',\n name: 'Название',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+addr',\n name: 'Адрес',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+_eid',\n name: 'KYB ID',\n sort: true,\n },\n {\n prop: '+_accCnt',\n name: 'Просмотров',\n sort: true,\n },\n {\n prop: '+_iid',\n name: 'Иконка',\n sort: true,\n },\n {\n prop: '+gr',\n name: 'Группа',\n sort: true,\n },\n ],\n };\n}\n\nexport function columnsOthers() {\n return [\n {\n id: 'loc',\n name: 'Местоположение',\n props: [],\n columns: [\n {\n name: 'Город',\n prop: '+g_city',\n sort: true,\n nowrap: true,\n },\n {\n name: 'Регион',\n prop: '+g_area',\n sort: true,\n nowrap: true,\n },\n {\n name: 'Страна',\n prop: '+g_country',\n sort: true,\n nowrap: true,\n },\n ],\n },\n {\n id: 'contacts',\n name: 'Контакты',\n props: [],\n columns: [\n {\n name: 'Телефон',\n prop: '+phone',\n nowrap: true,\n },\n {\n name: 'Email',\n prop: '+email',\n nowrap: true,\n },\n ],\n },\n // {\n // id: 3,\n // name: 'Фото',\n // props: [],\n // columns: [\n // {\n // name: 'Фото',\n // prop: 'phone',\n // func: (row) => {\n // const l = row.image || [];\n // return (\n //
\n // {l.map((x, i) => {\n // return (\n // \n // );\n // })}\n //
\n // );\n // },\n // },\n // ],\n // },\n ];\n}\n\nexport function filterForm() {\n const categoriesList = useRecoilValue(mapCategoriesState);\n return [\n {\n label: 'Общие',\n color: '#cc0033',\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Категория',\n prop: 'cid',\n values: categoriesList,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Активность',\n prop: 'active',\n values: OBJECT_STATES,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Название',\n prop: '~~name',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Адрес',\n prop: '~~addr',\n },\n\n {\n label: 'Местоположение',\n color: '#cc0033',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Город',\n prop: '~~g_city',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Регион',\n prop: '~~g_area',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Страна',\n prop: '~~g_country',\n },\n\n {\n label: 'Контакты',\n color: '#cc0033',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Телефон',\n prop: '~~phone',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'E-mail',\n prop: '~~email',\n },\n ];\n}\n\nexport function commonColumnsComments(filter, openObjectCard, filterByObject, refreshTable) {\n return {\n name: null,\n props: ['_oid'], // список полей для запроса к серверу\n columns: [\n {\n prop: '+_state',\n name: 'Действия',\n sort: true,\n action: true,\n nowrap: true,\n render: (it, val) => {\n const onChangeState = async (state) => {\n await netPOSTv2('/map/comment/state/set', { id: it._id, state });\n refreshTable();\n };\n\n return (\n <>\n \n }\n size=\"small\"\n onClick={() => onChangeState(1)}\n disabled={val === 1}\n />\n \n \n }\n size=\"small\"\n style={{ marginLeft: 8 }}\n onClick={() => onChangeState(-1)}\n disabled={val === -1}\n />\n \n\n {!filter._oid && (\n \n }\n size=\"small\"\n style={{ marginLeft: 24 }}\n onClick={() => filterByObject(it)}\n />\n \n )}\n\n {Array.isArray(filter._oid) && filter._oid.length > 0 && (\n \n }\n size=\"small\"\n style={{ marginLeft: 24 }}\n onClick={() => openObjectCard(filter._oid[0])}\n />\n \n )}\n \n );\n },\n },\n {\n prop: '+_state',\n name: 'Состояние',\n sort: true,\n nowrap: true,\n prop2value: [KYB_MAP_OBJECT_COMMENT_STATE, 'id', 'name'],\n },\n {\n prop: '+__acc.name',\n name: 'Пользователь',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+_cdt',\n name: 'Дата',\n sort: true,\n format: 'DD.MM.YY HH:mm',\n type: 'date',\n nowrap: true,\n },\n {\n prop: '+rating',\n name: 'Рейтинг',\n sort: true,\n align: 'center',\n render: (it, val) => {\n const r = parseInt(val, 10);\n // eslint-disable-next-line no-restricted-globals\n return isNaN(r) ? 0 : r;\n },\n },\n {\n prop: '+msg',\n name: 'Комментарий',\n sort: true,\n nowrap: true,\n },\n ],\n };\n}\n\nexport function filterFormComments() {\n return [\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Активность',\n prop: '_state',\n values: KYB_MAP_OBJECT_COMMENT_STATE,\n },\n {\n type: XDF_TYPE.TAGS,\n label: 'Объекты',\n prop: '_oid',\n values: [],\n },\n ];\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport { mapCategoriesState, mapDictState, mapIconsState } from '../../../../state/map-state';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_MAP_OBJECT_GROUP } from '../../../constants';\n\nfunction MapObjectsMassChange({ visible, onSave, onCancel }) {\n const categoriesList = useRecoilValue(mapCategoriesState);\n const iconsList = useRecoilValue(mapIconsState);\n const dictList = useRecoilValue(mapDictState);\n\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0({});\n }\n }, [visible]);\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n return (\n \n x.prop === 'ts'),\n span: 24,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Виды услуг',\n prop: 'tos',\n values: dictList.filter((x) => x.prop === 'tos'),\n span: 24,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Группа',\n prop: 'gr',\n span: 24,\n values: Object.keys(KYB_MAP_OBJECT_GROUP).map((k) => ({\n id: parseInt(k, 10),\n name: KYB_MAP_OBJECT_GROUP[k],\n })),\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Уникальная иконка объекта',\n prop: '_iid',\n span: 24,\n values: [{ id: '', name: 'Не указана' }].concat(\n iconsList?.map((el) => ({\n id: el.id,\n name: `${el.name} [${el.id}]`,\n })),\n ),\n },\n {\n type: XDF_TYPE.DIVIDER,\n label: 'Проверка возможности изменения объектов',\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Введите число',\n prop: '__checkNumber',\n require: true,\n },\n ]}\n />\n \n );\n}\n\nMapObjectsMassChange.defaultProps = {};\n\nMapObjectsMassChange.propTypes = {\n visible: PropTypes.bool.isRequired,\n onSave: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default MapObjectsMassChange;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport { mapCategoriesState, mapDictState, mapIconsState } from '../../../../state/map-state';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_MAP_OBJECT_GROUP } from '../../../constants';\n\nfunction MapObjectUploadDlg({ visible }) {\n const categoriesList = useRecoilValue(mapCategoriesState);\n\n const [loadExcelDone, setLoadExcelDone] = useState(false);\n const [model, setModel] = useState({});\n\n const onCloseDlg = () => {};\n\n return (\n \n {!loadExcelDone && (\n
\n \n
\n )}\n\n {loadExcelDone && (\n setModel({ ...m })}\n form={[\n {\n type: XDF_TYPE.SELECT,\n label: 'Категория',\n prop: 'cid',\n values: categoriesList,\n span: 16,\n },\n {\n type: XDF_TYPE.CHECKBOX,\n boolType: false,\n title: 'Активно',\n prop: 'active',\n span: 8,\n },\n ]}\n />\n )}\n \n );\n}\n\nMapObjectUploadDlg.defaultProps = {};\n\nMapObjectUploadDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default MapObjectUploadDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__pcBLo\",\"contextHolder\":\"contextHolder__fBWBd\",\"context\":\"context__zFOUZ\"};","import React, { useEffect, useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\n\nfunction MapSetsCategoriesDlg({ visible, model, onSave, onCancel }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n }\n }, [visible]);\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n return (\n \n \n \n );\n}\n\nMapSetsCategoriesDlg.defaultProps = {};\n\nMapSetsCategoriesDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onSave: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default MapSetsCategoriesDlg;\n","import React, { useEffect, useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_MAP_PROP_TYPES } from '../../../constants';\n\nfunction MapSetsPropsDlg({ visible, model, onSave, onCancel }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n }\n }, [visible]);\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n return (\n \n \n \n );\n}\n\nMapSetsPropsDlg.defaultProps = {};\n\nMapSetsPropsDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onSave: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default MapSetsPropsDlg;\n","import React, { useEffect, useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { KYB_MAP_PROP_TYPES } from '../../../constants';\n\nfunction MapSetsDictsDlg({ visible, model, onSave, onCancel }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n }\n }, [visible]);\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n return (\n \n \n \n );\n}\n\nMapSetsDictsDlg.defaultProps = {};\n\nMapSetsDictsDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onSave: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default MapSetsDictsDlg;\n","import React, { useEffect, useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\n\nfunction MapSetsIconsDlg({ visible, model, onSave, onCancel }) {\n const [model0, setModel0] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n if (visible) {\n setModel0(model);\n }\n }, [visible]);\n\n const onSaveModel = () => {\n onSave(model0);\n };\n\n const onChangeModel = (m, v) => {\n setModel0({ ...m });\n setIsModelChanged(v);\n };\n\n return (\n \n \n \n );\n}\n\nMapSetsIconsDlg.defaultProps = {};\n\nMapSetsIconsDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({}).isRequired,\n onSave: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default MapSetsIconsDlg;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Collapse, Layout, PageHeader, Table, Tooltip } from 'antd';\nimport { useRecoilValue } from 'recoil';\n\nimport { CloudUploadOutlined } from '@ant-design/icons';\n\nimport { mapSettingsState } from '../../../../state/map-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport styles from './styles.scss';\nimport { categoriesColumns, dictsColumns, propsColumns, iconsColumns } from './table-defs';\nimport MapSetsCategoriesDlg from './MapSetsCategoriesDlg';\nimport MapSetsPropsDlg from './MapSetsPropsDlg';\nimport MapSetsDictsDlg from './MapSetsDictsDlg';\nimport MapSetsIconsDlg from './MapSetsIconsDlg';\n\nconst { Panel } = Collapse;\n\nexport default function MapSettings() {\n const mapSettings = useRecoilValue(mapSettingsState);\n\n const [catDlg, setCatDlg] = useState({ visible: false, model: {}, idx: -1 });\n const [propDlg, setPropDlg] = useState({ visible: false, model: {}, idx: -1 });\n const [dictDlg, setDictDlg] = useState({ visible: false, model: {}, idx: -1 });\n const [iconDlg, setIconDlg] = useState({ visible: false, model: {}, idx: -1 });\n\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n setModel(mapSettings);\n }, []);\n\n const onChangeModel = (m, v) => {\n setModel({ ...m });\n setIsModelChanged(v);\n };\n\n // categories\n const onSaveCat = (cat) => {\n setCatDlg({ ...catDlg, visible: false });\n setIsModelChanged(true);\n setModel({\n ...mapSettings,\n categories: [\n ...mapSettings.categories.slice(0, catDlg.idx),\n cat,\n ...mapSettings.categories.slice(catDlg.idx + 1),\n ],\n });\n };\n\n // props\n const onSaveProp = (p) => {\n setPropDlg({ ...propDlg, visible: false });\n setIsModelChanged(true);\n setModel({\n ...mapSettings,\n props: [\n ...mapSettings.props.slice(0, propDlg.idx),\n p,\n ...mapSettings.props.slice(propDlg.idx + 1),\n ],\n });\n };\n\n // dicts\n const onSaveDict = (d) => {\n setDictDlg({ ...dictDlg, visible: false });\n setIsModelChanged(true);\n setModel({\n ...mapSettings,\n dict: [\n ...mapSettings.dict.slice(0, dictDlg.idx),\n d,\n ...mapSettings.dict.slice(dictDlg.idx + 1),\n ],\n });\n };\n\n // icons\n const onSaveIcon = (d) => {\n setIconDlg({ ...iconDlg, visible: false });\n setIsModelChanged(true);\n setModel({\n ...mapSettings,\n icons: [\n ...mapSettings.icons.slice(0, iconDlg.idx),\n d,\n ...mapSettings.icons.slice(iconDlg.idx + 1),\n ],\n });\n };\n\n return (\n <>\n Настройки карты}\n extra={[\n \n }\n disabled={!isModelChanged}\n />\n ,\n ]}\n >\n \n \n \n
\n
\n \n \n ({ ...x, key: x.id }))}\n pagination={false}\n size=\"small\"\n onRow={(record, rowIndex) => ({\n onClick: () => setCatDlg({ visible: true, model: record, idx: rowIndex }),\n })}\n />\n \n \n ({ ...x, key: x.prop }))}\n pagination={false}\n size=\"small\"\n onRow={(record, rowIndex) => ({\n onClick: () => setPropDlg({ visible: true, model: record, idx: rowIndex }),\n })}\n />\n \n \n ({ ...x, key: x.id }))}\n pagination={false}\n size=\"small\"\n onRow={(record, rowIndex) => ({\n onClick: () => setDictDlg({ visible: true, model: record, idx: rowIndex }),\n })}\n />\n \n \n ({ ...x, key: x.id }))}\n pagination={false}\n size=\"small\"\n onRow={(record, rowIndex) => ({\n onClick: () => setIconDlg({ visible: true, model: record, idx: rowIndex }),\n })}\n />\n \n \n
\n
\n
\n\n setCatDlg({ ...catDlg, visible: false })}\n />\n setPropDlg({ ...propDlg, visible: false })}\n />\n setDictDlg({ ...dictDlg, visible: false })}\n />\n setIconDlg({ ...iconDlg, visible: false })}\n />\n \n );\n}\n","import { selector } from 'recoil';\n\nimport apiAnyGet from '../api/AnyGet';\n\nexport const webinar1SettingsState = selector({\n key: '__webinar1_settings__',\n get: async () => {\n const response = await await apiAnyGet('KybDb:Webinar2User')('WEBINAR2_SETTINGS', []);\n return response;\n },\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__HATdr\",\"contextHolder\":\"contextHolder__tNwfH\",\"context\":\"context__GrjmG\"};","/* eslint-disable no-underscore-dangle */\nimport React, { useState, useEffect } from 'react';\n\nimport { Button, Layout, message, PageHeader, Tooltip } from 'antd';\nimport dayjs from 'dayjs';\nimport { useParams, useHistory } from 'react-router-dom';\n\nimport { PlusOutlined, SaveOutlined } from '@ant-design/icons';\n\nimport apiAnyPropList from '../../../../api/AnyPropList';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport styles from './styles.scss';\nimport { DATE_FORMAT, NPIA_ACCESS, NPIA_STATE, PART_TYPES } from './table-defs';\nimport { apiPost } from '../../../../api';\n\nimport XDataGallery from '../../../components/xdf-antd/XDataGallery/XDataGallery';\n\nconst defModel = {\n status: 0,\n acc: 0,\n dt: dayjs().format(DATE_FORMAT),\n title: '',\n preview: '',\n html: '',\n parts: [],\n cars: [],\n __carProdDates1: dayjs('1901-01-01').format(DATE_FORMAT),\n __carProdDates2: dayjs().format(DATE_FORMAT),\n};\n\nexport default function NewProductsInAssortmentEditor() {\n const history = useHistory();\n const { objectId } = useParams();\n\n const [isModelChanged, setIsModelChanged] = useState(false);\n const [model, setModel] = useState(defModel);\n\n const fetchData = async (id) => {\n setIsModelChanged(false);\n const { err, data } = await apiPost('/npia/get', { id });\n setModel({\n ...defModel,\n ...data,\n });\n };\n\n useEffect(() => {\n if (objectId !== '--new--') {\n fetchData(objectId);\n }\n }, [objectId]);\n\n useEffect(() => {\n setModel({\n ...model,\n __vendorCode: '',\n });\n }, [model?.__productType]);\n\n const onChangeModel = (m, isMChanged) => {\n setIsModelChanged(isMChanged);\n setModel({ ...m });\n };\n\n const fetchPartNummbers = async (id, { __productType }) => {\n if (id.length < 2) return [];\n const list = await apiAnyPropList(\n 'KybCatalog:Main',\n 'partNumber',\n )({ part: __productType, partNumber: { $regex: `.*${id}.*`, $options: 'i' } });\n return list;\n };\n\n const fetchModels = async (id, { __carVendor }) => {\n const list = await apiAnyPropList(\n 'KybCatalog:Main',\n 'model',\n )({ firm: __carVendor, model: { $regex: `.*${id}.*`, $options: 'i' } });\n return list;\n };\n\n const addPart = (m) => {\n setModel({\n ...m,\n __vendorCode: '',\n parts: [\n ...m.parts,\n {\n type: m.__productType,\n part: m.__vendorCode,\n },\n ],\n });\n };\n\n const addCar = (m) => {\n setModel({\n ...m,\n __carModel: '',\n cars: [\n ...m.cars,\n {\n firm: m.__carVendor,\n model: m.__carModel,\n from: dayjs(m.__carProdDates1, DATE_FORMAT).format('MM.YYYY'),\n to:\n dayjs(m.__carProdDates2, DATE_FORMAT).year() === 9999\n ? ''\n : dayjs(m.__carProdDates2, DATE_FORMAT).format('MM.YYYY'),\n },\n ],\n });\n };\n\n const onSave = async () => {\n const { err, errmsg } = await apiPost('/npia/set', { id: objectId, data: model });\n if (err === 0) history.push('/news/newproducts');\n else if (Array.isArray(errmsg)) {\n for (const em of errmsg) {\n message.error(em.message, 4);\n }\n } else {\n message.error(errmsg || `Net error: ${err}`);\n }\n };\n\n const onPicListChanged = (items) => {\n setModel({\n ...model,\n pics: items.map((x) => x.id),\n __pics: items,\n });\n setIsModelChanged(true);\n };\n\n return (\n <>\n \n Создание новости «Новинки ассортимента»\n \n }\n extra={[\n \n }\n disabled={!isModelChanged}\n onClick={onSave}\n >\n Сохранить\n \n ,\n ]}\n />\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n ,\n width: 'auto',\n onClick: addPart,\n readOnly: !model.__vendorCode,\n span: 6,\n },\n {\n type: XDF_TYPE.TABLE_SIMPLE,\n prop: 'parts',\n columns: [\n {\n prop: 'type',\n span: 8,\n },\n {\n prop: 'part',\n span: 8,\n },\n {\n action: 'delete',\n span: 8,\n },\n ],\n span: 18,\n },\n ]}\n />\n
\n
\n\n
\n
\n ,\n width: 'auto',\n onClick: addCar,\n readOnly: !model.__carVendor || !model.__carModel,\n span: 6,\n },\n {\n type: XDF_TYPE.TABLE_SIMPLE,\n title: null,\n prop: 'cars',\n columns: [\n {\n prop: 'firm',\n span: 6,\n },\n {\n prop: 'model',\n span: 6,\n },\n {\n prop: 'from',\n span: 3,\n },\n {\n prop: 'to',\n span: 3,\n },\n {\n action: 'delete',\n span: 6,\n },\n ],\n span: 24,\n },\n ]}\n />\n
\n
\n
\n \n );\n}\n","import { apiPost } from '.';\nimport { message } from 'antd';\n\n/**\n * Запрос серий продуктов\n */\nconst apiUserSet = async (id, user) => {\n const { err, errmsg } = await apiPost('/user/set', { id, data: user });\n if (err) {\n if (Array.isArray(errmsg)) {\n for (const em of errmsg) {\n message.error(em.message, 4);\n }\n } else {\n message.error(errmsg || `Net error: ${err}`);\n }\n }\n return { err };\n};\nexport default apiUserSet;\n","import { apiPost } from './';\nimport { message } from 'antd';\n\n/**\n * Запрос серий продуктов\n */\nconst apiUserStateSet = async (id, state) => {\n const { err, errmsg } = await apiPost('/user/state/set', { id, state });\n if (err) {\n if (Array.isArray(errmsg)) {\n for (const em of errmsg) {\n message.error(em.message, 4);\n }\n } else {\n message.error(errmsg || `Net error: ${err}`);\n }\n }\n return { err };\n};\nexport default apiUserStateSet;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader___1fPa\",\"contextHolder\":\"contextHolder__lInbm\",\"context\":\"context__vDIR9\",\"treeAccess\":\"treeAccess__s6ede\",\"roleItem\":\"roleItem__jI5EB\"};","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal, Tree } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { KYB_STAFF_ACCESS_TREE_RULES } from '../../../../../routes';\nimport GTooltip from '../../../../components/GTooltip/GTooltip';\nimport styles from '../styles.scss';\n\nfunction KybStaffAccessDialog({ visible, acc, onSave, onClose }) {\n const [roles, setRoles] = useState([]);\n\n useEffect(() => {\n if (visible) {\n setRoles(acc);\n }\n }, [visible]);\n\n const onCheck = (checkedKeys, info) => {\n // console.log('onCheck', checkedKeys, info);\n setRoles(checkedKeys);\n };\n\n return (\n Настройки доступа Модератор – КУБ ЕВРАЗИЯ}\n width={520}\n closable\n onCancel={onClose}\n footer={[\n ,\n ,\n ]}\n >\n
\n \n
\n \n );\n}\n\nKybStaffAccessDialog.defaultProps = {};\n\nKybStaffAccessDialog.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n acc: PropTypes.arrayOf(PropTypes.number).isRequired,\n};\n\nexport default KybStaffAccessDialog;\n","import React from 'react';\n\nimport { BellOutlined } from '@ant-design/icons';\n\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport function commonColumns(notifyLastForRole) {\n return {\n name: 'Пользователи', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n width: 61,\n },\n {\n prop: '+lastName',\n name: 'Фамилия',\n sort: true,\n },\n {\n prop: '+name',\n name: 'Имя',\n sort: true,\n },\n {\n prop: '+phone',\n name: 'Телефон',\n sort: true,\n },\n {\n prop: '+phoneLastCode',\n name: 'Код для входа',\n },\n {\n prop: '+email',\n name: 'E-mail',\n sort: true,\n },\n {\n prop: '+ldt',\n name: 'Последний вход',\n sort: true,\n type: 'date',\n format: 'DD.MM.YYYY / HH:mm',\n },\n ],\n };\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__UmG4Y\",\"contextHolder\":\"contextHolder__hept6\",\"context\":\"context__Ywlf5\"};","import React from 'react';\nimport { BellOutlined } from '@ant-design/icons';\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport function commonColumns(notifyLastForRole) {\n return {\n name: 'Пользователи', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n width: 61,\n },\n {\n prop: '+firstName',\n name: 'Фамилия',\n sort: true,\n },\n {\n prop: '+name',\n name: 'Имя',\n sort: true,\n },\n {\n prop: '+phone',\n name: 'Телефон',\n sort: true,\n },\n {\n prop: '+phoneLastCode',\n name: 'Код для входа',\n },\n {\n prop: '+phoneStatus',\n name: 'Проверка',\n },\n {\n prop: '+cdt',\n name: 'Регистрация',\n sort: true,\n type: 'date',\n format: 'DD.MM.YYYY / HH:mm',\n },\n {\n prop: '+email',\n name: 'E-mail',\n sort: true,\n },\n {\n prop: '+emailStatus',\n name: 'Проверка Email',\n },\n ],\n };\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, message, Modal, Skeleton } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport apiAnyGet from '../../../../api/AnyGet';\nimport apiUserStateSet from '../../../../api/UserStateSet';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport styles from './styles.scss';\n\nfunction UserUnblockDlg({ userId, onClose }) {\n const [model, setModel] = useState(null);\n\n useEffect(async () => {\n if (userId > 0) {\n const user = await apiAnyGet('User')(userId, [\n '_id',\n 'name',\n 'lastName',\n 'midName',\n 'email',\n 'phone',\n 'phoneOk',\n 'phoneLastCodeDt',\n 'company',\n 'status',\n 'country',\n 'city',\n 'desc',\n ]);\n\n if (user.phoneOk === 1) user.__phoneState = 'Телефон подтвержден';\n else if (user.phoneLastCodeDt) user.__phoneState = 'Код выслан';\n\n setModel(user);\n } else {\n setModel(null);\n }\n }, [userId]);\n\n function onChangeModel(m, isChanged) {\n setModel({ ...m });\n }\n\n async function unblockUser() {\n const { err } = await apiUserStateSet(userId, 0);\n if (!err) message.info('Пользователь разблокирован.');\n onClose();\n }\n\n async function onUnblockUser() {\n const res = await warningDialog('Смена статуса пользователя', 'Разблокировать пользователя?', [\n { label: 'Отмена' },\n { label: 'Разблокировать' },\n ]);\n if (res === 1) {\n unblockUser();\n }\n }\n\n return (\n Управление пользовательским доступом}\n width={880}\n open={userId > 0}\n closable\n onCancel={onClose}\n footer={[\n ,\n ]}\n >\n {!model && }\n\n {!!model && (\n \n )}\n \n );\n}\n\nUserUnblockDlg.defaultProps = {};\n\nUserUnblockDlg.propTypes = {\n userId: PropTypes.number.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default UserUnblockDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__N_X4m\",\"contextHolder\":\"contextHolder__K7mp_\",\"context\":\"context__AsUes\"};","import React from 'react';\nimport { BellOutlined, CheckOutlined } from '@ant-design/icons';\nimport NotifyPopup from '../../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\n// eslint-disable-next-line import/prefer-default-export\nexport function commonColumns(notifyLastForRole) {\n return {\n name: 'Пользователи', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n width: 61,\n },\n {\n prop: '+lastName',\n name: 'Фамилия',\n sort: true,\n },\n {\n prop: '+name',\n name: 'Имя',\n sort: true,\n },\n {\n prop: '+phone',\n name: 'Телефон',\n sort: true,\n },\n {\n prop: '+phoneLastCode',\n name: 'Код для входа',\n },\n {\n prop: '+phoneOk',\n name: 'Проверка',\n align: 'center',\n render: (it, val) => {\n if (val === 1) return ;\n return 'Отправлено';\n },\n },\n {\n prop: '+cdt',\n name: 'Регистрация',\n sort: true,\n type: 'date',\n format: 'DD.MM.YYYY / HH:mm',\n },\n {\n prop: '+email',\n name: 'E-mail',\n sort: true,\n },\n {\n prop: '+emailOk',\n name: 'Проверка Email',\n align: 'center',\n type: 'check',\n },\n ],\n };\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal, Skeleton, message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport apiAnyGet from '../../../../api/AnyGet';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm from '../../../components/xdf-antd/XDataForm';\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm/index';\nimport styles from './styles.scss';\nimport apiUserStateSet from '../../../../api/UserStateSet';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\n\nfunction UserAuthorizationDlg({ userId, onClose }) {\n const [model, setModel] = useState(null);\n\n useEffect(async () => {\n if (userId > 0) {\n const user = await apiAnyGet('User')(userId, [\n '_id',\n 'name',\n 'lastName',\n 'midName',\n 'email',\n 'phone',\n 'phoneOk',\n 'phoneLastCodeDt',\n 'company',\n 'status',\n 'country',\n 'city',\n 'desc',\n ]);\n\n if (user.phoneOk === 1) user.__phoneState = 'Телефон подтвержден';\n else if (user.phoneLastCodeDt) user.__phoneState = 'Код выслан';\n\n setModel(user);\n } else {\n setModel(null);\n }\n }, [userId]);\n\n function onChangeModel(m, isChanged) {\n setModel({ ...m });\n }\n\n async function blockUser() {\n const { err } = await apiUserStateSet(userId, -1);\n if (!err) message.info('Пользователь заблокирован.');\n onClose();\n }\n\n async function approveUser() {\n const { err } = await apiUserStateSet(userId, 1);\n if (!err)\n message.info(\n 'Пользователь авторизован. Продолжите настройку прав доступа в разделе \"Разрешенный доступ\"',\n );\n onClose();\n }\n\n async function onBlockUser() {\n const res = await warningDialog('Смена статуса пользователя', 'Заблокировать пользователя?', [\n { label: 'Отмена' },\n { label: 'Заблокировать' },\n ]);\n if (res === 1) {\n blockUser();\n }\n }\n\n async function onApproveUser() {\n const res = await warningDialog(\n 'Смена статуса пользователя',\n 'Авторизовать пользователя в сервисе?',\n [{ label: 'Отмена' }, { label: 'Авторизовать' }],\n );\n if (res === 1) {\n approveUser();\n }\n }\n\n return (\n Управление пользовательским доступом}\n width={880}\n open={userId > 0}\n closable\n onCancel={onClose}\n footer={[\n ,\n ,\n ]}\n >\n {!model && }\n\n {!!model && (\n \n )}\n \n );\n}\n\nUserAuthorizationDlg.defaultProps = {};\n\nUserAuthorizationDlg.propTypes = {\n userId: PropTypes.number.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default UserAuthorizationDlg;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__Lv1lc\",\"contextHolder\":\"contextHolder__IOnOK\",\"context\":\"context__VEn5f\",\"qBlock\":\"qBlock__Q9pVo\",\"vtitle\":\"vtitle__P8dlp\",\"val\":\"val__is0Ir\",\"atype1\":\"atype1__faeNV\",\"aeTextHl\":\"aeTextHl__htL9c\",\"aeInputLabel\":\"aeInputLabel__ZnYDF\",\"aeDeletBtn\":\"aeDeletBtn__z3DUX\",\"aeBlock\":\"aeBlock__nM9lx\",\"previewDesc\":\"previewDesc__vZr_z\",\"previewQ\":\"previewQ__pLRYP\",\"pqNumb\":\"pqNumb__mbXSa\",\"pqName\":\"pqName__c__oZ\",\"pqDesc\":\"pqDesc__VsdA3\",\"pqAns\":\"pqAns__TCSlJ\"};","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport apiAnyGet from '../../../../api/AnyGet';\nimport styles from './styles.scss';\n\nfunction WebinarTestPreview({ testId, onClose, answersCount }) {\n const [visible, setVisible] = useState(false);\n const [model, setModel] = useState({});\n\n const fetchData = async (itemId) => {\n const data = await apiAnyGet('Webinars3Test')(itemId, []);\n setModel(data);\n // Logger.log(data);\n };\n\n useEffect(() => {\n if (testId > 0) {\n setVisible(true);\n fetchData(testId);\n } else {\n setVisible(false);\n setModel({});\n }\n }, [testId]);\n\n return (\n \n Закрыть\n ,\n ]}\n width=\"80%\"\n title={model?.name}\n closable={false}\n >\n
{model?.desc}
\n {model?.questions?.map((q, i) => (\n
\n
Вопрос {i + 1}
\n
{q.txt}
\n
{q.desc}
\n
\n {q.answers?.map((a) => (\n
\n \n \n
\n ))}\n
\n
\n ))}\n \n );\n}\n\nWebinarTestPreview.defaultProps = {\n testId: 0,\n answersCount: null,\n};\n\nWebinarTestPreview.propTypes = {\n testId: PropTypes.number,\n onClose: PropTypes.func.isRequired,\n answersCount: PropTypes.shape({}),\n};\n\nexport default WebinarTestPreview;\n","import React from 'react';\n\nimport { Tag } from 'antd';\n\nimport {\n CheckCircleOutlined,\n ClockCircleOutlined,\n CloseCircleOutlined,\n VideoCameraOutlined,\n} from '@ant-design/icons';\n\nexport const WEBINAR3_VIEW = [\n {\n id: 0,\n name: 'Семинар (личная встреча)',\n tag: Семинар (личная встреча),\n },\n {\n id: 1,\n name: 'Вебинар (через интернет)',\n tag: Вебинар (через интернет),\n },\n];\n\nexport const WEBINAR3_VIEW_ID2TAG = WEBINAR3_VIEW.reduce((a, x) => ({ ...a, [x.id]: x.tag }), {});\n\nexport const WEBINAR3_STATUS = [\n {\n id: 0,\n name: 'В плане',\n tag: (\n } color=\"default\">\n В плане\n \n ),\n },\n {\n id: 1,\n name: 'Активен',\n tag: (\n } color=\"success\">\n Активен\n \n ),\n },\n {\n id: 2,\n name: 'Завершен',\n tag: (\n } color=\"processing\">\n Завершен\n \n ),\n },\n {\n id: -1,\n name: 'Отменен',\n tag: (\n } color=\"error\">\n Отменен\n \n ),\n },\n];\n\nexport const WEBINAR3_STATUS_ID2TAG = WEBINAR3_STATUS.reduce(\n (a, x) => ({ ...a, [x.id]: x.tag }),\n {},\n);\n\nexport const WEBINAR3_TYPE = [\n {\n id: 0,\n name: 'Технический',\n },\n {\n id: 1,\n name: 'Маркетинговый',\n },\n {\n id: 2,\n name: 'Продажи',\n },\n];\n\nexport const WEBINAR3_TYPES_ID2NAME = WEBINAR3_TYPE.reduce(\n (a, x) => ({ ...a, [x.id]: x.name }),\n {},\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__C1Fk5\",\"contextHolder\":\"contextHolder__yXniH\",\"context\":\"context__bCD10\",\"footer\":\"footer__f7KfM\",\"cellMaxWidth\":\"cellMaxWidth__VSKKj\",\"r1Q\":\"r1Q__ZoOUL\",\"qBlock\":\"qBlock__Jk5xH\",\"vtitle\":\"vtitle__cyxjJ\",\"val\":\"val__UWoUT\"};","import React, { useEffect, useState } from 'react';\n\nimport { Col, Modal, Row } from 'antd';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\nimport { Document, Page } from 'react-pdf/dist/esm/entry.webpack5';\n\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataUpload from '../../../components/xdf-antd/XDataUpload/XDataUpload';\n\nconst MAX_FILE_SIZE = 10 * 1024 * 1024;\n\nfunction WebinarsCertEditorDlg({ visible, onClose, onSave }) {\n const [open, setOpen] = useState(false);\n const [fileId, setFileId] = useState(null);\n const [pdfUrl, setPdfUrl] = useState(null);\n const [model, setModel] = useState({\n fio: 'Иванов Иван Иванович',\n fioFontSize: 22,\n fioX: 0,\n fioY: 0,\n helpSize: 0,\n addDates: 0,\n dates: `${dayjs().subtract(1, 'day').format('DD.MM.YYYY')} - ${dayjs().format('DD.MM.YYYY')}`,\n dtFontSize: 14,\n dtX: 0,\n dtY: -70,\n });\n\n useEffect(() => {\n if (visible) {\n setOpen(true);\n } else {\n setOpen(false);\n setPdfUrl(null);\n setFileId(null);\n }\n }, [visible]);\n\n useEffect(() => {\n if (fileId)\n setPdfUrl(\n `/api/1/webinars3/cert/get/${fileId}?model=${encodeURIComponent(JSON.stringify(model))}`,\n );\n else setPdfUrl(null);\n }, [fileId, model]);\n\n const onSaveFileInfo = ({ id }) => {\n setFileId(id);\n };\n\n const onStartUpload = () => {\n console.log('start upload');\n };\n\n const onSaveCertificate = () => {\n const elements = document.getElementsByClassName('react-pdf__Page__canvas');\n if (elements?.length > 0) {\n const srcCanvas = elements[0];\n const imageData = srcCanvas.toDataURL('image/png');\n\n const rcanvas = document.getElementById('resize-canvas');\n const ctx = rcanvas.getContext('2d');\n const img = new Image();\n\n img.onload = () => {\n // set size proportional to image\n rcanvas.height = rcanvas.width * (img.height / img.width);\n\n // step 1 - resize to 50%\n const oc = document.createElement('canvas');\n const octx = oc.getContext('2d');\n\n oc.width = img.width * 0.5;\n oc.height = img.height * 0.5;\n octx.drawImage(img, 0, 0, oc.width, oc.height);\n\n // step 2\n octx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5);\n\n // step 3, resize to final size\n ctx.drawImage(\n oc,\n 0,\n 0,\n oc.width * 0.5,\n oc.height * 0.5,\n 0,\n 0,\n rcanvas.width,\n rcanvas.height,\n );\n\n const smallImgData = rcanvas.toDataURL('image/png');\n\n // create model certificate\n const certModel = {\n fileId,\n modify: model,\n preview: smallImgData,\n };\n console.log(certModel);\n\n onSave(certModel);\n };\n img.src = imageData;\n }\n };\n\n return (\n \n \n {!pdfUrl && (\n \n \n \n )}\n {/* {pdfUrl && {pdfUrl}} */}\n {pdfUrl && (\n <>\n \n \n \n \n \n \n setModel(m)}\n form={[\n {\n type: XDF_TYPE.TEXT,\n label: 'ФИО (пример)',\n prop: 'fio',\n span: 24,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Размер шрифта',\n prop: 'fioFontSize',\n span: 12,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'X',\n prop: 'fioX',\n span: 6,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Y',\n prop: 'fioY',\n span: 6,\n },\n {\n type: XDF_TYPE.DIVIDER_WITH_CECKBOX,\n label: 'Добавить даты проведения',\n prop: 'addDates',\n boolType: false,\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Пример дат',\n prop: 'dates',\n span: 24,\n hide: model.addDates !== 1,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Размер шрифта',\n prop: 'dtFontSize',\n span: 12,\n hide: model.addDates !== 1,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'X',\n prop: 'dtX',\n span: 6,\n hide: model.addDates !== 1,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Y',\n prop: 'dtY',\n span: 6,\n hide: model.addDates !== 1,\n },\n ]}\n />\n \n \n )}\n \n \n \n );\n}\n\nWebinarsCertEditorDlg.defaultProps = {};\n\nWebinarsCertEditorDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n};\n\nexport default WebinarsCertEditorDlg;\n","import React, { useState } from 'react';\n\nimport { Button, Col, Collapse, Modal, Row } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { CheckOutlined } from '@ant-design/icons';\n\nimport { roundPlus } from '../../../utils/utils';\nimport styles from './styles.scss';\n\nfunction WebinarsEventResults0({ open, onClose, test, answersCount, users, resultsMatrix }) {\n const [showQ, setShowQ] = useState([]);\n\n const onShowQ = (k) => {\n setShowQ(k);\n };\n\n return (\n \n Закрыть\n ,\n ]}\n >\n {test?.questions?.length > 0 && (\n \n {test.questions\n .filter((item) => item.type === 0)\n .map((item, idx) => (\n \n не оценивается\n \n ),\n ].filter(Boolean)}\n >\n
\n \n \n
Вопрос
\n
{item.txt}
\n \n
\n \n \n
Пояснение
\n
{item.desc}
\n \n
\n {item.type === 0 && (\n \n \n \n \n \n \n {answersCount && (\n \n )}\n {resultsMatrix && (\n \n )}\n \n \n \n {item.answers.map((ans, i) => (\n \n \n \n \n {answersCount && (\n \n )}\n {resultsMatrix && (\n \n )}\n \n ))}\n \n
idПравильный ответОтвет% ответовВыбран ответ
{i + 1}\n {ans.type === 1 ? : ''}\n {ans.txt}\n {users === 0\n ? ''\n : roundPlus(\n (100 * answersCount[`${item.id}|${ans.id}`]) / users,\n 0,\n ) === 0\n ? ''\n : roundPlus(\n (100 * answersCount[`${item.id}|${ans.id}`]) / users,\n 0,\n )}\n \n {resultsMatrix[`${item.id}|${ans.id}`] === 1 ? (\n \n ) : (\n ''\n )}\n
\n )}\n
\n \n ))}\n
\n )}\n \n );\n}\n\nWebinarsEventResults0.defaultProps = {\n answersCount: null,\n users: 0,\n resultsMatrix: null,\n};\n\nWebinarsEventResults0.propTypes = {\n open: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n test: PropTypes.shape({\n questions: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n answersCount: PropTypes.shape({}),\n users: PropTypes.number,\n resultsMatrix: PropTypes.shape({}),\n};\n\nexport default WebinarsEventResults0;\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Button, Col, Layout, Modal, PageHeader, Popover, Row, Table } from 'antd';\nimport dayjs from 'dayjs';\nimport Hashids from 'hashids';\nimport { nanoid } from 'nanoid';\nimport QRCode from 'react-qr-code';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport {\n DeleteOutlined,\n LinkOutlined,\n MailOutlined,\n PercentageOutlined,\n QrcodeOutlined,\n UserAddOutlined,\n UsergroupAddOutlined,\n UserOutlined,\n} from '@ant-design/icons';\n\nimport { apiPostData } from '../../../../api';\nimport apiAnyList from '../../../../api/AnyList';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { xdGetTableUrlByParams } from '../../../components/xdf-antd/XDataTable';\nimport XDImportExcelFile from '../../../components/xdf-antd/XDataTable/XDImportExcelFile';\nimport { DATETIME_FORMAT } from '../../../constants';\nimport {\n arrayRemoveItemAtIndex,\n arrayReplaceItemAtIndex,\n getConnectDomain,\n} from '../../../utils/utils';\nimport WebinarTestPreview from '../Tests/WebinarsTestPreview';\nimport { WEBINAR3_STATUS, WEBINAR3_TYPE, WEBINAR3_VIEW } from '../webinar_constants';\nimport styles from './styles.scss';\nimport WebinarsCertEditorDlg from './WebinarsCertEditorDlg';\nimport WebinarsEventResults0 from './WebinarsEventResults0';\n\nconst hashids = new Hashids();\n\nconst getStageTemplate = (stages) => {\n let prevEndDt = dayjs().minute(0);\n if (stages.length > 0) {\n prevEndDt = dayjs(stages[stages.length - 1].dtEnd).add(15, 'minutes');\n }\n return {\n id: nanoid(7),\n dtStart: prevEndDt.toISOString(),\n dtEnd: prevEndDt.add(15, 'minutes').toISOString(),\n link: '',\n };\n};\n\nconst getTestTamplate = () => ({\n id: 0,\n procentOk: 0,\n dtStart: dayjs().minute(0).format(DATETIME_FORMAT),\n dtEnd: dayjs().minute(0).format(DATETIME_FORMAT),\n questions: 0,\n users: 0,\n usersOk: 0,\n usersErr: 0,\n});\n\nconst webinar3Tests4Select = async () => {\n const data = await apiAnyList('Webinars3Test')(1, 1000, {}, ['_id', 'name'], 'name', 1);\n return data.list.map((x) => ({\n id: x._id,\n name: x.name,\n }));\n};\n\nconst apiImportUsersToEvent = (eventId) => async (list) => {\n const phones = [];\n for (const item of list) {\n let phoneNumber = item.phone;\n if (phoneNumber[0] !== '+') phoneNumber = `+${phoneNumber}`;\n phones.push(phoneNumber);\n }\n const data = await apiPostData('/webinars3/users/add/to/event/by/phones', {\n eventId,\n phones,\n });\n\n Modal.info({\n title: 'Пользователи загружены',\n content: (\n
\n

Не найдены телефонные номера:

\n {(data.unknownPhones || []).map((x) => (\n
{x}
\n ))}\n
\n ),\n onOk() {},\n });\n};\n\nconst results1Columns = [\n {\n title: 'Вопрос',\n dataIndex: 'name',\n key: 'name',\n },\n {\n title: 'Ответы',\n dataIndex: 'cnt',\n key: 'cnt',\n align: 'right',\n },\n];\n\nexport default function WebinarEventEditor() {\n const history = useHistory();\n const { view, id } = useParams();\n const eventId = parseInt(id, 10);\n\n const [editMode, setEditMode] = useState(false);\n const [openImportDlg, setOpenImportDlg] = useState(false);\n\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const [previewTestId, setPreviewTestId] = useState(0);\n\n const [showResult0, setShowResult0] = useState(false);\n const [showTest, setShowTest] = useState({});\n const [answersCount, setAnswersCount] = useState(null);\n const [results1, setResults1] = useState([]);\n\n const [eventSelectLink, setEventSelectLink] = useState(null);\n\n const fetchEvent = async (eid) => {\n const data = await apiPostData('/webinars3/event/get', { id: eid });\n setModel(data);\n setIsModelChanged(false);\n\n if (data) {\n const counts = data.__result1 || {};\n const list = (data.__test?.questions || [])\n .filter((x) => !!x.type)\n .map((x) => ({\n key: x.id,\n name: x.txt,\n cnt: counts[x.id] || 0,\n }));\n setResults1(list);\n }\n };\n\n useEffect(() => {\n if (eventId === 0) {\n setModel({\n status: 0,\n view: view === 'seminar' ? 0 : 1,\n type: [],\n name: '',\n coach: '',\n place: '',\n stages: [],\n test: getTestTamplate(),\n certificate: {\n dtSend: dayjs().add(1, 'days').format(DATETIME_FORMAT),\n },\n procentOk: 80,\n });\n setEditMode(true);\n } else {\n fetchEvent(eventId);\n }\n }, [view, eventId]);\n\n const saveModel = async () => {\n const data = await apiPostData('/webinars3/event/save', {\n id: eventId,\n data: model,\n });\n if (eventId === 0) history.push(`/webinars/event/seminar/${data._id}`);\n else {\n setEditMode(false);\n fetchEvent(eventId);\n }\n };\n\n const sendEmailAboutStartTest = async () => {\n await apiPostData('/webinars3/event/email/start/test', {\n id: eventId,\n });\n };\n\n const sendEmailNotify24 = async () => {\n await apiPostData('/webinars3/event/email/notify24', {\n id: eventId,\n });\n };\n\n const backToList = async () => {\n if (isModelChanged) {\n const res = await warningDialog(\n 'Есть несохраненные изменения',\n 'Сохранить перед выходом внесённые изменения?',\n [{ label: 'Отмена' }, { label: 'Сохранить' }],\n );\n\n if (res === 1) {\n await saveModel();\n history.push('/webinars/events');\n }\n } else {\n history.push('/webinars/events');\n }\n };\n\n const onChangeModel = (m, is) => {\n setModel({ ...m });\n setIsModelChanged(is && m?.stages?.length > 0);\n };\n\n const onStateChange = (idx, m) => {\n setModel({\n ...model,\n stages: arrayReplaceItemAtIndex(model.stages, idx, {\n ...m,\n }),\n });\n setIsModelChanged(true);\n };\n\n const addNewStage = () => {\n setModel({\n ...model,\n stages: [...model.stages, getStageTemplate(model.stages)],\n });\n setIsModelChanged(!!model.name);\n };\n\n const deleteStage = (idx) => {\n setModel({\n ...model,\n stages: arrayRemoveItemAtIndex(model.stages, idx),\n });\n };\n\n const deleteTest = () => {\n setModel({\n ...model,\n test: getTestTamplate(),\n });\n };\n\n const onPreviewTest = () => {\n setPreviewTestId(model?.test?.id);\n };\n\n const onPreviewTestWithAnswers = () => {\n setAnswersCount(model?.test?.answersCount);\n setShowTest(model?.__test);\n setShowResult0(true);\n };\n\n const gotoUsersListWithEvents = () => {\n const link = xdGetTableUrlByParams('/webinars/users', { _eventsIds: eventId });\n history.push(link);\n };\n\n const [certDlg, setCertDlg] = useState(false);\n const onCertEditor = () => {\n setCertDlg(true);\n };\n\n const onSaveCertificate = (certModel) => {\n setModel({\n ...model,\n certificate: {\n ...(model.certificate || {}),\n ...certModel,\n },\n });\n setCertDlg(false);\n setIsModelChanged(true);\n };\n\n const openUserWebinarLink = () => {\n window.open(`${getConnectDomain()}/?ev=${hashids.encode(model.view, eventId)}`, '_blank');\n };\n\n return (\n <>\n Карточка семинара\n ) : (\n Карточка вебинара\n )\n }\n extra={[\n }\n onClick={openUserWebinarLink}\n />,\n }\n title=\"Ссылка на запись\"\n trigger=\"click\"\n open={!!eventSelectLink}\n onOpenChange={() => {\n setEventSelectLink(\n eventSelectLink\n ? null\n : `${getConnectDomain()}/?ev=${hashids.encode(model.view, eventId)}`,\n );\n }}\n >\n ,\n }\n onClick={() => history.push('/webinars/users')}\n >\n Добавить участников\n ,\n ,\n editMode && (\n \n ),\n !editMode && model.status >= 0 && (\n \n ),\n ].filter(Boolean)}\n onBack={backToList}\n />\n\n {model?.view >= 0 && (\n \n
\n
\n

Общая информация

\n \n
\n
\n\n
\n
\n

Этапы проведения

\n
\n {(model?.stages || []).map((stage, i) => (\n onStateChange(i, m)}\n form={[\n {\n type: XDF_TYPE.DATETIME,\n label: 'Дата / время начала',\n prop: 'dtStart',\n showTime: true,\n format: DATETIME_FORMAT,\n defaultValue: dayjs().minute(0).format(DATETIME_FORMAT),\n showOnly: !editMode,\n span: 5,\n },\n {\n type: XDF_TYPE.DATETIME,\n label: 'Дата / время окончания:',\n prop: 'dtEnd',\n showTime: true,\n format: DATETIME_FORMAT,\n defaultValue: dayjs().minute(0).add(15, 'minute').format(DATETIME_FORMAT),\n showOnly: !editMode,\n span: 5,\n },\n model.view === 1 && {\n type: XDF_TYPE.URL,\n label: 'Ссылка на вебинар',\n prop: 'link',\n showOnly: !editMode,\n span: 10,\n },\n model.view === 0 && {\n type: XDF_TYPE.SPACE,\n span: 10,\n },\n ].filter(Boolean)}\n >\n {editMode && (\n }\n onClick={() => deleteStage(i)}\n style={{ marginTop: 26, width: '100%' }}\n >\n Удалить\n \n )}\n \n ))}\n
\n
\n }\n disabled={!(model.stages?.length > 0)}\n onClick={sendEmailNotify24}\n >\n Отправить e-mail о начале\n \n {editMode && }\n
\n
\n
\n\n {model?.stages?.length > 0 && (\n
\n
\n

Связанный тест по окончании вебинара

\n 0 ? 12 : 24,\n },\n {\n type: XDF_TYPE.NUMBER,\n label: 'Процент верных ответов для сдачи (%)',\n prop: 'procentOk',\n showOnly: !editMode,\n span: 8,\n hide: !(model?.test?.id > 0),\n },\n ]}\n >\n {model?.test?.id > 0 && (\n \n )}\n \n {model?.test?.id > 0 && (\n \n }\n style={{ marginTop: 26 }}\n disabled={model.status < 2}\n onClick={onPreviewTestWithAnswers}\n >\n Процент выбора ответов\n \n \n )}\n\n
\n }\n disabled={!(model.test.id > 0)}\n onClick={sendEmailAboutStartTest}\n >\n Отправить e-mail о доступности теста\n \n {editMode && (\n \n )}\n
\n
\n
\n )}\n\n {model?.stages?.length > 0 && (\n
\n
\n

Сертификат

\n \n \n \n
\n {model?.certificate?.preview && (\n \"Certificate\"\n )}\n
\n \n {!!model?.certificate?.fileId && (\n \n \n \n )}\n
\n
\n
\n )}\n\n {model?.stages?.length > 0 && (\n
\n
\n

Свободные вопросы

\n ({\n onClick: (event) => {\n history.push(`/webinars/event/${eventId}/r1/${record.key}`);\n }, // click row\n onDoubleClick: (event) => {}, // double click row\n onContextMenu: (event) => {}, // right button click row\n onMouseEnter: (event) => {}, // mouse enter row\n onMouseLeave: (event) => {}, // mouse leave row\n })}\n />\n
\n
\n )}\n
\n )}\n\n setPreviewTestId(0)} />\n\n setShowResult0(false)}\n test={showTest}\n answersCount={answersCount}\n users={model?.test?.users}\n />\n\n setOpenImportDlg(false)}\n importBtnTitle=\"Укажите файл для импорта\"\n maxStepToLoad={1000}\n uploadApi={apiImportUsersToEvent(eventId)}\n columns={[\n {\n prop: 'phone',\n },\n ]}\n />\n\n setCertDlg(false)}\n onSave={onSaveCertificate}\n />\n \n );\n}\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nfunction apiWebinar3EventList() {\n return async (page, pageSize, filter, props, sortProp, sortOrder, searchProps) => {\n const { err, errmsg, data } = await apiPost('/webinars3/event/list', {\n collection: 'Webinars3Event',\n role: 0,\n page,\n pageSize,\n filter,\n props,\n sortProp,\n sortOrder,\n schProps: searchProps,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n };\n}\n\nexport default apiWebinar3EventList;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Checkbox, Col, Input, Modal, Row, Select } from 'antd';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\n\nimport { DeleteOutlined } from '@ant-design/icons';\n\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\n\nfunction AnswersBlock({ model, onChange, onDelete }) {\n const onChangeText = (ev) => {\n onChange({\n ...model,\n txt: ev.target.value,\n });\n };\n\n const onChangeType = (val) => {\n onChange({\n ...model,\n type: val,\n });\n };\n\n return (\n \n \n \n не правильный\n \n правильный\n \n \n }\n suffix={ onDelete(model)} className={styles.aeDeletBtn} />}\n />\n \n \n );\n}\n\nAnswersBlock.propTypes = {\n model: PropTypes.shape({\n txt: PropTypes.string,\n type: PropTypes.number,\n }).isRequired,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nfunction WebinarsTestAnswerEditor({ visible, model, onClose, onSave, onDelete }) {\n const [model0, setModel0] = useState({});\n\n useEffect(() => {\n if (visible) {\n setModel0({\n answers: [],\n ...model,\n });\n }\n }, [visible]);\n\n /* Q */\n const onChangeQType = (el) => {\n const type = el.target.checked ? 1 : 0;\n setModel0({\n ...model0,\n answers: type === 1 ? [] : model0.answers,\n answer: type === 0 ? '' : model0.answer,\n type,\n });\n };\n\n const onChangeTxt = (el) => {\n setModel0({\n ...model0,\n txt: el.target.value,\n });\n };\n\n const onChangeDesc = (el) => {\n setModel0({\n ...model0,\n desc: el.target.value,\n });\n };\n\n const onChangeAns1 = (el) => {\n setModel0({\n ...model0,\n answer: el.target.value,\n });\n };\n\n /* Answers */\n const onChangeAns = (m) => {\n const idx = model0.answers.findIndex((x) => x.id === m.id);\n if (idx >= 0) {\n setModel0({\n ...model0,\n answers: [...model0.answers.slice(0, idx), m, ...model0.answers.slice(idx + 1)],\n });\n }\n };\n\n const onDeleteAns = (m) => {\n const idx = model0.answers.findIndex((x) => x.id === m.id);\n if (idx >= 0) {\n setModel0({\n ...model0,\n answers: [...model0.answers.slice(0, idx), ...model0.answers.slice(idx + 1)],\n });\n }\n };\n\n const addNewAnswer = () => {\n setModel0({\n ...model0,\n answers: [\n ...model0.answers,\n {\n id: nanoid(5),\n txt: '',\n type: 0,\n },\n ],\n });\n };\n\n //\n const deleteTestAns = async () => {\n const res = await warningDialog(\n 'Удаление вопроса',\n 'Удаленный вопрос нельзя восстановить. Удалить вопрос с описанием и ответами?',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n onDelete(model0);\n }\n };\n\n const saveTestAns = async () => {\n let isEmpty = false;\n\n if (model0.type === 0) {\n model0.answers.forEach((it) => {\n if (!it.txt) isEmpty = true;\n });\n }\n\n if (!isEmpty) onSave(model0);\n else {\n const res = await warningDialog(\n 'Пустые поля ответов',\n 'В вариантах ответов есть не заполненные поля. Удалить и сохранить?',\n [{ label: 'Отмена' }, { label: 'Сохранить' }],\n );\n if (res === 1) {\n onSave({\n ...model0,\n answers: model0.answers.filter((it) => it.txt),\n });\n }\n }\n };\n\n return (\n Редактирование вопроса}\n width={630}\n footer={[\n ,\n ,\n ,\n ]}\n >\n \n Вопрос и пояснение к нему, при необходимости\n \n \n Вопрос:\n \n \n не оценивается\n \n \n \n \n \n \n \n \n \n Пояснение:\n \n \n \n \n \n \n \n Ответы, может быть несколько правильных\n \n\n {model0.type === 0 && (\n <>\n {(model0.answers || []).map((ans) => (\n \n ))}\n \n \n \n \n \n \n )}\n\n {model0.type === 1 && (\n \n \n \n \n \n )}\n \n );\n}\n\nWebinarsTestAnswerEditor.defaultProps = {};\n\nWebinarsTestAnswerEditor.propTypes = {\n visible: PropTypes.bool.isRequired,\n model: PropTypes.shape({\n answers: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n onClose: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nexport default WebinarsTestAnswerEditor;\n","// Общие колонки, есть на всех видах\n\nimport dayjs from 'dayjs';\nimport { WEBINAR3_TYPE, WEBINAR3_VIEW_ID2TAG, WEBINAR3_STATUS_ID2TAG } from '../webinar_constants';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const eventsWithTestTable = () => ({\n name: null, // 'Кроссы', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: 'firtsStage.dtStart',\n name: 'Дата проведения',\n sort: true,\n render: (item) =>\n `${dayjs(item?.firtsStage?.dtStart).format('DD.MM')} .. ${dayjs(\n item?.lastStage?.dtEnd,\n ).format('DD.MM.YYYY')}`,\n },\n {\n prop: '+status',\n name: 'Статус',\n sort: true,\n render: (item, val) => WEBINAR3_STATUS_ID2TAG[val],\n },\n {\n prop: '+view',\n name: 'Вид',\n sort: true,\n render: (item, val) => WEBINAR3_VIEW_ID2TAG[val],\n },\n {\n prop: '+type',\n name: 'Тип',\n sort: true,\n prop2value: [WEBINAR3_TYPE, 'id', 'name'],\n },\n {\n prop: '+name',\n name: 'Название мероприятия',\n sort: true,\n nowrap: true,\n },\n ],\n});\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router-dom';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport { eventsWithTestTable } from './events-list';\nimport apiWebinar3EventList from '../../../../api/Webinar3EventList';\n\nfunction WebinarsEventsWithTest({ testId, onClose }) {\n const history = useHistory();\n\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (testId > 0) {\n setVisible(true);\n } else {\n setVisible(false);\n }\n }, [testId]);\n\n const onRowClick = (item) => {\n history.push(`/webinars/event/edit/${item._id}`);\n };\n\n return (\n \n Вебинары и семинары использующие тест\n \n }\n onCancel={onClose}\n footer={}\n width=\"80%\"\n >\n \n \n );\n}\n\nWebinarsEventsWithTest.defaultProps = {};\n\nWebinarsEventsWithTest.propTypes = {\n testId: PropTypes.number.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default WebinarsEventsWithTest;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nfunction apiWebinar3TestList() {\n return async (page, pageSize, filter, props, sortProp, sortOrder, searchProps) => {\n const { err, errmsg, data } = await apiPost('/webinars3/test/list', {\n collection: 'Webinars3Test',\n role: 0,\n page,\n pageSize,\n filter,\n props,\n sortProp,\n sortOrder,\n schProps: searchProps,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n };\n}\n\nexport default apiWebinar3TestList;\n","import { apiPost, ApiError } from '.';\n\n/**\n * Запрос серий продуктов\n */\nfunction apiW3UserList(collection, role = 0) {\n return async (page, pageSize, filter, props, sortProp, sortOrder, searchProps) => {\n const { err, errmsg, data } = await apiPost('/webinar3/user/list', {\n collection,\n role,\n page,\n pageSize,\n filter,\n props,\n sortProp,\n sortOrder,\n schProps: searchProps,\n });\n if (err !== 0) throw ApiError(err, errmsg);\n return data;\n };\n}\n\nexport default apiW3UserList;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__qWHJ8\",\"contextHolder\":\"contextHolder__wdU85\",\"context\":\"context__kanlr\"};","import React from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport apiWebinar3EventList from '../../../../api/Webinar3EventList';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport { eventsWithTestTable } from './events-list';\n\nfunction WebinarsAddUsersToEventDlg({ visible, onClose, onSelect }) {\n return (\n \n Укажите вебинар, куда добавить пользователей\n \n }\n onCancel={onClose}\n footer={}\n width=\"80%\"\n >\n {visible && (\n onSelect(ev._id)}\n sioEvents={['LIST:WEBINARS3_EVENTS', subscribeToChannel, unsubscribeToChannel]}\n searchProps={['name']}\n urlParamName=\"__ev__\"\n />\n )}\n \n );\n}\n\nWebinarsAddUsersToEventDlg.defaultProps = {};\n\nWebinarsAddUsersToEventDlg.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n onSelect: PropTypes.func.isRequired,\n};\n\nexport default WebinarsAddUsersToEventDlg;\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Button, Layout, message, PageHeader, Table, Tag } from 'antd';\nimport dayjs from 'dayjs';\nimport { Link, useHistory, useParams } from 'react-router-dom';\n\nimport {\n DeleteOutlined,\n EyeOutlined,\n FieldTimeOutlined,\n SafetyCertificateOutlined,\n} from '@ant-design/icons';\n\nimport { apiPost, apiPostData } from '../../../../api';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport WebinarsEventResults0 from '../Events/WebinarsEventResults0';\nimport {\n WEBINAR3_STATUS_ID2TAG,\n WEBINAR3_TYPES_ID2NAME,\n WEBINAR3_VIEW_ID2TAG,\n} from '../webinar_constants';\nimport styles from './styles.scss';\n\nconst tableColumns = (deleteUserFromEvent, onShowUserTestAnswers, onShowUserCertificate) => [\n {\n title: 'Дата проведения',\n dataIndex: 'dates',\n key: 'dates',\n width: 160,\n render: (v, it) => {\n if (it.__event?.__dtStart && it.__event?.__dtEnd) {\n return (\n {`${dayjs(it.__event.__dtStart).format(\n 'DD.MM',\n )} .. ${dayjs(it.__event.__dtEnd).format('DD.MM.YYYY')}`}\n );\n }\n return '';\n },\n },\n {\n title: 'Статус',\n dataIndex: 'status',\n key: 'status',\n width: 110,\n render: (v, it) => WEBINAR3_STATUS_ID2TAG[it.__event?.status],\n },\n {\n title: 'Вид',\n dataIndex: 'view',\n key: 'view',\n width: 190,\n render: (v, it) => WEBINAR3_VIEW_ID2TAG[it.__event?.view],\n },\n {\n title: 'Тип',\n dataIndex: 'type',\n key: 'type',\n width: 130,\n render: (v, it) =>\n (it.__event?.type || []).map((t) => (\n \n {WEBINAR3_TYPES_ID2NAME[t]}\n \n )),\n },\n {\n title: 'Название',\n dataIndex: 'name',\n key: 'name',\n render: (v, it) => {it.__event.name},\n },\n {\n title: '',\n dataIndex: 'viewResults',\n key: 'viewResults',\n align: 'center',\n fixed: 'right',\n width: 45,\n render: (v, it) => (\n }\n onClick={() => onShowUserTestAnswers(it)}\n disabled={it.test?.done !== 1}\n />\n ),\n },\n {\n title: ,\n dataIndex: 'cert',\n key: 'cert',\n align: 'center',\n fixed: 'right',\n width: 80,\n render: (v, it) => {\n if (it.test?.done === 1) {\n if (it.test?.success)\n return it.__event?.certificate?.fileId ? (\n ,\n ,\n ]}\n onBack={backToList}\n />\n {model?._id > 0 && (\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n )}\n\n setUserTestAnswersDlg({ open: false })}\n test={userTestAnswersDlg.test || {}}\n resultsMatrix={userTestAnswersDlg.resultsMatrix || {}}\n />\n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__MyaWJ\",\"contextHolder\":\"contextHolder__loT3k\",\"context\":\"context__ipT3J\"};","/* eslint-disable import/prefer-default-export */\nimport React from 'react';\nimport { BellOutlined, CheckOutlined } from '@ant-design/icons';\nimport NotifyPopup from '../../components/Common/NotifyPopup';\n\n// Общие колонки, есть на всех видах\nexport const commonColumns = (notifyLastForRole, webinarSettings) => ({\n name: null,\n props: ['emailApproveDt', 'udt'], // список полей для запроса к серверу\n columns: [\n {\n prop: '_id',\n name: '',\n width: 35,\n align: 'center',\n excelHide: true,\n render: (item, val) => {\n const noti = notifyLastForRole[val];\n if (noti) return ;\n return ;\n },\n },\n {\n prop: '+cdt',\n name: 'Дата',\n sort: true,\n nowrap: true,\n type: 'date',\n format: 'DD.MM.YYYY HH:mm',\n },\n {\n prop: '+surname',\n name: 'Фамилия',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+name',\n name: 'Имя',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+date',\n name: 'Дата вебинара',\n sort: true,\n nowrap: true,\n prop2value: [webinarSettings.wdates, 'id', 'name'],\n },\n {\n prop: '+region',\n name: 'Регион',\n sort: true,\n nowrap: true,\n prop2value: [webinarSettings.wregions, 'id', 'name'],\n },\n {\n prop: '+date2',\n name: 'Дата вебинара',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+region2',\n name: 'Регион',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+region2',\n name: 'Регион',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+city',\n name: 'Город',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+company',\n name: 'Компания',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+position',\n name: 'Должность',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+email',\n name: 'E-mail',\n sort: true,\n nowrap: true,\n },\n {\n prop: '+emailApproveDt',\n name: 'E-mail подтвержден',\n nowrap: true,\n align: 'center',\n excelRender: (data) => (data.emailApproveDt ? '+' : ''),\n render: (data) => {\n if (data.emailApproveDt) return ;\n return ' ';\n },\n },\n ],\n});\n","import React from 'react';\n\nimport {\n ApartmentOutlined,\n GlobalOutlined,\n ReloadOutlined,\n VideoCameraOutlined,\n} from '@ant-design/icons';\n\nimport AnalogList from './app/pages/Catalogs/Analog/AnalogList';\nimport SpecList from './app/pages/Catalogs/Characters/SpecList';\nimport CrossList from './app/pages/Catalogs/Cross/CrossList';\nimport IframeList from './app/pages/Catalogs/IFrame/IframeList';\nimport MainCatalogList from './app/pages/Catalogs/Main/MainCatalogList';\nimport CommonEmailEditor from './app/pages/Common/Emails/CommonEmailEditor';\nimport CommonEmailList from './app/pages/Common/Emails/CommonEmailList';\nimport CommonFiles from './app/pages/Common/Files/CommonFiles';\nimport CommonGTooltipList from './app/pages/Common/Tooltips/CommonGTooltipList';\nimport KybSiteBanners from './app/pages/KybSite/Banners/KybSiteBanners';\nimport KybSiteBulletins from './app/pages/KybSite/Bulletin/KybSiteBulletins';\nimport KybSiteCatalogs from './app/pages/KybSite/Catalogs/KybSiteCatalogs';\nimport KybSiteExperts from './app/pages/KybSite/Experts/KybSiteExperts';\nimport KybSiteExpertsEditor from './app/pages/KybSite/Experts/KybSiteExpertsEditor';\nimport KybSiteFAQList from './app/pages/KybSite/FAQ/KybSiteFAQList';\nimport KybHistory from './app/pages/KybSite/History/KybHistory';\nimport KybSiteInstallations from './app/pages/KybSite/Installations/KybSiteInstallations';\nimport KybSiteInstallationsEditor from './app/pages/KybSite/Installations/KybSiteInstallationsEditor';\nimport KybSiteMeta from './app/pages/KybSite/Meta/KybSiteMeta';\nimport KybSiteNews from './app/pages/KybSite/News/KybSiteNews';\nimport KybSiteNewsEditor from './app/pages/KybSite/News/KybSiteNewsEditor';\nimport KybSiteProduct from './app/pages/KybSite/Product/KybSiteProduct';\nimport KybSiteProductEditor from './app/pages/KybSite/Product/KybSiteProductEditor';\nimport KybSeries from './app/pages/KybSite/Series/KybSeries';\nimport KybSitePages from './app/pages/KybSite/SitePages/KybSitePages';\nimport KybSiteVideoList from './app/pages/KybSite/Video/KybSiteVideoList';\nimport MapAnalytics from './app/pages/Map/Analytics/MapAnalytics';\nimport MapObjectEditor from './app/pages/Map/ObjectEditor/MapObjectEditor';\nimport MapCommentsList from './app/pages/Map/Objects/MapCommentsList';\nimport MapNewObjectsList from './app/pages/Map/Objects/MapNewObjectsList';\nimport MapObjectsList from './app/pages/Map/Objects/MapObjectsList';\nimport MapSettings from './app/pages/Map/Settings/MapSettings';\nimport NewProductsInAssortment from './app/pages/News/NewProducts/NewProductsInAssortment';\nimport NewProductsInAssortmentEditor from './app/pages/News/NewProducts/NewProductsInAssortmentEditor';\nimport UserAccessEditor from './app/pages/Users/Users/UserAccessEditor';\nimport Users from './app/pages/Users/Users/Users';\nimport UsersBlocked from './app/pages/Users/UsersBlocked/UsersBlocked';\nimport UsersNew from './app/pages/Users/UsersNew/UsersNew';\nimport WebinarEventEditor from './app/pages/Webinars/Events/WebinarEventEditor';\nimport WebinarsEventsList from './app/pages/Webinars/Events/WebinarsEventsList';\nimport WebinarsTestEditor from './app/pages/Webinars/Tests/WebinarsTestEditor';\nimport WebinarsTestsList from './app/pages/Webinars/Tests/WebinarsTestsList';\nimport WebinarsUsersList from './app/pages/Webinars/Users/WebinarsUsersList';\nimport WebinarsUserViewer from './app/pages/Webinars/Users/WebinarsUserViewer';\nimport WebinarsV1List from './app/pages/WebinarsV1/WebinarsV1List';\nimport WebinarsV1Settings from './app/pages/WebinarsV1/WebinarsV1Settings';\nimport CatalogsIcon from './assets/svg/kyb-catalogs.svg';\nimport MapIcon from './assets/svg/lmenu-map.svg';\nimport SettingsIcon from './assets/svg/settings.svg';\nimport UsersIcon from './assets/svg/users.svg';\nimport WebinarEventResults1 from './app/pages/Webinars/Events/WebinarEventResults1';\n\nconst routes = [\n {\n role: 100,\n label: 'Общие настройки',\n icon: ,\n subs: [\n {\n role: 101,\n label: 'Подсказки',\n path: '/common/tooltips',\n component: CommonGTooltipList,\n },\n {\n role: 102,\n path: '/common/email/template/:templateId',\n exact: true,\n component: CommonEmailEditor,\n },\n {\n role: 102,\n label: 'Email шаблоны',\n path: '/common/email/templates',\n exact: true,\n component: CommonEmailList,\n },\n {\n role: 103,\n label: 'Файлы',\n path: '/common/files',\n exact: true,\n component: CommonFiles,\n },\n ],\n },\n {\n role: 200,\n label: 'Пользователи',\n icon: ,\n subs: [\n {\n role: 201,\n label: 'Запросы доступа',\n path: '/users/new',\n exact: true,\n component: UsersNew,\n },\n {\n role: 202,\n label: 'Разрешённый доступ',\n path: '/users/approved',\n exact: true,\n component: Users,\n },\n {\n role: 202,\n path: '/user/edit/:userId',\n exact: true,\n component: UserAccessEditor,\n },\n {\n role: 203,\n label: 'Доступ заблокирован',\n path: '/users/blocked',\n exact: true,\n component: UsersBlocked,\n },\n ],\n },\n {\n role: 800,\n label: 'Новости',\n icon: ,\n subs: [\n {\n role: 801,\n label: 'Новинки ассортимента',\n path: '/news/newproducts',\n exact: true,\n component: NewProductsInAssortment,\n },\n {\n role: 801,\n path: '/news/newproducts/:objectId',\n exact: true,\n component: NewProductsInAssortmentEditor,\n },\n\n {\n role: 802,\n label: 'Новости сайта',\n path: '/site/news',\n exact: true,\n component: KybSiteNews,\n },\n {\n role: 802,\n path: '/site/news/:newsId',\n exact: true,\n component: KybSiteNewsEditor,\n },\n ],\n },\n {\n role: 300,\n label: 'Каталоги на kyb.ru',\n icon: ,\n subs: [\n {\n role: 301,\n label: 'Управление каталогами',\n path: '/catalogs/list',\n exact: true,\n component: MainCatalogList,\n },\n {\n role: 302,\n label: 'Кроссы',\n path: '/catalogs/cross',\n exact: true,\n component: CrossList,\n },\n {\n role: 303,\n label: 'Аналоги',\n path: '/catalogs/analogs',\n exact: true,\n component: AnalogList,\n },\n {\n role: 304,\n label: 'Характеристики',\n path: '/catalogs/characters',\n exact: true,\n component: SpecList,\n },\n {\n role: 305,\n label: 'iFrame каталог',\n path: '/catalogs/settings',\n exact: true,\n component: IframeList,\n },\n ],\n },\n {\n role: 400,\n label: 'Карта на kyb.ru',\n icon: ,\n subs: [\n {\n role: 401,\n label: 'Управление картой',\n path: '/maps/objects',\n exact: true,\n component: MapObjectsList,\n },\n {\n role: 402,\n label: 'Новые объекты',\n path: '/maps/newobjects',\n exact: true,\n component: MapNewObjectsList,\n },\n {\n role: 452,\n path: '/maps/object/:objectId',\n exact: true,\n component: MapObjectEditor,\n },\n\n {\n role: 403,\n label: 'Комментарии',\n path: '/maps/comments',\n exact: true,\n component: MapCommentsList,\n },\n {\n role: 404,\n label: 'Настройка карты',\n path: '/maps/settings',\n exact: true,\n component: MapSettings,\n },\n {\n role: 405,\n label: 'Аналитика карты',\n path: '/maps/analytics',\n exact: true,\n component: MapAnalytics,\n },\n ],\n },\n {\n role: 500,\n label: 'Сайт kyb.ru',\n icon: ,\n subs: [\n {\n role: 501,\n label: 'SEO',\n path: '/site/meta',\n exact: true,\n component: KybSiteMeta,\n },\n\n {\n role: 503,\n label: 'История KYB',\n path: '/site/history',\n exact: true,\n component: KybHistory,\n },\n {\n role: 504,\n label: 'Серии',\n path: '/site/series',\n exact: true,\n component: KybSeries,\n },\n\n {\n role: 505,\n label: 'Продукция',\n path: '/site/products',\n exact: true,\n component: KybSiteProduct,\n },\n {\n role: 505,\n path: '/site/product/:productId',\n exact: true,\n component: KybSiteProductEditor,\n },\n\n {\n role: 506,\n label: 'Каталоги',\n path: '/site/catalogs',\n exact: true,\n component: KybSiteCatalogs,\n },\n {\n role: 507,\n label: 'Бюллетени',\n path: '/site/bulletins',\n exact: true,\n component: KybSiteBulletins,\n },\n {\n role: 508,\n label: 'Вопросы и ответы',\n path: '/site/faq',\n exact: true,\n component: KybSiteFAQList,\n },\n {\n role: 509,\n label: 'Видео инструкции',\n path: '/site/video_manuals',\n exact: true,\n component: KybSiteVideoList,\n },\n\n {\n role: 510,\n label: 'Рекомендации по установке',\n path: '/site/installations',\n exact: true,\n component: KybSiteInstallations,\n },\n {\n role: 510,\n path: '/site/installations/:zid',\n exact: true,\n component: KybSiteInstallationsEditor,\n },\n\n {\n role: 511,\n label: 'Экспертный клуб',\n path: '/site/experts',\n exact: true,\n component: KybSiteExperts,\n },\n {\n role: 511,\n path: '/site/experts/:zid',\n exact: true,\n component: KybSiteExpertsEditor,\n },\n\n {\n role: 512,\n label: 'Страницы',\n path: '/site/pages',\n exact: true,\n component: KybSitePages,\n },\n\n {\n role: 513,\n label: 'Баннеры',\n path: '/site/banners',\n exact: true,\n component: KybSiteBanners,\n },\n ],\n },\n {\n role: 700,\n label: 'Connect',\n icon: ,\n subs: [\n {\n role: 701,\n label: 'Участники',\n path: '/connect/users',\n exact: true,\n component: WebinarsV1List,\n },\n {\n role: 702,\n label: 'Настройки',\n path: '/connect/settings',\n exact: true,\n component: WebinarsV1Settings,\n },\n ],\n },\n {\n role: 900,\n label: 'Вебинары / семинары',\n icon: ,\n subs: [\n {\n role: 901,\n label: 'Участники',\n path: '/webinars/users',\n exact: true,\n component: WebinarsUsersList,\n },\n {\n role: 901,\n path: '/webinars/user/:id',\n exact: true,\n component: WebinarsUserViewer,\n },\n\n {\n role: 902,\n label: 'Тесты',\n path: '/webinars/tests',\n exact: true,\n component: WebinarsTestsList,\n },\n {\n role: 902,\n path: '/webinars/test/:id',\n exact: true,\n component: WebinarsTestEditor,\n },\n\n {\n role: 903,\n label: 'Вебинары и семинары',\n path: '/webinars/events',\n exact: true,\n component: WebinarsEventsList,\n },\n {\n role: 903,\n path: '/webinars/event/:view/:id',\n exact: true,\n component: WebinarEventEditor,\n },\n {\n role: 903,\n path: '/webinars/event/:id/r1/:taid',\n exact: true,\n component: WebinarEventResults1,\n },\n ],\n },\n];\n\nexport const KYB_STAFF_ACCESS_TREE_RULES = routes.map((m) => ({\n key: m.role,\n title: m.label,\n children: m.subs\n .filter((x) => !!x.label)\n .map((x) => ({\n key: x.role,\n title: x.label,\n })),\n}));\n\nexport const KYB_STAFF_ACCESS_ID2NAME = {};\nKYB_STAFF_ACCESS_TREE_RULES.forEach((parent) => {\n if (Array.isArray(parent.children)) {\n parent.children.forEach((role) => {\n KYB_STAFF_ACCESS_ID2NAME[role.key] = (\n \n {parent.title} → {role.title}\n \n );\n });\n }\n});\n\nexport default routes;\n","import React, { useState } from 'react';\n\nimport { Layout, Modal, PageHeader } from 'antd';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport apiGTolltipSet from '../../../../api/GTolltipSet';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function CommonGTooltipList() {\n const [model, setModel] = useState({ visible: false });\n\n function onRowClick(item) {\n setModel({\n visible: true,\n ...item,\n });\n }\n\n function onChangeModel(m) {\n setModel({\n ...model,\n ...m,\n });\n }\n\n function closeDialog() {\n setModel({\n visible: false,\n });\n }\n\n async function saveTooltip() {\n await apiGTolltipSet(model._id, model.txt);\n closeDialog();\n }\n\n return (\n <>\n Список подсказок}\n />\n \n
\n
\n \n
\n
\n
\n \n \n \n \n );\n}\n","// Общие колонки, есть на всех видах\nexport function commonColumns() {\n return {\n name: 'Подсказки', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n width: 160,\n },\n {\n prop: '+txt',\n name: 'Текст',\n sort: true,\n },\n ],\n };\n}\n","import React, { useEffect, useState, useRef } from 'react';\n\nimport { Button, Collapse, Layout, message, PageHeader, Popconfirm, Typography } from 'antd';\nimport { nanoid } from 'nanoid';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport {\n CloudUploadOutlined,\n DeleteOutlined,\n EyeOutlined,\n QuestionCircleOutlined,\n SendOutlined,\n} from '@ant-design/icons';\n\nimport apiEmailTemplateGet from '../../../../api/EmailTemplateGet';\nimport apiEmailTemplateRemove from '../../../../api/EmailTemplateRemove';\nimport apiEmailTemplateSave from '../../../../api/EmailTemplateSave';\nimport apiEmailTemplateSend from '../../../../api/EmailTemplateSend';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { EDITOR_HELP_MACROS } from './editor-help';\nimport EmailTemplatePreviewDlg from './EmailTemplatePreviewDlg';\nimport styles from './styles.scss';\nimport { useAceXml } from './emails-editor-hooks';\n\n// import 'ace-builds/src-noconflict/mode-html';\n// import 'ace-builds/src-noconflict/theme-monokai';\n// import 'ace-builds/webpack-resolver';\n// import Beautify from 'ace-builds/src-noconflict/ext-beautify';\n\nexport default function CommonEmailEditor() {\n // router\n const history = useHistory();\n // const location = useLocation();\n const { templateId } = useParams();\n\n const [model, setModel] = useState({});\n const [modelChanged, setModelChanged] = useState(false);\n const [code, setCode] = useState('');\n const [progress, setProgress] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n\n const refEditor = useRef(null);\n const [aceInitDone, aceCode] = useAceXml(refEditor, code);\n\n const loadTemplate = async (id) => {\n setProgress(true);\n const template = await apiEmailTemplateGet(id);\n\n setModel({\n id: template._id,\n state: template.state,\n name: template.name,\n });\n setCode(template.code);\n setModelChanged(false);\n\n setProgress(false);\n };\n\n const saveTemplate = async () => {\n setProgress(true);\n\n const { err, errmsg, data } = await apiEmailTemplateSave(\n model.id,\n model.state,\n model.name,\n aceCode,\n );\n if (err) message.error(errmsg || `Net error: ${err}`);\n else {\n if (templateId === '_') history.replace(`/common/email/template/${data._id}`);\n setModelChanged(false);\n }\n\n setProgress(false);\n };\n\n useEffect(() => {\n if (templateId === '_') {\n // new\n setModel({\n id: nanoid(7).toLowerCase(),\n state: 1,\n });\n setCode('');\n } else {\n // load\n loadTemplate(templateId);\n }\n }, [templateId]);\n\n useEffect(() => {\n // console.log('aceCode', aceCode);\n // setCode(aceCode);\n setModelChanged(true);\n }, [aceCode]);\n\n // const onChangeCode = (c) => {\n // setCode(c);\n // setModelChanged(true);\n // };\n\n const onChangeModel = (m) => {\n setModel({ ...m });\n setModelChanged(true);\n };\n\n const sendToMe = () => {\n if (templateId !== '_') apiEmailTemplateSend(templateId);\n };\n\n const onCancelBlock = () => {};\n\n const onDeleteTemplate = async () => {\n if (templateId !== '_') {\n await apiEmailTemplateRemove(templateId);\n }\n };\n\n return (\n <>\n Редактор E-mail}\n extra={[\n }\n title=\"Вы уверены, что хотите удалить данный шаблон?\"\n onConfirm={onDeleteTemplate}\n onCancel={onCancelBlock}\n okText=\"Удалить\"\n cancelText=\"Нет\"\n disabled={progress || templateId === '_'}\n >\n \n ,\n\n }\n disabled={progress || templateId === '_'}\n onClick={sendToMe}\n >\n Прислать мне\n ,\n }\n disabled={progress || templateId === '_'}\n onClick={() => setShowPreview(true)}\n >\n Предпросмотр\n ,\n }\n type=\"primary\"\n onClick={saveTemplate}\n disabled={progress || !modelChanged}\n >\n Сохранить\n ,\n ]}\n />\n \n
\n
\n
\n \n
\n

Возможно использовать переменные

\n

\n Все перемнные вставляются как - {'{{EXAMPLE}}'}
\n (в двойных круглых скобках)\n

\n \n {EDITOR_HELP_MACROS.map((x) => (\n \n {x.id}\n \n }\n key={x.id}\n >\n {x.txt}\n \n ))}\n \n
\n
\n
\n
\n
\n \n Документация по MJML\n \n Ctrl+Shift+B - для форматирования кода\n
\n
\n
\n {/* */}\n
\n
\n
\n
\n
\n \n\n setShowPreview(false)}\n />\n \n );\n}\n","import React from 'react';\n\nimport { Button, Layout, PageHeader } from 'antd';\nimport { useHistory } from 'react-router-dom';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function CommonEmailList() {\n // router\n const history = useHistory();\n // const location = useLocation();\n // const { proudctId } = useParams();\n\n // const v = apiAnyList('User');\n // debugger\n\n const createNewTemplate = () => {\n history.push('/common/email/template/_');\n };\n\n const onRowClick = (item) => {\n history.push(`/common/email/template/${item._id}`);\n };\n\n return (\n <>\n Список шаблонов Email}\n extra={[\n ,\n ]}\n />\n \n
\n
\n \n
\n
\n
\n \n );\n}\n","// Общие колонки, есть на всех видах\nexport function commonColumns() {\n return {\n name: 'Шаблоны', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n },\n {\n prop: '+udt',\n name: 'Обновлено',\n sort: true,\n type: 'date',\n format: 'DD.MM.YYYY / HH:mm'\n },\n {\n prop: '+name',\n name: 'Назание',\n sort: true,\n },\n ],\n };\n}\n\nexport function extentedColumns() {\n return [\n {\n id: 'example1',\n name: 'Пример просмотра',\n props: [],\n columns: [\n {\n prop: '+email',\n name: 'E-mail',\n sort: true,\n },\n {\n prop: '+city',\n name: 'Город',\n },\n ],\n },\n ];\n}\n","/* eslint-disable import/prefer-default-export */\nimport React from 'react';\n\nimport { LinkOutlined } from '@ant-design/icons';\nimport styles from './styles.scss';\n\n// Общие колонки, есть на всех видах\nexport function commonColumns() {\n return {\n name: 'Файлы', // название\n props: [], // список полей для запроса к серверу\n columns: [\n {\n prop: '+_id',\n name: 'ID',\n sort: true,\n render: (item, val) => (\n
\n {val}\n
\n ),\n },\n {\n prop: '+state',\n name: '',\n sort: true,\n render: (item, val) => {\n if (val === 1) return 'GridFS';\n return '';\n },\n },\n {\n prop: '+desc',\n name: 'Описание',\n sort: true,\n render: (item, val) => (\n
\n {val}\n
\n ),\n },\n // {\n // name: 'Url',\n // prop: '+uname',\n // actions: true,\n // align: 'center',\n // render: (item, val) => {\n // return ;\n // },\n // },\n {\n name: ,\n prop: '+uname',\n actions: true,\n align: 'center',\n render: (item, val) => {\n if (item.contentType.indexOf('image/') === 0) {\n return (\n \n \n \n );\n }\n return (\n \n \n \n );\n },\n },\n {\n name: 'Создан',\n prop: '+cdt',\n sort: true,\n nowrap: true,\n type: 'date',\n format: 'DD.MM.YYYY HH:mm',\n },\n {\n name: 'Тип файла',\n prop: '+contentType',\n sort: true,\n search: true,\n },\n {\n name: 'Тип',\n prop: '+type',\n sort: true,\n search: true,\n },\n {\n name: 'Размер',\n prop: '+size',\n sort: true,\n align: 'right',\n nowrap: true,\n },\n {\n name: 'Ширина',\n prop: '+width',\n sort: true,\n align: 'right',\n },\n {\n name: 'Высота',\n prop: '+height',\n sort: true,\n align: 'right',\n },\n {\n name: 'Имя файла',\n prop: '+fname',\n sort: true,\n search: true,\n render: (item, val) => (\n
\n {val}\n
\n ),\n },\n {\n name: 'Открыт',\n prop: '+loadDt',\n sort: true,\n nowrap: true,\n type: 'date',\n format: 'DD.MM.YYYY HH:mm',\n },\n {\n name: 'Раз',\n prop: '+loadCnt',\n sort: true,\n align: 'right',\n },\n ],\n };\n}\n","import React, { useState } from 'react';\n\nimport { Layout, PageHeader } from 'antd';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\nimport UserAuthorizationDlg from './UserAuthorizationDlg';\nimport { useRecoilValue } from 'recoil';\nimport { USER_ROLE } from '../../../constants';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\n\nexport default function UsersNew() {\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(USER_ROLE.USERS_NEW));\n const [approveUserId, setApproveUserId] = useState(0);\n\n function onRowClick(item) {\n setApproveUserId(item._id);\n }\n\n function onCloseApproveDlg() {\n setApproveUserId(0);\n }\n\n return (\n <>\n Запросы доступа}\n />\n \n
\n
\n \n
\n
\n
\n \n \n );\n}\n","import React from 'react';\n\nimport { Layout, PageHeader } from 'antd';\nimport { useHistory } from 'react-router-dom';\nimport { useRecoilValue } from 'recoil';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport { USER_ROLE } from '../../../constants';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function Users() {\n const history = useHistory();\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(USER_ROLE.USERS_APPROVED));\n\n const onRowClick = (item) => {\n history.push(`/user/edit/${item._id}`);\n };\n\n return (\n <>\n Разрешенный доступ}\n />\n \n
\n
\n \n
\n
\n
\n \n );\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Collapse, Layout, message, PageHeader, Spin, Switch, Typography } from 'antd';\nimport objectEqual from 'fast-deep-equal/es6';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport { SettingOutlined } from '@ant-design/icons';\n\nimport apiAnyGet from '../../../../api/AnyGet';\nimport apiUserSet from '../../../../api/UserSet';\nimport apiUserStateSet from '../../../../api/UserStateSet';\nimport { KYB_STAFF_ACCESS_ID2NAME } from '../../../../routes';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataForm, { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport KybStaffAccessDialog from './access/KybStaffAccessDialog';\nimport styles from './styles.scss';\n\nexport default function UserAccessEditor() {\n const history = useHistory();\n const { userId } = useParams();\n // eslint-disable-next-line no-underscore-dangle\n const _userId = parseInt(userId, 10);\n\n const [model, setModel] = useState(null);\n const [oldModel, setOldModel] = useState(null);\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const [kybStaffAccDlg, setKybStaffAccDlg] = useState({ visible: false, acc: [] });\n\n const loadUser = async (reset = true) => {\n if (reset) {\n setModel(null);\n setOldModel(null);\n }\n\n const user = await apiAnyGet('User')(_userId, [\n '_id',\n 'cdt',\n 'name',\n 'lastName',\n 'midName',\n 'email',\n 'phone',\n 'company',\n 'status',\n 'country',\n 'city',\n 'desc',\n 'kybStaff',\n 'kybRoles',\n ]);\n\n setModel(user);\n setOldModel(user);\n setIsModelChanged(false);\n };\n\n // load user\n useEffect(() => {\n if (userId > 0) {\n loadUser();\n }\n }, [userId]);\n\n const onChangeModel = (m) => {\n const _m = { ...model, ...m };\n setModel(_m);\n setIsModelChanged(!objectEqual(_m, oldModel));\n };\n\n const showKybStaffAccessDialog = (ev) => {\n ev.stopPropagation();\n setKybStaffAccDlg({ ...kybStaffAccDlg, visible: true, acc: model.kybRoles || [] });\n };\n\n const saveUser = async () => {\n const { err } = await apiUserSet(_userId, model);\n if (!err) {\n message.info('Пользователь сохраненен');\n await loadUser(false);\n }\n };\n\n const onSaveUser = async () => {\n const res = await warningDialog(\n 'Изменение настроек доступа',\n 'Сохранить выбранные для пользователя настройки?',\n [{ label: 'Отмена' }, { label: 'Сохранить' }],\n );\n if (res === 1) {\n saveUser();\n }\n };\n\n const blockUser = async () => {\n const { err } = await apiUserStateSet(_userId, -1);\n if (!err) {\n message.info('Пользователь заблокирован', 9);\n history.goBack();\n }\n };\n\n const onBack = async () => {\n if (!isModelChanged) {\n history.goBack();\n return;\n }\n\n const res = await warningDialog(\n 'Есть несохраненные изменения',\n 'Сохранить перед выходом внесённые изменения?',\n [{ label: 'Не сохранять' }, { label: 'Сохранить' }],\n );\n if (res === 0) {\n history.goBack();\n } else if (res === 1) {\n await saveUser();\n history.goBack();\n }\n };\n\n return (\n <>\n \n Настройка доступа\n {!model && }\n \n }\n onBack={onBack}\n extra={[\n !!model && (\n \n ),\n !!model && (\n \n ),\n ].filter(Boolean)}\n />\n\n {!!model && (\n \n
\n
\n Общая информация\n \n
\n
\n\n
\n
\n Служебный доступ\n
\n onChangeModel({ kybStaff: state })}\n checked={model.kybStaff}\n />\n Доступ к админ панели - Модератора KYB\n
\n {model?.kybStaff && (\n
\n \n }\n onClick={showKybStaffAccessDialog}\n />\n }\n >\n
\n {(model.kybRoles || [])\n .sort()\n .filter((role) => !!KYB_STAFF_ACCESS_ID2NAME[role])\n .map((role) => (\n
\n {KYB_STAFF_ACCESS_ID2NAME[role]}\n
\n ))}\n
\n \n
\n
\n )}\n
\n
\n\n
\n
\n Доступ к личным кабинетам\n
\n \n
\n
\n
\n
\n )}\n\n setKybStaffAccDlg({ ...kybStaffAccDlg, visible: false })}\n onSave={(acc) => {\n onChangeModel({ kybRoles: acc });\n setKybStaffAccDlg({ ...kybStaffAccDlg, visible: false });\n }}\n acc={kybStaffAccDlg.acc}\n />\n \n );\n}\n","import React, { useState } from 'react';\n\nimport { Layout, PageHeader } from 'antd';\nimport { useRecoilValue } from 'recoil';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport { USER_ROLE } from '../../../constants';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\nimport UserUnblockDlg from './UserUnblockDlg';\n\nexport default function UsersBlocked() {\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(USER_ROLE.USERS_BLOCKED));\n const [unblockUserId, setUnblockUserId] = useState(0);\n\n const onRowClick = (item) => {\n setUnblockUserId(item._id);\n };\n\n const onCloseApproveDlg = () => {\n setUnblockUserId(0);\n };\n\n return (\n <>\n Доступ заблокирован}\n />\n \n
\n
\n \n
\n
\n
\n \n \n );\n}\n","import React from 'react';\n\nimport { Button, Layout, PageHeader, Tooltip } from 'antd';\nimport { useHistory } from 'react-router-dom';\nimport { useRecoilValue } from 'recoil';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\nimport { webinar1SettingsState } from '../../../../state/webinar1-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function NewProductsInAssortment() {\n const history = useHistory();\n\n const webinarSettings = useRecoilValue(webinar1SettingsState);\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(801));\n\n const onRowClick = (item) => {\n // goto product page\n history.push(`/news/newproducts/${item._id}`);\n };\n\n return (\n <>\n Новинки ассортимента}\n extra={[\n \n \n ,\n ]}\n />\n \n
\n
\n \n
\n
\n
\n \n );\n}\n","import React from 'react';\n\nimport { Button, Layout, PageHeader, Tooltip } from 'antd';\nimport { useHistory } from 'react-router-dom';\n\nimport { PlusOutlined } from '@ant-design/icons';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function KybSiteNews() {\n const history = useHistory();\n\n const onAddNews = () => {\n history.push(`/site/news/--new--`);\n };\n\n const onRowClick = (item) => {\n history.push(`/site/news/${item._id}`);\n };\n\n return (\n <>\n Новости на сайте}\n extra={[\n \n ,\n ]}\n width={400}\n >\n {!importing && (\n
\n \n
\n )}\n\n {!!importing && (\n
\n \n {importState?.status || '...'}\n
\n
\n \n
\n
\n )}\n \n \n );\n}\n","import React, { useState } from 'react';\n\nimport { Button, Layout, PageHeader, Tooltip } from 'antd';\nimport dayjs from 'dayjs';\nimport { useRecoilValue } from 'recoil';\n\nimport { CloudUploadOutlined, PlusOutlined } from '@ant-design/icons';\n\nimport apiAnyList from '../../../../api/AnyList';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport { notifyLastForRoleState } from '../../../../state/notify-state';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport XDImportExcelFile from '../../../components/xdf-antd/XDataTable/XDImportExcelFile';\nimport { USER_ROLE } from '../../../constants';\nimport { uploadDataToServer } from '../Cross/CrossList';\nimport AnalogEditDlg from './AnalogEditDlg';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function AnalogList() {\n const notifyLastForRole = useRecoilValue(notifyLastForRoleState(USER_ROLE.CATALOG_ANALOG));\n\n const [editDlg, setEditDlg] = useState({ visible: false, model: {} });\n const [importDlg, setImportDlg] = useState(false);\n\n const onRowClick = (item) => {\n setEditDlg({ visible: true, model: item });\n };\n\n const addRecord = () => {\n setEditDlg({ visible: true, model: {} });\n };\n\n const onCloseDlg = () => {\n setEditDlg({ ...editDlg, visible: false });\n };\n\n const downloadFile = () => {\n window.open('/api/1/catalog/analog/export', '_blank');\n };\n\n return (\n <>\n Управление аналогами на сайте}\n extra={[\n \n }\n onClick={() => setImportDlg(true)}\n />\n ,\n \n \n \n \n \n }\n />\n \n
\n
\n ({\n type: XDF_TYPE.TEXT,\n label: null,\n prop: `region.${x.id}`,\n suffix: (\n \n }\n onClick={() => removeProp('wregions', x.id)}\n />\n \n ),\n })),\n {\n type: XDF_TYPE.DIVIDER,\n label: 'Даты участия в вебинаре',\n },\n ...(sets.wdates || []).map((x) => ({\n type: XDF_TYPE.TEXT,\n label: null,\n prop: `date.${x.id}`,\n suffix: (\n \n }\n onClick={() => removeProp('wdates', x.id)}\n />\n \n ),\n })),\n ]}\n />\n
\n
\n
\n \n );\n}\n","import React, { useRef, useState } from 'react';\n\nimport { Layout, message, PageHeader } from 'antd';\nimport { useHistory } from 'react-router-dom';\n\nimport { FolderAddOutlined } from '@ant-design/icons';\n\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport apiW3UserList from '../../../../api/W3UserList';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns, filterFormWebinarsUser } from './table-defs';\nimport WebinarsAddUsersToEventDlg from '../Dialogs/WebinarsAddUsersToEventDlg';\nimport { apiPostData } from '../../../../api';\n\nexport default function WebinarsUsersList() {\n const history = useHistory();\n const [showAddUsersToEventDlg, setShowAddUsersToEventDlg] = useState(false);\n\n const tableEmitter = useRef(null);\n const [filter, setFilter] = useState({});\n\n const onSaveEventEmmitter = (ee) => {\n tableEmitter.current = ee;\n tableEmitter.current?.addListener('FILTER-CHANGED', (f) => {\n setFilter(f);\n });\n };\n\n const onRowClick = (item) => {\n history.push(`/webinars/user/${item._id}`);\n };\n\n const onAddUsersToEvent = async (eventId) => {\n setShowAddUsersToEventDlg(false);\n const { list } = await apiW3UserList('User')(1, 100000, filter, ['_id'], '_id', 1);\n const userIds = list.map((x) => x._id);\n\n await apiPostData('/webinars3/users/add/to/event', {\n eventId,\n userIds,\n });\n\n message.success('Пользователи добавлены в вебинар');\n };\n\n return (\n <>\n Управление участниками}\n />\n \n
\n
\n 0 && {\n icon: ,\n tooltip: 'Добавить участников в вебинар/семинар',\n onClick: () => setShowAddUsersToEventDlg(true),\n },\n ].filter(Boolean)}\n enableItemsSelect={{\n prop: '_id',\n type: 'number',\n }}\n />\n
\n
\n
\n\n setShowAddUsersToEventDlg(false)}\n onSelect={onAddUsersToEvent}\n />\n \n );\n}\n","// Общие колонки, есть на всех видах\n\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport { WEBINAR3_TYPE, WEBINAR3_VIEW } from '../webinar_constants';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = () => ({\n name: null, // 'Кроссы', // название\n props: [], // список полей для запроса к серверу\n rowStyle: (item) => {\n if (item.webinarUser?.emailState === 1)\n return {\n backgroundColor: 'rgba(0, 255, 0, 0.04)',\n };\n },\n columns: [\n {\n prop: '+webinarUser.phone',\n name: 'Телефон',\n sort: true,\n },\n {\n prop: '+webinarUser.lastname',\n name: 'Фамилия',\n sort: true,\n },\n {\n prop: '+webinarUser.firstname',\n name: 'Имя',\n sort: true,\n },\n {\n prop: '+webinarUser.region',\n name: 'Регион',\n nowrap: true,\n sort: true,\n },\n {\n prop: '+webinarUser.city',\n name: 'Город',\n nowrap: true,\n sort: true,\n },\n {\n prop: '+webinarUser.company',\n name: 'Компания',\n nowrap: true,\n sort: true,\n },\n {\n prop: '+webinarUser.status',\n name: 'Должность',\n nowrap: true,\n sort: true,\n },\n {\n prop: '+webinarUser.email',\n name: 'E-mail',\n sort: true,\n },\n {\n prop: '+webinarUser.emailState',\n name: 'Статус E-mail',\n type: 'check',\n align: 'center',\n sort: true,\n },\n {\n prop: '__webiCount',\n name: 'Вебинаров',\n notNull: true,\n sort: true,\n align: 'center',\n },\n {\n prop: '__semiCount',\n name: 'Семинаров',\n notNull: true,\n sort: true,\n align: 'center',\n },\n ],\n});\n\nexport function filterFormWebinarsUser() {\n return [\n {\n label: 'Подробная инофрмация',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Фамилия',\n prop: '~~webinarUser#lastname',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Имя',\n prop: '~~webinarUser#firstname',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Регион',\n prop: '~~webinarUser#region',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Город',\n prop: '~~webinarUser#city',\n },\n {\n label: 'Компания',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Компания',\n prop: '~~webinarUser#company',\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Должность',\n prop: '~~webinarUser#status',\n },\n {\n label: 'Мероприятия',\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Вид мероприятия',\n prop: '_eventsViews',\n values: WEBINAR3_VIEW,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Тип мероприятия',\n prop: '_eventsTypes',\n values: WEBINAR3_TYPE,\n },\n ];\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Layout, PageHeader, Tooltip } from 'antd';\nimport { useHistory } from 'react-router-dom';\n\nimport { PlusOutlined } from '@ant-design/icons';\n\nimport { apiPostData } from '../../../../api';\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport apiWebinar3TestList from '../../../../api/Webinar3TestList';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport XDataFormDialog from '../../../components/xdf-antd/XDataForm/XDataFormDialog';\nimport XDataTable from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns } from './table-defs';\n\nexport default function WebinarsTestsList() {\n const history = useHistory();\n const [newTestDialog, setNewTestDialog] = useState({ visible: false, model: {} });\n const [tests, setTests] = useState([]);\n\n const fetchTests = async () => {\n const { list } = await apiWebinar3TestList()(1, 10000, {}, ['_id', 'name'], 'name', 1);\n setTests(list.map((test) => ({ id: test._id, name: test.name })));\n };\n\n useEffect(() => {\n fetchTests();\n }, []);\n\n const addNewTest = async () => {\n const res = await warningDialog('Добавление нового теста', 'Добавить новый тест?', [\n { label: 'Отмена' },\n { label: 'Добавить' },\n ]);\n\n if (res === 1) {\n setNewTestDialog({\n visible: true,\n model: { name: '', copyTests: 0 },\n });\n }\n };\n const onCreateNewTest = async (m) => {\n const data = await apiPostData('/webinars3/test/create', m);\n history.push(`/webinars/test/${data._id}`);\n };\n\n const onRowClick = (item) => {\n history.push(`/webinars/test/${item._id}`);\n };\n\n return (\n <>\n Управление тестами}\n extra={[\n \n ,\n ,\n ,\n ]}\n onBack={backToList}\n />\n {model?._id > 0 && (\n \n
\n
\n \n
\n
\n
\n
\n Вопросы, пояснения и ответы\n {model?.questions?.length > 0 && (\n \n {model.questions.map((item, idx) => (\n \n не оценивается\n \n ),\n }\n onClick={(ev) => toUp(ev, item.id)}\n />,\n }\n onClick={(ev) => toDown(ev, item.id)}\n />,\n }\n style={{ marginLeft: 48 }}\n onClick={(ev) => {\n ev.stopPropagation();\n setAnsEditor({ visible: true, model: { ...item } });\n }}\n />,\n ].filter(Boolean)}\n >\n
\n \n \n
Вопрос
\n
{item.txt}
\n \n
\n \n \n
Пояснение
\n
{item.desc}
\n \n
\n {item.type === 0 && (\n \n \n \n \n \n \n \n \n \n {item.answers.map((ans, i) => (\n \n \n \n \n \n ))}\n \n
idПравильный ответОтвет
{i + 1}\n {ans.type === 1 ? (\n \n ) : (\n ''\n )}\n {ans.txt}
\n )}\n
\n \n ))}\n
\n )}\n \n \n \n \n \n
\n
\n
\n )}\n\n \n\n setEventsTestId(0)} />\n setPreviewTestId(0)} />\n \n );\n}\n","import React, { useRef, useState } from 'react';\n\nimport { Button, Layout, PageHeader } from 'antd';\nimport dayjs from 'dayjs';\nimport { useHistory } from 'react-router-dom';\n\nimport { EnvironmentOutlined, UsergroupAddOutlined, VideoCameraOutlined } from '@ant-design/icons';\n\nimport { subscribeToChannel, unsubscribeToChannel } from '../../../../api/sio';\nimport apiWebinar3EventList from '../../../../api/Webinar3EventList';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport XDataTable, { xdGetTableUrlByParams } from '../../../components/xdf-antd/XDataTable';\nimport styles from './styles.scss';\nimport { commonColumns, filterFormWebinarsEvents } from './table-defs';\n\nconst DATES_FORMAT = 'DD.MM.YYYY';\n\nexport default function WebinarsEventsList() {\n const history = useHistory();\n\n const tableEmitter = useRef(null);\n const [filter, setFilter] = useState({});\n\n const onSaveEventEmmitter = (ee) => {\n tableEmitter.current = ee;\n tableEmitter.current?.addListener('FILTER-CHANGED', (f) => {\n setFilter(f);\n });\n };\n\n const onRowClick = (item) => {\n history.push(`/webinars/event/edit/${item._id}`);\n };\n\n const addSeminar = () => {\n history.push('/webinars/event/seminar/0');\n };\n const addWebiinar = () => {\n history.push('/webinars/event/webinar/0');\n };\n\n const selectUsersByEvents = async () => {\n const { list } = await apiWebinar3EventList()(1, 10000, filter, ['_id'], '_id', 1);\n const link = xdGetTableUrlByParams('/webinars/users', {\n _eventsIds: list.map((x) => x._id),\n });\n history.push(link);\n };\n\n return (\n <>\n Вебинары и семинары}\n extra={[\n ,\n ,\n ]}\n />\n \n
\n
\n ,\n onClick: selectUsersByEvents,\n tooltip: 'Выбрать пользователей, учавствующих в данных вебинарах',\n },\n ]}\n onSaveEventEmitter={onSaveEventEmmitter}\n // datesFilter={[\n // '$$S#firtsStage.dtStart', // параметр в фильтре \"С\"\n // '$$F#firtsStage.dtStart', // параметр в фильтре \"ДО\"\n // DATES_FORMAT, // формат дат (для передачи)\n // ]}\n // datesPresets={[\n // {\n // label: 'Текущий месяц',\n // dt1: dayjs().date(1).format(DATES_FORMAT),\n // dt2: dayjs().add(1, 'month').date(1).subtract(1, 'day').format(DATES_FORMAT),\n // },\n // {\n // label: 'Прошлый месяц',\n // dt1: dayjs().subtract(1, 'month').date(1).format(DATES_FORMAT),\n // dt2: dayjs().date(1).subtract(1, 'day').format(DATES_FORMAT),\n // },\n // ]}\n urlParamName=\"_e_\"\n // debug={{ filter: true }}\n />\n
\n
\n
\n \n );\n}\n","// Общие колонки, есть на всех видах\n\nimport { XDF_TYPE } from '../../../components/xdf-antd/XDataForm';\nimport {\n WEBINAR3_TYPE,\n WEBINAR3_VIEW_ID2TAG,\n WEBINAR3_STATUS_ID2TAG,\n WEBINAR3_VIEW,\n WEBINAR3_STATUS,\n} from '../webinar_constants';\n\nimport styles from './styles.scss';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const commonColumns = () => ({\n name: null, // 'Кроссы', // название\n props: ['test'], // список полей для запроса к серверу\n columns: [\n {\n prop: '+name',\n name: 'Название мероприятия',\n sort: true,\n nowrap: true,\n className: styles.cellMaxWidth,\n },\n {\n prop: 'firtsStage.dtStart',\n name: 'Старт',\n sort: true,\n type: 'date',\n format: 'DD.MM.YYYY HH:mm',\n nowrap: true,\n },\n {\n prop: '+status',\n name: 'Статус',\n sort: true,\n render: (item, val) => WEBINAR3_STATUS_ID2TAG[val],\n },\n {\n prop: '+view',\n name: 'Вид',\n sort: true,\n render: (item, val) => WEBINAR3_VIEW_ID2TAG[val],\n },\n {\n prop: '+type',\n name: 'Тип',\n sort: true,\n nowrap: true,\n prop2value: [WEBINAR3_TYPE, 'id', 'name'],\n },\n {\n prop: 'test.users',\n name: 'Заявки',\n sort: true,\n align: 'center',\n notNull: true,\n },\n {\n prop: 'test.usersOk',\n name: 'Сдали тест',\n sort: true,\n align: 'center',\n notNull: true,\n },\n {\n prop: 'test.usersErr',\n name: 'Не сдали тест',\n sort: true,\n align: 'center',\n notNull: true,\n },\n {\n prop: 'test.usersPass',\n name: 'Не сдавали',\n sort: true,\n align: 'center',\n notNull: true,\n },\n {\n prop: '+certificate.fileId',\n name: 'Сертификаты',\n sort: true,\n align: 'center',\n render: (item) => {\n if (!item?.certificate?.fileId) return null;\n if (item?.test?.id > 0) return item?.test?.usersOk || null;\n return item?.test?.users || null;\n },\n },\n ],\n});\n\nexport function filterFormWebinarsEvents() {\n return [\n {\n type: XDF_TYPE.TEXT,\n label: 'Название',\n prop: '~~name',\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Вид мероприятия',\n prop: 'view',\n values: WEBINAR3_VIEW,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Статус мероприятия',\n prop: 'status',\n values: WEBINAR3_STATUS,\n },\n {\n type: XDF_TYPE.MULTISELECT,\n label: 'Тип мероприятия',\n prop: 'type',\n values: WEBINAR3_TYPE,\n },\n ];\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Comment, Layout, List, PageHeader } from 'antd';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport { apiPostData } from '../../../../api';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\nimport dayjs from 'dayjs';\n\nexport default function WebinarEventResults1() {\n const history = useHistory();\n const { view, id, taid } = useParams();\n\n const eventId = parseInt(id, 10);\n\n const [model, setModel] = useState({});\n\n const fetchEvent = async (eid, aid) => {\n const data = await apiPostData('/webinars3/event/get/results1', {\n id: eid,\n aid,\n });\n\n setModel(data);\n };\n\n useEffect(() => {\n fetchEvent(eventId, taid);\n }, [view, eventId, taid]);\n\n const backToList = async () => {\n history.goBack();\n };\n\n return (\n <>\n \n Карточка семинара - ответы на свободные вопросы\n \n ) : (\n \n Карточка вебинара - ответы на свободные вопросы\n \n )\n }\n onBack={backToList}\n />\n\n \n
\n
\n

Вопрос

\n
{model.testQuestion}
\n
\n
\n\n
\n
\n (\n \n \n {item.u.lastname} {item.u.firstname} | {item.u.company}, {item.u.status}\n \n }\n description={\n \n {item.u.region}, {item.u.city}, {item.u.email},{' '}\n {dayjs(item.dt).format('DD.MM.YYYY HH:mm')}\n \n }\n />\n {item.ans}\n \n )}\n />\n
\n
\n
\n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"kybLoginDlg\":\"kybLoginDlg__btfbM\",\"msg\":\"msg__V4ort\",\"dmsg\":\"dmsg__JtdOJ\",\"footer\":\"footer__s85jc\",\"err1\":\"err1__X_1pQ\",\"err2\":\"err2__KwcsY\"};","import React, { useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport XDataForm, { XDF_TYPE } from '../../xdf-antd/XDataForm';\nimport styles from './styles.scss';\n\nfunction KybLoginPhoneDialog({ visible, onSendPhone }) {\n const [model, setModel] = useState({});\n\n const onChangeModel = (m) => {\n setModel({ ...m });\n };\n\n const sendPhone = () => {\n onSendPhone(model.phone);\n };\n\n return (\n \n

\n Вход в сервисы \n

\n
Для входа или регистрации введите номер мобильного телефона
\n \n
\n Нажав на кнопку \"Получить код\" или иным образом используя данный интернет сервис, вы\n подтверждаете , что прочитали, поняли и согласны с Условиями использования и{' '}\n Политикой конфиденциальности\n
\n
\n \n
\n \n );\n}\n\nKybLoginPhoneDialog.defaultProps = {};\n\nKybLoginPhoneDialog.propTypes = {\n visible: PropTypes.bool.isRequired,\n onSendPhone: PropTypes.func.isRequired,\n};\n\nexport default KybLoginPhoneDialog;\n","import React, { useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport XDataForm, { XDF_TYPE } from '../../xdf-antd/XDataForm';\nimport styles from './styles.scss';\n\nfunction KybLoginSmsCodeDialog({ visible, onCodeCheck, errCode, codeType }) {\n const [model, setModel] = useState({});\n\n const onChangeModel = (m) => {\n setModel({ ...m });\n };\n\n const codeCheck = () => {\n onCodeCheck(model.smsCode);\n };\n\n return (\n \n

\n Вход в сервисы \n

\n {codeType === 'call' && (\n
\n На указанный вами номер будет произведен звонок, поднимите трубку и прослушайте код для входа.\n
\n )}\n {codeType === 'sms' && (\n
\n На указанный вами номер будет выслана СМС с кодом для входа.\n
\n )}\n\n \n {errCode &&
Неверный SMS-код
}\n\n
\n Среднее время получения звонка с кодом около 5 минут. Новый код можно запросить через 24\n часа.\n
\n
\n Решить возникшие вопросы с авторизацией и завершить её вы можете, связавшись с менеджерами\n KYB.\n
\n
\n \n
\n \n );\n}\n\nKybLoginSmsCodeDialog.defaultProps = {\n example: null,\n codeType: 'call',\n};\n\nKybLoginSmsCodeDialog.propTypes = {\n visible: PropTypes.bool.isRequired,\n onCodeCheck: PropTypes.func.isRequired,\n codeType: PropTypes.string,\n};\n\nexport default KybLoginSmsCodeDialog;\n","import React, { useEffect, useState } from 'react';\n\nimport { message } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { apiPost } from '../../../../api/index';\nimport KybLoginPhoneDialog from './KybLoginPhoneDialog';\nimport KybLoginSmsCodeDialog from './KybLoginSmsCodeDialog';\n\nfunction KybLoginDialog({ visible, onAuthSuccess }) {\n const [phoneDlgVisible, setPhoneDlgVisible] = useState(false);\n const [codeDlgVisible, setCodeDlgVisible] = useState(false);\n const [codeType, setCodeType] = useState('');\n\n const [errCode, setErrCode] = useState(false);\n\n const [phoneNumber, setPhoneNumber] = useState('');\n\n useEffect(() => {\n if (visible) {\n setCodeDlgVisible(false);\n setPhoneDlgVisible(true);\n }\n }, [visible]);\n\n const onSendPhone = async (phone) => {\n const { err, errmsg, data } = await apiPost('/auth/phone/send', { phone });\n if (err) {\n message.error(errmsg || `Net error: ${err}`);\n } else {\n setCodeType(data.codeType);\n setPhoneDlgVisible(false);\n setCodeDlgVisible(true);\n setPhoneNumber(phone);\n }\n };\n\n const onCodeCheck = async (code) => {\n const { err, errmsg, data } = await apiPost('/auth/code/check', { phone: phoneNumber, code });\n if (err) {\n if (err === 105) {\n setErrCode(true);\n } else {\n message.error(errmsg || `Net error: ${err}`);\n }\n } else if (onAuthSuccess) {\n setCodeDlgVisible(false);\n onAuthSuccess(data);\n } else document.location.reload();\n };\n\n return (\n <>\n \n \n \n );\n}\n\nKybLoginDialog.defaultProps = {\n onAuthSuccess: null,\n};\n\nKybLoginDialog.propTypes = {\n visible: PropTypes.bool.isRequired,\n onAuthSuccess: PropTypes.func,\n};\n\nexport default KybLoginDialog;\n","import { XDF_TYPE } from '../../components/xdf-antd/XDataForm';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const USER_XD_FORM = (disableEnterPhone, hidePhoneNumber = false) =>\n [\n {\n type: XDF_TYPE.TEXT,\n label: 'Фамилия',\n prop: 'lastname',\n placeholder: 'Введите вашу фамилию',\n require: true,\n autoFocus: true,\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Имя',\n prop: 'firstname',\n placeholder: 'Введите ваше имя',\n require: true,\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Компания',\n prop: 'company',\n placeholder: 'Укажите компанию',\n require: true,\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Должность',\n prop: 'status',\n placeholder: 'Укажите должность',\n require: true,\n span: 24,\n },\n !hidePhoneNumber && {\n type: XDF_TYPE.PHONE,\n label: 'Номер вашего телефона',\n prop: 'phone',\n placeholder: '(999) 999-99-99',\n require: true,\n span: 24,\n readOnly: disableEnterPhone,\n },\n {\n type: XDF_TYPE.EMAIL,\n label: 'E-mail',\n prop: 'email',\n placeholder: 'boxname@mail.com',\n require: true,\n span: 24,\n },\n {\n type: XDF_TYPE.SELECT,\n label: 'Ваш регион',\n prop: 'region',\n placeholder: 'Выберите ваш регион',\n values: [\n {\n id: 'Россия',\n name: 'Россия',\n },\n {\n id: 'Казахстан',\n name: 'Казахстан',\n },\n {\n id: 'Беларусь',\n name: 'Беларусь',\n },\n {\n id: 'Армения',\n name: 'Армения',\n },\n {\n id: 'Киргизия',\n name: 'Киргизия',\n },\n ],\n require: true,\n span: 24,\n },\n {\n type: XDF_TYPE.TEXT,\n label: 'Город',\n prop: 'city',\n placeholder: 'Укажите ваш город',\n require: true,\n span: 24,\n },\n ].filter(Boolean);\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\nimport { isBrowser } from 'react-device-detect';\n\nimport { apiPostData } from '../../../api';\nimport apiMeGet from '../../../api/MeGet';\nimport XDataForm from '../../components/xdf-antd/XDataForm';\nimport { USER_XD_FORM } from './user-form';\n\nfunction Webinars3UserForm({ visible, onSuccess, onClose }) {\n const [showDialog, setShowDialog] = useState(false);\n const [disableEnterPhone, setDisableEnterPhone] = useState(false);\n\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n const fetchUser = async () => {\n const { me } = await apiMeGet();\n if (me?._id > 0 && me.phone) {\n console.log('me', me);\n setModel({\n ...model,\n phone: me.phone,\n });\n setDisableEnterPhone(true);\n }\n setShowDialog(true);\n };\n\n useEffect(() => {\n if (visible) fetchUser();\n\n if (showDialog && !visible) {\n setShowDialog(false);\n }\n }, [visible]);\n\n const onChangeModel = (m, ism) => {\n setModel(m);\n setIsModelChanged(ism);\n };\n\n const onSaveForm = async () => {\n await apiPostData('/webinars3/user/save', {\n ...model,\n timezone: dayjs().format('Z'),\n });\n onSuccess();\n };\n\n return (\n \n Сохранить\n \n }\n >\n \n \n );\n}\n\nWebinars3UserForm.defaultProps = {};\n\nWebinars3UserForm.propTypes = {\n visible: PropTypes.bool.isRequired,\n onSuccess: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default Webinars3UserForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"main__PJhpG\",\"mobi\":\"mobi__sMj3w\",\"container\":\"container__qrtmI\",\"subh1\":\"subh1__EcS5V\",\"form\":\"form__DF9oX\",\"link\":\"link__ohfZI\",\"footer\":\"footer__Motc_\",\"eventsList\":\"eventsList__hmny5\",\"eventBlk\":\"eventBlk__iYgdu\",\"title\":\"title__2ZZpX\",\"coach\":\"coach__I3b49\",\"dates\":\"dates__IqoXY\",\"sel\":\"sel__AIp6O\"};","import React, { useEffect, useState } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nimport Logo from '../../../assets/svg/kyb-logo2.svg';\nimport { BrowserView, MobileView } from 'react-device-detect';\nimport { Button } from 'antd';\nimport { CloseOutlined, MenuOutlined } from '@ant-design/icons';\n\nfunction Webinars3ConnectHeader() {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n <>\n \n
\n \n
\n
\n\n \n
\n \n \n \n \n : }\n onClick={() => setShowMenu(!showMenu)}\n />\n \n
\n {showMenu && (\n \n )}\n
\n \n );\n}\n\nWebinars3ConnectHeader.defaultProps = {};\n\nWebinars3ConnectHeader.propTypes = {};\n\nexport default Webinars3ConnectHeader;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Modal } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\n/**\n * @param {*} result\n * =1 - OK\n * =2 - Email\n * =3 - UserBlocked\n * @returns\n */\nfunction Webinars3StopDialogs({ result }) {\n const [okDialog, setOkDialog] = useState(false);\n const [emailDialog, setEmailDialog] = useState(false);\n\n useEffect(() => {\n if (result > 0) {\n // eslint-disable-next-line default-case\n switch (result) {\n case 1:\n setOkDialog(true);\n break;\n case 2:\n setEmailDialog(true);\n break;\n }\n }\n }, [result]);\n\n const onOk = () => {\n document.location.replace('/');\n };\n\n return (\n <>\n Ok}\n closable={false}\n >\n
\n Ваша заявка на участие принята. Отменить запись или изменить ваши контакты вы можете в\n личном кабинете. Ссылка на вебинар, будет отправлена на ваш e-mail.\n
\n \n\n Ok}\n closable={false}\n >\n
\n Для завершения регистрации на вебинар, необходимо подтвердить ваш Е-mail. Мы выслали на\n указанный вами Е-mail письмо с подтверждением. Пожалуйста, проверьте вашу электронную\n почту.\n
\n Изменить указанный E-mail можно в личном кабинете\n
\n \n \n );\n}\n\nWebinars3StopDialogs.defaultProps = {};\n\nWebinars3StopDialogs.propTypes = {\n result: PropTypes.number.isRequired,\n};\n\nexport default Webinars3StopDialogs;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Checkbox, Tag } from 'antd';\nimport dayjs from 'dayjs';\nimport queryString from 'query-string';\nimport { useLocation } from 'react-router-dom';\nimport Hashids from 'hashids';\nimport { apiPostData } from '../../../api';\nimport KybLoginDialog from '../../components/Dialogs/KybLoginDialog/KybLoginDialog';\nimport XDataForm, { XDF_TYPE } from '../../components/xdf-antd/XDataForm';\nimport {\n WEBINAR3_TYPE,\n WEBINAR3_TYPES_ID2NAME,\n WEBINAR3_VIEW,\n} from '../../pages/Webinars/webinar_constants';\nimport Webinars3UserForm from '../Common/Webinars3UserForm';\nimport styles from './styles.scss';\nimport Webinars3ConnectHeader from './Webinars3ConnectHeader';\nimport Webinars3StopDialogs from './Webinars3StopDialogs';\n\nexport default function Webinars3ConnectHome() {\n const location = useLocation();\n const qs = queryString.parse(location.search);\n\n const [loginDialogVisible, setLoginDialogVisible] = useState(false);\n const [showUserForm, setShowUserForm] = useState(false);\n\n const [model, setModel] = useState({ view: 1 });\n const [sendBtnDisable, setSendBtnDisable] = useState(false);\n const [eventsList, setEventsList] = useState([]);\n const [selectedEventIds, setSelectedEventIds] = useState([]);\n const [showResultDialog, setShowResultDialog] = useState(0);\n const [preselected, setPreselected] = useState(0);\n\n const fetchList = async () => {\n const { list } = await apiPostData('/webinars3/event/public/list');\n setEventsList(list);\n };\n\n const addUserToEvents = async () => {\n if (selectedEventIds.length > 0) {\n const { result } = await apiPostData('/webinars3/user/add', { eventIds: selectedEventIds });\n setShowResultDialog(result);\n } else {\n document.location.replace('/');\n }\n };\n\n useEffect(() => {\n // set #app\n document.getElementById('app').style['background-color'] = '#ffffff';\n fetchList();\n }, []);\n\n useEffect(() => {\n if (qs?.ev) {\n const hashids = new Hashids();\n const eventIds = hashids.decode(qs.ev);\n if (eventIds.length === 2) {\n setModel({\n ...model,\n view: eventIds[0],\n });\n setSelectedEventIds([...selectedEventIds, eventIds[1]]);\n setPreselected(eventIds[1]);\n }\n }\n }, [qs?.ev]);\n\n const onChangeModel = (m) => {\n setModel(m);\n };\n\n const onShowLoginDialog = () => {\n setSendBtnDisable(true);\n setLoginDialogVisible(true);\n };\n\n const onAuthSuccess = (data) => {\n if (data?.webinarUser?.state !== 1) {\n // show user form\n setShowUserForm(true);\n } else {\n setLoginDialogVisible(false);\n //\n addUserToEvents();\n }\n };\n\n const onSuccessUserForm = async () => {\n addUserToEvents();\n };\n\n const onCloseUserForm = () => {\n document.location.reload();\n };\n\n const onSelectEvent = (e, eventId) => {\n if (e.target.checked) {\n setSelectedEventIds([...selectedEventIds, eventId]);\n } else {\n setSelectedEventIds([...selectedEventIds.filter((id) => !eventId)]);\n }\n };\n // console.log(selectedEventIds);\n\n return (\n
\n \n
\n

РЕГИСТРАЦИЯ НА МЕРОПРИЯТИЯ KYB

\n
\n ООО «КУБ Евразия» – представительство KYB в России и странах Таможенного Союза\n
\n\n
\n {preselected === 0 && (\n \n )}\n\n
\n {preselected === 0 &&
Выбор интересующего мероприятия
}\n
\n {(eventsList || [])\n .filter((ev) => {\n const types = model.type || [];\n if (types.length === 0 && ev.view === model.view) return true;\n if (\n ev.view === model.view &&\n types.filter((v) => (ev.type || []).includes(v)).length > 0\n )\n return true;\n return false;\n })\n .filter((ev) => {\n if (preselected === 0) return true;\n return ev._id === preselected;\n })\n .map((event) => (\n
\n
\n {event.type.map((t) => (\n \n {WEBINAR3_TYPES_ID2NAME[t]}\n \n ))}\n
\n
{event.name}
\n {event.coach &&
Тренер: {event.coach}
}\n
\n {dayjs(event.firtsStage.dtStart).format('DD MMMM YYYY, HH:mm')} ..\n {dayjs(event.lastStage.dtEnd).format('DD MMMM YYYY, HH:mm')}\n
\n
\n onSelectEvent(e, event._id)}\n checked={selectedEventIds.includes(event._id)}\n >\n Интересует\n \n
\n
\n ))}\n
\n
\n
\n \n

\n Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c\n её политикой\n

\n
\n
\n
\n\n \n \n \n
\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__DNuKY\",\"contextHolder\":\"contextHolder__G5zdt\",\"context\":\"context__b7CLO\",\"header\":\"header__ycxHo\",\"full\":\"full__Tkr9g\",\"body\":\"body__veOcV\",\"desc\":\"desc__aM2L_\",\"qBlk\":\"qBlk__B7m5Z\",\"txt\":\"txt__bbNW8\",\"ans\":\"ans__tsM8O\",\"footer\":\"footer__bNRE5\"};","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__V1gD7\",\"contextHolder\":\"contextHolder__bfQDP\",\"context\":\"context__wcDTY\",\"header\":\"header__yfvkY\",\"title\":\"title__CjCAo\",\"status\":\"status__EmAjx\",\"testDtEnd\":\"testDtEnd__rne2k\",\"full\":\"full__AO2K5\",\"body\":\"body__MFqoQ\",\"stage\":\"stage__lwPOT\",\"footer\":\"footer__eg0_Y\",\"view\":\"view__u2cxM\",\"type\":\"type__olesm\",\"actions\":\"actions__vG_Zq\"};","import React from 'react';\n\nimport { Button, Tag, Typography } from 'antd';\nimport cn from 'classnames';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\nimport { isBrowser } from 'react-device-detect';\nimport { useHistory } from 'react-router-dom';\n\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport {\n WEBINAR3_STATUS_ID2TAG,\n WEBINAR3_TYPES_ID2NAME,\n WEBINAR3_VIEW_ID2TAG,\n} from '../../../pages/Webinars/webinar_constants';\nimport styles from './styles.scss';\nimport { apiPostData } from '../../../../api';\n\nfunction W3EventCard({ event }) {\n const history = useHistory();\n\n const startTest = async () => {\n const res = await warningDialog(\n 'Прохождение теста',\n 'На сдачу теста дается одна попытка. Если вы сейчас перейдет по ссылке, то вам нужно будет его пройти. Отменить сдачу уже будет нельзя. ',\n [{ label: 'Отмена' }, { label: 'Начать сдачу теста' }],\n );\n\n if (res === 1) {\n history.push(`/test/run/${event._id}`);\n }\n };\n\n const removeTest = async () => {\n const res = await warningDialog(\n 'Удалить запись?',\n 'Удаленную запись нельзя будет восстановить.',\n [{ label: 'Отмена' }, { label: 'Удалить' }],\n );\n\n if (res === 1) {\n // remove me from event\n await apiPostData('/webinars3/user/remove/me/from/event', { eventId: event._id });\n history.push('/events/available');\n }\n };\n\n return (\n
\n
\n
{event.name}
\n {!isBrowser &&
{WEBINAR3_STATUS_ID2TAG[event.status]}
}\n\n {event.test?.id > 0 && event.test && (\n
\n Сдача теста доступна до {dayjs(event.test.dtEnd).format('HH:mm, DD.MM.YYYY')}\n
\n )}\n {isBrowser &&
{WEBINAR3_STATUS_ID2TAG[event.status]}
}\n
\n
\n {event.coach &&
Тренер: {event.coach}
}\n {event.stages?.length > 0 && (\n
\n {event.stages.map((stage, idx) => (\n
\n
\n Этап - {idx + 1} {dayjs(stage.dtStart).format('DD.MM.YYYY с HH:mm')} по{' '}\n {dayjs(stage.dtEnd).format('HH:mm')}\n
\n {stage.link && (\n \n \n {dayjs(stage.dtEnd).isBefore(dayjs())\n ? 'Ссылка на запись вебинара'\n : 'Ссылка на трансляцию вебинара'}\n \n \n )}\n
\n ))}\n
\n )}\n
\n
\n
{WEBINAR3_VIEW_ID2TAG[event.view]}
\n
\n {event.type.map((t) => (\n \n {WEBINAR3_TYPES_ID2NAME[t]}\n \n ))}\n
\n\n
\n \n\n {dayjs().isAfter(dayjs(event.test.dtStart)) && dayjs().isBefore(dayjs(event.test.dtEnd)) && (\n \n )}\n
\n
\n
\n );\n}\n\nW3EventCard.defaultProps = {};\n\nW3EventCard.propTypes = {\n event: PropTypes.shape({\n name: PropTypes.string.isRequired,\n status: PropTypes.number,\n view: PropTypes.number,\n type: PropTypes.arrayOf(PropTypes.number),\n coach: PropTypes.string,\n test: PropTypes.shape({\n dtStart: PropTypes.string,\n dtEnd: PropTypes.string,\n id: PropTypes.number,\n }),\n stages: PropTypes.arrayOf(\n PropTypes.shape({\n dtStart: PropTypes.string,\n dtEnd: PropTypes.string,\n link: PropTypes.string,\n }),\n ),\n }).isRequired,\n};\n\nexport default W3EventCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__qrdTm\",\"contextHolder\":\"contextHolder__Da18B\",\"context\":\"context__xvT6p\",\"header\":\"header__rRP55\",\"title\":\"title___3iue\",\"status\":\"status__e9Tn4\",\"testDtEnd\":\"testDtEnd__IJvhe\",\"full\":\"full__sIqQA\",\"body\":\"body__yxzvj\",\"stage\":\"stage__sS6Gm\",\"footer\":\"footer__kAGOh\",\"view\":\"view__gkEuT\",\"type\":\"type__olxXq\"};","import React from 'react';\n\nimport { Button, Tag, Typography } from 'antd';\nimport cn from 'classnames';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\nimport { isBrowser } from 'react-device-detect';\nimport { useHistory } from 'react-router-dom';\n\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport {\n WEBINAR3_STATUS_ID2TAG,\n WEBINAR3_TYPES_ID2NAME,\n WEBINAR3_VIEW_ID2TAG,\n} from '../../../pages/Webinars/webinar_constants';\nimport styles from './styles.scss';\nimport { apiPostData } from '../../../../api';\n\nfunction W3AvailableEventCard({ event }) {\n const history = useHistory();\n\n const addUserToEvent = async () => {\n const res = await warningDialog(\n 'Записаться на вебинар',\n 'Записаться на прохождение вебинара?',\n [{ label: 'Отмена' }, { label: 'Записаться' }],\n );\n\n if (res === 1) {\n await apiPostData('/webinars3/user/add', { eventIds: [event._id] });\n history.push('/events/active');\n }\n };\n\n return (\n
\n
\n
{event.name}
\n {!isBrowser &&
{WEBINAR3_STATUS_ID2TAG[event.status]}
}\n\n {event.test?.id > 0 && event.test && (\n
\n Сдача теста доступна до {dayjs(event.test.dtEnd).format('HH:mm, DD.MM.YYYY')}\n
\n )}\n {isBrowser &&
{WEBINAR3_STATUS_ID2TAG[event.status]}
}\n
\n
\n {event.coach &&
Тренер: {event.coach}
}\n {event.stages?.length > 0 && (\n
\n {event.stages.map((stage, idx) => (\n
\n
\n Этап - {idx + 1} {dayjs(stage.dtStart).format('DD.MM.YYYY с HH:mm')} по{' '}\n {dayjs(stage.dtEnd).format('HH:mm')}\n
\n {stage.link && (\n \n \n {dayjs(stage.dtEnd).isBefore(dayjs())\n ? 'Ссылка на запись вебинара'\n : 'Ссылка на трансляцию вебинара'}\n \n \n )}\n
\n ))}\n
\n )}\n
\n
\n
{WEBINAR3_VIEW_ID2TAG[event.view]}
\n
\n {event.type.map((t) => (\n \n {WEBINAR3_TYPES_ID2NAME[t]}\n \n ))}\n
\n\n \n
\n
\n );\n}\n\nW3AvailableEventCard.defaultProps = {};\n\nW3AvailableEventCard.propTypes = {\n event: PropTypes.shape({\n name: PropTypes.string.isRequired,\n status: PropTypes.number,\n view: PropTypes.number,\n type: PropTypes.arrayOf(PropTypes.number),\n coach: PropTypes.string,\n test: PropTypes.shape({\n dtEnd: PropTypes.string,\n id: PropTypes.number,\n }),\n stages: PropTypes.arrayOf(\n PropTypes.shape({\n dtStart: PropTypes.string,\n dtEnd: PropTypes.string,\n link: PropTypes.string,\n }),\n ),\n }).isRequired,\n};\n\nexport default W3AvailableEventCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__pVDv_\",\"contextHolder\":\"contextHolder__oH0Vc\",\"context\":\"context__iExP_\",\"header\":\"header__KYywg\",\"title\":\"title___hFXn\",\"status\":\"status__hQ_Zx\",\"testDtEnd\":\"testDtEnd__PEez7\",\"full\":\"full__OkwXz\",\"body\":\"body__M0oYf\",\"stage\":\"stage__hRCfc\",\"footer\":\"footer__KAP_S\",\"view\":\"view___w69V\",\"type\":\"type__wHnem\"};","import React from 'react';\n\nimport { Button, Tag, Typography } from 'antd';\nimport cn from 'classnames';\nimport dayjs from 'dayjs';\nimport PropTypes from 'prop-types';\nimport { isBrowser } from 'react-device-detect';\nimport { useRecoilValue } from 'recoil';\n\nimport { CheckCircleOutlined, EyeOutlined } from '@ant-design/icons';\n\nimport { meState } from '../../../../state/panel-state';\nimport {\n WEBINAR3_TYPES_ID2NAME,\n WEBINAR3_VIEW_ID2TAG,\n} from '../../../pages/Webinars/webinar_constants';\nimport styles from './styles.scss';\n\nfunction W3FinishedEventCard({ event, test }) {\n const me = useRecoilValue(meState);\n\n const onShowCertificate = () => {\n window.open(`/api/1/certificate/view/${event._id}/${me._id}`);\n };\n\n return (\n
\n
\n
{event.name}
\n {event.test?.id > 0 && (\n
\n {test?.done === 1 && (\n } color={test?.success && 'success'}>\n {test?.success ? 'Тест пройден' : 'Тест не сдан'}\n \n )}\n {test?.done !== 1 && }>Тест не сдавался}\n
\n )}\n
\n
\n {event.coach &&
Тренер: {event.coach}
}\n {event.stages?.length > 0 && (\n
\n {event.stages.map((stage, idx) => (\n
\n
\n Этап - {idx + 1} {dayjs(stage.dtStart).format('DD.MM.YYYY с HH:mm')} по{' '}\n {dayjs(stage.dtEnd).format('HH:mm')}\n
\n {stage.link && (\n \n \n {dayjs(stage.dtEnd).isBefore(dayjs())\n ? 'Ссылка на запись вебинара'\n : 'Ссылка на трансляцию вебинара'}\n \n \n )}\n
\n ))}\n
\n )}\n
\n
\n
{WEBINAR3_VIEW_ID2TAG[event.view]}
\n
\n {event.type.map((t) => (\n \n {WEBINAR3_TYPES_ID2NAME[t]}\n \n ))}\n
\n\n {event?.certificate?.fileId && (test?.success || !(event?.test?.id > 0)) ? (\n \n ) : (\n \n )}\n
\n
\n );\n}\n\nW3FinishedEventCard.defaultProps = {\n test: null,\n};\n\nW3FinishedEventCard.propTypes = {\n event: PropTypes.shape({\n name: PropTypes.string.isRequired,\n status: PropTypes.number,\n view: PropTypes.number,\n type: PropTypes.arrayOf(PropTypes.number),\n coach: PropTypes.string,\n test: PropTypes.shape({\n dtEnd: PropTypes.string,\n id: PropTypes.number,\n }),\n stages: PropTypes.arrayOf(\n PropTypes.shape({\n dtStart: PropTypes.string,\n dtEnd: PropTypes.string,\n link: PropTypes.string,\n }),\n ),\n certificate: PropTypes.shape({\n fileId: PropTypes.string,\n }),\n }).isRequired,\n test: PropTypes.shape({\n success: PropTypes.bool,\n done: PropTypes.number,\n }),\n};\n\nexport default W3FinishedEventCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__yB6Fw\",\"web3MainFrame\":\"web3MainFrame__sAzwH\",\"logo\":\"logo__YTPQc\",\"fio\":\"fio___le_0\",\"mobi\":\"mobi__HxY3z\",\"left\":\"left__hE9Mu\",\"right\":\"right__j5Yy3\",\"mobiDrawer\":\"mobiDrawer__OQ4RI\"};","// extracted by mini-css-extract-plugin\nexport default {\"pageHeader\":\"pageHeader__Lm80r\",\"contextHolder\":\"contextHolder__uhWDM\",\"context\":\"context__FDl3y\"};","import React, { useEffect, useState } from 'react';\n\nimport { Button, Drawer, Layout, Menu, Space } from 'antd';\nimport { BrowserView, MobileView } from 'react-device-detect';\nimport { Redirect, Route, Switch, useHistory, matchPath, useLocation } from 'react-router-dom';\nimport { useRecoilValue } from 'recoil';\n\nimport {\n CloseOutlined,\n FileProtectOutlined,\n LogoutOutlined,\n MenuOutlined,\n UserOutlined,\n VideoCameraOutlined,\n} from '@ant-design/icons';\n\nimport KybLogoIcon from '../../../assets/svg/kyb-logo.svg';\nimport { meState } from '../../../state/panel-state';\nimport W3TestRun from '../W3Test/Run/W3TestRun';\nimport WebinarEventsActiveList from '../WebinarEvents/Active/WebinarEventsActiveList';\nimport WebinarEventsAvailableList from '../WebinarEvents/Available/WebinarEventsAvailableList';\nimport WebinarEventsFinishedList from '../WebinarEvents/Finished/WebinarEventsFinishedList';\nimport styles from './styles.scss';\nimport Webinars3UserLogout from './Webinars3UserLogout';\nimport Webinars3UserProfile from '../Home/Webinars3UserProfile';\n\nfunction getItem(label, key, icon, children) {\n return {\n key,\n icon,\n children,\n label,\n };\n}\n\nconst items = [\n getItem('Мои вебинары и семинары', 'events', , [\n getItem('Активные записи', 'active'),\n getItem('Доступные для записи', 'available'),\n getItem('Завершённые', 'finished'),\n ]),\n // getItem('Мои сертификаты', 'certificates', ),\n {\n type: 'divider', // Must have\n },\n getItem('Профиль', 'profile', ),\n getItem('Выход', 'logout', ),\n];\n\nconst routes = [\n // ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n];\n\nfunction Webinars3MainForm() {\n const history = useHistory();\n const location = useLocation();\n\n const me = useRecoilValue(meState);\n const [mobiLeftMenuVisible, setMobiLeftMenuVisible] = useState(false);\n const [selectedMenu, setSelectedMenu] = useState(['active']);\n\n useEffect(() => {\n routes.forEach((r) => {\n if (matchPath(location.pathname, r.props.path)) {\n setSelectedMenu(r.key.split('_'));\n }\n });\n }, [location?.pathname]);\n\n const onMenuSelect = ({ keyPath }) => {\n const url = keyPath.reverse().join('/');\n history.push(`/${url}`);\n setMobiLeftMenuVisible(false);\n };\n\n return (\n <>\n \n \n \n
\n \n
\n \n
\n \n \n \n {me?.webinarUser?.lastname} {me?.webinarUser?.firstname}\n \n \n \n {routes}\n
\n \n \n \n\n \n \n \n \n
\n \n
\n
\n }\n onClick={() => setMobiLeftMenuVisible(!mobiLeftMenuVisible)}\n />\n
\n
\n\n \n {routes}\n \n
\n
\n\n setMobiLeftMenuVisible(false)}\n visible={mobiLeftMenuVisible}\n closable={false}\n extra={\n \n }\n onClick={() => setMobiLeftMenuVisible(!mobiLeftMenuVisible)}\n />\n \n }\n bodyStyle={{ padding: 0 }}\n contentWrapperStyle={{ width: '90%' }}\n headerStyle={{ padding: '12px 12px 12px 24px' }}\n >\n \n \n
\n \n );\n}\n\nWebinars3MainForm.defaultProps = {};\n\nWebinars3MainForm.propTypes = {};\n\nexport default Webinars3MainForm;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, Layout, PageHeader } from 'antd';\nimport dayjs from 'dayjs';\nimport { useRecoilValue } from 'recoil';\n\nimport { apiPostData } from '../../../api';\nimport { meState } from '../../../state/panel-state';\nimport XDataForm from '../../components/xdf-antd/XDataForm';\nimport { USER_XD_FORM } from '../Common/user-form';\nimport styles from './styles.scss';\n\nexport default function Webinars3UserProfile() {\n const me = useRecoilValue(meState);\n\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n setModel({ ...me.webinarUser });\n }, [me?.webinarUser?.phone]);\n\n const onChangeModel = (m, ism) => {\n setModel(m);\n setIsModelChanged(ism);\n };\n\n const onSaveForm = async () => {\n await apiPostData('/webinars3/user/save', {\n ...model,\n timezone: dayjs().format('Z'),\n });\n setIsModelChanged(false);\n };\n\n return (\n <>\n \n Сохранить\n \n }\n />\n \n
\n
\n \n
\n
\n
\n \n );\n}\n","import React, { useEffect } from 'react';\n\nimport { Spin } from 'antd';\n\nimport { apiPostData } from '../../../api';\n\nexport default function Webinars3UserLogout() {\n useEffect(async () => {\n await apiPostData('/auth/logout');\n document.location.reload();\n }, []);\n return (\n
\n \n
\n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Layout } from 'antd';\n\nimport { apiPostData } from '../../../../api';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\nimport W3EventCard from './W3EventCard';\n\nexport default function WebinarEventsActiveList() {\n const [eventsList, setEventsList] = useState([]);\n\n const fetchList = async () => {\n const { list } = await apiPostData('/webinars3/user/event/list');\n setEventsList(list);\n };\n\n useEffect(() => {\n fetchList();\n }, []);\n\n return (\n <>\n
\n Мои записи на вебинары, семинары\n
\n\n \n
\n {eventsList.map((it) => (\n \n ))}\n
\n
\n \n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Button, Checkbox, Input, Layout } from 'antd';\nimport cn from 'classnames';\nimport dayjs from 'dayjs';\nimport { isBrowser } from 'react-device-detect';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport { ArrowLeftOutlined } from '@ant-design/icons';\n\nimport { apiPostData } from '../../../../api';\nimport { warningDialog } from '../../../components/Common/WarningDialog';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\n\nexport default function W3TestRun() {\n const history = useHistory();\n const { eventId } = useParams();\n\n const [model, setModel] = useState({});\n const [result, setResult] = useState({});\n\n const fetchList = async () => {\n const { test } = await apiPostData('/webinars3/user/test/run', {\n eventId: parseInt(eventId, 10),\n });\n setModel(test);\n };\n\n useEffect(() => {\n fetchList();\n }, []);\n\n const onAnsTheQuestion = ({ target }, questionId, ansId) => {\n const { checked } = target;\n setResult({\n ...result,\n [`${questionId}.${ansId}`]: checked,\n });\n };\n\n const onFreeAns = ({ target }, questionId) => {\n const { value } = target;\n setResult({\n ...result,\n [`${questionId}`]: value,\n });\n };\n\n const sendTest = async () => {\n const res = await warningDialog(\n 'Отправить на проверку',\n 'Отменить это действие будет нельзя. Завершить сдачу теста и отправить его на проверку?',\n [{ label: 'Отмена' }, { label: 'Отправить' }],\n );\n\n if (res === 1) {\n // create & save\n const extRes = {\n eventId: parseInt(eventId, 10),\n questions: [],\n };\n\n for (const q of model.questions) {\n if (q.type === 0) {\n const answers = [];\n for (const ans of q.answers) {\n answers.push({\n id: ans.id,\n v: result[`${q.id}.${ans.id}`] ? 1 : 0,\n });\n }\n\n extRes.questions.push({\n id: q.id,\n type: q.type,\n answers,\n });\n } else if (q.type === 1) {\n extRes.questions.push({\n id: q.id,\n type: q.type,\n answer: result[`${q.id}`],\n });\n }\n }\n\n await apiPostData('/webinars3/user/test/done', {\n eventId: parseInt(eventId, 10),\n data: extRes,\n });\n\n history.replace('/events/finished');\n }\n };\n\n return (\n <>\n
\n \n \n )}\n
\n\n \n
\n
\n
\n

{model.name}

\n
сдать можно до {dayjs(model.dtEnd).format('HH:mm, DD MMMM YYYY')}
\n
\n
\n
{model.desc}
\n {(model.questions || []).map((question, i) => (\n
\n

ВОПРОС {i + 1}

\n
{question.txt}
\n
{question.desc}
\n {question.type === 0 && (\n
\n {(question.answers || []).map((ans) => (\n
\n onAnsTheQuestion(e, question.id, ans.id)}>\n {ans.txt}\n \n
\n ))}\n
\n )}\n {question.type === 1 && (\n
\n onFreeAns(e, question.id)}\n value={result[question.id]}\n maxLength={1000}\n />\n
\n )}\n
\n ))}\n
\n {!isBrowser && (\n
\n \n
\n )}\n
\n
\n
\n \n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Layout } from 'antd';\n\nimport { apiPostData } from '../../../../api';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\nimport W3FinishedEventCard from './W3FinishedEventCard';\n\nexport default function WebinarEventsFinishedList() {\n const [eventsList, setEventsList] = useState([]);\n\n const fetchList = async () => {\n const { list } = await apiPostData('/webinars3/user/event/list', { state: 1 });\n setEventsList(list);\n };\n\n useEffect(() => {\n fetchList();\n }, []);\n\n return (\n <>\n
\n \n Завершённые вебинары, семинары. Полученные сертификаты.\n \n
\n\n \n
\n {eventsList.map((it) => (\n \n ))}\n
\n
\n \n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Layout } from 'antd';\n\nimport { apiPostData } from '../../../../api';\nimport GTooltip from '../../../components/GTooltip/GTooltip';\nimport styles from './styles.scss';\nimport W3AvailableEventCard from './W3AvailableEventCard';\n\nexport default function WebinarEventsAvailableList() {\n const [eventsList, setEventsList] = useState([]);\n\n const fetchList = async () => {\n const { list } = await apiPostData('/webinars3/user/event/list', { state: 2 });\n setEventsList(list);\n };\n\n useEffect(() => {\n fetchList();\n }, []);\n\n return (\n <>\n
\n \n Доступные для записи вебинары, семинары\n \n
\n\n \n
\n {eventsList.map((it) => (\n \n ))}\n
\n
\n \n );\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { useRecoilValue } from 'recoil';\n\nimport { meState } from '../../../state/panel-state';\nimport Webinars3ConnectHome from '../Home-Public/Webinars3ConnectHome';\nimport Webinars3MainForm from './Webinars3MainFrame';\nimport Webinars3UserForm from './Webinars3UserForm';\n\nexport default function Webinars3Connect() {\n const me = useRecoilValue(meState);\n\n const [showUserForm, setShowUserForm] = useState(false);\n\n useEffect(() => {\n if (me?._id > 0 && me?.webinarUser?.state !== 1) {\n setShowUserForm(true);\n }\n }, [me?._id]);\n\n const onSuccessUserForm = () => {\n document.location.reload();\n };\n\n const onCloseUserForm = () => {\n document.location.reload();\n };\n\n // eslint-disable-next-line no-underscore-dangle\n if (me.__error === 100) {\n return ;\n }\n\n return (\n <>\n {me?.webinarUser?.state === 1 && }\n\n \n \n );\n}\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport KybLoginDialog from './KybLoginDialog/KybLoginDialog';\n\nfunction LoginDialog({ visible }) {\n return ;\n}\n\nLoginDialog.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default LoginDialog;\n","// extracted by mini-css-extract-plugin\nexport default {\"kybLoginDlg\":\"kybLoginDlg__GZ_Sn\",\"info\":\"info__aL7T0\",\"msgRed\":\"msgRed__hfhy9\",\"msg\":\"msg__Xsu7d\",\"dmsg\":\"dmsg__j07pU\",\"footer\":\"footer__J7mO1\",\"err1\":\"err1__rAMmN\",\"err2\":\"err2___9JDk\"};","import React from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport { meState } from '../../../../state/panel-state';\nimport styles from './styles.scss';\n\nfunction UserBlocked({ visible }) {\n const me = useRecoilValue(meState);\n\n return (\n <>\n \n

\n Регистрация в сервисах \n

\n
\n Ваш статус: Заблокирован\n
\n
\n Мобильный: {me.phone}\n
\n\n
\n Указанный номер телефона не позволяет авторизоваться в сервисе\n
\n\n
\n Решить возникшие вопросы с авторизацией и завершить её, вы можете связавшись с менеджерами\n KYB.\n
\n \n \n );\n}\n\nUserBlocked.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default UserBlocked;\n","import React, { useEffect, useState } from 'react';\n\nimport { Button, message, Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport { apiPost } from '../../../../api/index';\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport { meState } from '../../../../state/panel-state';\nimport { warningDialog } from '../../Common/WarningDialog';\nimport XDataForm from '../../xdf-antd/XDataForm';\nimport { XDF_TYPE } from '../../xdf-antd/XDataForm/index';\nimport styles from './styles.scss';\n\nfunction UserProfile({ visible, onClose }) {\n const me = useRecoilValue(meState);\n const [model, setModel] = useState({});\n const [isModelChanged, setIsModelChanged] = useState(false);\n\n useEffect(() => {\n setModel(me);\n }, []);\n\n function onChangeModel(m, isChanged) {\n setModel({ ...m });\n setIsModelChanged(isChanged);\n }\n\n async function saveUser() {\n const { err, errmsg, data } = await apiPost('/me/save', model);\n if (err) {\n message.error(errmsg || `Net error: ${err}`);\n } else {\n document.location.reload();\n }\n }\n\n async function saveUser2() {\n let res = -1;\n if (me.email !== model.email) {\n res = await warningDialog(\n 'Изменение E-mail',\n 'После нажатия на кнопку «Продолжить» мы вышлем ссылку подтверждения на новый E-mail. До момента подтверждения ваш профиль будет ограничен.',\n [{ label: 'Отмена' }, { label: 'Продолжить' }],\n );\n if (res === 0) return;\n }\n\n const { err, errmsg, data } = await apiPost('/me/save', model);\n if (err) {\n message.error(errmsg || `Net error: ${err}`);\n } else {\n if (res === 1) {\n document.location.reload();\n } else {\n onClose();\n }\n }\n }\n\n return (\n \n

\n Регистрация в сервисах \n

\n {!onClose && (\n
\n Ваш статус: Ожидает авторизации\n
\n )}\n
\n Мобильный: {me.phone}\n
\n {!onClose && (\n
\n Укажите ваш E-mail и подтвердите его, а так же заполните другие поля. Далее ваши данные\n будут отправлены на рассмотрение. После одобрения ваших данных вы получите доступ к\n сервисам KYB.\n
\n )}\n {!!onClose && (\n
\n Внимание! В случае смены E-mail его нужно будет подтвердить.\n
\n )}\n \n
\n {!!onClose && (\n <>\n \n \n \n )}\n {!onClose && (\n \n )}\n
\n \n );\n}\n\nUserProfile.defaultProps = {\n onClose: null,\n};\n\nUserProfile.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func,\n};\n\nexport default UserProfile;\n","import React, { useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport { meState } from '../../../../state/panel-state';\nimport styles from './styles.scss';\nimport UserProfile from './UserProfile';\n\nfunction UserEmailConfirmed({ visible }) {\n const me = useRecoilValue(meState);\n const [showProfileDlg, setShowProfileDlg] = useState(false);\n\n function onShowProfile(ev) {\n ev.preventDefault();\n setShowProfileDlg(true);\n }\n\n return (\n <>\n \n

\n Регистрация в сервисах \n

\n
\n Ваш статус: Ожидает авторизации\n
\n
\n Мобильный: {me.phone}\n
\n\n
\n Ваш E-mail подтверждён\n
\n Аккаунт ожидает авторизации\n
\n\n
\n Как только модераторы сервиса авторизуют ваш аккаунт, вы получите уведомление на указанный\n при регистрации адрес электронной почты.\n
\n
\n Если ранее вы указали неверный адрес электронной почты отредактируйте его{' '}\n \n здесь\n \n
\n \n \n \n );\n}\n\nUserEmailConfirmed.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default UserEmailConfirmed;\n","import React, { useState } from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport { meState } from '../../../../state/panel-state';\nimport styles from './styles.scss';\nimport UserProfile from './UserProfile';\n\nfunction UserWaitEmailConfirm({ visible }) {\n const me = useRecoilValue(meState);\n const [showProfileDlg, setShowProfileDlg] = useState(false);\n\n function onShowProfile(ev) {\n ev.preventDefault();\n setShowProfileDlg(true);\n }\n\n return (\n <>\n \n

\n Регистрация в сервисах \n

\n
\n Ваш статус: Ожидает авторизации\n
\n
\n Мобильный: {me.phone}\n
\n\n
Пожалуйста, подтведите ваш Е-mail
\n\n
\n Для завершения процедуры регистрации в сервисе, вам необходимо подтвердить ваш E-mail. На\n указанный адрес электронной почты было выслано письмо с подтверждением.\n
\n
\n Если ранее вы указали неверный адрес электронной почты отредактируйте его{' '}\n \n здесь\n \n
\n \n \n \n );\n}\n\nUserWaitEmailConfirm.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default UserWaitEmailConfirm;\n","import React from 'react';\n\nimport { Modal } from 'antd';\nimport PropTypes from 'prop-types';\nimport { useRecoilValue } from 'recoil';\n\nimport LoginDlgLogo from '../../../../assets/svg/login-dlg-logo.svg';\nimport { meState } from '../../../../state/panel-state';\nimport styles from './styles.scss';\n\nfunction UserWaitRoles({ visible }) {\n const me = useRecoilValue(meState);\n\n return (\n <>\n \n

\n Регистрация в сервисах \n

\n
\n Ваш статус: Авторизован\n
\n
\n Мобильный: {me.phone}\n
\n\n
\n Ваш аккаунт ожидает настройку доступа модераторами сервиса\n
\n\n
\n Как только модераторы сервиса настроят доступ для вашего аккаунта, вы получите уведомление\n на указанный при регистрации адрес электронной почты.\n
\n
\n При возникновении вопросов с настройкой доступа, свяжитесь с модераторами KYB.\n
\n \n \n );\n}\n\nUserWaitRoles.propTypes = {\n visible: PropTypes.bool.isRequired,\n};\n\nexport default UserWaitRoles;\n","// extracted by mini-css-extract-plugin\nexport default {\"mainLayout\":\"mainLayout__F3IaM\",\"sider\":\"sider__qxICd\",\"header\":\"header__jSWzK\",\"logo\":\"logo__weZ7g\",\"headerHolder\":\"headerHolder__rTIZD\",\"userType\":\"userType__uRBBH\",\"notifications\":\"notifications__zjtQ3\",\"rightMenu\":\"rightMenu__GpVqd\",\"pageContent\":\"pageContent__MqTqQ\",\"notifyList\":\"notifyList__asGg7\",\"notifyItem\":\"notifyItem__Uzvc_\",\"ndt\":\"ndt__G_BEd\",\"ntxt\":\"ntxt__RbO2s\",\"notificationsWindowTitle\":\"notificationsWindowTitle__IoJ4O\"};","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from 'react';\n\nimport { useHistory, useLocation, useParams } from 'react-router-dom';\n\nimport styles from './styles.scss';\n\nexport default function Null() {\n // router\n // const history = useHistory();\n // const location = useLocation();\n // const { proudctId } = useParams();\n\n return
Null
;\n}\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Badge, Dropdown, Layout, Menu, Popover } from 'antd';\nimport dayjs from 'dayjs';\nimport { Link, Switch, useLocation } from 'react-router-dom';\nimport { useRecoilValue, useSetRecoilState } from 'recoil';\n\nimport {\n BellOutlined,\n CloseOutlined,\n LogoutOutlined,\n MoreOutlined,\n RetweetOutlined,\n UserOutlined,\n} from '@ant-design/icons';\n\nimport apiNotifyHideById from '../../../api/NotifyHideById';\nimport { initSocketIO, subscribeToChannel } from '../../../api/sio';\nimport KybLogoIcon from '../../../assets/svg/kyb-logo.svg';\nimport routes from '../../../routes';\nimport {\n notifyByRoleGroupState,\n notifyCountByRoleState,\n notifyListState,\n} from '../../../state/notify-state';\nimport { meState, rolesState } from '../../../state/panel-state';\nimport Webinars3Connect from '../../pages-connect/Common/Webinars3Connect';\nimport { useChannelsSubscribe } from '../../utils/hooks';\nimport LoginDialog from '../Dialogs/LoginDialog';\nimport UserBlocked from '../Dialogs/UserProfile/UserBlocked';\nimport UserEmailConfirmed from '../Dialogs/UserProfile/UserEmailConfirmed';\nimport UserProfile from '../Dialogs/UserProfile/UserProfile';\nimport UserWaitEmailConfirm from '../Dialogs/UserProfile/UserWaitEmailConfirm';\nimport UserWaitRoles from '../Dialogs/UserProfile/UserWaitRoles';\nimport styles from './styles.scss';\nimport { useMainMenu } from './useMainMenu';\n\nconst AUTH_STATE = {\n NULL: 0,\n LOGIN_PROCESS: 1,\n PROFILE: 2,\n WAIT_CONFIRM_EMAIL: 3,\n EMAIL_CONFIRMED: 4,\n WAIT_ROLES: 5,\n BLOCKED: 7,\n};\n\nconst WEBINARS3_CONNECT_DOMAINS = ['kyb-connect.geo4.biz', 'connect.kyb.ru'];\n\n/**\n * | Header |\n * ---------------------------------------------------\n * | LMenu | MainPage\n * | |\n * | |\n * | |\n * @param {*} param0\n */\nfunction MainFrame() {\n const me = useRecoilValue(meState);\n const roles = useRecoilValue(rolesState);\n\n // const [notifyList, setNotifyList] = useRecoilState(notifyListState);\n\n const notifyList = useRecoilValue(notifyListState);\n const updateNotifyList = useSetRecoilState(notifyListState);\n\n const myUpNotifyList = useMemo(\n () => notifyList.filter((item) => item.uid !== me._id),\n [notifyList, me._id],\n );\n\n const notifyCountByRole = useRecoilValue(notifyCountByRoleState);\n const notifyByRoleGroup = useRecoilValue(notifyByRoleGroupState);\n\n const [webinars3Connect, setWebinars3Connect] = useState(false);\n const [showMainFrame, setShowMainFrame] = useState(false);\n const [authState, setAuthState] = useState(AUTH_STATE.NULL);\n\n const location = useLocation();\n const [routesList, selectedItem, openMainItem] = useMainMenu(me, location.pathname);\n const [openItems, setOpenItems] = useState(null);\n\n const [userProfileDlgVisible, setUserProfileDlgVisible] = useState(false);\n\n // console.log('notifyList', notifyList);\n // console.log('notifyCountByRole', notifyCountByRole);\n // console.log('notifyByRoleGroup', notifyByRoleGroup);\n\n useEffect(() => {\n if (me._id) {\n // console.log(me, roles);\n\n setTimeout(() => {\n initSocketIO();\n }, 1000);\n\n // user works\n if (me.state === 1 && roles?.length > 0) {\n setShowMainFrame(true);\n return;\n }\n\n // states\n if (me.state === 0 && !me.email) {\n setAuthState(AUTH_STATE.PROFILE);\n return;\n }\n\n if (me.state === 0 && me.email && me.emailOk === 0) {\n setAuthState(AUTH_STATE.WAIT_CONFIRM_EMAIL);\n return;\n }\n\n if (me.state === 0 && me.email && me.emailOk === 1) {\n setAuthState(AUTH_STATE.EMAIL_CONFIRMED);\n return;\n }\n\n if (me.state === 1) {\n setAuthState(AUTH_STATE.WAIT_ROLES);\n return;\n }\n\n if (me.state === -1) {\n setAuthState(AUTH_STATE.BLOCKED);\n }\n } else if (me.__error === 103) {\n // blocked\n setAuthState(AUTH_STATE.BLOCKED);\n } else {\n setAuthState(AUTH_STATE.LOGIN_PROCESS);\n }\n }, [me._id, me.email, me.emailOk, roles.join(',')]);\n\n /**\n * Новое событие для роли\n */\n useChannelsSubscribe(\n roles.map((r) => `ROLE:${r}`),\n (msg) => {\n // console.log('notifyList', notifyList);\n // console.log('ROLEs', msg);\n if (msg.ev === 'noti-add' /* && msg.data.uid !== me._id */) {\n updateNotifyList([msg.data, ...notifyList]);\n } else if (msg.ev === 'noti-hide') {\n const { data } = msg;\n const updatedList = notifyList.filter(\n (it) => !(it.id === data.id && it.role === data.role),\n );\n updateNotifyList(updatedList);\n } else if (msg.ev === 'noti-hide-id') {\n const updatedList = notifyList.filter((it) => it._id !== msg.id);\n updateNotifyList(updatedList);\n }\n },\n );\n\n /**\n * Обновить страницу, если поменялся доступ\n */\n useEffect(() => {\n if (\n WEBINARS3_CONNECT_DOMAINS.includes(window.location.hostname) ||\n location.pathname === '/webinars/connect/home'\n ) {\n setWebinars3Connect(true);\n } else {\n // subscribe to me\n subscribeToChannel(`ME:${me._id}`, (msg) => {\n if (msg.ev === 'access_updated') {\n document.location.reload();\n }\n });\n }\n }, []);\n\n const onOpenChange = (keys) => {\n setOpenItems(keys);\n };\n\n const logout = () => {\n window.location.replace('/api/1/auth/logout');\n };\n\n const showProfile = () => {\n setUserProfileDlgVisible(true);\n };\n\n const onCloseUserProfileDlg = () => {\n setUserProfileDlgVisible(false);\n };\n\n const rightMenu = (\n \n } onClick={showProfile}>\n Профиль\n \n \n } onClick={logout}>\n Выход\n \n \n );\n\n const onHideNotify = async (id) => {\n await apiNotifyHideById(id);\n };\n\n const onHideAllNotify = async (list) => {\n for (const it of list) {\n // eslint-disable-next-line no-await-in-loop\n await apiNotifyHideById(it._id);\n }\n };\n\n const notifyListContent = () => (\n
\n {myUpNotifyList.map((item) => (\n
\n
{dayjs(item.cdt).format('DD.MM.YYYY HH:mm:ss')}
\n
{item.txt}
\n \n
\n ))}\n
\n );\n\n if (webinars3Connect) {\n return ;\n }\n\n if (!showMainFrame) {\n return (\n <>\n \n \n \n \n \n \n \n );\n }\n\n return (\n <>\n \n \n \n \n \n
\n
\n МОДЕРАТОР{' '}\n \n
\n
\n \n Оповещения\n {myUpNotifyList?.length > 0 && (\n \n )}\n
\n }\n placement=\"bottomRight\"\n arrowPointAtCenter\n // trigger=\"click\"\n >\n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n {routes\n .filter((item) => !!roles.find((x) => x > item.role && x < item.role + 99))\n .map((item) => (\n {item.icon}}\n title={item.label}\n >\n {item.subs\n .filter((x) => {\n if (!x.label) return false;\n return roles.includes(x.role);\n })\n .map((sit) => (\n \n \n {sit.label} \n \n \n ))}\n \n ))}\n
\n \n \n {routesList}\n \n \n \n\n \n\n {/* {!me?._id && (\n <>\n {me.__error === 100 && }\n {me.__error === 103 && }\n \n )}\n {me?._id > 0 && (!roles || roles.length === 0) && (\n <>\n {!me?.email && }\n {me?.state === 0 && me?.email && !me?.emailOk && }\n {me?.state === 0 && me?.email && !!me?.emailOk && }\n {me?.state === 1 && }\n \n )} */}\n \n );\n}\n\nMainFrame.defaultProps = {\n example: null,\n};\n\nMainFrame.propTypes = {};\n\nexport default MainFrame;\n","import React, { useEffect, useMemo, useState } from 'react';\n\nimport { matchPath, Route } from 'react-router-dom';\n\nimport routes from '../../../routes';\nimport Null from '../../pages/Null/Null';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function useMainMenu(me, currentPath) {\n const [selectedItem, setSelectedItem] = useState('100-101');\n const [openMainItem, setOpenMainItem] = useState('');\n\n const routesList = useMemo(() => {\n const rrList = [];\n for (const r of routes) {\n if (Array.isArray(r.subs)) {\n r.subs.forEach((rr) => {\n rrList.push(\n ,\n );\n });\n }\n }\n return rrList;\n }, [me]);\n\n useEffect(() => {\n for (const r of routes) {\n if (Array.isArray(r.subs)) {\n r.subs.forEach((rr) => {\n const match = matchPath(window.location.pathname, {\n path: rr.path,\n exact: !!rr.exact,\n strict: false,\n });\n if (match) {\n setSelectedItem([`${r.role}-${rr.role}`]);\n setOpenMainItem([`${r.role}`]);\n }\n });\n }\n }\n }, [currentPath]);\n\n return [routesList, selectedItem, openMainItem];\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"main__XfKhT\",\"spin\":\"spin__vp_xB\"};","import React from 'react';\n\nimport { Spin } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport KybLogoIcon from '../../../assets/svg/kyb-logo.svg';\nimport styles from './styles.scss';\n\nfunction SiteLoading({ example }) {\n return (\n
\n \n \n
\n );\n}\n\nSiteLoading.defaultProps = {\n example: null,\n};\n\nSiteLoading.propTypes = {\n example: PropTypes.string,\n};\n\nexport default SiteLoading;\n","import '../styles/styles.scss';\nimport 'antd/dist/antd.variable.min.css';\n\nimport React from 'react';\n\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport { RecoilRoot } from 'recoil';\n\nimport packageJson from '../../package.json';\nimport MainFrame from './components/MainFrame/MainFrame';\nimport SiteLoading from './components/SiteLoading/SiteLoading';\n\n// eslint-disable-next-line no-console\nconsole.log(`KYB System v${packageJson.version}`);\n\nfunction App() {\n return (\n \n \n }>\n \n \n \n \n );\n}\n\nexport default App;\n","import React from 'react';\nimport { render } from 'react-dom';\n\nimport { ConfigProvider } from 'antd';\nimport ruRU from 'antd/lib/locale/ru_RU';\n\nimport App from './app/App';\n\nrender(\n \n \n ,\n document.getElementById('app'),\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"assets/js/a\" + chunkId + \"-\" + {\"780\":\"8746913\",\"838\":\"3704cc0\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkkyb_system_next_client\"] = self[\"webpackChunkkyb_system_next_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [845], () => (__webpack_require__(98861)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","ApiError","err","errmsg","Error","apiPost","url","data","Promise","r","apiPostRaw","axios","baseURL","headers","_objectSpread","then","result","status","console","error","apiPostData","async","params","Array","isArray","msg","_message","message","netPOSTv2","route","resolve","response","rsd","catch","notifyId","socket","ee","EventEmitter","channels","sioSocketId","subscribeToChannel","channelName","listener","addListener","emit","unsubscribeToChannel","removeListener","collection","role","page","pageSize","filter","props","sortProp","sortOrder","searchProps","schProps","panelState","selector","key","get","apiMeGet","meState","me","rolesState","roles","notificationsInitState","config","notifications","notifyListState","atom","default","notifyCountByRoleState","reduce","x","notifyByRoleGroupState","groupRole","notifyLastForRoleState","selectorFamily","it","id","tid","GTooltip","children","React","className","styles","type","onClick","tt","apiGTolltipGet","_notification","info","description","txt","placement","duration","stroke","fill","strokeWidth","viewBox","height","width","xmlns","d","propTypes","PropTypes","isRequired","DEFAULT_DATEFORMAT","DEFAULT_TIMEFORMAT","xdfGetValue","obj","prop","def","plain","getValue","xdfSetValue","val","setValue","XDFButton","size","model","label","hideLabel","title","btnIcon","span","readOnly","_Col","htmlFor","cn","_Button","disabled","icon","style","XDFCheckbox","onPropChanged","boolType","autoFocus","gv","_Checkbox","onChange","ev","target","checked","XDFColor","colorType","showOnly","require","tooltip","showPicker","setShowPicker","useState","useEffect","_Tooltip","onShowPicker","backgroundColor","onClosePicker","SketchPicker","color","suffix","onEnter","dayjs","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","o","c","proto","prototype","oldFormat","format","formatStr","str","replace","bind","this","localeMap","bn_BD","by_BY","en_GB","en_US","fr_BE","fr_CA","hy_AM","kmr_IQ","nl_BE","pt_BR","zh_CN","zh_HK","zh_TW","parseLocale","locale","split","parseNoMatchNotice","log","generateConfig","getNow","getFixedDate","string","getEndDate","date","endOf","getWeekDay","clone","firstDayOfWeek","getYear","year","getMonth","month","getDate","getHour","hour","getMinute","minute","getSecond","second","addYear","diff","add","addMonth","addDate","setYear","setMonth","setDate","num","setHour","setMinute","setSecond","isAfter","date1","date2","isValidate","isValid","getWeekFirstDay","getWeekFirstDate","getWeek","week","getShortWeekDays","weekdaysMin","getShortMonths","monthsShort","parse","text","formats","localeStr","i","length","formatText","includes","weekStr","firstWeek","startOf","j","nextWeek","generatePicker","dayjsGenerateConfig","XDFDateRange","prop2","placeholder","noW100","ranges","val2","DatePicker","RangePicker","allowClear","value","dates","datesString","XDFDateTime","showTime","disabledDate","iso8601","dateVal","undefined","dateString","toISOString","XDFDivider","fontColor","labelSup","defaultProps","XDFDividerWithCheckbox","PRECISE_PATTERN","XDFEmail","email0","setEmail0","_Input","valz","m","match","picWidth","basePicUrl","onRemovePic","onEditDesc","roundImage","picDesc","attributes","listeners","setNodeRef","transform","transition","isDragging","useSortable","CSS","Transform","toString","margin","zIndex","opacity","ref","_extends","src","alt","DeleteOutlined","EditOutlined","cssCache","useXDFScript","loadAsync","setStatus","done","setDone","script","document","querySelector","getAttribute","createElement","setAttribute","body","appendChild","setAttributeFromEvent","event","addEventListener","setStateFromEvent","removeEventListener","getBase64","img","reject","reader","FileReader","readAsDataURL","XDFUploadBase64","doneJS","fileTypes","align","resize","uploadButton","PlusOutlined","marginTop","textAlign","_Upload","name","listType","accept","showUploadList","action","imageUrl","file","base64Url","resizedCanvas","Image","onload","pica","resizedImgBase64","toDataURL","alert","resizeImage","beforeUpload","backgroundImage","shape","preventDefault","stopPropagation","defaultCropSettings","unit","y","aspect","UploadItemWithCrop","uploadFileType","onAddFile","disableDescription","aspects","picDlgVisible","setPicDlgVisible","visible","uploadedImage64","setUploadedImage64","progress","setProgress","setPicDesc","cropImg","useRef","cropUFile","setCropUFile","crop","setCrop","completedCrop","setCompletedCrop","disableEdit","setDisableEdit","beforeUploadResolve","onSetAspect","current","kx","w","ky","h","cropFile","parseInt","onLoad","useCallback","percent","window","innerHeight","wph","encodeURIComponent","_Progress","_Modal","open","top","onCancel","onUploadReject","destroyOnClose","footer","map","CheckOutlined","notEdit","marginRight","onUploadOK","ReactCrop","onImageLoaded","onComplete","XDataGallery","items","maxCount","picDescDisable","activeItem","setActiveItem","editDescDlg","setEditDescDlg","desc","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","picId","idx","findIndex","slice","find","desc0","closeEditDescDlg","DndContext","collisionDetection","closestCenter","onDragEnd","active","over","oldIndex","newIndex","arrayMove","onDragStart","pic","SortableContext","strategy","rectSortingStrategy","SortableItem","handle","filename","DragOverlay","onOk","onChangeDesc","okText","okButtonProps","TextArea","showCount","autoSize","XDFGalleryUpload","picsProps","picSize","simpleArray","picName","picsList","plist","pics","v","XDFGeocoder","isMounted","useMountedState","revGeocoder","geocoder","pointNumber","pointNumberColor","onClickPointNumber","removeBtn","switchBtn","onClickSwitch","onlyRemove","alertBeforeRemove","val0","setVal0","options","setOptions","cancel","useDebounce","list","sll","ll","join","addr","reverse","_AutoComplete","onSelect","option","parseFloat","onSearch","onFocus","select","clickOnPointNumber","removePoint","confirm","ExclamationCircleOutlined","strokeLinecap","strokeLinejoin","XDFLatLng","loc","setLoc","trim","isNaN","filterIcon","points","XDFModalTableForm","values","showDialog","setShowDialog","setFilter","onSaveFilter","onCloseDialog","f","XDataForm","table","onChangeModel","form","XDFNumber","step","min","max","_InputNumber","XDFPhone","inputRef","mask","phone0","setPhone0","input","IMask","_phone","charAt","phRes","phone","phoneNumber","prefix","PhoneOutlined","XDFPhoneSmsCode","smsCodeLen","smsCode0","setSmsCode0","focusFld","setFocusFld","updateVal","code","resultCode","apply","n","dotVal","codePart","focusPos","k","el","getElementById","focus","onKeyDown","keyCode","autoComplete","XDFPictureUpload","XDFSearch","multiple","filterValues","loadingDataMsg","mountedRef","loading","setLoading","values0","setValues0","_Select","showSearch","autoClearSearchValue","defaultActiveFirstOption","optionFilterProp","Option","XDFSelect","canAddValue","newValue","setNewValue","onChangeNewValue","onAddNewValue","showOnlyVal","item","dropdownRender","menu","_Divider","display","flexWrap","padding","flex","marginLeft","mode","XDFShowDateTime","BYTE_UNITS","BIBYTE_UNITS","BIT_UNITS","BIBIT_UNITS","toLocaleString","number","xdPrettyBytes","_number","_options","Number","isFinite","TypeError","bits","binary","UNITS","signed","isNegative","localeOptions","minimumFractionDigits","maximumFractionDigits","exponent","Math","floor","log10","toPrecision","XDFShowFileSize","XDFShowText","XDFSwitch","_Switch","_val","XDFTableSimple","columns","rows","row","_Row","gutter","col","onDelete","XDFTags","XDFText","onEnterPress","labelWrap","XDFTextarea","minRows","maxRows","TimePicker","picker","displayName","XDFTime","xdRoundPlus","pow","round","xdGetColProp","substring","XDFUploadBigFile","onPropsChanged","uploading","setUploading","fileProps","maxFileSize","bigfileMaxSize","propOrigname","propFileSize","fileName","fileSize","XDFUrl","url0","setUrl0","isInvalid","setIsInvalid","test","href","rel","showCharsCounter","showWordsCounter","showXPathInStatusbar","toolbarButtonSize","buttons","buttonsMD","buttonsSM","buttonsXS","uploader","insertImageAsBase64URI","useJOdit","initContent","editor","libDone","link","media","getElementsByTagName","useXDFCss","html","setHtml","initDone","setInitDone","Jodit","make","setEditorValue","events","on","destruct","XDFWysiwyg2","joditDone","content","getIntValOrNull","ival","XDFNumberMinMax","min0","setMin0","max0","setMax0","valMin","valMax","XDFVideo","videoModel","setVideoModel","videoId","videoType","aspectRatio","vid","regexp","RegExp","matches","parseYoutubeId","_Empty","image","PRESENTED_IMAGE_SIMPLE","onLoadImage","wh","videoCode","XDFTimeRange","times","minuteStep","XDFPassword","newPassword","Password","XDFSwitch3","_Radio","buttonStyle","onClick1","onClick0","XDFRadio","e","call","Set","Map","kv","Date","getTime","source","regExp","flags","global","push","ignoreCase","multiline","sticky","unicode","getRegExpFlags","XDF_TYPE","TEXT","TEXTAREA","NUMBER","CHECKBOX","SWITCH","SELECT","MULTISELECT","TAGS","DATETIME","TIME","DATERANGE","DIVIDER","GEOCODER","BUTTON","PHONE","PHONE_SMS_CODE","SHOW_DATETIME","LAT_LNG","EMAIL","MODAL_TABLE_FORM","SPACE","URL","WYSIWYG","UPLOAD_BASE64","SHOW_TEXT","COLOR","DIVIDER_WITH_CECKBOX","TABLE_SIMPLE","SEARCH","GALLERY_UPLOAD","PICTURE_UPLOAD","SHOW_FILE_SIZE","UPLOAD_BIG_FILE","NUMBER_MIN_MAX","VIDEO","TIMERANGE","PASSWORD","SWITCH3","RADIO","debug","inline","onPressEnter","defModel","setDefModel","updateModelDefVal","setUpdateModelDefVal","formHash","objectHash","hide","nanoid","version","__valuesHash","__filterValuesHash","formOut","useMemo","checkByRequired","fld","value2","deepClone","modelBlk","renderElement","iprops","ifMC","model0","defValue","colSpan","border","fontFamily","fontSize","whiteSpace","JSON","stringify","Object","keys","a","EXCELJS_URL","XDTExportToExcel","startExport","onCloseExport","excelExport","setData","loadJs","setLoadJs","doneExcelJS","workbook","sheet","onSaveXlsx","autoWidth","worksheet","minimalWidth","forEach","column","maxColumnLength","eachCell","includeEmpty","cell","xlsx","writeBuffer","buffer","saveAs","Blob","setTimeout","loadData","apiLoadData","exportStep","onStartExport","ExcelJS","Workbook","created","modified","addWorksheet","tabname","sheetColumns","commonColumns","extColumnsSelected","excelHide","alignment","horizontal","header","excelColName","__sort","excelColPos","sort","b","getRowValue","addRow","closable","keyboard","maskClosable","cancelButtonProps","total","bodyStyle","SortIcon","SortIconUp","SortIconDown","xdGetTableUrlByParams","baseTableUrl","sortBy","extColumnId","urlParamName","_lzFilter","LZString","XDataTable","postLoadData","extentedColumns","selectRow","defValues","initFilter","datesFilter","datesPresets","filterForm","initSort","onRowClick","sioEvents","searchLabel","leftActions","inlineEditFormProps","onInlineEditChanged","onSaveEventEmitter","onCallbacks","onSaveTableHandlers","enableItemsSelect","windowSize","useWindowSize","ctrlsHeaderSize","useMeasure","history","useHistory","location","useLocation","urlTableState","queryString","search","checkedRow","setCheckedRow","prop2ValueCache","setProp2ValueCache","filterBackup","setFilterBackup","filterDialog","setFilterDialog","loadingList","setLoadingList","searchStr","setSearchStr","setStartExport","stateHash","pageNumber","sfilter","filteredByCheckedRows","setPageSize","setPageNumber","setSortProp","setSortOrder","setExtColumnsSelected","setProps","setStateHash","setSfilter","setFilteredByCheckedRows","tempId","setTempId","urlState","exSelected","filter0","_props","useUrlToTableState","tableState","setTableState","tableRef","tableScroll","useScroll","refInlineDlg","inlineEdit","setInlineEdit","isChanged","inlineEditLog","setInlineEditLog","inlineEditLogLen","closeInlienEditDlg","showInlineDlg","colType","onResetInlienEditAll","useBeforeUnload","useKey","onSaveInlineEditValue","ieV","onChangeInlineEditModel","highlightId","setHighlightId","useInterval","postResult","changeTableState","changeTo","searchParams","extColId","sq","createDict4Prop","cache","keyName","valName","updateCache","prop2value","ec","recalcDictsCache","__search","onFilterChanged","callback","savedCallback","onMessageInChannel","useXDTChannelSubscribe","idPropName","itemId","_id","reloadItem","onChangePageNumber","pn","psize","selectExtColumns","onShowFilter","onResetFilter","flt","onSetPresetDates","onExportToExcel","removeAllListeners","onFilterBySelectedRows","renderSortBtn","colProp","hl","onCheckAllRows","sel","isAllChecked","forExcel","inlienEditKey","render","excelRender","notNull","multi","String","renderRow","colPart","rowIdx","rowStyle","rs","zeroColor","vvv","cellClassName","onClickTD","changedValue","nowrap","inlineEditCell","tabIndex","inlineValue","editing","inlineDlg","ctrls","close","actions","renderTableBody","selectThisRow","checkCell","onCheckRow","listHolder","listCtrls","elCtrl","showCheckCount","CheckSquareTwoTone","twoToneColor","_Dropdown","overlay","_Menu","selectedKeys","Item","AppstoreOutlined","DownOutlined","Search","maxWidth","FileExcelOutlined","primary","right","ps","dt1","dt2","CalendarOutlined","FilterOutlined","CloseCircleOutlined","ReloadOutlined","last","_Pagination","showSizeChanger","showQuickJumper","showTotal","pageSizeOptions","jump_to","SwapOutlined","groupsStartIdx","group","renderHdr1","secondHdr","sortHdr","onSetFilter","overflowY","maxHeight","cellValue","ValueType","XDImportExcelFile","onClose","uploadApi","initObject","importBtnTitle","maxStepToLoad","wb","ws","uploadData","setTotal","currentPos","setCurrentPos","readyForUpload","setReadyForUpload","pos","getRow","getCell","splitBy","minMax","uploadFormBtn","load","eachSheet","_ws","rowCount","readAsArrayBuffer","defaultFileList","showRemoveIcon","UploadOutlined","progressImport","progressInfo","USER_ROLE","OBJECT_STATES","KYB_MAP_OBJECT_GROUP","KYB_MAP_OBJECT_COMMENT_STATE","KYB_SITE_CATALOG_STATUS","KYB_FAQ_SECTION","KYB_MAP_PROP_TYPES","KYB_MAP_PROP_TYPE_ID2NAME","KYB_SITE_ITEM_STATUS","KYB_PRODUCT_TYPE","KYB_LEFT_BANNER_TYPE","DATETIME_FORMAT","warningDialog","btns","cancelText","afterClose","CrossEditDlg","setModel0","isModelChanged","setIsModelChanged","NotifyPopup","noti","_Popover","cdt","BellFilled","notifyLastForRole","BellOutlined","uploadDataToServer","eventName","cleanBeforeImport","AnalogEditDlg","SpecEditDlg","IframeEditDlg","onShowIframe","EyeOutlined","useScript","XDataUpload","uploadType","maxSize","optimizeImage","webpImage","onSave","onStartUpload","main","uploadBtn","Infinity","_cache","webinarSettings","EyeInvisibleOutlined","part","NPIA_STATE","NPIA_ACCESS","DATE_FORMAT","PART_TYPES","mainCatalogFormProps","endYear0","apiAnyPropList","MainCatalogEditDlg","apiAnyGet","loadModel","templateId","state","EDITOR_HELP_MACROS","EmailTemplatePreviewDlg","showIframe","setShowIframe","scrolling","frameBorder","aceJsList","picOptimize","picWebp","XDataFormDialog","onSaveModel","Boolean","isc","KSBannerLeft","setModel","dlg","setDlg","masks","fetchBanner","onCloseDlg","is","enableOpenPage","ArrowUpOutlined","onMoveUp","ArrowDownOutlined","onMoveDown","KSBannerMainPage","KSBannerTopRight","KSBannerTopRight2","navigator","clipboard","writeText","textArea","left","position","successOK","execCommand","removeChild","fallbackCopyTextToClipboard","FORM_BLK_TYPE1","FORM_BLK_TYPE2","FORM_BLK_TYPE3","FORM_BLK_TYPE4","FORM_BLK_TYPE5","FORM_BLK_TYPE7","getBlockFormByType","KybBlockPicsDlg","colors","getGraphColor","roundPlus","KybBlockYoutubeDlg","onSelectVideo","DragIcon","editId","onDeleteBlock","UpDownIcon","fillRule","KybPageBlocksEditor","blocks","onSaveBlocks","blkIdx","setBlkIdx","showPicSelectDlg","setShowPicSelectDlg","showYoutubeSelectDlg","setShowYoutubeSelectDlg","onAddBlock","trigger","blk","SortableBlockItem","onInsertPic","copyTextToClipboard","success","video","KybHistoryEditorDlg","publicDt","productElementsColumns","onAddNewElement","onEditElement","onDeleteElement","isAddDisabled","dataIndex","AppstoreAddOutlined","record","index","productFilesColumns","onAddNewFile","onEditFile","onDeleteFile","prettySize","KybSiteProductElements","modelFormDialog","setModelFormDialog","onAddElement","elements","onSaveElement","onCloseFormDialog","_Table","pagination","bordered","dataSource","KybSiteProductFiles","bannerOn","KybSeriesEditorDlg","pagesTree","getPageTitleByKey","p","startDt","endDt","chartOptions","legend","tooltips","enable","animation","animateRotate","KybMapAnalyticsByKey","Component","static","startItem","maxItems","stats","byKey","tableTitle","pageTitle","period","renderPie","statData","labels","hoverBackgroundColor","_cnt","common","otherCount","Pie","datasets","marginBottom","_Typography","Title","level","fontWeight","KybMapAnalyticsTop20PI","statKey","cid","tbls","mapSettingsState","apiMapSettings","mapGoogleKeyApi","googleKeyApi","mapCategoriesState","categories","mapIconsState","icons","mapDictState","dict","mapId2PropsState","googleGroupMarker","opt","position_","offs_","offs","div","cssText","borderWidth","cursor","innerHTML","st","div_","KybMap","googleKey","onHide","lat","lng","zoom","onSelectObject","editObject","onMovedEditObject","cids","searchAddress","constructor","super","__mapID","__map","google","maps","loadGoogleMapApi","componentDidMount","__mount","initGoogleMap","UNSAFE_componentWillReceiveProps","nextProps","editMarket","setCenter","componentWillUnmount","head","__catIcons","iW","iH","iX","iY","_lat","_lng","_zoom","center","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","__geocoder","Geocoder","__markers","__merkersZoom","create_googleGroupMarker","addFakeLayer","userLocationMoved","latLng","geocode","results","_addr","formatted_address","address_components","types","g_city","long_name","g_area","g_country","_this","__editMarket","Marker","Size","anchor","Point","draggable","setMap","setPosition","__fakeLayer","ImageMapType","getTileUrl","z","tileLoad","tileSize","isPng","overlayMapTypes","insertAt","getZoom","l","mmm","marker","kyb","LatLng","OverlayView","onAdd","getPanes","overlayMouseTarget","listeners_","addDomListener","onRemove","parentNode","I","draw","getProjection","fromLatLngToDivPixel","addCategory","setState","removeAt","fIcon","address","panTo","geometry","setZoom","cleanProps","useRecoilValue","categoriesList","commonColumnsComments","openObjectCard","filterByObject","refreshTable","onChangeState","danger","CloseOutlined","_oid","FormOutlined","MapObjectsMassChange","iconsList","dictList","concat","MapObjectUploadDlg","loadExcelDone","setLoadExcelDone","MapSetsCategoriesDlg","MapSetsPropsDlg","MapSetsDictsDlg","MapSetsIconsDlg","Panel","_Collapse","webinar1SettingsState","acc","dt","preview","parts","cars","__carProdDates1","__carProdDates2","user","em","KybStaffAccessDialog","setRoles","_Tree","defaultExpandAll","checkable","selectable","onCheck","checkedKeys","treeData","KYB_STAFF_ACCESS_TREE_RULES","UserUnblockDlg","userId","phoneOk","__phoneState","phoneLastCodeDt","kybLoginDlg","apiUserStateSet","unblockUser","_Skeleton","UserAuthorizationDlg","blockUser","approveUser","WebinarTestPreview","testId","answersCount","setVisible","fetchData","questions","q","answers","WEBINAR3_VIEW","tag","_Tag","WEBINAR3_VIEW_ID2TAG","WEBINAR3_STATUS","ClockCircleOutlined","VideoCameraOutlined","CheckCircleOutlined","WEBINAR3_STATUS_ID2TAG","WEBINAR3_TYPE","WEBINAR3_TYPES_ID2NAME","WebinarsCertEditorDlg","setOpen","fileId","setFileId","pdfUrl","setPdfUrl","fio","fioFontSize","fioX","fioY","helpSize","addDates","subtract","dtFontSize","dtX","dtY","onSaveCertificate","getElementsByClassName","imageData","rcanvas","ctx","getContext","oc","octx","drawImage","smallImgData","certModel","modify","onSaveFileInfo","Document","Page","WebinarsEventResults0","users","resultsMatrix","showQ","setShowQ","activeKey","extra","atype1","qBlock","vtitle","ans","hashids","Hashids","getStageTemplate","stages","prevEndDt","dtEnd","dtStart","getTestTamplate","procentOk","usersOk","usersErr","webinar3Tests4Select","apiAnyList","apiImportUsersToEvent","eventId","phones","unknownPhones","results1Columns","AnswersBlock","addonBefore","defaultValue","WebinarsTestAnswerEditor","onChangeAns","onDeleteAns","isEmpty","justify","answer","addNewAnswer","eventsWithTestTable","firtsStage","lastStage","WebinarsEventsWithTest","apiWebinar3EventList","WebinarsAddUsersToEventDlg","tableColumns","deleteUserFromEvent","onShowUserTestAnswers","onShowUserCertificate","__event","__dtStart","__dtEnd","view","t","Link","to","fixed","FieldTimeOutlined","SafetyCertificateOutlined","certificate","wdates","wregions","emailApproveDt","CatalogsIcon","MapIcon","SettingsIcon","fillOpacity","UsersIcon","routes","subs","path","component","closeDialog","_PageHeader","_Layout","Content","apiGTolltipSet","exact","useParams","modelChanged","setModelChanged","setCode","showPreview","setShowPreview","refEditor","aceInitDone","aceCode","useAceXml","initCode","editorValue","startLoadJs","setStartLoadJs","jsAllDone","setJsAllDone","jsDone0","jsDone1","jsDone2","jsDone3","jsDone4","ace","edit","showLineNumbers","tabSize","useWorker","selectionStyle","theme","toLowerCase","template","apiEmailTemplateGet","loadTemplate","_Popconfirm","QuestionCircleOutlined","onConfirm","apiEmailTemplateRemove","onCancelBlock","SendOutlined","sendToMe","apiEmailTemplateSend","CloudUploadOutlined","apiEmailTemplateSave","accordion","Paragraph","copyable","float","createNewTemplate","tableEmitter","uploadDlgVisible","setUploadDlgVisible","startUploading","setStartUploading","closeUploadDialog","onUploadFile","LinkOutlined","contentType","indexOf","approveUserId","setApproveUserId","pageHeader","contextHolder","context","_userId","oldModel","setOldModel","kybStaffAccDlg","setKybStaffAccDlg","loadUser","reset","_m","objectEqual","saveUser","apiUserSet","_Spin","onBack","goBack","res","checkedChildren","unCheckedChildren","kybStaff","SettingOutlined","kybRoles","KYB_STAFF_ACCESS_ID2NAME","unblockUserId","setUnblockUserId","onCloseApproveDlg","objectId","__vendorCode","__productType","isMChanged","SaveOutlined","__pics","partNumber","$regex","$options","__carVendor","firm","__carModel","from","onAddNews","newsId","__dt","fetchSiteNews","_Tabs","defaultActiveKey","tabPosition","TabPane","tab","undoInlineEdit","inlineEditVal","setInlineEditVal","importing","setImporting","importState","setImportState","editDlg","setEditDlg","onUndoInlineEdit","token","reload","progressState","uploadFile","idp","UndoOutlined","addRecord","changes","undoInlineEditFun","importDlg","setImportDlg","showIframeByKey","setShowIframeByKey","doneApp","centered","showMap","setShowMap","showMassChangeDlg","setShowMassChangeDlg","dlgDeleteObjects","setDlgDeleteObjects","uploadDlg","setUploadDlg","hideActions","setHideActions","useHotkeys","onDeleteObjects","onUploadObjects","FileAddOutlined","GlobalOutlined","UnorderedListOutlined","paddingBottom","DingtalkOutlined","onMassChanges","check","__checkNumber","mapId2Props","object","coordinates","fixMapObject","apiMapObjectSet","generateEditForm","formProps","catProps","catSets","required","req","_state","mapSettings","catDlg","setCatDlg","propDlg","setPropDlg","dictDlg","setDictDlg","iconDlg","setIconDlg","onRow","rowIndex","cat","setStats","regions","setRegions","renderPercent","setRenderPercent","renderPart","contextPadding","_Card","renderPeriod","renderPdfPage","section","sectionPart","kybLogo","subTitle","apiMapAnalytics","topPoiInfoByRegions","pdf","jsPDF","pdfPageWidth","internal","maxPages","tick","canvas","html2canvas","allowTaint","logging","addImage","addPage","save","pdfProgress","pdfPages","ApartmentOutlined","apiSiteMetaSet","qs","productId","certificates","manuals","modelDlg","setModelDlg","visisble","__date","zid","fetchPage","showLine","switcherIcon","node","forceRender","$gte","sets","setSets","region","addProp","removeProp","suze","showAddUsersToEventDlg","setShowAddUsersToEventDlg","apiW3UserList","webinarUser","emailState","FolderAddOutlined","userIds","editMode","setEditMode","eventList","setEventList","userTestAnswersDlg","setUserTestAnswersDlg","__list","saveModel","scroll","__test","certUrl","newTestDialog","setNewTestDialog","tests","setTests","apiWebinar3TestList","fetchTests","copyTests","previewTestId","setPreviewTestId","eventsTestId","setEventsTestId","ansEditor","setAnsEditor","onCloseAnswerEditor","CaretUpOutlined","toUp","ansId","CaretDownOutlined","toDown","onAddNewQ","qId","EnvironmentOutlined","addSeminar","addWebiinar","cellMaxWidth","UsergroupAddOutlined","_eventsIds","openImportDlg","setOpenImportDlg","showResult0","setShowResult0","showTest","setShowTest","setAnswersCount","results1","setResults1","eventSelectLink","setEventSelectLink","fetchEvent","eid","counts","__result1","cnt","coach","place","dtSend","certDlg","setCertDlg","openUserWebinarLink","encode","QRCode","onOpenChange","QrcodeOutlined","UserAddOutlined","UserOutlined","gotoUsersListWithEvents","stage","onStateChange","arr","deleteStage","MailOutlined","addNewStage","onPreviewTest","PercentageOutlined","onPreviewTestWithAnswers","deleteTest","onCertEditor","onDoubleClick","onContextMenu","onMouseEnter","onMouseLeave","taid","aid","r1Q","testQuestion","_List","itemLayout","__answers","renderItem","uid","Meta","u","lastname","firstname","company","city","email","parent","LoginDlgLogo","clipRule","KybLoginPhoneDialog","onSendPhone","sendPhone","KybLoginSmsCodeDialog","onCodeCheck","errCode","codeType","smsCode","codeCheck","example","KybLoginDialog","onAuthSuccess","phoneDlgVisible","setPhoneDlgVisible","codeDlgVisible","setCodeDlgVisible","setCodeType","setErrCode","setPhoneNumber","USER_XD_FORM","disableEnterPhone","hidePhoneNumber","Webinars3UserForm","onSuccess","setDisableEnterPhone","fetchUser","isBrowser","timezone","ism","Logo","Webinars3ConnectHeader","showMenu","setShowMenu","BrowserView","MobileView","mobi","MenuOutlined","Webinars3StopDialogs","okDialog","setOkDialog","emailDialog","setEmailDialog","dlgContent","Webinars3ConnectHome","loginDialogVisible","setLoginDialogVisible","showUserForm","setShowUserForm","sendBtnDisable","setSendBtnDisable","eventsList","setEventsList","selectedEventIds","setSelectedEventIds","showResultDialog","setShowResultDialog","preselected","setPreselected","addUserToEvents","eventIds","fetchList","decode","container","subh1","eventBlk","onSelectEvent","onShowLoginDialog","onCloseUserForm","W3EventCard","isBefore","W3AvailableEventCard","W3FinishedEventCard","onShowCertificate","KybLogoIcon","getItem","LogoutOutlined","Redirect","Route","paddingTop","setResult","sendTest","extRes","ArrowLeftOutlined","question","onAnsTheQuestion","questionId","onFreeAns","maxLength","Webinars3MainForm","mobiLeftMenuVisible","setMobiLeftMenuVisible","selectedMenu","setSelectedMenu","matchPath","pathname","onMenuSelect","keyPath","web3MainFrame","Sider","collapsible","collapsed","logo","defaultOpenKeys","Header","minHeight","Switch","mobiLayout","_Drawer","mobiDrawer","_Space","contentWrapperStyle","headerStyle","defaultSelectedKeys","Webinars3Connect","__error","onSuccessUserForm","LoginDialog","UserBlocked","UserProfile","UserEmailConfirmed","showProfileDlg","setShowProfileDlg","UserWaitEmailConfirm","UserWaitRoles","Null","AUTH_STATE","WEBINARS3_CONNECT_DOMAINS","MainFrame","notifyList","updateNotifyList","useSetRecoilState","myUpNotifyList","notifyCountByRole","notifyByRoleGroup","webinars3Connect","setWebinars3Connect","showMainFrame","setShowMainFrame","authState","setAuthState","routesList","selectedItem","openMainItem","currentPath","setSelectedItem","setOpenMainItem","rrList","rr","strict","useMainMenu","openItems","setOpenItems","userProfileDlgVisible","setUserProfileDlgVisible","io","emailOk","channelsName","useChannelsSubscribe","updatedList","hostname","rightMenu","showProfile","Divider","logout","paddingRight","RetweetOutlined","apiNotifyHideById","onHideNotify","onHideAllNotify","arrowPointAtCenter","_Badge","count","MoreOutlined","openKeys","SubMenu","dot","sit","onCloseUserProfileDlg","SiteLoading","RecoilRoot","Router","fallback","_ConfigProvider","ruRU","App","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","amdO","O","chunkIds","fn","priority","notFulfilled","fulfilled","every","splice","getter","__esModule","getPrototypeOf","ns","create","getOwnPropertyNames","definition","defineProperty","enumerable","chunkId","all","promises","miniCssF","g","globalThis","Function","hasOwnProperty","needAttach","scripts","s","charset","timeout","nc","onScriptComplete","prev","onerror","clearTimeout","doneFns","Symbol","toStringTag","nmd","paths","baseURI","self","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}