{"version":3,"file":"js/chunk-vendors.js","mappings":"iLAaO,IAAIA,EAAsB,eACtBC,EAA6B,qBAC7BC,EAA4B,qBAC5BC,EAA6B,sB,gDCLjC,IAAIC,EAAe,U,6kBCEnB,IAAIC,EAAY,OACZC,EAAmB,aACnBC,EAAY,OACZC,EAAY,OACZC,EAAgB,UAChBC,EAAc,SACdC,EAAiB,YACjBC,EAAoB,eACpBC,EAAiB,WACjBC,EAAqB,eACrBC,EAAiB,WACjBC,EAAY,OACZC,EAAe,UACfC,EAAa,QACbC,EAA2B,mBAC3BC,EAAY,OACZC,EAAY,OACZC,EAA6B,wBAC7BC,EAAa,QACbC,EAAkB,YAClBC,EAAoB,aACpBC,EAAkB,YAClBC,EAAuB,iBACvBC,EAAoB,aACpBC,EAA0B,kBAC1BC,EAAc,SACdC,EAA0B,kBAC1BC,EAAoB,cACpBC,EAAgB,UAChBC,EAAkB,aAClBC,EAAe,UACfC,EAAoB,cACpBC,EAA2B,qBAC3BC,EAAsB,gBACtBC,EAA6B,sBAC7BC,EAA6B,wBAC7BC,EAA6B,sBAC7BC,EAA6B,uBAC7BC,EAAmB,aACnBC,EAA6B,6BAC7BC,EAAe,UACfC,EAA6B,uBAC7BC,EAA6B,yBAC7BC,EAA2B,oBAC3BC,EAAuB,gBACvBC,EAAyB,mBACzBC,EAAyB,mBACzBC,EAA0B,mBAC1BC,EAAiB,YACjBC,EAAiB,WACjBC,EAA2B,oBAC3BC,GAAmB,aACnBC,GAAsB,gBACtBC,GAAsB,gBACtBC,GAAmB,aACnBC,GAAiB,WACjBC,GAAmB,aACnBC,GAA2B,oBAC3BC,GAA0B,mBAC1BC,GAA2B,kB,gHC3D/B,IAAIC,EAAuB,0DACvBC,EAAa,aACbC,EAAgB,gBAChBC,EAAa,cACbC,EAA0B,uCAC1BC,EAAsB,YACtBC,EAAkB,gBAClBC,EAAU,M,gECbVC,GAAc,OAAgB,CACrCC,aAAc,EACdC,eAAgB,KAEiB,OAAgB,CACjDC,GAAI,EACJC,WAAY,EACZC,IAAK,KAKqB,OAAgB,CAI1CC,OAAQ,EAIRC,SAAU,G,mJCnBd,IAAIC,EAAW,GAWR,SAASC,EAAaC,IACrBC,MAAMD,IAAYA,EAAU,KAC5BA,EAAU,GAEdA,EAAUE,KAAKC,MAAMH,GACrB,IAAII,EAAKN,EAAWE,EAAU,IAC1BK,EAAMP,EAAWI,KAAKI,MAAMN,EAAU,KAAQ,GAC9CO,EAAMT,EAAWI,KAAKI,MAAMN,EAAU,KAAe,GACrDQ,EAAOV,EAAWI,KAAKI,MAAMN,EAAU,MAAoB,GAC3DS,EAAOP,KAAKI,MAAMN,EAAU,OAKhC,OAJAI,EAA8C,IAAzCA,EAAG,MAA0C,KAAOA,EAA8C,IAAzCA,EAAG,MAA0C,IAAMA,EAAKA,EACtHC,EAAMA,EAAI,MAAoC,EAAI,IAAMA,EAAMA,EAC9DE,EAAMA,EAAI,MAAoC,EAAI,IAAMA,EAAMA,EAC9DC,EAAOA,EAAK,MAAoC,EAAI,IAAMA,EAAOA,GACzDC,EAAO,EAAIA,EAAO,IAAMX,GAAYU,EAAO,IAAMD,EAAM,IAAMF,EAAM,IAAMD,CACrF,CAWO,SAASM,EAAmBC,EAASC,EAAKC,EAAYC,EAAcC,GACvE,OAAQA,IAAS,SAASJ,KAAyB,kBAAZA,GAA2C,iBAAZA,EAC1E,C,0ECvCA,SAASK,EAAYC,GACjB,IAAIC,EAAS,MAAQD,EAAW,IAChC,OAAO,SAAUE,GACb,OAAOD,EAASC,CACpB,CACJ,CACA,IAAIC,EAAiBJ,EAAY,eAC7BK,EAAYL,EAAY,UACxBM,EAAcN,EAAY,YAC1BO,EAAeP,EAAY,aAC3BQ,EAAaR,EAAY,WACzBS,EAAUT,EAAY,QACtBU,EAAWV,EAAY,SACvBW,EAAcX,EAAY,YAC1BY,EAAgC,SAAUC,GAE1C,SAASD,IACL,OAAOC,EAAOC,KAAKC,OAASA,IAChC,CACA,OAJA,QAAUH,EAAgBC,GAInBD,CACX,CANmC,EAMjC,QAAyB,CACvBI,mBAAoBZ,EAAe,OACnCa,iBAAkBb,EAAe,SACjCc,kBAAmBd,EAAe,UAClCe,cAAef,EAAe,iBAC9BgB,iBAAkBhB,EAAe,SACjCiB,SAAUhB,EAAU,MACpBiB,SAAUjB,EAAU,MACpBkB,eAAgBlB,EAAU,YAC1BmB,aAAcnB,EAAU,UACxBoB,YAAapB,EAAU,SACvBqB,mBAAoBrB,EAAU,gBAC9BsB,cAAetB,EAAU,WACzBuB,kBAAmBvB,EAAU,eAC7BwB,cAAexB,EAAU,WACzByB,SAAUzB,EAAU,MACpB0B,gBAAiB1B,EAAU,aAC3B2B,mBAAoB3B,EAAU,gBAC9B4B,eAAgB5B,EAAU,YAC1B6B,uBAAwB7B,EAAU,oBAClC8B,WAAY9B,EAAU,QACtB+B,kBAAmB/B,EAAU,eAC7BgC,aAAchC,EAAU,UACxBiC,cAAejC,EAAU,WACzBkC,qBAAsBlC,EAAU,kBAChCmC,WAAYlC,EAAY,MACxBmC,gBAAiBnC,EAAY,WAC7BoC,iBAAkBpC,EAAY,YAC9BqC,aAAcrC,EAAY,QAC1BsC,YAAarC,EAAa,MAC1BsC,cAAetC,EAAa,QAC5BuC,kBAAmBvC,EAAa,YAChCwC,gBAAiBxC,EAAa,UAC9ByC,yBAA0BzC,EAAa,mBACvC0C,2BAA4B1C,EAAa,qBACzC2C,UAAW1C,EAAW,MACtB2C,eAAgB3C,EAAW,WAC3B4C,aAAc5C,EAAW,SACzB6C,2BAA4B5C,EAAQ,0BACpC6C,cAAe7C,EAAQ,aACvB8C,UAAW9C,EAAQ,aACnB+C,OAAQ/C,EAAQ,MAChBgD,gBAAiBhD,EAAQ,eACzBiD,eAAgBjD,EAAQ,cACxBkD,iCAAkClD,EAAQ,2BAC1CmD,qCAAsCnD,EAAQ,2BAC9CoD,UAAWnD,EAAS,QACpBoD,UAAWpD,EAAS,QACpBqD,aAAcrD,EAAS,WACvBsD,kBAAmBtD,EAAS,gBAC5BuD,iBAAkBvD,EAAS,eAC3BwD,cAAexD,EAAS,YACxByD,oBAAqBzD,EAAS,kBAC9B0D,iBAAkBzD,EAAY,YAC9B0D,mBAAoB1D,EAAY,cAChC2D,qBAAsB3D,EAAY,gBAClC4D,gBAAiB5D,EAAY,WAC7B6D,eAAgB7D,EAAY,Y,uEChFrB8D,EAAa,CACpBC,QAAS,OACTC,UAAW,SACXC,SAAU,QACVC,OAAQ,MACRC,OAAQ,MACRC,MAAO,KACPC,WAAY,MACZC,OAAQ,OAEDC,EAAa,IAAI,G,+DCRjBC,GAAiB,OAAe,CACvCC,qBAAsB,CAAC,EAA8C,mBACrEC,wBAAyB,CAAC,EAAiD,SAC3EC,0BAA2B,CAAC,EAAmD,iBAC/EC,gBAAiB,CAAC,EAAyC,cAC3DC,kBAAmB,CAAC,EAA2C,eAC/DC,iBAAkB,CAAC,EAA0C,cAC7DC,iBAAkB,CAAC,EAA0C,eAC7DC,6BAA8B,CAAC,EAAsD,SACrFC,8BAA+B,CAAC,EAAuD,oB,+CCV3F,IAAIC,EAAsB,WAItB,SAASA,EAAKC,EAAUC,GAIpBhF,KAAKiF,eAAiB,CAClBF,SAAU,EACVG,SAAU,GAEdlF,KAAK+E,SAAWA,EAChB/E,KAAKkF,SAAWF,CACpB,CACA,OAAOF,CACX,CAhByB,E,0RCGlB,SAASK,EAAgCC,EAAQC,EAAKC,GACzD,IAAIC,EAAaF,EAAI,MACjBG,EAAQC,EAAgBL,EAAQC,GAEpC,GAAIG,EAAM,QAAsCD,EAAY,CACxD,IAAIG,EAAI,EACJC,EAAcH,EAClB,WAA4BI,IAArBN,EAAIK,GACPD,IACAC,GAAc,SAAaH,EAAO,EAAG,KAAqDK,EAAYH,GAE1GF,EAAQG,CACZ,CACA,OAAOH,CACX,CACO,SAASC,EAAgBL,EAAQhG,GACpC,IAAI0G,EAUJ,OATI1G,IAEAA,GAAO,UAAQ,SAASA,IAEpBA,EAAK,MAAoC,MACzC0G,GAAY,SAAa1G,EAAM,EAAG,MAClC,QAAegG,EAAQ,EAAkC,GAA0C,8DAAiH,CAAEhG,KAAMA,IAAQ,KAGrO0G,GAAa1G,CACxB,CACO,SAAS2G,EAAmBX,EAAQY,EAAOC,GAE9C,IAAIC,EASJ,YAVkB,IAAdD,IAAwBA,EAAY,MAEpCD,IACAC,EAAYA,GAAwB,KACpCD,GAAQ,UAAQ,SAASA,IACrBA,EAAM,MAAoCC,IAC1CC,GAAa,SAAaF,EAAO,EAAGC,IACpC,QAAeb,EAAQ,EAAkC,GAAiD,sDAAwDa,EAAY,eAAgB,CAAED,MAAOA,IAAS,KAGjNE,GAAcF,CACzB,CACO,SAASG,EAAgBf,EAAQvG,GACpC,OAAOuH,EAAkBhB,EAAQvG,EAAK,KAA+C,GACzF,CACO,SAASwH,EAAoBjB,EAAQxG,GACxC,IAAI0H,EAOJ,OANI1H,GACIA,EAAQ,MAAoC,QAC5C0H,GAAe,SAAa1H,EAAS,EAAG,QACxC,QAAewG,EAAQ,EAAkC,GAA+C,kEAAwH,CAAExG,QAASA,IAAW,IAGvP0H,GAAgB1H,CAC3B,CACO,SAAS2H,EAAsBnB,EAAQoB,GAC1C,IAAIC,EACJ,GAAID,EAAW,CAEX,IAAIR,EAAQ,GAAKQ,EACbR,EAAM,MAAoC,QAC1CS,GAAiB,SAAaT,EAAO,EAAG,QACxC,QAAeZ,EAAQ,EAAkC,GAAiD,oEAA4H,CAAEoB,UAAWA,IAAa,GAExQ,CACA,OAAOC,GAAkBD,CAC7B,CACO,SAASE,EAAuBtB,EAAQuB,GAC3C,GAAIA,EAAY,CACZ,IAAIC,EAAc,CAAC,GACnB,SAAcD,GAAY,SAAUE,EAAMb,GACtC,IAAI,SAASA,KAAU,SAEnB,IACIA,GAAQ,UAAU,MAAwCA,EAC9D,CACA,MAAOc,IACH,QAAe1B,EAAQ,EAAkC,GAAmE,+BAAgC,CAAEoB,UAAWM,IAAK,EAClL,CAEJd,EAAQD,EAAmBX,EAAQY,EAAO,MAC1Ca,EAAO1B,EAAgCC,EAAQyB,EAAMD,GACrDA,EAAYC,GAAQb,CACxB,IACAW,EAAaC,CACjB,CACA,OAAOD,CACX,CACO,SAASI,EAAyB3B,EAAQ4B,GAC7C,GAAIA,EAAc,CACd,IAAIC,EAAqB,CAAC,GAC1B,SAAcD,GAAc,SAAUE,EAASlB,GAC3CkB,EAAU/B,EAAgCC,EAAQ8B,EAASD,GAC3DA,EAAmBC,GAAWlB,CAClC,IACAgB,EAAeC,CACnB,CACA,OAAOD,CACX,CACO,SAASG,EAAe/B,EAAQgC,GACnC,OAAOA,EAAKhB,EAAkBhB,EAAQgC,EAAI,IAA6C,IAAwC,QAA2CA,CAC9K,CACO,SAAShB,EAAkBhB,EAAQiC,EAAOpB,EAAWqB,GACxD,IAAIC,EAQJ,OAPIF,IACAA,GAAQ,UAAQ,SAASA,IACrBA,EAAM,MAAoCpB,IAC1CsB,GAAa,SAAaF,EAAO,EAAGpB,IACpC,QAAeb,EAAQ,EAAkCkC,EAAQ,+CAAiDrB,EAAY,eAAgB,CAAEjB,KAAMqC,IAAS,KAGhKE,GAAcF,CACzB,CACO,SAASxB,EAAY2B,GACxB,IAAIC,EAAI,KAAOD,EACf,OAAO,SAAUC,EAAGA,EAAE,MAAoC,EAC9D,C,+FClHIC,EAA0B,WAI1B,SAASA,EAAStC,EAAQJ,EAAM5F,GAC5B,IAAIuI,EAAQ3H,KACR4H,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZD,EAAME,WAAa,IACnBF,EAAMG,KAAO,CAAC,EACdH,EAAM,OAAgC,QAAmBxC,EAAQhG,IAAS,KAC1EwI,EAAM5C,KAAOA,EACb4C,EAAMI,MAAO,QAAY,IAAIC,MAC7BL,EAAM3C,eAAiB,CACnB+C,KAAM,EACNE,KAAM,EACN9I,KAAM,EACN0I,WAAY,WACR,OAA6B,MAArBH,EAAMG,WAAsB,EAA2B,CACnE,EACAC,KAAM,EACN/C,KAAM,EAEd,CACA,OAAO0C,CACX,CAzB6B,E,oFCDzBS,EAAuB,WAIvB,SAASA,EAAM/C,EAAQhG,EAAMuH,EAAYK,GACrChH,KAAKiF,eAAiB,CAClB4C,IAAK,EACLzI,KAAM,EACNuH,WAAY,EACZK,aAAc,GAElB,IAAIY,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZD,EAAM,OAAgC,QAAmBxC,EAAQhG,IAAS,KAC1EwI,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,EAC3F,CAGA,OAFAmB,EAAMC,aAAe,0CACrBD,EAAME,SAAW,YACVF,CACX,CApB0B,E,2GCGtBG,EAAW,cACXC,EAAW,QACXC,EAAW,QACXC,EAAkB,eAClBC,EAAc,WACdC,EAAa,UACbC,EAAiB,cACrB,SAASC,EAAW7C,EAAO8C,GACvB,IAAIC,EAAS/C,EAiBb,OAhBI+C,KAAW,SAASA,KAChBC,MAAQA,KAAK,OACbD,EAASC,KAAK,MAAwChD,IAClD8C,GAAqBC,GAAqB,OAAXA,IAE3BA,GADA,SAAW/C,EAAM,OACRA,EAAM,QAGN,GAAKA,IAKtB+C,EAAc/C,EAAQ,+BAGvB+C,GAAU,EACrB,CACA,SAASE,EAAeC,EAAUC,GAC9B,IAAIC,EAAaF,EAmBjB,OAlBIA,IACIE,KAAe,SAASA,KACxBA,EAAaF,EAASP,IAAeO,EAASN,IAAmBQ,GAGjEA,KAAe,SAASA,KAExBA,EAAaP,EAAWO,GAAY,IAEpCF,EAAS,cAETE,EAAaA,EAAa,MAAQF,EAAS,aAAe,IAAM,KAAOA,EAAS,WAAa,KAAO,KAAOA,EAAS,UAAY,OAIpIC,GAA2B,WAAdA,GAAwC,WAAdA,GAAwC,UAAdA,IAAsE,KAA7C,SAAWC,GAAc,GAAID,KACvHC,EAAaD,EAAY,KAAOC,GAE7BA,GAAc,EACzB,CACA,SAASC,EAA4BrD,GACjC,IACI,IAAI,SAASA,GACT,MAAO,iBAAkBA,GAAS,aAAcA,CAExD,CACA,MAAOc,GAEP,CACA,OAAO,CACX,CACA,SAASwC,EAAqBtD,GAC1B,IACI,IAAI,SAASA,GACT,MAAQ,QAASA,GAAS,eAAgBA,GAAS,eAAgBA,CAE3E,CACA,MAAOc,GAEP,CACA,OAAO,CACX,CACA,SAASyC,EAAgBC,GACrB,OAAOA,GAAWA,EAAQC,MAAO,SAASD,EAAQC,MAAQD,EAAQE,MAAO,SAAQF,EAAQE,IAC7F,CACA,SAASC,EAAiBC,GACtB,IAAIH,EAAMG,GAAc,IACnB,SAASH,KAENA,GADA,SAASA,EAAIjB,IACPiB,EAAIjB,GAGJ,GAAKiB,GAGnB,IAAII,EAAQJ,EAAI,MAAgC,MAChD,MAAO,CACHA,IAAKA,EACLC,IAAKG,EAEb,CACA,SAASC,EAAeC,GAGpB,IAFA,IAAIC,EAAQ,GACRC,EAAQF,EAAa,MAAgC,MAChDG,EAAK,EAAGA,EAAKD,EAAM,MAAmCC,IAAM,CACjE,IAAIC,EAAQF,EAAMC,GACdD,EAAMC,EAAK,KACXC,GAAS,IAAMF,EAAMC,EAAK,GAC1BA,KAEJF,EAAM,MAA8BG,EACxC,CACA,MAAO,CACHV,IAAKM,EACLL,IAAKM,EAEb,CACA,SAASI,EAAsBC,GAC3B,IAAIb,EAAU,KACd,GAAIa,EACA,IAGI,GAAIA,EAAS7B,GAETgB,EAAUG,EAAiBU,EAAS7B,SAEnC,GAAI6B,EAAS9B,IAAa8B,EAAS9B,GAAUC,GAE9CgB,EAAUG,EAAiBU,EAAS9B,GAAUC,SAE7C,GAAI6B,EAAS,cAAgBA,EAAS7D,UAAUgC,GACjDgB,EAAUG,EAAiBU,EAAS7D,UAAUgC,SAE7C,GAAIe,EAAgBc,GACrBb,EAAUa,OAET,GAAId,EAAgBc,EAAS5B,IAC9Be,EAAUa,EAAS5B,QAElB,IAAI,aAAe,WAAY,UAAY4B,EAAS1B,GAErDa,EAAUM,EAAeO,EAAS,YAEjC,GAAIA,EAAS,WAAaA,EAASC,OAAO9B,GAE3CgB,EAAUG,EAAiBU,EAASC,OAAO9B,SAE1C,IAAI,SAAS6B,GACdb,EAAUG,EAAiBU,OAE1B,CACD,IAAIjB,EAAaiB,EAAS1B,IAAe0B,EAASzB,IAAmB,IACjE,SAASyB,EAAS3B,MACdU,IACAA,GAAc,MAElBA,GAAc,SAAWiB,EAAS3B,IAElCU,IACAI,EAAUG,EAAiBP,GAEnC,CACJ,CACA,MAAOtC,GAGH0C,EAAUG,EAAiB7C,EAC/B,CAEJ,OAAO0C,GAAW,CACdC,IAAK,GACLC,IAAK,KAEb,CACA,SAASa,EAAkBC,GACvB,IAAIR,EAAQ,GAWZ,OAVIQ,IACIA,EAAad,KACb,SAAWc,EAAad,KAAK,SAAUS,GACnCH,GAASG,EAAQ,IACrB,IAGAH,EAAQQ,EAAaf,KAAO,IAG7BO,CACX,CACA,SAASS,EAAYT,GACjB,IAAIU,EACAC,EAASX,EAAMN,IACnB,GAAIiB,GAAUA,EAAO,MAAoC,EAAG,CACxDD,EAAc,GACd,IAAIE,EAAU,EACVC,EAAqB,GACzB,SAAWF,GAAQ,SAAUG,GACzB,IAAIC,EAAWD,EAAM,QACrB,GAAIE,EAAYC,MAAMC,KAAKH,GAAW,CAClC,IAAII,EAAc,IAAIH,EAAYD,EAAUH,KAC5CC,GAAsBM,EAAY,MAClCT,EAAY,MAA8BS,EAC9C,CACJ,IAGA,IAAIC,EAAgC,MACpC,GAAIP,EAAqBO,EAA+B,CACpD,IAAIC,EAAO,EACPC,EAAQZ,EAAY,MAAoC,EACxDa,EAAO,EACPC,EAAeH,EACfI,EAAgBH,EACpB,MAAOD,EAAOC,EAAO,CAEjB,IAAII,EAAQhB,EAAYW,GAAM,MAC1BM,EAAQjB,EAAYY,GAAO,MAE/B,GADAC,GAAQG,EAAQC,EACZJ,EAAOH,EAA+B,CAEtC,IAAIQ,EAAUH,EAAgBD,EAAe,EAC7Cd,EAAYmB,OAAOL,EAAcI,GACjC,KACJ,CAEAJ,EAAeH,EACfI,EAAgBH,EAChBD,IACAC,GACJ,CACJ,CACJ,CACA,OAAOZ,CACX,CACA,SAASoB,EAAc3C,GAEnB,IAAI4C,EAAW,GACf,GAAI5C,IACA4C,EAAW5C,EAAU4C,UAAY5C,EAAU,OAAiC,IACvE4C,GACD,IACI,IAAIC,EAAgB,wBAChBC,EAAU,EAAgBC,KAAK,EAAYC,YAAY,SAC3DJ,EAAYE,GAAWA,EAAQ,MAAoC,EAAKA,EAAQ,GAAK,EACzF,CACA,MAAOnF,GAEP,CAGR,OAAOiF,CACX,CAKO,SAASK,EAAiB/B,GAC7B,GAAIA,EACA,IACI,KAAK,SAASA,GAAW,CACrB,IAAIlB,EAAY2C,EAAczB,GAC1BtB,EAASF,EAAWwB,GAAU,GASlC,OARKtB,GAAqB,OAAXA,IACPsB,EAAS9B,KAET8B,EAAWA,EAAS9B,GACpBY,EAAY2C,EAAczB,IAE9BtB,EAASF,EAAWwB,GAAU,IAEI,KAAlC,SAAWtB,EAAQI,IAAkC,WAAdA,EAChCA,EAAY,IAAMJ,EAEtBA,CACX,CACJ,CACA,MAAOjC,GAEP,CAGJ,MAAO,IAAMuD,GAAY,GAC7B,CACA,IAAIgC,EAA2B,WAI3B,SAASA,EAAUjH,EAAQoB,EAAWG,EAAYK,EAAcsF,EAAelF,GAC3EpH,KAAKiF,eAAiB,CAClB4C,IAAK,EACL0E,WAAY,EACZD,cAAe,EACf3F,WAAY,EACZK,aAAc,GAElB,IAAIY,EAAQ5H,KACZ4H,EAAMC,IAAM,EACPyB,EAAqB9C,IAkBtBoB,EAAM,MAA4CpB,EAAU,OAA6C,GACzGoB,EAAM,MAA4CpB,EAAU,MAC5DoB,EAAM,MAAgDpB,EAAU,MAC5DA,EAAU,QACVoB,EAAM,MAAmDpB,EAAU,OAEnEA,EAAUY,KACVQ,EAAMR,GAAKZ,EAAUY,GACrBZ,EAAU,MAA0CY,GAAKZ,EAAUY,IAEnEZ,EAAU,QACVoB,EAAM,MAAiDpB,EAAU,QAGhE,SAAkBA,EAAU,SAC7BoB,EAAM,MAAyCpB,EAAU,SAhCxDG,IACDA,EAAa,CAAC,GAEdS,IACAT,EAAWS,GAAKA,GAEpBQ,EAAM,MAA4C,CAAC,IAAI4E,EAAkBpH,EAAQoB,EAAWG,IAC5FiB,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,GACnFsF,IACA1E,EAAM,MAAmD0E,GAEzDlF,IACAQ,EAAMR,GAAKA,GAsBvB,CA2DA,OA1DAiF,EAAUI,oBAAsB,SAAU7N,EAASC,EAAKC,EAAYC,EAAcC,EAAO0N,EAAK1C,EAAO2C,GACjG,IAAIC,EACAzD,EAAY2C,EAAc9M,GAAS0N,GAAO9N,GAC9C,OAAOgO,EAAK,CAAC,EACTA,EAAG,MAAmC3D,EAAerK,EAASuK,GAC9DyD,EAAG/N,IAAMA,EACT+N,EAAG9N,WAAaA,EAChB8N,EAAG7N,aAAeA,EAClB6N,EAAG5N,MAAQoN,EAAiBpN,GAAS0N,GAAO9N,GAC5CgO,EAAGF,IAAMN,EAAiBM,GAAO9N,GACjCgO,EAAG,MAAsCzD,EACzCyD,EAAGpC,aAAeJ,EAAsBJ,GAAShL,GAAS0N,GAC1DE,EAAGD,SAAWA,EACdC,CACR,EACAP,EAAUQ,oBAAsB,SAAUzH,EAAQoB,EAAWG,EAAYK,GACrE,IAAIuF,EAAa/F,EAAU,QACpB,SAAOA,EAAU,OAA2C,SAAUsG,GAAM,OAAON,EAAkB,MAA8DpH,EAAQ0H,EAAK,IACnLC,EAAgB,IAAIV,EAAUjH,GAAQ,SAAS,QAAS,CAAC,EAAGoB,GAAY,CAAE+F,WAAYA,IAAe5F,EAAYK,GACrH,OAAO+F,CACX,EACAV,EAAUW,UAAUC,YAAc,WAC9B,IAAIL,EACAM,EAAKlN,KAAMuM,EAAaW,EAAGX,WAAY5F,EAAauG,EAAGvG,WAAYK,EAAekG,EAAGlG,aAAcsF,EAAgBY,EAAGZ,cAAea,EAAeD,EAAGC,aAAc/F,EAAK8F,EAAG9F,GAAIgG,EAAWF,EAAGE,SAC/LC,EAA4Bd,aAAsBe,QAC/C,SAAOf,GAAY,SAAU/F,GAAa,OAAOA,EAAUyG,aAAe,UAC1ErH,EACP,OAAOgH,EAAK,CACJ/E,IAAK,OAET+E,EAAG,MAAyCS,EAC5CT,EAAGN,cAAgBA,EACnBM,EAAGjG,WAAaA,EAChBiG,EAAG5F,aAAeA,EAClB4F,EAAGO,aAAeA,EAClBP,EAAGxF,GAAKA,EACRwF,EAAGQ,SAAWA,EACdR,CACR,EAIAP,EAAUkB,sBAAwB,SAAU3O,EAASmN,EAAUyB,EAAUC,EAAUjE,EAASkE,GACxF,IAAId,EACJ,MAAO,CACHL,WAAY,EACPK,EAAK,CAAC,EACHA,EAAG,OAA+C,EAClDA,EAAGhO,QAAUA,EACbgO,EAAG5C,MAAQR,EACXoD,EAAGb,SAAWA,EACda,IAGhB,EACAP,EAAUjE,aAAe,8CACzBiE,EAAUhE,SAAW,gBACrBgE,EAAUsB,YAAcvB,EACjBC,CACX,CA9G8B,GAgH1BG,EAAmC,WACnC,SAASA,EAAkBpH,EAAQoB,EAAWG,GAC1C3G,KAAKiF,eAAiB,CAClBmC,GAAI,EACJwG,QAAS,EACT7B,SAAU,EACVnN,QAAS,EACTiP,aAAc,EACd7D,MAAO,EACPU,YAAa,GAEjB,IAAI9C,EAAQ5H,KACZ,GAAKqJ,EAA4B7C,GAwB7BoB,EAAM,MAAyCpB,EAAU,MACzDoB,EAAM,MAAsCpB,EAAU,MACtDoB,EAAMY,GAAYhC,EAAUgC,GAC5BZ,EAAM,MAA+CpB,EAAU,OAAgD,GAC/GoB,EAAM,MAAkDpB,EAAU,UA5BzB,CACzC,IAAIxH,EAAQwH,EACRkG,EAAM1N,GAASA,EAAM0N,KACpB,SAAQ1N,KACTA,EAAQA,EAAMuJ,IAAamE,GAAO1N,GAEtC4I,EAAM,OAAyC,QAAmBxC,EAAQ0G,EAAc9M,KAAW,KACnG4I,EAAM,OAAsC,QAAoBxC,EAAQ6D,EAAezC,GAAaxH,EAAO4I,EAAM,SAA4C,KAC7J,IAAIoC,EAAQxD,EAAUiC,IAAoB2B,EAAsB5D,GAChEoB,EAAM,MAA+C6C,EAAYT,IAE7D,SAAQpC,EAAM,SACd,SAAOA,EAAM,OAA8C,SAAUkD,GACjEA,EAAM,OAAwC,QAAmB1F,EAAQ0F,EAAM,OAC/EA,EAAM,OAAyC,QAAmB1F,EAAQ0F,EAAM,MACpF,IAEJlD,EAAMY,IAAY,QAAsBpD,EAAQmF,EAAkBP,IAClEpC,EAAMiG,cAAe,SAAQjG,EAAM8C,cAAgB9C,EAAM8C,YAAY,MAAoC,EACrG/D,IACAA,EAAW,MAAyCA,EAAW,OAA0CiB,EAAM,MAEvH,CAQJ,CAyBA,OAxBA4E,EAAkBQ,UAAUC,YAAc,WACtC,IAAIL,EACAhF,EAAQ5H,KACR0K,EAAc9C,EAAM,gBAAwD0F,QACzE,SAAO1F,EAAM,OAA8C,SAAUkD,GAAS,OAAOA,EAAMmC,aAAe,IAC7GI,GAA6BT,EAAK,CAC9BxF,GAAIQ,EAAMR,GACVwG,QAAShG,EAAMgG,QACf7B,SAAUnE,EAAM,MAChBhJ,QAASgJ,EAAM,MACfiG,aAAcjG,EAAM,MACpBoC,MAAOpC,EAAMY,IAEjBoE,EAAG,MAA4ClC,QAAe9E,EAC9DgH,GACJ,OAAOS,CACX,EACAb,EAAkBK,oBAAsB,SAAUzH,EAAQoB,GACtD,IAAIkE,EAAelE,EAAU,gBAAwD8G,QAC9E,SAAO9G,EAAU,OAA8C,SAAUsE,GAAS,OAAOE,EAAY,MAA8DF,EAAQ,KAC3KtE,EAAU,MACbsH,EAAmB,IAAItB,EAAkBpH,GAAQ,SAAS,QAAS,CAAC,EAAGoB,GAAY,CAAEkE,YAAaA,KACtG,OAAOoD,CACX,EACOtB,CACX,CApEsC,GAsElCxB,EAA6B,WAC7B,SAASA,EAAY+C,EAAaC,GAC9BhO,KAAKiF,eAAiB,CAClB+I,MAAO,EACPC,OAAQ,EACRT,SAAU,EACVC,SAAU,EACVC,KAAM,GAEV,IAAI9F,EAAQ5H,KAIZ,GAHA4H,EAAM,MAAgD,EAG3B,kBAAhBmG,EAA0B,CACjC,IAAIjD,EAAQiD,EACZnG,EAAM,MAAkCoG,EACxCpG,EAAM,MAAoCU,EAC1CV,EAAM,OAAwC,SAAQkD,GACtDlD,EAAM,MAAyC,GAC/CA,EAAM,MAAgC,EACtC,IAAIsG,EAAUpD,EAAMqD,MAAMnD,EAAYC,OAClCiD,GAAWA,EAAQ,OAAqC,IACxDtG,EAAM,OAAoC,SAAQsG,EAAQ,KAAOtG,EAAM,MACvEA,EAAM,OAAyC,SAAQsG,EAAQ,IAC/DtG,EAAM,MAAgCwG,SAASF,EAAQ,KAAO,EAEtE,MAEItG,EAAM,MAAkCmG,EAAY,MACpDnG,EAAM,MAAoCmG,EAAY,MACtDnG,EAAM,MAAwCmG,EAAY,MAC1DnG,EAAM,MAAyCmG,EAAY,MAC3DnG,EAAM,MAAgCmG,EAAY,MAClDnG,EAAM,MAAgD,EAE1DA,EAAMyG,aAAezG,EAAMqG,OAAO,MAClCrG,EAAMyG,aAAezG,EAAM6F,SAAS,MACpC7F,EAAMyG,aAAezG,EAAM4F,SAAS,MAEpC5F,EAAM,OAAiDoD,EAAYsD,SACnE1G,EAAMyG,aAAezG,EAAMoG,MAAMO,WAAW,MAC5C3G,EAAMyG,aAAezG,EAAM8F,KAAKa,WAAW,KAC/C,CAkBA,OAjBAvD,EAAY6B,oBAAsB,SAAU/B,GACxC,OAAO,IAAIE,EAAYF,EAAO,KAClC,EACAE,EAAYgC,UAAUC,YAAc,WAChC,IAAIrF,EAAQ5H,KACZ,MAAO,CACHgO,MAAOpG,EAAM,MACbqG,OAAQrG,EAAM,MACd4F,SAAU5F,EAAM,MAChB6F,SAAU7F,EAAM,MAChB8F,KAAM9F,EAAM,MAEpB,EAGAoD,EAAYC,MAAQ,uFACpBD,EAAYsD,SAAW,GAChBtD,CACX,CA7DgC,E,wEC5c5BwD,EAA2B,WAC3B,SAASA,IAILxO,KAAKiF,eAAiB,CAClB7F,KAAM,EACNqP,KAAM,EACNzI,MAAO,EACP0I,MAAO,EACPlQ,IAAK,EACLmQ,IAAK,EACLC,OAAQ,GAKZ5O,KAAKyO,KAAO,CAChB,CACA,OAAOD,CACX,CApB8B,G,WCI1BK,EAAwB,WAIxB,SAASA,EAAOzJ,EAAQhG,EAAM4G,EAAO0I,EAAOlQ,EAAKmQ,EAAKC,EAAQjI,EAAYK,GACtEhH,KAAKiF,eAAiB,CAClB4C,IAAK,EACLiH,QAAS,EACTnI,WAAY,GAEhB,IAAIiB,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZ,IAAIkH,EAAY,IAAIP,EACpBO,EAAU,MAAkCL,EAAQ,EAAIA,OAAQ9I,EAChEmJ,EAAUJ,IAAMzQ,MAAMyQ,IAAgB,OAARA,OAAe/I,EAAY+I,EACzDI,EAAUvQ,IAAMN,MAAMM,IAAgB,OAARA,OAAeoH,EAAYpH,EACzDuQ,EAAU,OAAgC,QAAmB3J,EAAQhG,IAAS,KAC9E2P,EAAU/I,MAAQA,EAClB+I,EAAUH,OAAS1Q,MAAM0Q,IAAsB,OAAXA,OAAkBhJ,EAAYgJ,EAClEhH,EAAMkH,QAAU,CAACC,GACjBnH,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,EAC3F,CAGA,OAFA6H,EAAOzG,aAAe,2CACtByG,EAAOxG,SAAW,aACXwG,CACX,CA1B2B,E,+FCAvBG,EAA0B,WAI1B,SAASA,EAAS5J,EAAQhG,EAAMP,EAAKoQ,EAAYtI,EAAYK,EAAcI,GACvEpH,KAAKiF,eAAiB,CAClB4C,IAAK,EACLzI,KAAM,EACNP,IAAK,EACLqQ,SAAU,EACVvI,WAAY,EACZK,aAAc,EACdI,GAAI,GAER,IAAIQ,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZD,EAAMR,IAAK,QAAehC,EAAQgC,GAClCQ,EAAM/I,KAAM,QAAgBuG,EAAQvG,GACpC+I,EAAM,OAAgC,QAAmBxC,EAAQhG,IAAS,KACrElB,MAAM+Q,KACPrH,EAAM,OAAwC,QAAaqH,IAE/DrH,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,EAC3F,CAGA,OAFAgI,EAAS5G,aAAe,6CACxB4G,EAAS3G,SAAW,eACb2G,CACX,CA5B6B,E,mFCDzBG,EAAqC,WAIrC,SAASA,EAAoB/J,EAAQhG,EAAMP,EAAKuQ,EAAQzI,EAAYK,EAAcqI,GAC9ErP,KAAKiF,eAAiB,CAClB4C,IAAK,EACLzI,KAAM,EACNP,IAAK,EACLqQ,SAAU,EACVI,UAAW,EACXC,eAAgB,EAChBC,YAAa,EACbC,iBAAkB,EAClBC,cAAe,EACf/I,WAAY,EACZK,aAAc,GAElB,IAAIY,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZD,EAAM/I,KAAM,QAAgBuG,EAAQvG,GACpC+I,EAAM,OAAgC,QAAmBxC,EAAQhG,IAAS,KAC1EwI,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,GACnFqI,IACAzH,EAAM8H,cAAgBL,EAAYK,cAClC9H,EAAM,MAAwCyH,EAAY,MAC1DzH,EAAM2H,eAAiBF,EAAYE,eACnC3H,EAAM0H,UAAYD,EAAYC,UAC9B1H,EAAM,MAAyDyH,EAAY,MAC3EzH,EAAM4H,YAAcH,EAAYG,YAExC,CAGA,OAFAL,EAAoB/G,aAAe,wDACnC+G,EAAoB9G,SAAW,0BACxB8G,CACX,CApCwC,E,+FCCpCQ,EAAsC,WAItC,SAASA,EAAqBvK,EAAQgC,EAAIwI,EAAaC,EAAa7J,EAAO8J,EAASC,EAAY9B,EAAQ+B,EAAYC,EAAoBtJ,EAAYK,QAC7H,IAAfgJ,IAAyBA,EAAa,QAC1ChQ,KAAKiF,eAAiB,CAClBmC,GAAI,EACJS,IAAK,EACLzI,KAAM,EACN2Q,WAAY,EACZb,SAAU,EACVY,QAAS,EACT9K,KAAM,EACNkL,OAAQ,EACRC,KAAM,EACNxJ,WAAY,EACZK,aAAc,EACdyH,KAAM,EACNzI,MAAO,EACP0I,MAAO,EACPlQ,IAAK,EACLmQ,IAAK,EACLC,OAAQ,EACRwB,eAAgB,EAChBC,iBAAkB,EAClBR,YAAa,EACbS,mBAAoB,GAExB,IAAI1I,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZD,EAAMR,GAAKA,EACXQ,EAAM,OAAwC,QAAa5B,GAC3D4B,EAAMkI,QAAUA,EAChBlI,EAAMmI,WAAaA,EAAa,GAChCnI,EAAMuI,MAAO,QAAmB/K,EAAQ4K,GACxC,IAAIO,GAAmB,QAA8BnL,EAAQwK,EAAa3B,EAAQ4B,GAClFjI,EAAM5C,MAAO,QAAgBI,EAAQyK,IAAgBU,EAAiBvL,KACtE4C,EAAMsI,QAAS,QAAmB9K,EAAQmL,EAAiBL,QACvDD,IACArI,EAAMsI,OAAS,GAAGM,OAAO5I,EAAMsI,OAAQ,OAAOM,OAAOP,IAEzDrI,EAAM,OAAgC,QAAmBxC,EAAQmL,EAAiB,OAClF3I,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,EAC3F,CAGA,OAFA2I,EAAqBvH,aAAe,qDACpCuH,EAAqBtH,SAAW,uBACzBsH,CACX,CAjDyC,E,oFCDrCc,EAAuB,WAIvB,SAASA,EAAMrL,EAAQxG,EAAS0N,EAAe3F,EAAYK,GACvDhH,KAAKiF,eAAiB,CAClB4C,IAAK,EACLjJ,QAAS,EACT0N,cAAe,EACf3F,WAAY,GAEhB,IAAIiB,EAAQ5H,KACZ4H,EAAMC,IAAM,EACZjJ,EAAUA,GAAW,KACrBgJ,EAAM,OAAsC,QAAoBxC,EAAQxG,GACxEgJ,EAAM,OAA4C,QAAuBxC,EAAQuB,GACjFiB,EAAM,OAAgD,QAAyBxC,EAAQ4B,GACnFsF,IACA1E,EAAM,MAAmD0E,EAEjE,CAGA,OAFAmE,EAAMrI,aAAe,4CACrBqI,EAAMpI,SAAW,cACVoI,CACX,CAxB0B,E,uICD1B,IAAIC,GAAY,YAAiB,CAAC,EAC9BC,EAAiB,EAGjBC,EAAqB,0BAA8B,KAA9B,2BAClB,SAASC,EAAYhS,GACxB,IAAIiS,EAAYH,EACZI,EAAcH,EACdI,EAAaD,EAAYD,GAgB7B,OAfKJ,EAAUO,cAILF,EAAYD,KAElBE,EAAaD,EAAYD,GAAaJ,EAAUO,cAAc,MAJ9DD,EAAa,CAAEE,KAAMC,EAAatS,GAAK,IAM3CmS,EAAWI,KAAOvS,EAElBiS,IACIA,GAAaC,EAAY,QACzBD,EAAY,GAEhBH,EAAiBG,EACVE,CACX,CACO,SAASK,EAAkBxS,GAC9B,IAAIkK,EACAuI,EAAIT,EAAYhS,GAIpB,OAHIyS,IACAvI,EAASuI,EAAEF,MAERrI,CACX,CASO,SAASwI,EAAkBtD,EAAQ2B,GACtC,OAAI3B,EACOA,EAAOuD,cAAgB,IAAM5B,EAEjCA,CACX,CAEO,SAASuB,EAAatS,EAAK4S,GAC9B,IAAIC,EAAWC,EAAiB9S,EAAK4S,IAAa,GAClD,GAAIC,EAAU,CACV,IAAIvD,EAAQuD,EAASvD,MAAM,+CAC3B,GAAa,MAATA,GAAiBA,EAAM,MAAoC,IAAK,SAASA,EAAM,KAAOA,EAAM,GAAG,MAAoC,EACnI,OAAOA,EAAM,IAAMA,EAAM,IAAM,GAEvC,CACA,OAAOuD,CACX,CACO,SAASC,EAAiB9S,EAAK4S,GAClC,IAAI1I,EAAS,KACb,GAAIlK,EAAK,CACL,IAAIsP,EAAQtP,EAAIsP,MAAM,gDACtB,GAAa,MAATA,GAAiBA,EAAM,MAAoC,IAAK,SAASA,EAAM,KAAOA,EAAM,GAAG,MAAoC,IACnIpF,EAASoF,EAAM,IAAM,GACjBsD,GAAYtD,EAAM,MAAoC,GAAG,CACzD,IAAIyD,GAAYzD,EAAM,IAAM,IAAI,QAC5B0D,EAAO1D,EAAM,IAAM,IAEN,SAAbyD,GAAgC,QAATC,GAGL,UAAbD,GAAiC,SAATC,KAF7BA,EAAO,IAKX9I,GAAU8I,CACd,CAER,CACA,OAAO9I,CACX,C,mYC1EA,IAAI+I,EAAqB,CACrB,KAA0B,KAC1B,8CAAgD,KAChD,2CAA6C,MAE7CC,EAAuB,UACpB,SAASC,EAAsCC,GAClD,OAAwG,KAAjG,SAAWH,EAAoBG,EAAY,QACtD,CAcO,SAASC,EAAyCC,EAAQC,EAAYC,GACzE,IAAKD,GAAeD,GAAUA,EAAOG,0BACjC,OAAO,EAEX,GAAIH,GAAUA,EAAO,MACjB,IAAK,IAAIzM,EAAI,EAAGA,EAAIyM,EAAOI,iCAAiC,MAAmC7M,IAC3F,GAAIyM,EAAO,MAA2EzM,GAAGwF,KAAKkH,GAC1F,OAAO,EAInB,IAAII,GAAc,QAAYJ,GAAYlB,KAAK,QAM/C,IALIsB,IAAqD,KAArC,SAAWA,EAAa,UAAsD,KAApC,SAAWA,EAAa,SAGlFA,IAAe,QAAiBJ,GAAY,IAAS,IAAI,WAEvDD,IAAWA,EAAOM,wBAA2BD,GAAeA,IAAgBH,EAC9E,OAAO,EAEX,IAEQK,EAFJC,EAAkBR,GAAUA,EAAOS,yBACvC,GAAID,KAEA,SAAWA,GAAiB,SAAUE,GAClC,IAAI5H,EAAQ,IAAI6H,OAAOD,EAAOE,cAAcC,QAAQ,MAAO,QAAQA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OACxGN,EAAgBA,GAAiBzH,EAAMC,KAAKsH,EAChD,KACKE,GACD,OAAO,EAGf,IAAIO,EAAkBd,GAAUA,EAAOe,iCACvC,IAAKD,GAAyE,IAAtDA,EAAgB,MACpC,OAAO,EAEX,IAASvN,EAAI,EAAGA,EAAIuN,EAAgB,MAAmCvN,IAAK,CACxE,IAAIuF,EAAQ,IAAI6H,OAAOG,EAAgBvN,GAAGqN,cAAcC,QAAQ,MAAO,QAAQA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OACpH,GAAI/H,EAAMC,KAAKsH,GACX,OAAO,CAEf,CAGA,OAAOA,GAAeA,EAAY,MAAoC,CAC1E,CAIO,SAASW,EAAmCC,GAC/C,GAAIA,EAAgB,CAChB,IAAIC,EAAgBC,EAAwCF,EAAgB,IAAe,IAC3F,GAAIC,GAAiBA,IAAkBtB,EACnC,OAAOsB,CAEf,CACJ,CAIO,SAASC,EAAwCF,EAAgB/N,GACpE,GAAI+N,EAEA,IADA,IAAIG,EAAYH,EAAe,MAAgC,KACtD1N,EAAI,EAAGA,EAAI6N,EAAU,QAAqC7N,EAAG,CAClE,IAAI8N,EAAWD,EAAU7N,GAAG,MAAgC,KAC5D,GAAmD,IAA/C8N,EAAS,OAA2CA,EAAS,KAAOnO,EACpE,OAAOmO,EAAS,EAExB,CAER,CACO,SAASC,EAA8BrO,EAAQwK,EAAa3B,EAAQ4B,GACvE,IAAIK,EAAQ9Q,EAAOyQ,EAAa7K,EAAO6K,EACvC,GAAID,GAAeA,EAAY,MAAoC,EAAG,CAClE,IAAI8D,GAAY,QAAY9D,GAE5B,GADAM,EAASwD,EAAUxC,MACd9R,EACD,GAAuD,MAAnDsU,EAAU,MAA+C,CACzD,IAAIC,EAAqE,IAAzDD,EAAUE,SAAS,MAA2C,IAAMF,EAAU,MACnE,MAAvBC,EAASE,OAAO,KAChBF,EAAW,IAAMA,GAErB3O,EAAO0O,EAAU,MACjBtU,GAAO,QAAmBgG,EAAQ6I,EAASA,EAAS,IAAM0F,EAAWA,EACzE,MAEIvU,GAAO,QAAmBgG,EAAQwK,EAG9C,MAEIM,EAASL,EACTzQ,EAAOyQ,EAEX,MAAO,CACHK,OAAQA,EACR9Q,KAAMA,EACN4F,KAAMA,EAEd,CACO,SAAS8O,IAEZ,IAAIC,GAAO,WACX,GAAIA,GAAQA,EAAKC,KAAOD,EAAKE,OAAQ,CACjC,IAAID,EAAMD,EAAKC,MAAQD,EAAKE,OAAOC,gBAEnC,GAAIF,EAAM,EACN,OAAOA,CAEf,CACA,OAAO,UACX,CACO,SAASG,EAAsBC,EAAOC,GACzC,IAAItL,EAAS,KAIb,OAHc,IAAVqL,GAAuB,IAARC,IAAc,SAAkBD,KAAW,SAAkBC,KAC5EtL,EAASsL,EAAMD,GAEZrL,CACX,CAOO,SAASuL,EAAuCC,EAAgBC,GACnE,IAAIC,EAAQF,GAAkB,CAAC,EAC/B,MAAO,CACHG,QAAS,WACL,OAAOD,EAAM,KACjB,EACAE,QAAS,SAAUC,GACfJ,GAAaA,EAAUG,QAAQC,GAC/BH,EAAM,MAAgCG,CAC1C,EACAC,WAAY,WACR,OAAOJ,EAAMK,OACjB,EACAC,WAAY,SAAUH,GAClBJ,GAAaA,EAAUO,WAAWH,IAC9B,QAAeA,KACfH,EAAMK,QAAUF,EAExB,EACAI,UAAW,WACP,OAAOP,EAAMQ,QACjB,EACAC,UAAW,SAAUN,GACjBJ,GAAaA,EAAUU,UAAUN,IAC7B,QAAcA,KACdH,EAAMQ,SAAWL,EAEzB,EACAO,cAAe,WACX,OAAOV,EAAMW,UACjB,EACAC,cAAe,SAAUC,GACrBd,GAAaA,EAAUa,cAAcC,GACrCb,EAAMW,WAAaE,CACvB,EAER,C,oXCvLO,IAAIC,EAAa,QACb/b,EAAc,SACdgc,EAAqB,cACrBC,EAAyB,oBACzB5b,EAAiB,WACjBK,EAAY,OACZwb,EAAmB,aACnBpc,EAAY,OACZqc,EAAe,UACf3b,EAAa,QACb4b,EAAwB,iBACxBC,EAAgB,WAChBC,EAAgB,WAChBC,EAAqB,cACrBC,EAAY,OACZC,EAAmB,aACnBxc,EAAiB,YACjByc,EAAgB,WAChBC,EAA6B,mCAE7BC,EAAkB,aAClBC,EAAoB,cACpBC,EAAkB,aAClB5c,EAAoB,eACpB6c,EAAqB,cACrBC,EAAiB,WACjBC,EAAsB,gBACtBC,EAAqB,eACrBC,EAAiB,WACjBC,EAA6B,sBAC7BC,EAAgB,WAChBC,EAAiB,WACjBC,EAAsB,eACtBC,EAAa,QACbC,EAAc,SACdC,EAAY,OACZC,EAAgB,WAChBC,EAAyB,kB,0IC1CpC,SAASC,EAAkBrR,GACvB,OAAQA,IAAS,SAASA,KAAWA,EAAMsR,OAAStR,EAAMuR,KAAM,SAAUvR,EAAO,OAAQ,SAAUA,EAAO,SAAU,SAAUA,EAAO,QAAUA,EAAMwR,IACzJ,CACA,SAASC,EAAYC,EAAgBC,EAAWC,GAC5C,IAAIC,EACAC,EAAiBF,EAAYG,OAAS,MAE1C,GAAIJ,GAAaC,EAAYL,GAAI,CAC7B,IAAIS,EAAYJ,EAAYL,IACvB,SAAQS,KACTA,EAAY,CAACA,IAEjB,IAAK,IAAI9N,EAAK,EAAGA,EAAK8N,EAAU,MAAmC9N,IAAM,CACrE,IAAI+N,EAAWD,EAAU9N,GACrBgO,EAAUP,EAAUM,GAaxB,GAZIH,EAAeI,GACfL,EAAWK,EAENR,IAELQ,EAAUR,EAAeS,IAAIF,GACzBH,EAAeI,KACfL,EAAWK,GAGfR,EAAeF,IAAIE,EAAeS,KAAK,SAASF,GAAWC,IAE3DJ,EAAeD,GAEf,KAER,CACJ,CAKA,OAHKC,EAAeD,IAAaC,EAAeF,EAAYQ,KACxDP,EAAWD,EAAYQ,GAEpBP,CACX,CAQA,SAASQ,EAAqBX,EAAgBC,EAAWC,GACrD,IAQQU,EARJC,EAAWX,GACXA,GAAeP,EAAkBO,KACjCW,EAAWd,EAAYC,EAAgBC,EAAWC,IAElDW,KACIlB,EAAkBkB,KAClBA,EAAWF,EAAqBX,EAAgBC,EAAWY,KAG3D,SAAQA,IACRD,EAAa,GACbA,EAAW,MAAoCC,EAAS,QAEnD,SAAcA,KACnBD,EAAa,CAAC,GAEdA,KACA,SAAcC,GAAU,SAAUlT,EAAKW,GAC/BA,GAASqR,EAAkBrR,KAC3BA,EAAQqS,EAAqBX,EAAgBC,EAAW3R,IAE5DsS,EAAWjT,GAAOW,CACtB,IACAuS,EAAWD,IAGnB,OAAOC,CACX,CAOO,SAASC,EAAmBd,EAAgBC,EAAWvY,EAAMqZ,GAEhE,IAAIC,EACAC,EACAd,EAEAe,EACAC,EACAC,EACAC,EAuBAR,EA3BAX,EAAca,EAKdpB,EAAkBO,IAElBc,EAAUd,EAAYN,MACtBqB,EAAQf,EAAYJ,IACpBsB,EAAWlB,EAAY,MACvBmB,EAAkBnB,EAAY,MAC9BgB,EAAUhB,EAAYoB,IACtBH,EAAYjB,EAAYqB,KACnBJ,IAAa,SAAYA,KAC1BA,IAAcD,GAElBf,EAAWJ,EAAYC,EAAgBC,EAAWC,IAGlDC,EAAWY,EAEXM,GAGArB,EAAe,MAAmCC,EAAWvY,GAIjE,IAAI8Z,GAAe,EACfC,EAAWxB,EAAUvY,IAErB+Z,IAAa,SAAkBA,KAE/BZ,EAAWY,EACXD,GAAe,EAGXR,GAAWH,IAAaV,IAAaa,EAAQH,KAC7CA,EAAWV,EACXqB,GAAe,GAEfP,IACAJ,EAAWI,EAAMJ,EAAUV,EAAUF,GACrCuB,EAAeX,IAAaV,IAG/BqB,EAcDX,EAFKV,EAEMQ,EAAqBX,EAAgBC,EAAWE,GAGhDA,IAhBP,SAAcU,KAAa,SAAQV,KAE/Be,GAAWf,KAAa,SAAcA,KAAa,SAAQA,MAE3D,SAAcA,GAAU,SAAUuB,EAAQC,GAEtCb,EAAmBd,EAAgBa,EAAUa,EAAQC,EACzD,IAeZ3B,EAAeF,IAAIG,EAAWvY,EAAMmZ,GAChCM,GACAnB,EAAeuB,IAAItB,EAAWvY,GAE9B0Z,GACApB,EAAe,MAAmCC,EAAWvY,EAErE,C,gaCtJA,SAASka,EAAqBC,EAAOC,GACjC,IAAIC,EAAU,CACVC,GAAIF,EACJG,GAAI,WAGAF,EAAQC,GAAK,KACbH,EAAQ,KACRC,EAAgB,IACpB,GAIJ,OAFA,SAAUC,EAAS,SAAU,CAAErB,EAAG,WAAc,MAAO,kBAAoBqB,EAAQC,GAAK,GAAK,MAAQ,IACrGH,EAAMK,IAAIH,EAASD,GACZC,CACX,CAOA,SAASI,EAAsBzU,EAAQ8K,EAAQ4J,GAC3C,IAAIlN,EACA8K,GAAiB,QAAwBxH,GAC7C,GAAIwH,EAEA,OAAOA,EAEX,IAEIqC,EAFAC,GAAM,OAAsB,UAAU,GACtCC,EAAa/J,IAAsB,IAAZ4J,EAAqB5J,GAAS,QAAaA,GAEtE,SAASgK,IACLH,EAAS,OACb,CACA,SAASI,EAAUjK,EAAQ9Q,EAAM4G,GAC7B,IACIkK,GAAS,QAAoB6J,EAAU7J,EAAQ9Q,EAAM4G,EACzD,CACA,MAAOc,IAEH,QAAmB1B,EAAQhG,EAAM,gBAAiB0H,EACtD,CACA,OAAOoJ,EAAO9Q,EAClB,CACA,SAASgb,EAAOZ,GACZ,OAAOF,EAAqBS,EAAUP,EAC1C,CACA,SAASa,EAAOb,EAAec,GAC3BP,EAASH,IAAI,MAAM,SAAUpQ,GACzB,IAAI+Q,EAAUR,EAASS,IACvB,KACS,SAAYF,KACbP,EAASS,IAAMF,GAEnBd,EAAchQ,EAClB,CACA,QACIuQ,EAASS,IAAMD,CACnB,CACJ,GACJ,CACA,SAASE,EAAKvK,EAAQ9Q,GAClB,IAAIwN,EAEJ,OAAO,QAAyBmN,EAAU7J,EAAQ9Q,GAAOwN,EAAK,CAAC,EAAGA,EAAG,IAA6C,EAAMA,IAAKxN,EACjI,CACA,SAASsb,EAAQxK,EAAQ9Q,GACrB,IAAIwN,EAEJ,OAAO,QAAyBmN,EAAU7J,EAAQ9Q,GAAOwN,EAAK,CAAC,EAAGA,EAAG,IAA8C,EAAMA,IAAKxN,EAClI,CACA,SAASub,EAAczK,EAAQ9Q,GAC3B,IAAIwN,EAEJ,OAAO,QAAyBmN,EAAU7J,EAAQ9Q,GAAOwN,EAAK,CAAC,EAAGA,EAAG,IAA0D,EAAMA,IAAKxN,EAC9I,CACA,SAASwb,EAAejD,EAAWkD,GAQ/B,OAPIA,IAEA,SAAcA,GAAe,SAAUzb,EAAM4G,IAEzC,OAAmB8U,EAAYnD,EAAWvY,EAAM4G,EACpD,IAEG2R,CACX,CACA,IAAImD,GAAclO,EAAK,CACfoN,IAAK,KACL7B,IAAK8B,GAETrN,EAAG,MAAiCxH,EACpCwH,EAAG,MAAiCsN,EACpCtN,EAAG4K,IAAM2C,EACTvN,EAAG,MAAgCgO,EACnChO,EAAG,MAA+BwN,EAClCxN,EAAGqM,IAAMwB,EACT7N,EAAG,MAAkC8N,EACrC9N,EAAG,MAAkC+N,EACrC/N,EAAGyN,OAASA,EACZzN,GAUJ,OATA,SAAUkO,EAAY,MAAO,CACzBC,GAAG,EACHjU,GAAG,EACHkU,GAAG,EACH5C,EAAG4B,IAEPD,GAAW,OAAae,IAExB,QAAmBf,EAAUE,EAAW,SAAU,YAC3Ca,CACX,CAKA,SAASG,EAAkB7V,EAAQxG,GAC3BwG,GACAA,EAAO,MAAkDxG,GACzDwG,EAAO,MAAiD,EAAkC,IAAsDxG,KAIhJ,QAAmBA,EAE3B,CAQO,SAASsc,EAAoB/I,EAAQgJ,EAAe/V,EAAQ0U,GAC/D,IAAIpC,EAAiBmC,EAAsBzU,EAAQ+M,GAAU,CAAC,EAAG2H,GAIjE,OAHIqB,GACAzD,EAAe,MAAiCA,EAAeS,IAAKgD,GAEjEzD,CACX,CAUO,SAAS0D,EAAejJ,EAAQqH,EAAepU,GAClD,IAAIqU,EAAUtH,EAAO,OAAqBA,EAC1C,OAAIsH,EAAQtB,KAAQsB,EAAQtB,MAAQhG,GAAUsH,EAAQtB,IAAI,QAAsBsB,GAGhFwB,EAAkB7V,EAAQ,MAAwB,SAAQ+M,IACnD+I,EAAoB/I,EAAQ,KAAM/M,GAAQ,MAAgCoU,IAHtEC,EAAQ,MAAgCD,EAIvD,C,gQCrKA,IAAI6B,EAAsB,0BAMzB,KANyB,CACtB,OACA,MACA,QACA,UACA,UAEOC,EAAqB,SAAUlW,EAAQhG,EAAMmc,EAAMzU,GAC1D1B,GAAUA,EAAO,MAAiD,EAAgC,IAAsD,GAAGoL,OAAO+K,EAAM,MAAM/K,OAAOpR,EAAM,gBAAiB,SAAQ0H,GACxN,EACA,SAAS0U,EAAYjC,EAAOrJ,EAAQ9Q,IAC5B,SAAQ8Q,KAER,SAAWmL,GAAqB,SAAUpN,GACtC,IAAIwN,EAAYvL,EAAOjC,GACvBiC,EAAOjC,GAAU,WAEb,IADA,IAAIyN,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAI5S,EAAS0S,EAAU,MAAgCzb,KAAM0b,GAG7D,OADAI,EAAmBvC,EAAOrJ,EAAQ9Q,EAAM,YACjC2J,CACX,CACJ,GAER,CACA,SAASgT,EAAkB7L,EAAQ9Q,GAC/B,IAAI4c,GAAW,SAA4B9L,EAAQ9Q,GACnD,OAAO4c,GAAYA,EAASC,GAChC,CACA,SAASC,EAAuB3C,EAAO5B,EAAWvY,EAAM4G,GAEpD,IAAImW,EAAS,CACTC,EACAC,EAAG,GACHC,IAAK,SAAU7C,GACPA,GAAWA,EAAQC,MACoB,KAAnC,SAAWyC,EAAOE,EAAG5C,IAErB0C,EAAOE,EAAE,MAA8B5C,GAE3CF,EAAM+C,IAAI7C,EAAS0C,GAE3B,EACAI,IAAK,SAAU9C,GACX,IAAI+C,GAAM,SAAWL,EAAOE,EAAG5C,IAClB,IAAT+C,GACAL,EAAOE,EAAE,MAAkCG,EAAK,EAExD,GAGAC,GAAe,EACfC,GAAkB,EACtB,SAASC,IACDF,IACAC,EAAkBA,IAAmB,QAAgBC,EAAcpD,EAAOvT,GAEtEA,IAAUA,EAAM,OAAqB0W,IAErC1W,EAAQ8V,EAAmBvC,EAAOvT,EAAO5G,EAAM,eAGnDqd,GAAe,GAGnB,IAAIG,EAAgBrD,EAAMsD,IAI1B,OAHID,GACAT,EAAOG,IAAIM,GAER5W,CACX,CAOA,SAAS8W,EAAalI,GAClB,GAAI5O,IAAU4O,EAAU,CACd+H,EAAapD,EAAMwD,MAAQxD,EAAMiB,MAEnC,QAAmB,IAAMpb,EAAO,mBAAoB,SAAQuY,IAE5D8E,IACAC,EAAkBA,IAAmB,QAAgBC,EAAcpD,EAAOvT,GAC1EyW,GAAe,GAGnB,IAAIO,EAAeN,GAAmBC,EAAapD,EAAM0D,IACzD,GAAIP,EAEA,GAAIM,EAAc,EAGd,SAAchX,GAAO,SAAUX,GAC3BW,EAAMX,GAAOuP,EAAWA,EAASvP,GAAO,IAC5C,IAEA,KACI,SAAcuP,GAAU,SAAUvP,EAAKkT,GACnC2E,EAAoB3D,EAAOvT,EAAOX,EAAKkT,EAC3C,IAEA3D,EAAW5O,CACf,CACA,MAAOc,GAEHwU,GAAoB/B,EAAM4D,MAAQ,CAAC,GAAG,MAAmC/d,EAAM,YAAa0H,GAE5F4V,GAAkB,CACtB,CACJ,MACS1W,GAASA,EAAM,QAGpB,SAAcA,GAAO,SAAUX,GAE3B,IAAI+X,EAASrB,EAAkB/V,EAAOX,GACtC,GAAI+X,EAAQ,CAER,IAAIC,EAAaD,EAAO7D,EAAM1S,MAC9BwW,GAAcA,EAAWC,MAC7B,CACJ,IAGR,GAAI1I,IAAa5O,EAAO,CACpB,IAAIuX,EAAqB3I,IAAY,QAAgB+H,EAAcpD,EAAO3E,IACrEoI,GAAgBO,IAEjB3I,EAAWkH,EAAmBvC,EAAO3E,EAAUxV,EAAM,eAGzD4G,EAAQ4O,EACR8H,EAAkBa,CACtB,CAEAhE,EAAMiE,IAAIrB,EACd,CACJ,CAnEAQ,EAAapD,EAAM1S,MAAQ,CACvByW,KAAM,WACF/D,EAAMiE,IAAIrB,EACd,IAiEJ,SAAUxE,EAAWwE,EAAOC,EAAG,CAAEqB,EAAGd,EAAclV,EAAGqV,GACzD,CACO,SAASI,EAAoB3D,EAAOrJ,EAAQ9Q,EAAM4G,GACrD,GAAIkK,EAAQ,CAER,IAAIkN,EAASrB,EAAkB7L,EAAQ9Q,GACnCse,EAAYN,KAAYA,EAAO7D,EAAM1S,MACpC6W,EAKDxN,EAAO9Q,GAAQ4G,EAJfkW,EAAuB3C,EAAOrJ,EAAQ9Q,EAAM4G,EAMpD,CACA,OAAOkK,CACX,CACO,SAASyN,EAAyBpE,EAAOrJ,EAAQ9Q,EAAMwe,GAC1D,GAAI1N,EAAQ,CAER,IAAIkN,EAASrB,EAAkB7L,EAAQ9Q,GACnCse,EAAYN,KAAYA,EAAO7D,EAAM1S,MACrCiT,EAAU8D,GAASA,EAAM,GACzBC,EAASD,GAASA,EAAM,GACxBE,EAAUF,GAASA,EAAM,GAC7B,IAAKF,EAAW,CACZ,GAAII,EACA,KAEI,QAAuB5N,EAC3B,CACA,MAAOpJ,GACHwU,GAAoB/B,EAAM4D,MAAQ,CAAC,GAAG,MAAmC/d,EAAM,WAAY0H,EAC/F,CAEJ,IAEIoW,EAAoB3D,EAAOrJ,EAAQ9Q,EAAM8Q,EAAO9Q,IAChDge,EAASrB,EAAkB7L,EAAQ9Q,EACvC,CACA,MAAO0H,GAEHwU,GAAoB/B,EAAM4D,MAAQ,CAAC,GAAG,MAAmC/d,EAAM,QAAS0H,EAC5F,CACJ,CAEIgT,IACAsD,EAAO7D,EAAM0D,IAAMnD,GAEnB+D,IACAT,EAAO7D,EAAMwD,IAAMc,GAEnBC,IACAV,EAAO7D,EAAMwE,SAAU,EAE/B,CACA,OAAO7N,CACX,CACO,SAAS4L,EAAmBvC,EAAOrJ,EAAQ9Q,EAAMmc,GACpD,KAEI,SAAcrL,GAAQ,SAAU7K,EAAKW,GAEjCkX,EAAoB3D,EAAOrJ,EAAQ7K,EAAKW,EAC5C,IACKkK,EAAO,SAER,SAAcA,EAAQ,KAAkB,CACpC+L,IAAK,WACD,OAAO1C,EAAM,KACjB,IAEJiC,EAAYjC,EAAOrJ,EAAQ9Q,GAEnC,CACA,MAAO0H,GAEHwU,GAAoB/B,EAAM4D,MAAQ,CAAC,GAAG,MAAmC/d,EAAMmc,EAAMzU,EACzF,CACA,OAAOoJ,CACX,C,uLChOA,IAAI8N,EAAY,QACZC,EAAa,KACV,SAASC,EAAapD,GACzB,IAAIlO,EAQAmN,EAPAoE,GAAwB,SAAUH,EAAY,MAAQlD,EAAWd,IAAMiE,GACvEG,GAA0B,SAAUJ,EAAY,KAAOlD,EAAWd,IAAMiE,GACxEI,GAA4B,SAAUL,EAAY,KAAOlD,EAAWd,IAAMiE,GAC1EK,GAA4B,SAAUN,EAAY,SAAWlD,EAAWd,IAAMiE,GAC9EM,GAAwB,SAAUP,EAAY,MAAQlD,EAAWd,IAAMiE,GACvEO,EAAmB,KACnBC,EAAgB,KAEpB,SAASC,EAAY9B,EAAe+B,GAChC,IAAIC,EAAc7E,EAAS8C,IAC3B,IACI9C,EAAS8C,IAAMD,EACXA,GAAiBA,EAAc2B,MAE/B,SAAW3B,EAAc2B,IAAwB,SAAUpC,GACvDA,EAAOI,IAAIK,EACf,IACAA,EAAc2B,GAAyB,IAE3CI,EAAS,CACLxG,IAAK2C,EAAW3C,IAChBX,IAAKsD,EAAWtD,IAAIqH,KAAK/D,GACzBgE,MAAOhE,EAAW,MAAiC+D,KAAK/D,GACxD7B,IAAK6B,EAAW7B,IAAI4F,KAAK/D,GACzB+C,OAAQ/C,EAAW,MAAmC+D,KAAK/D,IAEnE,CACA,MAAOhU,GACH,IAAI1B,EAAS0V,EAAW,MAMxB,MALI1V,GAEAA,EAAO,MAAiD,EAAmC,KAAsD,SAAQ0B,IAGvJA,CACV,CACA,QACIiT,EAAS8C,IAAM+B,GAAe,IAClC,CACJ,CACA,SAAS1E,IACL,GAAIsE,EAAkB,CAClB,IAAIO,EAAiBP,EACrBA,EAAmB,KAEnBC,GAAiBA,EAAc,QAC/BA,EAAgB,KAChB,IAAIO,EAAoB,GAwBxB,IAtBA,SAAWD,GAAgB,SAAUtF,GACjC,GAAIA,IACIA,EAAQ8E,MACR,SAAW9E,EAAQ8E,IAAwB,SAAUpC,GAEjDA,EAAOI,IAAI9C,EACf,IACAA,EAAQ8E,GAAyB,MAGjC9E,EAAQC,IACR,IACIgF,EAAYjF,EAASA,EAAQC,GACjC,CACA,MAAO5S,GAEHkY,EAAkB,MAA8BlY,EACpD,CAGZ,IAEI0X,EACA,IACItE,GACJ,CACA,MAAOpT,GACHkY,EAAkB,MAA8BlY,EACpD,CAEAkY,EAAkB,MAAoC,IACtD,OAAsB,qBAAsBA,EAEpD,CACJ,CACA,SAASC,EAAY9C,GACjB,GAAIA,GAAUA,EAAOE,EAAE,MAAoC,EAAG,CACrDmC,IACDA,EAAmB,IAElBC,IACDA,GAAgB,UAAgB,WAC5BA,EAAgB,KAChBvE,GACJ,GAAG,IAGP,IAAK,IAAIsC,EAAM,EAAGA,EAAML,EAAOE,EAAE,MAAmCG,IAAO,CACvE,IAAI/C,EAAU0C,EAAOE,EAAEG,GAEnB/C,IAAsD,KAA3C,SAAW+E,EAAkB/E,IACxC+E,EAAiB,MAA8B/E,EAEvD,CACJ,CACJ,CACA,SAASyF,EAAczF,EAAS0C,GAC5B,GAAI1C,EAAS,CACT,IAAIjQ,EAAUiQ,EAAQ8E,GAAyB9E,EAAQ8E,IAA0B,IAC5C,KAAjC,SAAW/U,EAAS2S,IAEpB3S,EAAQ,MAA8B2S,EAE9C,CACJ,CAaA,OAZYvP,EAAK,CACT/F,KAAMsX,EACNpB,GAAIqB,EACJnB,GAAIoB,GAERzR,EAAG,MAAkC0R,EACrC1R,EAAG,MAA6BkO,EAChClO,EAAG4Q,IAAMyB,EACTrS,EAAG,MAAiCsN,EACpCtN,EAAGgN,IAAM8E,EACT9R,EAAG0P,IAAM4C,EAVbnF,EAWInN,EACGmN,CACX,C,0JCjIO,IAAIoF,GAAmB,SAAU,mBAMpCC,GAAgB,SAAU,sBAO1BC,GAAgB,SAAU,sBACvB,SAASC,EAAaC,GAErB,IAAIC,EADR,GAAID,KAEI,SAAQA,IACRC,EAAW,GACXA,EAAS,MAAoCD,EAAO,QAE/C,SAAcA,KACnBC,EAAW,CAAC,GAEZA,GAMA,OAJA,SAAcD,GAAQ,SAAUla,EAAKW,GAEjCwZ,EAASna,GAAOia,EAAatZ,EACjC,IACOwZ,EAGf,OAAOD,CACX,CAOO,SAASE,EAAwBzZ,GACpC,GAAIA,EAAO,CACP,IAAIyT,EAAUzT,EAAMmZ,IAAqBnZ,EACzC,GAAIyT,EAAQtB,MAAQsB,EAAQtB,MAAQnS,GAASyT,EAAQtB,IAAIgH,KAAsB1F,GAC3E,OAAOA,CAEf,CACA,OAAO,IACX,CA0CO,SAASiG,EAAuB1Z,GACnC,GAAIA,KAAU,SAAcA,KAAU,SAAQA,IAC1C,IACIA,EAAMoZ,IAAiB,CAC3B,CACA,MAAOtY,GAEP,CAEJ,OAAOd,CACX,CAmCO,SAAS2Z,EAAgBC,EAASrG,EAAOvT,GAC5C,IAAI+C,GAAS,EAWb,OATI/C,IAAU4Z,EAAQrG,EAAMwE,UAExBhV,EAAS/C,EAAMqZ,GAEVtW,GAAW/C,EAAMoZ,KAElBrW,GAAS,SAAc/C,KAAU,SAAQA,KAG1C+C,CACX,CAKO,SAAS8W,EAAmBjhB,IAC/B,SAAe,iBAAmBA,EACtC,C,qGC3JO,IAAIkhB,EAAkB,0BAAU,KAAV,EAAU,IAU5BC,EAAiB,0BAAa,KAAb,EAAa,G,0ICdzC,IAAIC,EAMG,SAASC,EAAsBrhB,EAASshB,GACtCF,IACDA,GAAuB,SAAkB,oBAAoB,SAAUG,EAAMzE,GACrEA,EAAK,MAAoC,IAEzCyE,EAAKC,OAAS1E,EAAK,GAE3B,KAEJ,IAAI2E,EAAazhB,GAAW,+BAI5B,MAHA,SAAWshB,GAAc,SAAUI,EAAU9D,GACzC6D,GAAc,KAAK7P,OAAOgM,EAAK,OAAOhM,QAAO,SAAQ8P,GACzD,IACM,IAAIN,EAAqBK,EAAYH,GAAgB,GAC/D,C,mDCrBItT,E,8GAWA2T,EAAe,YACf1F,GAAiBjO,EAAK,CAAC,EACvBA,EAAG,MAAwB,CAAE0K,MAAO,KAAsBc,EAAG,CAAC,GAC9DxL,GAMA4T,EAAqC,WACrC,SAASA,IACL,IAEIC,EACAC,EACAC,EACAC,EACAC,EANAjZ,EAAQ5H,KA+GZ,SAAS8gB,EAAWC,QACG,IAAfA,IAAyBA,EAAa,MAC1C,IAAIC,EAAUD,EACd,IAAKC,EAAS,CACV,IAAIC,EAAUP,IAAY,QAA8B,KAAM,CAAC,EAAG9Y,EAAM,OAIpEoZ,EAFAL,GAAeA,EAAYJ,GAEjBU,EAAQ,MAAyC,KAAMN,EAAYJ,IAGnEU,EAAQ,MAAyC,KAAMN,EAEzE,CACA,OAAOK,CACX,CACA,SAASE,EAAa/O,EAAQgP,EAAMC,IAEhC,OAAoBjP,EAAQ0I,GAAe,QAAcsG,KACpDC,GAAeD,IAEhBC,EAAcD,EAAK,QAAiE,SAExF,IAAIE,EAAaV,EACbA,GAAeA,EAAYJ,KAE3Bc,EAAaV,EAAYJ,MAG7B3Y,EAAM,MAA+BuZ,EACrCT,GAAW,QAA8BU,EAAajP,EAAQgP,EAAME,EACxE,CACA,SAASC,IACLb,GAAiB,EACjB7Y,EAAM,MAA+B,KACrC8Y,EAAW,KACXC,EAAc,KACdE,GAAiB,SACjBD,GAA0B,QAC9B,CA/IAU,KACA,OAAad,EAAqB5Y,GAAO,SAAUA,GAC/CA,EAAM,MAA4C,SAAUuK,EAAQgP,EAAMI,EAAYH,GAClFF,EAAa/O,EAAQgP,EAAMC,GAC3BX,GAAiB,CACrB,EACA7Y,EAAM,MAAwC,SAAU4Z,EAAWC,GAC/D,IAAI7U,EAGAuU,EAAOvZ,EAAM,MACjB,GAAKuZ,KAASK,GAAaL,IAASK,EAAU,SAA9C,CAIA,IAAIzY,EACA2Y,GAAa,EACbC,EAAeH,IAAa,QAAoC,KAAML,EAAMR,GAAeA,EAAYJ,GAAgBI,EAAYJ,KAAkBI,GACrJiB,EAAiBH,IAAgB7U,EAAK,CAClCtC,OAAQ,GAEZsC,EAAG,OAAoC,EACvCA,GAmBJ,OAPKhF,EAAM,QAAsJ,IAAtGA,EAAM,MAA6C+Z,EAAcC,EAAgBC,GAKxI9Y,GAAS,EAJT8Y,IAMG9Y,CA3BP,CASA,SAAS8Y,IACAH,IACDA,GAAa,EACbd,EAAwBkB,IAAIH,EAAcF,GAC1CZ,EAAeiB,IAAIH,EAAa,UACjB,IAAX5Y,GACA4Y,EAAa,MAA6CC,GAE9DN,IAER,CASJ,EACA1Z,EAAM,MAAoC,SAAUma,EAAWC,GAG3D,IAAIb,EAAOvZ,EAAM,MACjB,GAAKuZ,KAASY,GAAaZ,IAASY,EAAU,SAA9C,CAIA,IAAIhZ,EACAkZ,GAAa,EACbC,EAAeH,IAAa,QAAoC,KAAMZ,EAAMR,GAAeA,EAAYJ,GAAgBI,EAAYJ,KAAkBI,GACrJwB,EAAiBH,GAAe,CAChC1X,OAAQ,GAcZ,OANK1C,EAAMwa,YAAgF,IAAnExa,EAAMwa,UAAUF,EAAcC,EAAgBE,GAIlEtZ,GAAS,EAHTsZ,IAKGtZ,CAnBP,CAOA,SAASsZ,IACAJ,IACDA,GAAa,EACbf,EAAagB,EAAaI,SAAUJ,EAAaf,OAAQe,EAAa,SAE9E,CAQJ,GACA,QAAgBta,EAAO,gBAAgB,WAAc,OAAOgZ,CAAyB,GAAG,QACxF,QAAgBhZ,EAAO,YAAY,WAAc,OAAOiZ,CAAgB,GAAG,QAC3E,SAAUjZ,EAAO,eAAgB,CAAE6V,EAAG,WAAc,OAAOoD,CAAgB,GAC/E,IAEAjZ,EAAM,MAAuC,SAAUoZ,GACnD,OAAOF,EAAWE,GAAS,OAC/B,EACApZ,EAAM,MAAmD,WACrD,OAAO6Y,CACX,EACA7Y,EAAM2a,eAAiB,SAAUC,GAC7B/B,EAAiB+B,CACrB,EAKA5a,EAAM,MAAoD,SAAU6a,GAChE9B,EAAc8B,CAClB,EACA7a,EAAM,MAA+C,SAAU8a,EAAK1B,GAC5DA,EAEAA,EAAQ,MAA6C0B,GAEhD/B,IAAe,SAAWA,EAAY,QAG3CA,EAAY,MAAsD+B,EAAK,KAE/E,EACA9a,EAAMkZ,WAAaA,CAyCvB,CAUA,OAFAN,EAAoBmC,QAAQ,EAErBnC,CACX,CApKwC,E,uLCQjC,SAASoC,IAIZ,IAHA,IAEqBC,EAFjBC,EAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAExFC,EAAM,KACDzR,EAAI,EAAGA,EAAI,EAAGA,IACnBuR,GAAM,UACNE,GACID,EAAgB,GAAND,GACNC,EAAUD,GAAO,EAAI,IACrBC,EAAUD,GAAO,EAAI,IACrBC,EAAUD,GAAO,GAAK,IACtBC,EAAUD,GAAO,GAAK,IACtBC,EAAUD,GAAO,GAAK,IACtBC,EAAUD,GAAO,GAAK,IACtBC,EAAUD,GAAO,GAAK,IAGlC,IAAIG,EAAkBF,EAAU,GAAkB,GAAb,WAAqB,GAC1D,OAAO,SAAUC,EAAK,EAAG,IAAK,SAAUA,EAAK,EAAG,GAAK,KAAM,SAAUA,EAAK,GAAI,GAAKC,GAAkB,SAAUD,EAAK,GAAI,IAAK,SAAUA,EAAK,GAAI,GACpJ,C,2PC3CIE,EAAU,QACVC,EAAe,KAAM,QAAM,GAC3BC,EAAW,EAOf,SAASC,EAAelT,GACpB,OAAyD,IAAlDA,EAAO,OAAkG,IAAlDA,EAAO,SAAmDA,EAAO,KACnI,CACA,SAASmT,EAAUre,EAAMkL,GACrB,IAAIoT,EAAWpT,EAAOlL,EAAKoC,IAC3B,IAAKkc,EAAU,CACXA,EAAW,CAAC,EACZ,IACQF,EAAelT,KACf,SAAUA,EAAQlL,EAAKoC,GAAI,CACvBN,GAAG,EACHsR,EAAGkL,GAGf,CACA,MAAOxc,GAEP,CACJ,CACA,OAAOwc,CACX,CACO,SAASC,EAAsBnkB,EAAMokB,GAExC,YADuB,IAAnBA,IAA6BA,GAAiB,IAC3C,QAAgBpkB,EAAQ+jB,KAAeK,EAAiB,IAAMP,EAAU,MAAaC,EAChG,CACO,SAASO,EAAkBrkB,GAC9B,IAAI4F,EAAO,CACPoC,GAAImc,EAAsB,YAAcnkB,GAAQ,MAAa,IAAM6jB,GACnES,OAAQ,SAAUxT,GACd,OAAOkT,EAAelT,EAC1B,EACA+L,IAAK,SAAU/L,EAAQ9Q,EAAMyY,EAAU8L,GACnC,IAAIL,EAAWpT,EAAOlL,EAAKoC,IAC3B,OAAKkc,EAQEA,GAAS,QAAgBlkB,KAPxBukB,IAEAL,EAAWD,EAAUre,EAAMkL,GAC3BoT,GAAS,QAAgBlkB,IAASyY,GAE/BA,EAGf,EACA+L,KAAM,SAAU1T,EAAQ9Q,GACpB,GAAI8Q,GAAUA,EAAO9Q,GACjB,WACW8Q,EAAO9Q,EAClB,CACA,MAAO0H,GAEP,CAER,GAEJ,OAAO9B,CACX,C,sJChEI6e,E,WAFAC,EAAgB,CAAC,KAAiB,KAAsB,KAAyB,MACjFC,EAAe,KAEnB,SAASC,EAAmB5kB,EAAM+S,GAC9B,OAAO,WACH,IAAIuJ,EAAOE,UACPqI,EAASC,EAAY/R,GACzB,GAAI8R,EAAQ,CACR,IAAIE,EAAWF,EAAOE,SAClBA,GAAYA,EAAS/kB,IACrB+kB,EAAS/kB,GAAM,MAAgC+kB,EAAUzI,EAEjE,CACJ,CACJ,CACA,SAAS0I,IAEL,IAAIlU,GAAS,SAAQ,aAIrB,OAHIA,IACA6T,EAAe7T,EAAO,wBAEnB6T,CACX,CACO,SAASG,EAAY/R,GACxB,IAAIkS,EAAKN,EAIT,OAHKM,IAA+B,IAAzBlS,EAAOmS,gBACdD,EAAKN,GAAgBK,KAElBC,EAAKA,EAAG,gBAAkB,IACrC,CACO,SAASE,EAAiBpS,GAC7B,IAAK0R,EAAgB,CACjBA,EAAiB,CAAC,EAClB,IAAK,IAAI3Z,EAAK,EAAGA,EAAK4Z,EAAc,MAAmC5Z,IACnE2Z,EAAeC,EAAc5Z,IAAO8Z,EAAmBF,EAAc5Z,GAAKiI,EAElF,CACA,OAAO0R,CACX,C,kGCxCIjX,E,6EAQA4X,EAAsB,gBAItBC,EAA4B,kBAI5BC,EAAyB,OAIzBC,EAA0B,QAC1B9J,EAAgB,CAChB+J,oBAAqB,EACrBC,sBAAuB,EACvBC,gBAAiB,GACjBC,aAAa,GAEbC,GAAapY,EAAK,CAAC,EACnBA,EAAG,GAAqC,KACxCA,EAAG,GAAqC,iBACxCA,EAAG,GAAoC4X,EACvC5X,EAAG,GAAkC,iBACrCA,GACJ,SAASqY,EAAwBC,GAC7B,OAAIA,EACO,IAAOA,EAAK,MAAoC,MAAO,MAAa,IAExE,IACX,CACA,SAASC,EAAcC,EAAMxmB,GACzB,IAAIymB,GAAa,UACjB,GAAMA,EAAY,CACd,IAAIC,EAAU,MACVD,EAAWD,KACXE,EAAUF,IAEV,SAAWC,EAAWC,KACtBD,EAAWC,GAAS1mB,EAE5B,CACJ,CACA,IAAI2mB,EAAqC,WACrC,SAASA,EAAoBC,EAAOC,EAAKC,EAAW/e,QAC9B,IAAd+e,IAAwBA,GAAY,GACxC,IAAI9d,EAAQ5H,KACZ4H,EAAM,MAA2C4d,EACjD5d,EAAM,OACD8d,EAAYhB,EAAyBD,GAClCe,EACR,IAAIG,EAAW,MACX,WACAA,GAAW,UAAUC,UAAUjf,IAEnC,IAAIkf,GAAkBJ,EAAM,YAAcR,EAAwBQ,GAAO,OACpE9e,EAAa,UAAYse,EAAwBU,GAAY,MAClE/d,EAAM,OAAuCie,CACjD,CAEA,OADAN,EAAoBld,SAAW,cACxBkd,CACX,CAlBwC,GAoBjC,SAASO,EAAc3E,EAAMhP,GAChC,OAAQgP,GAAQ,CAAC,GAAG,OAAqC,IAAI4E,EAAiB5T,EAClF,CACA,IAAI4T,EAAkC,WAClC,SAASA,EAAiB5T,GACtBnS,KAAKgmB,WAAa,mBAIlBhmB,KAAKimB,MAAQ,GAIb,IAKIC,EACAC,EACAC,EACAC,EACAC,EATAC,EAAgB,EAIhBC,EAAiB,CAAC,GAMtB,OAAaT,EAAkB/lB,MAAM,SAAU4H,GA4D3C,SAAS6e,EAAoBC,EAAU9nB,GACnC,IAAI+nB,IAAJ,CAIA,IAAIC,GAAa,EACbC,EAAalC,EAA0B/lB,EAAQ,MAQnD,GANI4nB,EAAeK,GACfD,GAAa,EAGbJ,EAAeK,IAAc,EAE7BD,IAEIF,GAAYP,IACZve,EAAMqe,MAAM,MAA8BrnB,GAC1C2nB,IACAO,EAA2B,IAAbJ,EAAiD,QAAU,OAAS9nB,IAGlF2nB,IAAkBH,GAA0B,CAC5C,IAAIW,EAAuB,oEACvBC,EAAkB,IAAIzB,EAAoB,GAAwDwB,GAAsB,GAC5Hnf,EAAMqe,MAAM,MAA8Be,GACzB,IAAbN,EACA9e,EAAMqf,eAAeF,GAGrBnf,EAAM,MAAkDmf,EAEhE,CA7BJ,CA+BJ,CACA,SAASG,EAAuB/U,GAE5B,OAAO,QAAe,OAAoBA,EAAQ0I,EAAejT,GAAOuQ,KAAK,SAAU3O,GACnF,IAAI2I,EAAS3I,EAAQ2O,IACrB+N,EAAuB/T,EAAO,MAC9BgU,EAAyBhU,EAAO0S,sBAChCuB,EAA2BjU,EAAO2S,gBAClCuB,EAAelU,EAAO4S,WAC1B,GACJ,CACA,SAAS4B,IACL,OAAOJ,GAAiBH,CAC5B,CACA,SAASU,EAAa1nB,EAAM4F,GACxB,IAAIif,GAAS,OAAY9R,GAAU,CAAC,GAChC8R,GAAUA,EAAO,OACjBA,EAAO,MAAqC7kB,EAAM4F,EAE1D,CAhHAshB,EAAiBY,EAAuB/U,GAAU,CAAC,GACnDvK,EAAMuf,oBAAsB,WAAc,OAAOjB,CAAsB,EAMvEte,EAAM,MAAmD,SAAU8e,EAAUlB,EAAOC,EAAK9e,EAAY+e,QAC/E,IAAdA,IAAwBA,GAAY,GACxC,IAAI9mB,EAAU,IAAI2mB,EAAoBC,EAAOC,EAAKC,EAAW/e,GAC7D,GAAI0f,EACA,MAAM,SAAQznB,GAId,IAAI0mB,EAAUN,EAAU0B,IAAalC,EACrC,IAAK,SAAY5lB,EAAQ,OAkBrBkoB,EAAa,SAAwB,IAAbJ,EAAiD,WAAa,WAAY9nB,OAlBvC,CAC3D,GAAI8mB,EAAW,CAEX,IAAImB,GAAcjoB,EAAQ,OACrB4nB,EAAeK,IAAeX,GAAwBQ,IACvD9e,EAAM0d,GAAS1mB,EAAQ,OACvB4nB,EAAeK,IAAc,EAErC,MAGQX,GAAwBQ,GACxB9e,EAAM0d,GAAS1mB,EAAQ,OAG/B6nB,EAAoBC,EAAU9nB,EAClC,CAKR,EACAgJ,EAAMwf,eAAiB,SAAUxoB,GAC7BumB,EAAc,QAASvmB,GACvBkoB,EAAa,UAAWloB,EAC5B,EACAgJ,EAAM,MAAoD,SAAUhJ,GAChEumB,EAAc,OAAQvmB,GACtBkoB,EAAa,UAAWloB,EAC5B,EACAgJ,EAAMqf,eAAiB,SAAUroB,GAC7BumB,EAAc,QAASvmB,GACvBkoB,EAAa,QAASloB,EAC1B,EACAgJ,EAAMyf,0BAA4B,WAC9Bd,EAAgB,EAChBC,EAAiB,CAAC,CACtB,EACA5e,EAAM,MAA8D6e,EACpE7e,EAAM,MAAoC,SAAU0f,GAChDhB,GAAkBA,EAAe3M,KACjC2M,EAAiB,IACrB,CAuDJ,GACJ,CAaA,OAFAP,EAAiBpD,QAAQ,EAElBoD,CACX,CArJqC,GAuJrC,SAASwB,EAAWniB,GAChB,OAAQA,GAAU,IAAI2gB,CAC1B,CAUO,SAASyB,EAAepiB,EAAQshB,EAAUlB,EAAOC,EAAK9e,EAAY+e,QACnD,IAAdA,IAAwBA,GAAY,GACxC6B,EAAWniB,GAAQ,MAAiDshB,EAAUlB,EAAOC,EAAK9e,EAAY+e,EAC1G,CAMO,SAAS+B,EAAeriB,EAAQxG,GACnC2oB,EAAWniB,GAAQ,MAAkDxG,EACzE,CAOO,SAAS6nB,EAAoBrhB,EAAQshB,EAAU9nB,GAClD2oB,EAAWniB,GAAQ,MAA4DshB,EAAU9nB,EAC7F,C,sYCtPA,IAAI8oB,EAAkB,eAClBC,EAAc,WACdC,EAAa,UACbC,EAAU,OACVC,EAAY,SACZC,EAAc,WACdC,EAAiB,cACjBC,EAAU,OACVC,EAAa,WACbC,EAAoB,iBACpBC,EAAa,KACbC,EAAqB,KACrBC,GAAe,EACfC,EAAqB,KACrBC,EAAoB,KACxB,SAASC,EAAaC,EAAUC,GAC5B,IAAIC,GAAY,EAChB,GAAIF,EAAU,CACV,IAEI,GADAE,EAAYD,KAAYD,GACnBE,EAAW,CACZ,IAAIC,EAAQH,EAAS,MACjBG,IACAD,EAAYD,KAAYE,EAEhC,CACJ,CACA,MAAO/hB,GAEP,CACA,IAAK8hB,EACD,IACI,IAAI/F,EAAM,IAAI6F,EACdE,IAAa,SAAY/F,EAAI8F,GACjC,CACA,MAAO7hB,GAEP,CAER,CACA,OAAO8hB,CACX,CAaO,SAASE,EAAYC,GACxB,GAAIA,GAAgBT,EAAc,CAC9B,IAAIU,GAAe,SAAQ,kBAC3B,GAAIA,EACA,OAAOA,CAEf,CACA,cAAWC,WAAa,MAAiBA,SAC9BA,UAEJ,SAAQtB,EACnB,CAIO,SAASuB,IACZ,cAAWC,UAAY,KACZA,SAEJ,SAAQvB,EACnB,CAQO,SAASwB,IACZ,OAAOC,eAAgBrgB,OAAS,MAAiBA,MAA8B,QAArB,SAAQ6e,GACtE,CAMO,SAASyB,IACZ,OAAIF,IACOpgB,OAAQ,SAAQ6e,GAEpB,IACX,CAMO,SAAS0B,IACZ,OAAO,SAAQzB,EACnB,CAMO,SAAS0B,IACZ,OAAO,SAAQzB,EACnB,CAIO,SAAS0B,IAEZ,IAAIC,GAAM,WACV,SAAIA,IAAOA,EAAIC,UACJD,EAAIC,UAAY3B,CAG/B,CAIO,SAAS4B,IACZ,IAAIF,GAAM,WACV,GAAIA,IAAQA,EAAI,QAA6CrB,GAAqC,OAAfD,GAAsB,CAErGC,EAAqBqB,EAAI,MACzB,IAAIlnB,GAAa6lB,GAAsB,MAAW,QAClDD,GAAc,QAAY5lB,EAAWylB,KAAY,QAAYzlB,EAAW0lB,EAC5E,CACA,OAAOE,CACX,CAIO,SAASyB,EAAaC,GAEzB,QADqB,IAAjBA,IAA2BA,EAAe,OACzCA,EAAc,CACf,IAAIC,GAAc,YAAkB,CAAC,EACrCD,EAAeC,GAAeA,EAAYvnB,WAAa,MAAW,QAAkD,IACxH,CACA,IAAIwnB,GAAMF,GAAgB,MAAW,QAErC,IAAI,QAAYE,EAAI/B,GAAU,CAC1B,IAAIgC,GAAM,YAAiB,CAAC,EAC5B,OAAO9rB,KAAKwQ,IAAIP,SAAS4b,EAAG,MAAgC/B,GAAS,IAAMgC,EAAIvC,IAAoB,EACvG,CACK,IAAI,QAAYsC,EAAI9B,GAAa,CAClC,IAAIgC,EAAa9b,SAAS4b,EAAG,MAAgC9B,GAAY,IACzE,GAAIgC,EACA,OAAOA,EAAa,CAE5B,CACA,OAAO,IACX,CAeO,SAASC,EAAmBC,GAI/B,OAH0B,OAAtB5B,IAA4C,IAAd4B,IAC9B5B,GAAoB,YAAkBa,SAAQ,WAAegB,aAE1D7B,CACX,CAMO,SAAS8B,EAAiBC,GAC7B,IAAIC,GAAc,EAClB,IACIA,KAAgB,SAAQ,SACxB,IAAIC,GAAU,SAAQ,WAClBD,GAAeD,GAAiBE,IAChCD,EAAc/B,EAAagC,EAAS,aAE5C,CACA,MAAO3jB,GAEP,CACA,OAAO0jB,CACX,CACO,SAASE,IAOZ,OAN2B,OAAvBnC,IACAA,SAA6BoC,iBAAmB,KAC5CpC,GAAsBqC,MACtBrC,EAAqBA,IAAuBE,GAAa,SAAQN,GAAoB,qBAGtFI,CACX,CAKO,SAASqC,IACZ,IAAIJ,GAAc,EAClB,IACI,IAAIK,GAAiB,SAAQ1C,GAC7BqC,IAAgBK,CACpB,CACA,MAAO/jB,GAEP,CACA,OAAO0jB,CACX,CAyCO,SAASM,EAAc5a,EAAQ6a,GAClC,SAAI7a,GAAUA,EAAO4a,eAAiBC,KAClC7a,EAAO4a,cAAcC,IACd,EAGf,CACO,SAASC,EAAqBC,EAAWzhB,GAC5C,IAAI0hB,EAAQ,KACR/O,EAAS,CAAEA,OAAQ3S,GAAW,MAClC,IAAI,SAAW2hB,aACXD,EAAQ,IAAIC,YAAYF,EAAW9O,OAElC,CACD,IAAI8N,GAAM,WACNA,GAAOA,EAAImB,cACXF,EAAQjB,EAAImB,YAAY,eACxBF,EAAMG,gBAAgBJ,GAAW,GAAM,EAAM9O,GAErD,CACA,OAAO+O,CACX,CACO,SAASI,EAAgBC,EAASpT,EAAKqT,GAC1C,IAAIC,GAAS,WACb,GAAIA,GAAUA,EAAON,YACjB,IACI,IAAI3hB,EAAU,CAAE2O,IAAKA,GAAO,KAAMqT,cAAeA,GAAiB,MAClE,OAAOV,EAAcW,EAAQT,EAAqBO,EAAS/hB,GAC/D,CACA,MAAO1C,GAEP,CAEJ,OAAO,CACX,C,6PC/SA,IAAI4kB,EAAc,KACdC,EAAiB,cACjBC,EAAoB,mBACpBC,EAAiB,cACjBC,EAAyB,sBACzBC,EAAY,SACZC,EAAyB,mBACzBC,EAAc,WAEdC,EAAY,SACZC,EAAkB,eAClBC,GAAuB,OAAsB,iBAE7CC,IADuB,OAAsB,iBAC5B,YACjBC,EAAyB,SACzBC,EAAQ,EACRC,GAAc,OAAkB,UAChCC,EAAiB,sBACrB,SAASC,EAAoBttB,GACzB,OAAIA,GAAQA,EAAK,MACNA,EAAK,MAAoC,+BAAgC,MAE7EA,CACX,CACA,SAASutB,EAAiB1B,EAAW2B,GACjC,IAAIhgB,EACJ,GAAIggB,EAAc,CACd,IAAIC,EAAiB,MACjB,SAAQD,IACRC,EAAiB,MACjB,SAAWD,GAAc,SAAUxtB,GAC/BA,EAAOstB,EAAoBttB,GACvBA,IACgB,MAAZA,EAAK,KACLA,EAAO,IAAMA,GAEjBytB,GAAkBztB,EAE1B,KAGAytB,EAAiBH,EAAoBE,GAErCC,IAC0B,MAAtBA,EAAe,KACfA,EAAiB,IAAMA,GAG3B5B,GAAaA,GAAa,MAAa4B,EAE/C,CACA,IAAIC,EAAeL,EAAevgB,KAAK+e,GAAa,OAAc,GAClE,OAAOre,EAAK,CAAC,EACTA,EAAG,MAA6BkgB,EAAY,GAC5ClgB,EAAGyX,IAAOyI,EAAY,IAAM,MAAW9Z,QAAQqZ,EAAgB,KAAKrZ,QAAQsZ,EAAwB,MAAW,MAAgC,KAAKS,OAAQC,KAAK,KACjKpgB,CACR,CA6BA,SAASqgB,EAAqB/c,EAAQqb,EAAS5H,QACxB,IAAfA,IAAyBA,GAAa,GAC1C,IAAIuJ,EAASV,EAAYvQ,IAAI/L,EAAQ6b,EAAW,CAAC,EAAGpI,GAChDwJ,EAAmBD,EAAO3B,GAI9B,OAHK4B,IACDA,EAAmBD,EAAO3B,GAAW,IAElC4B,CACX,CACA,SAASC,EAAU1jB,EAAK6hB,EAAS8B,EAAYC,GACrC5jB,GAAO6hB,GAAWA,EAAQ,QACtB7hB,EAAIoiB,GACJpiB,EAAIoiB,GAAwBP,EAAQ,MAA+B8B,EAAYC,GAE1E5jB,EAAImiB,IACTniB,EAAImiB,GAAgBH,EAAcH,EAAQ,MAA+B8B,GAGrF,CACA,SAASE,EAAU7jB,EAAK6hB,EAAS8B,EAAYC,GACzC,IAAIvkB,GAAS,EAab,OAZIW,GAAO6hB,GAAWA,EAAQ,OAAiC8B,IACvD3jB,EAAIkiB,IAEJliB,EAAIkiB,GAAmBL,EAAQ,MAA+B8B,EAAYC,GAC1EvkB,GAAS,GAEJW,EAAIiiB,KAETjiB,EAAIiiB,GAAgBD,EAAcH,EAAQ,MAA+B8B,GACzEtkB,GAAS,IAGVA,CACX,CACA,SAASykB,EAActd,EAAQud,EAAQlC,EAASmC,GAC5C,IAAIlR,EAAMiR,EAAO,MACjB,MAAOjR,IAAO,CACV,IAAItT,EAAWukB,EAAOjR,GAClBtT,IACKqiB,EAAQlH,IAAMkH,EAAQlH,KAAOnb,EAASqiB,QAAQlH,IAC1CqJ,IAAWA,EAAQxkB,KACpBkkB,EAAUld,EAAQhH,EAASqiB,QAASriB,EAAS,MAAqCA,EAASykB,SAE3FF,EAAO,MAAkCjR,EAAK,IAI9D,CACJ,CACA,SAASoR,EAAkB1d,EAAQqb,EAASmC,GACxC,GAAInC,EAAQ,MACRiC,EAActd,EAAQ+c,EAAqB/c,EAAQqb,EAAQ,OAAgCA,EAASmC,OAEnG,CACD,IAAIG,EAAarB,EAAYvQ,IAAI/L,EAAQ6b,EAAW,CAAC,IACrD,SAAc8B,GAAY,SAAUC,EAASL,GACzCD,EAActd,EAAQud,EAAQlC,EAASmC,EAC3C,IAE8D,KAA1D,SAAQG,GAAY,OACpBrB,EAAY5I,KAAK1T,EAAQ6b,EAEjC,CACJ,CACO,SAASgC,EAAkBC,EAAcC,GAC5C,IAAIC,EAcJ,OAbID,GAEIC,GADA,SAAQD,GACQ,CAACD,GAAcxd,OAAOyd,GAGtB,CAACD,EAAcC,GAGnCC,EAAiBvB,EAAiB,KAAMuB,GAAiB,GAAE,MAAgC,MAG3FA,EAAgBF,EAEbE,CACX,CAYO,SAASC,EAAQje,EAAQ+a,EAAWoC,EAAYT,EAAcU,GACjE,IAAI1gB,OACe,IAAf0gB,IAAyBA,GAAa,GAC1C,IAAIvkB,GAAS,EACb,GAAImH,EACA,IACI,IAAIqb,EAAUoB,EAAiB1B,EAAW2B,GAE1C,GADA7jB,EAASwkB,EAAUrd,EAAQqb,EAAS8B,EAAYC,GAC5CvkB,GAAUyjB,EAAY9I,OAAOxT,GAAS,CACtC,IAAIke,GAAmBxhB,EAAK,CACpByhB,KAAM9B,IACNhB,QAASA,GAEb3e,EAAG,MAAmCygB,EACtCzgB,EAAG+gB,QAAUL,EACb1gB,GACJqgB,EAAqB/c,EAAQqb,EAAQpb,MAAM,MAA8Bie,EAC7E,CACJ,CACA,MAAOtnB,GAEP,CAEJ,OAAOiC,CACX,CAaO,SAASulB,EAASpe,EAAQ+a,EAAWoC,EAAYT,EAAcU,GAElE,QADmB,IAAfA,IAAyBA,GAAa,GACtCpd,EACA,IACI,IAAIqe,EAAY5B,EAAiB1B,EAAW2B,GACxC4B,GAAU,EACdZ,EAAkB1d,EAAQqe,GAAW,SAAUE,GAC3C,UAAKF,EAAUlK,IAAOgJ,IAAeoB,EAAS,QAAwCpB,KAClFmB,GAAU,GACH,EAGf,IACKA,GAEDpB,EAAUld,EAAQqe,EAAWlB,EAAYC,EAEjD,CACA,MAAOxmB,GAEP,CAER,CAkCO,SAAS4nB,EAAgBzD,EAAWtM,EAAUiO,GACjD,IAAI7jB,GAAS,EACTiS,GAAI,WACJA,IACAjS,EAASolB,EAAQnT,EAAGiQ,EAAWtM,EAAUiO,GACzC7jB,EAASolB,EAAQnT,EAAE,QAASiQ,EAAWtM,EAAUiO,IAAiB7jB,GAEtE,IAAIkhB,GAAM,WAIV,OAHIA,IACAlhB,EAASolB,EAAQlE,EAAKgB,EAAWtM,EAAUiO,IAAiB7jB,GAEzDA,CACX,CAUO,SAAS4lB,EAAmB1D,EAAWtM,EAAUiO,GACpD,IAAI5R,GAAI,WACJA,IACAsT,EAAStT,EAAGiQ,EAAWtM,EAAUiO,GACjC0B,EAAStT,EAAE,QAASiQ,EAAWtM,EAAUiO,IAE7C,IAAI3C,GAAM,WACNA,GACAqE,EAASrE,EAAKgB,EAAWtM,EAAUiO,EAE3C,CASA,SAASgC,EAAmBnB,EAAQtJ,EAAU0K,EAAejC,GACzD,IAAIkC,GAAQ,EAUZ,OATI3K,GAAYsJ,GAAUA,EAAO,MAAoC,IACjE,SAAWA,GAAQ,SAAUruB,GACrBA,IACKyvB,IAAsD,KAArC,SAAWA,EAAezvB,KAC5C0vB,EAAQJ,EAAgBtvB,EAAM+kB,EAAUyI,IAAiBkC,GAGrE,IAEGA,CACX,CASO,SAASC,EAAkBtB,EAAQtJ,EAAU0K,EAAejC,GAC/D,IAAIkC,GAAQ,EAQZ,OAPI3K,GAAYsJ,IAAU,SAAQA,KAC9BqB,EAAQF,EAAmBnB,EAAQtJ,EAAU0K,EAAejC,IACvDkC,GAASD,GAAiBA,EAAc,MAAoC,IAE7EC,EAAQF,EAAmBnB,EAAQtJ,EAAU,KAAMyI,KAGpDkC,CACX,CAOO,SAASE,EAAqBvB,EAAQtJ,EAAUyI,GAC/Ca,IAAU,SAAQA,KAClB,SAAWA,GAAQ,SAAUruB,GACrBA,GACAuvB,EAAmBvvB,EAAM+kB,EAAUyI,EAE3C,GAER,CAYO,SAASqC,EAA2B9K,EAAU0K,EAAejC,GAGhE,OAAOmC,EAAkB,CAAC5C,EAAiBD,EAAWD,GAAc9H,EAAU0K,EAAejC,EACjG,CAQO,SAASsC,EAA8B/K,EAAUyI,GACpDoC,EAAqB,CAAC7C,EAAiBD,EAAWD,GAAc9H,EAAUyI,EAC9E,CAaO,SAASuC,EAAyBhL,EAAU0K,EAAejC,GAC9D,SAASwC,EAAsB1iB,GAC3B,IAAIud,GAAM,WACN9F,GAAY8F,GAA+B,WAAxBA,EAAIoF,iBACvBlL,EAASzX,EAEjB,CAEA,IAAIwhB,EAAgBH,EAAkB3B,EAAsBQ,GACxD0C,EAAkBV,EAAmB,CAAC3C,GAAc9H,EAAU0K,EAAeX,GAQjF,OAPKW,IAAwE,KAAvD,SAAWA,EAAe7C,KAC5CsD,EAAkBV,EAAmB,CAAC5C,GAAyBoD,EAAuBP,EAAeX,IAAkBoB,IAEtHA,GAAmBT,IAEpBS,EAAkBH,EAAyBhL,EAAU,KAAMyI,IAExD0C,CACX,CAQO,SAASC,EAA4BpL,EAAUyI,GAElD,IAAIsB,EAAgBH,EAAkB3B,EAAsBQ,GAC5DoC,EAAqB,CAAC/C,GAAc9H,EAAU+J,GAC9Cc,EAAqB,CAAChD,GAAyB,KAAMkC,EACzD,C,yZC3aA,IAAIsB,EAAoB,iBACpBC,EAAa,YACbC,EAAoB,eACpBC,EAAkB,iBACXC,EAAeC,OAAOL,GAI1B,SAASM,EAAqB9pB,GACjC,QAAQ,SAAkBA,EAC9B,CAQO,SAAS+pB,EAAgB3wB,GAC5B,IAAI4G,EAAQ5G,EAWZ,OAVI4G,IAAS,SAASA,KAElBA,EAAQA,EAAM,MAAoCypB,GAAY,SAAUO,EAAMC,GAC1E,OAAOA,EAAOze,aAClB,IACAxL,EAAQA,EAAM,MAAoC0pB,EAAmB,KACrE1pB,EAAQA,EAAM,MAAoC2pB,GAAiB,SAAUK,EAAM7hB,GAC/E,MAAO,IAAMA,CACjB,KAEGnI,CACX,CAMO,SAASkqB,EAAYlqB,EAAOmqB,GAC/B,SAAInqB,IAASmqB,KAC6B,KAA/B,SAAWnqB,EAAOmqB,EAGjC,CAIO,SAASC,EAAYC,GACxB,OAAOA,GAAQA,EAAKD,eAAiB,EACzC,CAKO,SAASE,EAAiBC,GAC7B,OAAI,SAAQA,GACDA,EAAO,MAEX,IACX,CAWO,SAASC,EAAStgB,EAAQ1K,EAAOQ,EAAOyqB,EAAQC,GACnD,IAAInY,EAAWvS,EAQf,OAPIkK,IACAqI,EAAWrI,EAAO1K,GACd+S,IAAavS,GAAW0qB,IAAUA,EAAOnY,IAAgBkY,IAAUA,EAAOzqB,KAC1EuS,EAAWvS,EACXkK,EAAO1K,GAAS+S,IAGjBA,CACX,CAOO,SAASoY,EAAYzgB,EAAQ1K,EAAOqS,GACvC,IAAIU,EAaJ,OAZIrI,GACAqI,EAAWrI,EAAO1K,IACb+S,IAAY,SAAkBA,KAE/BA,GAAY,SAAYV,GAAuB,CAAC,EAAZA,EACpC3H,EAAO1K,GAAS+S,IAKpBA,GAAY,SAAYV,GAAuB,CAAC,EAAZA,EAEjCU,CACX,CACA,SAASqY,EAAqBrR,EAAQsR,GAClC,IAAIC,EAAU,KACVrnB,EAAM,KAOV,OANI,SAAW8V,GACXuR,EAAUvR,EAGV9V,EAAM8V,EAEH,WAEH,IAAIwR,EAAoBnV,UAIxB,GAHIkV,IACArnB,EAAMqnB,KAENrnB,EACA,OAAOA,EAAIonB,GAAU,MAAgCpnB,EAAKsnB,EAElE,CACJ,CAgBO,SAASC,EAAY9gB,EAAQqP,EAAQ0R,GACxC,GAAI/gB,GAAUqP,IAAU,SAASrP,KAAW,SAASqP,GAAS,CAC1D,IAAI2R,EAAU,SAAU1rB,GACpB,IAAI,SAASA,GAAQ,CACjB,IAAIQ,EAAQuZ,EAAO/Z,IACf,SAAWQ,GACNirB,IAAUA,EAAOzrB,GAAO,EAAM+Z,EAAQrP,KAEvCA,EAAO1K,GAASorB,EAAqBrR,EAAQ/Z,IAG3CyrB,IAAUA,EAAOzrB,GAAO,EAAO+Z,EAAQrP,MACzC,SAAUA,EAAQ1K,WAEX0K,EAAO1K,IAElB,SAAU0K,EAAQ1K,EAAO,CACrBiY,EAAG,WACC,OAAO8B,EAAO/Z,EAClB,EACAiC,EAAG,SAAU8Q,GACTgH,EAAO/Z,GAAS+S,CACpB,IAGZ,CACJ,EAEA,IAAK,IAAI/S,KAAS+Z,EACd2R,EAAQ1rB,EAEhB,CACA,OAAO0K,CACX,CAUO,SAASihB,EAAgBjhB,EAAQ9Q,EAAMmgB,EAAQ6R,EAASC,GACvDnhB,GAAU9Q,GAAQmgB,KACM,IAApB8R,IAA6B,SAAYnhB,EAAO9Q,OAChD8Q,EAAO9Q,GAAQwxB,EAAqBrR,EAAQ6R,GAGxD,CASO,SAASE,EAAephB,EAAQqP,EAAQgS,EAAkBF,GAQ7D,OAPInhB,GAAUqP,IAAU,SAASrP,KAAW,SAAQqhB,KAChD,SAAWA,GAAkB,SAAUC,IAC/B,SAASA,IACTL,EAAgBjhB,EAAQshB,EAAajS,EAAQiS,EAAaH,EAElE,IAEGnhB,CACX,CAMO,SAASuhB,EAAyBC,GACrC,OAAsB,WAClB,SAASC,IACL,IAAIhqB,EAAQ3H,KACR0xB,IACA,SAAcA,GAAU,SAAUlsB,EAAOQ,GACrC2B,EAAMnC,GAASQ,CACnB,GAER,CACA,OAAO2rB,CACX,CAVqB,EAWzB,CAQO,SAASC,EAAeC,GAM3B,OAHIA,GAAa,QACbA,GAAY,SAAS,SAAU,CAAC,EAAGA,KAEhCA,CACX,CACO,SAASC,EAAUC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,GAEpD,IAAIC,EAAUzW,UACV0W,EAAWD,EAAQ,IAAM,CAAC,EAC1BE,EAASF,EAAQ,MACjBG,GAAO,EACPhW,EAAM,EAYV,IAVI+V,EAAS,IAAK,SAAUD,KACxBE,EAAOF,EACPA,EAAWD,EAAQ7V,IAAQ,CAAC,EAC5BA,MAGC,SAAS8V,KACVA,EAAW,CAAC,GAGT9V,EAAM+V,EAAQ/V,IAAO,CACxB,IAAIiW,EAAMJ,EAAQ7V,GACdkW,GAAa,SAAQD,GACrBE,GAAW,SAASF,GACxB,IAAK,IAAI5rB,KAAQ4rB,EAAK,CAClB,IAAIG,EAAUF,GAAe7rB,KAAQ4rB,GAAUE,IAAY,SAAUF,EAAK5rB,GAC1E,GAAK+rB,EAAL,CAGA,IAAIhe,EAAW6d,EAAI5rB,GACfgsB,OAAa,EAEjB,GAAIL,GAAQ5d,KAAcie,GAAa,SAAQje,MAAc,SAAcA,IAAY,CAEnF,IAAIke,EAAQR,EAASzrB,GACjBgsB,GACK,SAAQC,KAETA,EAAQ,KAGN,SAAcA,KAEpBA,EAAQ,CAAC,GAGble,EAAWkd,EAAUU,EAAMM,EAAOle,EACtC,MAEiBhP,IAAbgP,IACA0d,EAASzrB,GAAQ+N,EAtBrB,CAwBJ,CACJ,CACA,OAAO0d,CACX,CAEO,SAASS,EAAiBC,EAAS7a,GACtC,IAAI8a,GAAM,EACNC,EAAK/a,GAAOA,EAAIgb,cAAgBhb,EAAIgb,aAAaH,GACrD,GAAIA,GAAWE,EAAI,CACf,IAAIE,EAAOF,EAAGE,KAEdH,EAAe,GAARG,GAAqD,GAARA,CACxD,CACA,OAAOH,CACX,CACO,SAASI,EAAgBC,GAC5B,IACI,OAAOA,EAAIC,YACf,CACA,MAAOzsB,GAEP,CACA,OAAO,IACX,CACO,SAAS0sB,EAAsBC,EAAK70B,GACvC,OAAI60B,EACO,2BAA6BJ,EAAgBI,IAAQ,EAEzD70B,CACX,CACO,SAAS80B,EAAsBJ,EAAK10B,GACvC,OAAI00B,EACO,yBAA2BA,EAAI,MAAoC,aAAeD,EAAgBC,IAAwB,EAE9H10B,CACX,CACO,SAAS+0B,EAAkBC,EAAeC,GAS7C,OARIA,KACI,SAASA,GACTD,EAAgB,CAACC,GAAerjB,OAAOojB,IAElC,SAAQC,KACbD,EAAgBC,EAAcrjB,OAAOojB,KAGtCA,CACX,CACA,IAAIE,EAA0B,0DAC1BC,EAAqB,kBACrBC,EAAa,UAWV,SAASC,EAAQhmB,EAAQimB,EAAWC,EAAiBC,EAAUC,EAAQC,GAG1E,SAASC,EAAgBjB,EAAKzsB,EAAMb,GAChC,IACIstB,EAAIzsB,GAAQb,CAChB,CACA,MAAOc,GAEP,CACJ,MATiB,IAAbstB,IAAuBA,GAAW,QACvB,IAAXC,IAAqBA,GAAS,GASlC,IAAIf,EAAM,IAAIkB,eAwBd,OAvBIJ,GAIAG,EAAgBjB,EAAKQ,EAAyBM,GAE9CD,GAGAI,EAAgBjB,EAAKS,EAAoBI,GAE7Cb,EAAImB,KAAKxmB,EAAQimB,GAAYG,GACzBF,GAGAI,EAAgBjB,EAAKS,EAAoBI,IAKxCE,GAAUC,GACXC,EAAgBjB,EAAKU,EAAYM,GAE9BhB,CACX,CAMO,SAASoB,EAAuBC,GACnC,IAAIC,EAAU,CAAC,EACf,IAAI,SAASD,GAAgB,CACzB,IAAIE,GAAe,SAAQF,GAAe,MAAgC,YAC1E,SAAWE,GAAc,SAAUC,GAC/B,GAAIA,EAAa,CACb,IAAItY,EAAMsY,EAAYC,QAAQ,MAC9B,IAAa,IAATvY,EAAY,CAEZ,IAAIwY,GAAS,SAAQF,EAAYG,UAAU,EAAGzY,IAAM,QAChDxW,GAAQ,SAAQ8uB,EAAYG,UAAUzY,EAAM,IAChDoY,EAAQI,GAAUhvB,CACtB,MAEI4uB,GAAQ,SAAQE,IAAgB,CAExC,CACJ,GACJ,CACA,OAAOF,CACX,CAKO,SAASM,EAAcC,EAAY7B,EAAKl0B,GAC3C,IAAK+1B,EAAW/1B,IAASk0B,GAAOA,EAAI,MAA2D,CAC3F,IAAIttB,EAAQstB,EAAI,MAA0Dl0B,GACtE4G,IACAmvB,EAAW/1B,IAAQ,SAAQ4G,GAEnC,CACA,OAAOmvB,CACX,CACA,IAAIC,EAA2B,gBAC3BC,EAAmC,wBACnCC,EAAwB,oBAKrB,SAASC,EAAuBjC,EAAKkC,GACxC,IAAIL,EAAa,CAAC,EAclB,OAbK7B,EAAI,MAWL6B,EAAaT,EAAuBpB,EAAI,SAPlCkC,IACFL,EAAaD,EAAcC,EAAY7B,EAAKgC,GAC5CH,EAAaD,EAAcC,EAAY7B,EAAK8B,GAC5CD,EAAaD,EAAcC,EAAY7B,EAAK+B,IAM7CF,CACX,C,uPCjcA,IAAIM,EAAoB,WACpBC,EAAU,0BAEb,KAFa,CACV,MAAO,MAAO,QAAS,SAG3B,SAASC,EAASC,EAAKlc,GACnB,GAAIkc,EACA,IAAK,IAAI1rB,EAAK,EAAGA,EAAK0rB,EAAI,MAAmC1rB,IACzD,GAAIwP,EAAGkc,EAAI1rB,GAAKA,GACZ,KAIhB,CAEA,SAAS2rB,EAAaC,EAAOC,EAAaC,EAAQC,EAAS9lB,GACnDA,GAAQ,GAAgCA,GAAQ,GAChDwlB,EAASG,GAAO,SAAUI,EAAM1Z,GAC5B,IAAI2Z,EAAOD,EAAKC,KACZC,EAAKD,EAAKT,EAAQvlB,IACtB,GAAIimB,EAAI,CAEJL,EAAYM,IAAM,WACd,IAAIA,EAAMJ,EAAQzZ,GAAQyZ,EAAQzZ,IAAQ,CAAC,EAC3C,OAAO6Z,CACX,EACA,IACID,EAAG,MAAgCL,EAAYO,KAAMN,EACzD,CACA,MAAOO,GACH,IAAIC,EAAQT,EAAYQ,IACxB,IAEI,IAAIE,EAAcN,EAAKT,EAAQ,IAC3Be,IACAV,EAAYQ,IAAMA,EAClBE,EAAY,MAAgCV,EAAYO,KAAMN,GAEtE,CACA,MAAOlvB,GAEP,CACA,QAEIivB,EAAYQ,IAAMC,CACtB,CACJ,CACJ,CACJ,GAER,CAEA,SAASE,EAAoBC,GAEzB,OAAO,WACH,IAAI/pB,EACAgqB,EAAW52B,KAEX62B,EAAUjb,UACVka,EAAQa,EAAOta,EACfya,GAAYlqB,EAAK,CAAC,EAClBA,EAAG,MAA6B+pB,EAAOva,EACvCxP,EAAG0pB,KAAOM,EACVhqB,EAAGypB,IAAM,KACTzpB,EAAG4K,IAAMuf,EACTnqB,GACAqpB,EAAU,GACVD,EAASgB,EAAY,CAACF,GAAWD,GAErC,SAASG,EAAY9mB,EAAQmiB,GAIzB,OAHAsD,EAAStD,GAAS,SAAUI,GACxBviB,EAAO,MAA8BuiB,EACzC,IACOviB,CACX,CACA,SAAS6mB,EAAYva,EAAKxW,GACtB6wB,EAAUG,EAAY,GAAIH,GAC1BA,EAAQra,GAAOxW,EACfgwB,EAASgB,EAAY,CAACF,GAAWD,EACrC,CAXAC,EAASpqB,KAAM,SAAQ,SAavBmpB,EAAaC,EAAOgB,EAAUd,EAAQC,EAAS,GAE/C,IAAI7E,EAAUuF,EAAOM,EACrB,GAAI7F,EACA,IACI0F,EAASI,KAAO9F,EAAQ,MAAgCwF,EAAUC,EACtE,CACA,MAAON,GAKH,MAHAO,EAASP,IAAMA,EACfV,EAAaC,EAAOgB,EAAUd,EAAQC,EAAS,GAEzCM,CACV,CAIJ,OADAV,EAAaC,EAAOgB,EAAUd,EAAQC,EAAS,GACxCa,EAASI,IACpB,CACJ,CAEA,SAASC,EAAUjnB,EAAQ9Q,EAAMg4B,EAAgBC,GAC7C,IAAIC,EAAQ,KASZ,OARIpnB,KACI,SAAkBA,EAAQ9Q,GAC1Bk4B,EAAQpnB,EAEHknB,IACLE,EAAQH,GAAU,QAAajnB,GAAS9Q,EAAMi4B,GAAkB,KAGjEC,CACX,CAOO,SAASC,EAAgBrnB,EAAQ2gB,EAAU2G,GAC9C,OAAItnB,EACOunB,EAAevnB,EAAO,MAAmB2gB,EAAU2G,GAAW,GAElE,IACX,CAaA,SAASE,EAAsBJ,EAAOzG,EAAUnX,EAAI8d,GAChD,IAAIb,EAASjd,GAAMA,EAAG+b,GACtB,IAAKkB,EAAQ,CAETA,EAAS,CACLjxB,EAAG,EACH0W,EAAGyU,EACHoG,EAAGvd,EACH2C,EAAG,IAGP,IAAIsb,EAAUjB,EAAoBC,GAClCgB,EAAQlC,GAAqBkB,EAC7BW,EAAMzG,GAAY8G,CACtB,CACA,IAAIC,EAAU,CAEVxwB,GAAIuvB,EAAOjxB,EACXywB,KAAMqB,EACN7d,GAAI,WAGA,IAAIvS,EAAKpH,KAAKoH,GACduuB,EAASgB,EAAOta,GAAG,SAAU6Z,EAAM1Z,GAC/B,GAAI0Z,EAAK9uB,KAAOA,EAEZ,OADAuvB,EAAOta,EAAE,MAAkCG,EAAK,GACzC,CAEf,GACJ,GAKJ,OAFAma,EAAOjxB,IACPixB,EAAOta,EAAE,MAA8Bub,GAChCA,CACX,CASO,SAASH,EAAevnB,EAAQ2gB,EAAU2G,EAAWJ,EAAgBC,GAExE,QADuB,IAAnBD,IAA6BA,GAAiB,GAC9ClnB,GAAU2gB,GAAY2G,EAAW,CACjC,IAAIF,EAAQH,EAAUjnB,EAAQ2gB,EAAUuG,EAAgBC,GACxD,GAAIC,EAAO,CACP,IAAI5d,EAAK4d,EAAMzG,GACf,UAAWnX,IAAO,KACd,OAAOge,EAAsBJ,EAAOzG,EAAUnX,EAAI8d,EAE1D,CACJ,CACA,OAAO,IACX,CAgCO,SAASK,EAAgB3nB,EAAQqb,EAASiM,EAAWJ,EAAgBC,GACxE,GAAInnB,GAAUqb,GAAWiM,EAAW,CAChC,IAAIF,EAAQH,EAAUjnB,EAAQqb,EAAS6L,EAAgBC,IAAqBnnB,EAC5E,GAAIonB,EACA,OAAOI,EAAsBJ,EAAO/L,EAAS+L,EAAM/L,GAAUiM,EAErE,CACA,OAAO,IACX,C,qOC3OO,IAAIM,EAAkB,0BAAS,UAAT,EAClBC,EAAY,GACZC,EAAe,WACfC,EAAW,OACXC,EAAsB,gBACtBC,EAAe,WACfC,EAAuB,kBACvBC,EAAiB,aACjBC,EAAwB,mBACxBC,EAAe,WACfC,EAAkB,aAClBC,EAAuB,kBACvBC,EAA0B,oBAC1BC,EAAiB,YACjBC,EAAoB,sBACpBC,EAAmB,mBACnBC,EAAmB,mBACnBC,EAAmB,aACnBC,EAAa,SACbC,EAAW,OACXC,EAAwB,gB,mHCnB/BC,EAAyB,MACzBC,EAAsB,mBACtBC,EAAwB,qBACxBC,EAAsB,KACtBC,EAA2B,WAC3B,SAASA,EAAUn6B,EAAMo6B,EAAgBlS,GACrC,IAOQmS,EAPJ7xB,EAAQ5H,MACZ4H,EAAMwM,OAAQ,WACdxM,EAAM,MAAgCxI,EACtCwI,EAAM,MAAuC0f,EAC7C1f,EAAM,MAA8C,WAAc,OAAO,CAAO,GAC5E,SAAW4xB,MAGX,SAAU5xB,EAAO,UAAW,CACxB6V,EAAG,WAOC,OALKgc,IAAgB,SAAWD,KAC5BC,EAAeD,IAEfA,EAAiB,MAEdC,CACX,IAGR7xB,EAAM,MAAqC,SAAUvC,GACjD,OAAIA,EAEIA,IAAQk0B,EAAUH,IAAwB/zB,IAAQk0B,EAAUF,GACrDzxB,EAAMvC,IAETuC,EAAMuxB,IAA2B,CAAC,GAAG9zB,GAE1C,IACX,EACAuC,EAAM,MAAqC,SAAUvC,EAAKW,GACtD,GAAIX,EAEA,GAAIA,IAAQk0B,EAAUH,GAEbxxB,EAAMvC,KACPuC,EAAM,MAA8C,WAAc,OAAO,CAAM,GAEnFA,EAAMvC,GAAOW,OAEZ,GAAIX,IAAQk0B,EAAUF,GACvBzxB,EAAMvC,GAAOW,MAEZ,CACD,IAAIqwB,EAAMzuB,EAAMuxB,GAA0BvxB,EAAMuxB,IAA2B,CAAC,EAC5E9C,EAAIhxB,GAAOW,CACf,CAER,EACA4B,EAAM,MAAwC,WAC1C,IAAI8xB,EAAY,EACZC,EAAY/xB,EAAM,MAAmC2xB,EAAUF,IACnE,IAAI,SAAQM,GACR,IAAK,IAAIzvB,EAAK,EAAGA,EAAKyvB,EAAU,MAAmCzvB,IAAM,CACrE,IAAI0vB,EAAWD,EAAUzvB,GACrB0vB,IACAF,GAAaE,EAAS,MAE9B,CAEJhyB,EAAM,OAAgC,WAAWA,EAAMwM,MACvDxM,EAAMiyB,OAASjyB,EAAM,MAAgC8xB,EACrD9xB,EAAM,MAAwC,WAAc,CAChE,CACJ,CAGA,OAFA2xB,EAAUO,iBAAmB,SAC7BP,EAAUQ,mBAAqB,YACxBR,CACX,CAtE8B,GAwE1BS,EAA6B,WAC7B,SAASA,EAAYC,GAKjBj6B,KAAKq2B,IAAM,CAAC,GACZ,OAAa2D,EAAah6B,MAAM,SAAU4H,GACtCA,EAAMsyB,OAAS,SAAUzwB,EAAK+vB,EAAgBlS,GAG1C,OAAO,IAAIiS,EAAU9vB,EAAK+vB,EAAgBlS,EAC9C,EACA1f,EAAMuyB,KAAO,SAAUC,GACfA,IACAA,EAAU,QACNH,IAAW,SAAWA,EAAQ,QAC9BA,EAAQ,MAAwCG,GAG5D,EACAxyB,EAAM,MAAqC,SAAUvC,EAAKW,GACtD,GAAIX,EAAK,CACL,IAAIgxB,EAAMzuB,EAAMuxB,GAA0BvxB,EAAMuxB,IAA2B,CAAC,EAC5E9C,EAAIhxB,GAAOW,CACf,CACJ,EACA4B,EAAM,MAAqC,SAAUvC,GACjD,OAAQuC,EAAMuxB,IAA2B,CAAC,GAAG9zB,EACjD,CACJ,GACJ,CASA,OAFA20B,EAAYrX,QAAQ,EAEbqX,CACX,CAzCgC,GA2C5BK,EAAkB,mBASf,SAASC,EAAOC,EAAWC,EAAWpV,EAAM5b,EAAS8d,GACxD,GAAIiT,EAAW,CACX,IAAIE,EAAUF,EAKd,GAJIE,EAAQ,QAERA,EAAUA,EAAQ,SAElBA,EAAS,CACT,IAAIC,OAAU,EACVC,EAAgBF,EAAQ,MAAmCJ,GAC/D,IAEI,GADAK,EAAUD,EAAQP,OAAOM,IAAahxB,EAAS8d,GAC3CoT,EAAS,CACT,GAAIC,GAAiBD,EAAQ,QACzBA,EAAQ,MAAmCnB,EAAUH,GAAsBuB,GACvEA,EAAc,OAAsCA,EAAc,OAAoC,CACtG,IAAIC,EAAWD,EAAc,MAAmCpB,EAAUF,IACrEuB,IACDA,EAAW,GACXD,EAAc,MAAmCpB,EAAUF,GAAwBuB,IAEvFA,EAAS,MAA8BF,EAC3C,CAIJ,OADAD,EAAQ,MAAmCJ,EAAiBK,GACrDtV,EAAKsV,EAChB,CACJ,CACA,MAAO5tB,GACC4tB,GAAWA,EAAQ,OACnBA,EAAQ,MAAmC,YAAa5tB,EAEhE,CACA,QAEQ4tB,GACAD,EAAQN,KAAKO,GAGjBD,EAAQ,MAAmCJ,EAAiBM,EAChE,CACJ,CACJ,CACA,OAAOvV,GACX,CAYO,SAASyV,IACZ,OAAOvB,CACX,C,mLCrLIwB,EAA0B,uBAC1BC,EAAiB,UACjBC,EAAe,aACfC,EAAW,EACf,SAASC,EAAmBC,EAAOha,EAAMia,GACrC,MAAOD,EAAO,CACV,GAAIA,EAAM,UAA+CC,EACrD,OAAOD,EAEXA,EAAQA,EAAM,OAClB,CAEA,OAAOE,EAA0B,CAACD,GAAUja,EAAKhP,QAAU,CAAC,EAAGgP,EACnE,CASA,SAASma,EAAuBC,EAAgB7jB,EAAgByJ,EAAMia,GAGlE,IAAII,EAAa,KACbC,EAAc,GACb/jB,IACDA,GAAiB,OAAoB,CAAC,EAAG,KAAMyJ,EAAK,QAExC,OAAZia,IAEAI,EAAaJ,EAAUF,EAAmBK,EAAgBpa,EAAMia,GAAWG,GAE/E,IAAIG,EAAU,CACVC,MAAOC,EACPvF,IAAK,CACDlV,KAAM,WACF,OAAOA,CACX,EACA0a,QAAS,WACL,OAAO,QAAc1a,EAAMzJ,EAAeS,IAC9C,EACAmK,OAAQ,WACJ,OAAO5K,EAAeS,GAC1B,EACA2jB,UAAWC,EACXC,UAAWC,EACXC,QAAS,WACL,QAASV,CACb,EACAW,QAAS,WACL,OAAOX,CACX,EACAY,QAAS,SAAU/a,GACfma,EAAana,CACjB,EACAgb,QAASC,EACTC,WAAYC,IAGpB,SAASA,EAAeD,EAAYE,GAEhC,IADA,IAAI/gB,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,EAAK,GAAKC,UAAUD,GAEzB4gB,GACAd,EAAY,MAA8B,CACtCrW,KAAMmX,EACNpc,MAAO,SAAYsc,GAAef,EAAQrF,IAAfoG,EAC3B/gB,KAAMA,GAGlB,CACA,SAASkgB,IACL,IAAIc,EAAYlB,EAGhB,GADAA,EAAakB,EAAYA,EAAU,QAAyC,MACvEA,EAAW,CACZ,IAAIH,EAAad,EACbc,GAAcA,EAAW,MAAoC,KAC7D,SAAWA,GAAY,SAAUI,GAC7B,IACIA,EAAgBvX,KAAKrlB,KAAK48B,EAAgBxc,KAAMwc,EAAgBjhB,KACpE,CACA,MAAO5U,IACH,QAAeqa,EAAK,MAAmC,EAAkC,GAA8C,6CAA8C,SAAQra,GACjM,CACJ,IACA20B,EAAc,GAEtB,CACA,OAAOiB,CACX,CACA,SAASE,EAAW5W,EAAY6W,GAC5B,IAAIC,EAAQ,KACR3kB,EAAMT,EAAeS,IACzB,GAAIA,GAAO6N,EAAY,CACnB,IAAI+W,EAAS5kB,EAAI,OACZ4kB,GAAUF,IACXE,EAAS,CAAC,GAGd5kB,EAAI,MAAwB4kB,EAE5BA,EAASrlB,EAAeuB,IAAId,EAAK,MAC7B4kB,IACAD,EAAQC,EAAO/W,IACV8W,GAASD,IACVC,EAAQ,CAAC,GAGbC,EAAO/W,GAAc8W,EAErBA,EAAQplB,EAAeuB,IAAI8jB,EAAQ/W,GAE3C,CACA,OAAO8W,CACX,CACA,SAASf,EAAe/V,EAAYnL,GAChC,IAAImiB,EAAYJ,EAAW5W,GAAY,GAevC,OAdInL,IAGA,SAAcA,GAAe,SAAUrV,EAAOiT,GAE1C,IAAI,SAAkBukB,EAAUx3B,IAAS,CACrC,IAAI2T,EAAWzB,EAAeS,IAAI3S,IAC9B2T,IAAa,SAAkBA,KAC/B6jB,EAAUx3B,GAAS2T,EAE3B,EACA,OAAmBzB,EAAgBslB,EAAWx3B,EAAOiT,EACzD,IAEGf,EAAe,MAAiCslB,EAAWniB,EACtE,CACA,SAASohB,EAAWjW,EAAYxgB,EAAOiT,GAEnC,IAAIF,OADiB,IAAjBE,IAA2BA,GAAe,GAE9C,IAAIwkB,EAAYL,EAAW5W,GAAY,GACnCkX,EAAaxlB,EAAeS,IAOhC,OANI8kB,IAAcA,EAAUz3B,KAAW,SAAkBy3B,EAAUz3B,KAG1D03B,EAAW13B,KAAW,SAAkB03B,EAAW13B,MACxD+S,EAAW2kB,EAAW13B,IAHtB+S,EAAW0kB,EAAUz3B,GAKjB+S,KAAa,SAAkBA,GAAaA,EAAWE,CACnE,CACA,SAAS6jB,EAAclG,GAEnB,IAAI/U,EACJ,MAAUA,EAAaqa,EAAQC,QAAU,CACrC,IAAIwB,EAAS9b,EAAW,QACpB8b,GAEA/G,EAAG+G,EAEX,CACJ,CACA,OAAOzB,CACX,CAQO,SAAS0B,EAA8B7B,EAAgBpjB,EAAKgJ,EAAMia,GACrE,IAAIjpB,GAAS,OAAoBgG,GAC7BklB,EAAkB/B,EAAuBC,EAAgBppB,EAAQgP,EAAMia,GACvEM,EAAU2B,EAAgBhH,IAC9B,SAASiH,EAAa5a,GAClB,IAAIrB,EAAagc,EAAgB1B,QAKjC,OAJIta,GAEAA,EAAW,MAAsDqB,EAAKgZ,IAElEra,CACZ,CACA,SAASkc,EAAWC,EAASpC,GAKzB,YAJgB,IAAZoC,IAAsBA,EAAU,OAChC,SAAQA,KACRA,EAAUnC,EAA0BmC,EAASrrB,EAAOgG,IAAKgJ,EAAMia,IAE5DgC,EAA8BI,GAAW9B,EAAQ,QAAwCvpB,EAAOgG,IAAKgJ,EAAMia,EACtH,CAGA,OAFAM,EAAQ,MAA+C4B,EACvD5B,EAAQ,MAA2C6B,EAC5C7B,CACX,CAQO,SAAS+B,EAAoClC,EAAgBpa,EAAMia,GACtE,IAAIjpB,GAAS,OAAoBgP,EAAKhP,QAClCkrB,EAAkB/B,EAAuBC,EAAgBppB,EAAQgP,EAAMia,GACvEM,EAAU2B,EAAgBhH,IAC9B,SAASiH,EAAa7b,GAClB,IAAIJ,EAAagc,EAAgB1B,QAEjC,OADAta,GAAcA,EAAW,MAAkCqa,EAASja,IAC5DJ,CACZ,CACA,SAASkc,EAAWC,EAASpC,GAKzB,YAJgB,IAAZoC,IAAsBA,EAAU,OAChC,SAAQA,KACRA,EAAUnC,EAA0BmC,EAASrrB,EAAOgG,IAAKgJ,EAAMia,IAE5DqC,EAAoCD,GAAW9B,EAAQ,QAAwCva,EAAMia,EAChH,CAGA,OAFAM,EAAQ,MAA+C4B,EACvD5B,EAAQ,MAA2C6B,EAC5C7B,CACX,CAQO,SAASgC,EAAoCnC,EAAgBpa,EAAMia,GACtE,IAAIjpB,GAAS,OAAoBgP,EAAKhP,QAClCkrB,EAAkB/B,EAAuBC,EAAgBppB,EAAQgP,EAAMia,GACvEM,EAAU2B,EAAgBhH,IAC9B,SAASiH,EAAatb,GAClB,OAAO0Z,EAAQW,SAAQ,SAAUc,IACzB,SAAWA,EAAO,QAClBA,EAAO,MAAkCzB,EAAS1Z,EAE1D,GACJ,CACA,SAASub,EAAWC,EAASpC,GAKzB,YAJgB,IAAZoC,IAAsBA,EAAU,OAChC,SAAQA,KACRA,EAAUnC,EAA0BmC,EAASrrB,EAAOgG,IAAKgJ,EAAMia,IAE5DsC,EAAoCF,GAAW9B,EAAQ,QAAwCva,EAAMia,EAChH,CAGA,OAFAM,EAAQ,MAA+C4B,EACvD5B,EAAQ,MAA2C6B,EAC5C7B,CACX,CAQO,SAASL,EAA0BmC,EAASrrB,EAAQgP,EAAMia,GAC7D,IAAIuC,EAAa,KACbngB,GAAM4d,EACV,IAAI,SAAQoC,IAAYA,EAAQ,MAAoC,EAAG,CAEnE,IAAII,EAAc,MAClB,SAAWJ,GAAS,SAAUK,GAI1B,GAHKrgB,GAAO4d,IAAYyC,IACpBrgB,GAAM,GAENA,GAAOqgB,IAAa,SAAWA,EAAU,OAAwD,CAEjG,IAAIC,EAAWC,EAA2BF,EAAW1rB,EAAQgP,GACxDwc,IACDA,EAAaG,GAEbF,GAEAA,EAAYI,SAASF,GAEzBF,EAAcE,CAClB,CACJ,GACJ,CACA,OAAI1C,IAAYuC,EAELtC,EAA0B,CAACD,GAAUjpB,EAAQgP,GAEjDwc,CACX,CAYO,SAASI,EAA2BZ,EAAQhrB,EAAQgP,GACvD,IAGI8c,EAHAvB,EAAY,KACZwB,GAAsB,SAAWf,EAAO,OACxCgB,GAAa,SAAWhB,EAAO,OAG/Bc,EADAd,EACUA,EAAO,MAA4C,IAAMA,EAAO,MAAuC,IAAMlC,IAG7G,aAAeA,IAE7B,IAAImD,EAAa,CACbC,UAAW,WACP,OAAOlB,CACX,EACAhB,QAAS,WACL,OAAOO,CACX,EACA4B,iBAAkBC,EAClBC,OAAQC,EACRC,OAAQC,EACRC,IAAKX,EACLD,SAAU,SAAU3c,GAChBqb,EAAYrb,CAChB,GAEJ,SAASP,IACL,IAAIE,EAUJ,OARImc,IAAU,SAAWA,EAAOnC,MAE5Bha,EAAUmc,EAAOnC,MAEhBha,IAEDA,EAAUoc,EAA8BgB,EAAYjsB,EAAQgP,IAEzDH,CACX,CACA,SAAS6d,EAAc7d,EAAS8d,EAAiB1/B,EAAMoK,EAAS8d,GAC5D,IAAIyX,GAAS,EACT/Y,EAAamX,EAASA,EAAO,MAA4CrC,EACzEkE,EAAgBhe,EAAQ+Z,GAiC5B,OAhCKiE,IAEDA,EAAgBhe,EAAQ+Z,GAAkB,CAAC,GAG/C/Z,EAAQob,QAAQM,GACZS,IACA,QAAOnc,EAAQ,SAAgC,WAAc,OAAOgF,EAAa,IAAM5mB,CAAM,IAAG,WAE5F4/B,EAAcf,IAAW,EACzB,IAEI,IAAIgB,EAASvC,EAAYA,EAAUkC,IAAM,KACrCK,IACAD,EAAcC,IAAU,GAE5BF,EAASD,EAAgB9d,EAC7B,CACA,MAAOhiB,GACH,IAAIkgC,GAAaxC,GAAYsC,EAActC,EAAUkC,KACjDM,IAEAH,GAAS,GAERrC,GAAcwC,IAGf,QAAele,EAAQ,QAAwC,EAAmC,GAA8C,WAAagF,EAAa,mBAAqB5mB,EAAO,OAAQ,SAAQJ,GAAS,iBAAkB,SAAQggC,GAEjQ,CACJ,GAAGx1B,EAAS8d,GAETyX,CACX,CACA,SAASR,EAAkB7b,EAAK1B,GAE5B,SAASme,EAAsBne,GAC3B,IAAKmc,IAAWe,EACZ,OAAO,EAEX,IAAIkB,GAAc,QAAgBjC,GAClC,OAAIiC,EAAY,QAAyCA,EAAY,QAMjEjB,GAEAhB,EAAO,MAAkDT,GAE7DS,EAAO,MAAsDza,EAAK1B,IAE3D,EACX,CAnBAA,EAAUA,GAAWF,IAoBhB+d,EAAc7d,EAASme,EAAuB,oBAAoB,WAAc,MAAO,CAAGE,KAAM3c,EAAQ,IAAKA,EAAQ,OAGtH1B,EAAQ,MAA6C0B,EAE7D,CACA,SAAS+b,EAAcjd,EAAWC,GAC9B,SAAS6d,IAEL,IAAIP,GAAS,EACb,GAAI5B,EAAQ,CACR,IAAIiC,GAAc,QAAgBjC,GAC9BoC,EAAapC,EAAO,OAAaiC,EAAY,OAE7CjC,GAAYoC,GAAcA,IAAe/d,EAAUL,QAAYie,EAAY,QAE3EA,EAAY,MAA+B,KAC3CA,EAAY,OAAwC,EACpDA,EAAY,OAAmD,EAC3DjC,EAAO,QAAkH,IAAzEA,EAAO,MAAsC3b,EAAWC,KAExGsd,GAAS,GAGrB,CACA,OAAOA,CACX,CACKF,EAAcrd,EAAW8d,EAAe,UAAU,WAAc,GAAG7d,EAAY,QAEhFD,EAAU,MAA6CC,EAE/D,CACA,SAASkd,EAAc5c,EAAWC,GAC9B,SAASwd,IAEL,IAAIT,GAAS,EACb,GAAI5B,EAAQ,CACR,IAAIiC,GAAc,QAAgBjC,GAC9BoC,EAAapC,EAAO,OAAaiC,EAAY,OAE7CjC,GAAYoC,GAAcA,IAAexd,EAAUZ,QAAYie,EAAY,OACvEjC,EAAO,QAA0G,IAArEA,EAAO,MAAkCpb,EAAWC,KAEhG+c,GAAS,EAGrB,CACA,OAAOA,CACX,CACKF,EAAc9c,EAAWyd,EAAa,UAAU,WAAc,IAAG,IAElEzd,EAAU,MAA6CC,EAE/D,CACA,OAAO,SAAUoc,EACrB,EAK6C,WAOzC,SAASqB,EAAwBre,EAAajP,EAAQgP,EAAMia,GACxD,IAAIxzB,EAAQ5H,KACR07B,EAAU0B,EAA8Bhc,EAAajP,EAAQgP,EAAMia,IAEvE,QAAexzB,EAAO8zB,GAAS,SAAQA,GAC3C,CAEJ,EAd4C,E,uPC7c5C,IAAIgE,EAAa,WACbC,EAAY,WACZC,EAAQ,UACRC,EAAQ,UAERC,GAAa,EACbC,EAAQ,0BAAK,KAAL,EACRC,EAAQ,0BAAK,KAAL,EAEZ,SAASC,EAASC,GACVA,EAAY,IAEZA,KAAe,GAEnBH,EAASH,EAAQM,EAAaP,EAC9BK,EAASH,EAAQK,EAAaP,EAC9BG,GAAa,CACjB,CACA,SAASK,IAGL,IACI,IAAInsB,EAAiB,YAAX,WACVisB,GAAW9hC,KAAKiiC,SAAWV,EAAc1rB,GAAOA,EACpD,CACA,MAAOlN,GAEP,CACJ,CAMO,SAASu5B,EAAYC,GACxB,OAAIA,EAAW,EACJniC,KAAKI,MAAOgiC,IAAaZ,GAAcW,EAAW,MAAQ,EAE9D,CACX,CAKO,SAASC,EAASC,GACrB,IAAIx6B,EAAQ,EACR+U,GAAI,YAAe,UAuBvB,OAtBIA,GAAKA,EAAE0lB,kBAEPz6B,EAAQ+U,EAAE0lB,gBAAgB,IAAIC,YAAY,IAAI,GAAKf,GAEzC,IAAV35B,IAAe,YAEV85B,GAEDK,IAIJn6B,EAAQ26B,IAAgBhB,GAEd,IAAV35B,IAEAA,EAAQ7H,KAAKI,MAAOmhC,EAAavhC,KAAKiiC,SAAY,IAEjDI,IAEDx6B,KAAW,GAERA,CACX,CAmBO,SAAS26B,EAAYH,GACxBR,EAAS,OAAiB,MAARA,IAAmBA,GAAS,IAAOL,EACrDI,EAAS,MAAiB,MAARA,IAAmBA,GAAS,IAAOJ,EACrD,IAAI35B,GAAWg6B,GAAS,KAAe,MAARD,KAAqB,EAAKJ,EAKzD,OAJKa,IAEDx6B,KAAW,GAERA,CACX,CAMO,SAAS46B,EAAM36B,QACA,IAAdA,IAAwBA,EAAY,IACxC,IAAI46B,EAAc,mEAEdC,EAASP,MAAe,EACxBQ,EAAQ,EACRh4B,EAAS,KACb,MAAOA,EAAO,MAAoC9C,EAC9C86B,IACAh4B,GAAU83B,EAAYhtB,OAAgB,GAATitB,GAC7BA,KAAY,EACE,IAAVC,IAGAD,GAAYP,KAAc,EAAK,WAAwB,EAATO,KAAoB,EAClEC,EAAQ,GAGhB,OAAOh4B,CACX,C,+QCzHA,IAAIi4B,GAAkB,OAAkB,UACjC,SAASC,EAAgB9D,GAC5B,OAAO6D,EAAgB/kB,IAAIkhB,EAAQ,QAAS,CAAC,GAAG,EACpD,CAQO,SAAS+D,EAAkBC,EAAgB5f,GAE9C,IAGI6d,EAHAgC,EAAc,GACdC,EAAa,KACblG,EAAQgG,EAAe,QAE3B,MAAOhG,EAAO,CACV,IAAI0C,EAAY1C,EAAM,QACtB,GAAI0C,EAAW,CACPwD,GAAcA,EAAW,OAAqDxD,EAAU,OAExFwD,EAAW,MAAkDxD,GAEjEuB,EAAc6B,EAAgBpD,GAC9B,IAAIrb,IAAkB4c,EAAY,MAC9BvB,EAAU,QACVrb,EAAgBqb,EAAU,SAEzBrb,GACD4e,EAAY,MAA8BvD,GAE9CwD,EAAaxD,EACb1C,EAAQA,EAAM,OAClB,CACJ,EAEA,SAAWiG,GAAa,SAAUvD,GAC9B,IAAI1c,EAAOggB,EAAe,QAC1BtD,EAAU,MAA0CsD,EAAe7e,SAAUnB,EAAMI,EAAY4f,EAAe,SAC9G/B,EAAc6B,EAAgBpD,GAEzBA,EAAU,OAAcuB,EAAY,QACrCA,EAAY,MAAYje,GAE5Bie,EAAY,OAAmD,SACxDA,EAAY,KACvB,GACJ,CACO,SAASkC,EAAY9D,GAExB,OAAOA,EAAQzQ,MAAK,SAAUwU,EAAMC,GAChC,IAAIz4B,EAAS,EACb,GAAIy4B,EAAM,CACN,IAAIC,EAAcD,EAAK,MACnBD,EAAK,MACLx4B,EAAS04B,EAAcF,EAAK,MAAgBC,EAAK,MAAgB,EAE5DC,IACL14B,GAAU,EAElB,MAEIA,EAASw4B,EAAO,GAAK,EAEzB,OAAOx4B,CACX,GAEJ,CAgCO,SAAS24B,EAA8BltB,GAC1C,IAAIC,EAAQ,CAAC,EACb,MAAO,CACHC,QAAS,WACL,OAAOD,EAAM,KACjB,EACAE,QAAS,SAAUC,GACfJ,GAAaA,EAAUG,QAAQC,GAC/BH,EAAM,MAAgCG,CAC1C,EACAC,WAAY,WACR,OAAOJ,EAAM,KACjB,EACAM,WAAY,SAAUH,GAClBJ,GAAaA,EAAUO,WAAWH,IAC9B,QAAeA,KACfH,EAAM,MAAuCG,EAErD,EACAI,UAAW,WACP,OAAOP,EAAM,KACjB,EACAS,UAAW,SAAUN,GACjBJ,GAAaA,EAAUU,UAAUN,IAC7B,QAAcA,KACdH,EAAM,MAAqCG,EAEnD,EACAO,cAAe,WACX,OAAOV,EAAM,KACjB,EACAY,cAAe,SAAUC,GACrBd,GAAaA,EAAUa,cAAcC,GACrCb,EAAM,MAA6Ca,CACvD,EAER,C,uLC3IO,SAASqsB,IACZ,IAAIC,EAAW,GACf,SAASC,EAAYpoB,GACbA,GACAmoB,EAAS,MAA8BnoB,EAE/C,CACA,SAASqoB,EAAatgB,EAAWC,IAC7B,SAAWmgB,GAAU,SAAUnoB,GAC3B,IACIA,EAAQ+H,EAAWC,EACvB,CACA,MAAO3a,IACH,QAAe0a,EAAU,QAAwC,EAAkC,GAA8C,8CAA+C,SAAQ1a,GAC5M,CACJ,IACA86B,EAAW,EACf,CACA,MAAO,CACHpkB,IAAKqkB,EACL/f,IAAKggB,EAEb,C,uLCtBA,IAAIC,EACAC,EAgBG,SAASC,IACZ,IAAIC,EAAS,GACb,SAASC,EAAU/8B,GACf,IAAIg9B,EAAWF,EACfA,EAAS,IAET,SAAWE,GAAU,SAAU1oB,GAE3B,KACKA,EAAGC,IAAMD,EAAG2oB,QAAQtiC,KAAK2Z,EAC9B,CACA,MAAO5S,IACH,QAAe1B,EAAQ,EAAkC,GAA8C,cAAe,SAAQ0B,GAClI,CACJ,IACIi7B,GAAaK,EAAS,MAAoCL,IAC1DC,EAAkBA,EAAgB,WAAYI,IAAY,QAAe,KAAM,EAAmC,GAAoD,qFAE9K,CACA,SAASE,EAASxM,GACVA,KACA,SAAUoM,EAAQpM,GACdiM,GAAaG,EAAO,MAAoCH,IACxDC,EAAkBA,EAAgB,MAAOE,IAAU,QAAe,KAAM,EAAmC,GAAoD,sFAG3K,CACA,MAAO,CACHpgB,IAAKqgB,EACL3kB,IAAK8kB,EAEb,C,2NC/CA,IACIC,EAAkB,KAClBC,EAAkB,KAClBC,EAAmB,mCACnBC,EAAkB,mBAEtB,SAASC,EAAS38B,EAAO48B,EAAKC,GAC1B,SAAI78B,GAASA,EAAM,QAAsC48B,GAAO58B,IAAU68B,MAC7D78B,EAAMmI,MAAM,cAG7B,CACA,SAAS20B,EAAa98B,EAAO48B,EAAK/qB,GAC9B,OAAI8qB,EAAS38B,EAAO48B,GACT58B,EAEJ6R,CACX,CACA,SAASkrB,EAAa/8B,IACd9H,MAAM8H,IAAUA,EAAQ,GAAKA,EAAQ,OACrCA,EAAQ,GAEZ,IAAI+C,EAAS/C,EAAMuI,SAAS,IAC5B,MAAOxF,EAAO,MAAoC,EAC9CA,EAAS,IAAMA,EAEnB,OAAOA,CACX,CASO,SAASi6B,EAAkBC,EAASC,EAAQtlB,EAAOqF,GACtD,IAAIrW,EACJ,OAAOA,EAAK,CAAC,EACTA,EAAG,KAAmC+1B,EAAS1f,EAAS,EAAGuf,GAAmBvf,EAAUsf,EACxF31B,EAAG,MAAoCu2B,EAAeF,GAAWA,GAAU,UAC3Er2B,EAAG,MAAkCw2B,EAAcF,GAAUA,GAAS,UAAQ,UAAiB,IAC/Ft2B,EAAGwI,WAAawI,GAAS,GAAKA,GAAS,IAAOA,EAAQ,EACtDhR,CACR,CAiDO,SAASu2B,EAAen9B,GAC3B,OAAO28B,EAAS38B,EAAO,GAAIy8B,EAC/B,CAQO,SAASW,EAAcp9B,GAC1B,OAAO28B,EAAS38B,EAAO,GAAI08B,EAC/B,CAoCO,SAASW,EAAkBr9B,GAC9B,GAAIA,EAAO,CAGP,IAAI4X,EAAQmlB,EAAa/8B,EAAM,OAC1B28B,EAAS/kB,EAAO,KACjBA,EAAQ,MAEZ,IAAIqF,EAAUjd,EAAM,MAAuCu8B,EAM3D,MALgB,OAAZtf,GAAgC,OAAZA,IAEpBA,EAAUsf,GAGP,GAAG/xB,OAAOyS,EAAQlQ,cAAe,KAAKvC,OAAOsyB,EAAa98B,EAAMi9B,QAAS,GAAIR,GAAkB1vB,cAAe,KAAKvC,OAAOsyB,EAAa98B,EAAMk9B,OAAQ,GAAIR,GAAiB3vB,cAAe,KAAKvC,OAAOoN,EAAM7K,cACtN,CACA,MAAO,EACX,CAmBO,SAASuwB,EAAerZ,GAC3B,IAAIsZ,EAAUtZ,EAAIuZ,qBAAqB,UACnCz6B,EAAS,GAwBb,OAvBA,SAAWw6B,GAAS,SAAUE,GAC1B,IAAIh6B,EAAMg6B,EAAO,MAA+C,OAChE,GAAIh6B,EAAK,CACL,IAAIi6B,EAAcD,EAAO,MAA+C,eACpEE,GAAyC,IAAjCF,EAAOG,aAAa,SAC5BC,GAAyC,IAAjCJ,EAAOG,aAAa,SAC5BE,EAAiBL,EAAO,MAA+C,kBACvEM,EAAO,CAAEllC,IAAK4K,GACdi6B,IACAK,EAAKL,YAAcA,GAEnBC,IACAI,EAAKJ,MAAQA,GAEbE,IACAE,EAAKF,MAAQA,GAEbC,IACAC,EAAKD,eAAiBA,GAE1B/6B,EAAO,MAA8Bg7B,EACzC,CACJ,IACOh7B,CACX,C,6sBCzMO,IAAIyM,EAAqB,cACrBwuB,EAAe,SACfxqC,EAAc,SACdyqC,EAAe,SACfC,EAAc,SACdC,EAAuB,gBACvBC,EAAsB,gBACtBC,EAAc,QACdC,EAAa,QACbC,EAAc,SACdC,EAAa,QACbtqC,EAAY,OACZuqC,EAAc,SACdC,EAAY,OACZC,EAAc,SACd3pC,EAAkB,aAClB4pC,EAAkB,aAClBC,EAA6B,6BAC7BC,EAA6B,0BAC7BC,EAAsB,gBACtB5pC,EAA2B,qBAC3B6pC,EAAiB,WACjBC,EAAa,QACbC,EAAsB,eACtBC,EAAkB,YAClB7rC,EAAY,OACZ8rC,EAAa,OACbC,EAAY,OACZC,EAAoB,cACpBC,EAA6B,uBAC7BC,EAA0B,mBAC1BC,EAAe,UACfC,EAA6B,0BAC7BC,EAAc,SACdC,EAAmB,aACnBC,EAAe,UACfC,EAA6B,sBAC7BxrC,EAAkB,YAClByrC,EAAgB,WAChBC,EAAkB,YAClBrwB,EAAe,UACfswB,EAAgB,UAChBlrC,EAAgB,UAChBmrC,EAAoB,cACpBC,EAAc,SACdC,EAAgB,UAChBC,EAAuB,gBACvBC,EAAgB,WAChBC,EAAkB,YAClBhxB,EAAa,QACbixB,EAAiB,WACjBC,GAAe,UACfC,GAA4B,qBAC5BC,GAAY,OACZC,GAAe,UACfC,GAAc,SACdC,GAA2B,oBAC3BC,GAA6B,wBAC7BC,GAAoB,aACpB3tC,GAAY,OACZ4tC,GAAe,SACfC,GAAe,SACfC,GAAgB,WAChB5qC,GAAsB,gBACtB6qC,GAAkB,YAClBC,GAAiB,WACjBC,GAAe,UACfC,GAAe,UACfC,GAA0B,mBAC1BjuC,GAAgB,UAChBkuC,GAAe,SACfC,GAAmB,aACnBC,GAAqB,c,8FCnFzB,IAAIC,EAAkB,WAClBC,EAAgB,SAChBC,EAAmB,YACnBC,EAAmB,YAEnBC,EAAWnY,OACXoY,EAAWD,EAASD,E,iICCP,YAAe,CAAC,GAAG,YAClB,YAAe,CAAC,GAAG,WADrC,IAOHG,EAAoB,iBACbC,EAAoB,SAAUC,GAErC,IAAK,IAAI3gC,EAAG/B,EAAI,EAAG0W,EAAIR,UAAUC,OAAQnW,EAAI0W,EAAG1W,IAE5C,IAAK,IAAI2iC,KADT5gC,EAAImU,UAAUlW,GACA+B,EACN,KAASygC,GAAmBnoC,KAAK0H,EAAG4gC,KACpCD,EAAEC,GAAK5gC,EAAE4gC,IAIrB,OAAOD,CACX,EACWE,EAAa,0BAA8B,KAA9B,OAAaH,EAEjCI,EAAkB,SAAUC,EAAGC,GAc/B,OAbAF,EAAkB,KAAS,mBAEtB,CAAEG,UAAW,cAAgBp7B,OAAS,SAAUk7B,EAAGC,GAChDD,EAAEE,UAAYD,CAClB,GAEA,SAAUD,EAAGC,GACT,IAAK,IAAIJ,KAAKI,EACNA,EAAEP,GAAmBG,KACrBG,EAAEH,GAAKI,EAAEJ,GAGrB,EACGE,EAAgBC,EAAGC,EAC9B,EACO,SAASE,EAAYH,EAAGC,GAK3B,SAASG,IACL5oC,KAAKmM,YAAcq8B,CACvB,QANWC,IAAM,MAAyB,OAANA,IAChC,SAAe,uBAAyBI,OAAOJ,GAAK,iCAExDF,EAAgBC,EAAGC,GAKnBD,EAAE,MAA0B,OAANC,GAAa,SAAUA,IAAMG,EAAG,MAAoBH,EAAE,MAAmB,IAAIG,EACvG,CAkIO,SAASE,EAAgBC,EAAIC,GAChC,IAAK,IAAItjC,EAAI,EAAGujC,EAAKD,EAAKntB,OAAQqtB,EAAIH,EAAGltB,OAAQnW,EAAIujC,EAAIvjC,IAAKwjC,IAC1DH,EAAGG,GAAKF,EAAKtjC,GAEjB,OAAOqjC,CACX,C,iICvLII,OAAsBvjC,EACtBwjC,OAAwBxjC,EACxByjC,EAAiB,GAKrB,SAASC,IACL,OAAIC,IACOC,EAA0B,KAAYhsC,cAE1C,IACX,CAOA,SAASgsC,EAA0BC,GAC/B,IACI,IAAI,UAAkB,YAClB,OAAO,KAEX,IAAIzvB,GAAM,IAAK/R,MAAM,QACjByhC,GAAU,SAAcD,IAAgB,KAAYjsC,aAAe,eAAiB,kBACpFmsC,EAASN,EAAiBrvB,EAC9B0vB,EAAQE,QAAQD,EAAQ3vB,GACxB,IAAI6vB,EAAOH,EAAQI,QAAQH,KAAY3vB,EAEvC,GADA0vB,EAAQ,MAA2CC,IAC9CE,EACD,OAAOH,CAEf,CACA,MAAOljC,GAEP,CACA,OAAO,IACX,CAKA,SAASujC,IACL,OAAIC,IACOR,EAA0B,KAAY/rC,gBAE1C,IACX,CAIO,SAASwsC,IACZd,GAAsB,EACtBC,GAAwB,CAC5B,CACO,SAASc,EAAoBC,GAChCd,EAAiBc,GAAiB,EACtC,CAIO,SAASC,IACZjB,EAAsBI,GAAsB,GAC5CH,EAAwBY,GAAwB,EACpD,CAMO,SAAST,EAAsBc,GAIlC,OAHIA,QAAiCzkC,IAAxBujC,KACTA,IAAwBK,EAA0B,KAAYhsC,eAE3D2rC,CACX,CACO,SAASmB,EAAmBllC,EAAQhG,GACvC,IAAIsqC,EAAUJ,IACd,GAAgB,OAAZI,EACA,IACI,OAAOA,EAAQI,QAAQ1qC,EAC3B,CACA,MAAO0H,GACHqiC,GAAsB,GACtB,QAAe/jC,EAAQ,EAAkC,EAA2D,0CAA2C,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IAC7M,CAEJ,OAAO,IACX,CACO,SAASyjC,EAAmBnlC,EAAQhG,EAAM4F,GAC7C,IAAI0kC,EAAUJ,IACd,GAAgB,OAAZI,EACA,IAEI,OADAA,EAAQE,QAAQxqC,EAAM4F,IACf,CACX,CACA,MAAO8B,GACHqiC,GAAsB,GACtB,QAAe/jC,EAAQ,EAAkC,EAA4D,2CAA4C,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IAC/M,CAEJ,OAAO,CACX,CACO,SAAS0jC,EAAiBplC,EAAQhG,GACrC,IAAIsqC,EAAUJ,IACd,GAAgB,OAAZI,EACA,IAEI,OADAA,EAAQ,MAA2CtqC,IAC5C,CACX,CACA,MAAO0H,GACHqiC,GAAsB,GACtB,QAAe/jC,EAAQ,EAAkC,EAAkE,kDAAmD,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IAC5N,CAEJ,OAAO,CACX,CACO,SAASkjC,EAAwBK,GAIpC,OAHIA,QAAmCzkC,IAA1BwjC,KACTA,IAA0BI,EAA0B,KAAY/rC,iBAE7D2rC,CACX,CAUO,SAASqB,EAAqBrlC,EAAQhG,GACzC,IAAIsqC,EAAUK,IACd,GAAgB,OAAZL,EACA,IACI,OAAOA,EAAQI,QAAQ1qC,EAC3B,CACA,MAAO0H,GACHsiC,GAAwB,GACxB,QAAehkC,EAAQ,EAAkC,EAA6D,4CAA6C,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IACjN,CAEJ,OAAO,IACX,CACO,SAAS4jC,EAAqBtlC,EAAQhG,EAAM4F,GAC/C,IAAI0kC,EAAUK,IACd,GAAgB,OAAZL,EACA,IAEI,OADAA,EAAQE,QAAQxqC,EAAM4F,IACf,CACX,CACA,MAAO8B,GACHsiC,GAAwB,GACxB,QAAehkC,EAAQ,EAAkC,EAA8D,6CAA8C,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IACnN,CAEJ,OAAO,CACX,CACO,SAAS6jC,EAAwBvlC,EAAQhG,GAC5C,IAAIsqC,EAAUK,IACd,GAAgB,OAAZL,EACA,IAEI,OADAA,EAAQ,MAA2CtqC,IAC5C,CACX,CACA,MAAO0H,GACHsiC,GAAwB,GACxB,QAAehkC,EAAQ,EAAkC,EAAoE,oDAAqD,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IAChO,CAEJ,OAAO,CACX,CCrJO,IAAI8jC,EAA6B,8BAC7BC,EAA0B,2BAC1BC,EAA4B,+B,sBChBhC,SAASC,EAAoB1L,EAAMt6B,EAAUimC,EAAc5lC,EAAQ6lC,EAAkBC,GACxF,IAAIt+B,EACJo+B,GAAe,QAAmB5lC,EAAQ4lC,IAAiB,OACvD,SAAkB3L,KAClB,SAAkBt6B,KAClB,SAAkBimC,MAClB,QAAW,6CAEf,IAAI9iC,EAAO,GACPm3B,EAAK,QACLn3B,EAAOm3B,EAAK,aACLA,EAAK,OAEhB,IAAI8L,GAAiBv+B,EAAK,CAAC,EACvBA,EAAG,MAA6Bo+B,EAChCp+B,EAAG5E,MAAO,QAAY,IAAIC,MAC1B2E,EAAG1E,KAAOA,EACV0E,EAAGw+B,IAAMF,GAAsC,CAAC,EAChDt+B,EAAG7E,KAAO,GACV6E,EAAG5H,KAAO,CAAC,EACX4H,EAAG7H,SAAWA,EACd6H,EAAG1H,SAAWm6B,EAEdzyB,GAOJ,OALK,SAAkBq+B,KACnB,SAAcA,GAAkB,SAAUpkC,EAAMb,GAC5CmlC,EAAcnmC,KAAK6B,GAAQb,CAC/B,IAEGmlC,CACX,EAC0C,WACtC,SAASE,IACT,CAUAA,EAAqBnR,OAAS6Q,CAElC,EAdyC,GAAzC,I,iGC5CO,SAASO,EAAergB,GAC3B,IAAIC,EAAQ,KACZ,IAAI,SAAW/iB,OACX+iB,EAAQ,IAAI/iB,MAAM8iB,OAEjB,CACD,IAAIhB,GAAM,WACNA,GAAOA,EAAImB,cACXF,EAAQjB,EAAImB,YAAY,SACxBF,EAAMqgB,UAAUtgB,GAAW,GAAM,GAEzC,CACA,OAAOC,CACX,C,0BCJA,SAASsgB,EAAuBjzB,EAAUE,EAAcd,GACpD,OAAKY,IAAY,SAAkBA,GACxBE,GAEP,SAAUF,GACHA,EAEmE,UAAvE,SAASA,GAAU,OAC9B,CAOO,SAASkzB,EAAWhzB,GACvB,MAAO,CACHO,KAAK,EACLZ,EAAGK,EAEX,CAOO,SAASizB,EAASC,EAAQlzB,GAC7B,MAAO,CACHjB,IAAKm0B,EACLvzB,EAAGK,EAEX,CAQO,SAASmzB,EAAcC,EAAWpzB,EAAcqzB,GACnD,MAAO,CACHv0B,GAAIu0B,EACJx0B,MAAOu0B,EACPzzB,EAAGK,EAEX,CAQO,SAASszB,EAAatzB,EAAcqzB,GACvC,MAAO,CACHv0B,GAAIu0B,EACJt0B,IAAKg0B,EACLpzB,IAAKK,EAEb,CAmBO,SAASuzB,EAAYvzB,GACxB,MAAO,CACHnB,MAAO,MACPc,GAAG,SAASK,GAAgB,MAEpC,C,IChGI7L,EAAIM,EAmBJ++B,E,wBAVAC,GAAiB,cACjBC,GAAiB,cACjBC,GAAY,SACZC,GAAa,UACbC,GAAyB,sBACzBC,GAAyB,sBACzBC,GAAqB,SACrBC,GAAmB,KACnBC,GAAmB,KACnBC,GAAqB,KAErBC,GAAe,CAAC,EAChBC,GAAsB,CAAC,EAUvBC,IAAqBlgC,EAAK,CACtBmgC,UAAWtB,GAAYv+B,EAAK,CAAC,EACzBA,EAAG,MAAc,CAAEqK,GAAI,eAAgBQ,MAAO,MAC9C7K,EAAG8/B,KAAO,CAAEz1B,GAAI,aAAcQ,MAAO,MACrC7K,EAAG+/B,QAAU,KACb//B,EAAGggC,cAAgB,KACnBhgC,EAAGigC,eAAiB,KACpBjgC,IACJkgC,aAAc,KACdC,WAAY,MAEhBzgC,EAAG2/B,IAA0B,KAC7B3/B,GACJ,SAAS0gC,MACJrB,IAASA,GAAO,UAAQ,WAAc,OAAO,UAAe,IACjE,CAUA,SAASsB,GAAcp7B,EAAQ/M,GAE3B,IAAIkxB,EAAOkX,GAAgBhB,KAAuBK,GAAoBL,IAOtE,OANKlW,IAGDA,EAAOkX,GAAgBhB,IAAsBgB,GAAgBr7B,EAAQ/M,GACrEynC,GAAoBL,IAAsBlW,GAEvCA,CACX,CACA,SAASmX,GAAcC,GACnB,OAAIA,GACOA,EAAUC,WAGzB,CACA,SAASC,GAAiBC,EAAczuC,GACpC,SAAIA,GAAQyuC,IAAgB,SAAQA,EAAaX,kBACY,KAAlD,SAAWW,EAAaX,cAAe9tC,EAGtD,CACA,SAAS0uC,GAAiBD,EAAczuC,GACpC,SAAIA,GAAQyuC,IAAgB,SAAQA,EAAaV,kBACU,KAAnD,SAAWU,EAAaV,eAAgB/tC,KAIzCwuC,GAAiBC,EAAczuC,EAC1C,CACA,SAAS2uC,GAAc7Q,EAAY8Q,GAC/B,IAAIC,EAAeD,EAAgB,MACnC,IAAI,SAAkBC,GAAe,CAEjC,IAAIC,OAAgB,GAEf,SAAYhR,EAAWoP,OACxB4B,GAAiBhR,EAAWoP,MAG3B,SAAYpP,EAAWqP,OACxB2B,GAAiBhR,EAAWqP,KAIhC0B,EAAeC,CACnB,CACA,OAAOD,CACX,CAQO,SAASE,GAAiBhtB,EAAMhP,GACnC,IAAIu7B,EACJ,GAAIvsB,EAEAusB,EAAYvsB,EAAKitB,oBAEhB,GAAIj8B,EAAQ,CACb,IAAI46B,EAAY56B,EAAO46B,UAEnBW,EADAX,GAAaA,EAAUP,IACXO,EAAUP,IAGVgB,GAAgBr7B,EAEpC,CAKA,OAJKu7B,IAEDA,EAAYH,GAAcp7B,GAASgP,GAAQ,CAAC,GAAG,QAE5CusB,CACX,CACO,SAASF,GAAgBtQ,EAAY93B,GACxC,IAAIwH,EACAohC,EACAK,EACAC,EACAC,EAEAC,EACAC,EACAC,EACAC,EAEJzR,GAAa,QAAoBA,GAAc2P,GAAqB,KAAMznC,GAAQ+S,IAElFo2B,GAAgB,QAAerR,GAAY,SAAU1zB,GAEjDA,EAAQ,MAAiCA,EAAQ2O,IAAK20B,IAEtDkB,EAAkBxkC,EAAQyP,IAAIzP,EAAQ2O,IAAK,aAC3Ck2B,EAAQL,EAAgB,OAAgC,IACxDM,EAAUN,EAAgB,MAE1BQ,GAA0D,IAA/CT,GAAc7Q,EAAY8Q,GACrCS,EAAeT,EAAgBY,WAAaC,GAC5CH,EAAeV,EAAgBc,WAAaC,GAC5CJ,EAAeX,EAAgBgB,WAAaD,EAChD,GAAG3pC,GACH,IAAIsoC,GAAa9gC,EAAK,CACd+gC,UAAW,WACP,IAAIV,GAAyD,IAA/Cc,GAAc7Q,EAAY8Q,IAA8BQ,GAAYS,GAAoB7pC,GAGlG8pC,EAAarC,GAAoBL,IAMrC,OALIS,GAAWiC,GAAcxB,IAAcwB,IAGvCjC,EAAUQ,GAAcyB,IAErBjC,CACX,EACAkC,WAAY,SAAUnpC,GAElBwoC,GAAqB,IAAVxoC,EACXgoC,EAAgB,MAAsChoC,CAC1D,EACAwR,IAAK,SAAUpY,EAAM4G,EAAOopC,EAAWv8B,EAAQm6B,GAC3C,IAAIjkC,GAAS,EACb,GAAI0kC,GAAcC,KAAeI,GAAiBE,EAAiB5uC,GAAO,CACtE,IAAIiwC,EAAS,CAAC,EACV92B,GAAW,SAAQvS,GAAS,MAC5BwW,GAAM,SAAWjE,EAAU,KAO/B,IANa,IAATiE,IACAjE,GAAW,UAAQ,SAAQvS,EAAOwW,IAClC6yB,EAASC,IAAc,SAAatpC,EAAOwW,EAAM,MAGrD,QAAS6yB,EAAQ,KAAYx8B,GAAUy7B,EAAS,MAAU,SACrD,SAAkBc,GAAY,CAC/B,IAAIG,GAAQ,WACZ,IAAI,SAAYF,EAAOhD,KAAc,CACjC,IAAImD,GAAQ,WAERC,EAAWD,EAAqB,IAAZJ,EAExB,GAAIK,EAAW,EAAG,CACd,IAAIC,EAAS,IAAIznC,KACjBynC,EAAOC,QAAQF,IACf,QAASJ,EAAQhD,GAAYuD,GAAYF,EAASH,EAAyBrD,GAAjBC,KAAoCyD,GAAYF,EAAQH,EAAQrD,GAAiBC,KAAmB,KAAW,MAC7K,CACJ,CACKoD,IAED,QAASF,EAAQ,UAAW,KAAYD,EAAW,KAAM,MAEjE,CACA,IAAIS,GAAa,WACbA,GAAmE,WAArDA,EAAW,SACzB,QAASR,EAAQ,SAAU,KAAM,KAAM,OAEd,OAArB3C,KACAA,IAAoBoD,KAAyB,YAAkB,CAAC,GAAG,QAEnEpD,KACA,QAAS2C,EAAQ,WAAY,OAAQ,KAAM,SAGnD,QAASA,EAAQ,KAAUrC,GAAQqB,EAAO,KAAM,OAEhDK,EAAatvC,EAAM2wC,GAAmBx3B,EAAU82B,IAChDtmC,GAAS,CACb,CACA,OAAOA,CACX,EACAkT,IAAK,SAAU7c,GACX,IAAI4G,EAAQ,KAIZ,OAHIynC,GAAcC,KAAeE,GAAiBI,EAAiB5uC,KAC/D4G,EAAQyoC,EAAarvC,IAElB4G,CACX,EACAgqC,IAAK,SAAU5wC,EAAM4tC,GACjB,IAAIjkC,GAAS,EAKb,OAJI0kC,GAAcC,KAEd3kC,EAAS2kC,EAAUuC,MAAM7wC,EAAM4tC,IAE5BjkC,CACX,EACAknC,MAAO,SAAU7wC,EAAM4tC,GACnB,IAAIpgC,EACA7D,GAAS,EACb,GAAIkmC,GAAoB7pC,GAAS,CAE7B,IAAIiqC,GAAUziC,EAAK,CAAC,EAChBA,EAAG,MAAYogC,GAAc,IAC7BpgC,EAAGy/B,IAAc,gCACjBz/B,IACC,aAEDyiC,EAAO,WAAa,KAGxBV,EAAavvC,EAAM2wC,GAAmB,KAAWV,IACjDtmC,GAAS,CACb,CACA,OAAOA,CACX,GAEJ6D,EAAG,MAAiC,SAAU0a,GAC1CinB,GAAiBA,EAAc50B,KAC/B40B,EAAgB,IACpB,EACA3hC,GAGJ,OADA8gC,EAAUlB,IAAsBkB,EACzBA,CACX,CAIO,SAASuB,GAAoB7pC,GAChC,GAAyB,OAArBqnC,GAA2B,CAC3BA,IAAmB,GAClBR,GAAQqB,KACT,IACI,IAAIrjB,EAAMgiB,EAAK7zB,GAAK,CAAC,EACrBq0B,QAAsC7mC,IAAnBqkB,EAAImiB,GAC3B,CACA,MAAOtlC,IACH,QAAe1B,EAAQ,EAAkC,GAAiD,oCAAqC,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,IAC7L,CACJ,CACA,OAAO2lC,EACX,CACA,SAAS6C,GAAc/2B,GACnB,IAAI82B,EAAS,CAAC,EACd,GAAI92B,GAAYA,EAAS,MAAmC,CACxD,IAAI23B,GAAQ,SAAQ33B,GAAU,MAAgC,MAC9D,SAAW23B,GAAO,SAAUC,GAExB,GADAA,GAAU,SAAQA,GAAW,MACzBA,EAAS,CACT,IAAI3zB,GAAM,SAAW2zB,EAAS,MACjB,IAAT3zB,EACA6yB,EAAOc,GAAW,KAGlBd,GAAO,UAAQ,SAAQc,EAAS3zB,MAAS,UAAQ,SAAa2zB,EAAS3zB,EAAM,GAErF,CACJ,GACJ,CACA,OAAO6yB,CACX,CACA,SAASO,GAAYQ,EAAShrB,GAC1B,OAAI,SAAWgrB,EAAQhrB,IACZgrB,EAAQhrB,KAEZ,IACX,CACA,SAAS2qB,GAAmB/pC,EAAOqpC,GAC/B,IAAIgB,EAAcrqC,GAAS,KAI3B,OAHA,SAAcqpC,GAAQ,SAAUjwC,EAAMmZ,GAClC83B,GAAe,KAAOjxC,IAAS,SAAkBmZ,GAA6B,KAAjB,IAAMA,EACvE,IACO83B,CACX,CACA,SAASxB,GAAgBzvC,GACrB,IAAIixC,EAAc,KAElB,IADCpE,GAAQqB,KACLrB,EAAK7zB,EAAG,CACR,IAAIk4B,EAAYrE,EAAK7zB,EAAEg0B,KAAc,KACjCO,KAAuB2D,IACvB1D,GAAe0C,GAAcgB,GAC7B3D,GAAqB2D,GAEzBD,GAAc,SAAQzD,GAAaxtC,IAAS,KAChD,CACA,OAAOixC,CACX,CACA,SAAStB,GAAgB3vC,EAAMixC,IAC1BpE,GAAQqB,KACLrB,EAAK7zB,IACL6zB,EAAK7zB,EAAEg0B,IAAahtC,EAAO,IAAMixC,EAEzC,CACO,SAASP,GAAwBttC,GACpC,SAAK,SAASA,SAQV,QAAYA,EAAW,uBAAuB,QAAYA,EAAW,0BAUrE,QAAYA,EAAW,qCAAsC,QAAYA,EAAW,cAAe,QAAYA,EAAW,iBAU1H,QAAYA,EAAW,sCAAsC,SAAYA,EAAW,mDAMpF,QAAYA,EAAW,eAAe,QAAYA,EAAW,mBAK7D,QAAYA,EAAW,kBAAoB,QAAYA,EAAW,gBAMlE,QAAYA,EAAW,mBAAmB,QAAYA,EAAW,qBAIzE,C,kGC5XW3I,GAAiB,WACjB02C,GAA6B,uBAC7BC,GAAiB,WACjBC,GAAY,OACZ92C,GAAiB,WACjBC,GAAqB,eACrBmB,GAAgB,UAChB21C,GAAa,QACbC,GAAuB,gBACvBC,GAA6B,yBAC7BC,GAA6B,uBAC7BC,GAAkB,YAClBx6B,GAAkB,aAClBa,GAAgB,WAChB45B,GAA6B,kCAC7BC,GAA6B,mCAC7BC,GAAY,OACZC,GAA6B,wBAC7BC,GAAiB,YACjBC,GAAa,QACbC,GAAgB,WAChBC,GAAiB,WACjBC,GAAmB,aACnBC,GAAqB,eACrB77B,GAAe,UACf87B,GAA6B,sBAC7BC,GAA6B,0BAC7BC,GAA6B,2BAC7BC,GAA6B,yBAC7BC,GAA8B,+BAC9Br4C,GAAc,SACds4C,GAA8B,0BAC9BC,GAA8B,0CAC9BC,GAA8B,mCAC9BC,GAA2B,mBAC3BC,GAA8B,+BAC9BC,GAA8B,uBAC9BC,GAAwB,kBACxBC,GAA8B,wBAC9BC,GAA8B,+BAC9BC,GAAsB,gBACtBC,GAAqB,eACrBC,GAAsB,eACtBC,GAAoB,cACpBC,GAAmB,aACnBC,GAA8B,qBC5CrCC,GAAiC,WACjC,SAASA,EAAgBC,EAAaC,EAA0B5xB,EAAM6xB,IAClE,OAAaH,EAAiB7yC,MAAM,SAAU4H,GAC1C,IAIIqrC,EAJAC,EAAa,KACbC,EAAY,GACZC,GAA0B,EAC1BC,GAAoB,EAKxB,SAASC,EAAehsB,GAChBnG,GACAA,EAAKoyB,MAAMjsB,GAAS,WAEpB,GAER,CACA,SAASksB,IACAN,IACDA,GAAa,UAAgB,WACzBA,EAAa,KACb,IAAIO,EAAWN,EAAUO,MAAM,GAC3BC,GAAU,EACdR,EAAY,IACZ,SAAWM,GAAU,SAAUpU,GACtBA,IAKDsU,GAAU,EAHVR,EAAUS,KAAKvU,EAKvB,IACI8T,EAAU35C,IAAoC,GAC9Cg6C,IAEAG,GAEAL,GAAe,EAEtB,GAAG,KAEZ,CACA,SAASO,EAAUzd,GACf+c,EAAUS,KAAKxd,GACfod,GACJ,CAvCIryB,IACA8xB,EAAU9xB,EAAK/b,QAuCnBwC,EAAM+oC,IAAoD,SAAUmD,EAAU7I,GAC1E,IAAI7rC,EAAO00C,EAAS10C,KACpB,IAAI,SAAkBA,IAAyB,kBAATA,EAAmB,CACrD,IAAI6qB,GAAM,WACV7qB,EAAO00C,EAAS10C,KAAO6qB,GAAOA,EAAI8pB,OAAS,EAC/C,CACA,IAAIC,EAAMF,EAASE,IACnB,IAAI,SAAkBA,IAAuB,kBAARA,EAAkB,CACnD,IAAInE,GAAa,WACjBmE,EAAMF,EAASE,IAAMnE,GAAcA,EAAWoB,KAAiC,EACnF,CACA,IAAKoC,EAAmB,CACpB,IAAIt/B,GAAO,WAEPkgC,EAAqBlgC,GAAQA,EAAKk+B,KAA4Dl+B,EAAKk+B,IAAyD,cAEhK,GAAIgC,GAAqBA,EAAkB,MAAO,SAAYlgC,EAAKmgC,YAAa,CAE5E,IAAIC,EAAiBF,EAAkB,GAAGE,eAC1CL,EAAShD,IAA2C,IAAI7oC,KAAK8L,EAAKmgC,WAAaC,EACnF,KACK,CAED,IAAIC,GAAenJ,GAAoB6I,EAASx9B,KAA6C,CAAC,GAAGa,KAAyC,EAC1I28B,EAAShD,IAA2C,IAAI7oC,MAAK,IAAIA,MAAOosC,UAAYD,EACxF,CACAf,GAAoB,CACxB,CAIA,IAAKL,EAA2Bd,MAO5B,OANAY,EAAYjC,IAA+DiD,EAAU7I,GACrFqI,GAAe,SACV,aAED,QAAeL,EAAS,EAAkC,GAA2D,oLAI7H,IACIqB,EAWAplC,EAZAqlC,GAAe,EAGfngC,EAAQ4+B,EAA2Bb,MAAkEC,IACrGh+B,EAAQ,IACRkgC,GAAiB,QAAsBlgC,GAAQ,IAAInM,MAC9C+qC,EAA2BX,IAAiEiC,KAC7FA,OAAiB1uC,KAMpB,SAAkBqlC,KAClB,SAAkBA,EAAiB9zB,OACpCjI,EAAW+7B,EAAiB9zB,MAE5B47B,GAA6B70C,MAAMgR,KAC/BhR,MAAMgR,KAED+7B,IACDA,EAAmB,CAAC,GAExBA,EAAiB9zB,IAAwCm9B,GAG7DxB,EAAYjC,IAA+DiD,EAAU7I,GACrFqI,GAAe,GACfiB,GAAe,GAGnB,IAAIC,EAAmB,IAClBvJ,IACDA,EAAmB,CAAC,GAGxB4I,GAAU,WACN,IAAIY,GAAY,EAChB,IACI,GAAIzB,EAA2BV,MAA2E,CACtGmC,GAAY,EACZ,IAAIC,EAAsB,CACtBt1C,KAAMA,EACN40C,IAAKA,GAEThB,EAA2BhC,IAA2E0D,GACjGA,EAAoBh8B,SAAY67B,GAO5BA,IACDtJ,EAAiB9zB,IAAwCu9B,EAAoBzlC,WAC7E6jC,EAAYjC,IAA+DiD,EAAU7I,IAEpFmI,IACDN,EAAY/B,IAA0E2D,EAAqBzJ,GAC3GmI,GAA0B,KAV9BnI,EAAiB9zB,IAAwCm9B,EACzDxB,EAAYjC,IAA+DiD,EAAU7I,GAY7F,MACS72B,EAAQ,IAAK,QAAsBA,GAAQ,IAAInM,MAAQusC,IAG5DC,GAAY,EACPF,IACDtJ,EAAiB9zB,IAAwCq9B,EACzD1B,EAAYjC,IAA+DiD,EAAU7I,IAGjG,CACA,MAAOnkC,IACH,QAAemsC,EAAS,EAAmC,GAAgD,mDAAoD,QAAiBnsC,GAAI,CAAEN,WAAW,SAAQM,IAC7M,CACA,OAAO2tC,CACX,GACJ,EACA7sC,EAAM+sC,SAAW,SAAUnzB,EAAWC,GAClC,GAAIyxB,EAAY,CACZA,EAAW0B,SACX1B,EAAa,KACb,IAAIO,EAAWN,EAAUO,MAAM,GAE/BP,EAAY,IACZ,SAAWM,GAAU,SAAUpU,GACvBA,MACY,CAEpB,GACJ,CACJ,CACJ,GACJ,CAOA,OAFAwT,EAAgBlwB,QAAQ,EAEjBkwB,CACX,CA9LoC,GCHhCgC,GAAuB,KACvBC,GAAgB,CAAC,YAAa,gBAAiB,cAAe,wBAClE,SAASC,KACL,IAAIhhC,GAAO,WACX,OAAOA,KAAUA,EAAKE,MAC1B,CACA,SAAS+gC,KACL,IAAIjhC,GAAO,WACX,OAAOA,GAAQA,EAAKkhC,kBAAoBlhC,EAAKkhC,iBAAiB,cAAcz7C,IAAoC,CACpH,CACA,SAAS07C,KACL,IAAInhC,GAAO,WACPE,EAASF,EAAOA,EAAKE,OAAS,EAClC,OAAOA,GACAA,EAAOkhC,kBAAoB,GAC3BlhC,EAAOm+B,IAAuD,GAC9Dn+B,EAAOs+B,IAAmD,GAC1Dt+B,EAAOu+B,IAAiD,GACxDv+B,EAAOw+B,IAAkD,GACzDx+B,EAAOy+B,IAA+C,GACtDz+B,EAAO0+B,IAA6C,GACpD1+B,EAAOmhC,WAAa,CAC/B,CACA,SAASC,KACL,OAAIN,MACO,WAAiB9gC,OAErB,IACX,CACA,SAASqhC,KACL,OAAIN,MACO,WAAiB/C,IAAyD,cAAc,GAE5F,IACX,CAIA,SAASsD,KAEL,IADA,IAAIC,EAAY,GACP75B,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpC65B,EAAU75B,GAAMC,UAAUD,GAE9B,IAAI85B,GAAa,YAAkB,CAAC,EAEhCjzC,EAAYizC,EAAWjzC,UACvBkzC,GAAc,EAClB,GAAIlzC,EACA,IAAK,IAAIkD,EAAI,EAAGA,EAAIovC,GAAct7C,IAAmCkM,IACjEgwC,EAAcA,IAA0E,KAA3D,SAAWlzC,EAAUuQ,cAAe+hC,GAAcpvC,IAGvF,GAAIgwC,EAEA,OAAO,EAIP,IAAShwC,EAAI,EAAGA,EAAI8vC,EAAUh8C,IAAmCkM,IAC7D,GAAI8vC,EAAU9vC,GAAK,GAAK8vC,EAAU9vC,IAAMmvC,GACpC,OAAO,EAInB,OAAO,CACX,CAIA,ICxEI,GDwEAc,GAA4C,WAC5C,SAASA,EAA2Bx0B,GAChC,IAAI8xB,GAAU,QAAc9xB,IAC5B,OAAaw0B,EAA4B31C,MAAM,SAAU4H,GACrDA,EAAMopC,IAA6E,SAAU0D,GACzFA,EAAoBh8B,SAAU,EAqB9B,IAAIk9B,EAAmBN,KACnBrhC,EAASohC,KACTQ,EAAQ,EACRC,EAAU,EACVrrB,EAAU,EACVsrB,EAAW,EACXC,EAAM,GACNJ,GAAoB3hC,KAChB2hC,GACAC,EAAQD,EAAiBz+B,IAMzB2+B,EAAwE,IAA9DF,EAAiB9E,IAAiD8E,EAAiBjD,KAA6C,QAAsBiD,EAAiB9E,IAA0C8E,EAAiBjD,KAC5OloB,GAAU,QAAsBmrB,EAAiBK,aAAcL,EAAiBrD,KAChFwD,GAAW,QAAsBH,EAAiBrD,IAAkDqD,EAAiBlD,KACrHsD,GAAM,QAAsBJ,EAAiBM,YAAaN,EAAiBnD,OAG3EoD,GAAQ,QAAsB5hC,EAAOm+B,IAAsDn+B,EAAOw+B,KAClGqD,GAAU,QAAsB7hC,EAAOm+B,IAAsDn+B,EAAO0+B,KACpGloB,GAAU,QAAsBxW,EAAOgiC,aAAchiC,EAAOs+B,KAC5DwD,GAAW,QAAsB9hC,EAAOs+B,IAAkDt+B,EAAOy+B,KACjGsD,GAAM,QAAsB/hC,EAAOiiC,YAAajiC,EAAOw+B,MAE7C,IAAVoD,GACA,QAAe5C,EAAS,EAAkC,GAA0C,2CAA4C,CAAE4C,MAAOA,EAAOC,QAASA,EAASrrB,QAASA,EAASsrB,SAAUA,EAAUC,IAAKA,IAEvNpuC,EAAMyqC,IAAiEwD,EAAOC,EAASrrB,EAASsrB,EAAUC,GAG3GH,EAAQ13C,KAAKI,MAAMu3C,GAAW33C,KAAKI,MAAMksB,GAAWtsB,KAAKI,MAAMw3C,GAAY53C,KAAKI,MAAMy3C,IAG3F,QAAe/C,EAAS,EAAkC,EAAwD,iCAAkC,CAAE4C,MAAOA,EAAOC,QAASA,EAASrrB,QAASA,EAASsrB,SAAUA,EAAUC,IAAKA,KAGjOtB,EAAoBzlC,WAAa4mC,EAEjCnB,EAAoBplC,UAAYolC,EAAoBv9B,KAAwC,QAAa0+B,GACzGnB,EAAoBnlC,gBAAiB,QAAaumC,GAClDpB,EAAoBllC,aAAc,QAAaib,GAC/CiqB,EAAoBjlC,kBAAmB,QAAasmC,GACpDrB,EAAoBhlC,eAAgB,QAAasmC,GACjDtB,EAAoBh8B,SAAU,IAf9B,QAAeu6B,EAAS,EAAkC,GAAmD,qEAAsE,CAAE4C,MAAOA,EAAOC,QAASA,EAASrrB,QAASA,EAASsrB,SAAUA,EAAUC,IAAKA,IAkB5Q,EACApuC,EAAMuqC,IAAkEkD,GACxEztC,EAAMsqC,IAA0E6C,GAChFntC,EAAM0qC,IAA0E4C,GAChFttC,EAAMyqC,IAAmEkD,EAC7E,GACJ,CAUA,OAFAI,EAA2BhzB,QAAQ,EAE5BgzB,CACX,CA5F+C,GElE3CQ,GAAsC,WAMtC,SAASA,EAAqB/wC,EAAQgxC,GAClC,IAAIC,EAA2B,qBAC/B,OAAaF,EAAsBn2C,MAAM,SAAU4H,GAmB/C,SAAS0uC,EAAsBC,EAAUC,GACrC,IAAIC,EAAoB,KACxB,IAEI,GADAA,EAAoBC,IAChB1M,IAA2B,CACmC,MAA1DS,EAAqBrlC,EAAQixC,KAC7B,QAAW,gFAEf,IAAIM,GAAuB,WAAU/wB,UAAU,IAAIgxB,GAAcL,EAAUC,IAC3E9L,EAAqBtlC,EAAQixC,EAA0BM,EAC3D,CACJ,CACA,MAAO7vC,IACH,QAAe1B,EAAQ,4BAA6B,SAAQ0B,IAC5D2vC,EAAoB,IACxB,CACA,OAAOA,CACX,CAKA,SAASC,IACL,IAAID,EAAoB,KACxB,IACI,GAAIzM,IAA2B,CAE3B,IAAI6M,GAAmB,WAEnBC,EAAuBrM,EAAqBrlC,EAAQixC,GACpDS,IAAwB,YAExBL,GAAoB,WAAUM,MAAMD,GACpCL,EAAkBO,cAAgBH,EAAmBJ,EAAkB7D,IAEvEjI,EAAwBvlC,EAAQixC,GAExC,CACJ,CACA,MAAOvvC,IACH,QAAe1B,EAAQ,kCAAmC,SAAQ0B,IAClE2vC,EAAoB,IACxB,CACA,OAAOA,CACX,CA9DA7uC,EAAMgpC,IAAmE,SAAUqG,EAAiBC,GAChG,IAEI,IAAIC,EAAwBb,EAAsBW,EAAiBC,GAE/DC,GACAf,EAA6Be,EAAsBZ,SAAUY,EAAsBX,QAASW,EAAsBH,cAE1H,CACA,MAAOlwC,IACH,QAAe1B,EAAQ,qEAAsE,SAAQ0B,GACzG,CACJ,GAoDA,SAAUc,EAAO,UAAW,CAAE6V,EAAG,WAAc,OAAOrY,CAAQ,KAC9D,SAAUwC,EAAO,+BAAgC,CAAE6V,EAAG,WAAc,OAAO24B,CAA8B,GAC7G,GACJ,CAMA,OAFAD,EAAqBxzB,QAAQ,EAEtBwzB,CACX,CAnFyC,GAqFrCS,GAA+B,WAC/B,SAASA,EAAcL,EAAUC,GAC7Bx2C,KAAK4yC,KAAgE,WACrE5yC,KAAKu2C,SAAWA,EAChBv2C,KAAKw2C,QAAUA,CACnB,CACA,OAAOI,CACX,CAPkC,GCxF9BQ,GAAwB,WACxB,SAASA,EAAOhyC,EAAQhG,GACpB,IAAIwI,EAAQ5H,KACRq3C,EAAU,CAAC,EACfzvC,EAAMwM,MAAQ,SAAUhV,GACS,qBAAlBi4C,EAAQj4C,KACf,QAAegG,EAAQ,EAAkC,GAAsD,uEAAwE,CAAEhG,KAAMA,EAAMiG,IAAKjG,IAAQ,GAEtNi4C,EAAQj4C,IAAS,IAAI6I,IACzB,EACAL,EAAM0vC,KAAO,SAAUl4C,EAAMP,EAAK8H,EAAYK,GAC1C,IAAIoN,EAAQijC,EAAQj4C,GACpB,GAAIlB,MAAMkW,IACN,QAAehP,EAAQ,EAAkC,GAAqD,iDAAkD,CAAEhG,KAAMA,EAAMiG,IAAKjG,IAAQ,OAE1L,CACD,IAAIiV,GAAO,IAAIpM,KACXiH,GAAW,QAAsBkF,EAAOC,GAC5CzM,EAAM2vC,OAAOn4C,EAAMP,EAAKqQ,EAAUvI,EAAYK,EAClD,QACOqwC,EAAQj4C,GACfi4C,EAAQj4C,QAAQwG,CACpB,CACJ,CACA,OAAOwxC,CACX,CAzB2B,GFQvBI,GAAW,QACf,SAASC,GAAevnC,EAAQ6a,GACxB7a,GAAUA,EAAO4a,eAAiBC,GAClC7a,EAAO4a,cAAcC,EAE7B,CACA,SAAS2sB,GAAW14C,GAChB,GAAIA,GAASA,EAAMsL,OAAQ,CACvB,IAAIA,EAAStL,EAAMsL,OACnB,QAAK,SAASA,KAAW,SAAWA,EAAOzQ,KAChCyQ,EAAOzQ,OAEX,SAAQyQ,EACnB,CAEA,OAAOtL,GAAS,EACpB,CACA,IAAI24C,GAAkB,IAClB98B,IAAgB,UAAe,GAAK,CAChC+8B,iBAAkBlM,EAASmM,GAAwB,MACnDC,oBAAqBpM,EAASmM,GAAwB,OACtDE,yBAA0BhM,KAE9B,GAAG6F,IAAgE7F,IACnE,GAAG4F,IAAkE5F,IACrE,GAAGgG,IAAkFhG,IACrF,GAAGiG,KAA2E,EAC9E,GAAGgG,mBAAqBpM,EAAcqM,GAAc,KACpD,GAAG1H,IAA8DxE,IACjE,GAAG8F,IAAuE9F,IAC1E,GAAG+F,IAAkE/F,IACrE,GAAGmM,WAAalM,IAChB,GAAGjnB,YAAcgnB,IACjB,GAAGoM,2BAA6BpM,IAChC,GAAGqM,qBAAuBrM,GAAa,EAAO,8BAC9C,GAAGsM,OAAS5M,EAAW,CAAE6M,aAAa,EAAOC,YAAQ3yC,EAAW4yC,QAAS,KACzE,KACJ,SAASX,GAAuB7xC,EAAO6R,GAKnC,OAJA7R,EAAQA,GAAS6R,EACb7R,EAAQ2xC,KACR3xC,EAAQ2xC,KAEJ3xC,CACZ,CACA,SAASiyC,GAAajyC,GAClB,OAAQ9H,MAAM8H,IAAUA,EAAQ,GAAKA,GAAS,GAClD,CACA,SAASyyC,GAAoBxb,IAGpB,SAAYA,EAAUsT,OACnBtT,EAAUsT,IACVtG,IAGAG,IAGZ,CACA,IAAIsO,GAAiC,SAAU54C,GAE3C,SAAS44C,IACL,IAIIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EApBAhyC,EAAQ7H,EAAOC,KAAKC,OAASA,KACjC2H,EAAMqe,WAAa8kB,EACnBnjC,EAAMiyC,SAAW,IACjBjyC,EAAMkyC,iBAAmB,IAsBzB,IAEIC,EACAC,EACAC,EAglBJ,OA/kBA,OAAatB,EAAiB/wC,GAAO,SAAUC,EAAOqyC,GAClD,IAAI3X,EAAW2X,EAAMzJ,IAmWrB,SAAS0J,EAAkB/nC,GACvB,IAAI6T,EAAape,EAAMoe,WACnB7E,EAAOvZ,EAAM6oC,IACjB7oC,EAAM4oC,KAAuC,QAAer+B,GAAQ,WAChE,IAAIkkB,GAAM,SAA8B,KAAMlkB,EAAQgP,GACtDs4B,EAAapjB,EAAIyF,UAAU9V,EAAYnL,IACvC8+B,EAAUF,EAAWpB,OACrBqB,EAA0BD,EAAW7H,IACjCz/B,EAAOg4B,eACPD,EAAoB/3B,EAAOg4B,eAE/BsO,GAAoBgB,GAEpBR,EAAgCQ,EAAW5H,IAC3CsI,GACJ,IACJ,CAMA,SAASC,EAAmB7D,EAAUC,EAASQ,GAC3C,IAAIrwC,EAAa,CAAE0zC,SAAU9D,EAAU+D,QAAS9D,GAChD5uC,EAAM2yC,YAAY,CACdn7C,KAAM,gBACNo7C,QAASxD,EACTroC,IAAKqoC,EACLx4C,IAAKw4C,EACLyD,YAAa,GACd9zC,EACP,CACA,SAASwzC,IACL,IAAKjB,GAAgCD,EAA+B,CAChE,IAAIyB,EAAqB,CAAC,uBAAwB,mBAC9CC,EAA0B,SAAUC,GACpC,GAAI3B,GAAiC2B,EAAS71C,WAAa4K,EAAA,EAAqBhW,IAAwC,CACpH,IAAIkhD,EAAaD,EAAS11C,SAC1B,GAAI21C,EACA,IAAK,IAAIn1C,EAAI,EAAGA,EAAIg1C,EAAmBlhD,IAAmCkM,IACtE,GAAIm1C,EAAW3qC,SAAU,SAAW2qC,EAAW3qC,OAAQwqC,EAAmBh1C,KAAO,EAC7E,OAAO,CAIvB,CACA,OAAO,CACX,EACAkC,EAAM4oC,IAAuC5oC,EAAM8pC,IAAkEiJ,IACrHzB,GAA+B,CACnC,CACJ,CACA,SAAS4B,EAAmBt0C,EAAWG,GACnC,IAAIwkC,EAAgBJ,EAAoBvkC,EAAW6F,EAAA,GAAU1S,IAAwC0S,EAAA,GAAUzS,IAAgDgO,EAAM7M,MAAwC4L,GAC7MiB,EAAM6oC,IAA8BC,IAAgCvF,EACxE,CACA,SAAS4P,IACL,IAAIC,GAAU,WACVC,GAAO,UAAY,GACvBrzC,EAAM4oC,KAAuC,QAAeiJ,GAAY,WACpEJ,EAA4BI,EAAW1B,yBAClCsB,GAA8BC,GAA+BG,EAAWyB,4BAEzE5Y,GAAS,SAAgB0Y,EAAS,UAAW,CACzC32B,GAAI21B,EACJmB,IAAK,SAAUplB,EAAan3B,EAASC,EAAKC,EAAYC,EAAcC,GAC3Dq6C,IAAkD,IAArBtjB,EAAYmB,MAC1CtvB,EAAMypC,IAAsChlC,EAAA,GAAUolC,IAA8D7yC,EAASC,EAAKC,EAAYC,EAAcC,EAAO+2B,EAAYrpB,KAEvL,IACD,IACH4sC,GAA6B,EAErC,KACA8B,EAAsCJ,EAASC,EACnD,CACA,SAASI,IACL,IAAIC,GAAM,WACNL,GAAO,UAAY,GACvBrzC,EAAM4oC,KAAuC,QAAeiJ,GAAY,WAKpE,GAJAN,GAA6G,IAAlFM,EAAW3H,IAIlCwJ,GAAOnC,IAA6BC,IAAyB,WAAc,CAC3E,IAAImC,GAAW,YACX,SAAWA,EAASC,aAAc,SAAWD,EAASE,sBAAwBtzC,QAAU,OACxFuzC,EAAoBJ,EAAKC,EAAUN,EAE3C,CACJ,IACJ,CACA,SAASU,IACL,IAAIC,EAAsB,KAI1B,GAHIh0C,EAAM6oC,KAAiC7oC,EAAM6oC,IAA8BoL,cAC3ED,EAAsBh0C,EAAM6oC,IAA8BoL,aAAY,KAErED,EAAqB,CAEtB,IAAIj1C,EAAaiB,EAAM6oC,IAA8BpS,UAAUuM,GAC/D,GAAIjkC,EAAY,CACZ,IAAI+0B,EAAU/0B,EAAWw2B,OAAOzB,QAC5BA,IACAkgB,GAAsB,QAAuClgB,EAAQnnB,gBAE7E,CACJ,CACA,OAAOqnC,CACX,CAIA,SAASF,EAAoBJ,EAAKQ,EAASb,GACvC,IAAI7B,EAAJ,CAIA,IAAIlB,EAAauB,EAAWvB,YAAc,GAgC1C5V,GAAS,SAAgBwZ,EAAS,YAAa,CAC3Cz3B,GAAI21B,EACJmB,IAAK,WACGhC,IACA1B,GAAe6D,EAAKhQ,EAAe4M,EAAa,cAChDT,GAAe6D,EAAKhQ,EAAe4M,EAAa,mBAExD,IACD,IACH5V,GAAS,SAAgBwZ,EAAS,eAAgB,CAC9Cz3B,GAAI21B,EACJmB,IAAK,WACGhC,IACA1B,GAAe6D,EAAKhQ,EAAe4M,EAAa,iBAChDT,GAAe6D,EAAKhQ,EAAe4M,EAAa,mBAExD,IACD,KACH,SAAQoD,EAAKpD,EAAa,WAAY6D,EAAkB/B,IACxD,SAAQsB,EAAKpD,EAAa,iBAAkB8D,EAAwBhC,GACpEZ,GAAwB,CAtDxB,CAGA,SAAS2C,IACD5C,GACA1B,GAAe6D,EAAKhQ,EAAe4M,EAAa,kBAExD,CACA,SAAS8D,IASL,GAPIjC,GACAD,EAAWC,EACXA,EAAWkB,GAAQA,EAAKhK,KAAiC,IAGzD8I,EAAWkB,GAAQA,EAAKhK,KAAiC,GAEzDkI,EAA0B,CAC1B,IAAIyC,EAAsBD,IAC1B,GAAIC,EAAqB,CACrBA,EAAoB7mC,YAAW,YAC/B,IAAIknC,EAAoB,YACpBhB,GAAQA,EAAKrnC,WACbqoC,EAAoBhB,EAAKrnC,UAAYqnC,EAAKiB,MAAQ,KAGtDN,EAAoBjnC,SAAQ,QAAmB/M,EAAM7M,MAAwCkhD,GACjG,EACA,SAAgB,SAAWjI,GAEvBpsC,EAAM+oC,IAAkD,CAAEwL,OAAQnI,EAAKrtC,WAAY,CAAEuI,SAAU,IAClG,EAAE2P,KAAKjX,EAAOkyC,GAAWlyC,EAAMiyC,iBACpC,CACJ,CAsBJ,CACA,SAASuB,EAAsCJ,EAASoB,GACpDx0C,EAAM4oC,KAAuC,QAAeiJ,GAAY,WACpEF,GAA6I,IAAlGE,EAAW1H,IACtDuH,EAA6BA,GAA8BG,EAAWzH,IAClEuH,IAA6CC,IAE7ClX,GAAS,SAAgB0Y,EAAS,uBAAwB,CACtD32B,GAAI21B,EACJmB,IAAK,SAAUplB,EAAa/2B,GACpBu6C,IAAiE,IAArBxjB,EAAYmB,MACxDtvB,EAAMypC,IAAsChlC,EAAA,GAAUolC,IAA8DiG,GAAW14C,GAAQo9C,EAAYA,EAAUnL,IAAgC,GAAI,EAAG,EAAGjyC,EAAO+2B,EAAYrpB,KAElO,IACD,IACH+sC,EAAWzH,IAA8EwH,GAAoC,EAErI,IACJ,CAMA,SAAShyB,EAAed,EAAUlB,EAAOC,EAAK9e,EAAY+e,GACtD9d,EAAM7M,MAAuCshD,cAAc31B,EAAUlB,EAAOC,EAAK9e,EAAY+e,EACjG,CACA,SAASpE,IACLq3B,EAAiB,KACjBC,EAAgB,KAChBC,EAAmB,KACnBC,EAA8B,KAC9BC,EAAwB,KACxBC,EAAgC,KAChCC,GAAgC,EAChCC,GAA+B,EAC/BC,GAA2B,EAC3BC,GAAwB,EACxBC,GAA4B,EAC5BC,GAA6B,EAC7BC,GAA2C,EAC3CC,GAAoC,EACpCE,GAA0B,EAO1B,IAAIzwB,GAAW,UAAY,GAC3B6wB,EAAW7wB,GAAYA,EAASgoB,KAAiC,GACjE8I,EAAW,KACXC,EAAgB,KAChBP,EAAa,MAEb,SAAU7xC,EAAO,SAAU,CACvB6V,EAAG,WAAc,OAAOg8B,CAAY,GAE5C,CAtkBAn4B,IACA1Z,EAAMwmC,aAAe,WACjB,OAAOD,GAAiBvmC,EAAM6oC,IAClC,EACA7oC,EAAM02B,iBAAmB,SAAU5b,EAAK1B,GACpCpZ,EAAM00C,YAAY55B,EAAK1B,EAC3B,EACApZ,EAAM20C,WAAa,SAAUrxB,EAAO+f,GAChC,IACI,IAAIE,EAAgBJ,EAAoB7f,EAAO,IAAevxB,IAAwC,IAAeC,IAAgDgO,EAAM7M,MAAwCkwC,GACnNrjC,EAAM6oC,IAA8BC,IAAgCvF,EACxE,CACA,MAAOrkC,GACH0gB,EAAe,EAAkC,GAA+C,oDAAqD,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IACnM,CACJ,EAKAc,EAAM40C,gBAAkB,SAAUp9C,GAC9B,IACIu5C,EAAevkC,MAAMhV,EACzB,CACA,MAAO0H,GACH0gB,EAAe,EAAmC,GAAoD,yDAA0D,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IAC9M,CACJ,EAOAc,EAAM60C,eAAiB,SAAUr9C,EAAMuH,EAAYK,GAC/C,IACI2xC,EAAerB,KAAKl4C,OAAMwG,EAAWe,EAAYK,EACrD,CACA,MAAOF,GACH0gB,EAAe,EAAmC,GAAmD,wDAAyD,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IAC5M,CACJ,EAOAc,EAAM80C,WAAa,SAAUjoC,EAAOw2B,GAChC,IACI,IAAIE,EAAgBJ,EAAoBt2B,EAAOhE,EAAA,EAAM9W,IAAwC8W,EAAA,EAAM7W,IAAgDgO,EAAM7M,MAAwCkwC,GACjMrjC,EAAM6oC,IAA8BC,IAAgCvF,EACxE,CACA,MAAOrkC,GACH0gB,EAAe,EAAkC,GAA+C,oDAAqD,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IACnM,CACJ,EAYAc,EAAM2yC,YAAc,SAAUoC,EAAQ1R,GAClC,IACI,IAAIE,EAAgBJ,EAAoB4R,EAAQ9tC,EAAA,EAAOlV,IAAwCkV,EAAA,EAAOjV,IAAgDgO,EAAM7M,MAAwCkwC,GACpMrjC,EAAM6oC,IAA8BC,IAAgCvF,EACxE,CACA,MAAOrkC,GACH0gB,EAAe,EAAmC,GAAgD,sDAAuD,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IACvM,CACJ,EAOAc,EAAM+oC,IAAoD,SAAUmD,EAAU7I,GAC1E,IACI,IAAI2R,EAAO9I,GAAY,CAAC,EACxB+E,EAAiBlI,IAAkDiM,GAAM,SAAS,SAAS,QAAS,CAAC,EAAGA,EAAKj2C,YAAai2C,EAAK51C,cAAeikC,IAC1IyO,GACAX,EAAsBnI,IAAiEgM,EAAKx9C,KAAMw9C,EAAK5I,IAE/G,CACA,MAAOltC,GACH0gB,EAAe,EAAmC,GAA4C,2DAA4D,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IACxM,CACJ,EAOAc,EAAMipC,IAAiE,SAAUiD,EAAUntC,EAAYukC,GACnG,IAAIjhB,GAAM,WAIV,GAHIA,IACA6pB,EAASqI,YAA6Bv2C,IAApBkuC,EAASqI,OAAuBlyB,EAAI4yB,SAAW/I,EAASqI,SAE1E,SAAkBrI,EAAShD,KAA2C,CAEtE,IAAI5hC,GAAavI,GAAcmtC,EAASx9B,KAA6C,CAAC,GAAGa,KAAyC,EAClI28B,EAAShD,IAA2C,IAAI7oC,MAAK,IAAIA,MAAOosC,UAAYnlC,EACxF,CACA,IAAIi8B,EAAgBJ,EAAoB+I,EAAU9kC,EAAA,EAASrV,IAAwCqV,EAAA,EAASpV,IAAgDgO,EAAM7M,MAAwC4L,EAAYukC,GACtNtjC,EAAM6oC,IAA8BC,IAAgCvF,EAGxE,EAMAvjC,EAAMmpC,IAA4E,SAAU2D,EAAqB/tC,EAAYukC,GACzH,IAAIC,EAAgBJ,EAAoB2J,EAAqBvlC,EAAA,EAAoBxV,IAAwCwV,EAAA,EAAoBvV,IAAgDgO,EAAM7M,MAAwC4L,EAAYukC,GACvPtjC,EAAM6oC,IAA8BC,IAAgCvF,EACxE,EAMAvjC,EAAMk1C,yBAA2B,SAAUpI,EAAqBzJ,GAC5D,IAAI8R,EAAQrI,GAAuB,CAAC,EACpC,IACIoE,EAA4B9H,IAA2E+L,GACvGn1C,EAAMmpC,IAA0EgM,EAAO9R,EAC3F,CACA,MAAOnkC,GACH0gB,EAAe,EAAmC,GAA4C,sEAAuE,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IACnN,CACJ,EAOAc,EAAMo1C,eAAiB,SAAU59C,GAC7B,IACI,GAAoB,kBAATA,EAAmB,CAC1B,IAAI6qB,GAAM,WACV7qB,EAAO6qB,GAAOA,EAAI8pB,OAAS,EAC/B,CACA6E,EAAcxkC,MAAMhV,EACxB,CACA,MAAO0H,GACH0gB,EAAe,EAAmC,GAA+C,2DAA4D,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IAC3M,CACJ,EASAc,EAAMq1C,cAAgB,SAAU79C,EAAMP,EAAK8H,EAAYu2C,GACnD,IACI,GAAoB,kBAAT99C,EAAmB,CAC1B,IAAI6qB,GAAM,WACV7qB,EAAO6qB,GAAOA,EAAI8pB,OAAS,EAC/B,CACA,GAAmB,kBAARl1C,EAAkB,CACzB,IAAIs+C,GAAM,WACVt+C,EAAMs+C,GAAOA,EAAIlM,KAAiC,EACtD,CACA2H,EAActB,KAAKl4C,EAAMP,EAAK8H,EAAYu2C,GACtCxD,GACAX,EAAsBnI,IAAiExxC,EAAMP,EAErG,CACA,MAAOiI,GACH0gB,EAAe,EAAmC,GAA8C,2DAA4D,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IAC1M,CACJ,EAOAc,EAAMspC,IAAkE,SAAU1qC,EAAWykC,EAAkBC,GAG3G,IAAIkS,EAAY52C,IAAcA,EAAU2qC,KAA2C3qC,EAAU4qC,OAEzF,SAAQ5qC,IAAcA,GAGtB,CAAEpH,KAAOoH,UAAoBA,EAAY5H,QAAS4H,GAAa,MAEnEA,EAAYA,GAAa,CAAC,EAC1B,IAAI62C,EAAiB,IAAIhxC,EAAA,GAAUzE,EAAM7M,MAAwCqiD,EAAU52C,EAAU8P,KAA6C20B,EAAkBzkC,EAAUQ,aAAcR,EAAU8F,cAAe9F,EAAUY,IAAI6F,cAC/Ngd,GAAM,WACV,GAAIA,IAAoB,OAAZ0vB,QAAgC,IAAZA,OAAqB,EAASA,EAAQrB,aAAc,CAChF,IAAIgF,GAAc,SAAerzB,GACjCozB,EAAe/mC,IAA0C,oBAAsBtN,KAAK4c,UAAU03B,EAClG,CACA,GAAgB,OAAZ3D,QAAgC,IAAZA,OAAqB,EAASA,EAAQpB,OAAQ,CAClE,IAAIgF,EAAO5D,EAAQpB,SACfgF,GAAQA,EAAKA,OAAQ,SAAQA,EAAKA,QAClCF,EAAe/mC,IAA0C,gBAAkBinC,EAAKA,KAAK7J,MAAM,EAAGiG,EAAQnB,SAASxrB,KAAK,MAE5H,CACA,IAAIme,EAAgBJ,EAAoBsS,EAAgBhxC,EAAA,GAAU1S,IAAwC0S,EAAA,GAAUzS,IAAgDgO,EAAM7M,MAAwCkwC,EAAkBC,GACpOtjC,EAAM6oC,IAA8BC,IAAgCvF,EACxE,EAUAvjC,EAAM41C,eAAiB,SAAUh3C,EAAWykC,GACpCzkC,IAAcA,EAAU2qC,KAA2C3qC,EAAU4qC,MAC7E5qC,EAAU2qC,IAA0C3qC,EAAU4qC,KAElE,IACIxpC,EAAMspC,IAAgE1qC,EAAWykC,EACrF,CACA,MAAOnkC,GACH0gB,EAAe,EAAmC,GAAmD,4DAA6D,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,IAChN,CACJ,EAMAc,EAAMypC,IAAwC,SAAU7qC,GACpD,IAAIxH,EAAQwH,GAAaA,EAAU4qC,IAC/B1kC,EAAMlG,GAAaA,EAAUkG,IACjC,IACI,IAAKA,EAAK,CACN,IAAIsuC,GAAU,WACVA,IACAtuC,EAAMsuC,EAAQxD,IAEtB,CACA,IAAI34C,EAAO2H,GAAaA,EAAU3H,OAAS,YAAiB,CAAC,GAAG4+C,IAE5D9wC,EAAWnG,EAAU8qC,KAA0C,kBAAoBzyC,EAAM,KAAO2H,EAAU+qC,KAA8C,GAAK,KAAO/qC,EAAUgrC,KAAkD,GAChO7qC,EAAa,CACbgG,SAAUA,EACV9N,IAAKA,EACLC,WAAY0H,EAAU+qC,KAA8C,EACpExyC,aAAcyH,EAAUgrC,KAAkD,EAC1E5yC,QAAS4H,EAAUmP,MAEnB,QAAmBnP,EAAU5H,QAAS4H,EAAU3H,IAAK2H,EAAU1H,WAAY0H,EAAUzH,aAAcyH,EAAU4qC,KAC7G0J,EAAmBzuC,EAAA,GAAUolC,IAA8D,qJAAsJ5yC,EAAK2H,EAAU+qC,KAA8C,EAAG/qC,EAAUgrC,KAAkD,EAAGxyC,EAAO0N,EAAK,KAAMC,GAAWhG,IAGxYH,EAAU8qC,MACX9qC,EAAU8qC,IAAyC3kC,GAEvD/E,EAAM41C,eAAe,CAAEh3C,UAAWA,EAAW8F,cAAe,GAAgC3F,GAEpG,CACA,MAAOG,GACH,IAAI42C,EAAc1+C,EAASA,EAAMI,KAAO,KAAOJ,EAAM2W,IAAuC,OAC5F6R,EAAe,EAAmC,GAAyD,+EACrG,QAAiB1gB,GAAI,CAAEN,WAAW,SAAQM,GAAI42C,YAAaA,GACrE,CACJ,EACA91C,EAAM8pC,IAAoE,SAAUiM,GAChF,GAAI/1C,EAAM6oC,IAEN,OAAO7oC,EAAM6oC,IAA8BiB,IAAkEiM,GAG5G3E,IACDA,EAAgC,IAEpCA,EAA8BpF,KAAK+J,EACvC,EACA/1C,EAAMg2C,WAAa,SAAUzrC,EAAQgP,EAAMI,EAAYH,GACnD,IAAIxZ,EAAM4a,gBAAV,EAGI,SAAkBrB,KAClB,QAAW,sBAEf84B,EAAM2D,WAAWzrC,EAAQgP,EAAMI,EAAYH,GAC3C,IACI44B,GAAgB,UAAkB,QAAsBpyC,EAAMoe,YAAa7E,EAAKyL,cAAgBzL,EAAKyL,gBACjGosB,KACA,SAAWA,GAA+B,SAAU6E,GAChD18B,EAAKuwB,IAAkEmM,EAC3E,IACA7E,EAAgC,MAEpCkB,EAAkB/nC,GAClB2mC,EAA8B,IAAInD,GAA2B/tC,EAAM6oC,KACnEoI,EAAmB,IAAIhG,GAAgBjrC,EAAO6xC,EAAW1G,yBAA0BnrC,EAAM6oC,IAA+BqI,GACxHC,EAAwB,IAAI5C,GAAqBvuC,EAAM7M,OAAwC,SAAUw7C,EAAUC,EAASQ,GAAiB,OAAOoD,EAAmB7D,EAAUC,EAASQ,EAAgB,IAC1M2B,EAAiB,IAAIvB,GAAOxvC,EAAM7M,MAAwC,cAC1E49C,EAAepB,OACX,SAAUn4C,EAAMP,EAAKqQ,EAAUvI,EAAYK,GAClCL,IACDA,EAAa,CAAC,GAEbK,IACDA,EAAe,CAAC,GAEpBL,EAAWuI,SAAWA,EAASrV,MAC/B+N,EAAM20C,WAAW,CAAEn9C,KAAMA,EAAMuH,WAAYA,EAAYK,aAAcA,GACzE,EAEJ4xC,EAAgB,IAAIxB,GAAOxvC,EAAM7M,MAAwC,iBACzE69C,EAAcrB,OAAS,SAAUn4C,EAAMP,EAAKqQ,EAAUvI,EAAYK,IAE1D,SAAkBL,KAClBA,EAAa,CAAC,GAElBA,EAAWuI,SAAWA,EAASrV,MAC/B,IAAIikD,EAAe,CACf1+C,KAAMA,EACN40C,IAAKn1C,EACL8H,WAAYA,EACZK,aAAcA,GAElBY,EAAMipC,IAA+DiN,EAAcn3C,EACvF,GACI,aACAo0C,IACAM,IAER,CACA,MAAOv0C,GAGH,MADAc,EAAM2a,gBAAe,GACfzb,CACV,CAtDA,CAuDJ,EACAc,EAAMm2C,YAAc,SAAUv8B,EAAWC,GACrCo3B,GAAoBA,EAAiBlE,SAASnzB,EAAWC,IAEzD,SAASu8B,OAAQ,KAAM,KAAMhE,GAC7B14B,GACJ,GAuOA,SAAU1Z,EAAO,mBAAoB,CAAE6V,EAAG,WAAc,OAAOo7B,CAAkB,KACjF,SAAUjxC,EAAO,8BAA+B,CAAE6V,EAAG,WAAc,OAAOq7B,CAA6B,KACvG,SAAUlxC,EAAO,wBAAyB,CAAE6V,EAAG,WAAc,OAAOs7B,CAAuB,KAC3F,SAAUnxC,EAAO,gBAAiB,CAAE6V,EAAG,WAAc,MAAO,IAAMu8B,CAAe,GACrF,IACOryC,CACX,CAoBA,OApoBA,QAAU+wC,EAAiB54C,GAmoB3B44C,EAAgBuF,QAAU,QACnBvF,CACX,CAtoBoC,CAsoBlCl4B,GAAA,G,wBGtsBK,SAAS09B,GAAwB/lC,EAAKgmC,EAAoBC,EAAUC,GACvE,IACI,IAAIC,EAAiBF,EAAWC,EAC5BC,IACAnmC,EAAM,MAEV,IAAIomC,EAAuB,GAAZH,GAAgB,SAAU,CAAC,EAAGjmC,GAAOA,EAcpD,OAbIomC,GAAYJ,IAAuBG,IACnC,SAAcC,GAAU,SAAUl5C,GAC9B,IAAIm5C,EAAiBL,EAAmB94C,GAClCm5C,KACE,SAASD,EAASl5C,MAAS,SAASm5C,GACpCD,EAASl5C,GAAO64C,GAAwBK,EAASl5C,GAAMm5C,IAAkBJ,EAAUC,UAG5EE,EAASl5C,GAG5B,IAEGk5C,CACX,CACA,MAAOz3C,GAEP,CAEA,OAAOqR,CACX,CAiCA,IClEI,GDkEAsmC,GAAI,gBACJC,GAAI,QACJC,GAAK,SACLC,GAAM,UACH,SAASC,GAAqBr5C,EAAOs5C,EAAQC,GAChD,IAAInyC,EAEJ,IAAKkyC,IAAWA,EAAO7R,QACnB,OAAO,KAEX,IAAI+R,GAASF,EAAO,QAAmD,CAAC,GAAGt5C,IAAU,CAAE4tB,KAAM,GACzF6rB,EAAOD,EAAM5rB,KACb8rB,EAASF,EAAMG,MACfC,EAAUJ,EAAMK,OAChBC,GAAUP,GAAoB,CAAC,GAAGv5C,IAAU,CAAE4tB,KAAM,GACpDmsB,EAAQD,EAAOlsB,KACfosB,EAAUF,EAAOH,MACjBM,EAAWH,EAAOD,OAClBK,IAAaJ,EAAOK,YACpBC,EAAOnB,GAAIj5C,EAAQk5C,GACnBmB,EAAQpB,GAAIj5C,EAAQm5C,GACpBmB,EAASrB,GAAIj5C,EAAQo5C,GACrBxrB,EAAOmsB,EACPQ,EAAMP,EACNQ,EAAOP,EAqBX,OApBKC,IACY,IAATT,GAAoD,IAATA,GAC3C7rB,EAAgB,GAAR6rB,EAAyC,EAAkC,EACnFc,EAAMb,GAAUM,EAChBQ,EAAOZ,GAAWK,GAEJ,IAATR,GAAqD,IAAVM,GAChDnsB,EAAO,EACP2sB,EAAMP,GAAWN,EACjBc,EAAOP,GAAYL,GAEL,IAATH,GACL7rB,EAAO,EACP2sB,EAAMP,GAAWN,EACjBc,EAAOP,GAAYL,GAEL,IAATH,GAAkD,IAAVM,IAC7CnsB,EAAO,IAGRxmB,EAAK,CAAC,EACTA,EAAGgzC,GAAQxsB,EACXxmB,EAAGizC,GAASE,EACZnzC,EAAGkzC,GAAUE,EACbpzC,CACR,CAEO,SAASqzC,GAAmBnB,EAAQ39B,GACvC,IACI,IAAK29B,IAAWA,EAAO7R,QACnB,OAAO,KAEX,IAAK6R,EAAO,OACR,OAAOA,EAAO3sC,OAElB,IAAI+tC,EAAWpB,EAAO,OAClBqB,EAAcrB,EAAO3sC,QAAU,CAAC,EAUpC,OATA,SAAc+tC,GAAU,SAAU76C,GAC9B,IAAI+6C,EAAavB,GAAqBx5C,EAAKy5C,EAAQ39B,EAAKhP,OAAO,SAC1D,SAAkBiuC,MACnB,SAAcA,GAAY,SAAUjuC,EAAQkuC,IACxC,SAAcF,EAAahuC,EAAQkuC,EACvC,IACAC,GAAyBj7C,EAAK+6C,EAAYD,GAElD,IACOA,CACX,CACA,MAAOr5C,GAEP,CACA,OAAO,IACX,CACA,SAASw5C,GAAyB96C,EAAO+6C,EAAOpuC,GAC5C,IAAIihB,EAAOmtB,EAAM9B,GAAIj5C,EAAQk5C,IACzB2B,EAAME,EAAM9B,GAAIj5C,EAAQm5C,IACxB6B,EAAOD,EAAM9B,GAAIj5C,EAAQo5C,IACzB1uC,EAAS,KACA,IAATkjB,IACAljB,EAASmwC,GAEA,IAATjtB,IACAljB,EAASswC,GAETtwC,IACA,SAAcA,GAAQ,SAAU7K,EAAK8S,IACjC,SAAchG,EAAQ9M,EAAK8S,EAC/B,GAER,CCxJA,IAAIsoC,GAAa,aACbC,GAAiB,MACjBC,GAAgB,KAChBC,QAASh7C,EACTi7C,GAAwB,CAAEC,oBAAoB,EAAMC,kBAAkB,EAAM9uC,aAAa,GACzF+uC,IAAiB,UAAe,GAAK,CACjCC,SAAU,EACVC,UAAWN,GACXO,cAAeP,GACfQ,OAAQR,GACRS,eAAgBT,GAChBU,gBAAiBV,IAErB,GAAG,OAA4DA,GAC/D,GAAG,OAA8DD,GACjE,GAAG,OAA2DE,GAC9D,KACAU,GAA+B,SAAUzhD,GAEzC,SAASyhD,IACL,IAGIC,EACAC,EACAC,EACA1H,EACA2H,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAlBA36C,EAAQ7H,EAAOC,KAAKC,OAASA,KACjC2H,EAAMiyC,SAAW,IACjBjyC,EAAMqe,WAAa,2BAiBnB,IAAIu8B,GAAU,EA0Td,OAzTA,OAAahB,EAAe55C,GAAO,SAAUC,EAAOqyC,GAoChD,SAAS34B,IACLmgC,EAAc,KACdC,EAAW,KACX1H,EAAgB,KAChB2H,EAAU,KACVE,EAAkB,KAClBC,EAAoB,KACpBK,EAAsB,KACtBP,EAAiB,KACjBI,EAAgB,KAChBC,EAAY,KACZF,EAAa,KACbM,EAAmB,KACnBC,EAAkB,KAClBJ,EAAsB,IAC1B,CACA,SAAShI,EAAkB/nC,GACvB,IAAI6T,EAAape,EAAMoe,WACnB7E,EAAOvZ,EAAMuZ,KACjBvZ,EAAM06B,UAAS,QAAenwB,GAAQ,WAClC,IAAIkkB,GAAM,SAA8B,KAAMlkB,EAAQgP,GACtDqgC,EAAmBnrB,EAAIyF,UAAU9V,EAAYg7B,IAC7C,IAAIwB,EAAYT,EAChBA,IAAeP,EAAiBN,WAE3B,SAAkBsB,IAAcA,IAAcT,KAC1CA,GAAcJ,EACfS,GAAYA,EAAST,EAASc,EAAkBX,GAGhDY,MAGJ,SAAkBb,KAClBA,EAAgD,IAA9BL,EAAiBP,WAEnC,SAAkBa,KAClBA,EAAkD,IAA9BN,EAAiBP,UAEzC,IAAI0B,EAAanB,EAAiBL,eAAiBV,GAC/CiB,IAAaiB,IACTd,EACAe,EAAyBD,IAGzBE,IACAnB,EAAWiB,KAGf,SAAkBhB,KAClBA,EAAUH,EAAiBJ,QAG1BO,IACDF,EAActvC,EACV2vC,GACAgB,IAGZ,KACAR,EAAkBd,EAAiBH,eACnCgB,EAAmBb,EAAiBF,gBACpCY,EAAsBV,EAAiB,OACvCW,EAAsBX,EAAiB,OACvCQ,EAAgBR,EAAiB,OACjCY,EAAWW,IACXd,EAAY,EAERN,IAAYI,GACZK,GAAYA,EAAST,EAASc,EAAkBX,EAExD,CACA,SAASkB,EAAQ7wC,EAAQ8wC,GACrB,GAAI9wC,EAAQ,CAER,GADAsvC,EAActvC,EACR8wC,IAAeV,EACjB,OAAOO,IAEX,GAAIjB,IAAoBU,EAEpB,OADA36C,EAAMuZ,KAAK+hC,UAAU/wC,IACd,CAEf,CACA,OAAO,CACX,CACA,SAAS0wC,IACL,IACI,IAAIM,GAAW,WACXA,IACA,SAASA,EAAU,KAAM,KAAMnJ,EAEvC,CACA,MAAOlzC,GAEP,CACJ,CACA,SAASg8C,EAAmBt3B,GACxB,IACI,OAAM82B,IAAmB,SAAWA,GACzBA,EAAgBb,EAAaj2B,IAEjC,SAAgBk2B,EAAUD,EAAaj2B,EAClD,CACA,MAAO1kB,GAEP,CACA,OAAO,CACX,CACA,SAAS87C,EAAyBxjD,GAC9B,IAMI,OALAyjD,IACIzjD,IACAsiD,EAAWtiD,EACXgkD,MAEG,CACX,CACA,MAAOt8C,GAEP,CACA,OAAO,CACX,CACA,SAASi8C,IACL,IAAIX,EAAWC,EASf,OARI,SAAkBD,MACd,WACAA,EAAWiB,GAEN,aACLjB,EAAWkB,IAGZlB,CACX,CACA,SAASiB,EAAaxkD,EAAK0kD,EAAYN,GACnC,IAAIx3B,GAAS,WACT+3B,EAAW/3B,GAAUA,EAAOg4B,OAAU,KAC1C,GAAI5kD,GAAO2kD,IAAW,SAAWA,GAC7B,IACI,IAAIE,EAAO,CACPz1C,OAAQyyC,IAERj2B,EAAU,IAAIk5B,QAAQ9kD,EAAK6kD,IAC/B,SAAgBD,MAAMh5B,IAAU,SAAU1hB,GACtC,IAAIgtC,EAAWhtC,EAAO/C,MACjB+C,EAAO66C,SAWRC,EAAcN,EAAY,KAVtBxN,EAAS+N,IACT,SAAgB/N,EAAS7wB,QAAQ,SAAU6+B,GACvCF,EAAcN,EAAYxN,EAASiO,OAAQD,EAAI/9C,MAAOi9C,EAC1D,IAGAY,EAAcN,EAAYxN,EAASiO,OAAQ,KAAMf,EAM7D,GACJ,CACA,MAAOn8C,GAEP,CAER,CACA,SAASw8C,EAAWzkD,EAAK0kD,EAAYN,GACjC,IACI,IAAIgB,EAAQ,IAAIzvB,eAChByvB,EAAMxvB,KAAKisB,GAAgB7hD,GAC3BolD,EAAMC,mBAAqB,WACnBD,EAAME,aAAe3vB,eAAe4vB,MACpCP,EAAcN,EAAYU,EAAMD,OAAQC,EAAM1wB,aAAc0vB,EAEpE,EACAgB,EAAMI,QAAU,WACZR,EAAcN,EAAY,IAC9B,EACAU,EAAMK,UAAY,WACdT,EAAcN,EAAY,IAC9B,EACAU,EAAMM,MACV,CACA,MAAOz9C,GAEP,CACJ,CACA,SAAS27C,EAAiBuB,EAAQjO,EAAUkN,GACxC,IACI,GAAIe,GAAU,KAAOA,EAAS,KAAOjO,EAAU,CAC3CkM,EAAY,EACZ,IAAIuC,GAAS,WACb,GAAIA,EAAQ,CACR,IAAI1F,EAAS0F,EAAOzN,MAAMhB,GACtB59B,EAAM8nC,GAAmBnB,EAAQl3C,EAAMuZ,MACvCsjC,EAAStsC,IAAO,SAAcA,IAAQusC,EAAsBvsC,GAChEssC,GAAUzB,EAAQyB,EAAQxB,EAE9B,CACJ,MAEIhB,IAEAA,EAAY,GACZ0C,GAER,CACA,MAAO79C,GAEP,CACJ,CACA,SAAS+8C,EAAcN,EAAYS,EAAQjO,EAAUkN,GACjD,IACIM,EAAWS,EAAQjO,EAAUkN,EACjC,CACA,MAAOn8C,GAEP,CACJ,CACA,SAASs8C,IACL,GAAIvB,EAAiB,CACjB,IAAI+C,GAAW,WACf,GAAIA,EACA,KACI,SAAQA,EAAUlD,GAAU,SAAUx2B,GAGlC,IAAI25B,EAAW35B,GAASA,EAAM/O,OAC9B,GAAI+lC,GAAuB2C,EACvB3C,EAAoB2C,OAEnB,CACD,IAAI1sC,EAAM0sC,GAAYA,EAAS1sC,IAC3BssC,EAAStsC,IAAO,SAAcA,IAAQusC,EAAsBvsC,GAChEssC,GAAUzB,EAAQyB,EACtB,CACJ,GAAGzK,GAAe,EACtB,CACA,MAAOlzC,GAEP,CAER,CACJ,CAEA,SAAS49C,EAAsBvsC,EAAKnK,GAChC,IAAI82C,EAAO,KACX,IACQ3sC,IACA2sC,EAAO5G,GAAwB/lC,EAAKgqC,EAAqB,EAAG,GAEpE,CACA,MAAOr7C,GAEP,CACA,OAAOg+C,CACX,CAIA,SAASH,KACA/C,GAAkBI,IACnBJ,GAAiB,UAAgB,WAC7BA,EAAiB,KACjBQ,EAAST,EAASc,EAAkBX,EACxC,GAAGE,GACHJ,EAAemD,QAEvB,CACA,SAASrC,IACLd,GAAkBA,EAAehN,SACjCgN,EAAiB,KACjBK,EAAY,CAChB,CAnTA3gC,IACA1Z,EAAMg2C,WAAa,SAAUzrC,EAAQgP,EAAMI,EAAYH,GACnD64B,EAAM2D,WAAWzrC,EAAQgP,EAAMI,EAAYH,GAC3C44B,GAAgB,UAAkB,QAAsBpyC,EAAMoe,YAAa7E,EAAKyL,cAAgBzL,EAAKyL,gBACrGstB,EAAkB/nC,EACtB,EACAvK,EAAM0a,OAAS,WACX,OAAOm/B,CACX,EACA75C,EAAMo9C,MAAQ,WACVzC,GAAU,EACVG,GACJ,EACA96C,EAAMq9C,OAAS,WACX1C,GAAU,EACVoC,GACJ,EAEA/8C,EAAMs9C,OAAS,SAAU/yC,GACrB,OAAO6wC,EAAQ7wC,EACnB,EACAvK,EAAMu9C,KAAO,SAAU35B,GACnB,OAAOs3B,EAAmBt3B,EAC9B,EACA5jB,EAAMw9C,wBAA0B,SAAUn6B,GACtC,OAAO23B,EAAyB33B,EACpC,EACArjB,EAAMm2C,YAAc,SAAUv8B,EAAWC,GACrCohC,IACAH,IACAphC,GACJ,EACA1Z,EAAM,qBAAuB,WACzB,MAAO,CAACk6C,EAAmBD,EAAiBH,EAAUK,EAAYI,EACtE,EAkRAv6C,EAAM02B,iBAAmB,SAAU5b,EAAK1B,GACpCpZ,EAAM00C,YAAY55B,EAAK1B,EAC3B,CACJ,IACOrZ,CACX,CAaA,OA7VA,QAAU45C,EAAezhD,GA2VzByhD,EAAc5+B,QAAQ,EAEf4+B,CACX,CA/VkC,CA+VhC/gC,GAAA,GC1XF,SAAS6kC,GAAen1C,EAAQ0c,IAC5B,SAAS1c,EAAQ,KAAM,KAAM0c,EACjC,CAKO,SAAS04B,GAAsBC,GAClC,IAAI70C,GAAY,WACZ+kC,GAAa,WACb+P,GAAe,EACfC,EAAe,GAGfC,EAAS,GACTjQ,IAAe,SAAkBA,EAAWkQ,SAAYlQ,EAAWkQ,SACnED,EAAS,GAGb,IAAIE,EAAS,EAGTC,EAAgBC,IAChB9L,GAAgB,UAAkB,QAAsB,mBAAoBuL,GAChF,IAII,GAHIQ,GAAc,cACdP,GAAe,GAEf90C,EAAW,CAEX,IAAIR,EAASQ,EAAUs1C,MAAQt1C,EAC3BR,EAAO+1C,UACHF,EAAc71C,KACds1C,GAAe,EAG3B,CACJ,CACA,MAAO1+C,GAEH0+C,GAAe,CACnB,CACA,SAASO,EAAc71C,GACnB,IAAI+8B,GAAU,EAOd,OANI/8B,IACA+8B,GAAU,SAAQ/8B,EAAQ,SAAUg2C,EAAYlM,GAC5C/M,IACA,SAAQ/8B,EAAQ,UAAWi2C,EAAanM,IAGzC/M,CACX,CACA,SAASmZ,IACL,OAAOP,CACX,CACA,SAASC,IACL,OAAe,IAAXF,GAAuD,IAAXF,CAIpD,CACA,SAASW,IAEL,IAAIC,EAAWR,IACXD,IAAkBS,IAClBT,EAAgBS,GAEhB,SAAWb,GAAc,SAAU9mC,GAC/B,IAAI4nC,EAAe,CACfC,SAAUX,EACVH,OAAQA,EACRE,OAAQA,GAEZ,IACIjnC,EAAS4nC,EACb,CACA,MAAOz/C,GAEP,CACJ,IAER,CACA,SAAS2/C,EAAeH,GACpBV,EAASU,EACTD,GACJ,CACA,SAASH,IACLR,EAAS,EACTW,GACJ,CACA,SAASF,IACLT,EAAS,EACTW,GACJ,CACA,SAASK,IACL,IAAIpL,GAAM,WACV,GAAIA,GAAOkK,EAAc,CAErB,GADAH,GAAe/J,EAAKtB,GAChBtpC,EAAW,CAEX,IAAIR,EAASQ,EAAUs1C,MAAQt1C,GAC1B,SAAYR,EAAO+1C,WACpBZ,GAAen1C,EAAQ8pC,EAE/B,CACAwL,GAAe,CACnB,CACJ,CACA,SAASmB,EAAYhoC,GAGjB,OAFA8mC,EAAa,MAA8B9mC,GAEpC,CACHhF,GAAI,WACA,IAAIitC,EAAQnB,EAAa1wB,QAAQpW,GACjC,OAAIioC,GAAS,EACFnB,EAAa55C,OAAO+6C,EAAO,QAGlC,CAER,EAER,CACA,MAAO,CACHJ,SAAUJ,EACVS,YAAa,WAAc,OAAOrB,CAAc,EAChDhnB,OAAQkoB,EACRC,YAAaA,EACbF,eAAgBA,EAExB,C,4BCnIWK,IAAe,QAAgB,CACtCC,KAAM,EACNC,QAAS,EACTC,SAAU,EACVC,OAAQ,ICHDC,GAA4B,IAC5BpqD,GAAuB,0DCO9Bg7B,GAAY,GACZqvB,GAAuB,iBACvBC,GAAgB,IAAMD,GAAuB,QAC7CE,GAAkB,OAOlBC,GAAmC,WACnC,SAASA,IACL,IACIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAdAC,EAAoB,GAexB,OAAaf,EAAmBvnD,MAAM,SAAU4H,EAAOqyC,GACnD,IAAIsO,GAAmB,EAgEvB,SAASC,EAAWzE,EAAKxnB,GACrBsnB,EAActnB,EAAY,IAAK,CAAC,EAAGwnB,EACvC,CAIA,SAAS0E,EAAS7pD,EAAS29B,IACvB,QAAemrB,EAAU,EAAkC,GAAsC,4BAA6B,CAAE9oD,QAASA,IACzIilD,EAActnB,EAAY,IAAK,CAAC,EACpC,CACA,SAASmsB,EAAgBnsB,GACrBksB,EAAS,4CAA6ClsB,EAC1D,CACA,SAASosB,EAAoBC,EAAYC,GACrC,IAAIj8C,EACAk8C,EAAgB,EAChBC,EAAe,KACf7+C,EAAK,EACT,MAAuB,MAAhB6+C,GAAwB7+C,EAAK0+C,EAAW,MAC3CE,EAAgBF,EAAW1+C,GACtB89C,GAAiC,IAAlBc,EASO,IAAlBA,KAAiD,SAAiBD,IAAkBA,GAAgBV,EAGlF,IAAlBW,KAAkD,aAAyBD,EAAeX,EAAsBD,KACrHc,EAAeC,GAHfD,EAAeE,GATX,WAEAF,EAAeG,GAEV,aACLH,EAAezF,GASvBp5C,IAEJ,OAAI6+C,GACOn8C,EAAK,CACJu8C,WAAYL,EACZM,QAASP,GAEbj8C,EAAG,KAAsCm8C,EACzCn8C,GAED,IACX,CACA,SAASi3C,EAAcN,EAAYS,EAAQpvB,EAASmhB,GAChD,IACIwN,GAAcA,EAAWS,EAAQpvB,EAASmhB,EAC9C,CACA,MAAOjvC,GAEP,CACJ,CACA,SAASuiD,EAAcC,EAAS/F,GAC5B,IAAI75B,GAAM,WACN7qB,EAAMyqD,EAAQ,MAClB,IAAKzqD,EAGD,OAFA6pD,EAAgBnF,IAET,EAEX1kD,EAAMyqD,EAAQ,OAA4ClB,EAAiBf,GAAgBtvB,IAC3F,IAAI/yB,EAAOskD,EAAQ,MAKfC,EAAiB5B,EAAW3iD,EAAO,IAAIwkD,KAAK,CAACxkD,GAAO,CAAEmL,KAAM,6BAE5Ds5C,EAAS//B,EAAIW,WAAWxrB,EAAK0qD,GACjC,OAAOE,CACX,CAQA,SAAST,EAAcM,EAAS/F,EAAY4B,GACxC,IAAIngD,EAAOskD,EAAQ,MACnB,IACI,GAAItkD,EAEA,GAAKqkD,EAAcC,EAAS/F,GAYxBiF,EAAWzwB,GAAWwrB,OAZe,CACrC,IAAImG,EAAU9B,GAAoBA,EAAiB+B,cAC/CD,IAAW,SAAWA,GACtBA,EAAQJ,EAAS/F,EAAY8F,IAG7BtB,GAAiBA,EAAc,KAAuCuB,EAAS/F,GAAY,IAC3F,QAAemE,EAAU,EAAkC,GAAiD,2EAEpH,CAMR,CACA,MAAO5gD,GACH6gD,IAAY,QAAeD,EAAU,sDAAuD,SAAQ5gD,IACpG+8C,EAAcN,EAAYoE,EAAW,EAAI,IAAK,CAAC,EAAG5vB,GACtD,CAEJ,CAMA,SAASurB,EAAWgG,EAAS/F,EAAY4B,GAErC,IAAIyE,EACAC,EACAC,EACAl1B,EAAU00B,EAAQ,OAAuC,CAAC,GACzDnE,GAAQqC,IACToC,GAAa,UAAc,SAAUG,EAASC,GAC1CH,EAAcE,EACdD,EAAaE,CACjB,KAEArC,GAAYxC,GAAQmE,EAAQW,iBAC5B9E,GAAO,GAGX,IAAI+E,EAAcZ,EAAQ,MAC1B,IAAKY,EAGD,OAFAxB,EAAgBnF,QAChBsG,GAAeA,GAAY,IAG/B,IAAIv2B,GAAM,QAAQg0B,GAAiB4C,EAAa3B,GAAkB,EAAMpD,EAAMmE,EAAQ,UAqBtF,SAASa,EAAe72B,GACpB,IAAI82B,EAAcxC,GAAoBA,EAAiByC,cACnDC,EAAmBF,IAAe,SAAWA,GACjD,GAAIE,EACAF,EAAY92B,EAAKiwB,EAAY+F,OAE5B,CACD,IAAIvT,GAAW,QAAgBziB,GAC/BuwB,EAAcN,EAAYjwB,EAAI,OAAmC,QAAuBA,EAAKq0B,GAAW5R,EAC5G,CACJ,CAUA,OAxCK4R,GAEDr0B,EAAI,MAAwD,eAAgB,qBAEhF,UAAW,SAAQsB,IAAU,SAAU21B,GACnCj3B,EAAI,MAAwDi3B,EAAY31B,EAAQ21B,GACpF,IACAj3B,EAAI4wB,mBAAqB,WAChByD,IACDwC,EAAe72B,GACQ,IAAnBA,EAAI6wB,YACJ0F,GAAeA,GAAY,GAGvC,EACAv2B,EAAIk3B,OAAS,WACL7C,GACAwC,EAAe72B,EAEvB,EAYAA,EAAI+wB,QAAU,SAAUn5B,GACpB24B,EAAcN,EAAYoE,EAAWr0B,EAAI,MAAoC,KAAK,QAAuBA,EAAKq0B,GAAWA,EAAW5vB,IAAY,QAAsBzE,IACtKw2B,GAAcA,EAAW5+B,EAC7B,EACAoI,EAAIgxB,UAAY,WACZT,EAAcN,EAAYoE,EAAWr0B,EAAI,MAAoC,KAAK,QAAuBA,EAAKq0B,GAAWA,EAAW5vB,IAAY,QAAsBzE,IACtKu2B,GAAeA,GAAY,EAC/B,EACAv2B,EAAIixB,KAAK+E,EAAQ,OACVM,CACX,CAMA,SAASX,EAAeK,EAAS/F,EAAY4B,GACzC,IAAIv4C,EAIAg9C,EACAC,EACAC,EALAI,EAAcZ,EAAQ,MACtBmB,EAAQnB,EAAQ,MAChBC,EAAiB5B,EAAW8C,EAAQ,IAAIjB,KAAK,CAACiB,GAAQ,CAAEt6C,KAAM,qBAI9Du6C,EAAiB,IAAIC,QACrBC,EAAcH,EAAM,MACpBI,GAAiB,EACjBC,GAAkB,EAClBl2B,EAAU00B,EAAQ,OAAuC,CAAC,EAE1D5F,GAAQ92C,EAAK,CACTqB,OAAQq5C,GACRtB,KAAMuD,GAEV38C,EAAG7P,KAAwB,EAE3B6P,GAEA08C,EAAQ10B,UAAW,SAAQ00B,EAAQ10B,SAAS,MAAoC,KAChF,UAAW,SAAQA,IAAU,SAAU21B,GACnCG,EAAeK,OAAOR,EAAY31B,EAAQ21B,GAC9C,IACA7G,EAAK,MAAsCgH,GAE3C5C,EACApE,EAAKsH,YAAclD,EAEdS,GAAoBZ,IAEzBjE,EAAKsH,YAAc,WAEnB7F,IACAzB,EAAKuH,WAAY,EACjB3C,GAAqBsC,EACjBjD,EAC+B,IAA3B2B,EAAQ,iBAGRuB,GAAiB,EACbzC,IACA8B,GAAe7C,KAMvBwD,GAAiB,GAGzB,IAAIpgC,EAAU,IAAIk5B,QAAQuG,EAAaxG,GACvC,IAEIj5B,EAAQ1tB,KAAwB,CACpC,CACA,MAAO+J,GAGP,CAOA,IANKq+C,GAAQqC,IACToC,GAAa,UAAc,SAAUG,EAASC,GAC1CH,EAAcE,EACdD,EAAaE,CACjB,MAECE,EAGD,OAFAxB,EAAgBnF,QAChBsG,GAAeA,GAAY,IAG/B,SAASqB,EAAanH,GAGlBF,EAAcN,EAAYoE,EAAW,EAAI,IAAK,CAAC,EAAGA,EAAW5vB,GAAYgsB,EAC7E,CACA,SAAStB,EAAiB1M,EAAUuT,EAAStjD,GACzC,IAAIg+C,EAASjO,EAAS,MAClBoV,EAAiBvD,EAAiBwD,gBAClCD,IAAkB,SAAWA,GAC7BA,EAAepV,EAAUwN,EAAYv9C,GAAS+xB,GAAWuxB,GAGzDzF,EAAcN,EAAYS,EAAQ,CAAC,EAAGh+C,GAAS+xB,GAEvD,CACA,KACI,SAAgB0rB,MAAMkE,EAAWuC,EAAcz/B,EAASk9B,EAAWjE,EAAO,OAAO,SAAU36C,GAKvF,GAJIo8C,IACAmD,GAAqBsC,EACrBA,EAAc,IAEbE,EAED,GADAA,GAAkB,EACb/hD,EAAO66C,SAgCRsH,EAAaniD,EAAOuB,QAAUvB,EAAOuB,OAAO,OAC5Cw/C,GAAcA,EAAW/gD,EAAOuB,YAjCd,CAClB,IAAI+gD,EAAatiD,EAAO,MACxB,IAMS4+C,GAAa0D,EAAWvH,GAMrB6D,IAAa0D,EAAWrF,MACxBvD,EAAiB4I,EAAY,KAAMtzB,IACnC8xB,GAAeA,GAAY,KAG3B,SAAgBwB,EAAWnmC,QAAQ,SAAUomC,GACzC7I,EAAiB4I,EAAY/B,EAASgC,EAAK,OAC3CzB,GAAeA,GAAY,EAC/B,KAZJqB,EAAaG,EAAWE,YACxB1B,GAAeA,GAAY,GAcnC,CACA,MAAO/iD,GACHokD,GAAa,SAAQpkD,IACrBgjD,GAAcA,EAAWhjD,EAC7B,CACJ,CAMR,GACJ,CACA,MAAOA,GACEgkD,IACDI,GAAa,SAAQpkD,IACrBgjD,GAAcA,EAAWhjD,GAEjC,CAkBA,OAjBI+jD,IAAmBC,IAEnBA,GAAkB,EAClBjH,EAAcN,EAAY,IAAK,CAAC,GAChCsG,GAAeA,GAAY,IAE3BlC,IAAamD,GAAmBxB,EAAQ,SAAsC,GAE9EjB,GAAmBA,EAAgB7wC,KAAI,WAC9BszC,IAEDA,GAAkB,EAClBjH,EAAcN,EAAY,IAAK,CAAC,GAChCsG,GAAeA,GAAY,GAEnC,GAAGP,EAAQ,UAERM,CACX,CAWA,SAASV,EAAWI,EAAS/F,EAAY4B,GAErC,IAAInK,GAAU,WACVvnB,EAAM,IAAI9I,eACV3lB,EAAOskD,EAAQ,MACnB71B,EAAI+2B,OAAS,WACT,IAAIzU,GAAW,QAAgBtiB,GAC3B+3B,EAAa5D,GAAoBA,EAAiB6D,cAClDD,IAAc,SAAWA,GACzBA,EAAW/3B,EAAK8vB,EAAY+F,GAG5BzF,EAAcN,EAAY,IAAK,CAAC,EAAGxN,EAE3C,EACAtiB,EAAI4wB,QAAU,WACVR,EAAcN,EAAY,IAAK,CAAC,EAAGoE,EAAW5vB,IAAY,QAAsBtE,GACpF,EACAA,EAAI6wB,UAAY,WACZT,EAAcN,EAAY,IAAK,CAAC,EACpC,EACA9vB,EAAIi4B,WAAa,WAAc,EAG/B,IAAIC,EAAkB3Q,GAAWA,EAAQ/xB,UAAY+xB,EAAQ/xB,SAAS,OAAyC,GAC3G2iC,EAAWtC,EAAQ,MACvB,GAAKsC,EAAL,CAIA,IAAKjE,GAAyD,IAA7CiE,EAASC,YAAYF,EAAiB,GAAU,CAC7D,IAAIlmC,EAAM,kGAGV,OAFA,QAAeiiC,EAAU,EAAkC,GAAiD,KAAOjiC,QACnHgjC,EAAShjC,EAAK89B,EAElB,CACA,IAAItxC,EAAc01C,EAAWiE,EAAWA,EAAS,MAAoC,aAAc,IACnGn4B,EAAIgB,KAAK6yB,GAAiBr1C,GACtBq3C,EAAQ,WACR71B,EAAI,SAAsC61B,EAAQ,UAEtD71B,EAAI8wB,KAAKv/C,GACL2iD,GAAYxC,EACZkD,GAAmBA,EAAgB7wC,KAAI,WACnCic,EAAI8wB,KAAKv/C,EACb,GAAG,GAGHyuB,EAAI8wB,KAAKv/C,EAnBb,MAFI0jD,EAAgBnF,EAuBxB,CACA,SAASjiC,IACLgnC,EAAoB,EACpBb,GAAiB,EACjBD,GAAqB,EACrBE,EAAW,KACXC,EAAW,KACXC,EAAmB,KACnBC,EAAsB,KACtBC,EAAoB,KACpBC,EAAgB,KAChBC,GAAc,EACdC,GAAiB,EACjBC,GAAqB,EACrBC,GAAyB,EACzBC,GAAiB,EACjBC,EAAkB,IACtB,CAleA/mC,IACA1Z,EAAM,MAA4C,SAAUuK,EAAQ0pB,GAChE6rB,EAAW7rB,EACP4rB,IACA,QAAeC,EAAU,EAAmC,GAAmD,iCAEnH9/C,EAAMkkD,UAAU35C,GAChBs1C,GAAiB,CACrB,EACA7/C,EAAM,qBAAuB,WACzB,MAAO,CAAC6/C,EAAgBE,EAAUE,EAAqBL,EAC3D,EAGA5/C,EAAMkkD,UAAY,SAAU35C,GACxB,IAgBI,GAfAy1C,EAAmBz1C,EAAO45C,0BAA4B,CAAC,EACvDlE,IAAwB11C,EAAO65C,mBAC/BlE,EAAoB31C,EAAO85C,iBAC3BtE,IAAax1C,EAAOqjB,QACpBgyB,IAAuBr1C,EAAO+5C,kBAC9BlE,IAAgB71C,EAAOg6C,WACvBlE,IAAmB91C,EAAOi6C,cAC1BlE,IAAuB/1C,EAAOk6C,kBAC9BhE,EAAkBl2C,EAAOm6C,YACzBlE,IAAmBj2C,EAAOo6C,cAC1BpE,IAA2Bh2C,EAAOq6C,sBAClCzE,EAAgB,CAAE0E,SAAUnJ,GACvBqE,IACDY,GAAmB,GAEnBV,EAAqB,CACrB,IAAIhY,GAAa,WACbA,GAAcA,EAAWj+B,UAAoF,UAAxEi+B,EAAWj+B,SAAS,UAEzD22C,GAAmB,EAE3B,CACA,OAAO,CACX,CACA,MAAOzhD,GAEP,CACA,OAAO,CACX,EACAc,EAAM8kD,oBAAsB,WACxB,OAAOpE,CACX,EACA1gD,EAAM+kD,cAAgB,SAAU/D,EAAYzD,GACxC,OAAIyD,GAAcA,EAAW,MAClBD,EAAoBC,EAAYzD,GAEpC,IACX,EACAv9C,EAAMglD,gBAAkB,WACpB,OAAO7E,CACX,EACAngD,EAAM,MAA+C,SAAU4Z,EAAWC,GACtEH,GACJ,CAwaJ,GACJ,CAWA,OAFAimC,EAAkB5kC,QAAQ,EAEnB4kC,CACX,CAngBsC,GCP/B,SAASsF,GAAgB38C,EAAQoX,GACpC,GAAIpX,GAAUA,EAAO,MACjB,OAAOA,EAAO,MAAkCoX,EAExD,CAUO,SAASwlC,GAAYC,EAASzlC,EAAS0lC,GAC1C,IAAIjkD,EAcJ,OAbKikD,IACDjkD,GAAS,UAAc,SAAUkkD,GAC7BD,EAAOC,CACX,KAEAF,IAAW,SAAUA,GAAW,GAChC,SAAgBF,GAAgBE,EAAQ,GAAIzlC,IAAU,WAClDwlC,IAAY,SAASC,EAAS,GAAIzlC,EAAS0lC,EAC/C,IAGAA,IAEGjkD,CACX,CCjCO,SAASmkD,GAAcnX,EAAUla,GACpC,IACI,GAAIka,GAAyB,KAAbA,EAAiB,CAC7B,IAAIhtC,GAAS,WAAUguC,MAAMhB,GAC7B,GAAIhtC,GAAUA,EAAO,OAAoDA,EAAO,OAAoDA,EAAOokD,eACvIpkD,EAAOqkD,cAAgBrkD,EAAOokD,gBAAkBpkD,EAAOqX,OAAO,MAC9D,OAAOrX,CAEf,CACJ,CACA,MAAOjC,IACH,QAAe+0B,EAAS,EAAmC,GAAqD,+BAAiC/0B,EAAE,QAAiC,SAAQA,IAAK,CAC7LivC,SAAUA,GAElB,CACA,OAAO,IACX,C,+DCpBIsX,GAAc,WACdC,GAAc,WACdC,GAAgB,aAChBC,GAAU,OACd,SAASC,GAAYv9C,EAAQ1K,EAAOQ,GAChC,OAAO,QAASkK,EAAQ1K,EAAOQ,EAAO,MAC1C,CAIA,SAAS0nD,GAAwBtoD,EAAQi6B,EAAM3c,GAE3C,IAAIirC,EAAUjrC,EAAI,OAAgCA,EAAI,QAAiC,CAAC,EACpFkrC,EAASvuB,EAAK+L,IAAM/L,EAAK+L,KAAO,CAAC,EACjCyiB,EAAUxuB,EAAK,OAAgCA,EAAK,QAAiC,GACrFyuB,EAAUF,EAAOG,KACjBD,IACAL,GAAYE,EAAS,KAAWhrD,eAAgBmrD,EAAQE,QACxDP,GAAYE,EAAS,KAAWlrD,OAAQqrD,EAAQ1mD,IAAM0mD,EAAQG,UAElE,IAAIC,EAASN,EAAOO,IAChBD,GACAT,GAAYE,EAAS,KAAWxrD,UAAW+rD,EAAOE,OAEtD,IAAIC,EAAYT,EAAOU,OACnBD,IACAZ,GAAYE,EAAS,KAAWrtD,SAAU+tD,EAAUjnD,IAAMinD,EAAUJ,SACpER,GAAYE,EAAS,KAAW,OAA4CU,EAAUE,aACtFd,GAAYE,EAAS,KAAWptD,SAAU8tD,EAAUG,IACpDf,GAAYE,EAAS,KAAWjtD,YAAa2tD,EAAUI,OACvDhB,GAAYE,EAAS,KAAW,OAA4CU,EAAU,SAE1F,IAAIK,EAAMrvB,EAAK+L,IAAIsjB,IACnB,GAAIA,EAAK,CACLjB,GAAYE,EAAS,KAAWntD,eAAgBkuD,EAAIC,aACpDlB,GAAYE,EAAS,KAAWnsD,qBAAsBktD,EAAIE,YAC1DnB,GAAYE,EAAS,KAAWpsD,cAAemtD,EAAIG,SACnD,IAAIC,EAAUpsC,EAAI,OAAgCA,EAAI,QAAiC,CAAC,EACpFqsC,EAAcD,EAAQxB,IAAewB,EAAQxB,KAAgB,CAAC,EAC9D0B,EAAWD,EAAYxB,IAAiBwB,EAAYxB,KAAkB,CAAC,EAC3EE,GAAYuB,EAAU,SAAUN,EAAI77C,QACpC46C,GAAYuB,EAAU,WAAYN,EAAIthD,SAAWogD,GAAU,MAC3DC,GAAYuB,EAAU,YAAaN,EAAIO,WACvCxB,GAAYuB,EAAU,cAAeN,EAAIQ,YAAc1B,GAAU,KACrE,CACA,IAAI2B,EAAQvB,EAAOwB,GACfD,IACA1B,GAAYE,EAAS,KAAW5sD,SAAUouD,EAAM,QAChD1B,GAAYE,EAAS,KAAW3sD,gBAAiBmuD,EAAME,QAG3D,IAAIC,EAAW1B,EAAOn5C,MAClB66C,IACA7B,GAAYE,EAAS,KAAW5rD,kBAAmButD,EAASr6C,UAC5Dw4C,GAAYE,EAAS,KAAW7rD,eAAe,QAAmBsD,EAAQkqD,EAAS,SACnF7B,GAAYE,EAAS,KAAW9rD,YAAaytD,EAAS,SAmB1D,IAFA,IAAIC,EAAM,CAAC,EAEF7pD,EAAImoD,EAAQ,OAAoC,EAAGnoD,GAAK,EAAGA,IAAK,CACrE,IAAI8pD,EAAK3B,EAAQnoD,IACjB,SAAc8pD,GAAI,SAAUnqD,EAAKW,GAC7BupD,EAAIlqD,GAAOW,CACf,IACA6nD,EAAQhiD,OAAOnG,EAAG,EACtB,EAEA,SAAcmoD,GAAS,SAAU2B,EAAIxpD,GACjCupD,EAAIC,GAAMxpD,CACd,IACA,IAAIypD,GAAU,SAAS,QAAS,CAAC,EAAG9B,GAAU4B,GACzCE,EAAQ,KAAWnsD,sBAEpBmsD,EAAQ,KAAWnsD,qBAAsB,QAAmB8B,EAAQ,cAAcoL,OAAOk/C,GAAgBzR,SAAU,KAEvHv7B,EAAI,QAAgC,QAAe+sC,EACvD,CACA,SAASE,GAA6B3qD,EAAM2B,EAAYK,IAC/C,SAAkBhC,KACnB,SAAcA,GAAM,SAAUK,EAAKW,IAC3B,SAASA,GACTgB,EAAa3B,GAAOW,GAEf,SAASA,GACdW,EAAWtB,GAAOW,GAEb,YACLW,EAAWtB,IAAO,WAAU,OAAwCW,GAE5E,GAER,CACA,SAAS4pD,GAA2CjpD,EAAYkpD,IACvD,SAAkBlpD,KACnB,SAAcA,GAAY,SAAUtB,EAAKW,GACrCW,EAAWtB,GAAOW,GAAS6pD,CAC/B,GAER,CAEA,SAASC,GAAgB1qD,EAAQgD,EAAc+iC,EAAenmC,GAC1D,IAAI41C,EAAW,IAAIlzC,GAAA,EAAStC,EAAQJ,EAAMoD,GAC1CqlD,GAAY7S,EAAU,aAAczP,EAAc,QAC7CA,EAAcmiB,KAAgB,CAAC,GAAGyC,YAGnCnV,EAAS5yC,MAAO,QAAYmjC,EAAcmiB,IAAayC,YAE3DnV,EAAS1yC,KAAOijC,EAAcjjC,KAC9B,IAAI8nD,EAAe7kB,EAAcjjC,KAAK8K,QAAQ,KAAM,IAMpD,OALA4nC,EAAS,OAAgCA,EAAS,OAA8B5nC,QAAQ,MAAOg9C,GAE/FtC,GAAwBtoD,EAAQ+lC,EAAeyP,GAE/CzP,EAAc,OAAgCA,EAAc,QAAiC,IACtF,QAAeyP,EAC1B,CACA,SAASqV,GAAoB7qD,EAAQ+lC,IAC7B,SAAkBA,EAAcmiB,OAChC,QAAeloD,EAAQ,EAAmC,GAAuD,yCAEzH,CACO,IAAIsqD,GAAkB,CACzBzR,QAAS,SAEN,SAASiS,GAA0B9qD,EAAQ+lC,EAAe0kB,GAC7DI,GAAoB7qD,EAAQ+lC,GAC5B,IAAIglB,EAAqBhlB,EAAcmiB,IAAa,QAAiD,CAAC,EAClGriB,EAAmBE,EAAcmiB,IAAaC,KAAkB,CAAC,EACrEoC,GAA6BxkB,EAAc,OAA+BF,EAAkBklB,IACvF,SAAkBN,IACnBD,GAA2C3kB,EAAkB4kB,GAEjE,IAAIO,EAAKjlB,EAAcmiB,IACvB,IAAI,SAAkB8C,GAElB,OADA,QAAehrD,EAAQ,qCAChB,KAEX,IAAI6I,EAASmiD,EAAG7C,KAAkB6C,EAAG7C,IAAe,MAAc6C,EAAG7C,IAAe,MAAc,MAC9F8C,EAAgB,IAAI1gD,EAAA,EAAqBvK,EAAQgrD,EAAGhpD,GAAIgpD,EAAGlgD,OAAQkgD,EAAG,OAA+BA,EAAG,MAAsCA,EAAGtgD,QAASsgD,EAAGE,aAAcriD,EAAQmiD,EAAGjgD,KAAMigD,EAAGngD,mBAAoBg7B,EAAkBklB,GACrOnrD,EAAO,IAAIF,GAAA,EAAK6K,EAAA,EAAqB,OAAwC0gD,GACjF,OAAOP,GAAgB1qD,EAAQuK,EAAA,EAAqB,OAAgDw7B,EAAenmC,EACvH,CACO,SAASurD,GAAqBnrD,EAAQ+lC,EAAe0kB,GACxDI,GAAoB7qD,EAAQ+lC,GAC5B,IAAIF,EAAmB,CAAC,EACpBklB,EAAqB,CAAC,EACtBhlB,EAAckiB,MAAiB,IAAM,SACrCpiB,EAAiB,kBAAoBE,EAAckiB,KAEnDliB,EAAckiB,MAAiB,IAAM,QACrCpiB,EAAmBE,EAAcmiB,IAAaC,KAAkB,CAAC,EACjE4C,EAAqBhlB,EAAcmiB,IAAa,QAAiD,CAAC,GAG9FniB,EAAcmiB,KACdqC,GAA6BxkB,EAAcmiB,IAAcriB,EAAkBklB,GAInFR,GAA6BxkB,EAAc,OAA+BF,EAAkBklB,IACvF,SAAkBN,IACnBD,GAA2C3kB,EAAkB4kB,GAEjE,IAAI5kC,EAAYkgB,EAAcmiB,IAAa,OACvCkD,EAAY,IAAI,IAAMprD,EAAQ6lB,EAAWggB,EAAkBklB,GAC3DnrD,EAAO,IAAIF,GAAA,EAAK,IAAM,OAAwC0rD,GAClE,OAAOV,GAAgB1qD,EAAQ,IAAM,OAAgD+lC,EAAenmC,EACxG,CACO,SAASyrD,GAAyBrrD,EAAQ+lC,EAAe0kB,GAC5DI,GAAoB7qD,EAAQ+lC,GAE5B,IAAIglB,EAAqBhlB,EAAcmiB,IAAa,QAAiD,CAAC,EAClGriB,EAAmBE,EAAcmiB,IAAaC,KAAkB,CAAC,EACrEoC,GAA6BxkB,EAAc,OAA+BF,EAAkBklB,IACvF,SAAkBN,IACnBD,GAA2C3kB,EAAkB4kB,GAEjE,IAAIO,EAAKjlB,EAAcmiB,IACnBoD,EAASrkD,EAAA,GAAUQ,oBAAoBzH,EAAQgrD,EAAInlB,EAAkBklB,GACrEnrD,EAAO,IAAIF,GAAA,EAAKuH,EAAA,GAAU,OAAwCqkD,GACtE,OAAOZ,GAAgB1qD,EAAQiH,EAAA,GAAU,OAAgD8+B,EAAenmC,EAC5G,CACO,SAAS2rD,GAAsBvrD,EAAQ+lC,EAAe0kB,GACzDI,GAAoB7qD,EAAQ+lC,GAC5B,IAAIjmC,EAAWimC,EAAcmiB,IACzBsD,EAAQ1rD,EAASqoD,KAAkB,CAAC,EACpCvmD,EAAe9B,EAAS,QAAiD,CAAC,EAC9EyqD,GAA6BxkB,EAAc,OAA+BylB,EAAO5pD,IAC5E,SAAkB6oD,IACnBD,GAA2CgB,EAAOf,GAEtD,IAAIgB,EAAiB,IAAIhiD,EAAA,EAAOzJ,EAAQF,EAAS,OAA+BA,EAASs1C,QAASt1C,EAASu1C,YAAav1C,EAAS1G,IAAK0G,EAASyJ,IAAKzJ,EAAS0J,OAAQgiD,EAAO5pD,GACxKhC,EAAO,IAAIF,GAAA,EAAK+J,EAAA,EAAO,OAAwCgiD,GACnE,OAAOf,GAAgB1qD,EAAQyJ,EAAA,EAAO,OAAgDs8B,EAAenmC,EACzG,CACO,SAAS8rD,GAAwB1rD,EAAQ+lC,EAAe0kB,GAG3D,IAAI3gD,EAFJ+gD,GAAoB7qD,EAAQ+lC,GAG5B,IAAIjmC,EAAWimC,EAAcmiB,KACxB,SAAkBpoD,KAClB,SAAkBA,EAASqoD,OAC3B,SAAkBroD,EAASqoD,IAAe,QAIrC,SAAkBpiB,EAAc,UACrC,SAAkBA,EAAc,OAA8B,SAC/Dj8B,EAAWi8B,EAAc,OAA8B,aAChDA,EAAc,OAA8B,QANnDj8B,EAAWhK,EAASqoD,IAAe,aAC5BroD,EAASqoD,IAAe,OAOnC,IAEIwD,EAFAX,EAAKjlB,EAAcmiB,MAGjBniB,EAAcC,KAAO,CAAC,GAAG32B,OAAS,CAAC,GAAG,SACxCs8C,EAAmB5lB,EAAcC,IAAI32B,MAAM,QAE/C,IAAIrN,EAAKgpD,EAAGhpD,IAAM2pD,EACd3xD,EAAOgxD,EAAG,OACVvxD,EAAMuxD,EAAGpc,IACTrtC,EAAaypD,EAAG7C,KAAkB,CAAC,EACnCvmD,EAAeopD,EAAG,QAAiD,CAAC,EAcxE,IAZK,SAAkBA,EAAGjU,UACtBx1C,EAAW,UAAYypD,EAAGjU,SAGzB,SAAkBiU,EAAGY,YACtBrqD,EAAW,YAAcypD,EAAGY,WAG3B,SAAkBZ,EAAGa,cACtBtqD,EAAW,cAAgBypD,EAAGa,WAAW,YAGxC,SAAkBb,EAAG7C,KAAiB,CACvC,IAAI2D,EAAWd,EAAG7C,KAClB,SAAc2D,GAAU,SAAU7rD,EAAKW,GACnCW,EAAWtB,GAAOW,CACtB,GACJ,CACA2pD,GAA6BxkB,EAAc,OAA+BxkC,EAAYK,IACjF,SAAkB6oD,IACnBD,GAA2CjpD,EAAYkpD,GAE3D,IAAIsB,EAAe,IAAIniD,EAAA,EAAS5J,EAAQhG,EAAMP,EAAKqQ,EAAUvI,EAAYK,EAAcI,GACnFpC,EAAO,IAAIF,GAAA,EAAKkK,EAAA,EAAS,OAAwCmiD,GACrE,OAAOrB,GAAgB1qD,EAAQ4J,EAAA,EAAS,OAAgDm8B,EAAenmC,EAC3G,CACO,SAASosD,GAAmChsD,EAAQ+lC,EAAe0kB,GACtEI,GAAoB7qD,EAAQ+lC,GAC5B,IAAIilB,EAAKjlB,EAAcmiB,IACnBluD,EAAOgxD,EAAG,OACVvxD,EAAMuxD,EAAGpc,KAAOoc,EAAGvxD,IACnB8H,EAAaypD,EAAG7C,KAAkB,CAAC,EACnCvmD,EAAeopD,EAAG,QAAiD,CAAC,EACxET,GAA6BxkB,EAAc,OAA+BxkC,EAAYK,IACjF,SAAkB6oD,IACnBD,GAA2CjpD,EAAYkpD,GAE3D,IAAI3qD,EAAW,IAAIiK,EAAA,EAAoB/J,EAAQhG,EAAMP,OAAK+G,EAAWe,EAAYK,EAAcopD,GAC3FprD,EAAO,IAAIF,GAAA,EAAKqK,EAAA,EAAoB,OAAwCjK,GAChF,OAAO4qD,GAAgB1qD,EAAQ+J,EAAA,EAAoB,OAAgDg8B,EAAenmC,EACtH,CACO,SAASqsD,GAAqBjsD,EAAQ+lC,EAAe0kB,GACxDI,GAAoB7qD,EAAQ+lC,GAC5B,IAAIvsC,EAAUusC,EAAcmiB,IAAa1uD,QACrC0N,EAAgB6+B,EAAcmiB,IAAahhD,cAC3CskD,EAAQzlB,EAAcmiB,IAAaC,KAAkB,CAAC,EACtDvmD,EAAemkC,EAAcmiB,IAAa,QAAiD,CAAC,EAChGqC,GAA6BxkB,EAAc,OAA+BylB,EAAO5pD,IAC5E,SAAkB6oD,IACnBD,GAA2CgB,EAAOf,GAEtD,IAAI3qD,EAAW,IAAIuL,EAAA,EAAMrL,EAAQxG,EAAS0N,EAAeskD,EAAO5pD,GAC5DhC,EAAO,IAAIF,GAAA,EAAK2L,EAAA,EAAM,OAAwCvL,GAClE,OAAO4qD,GAAgB1qD,EAAQqL,EAAA,EAAM,OAAgD06B,EAAenmC,EACxG,CCtSA,ICLI,GAAI,GDKJssD,GAAgC,WAChC,SAASA,EAAelsD,EAAQ+M,GAC5B,IAAIo/C,EAAU,GACVC,GAAyB,EACzBC,EAAet/C,EAAOu/C,YAC1B1xD,KAAK,OAAgC,WACjC,OAAOuxD,CACX,EACAvxD,KAAK2xD,KAAO,SAAUC,GAElB,OADAL,EAAUK,EACHL,CACX,GACA,OAAaD,EAAgBtxD,MAAM,SAAU4H,GACzCA,EAAM,OAAsC,SAAU0hD,GAC9C1hD,EAAM,UAAqCuK,EAAO,OAE7Cq/C,KACD,QAAepsD,EAAQ,EAAkC,IAAyD,0CAA4CwC,EAAM,UAAmC,GACvM4pD,GAAyB,IAIjClI,EAAQuI,IAAMvI,EAAQuI,KAAO,IAExB,SAAkBJ,IACfnI,EAAQuI,IAAMJ,GAKtBF,EAAQ,OAA8BjI,GAE1C,EACA1hD,EAAM,OAAkC,WACpC,OAAO2pD,EAAQ,MACnB,EACA3pD,EAAM2D,KAAO,WAET,IADA,IAAIA,EAAOgmD,EAAQ,OACVrnD,EAAK,EAAGA,EAAKqnD,EAAQ,OAAmCrnD,IAC7DqB,GAASgmD,EAAQrnD,GAAQ,KAAE,OAK/B,OAHKiI,EAAO,SACR5G,GAAQ,GAELA,CACX,EACA3D,EAAM,OAAkC,WACpC2pD,EAAU,GACVC,GAAyB,CAC7B,EACA5pD,EAAMkqD,SAAW,WACb,OAAOP,EAAQ7d,MAAM,EACzB,EACA9rC,EAAMmqD,cAAgB,SAAUC,GAC5B,GAAIA,GAAYA,EAAS,OAAoC,EAAG,CAC5D,IAAIC,EAAe,IACnB,SAAWD,GAAU,SAAU1I,GAC3B2I,EAAa,OAA8B3I,EAAQ,OACvD,IACA,IAAImB,EAAQt4C,EAAO,OACf8/C,EAAajlC,KAAK,MAClB,IAAMilC,EAAajlC,KAAK,KAAO,IACnC,OAAOy9B,CACX,CACA,OAAO,IACX,EACA7iD,EAAM,OAA2C,SAAUsqD,EAAWl1B,EAAWm1B,GAC7E,IAAItoD,EAAQ0nD,EAAQ7d,MAAM,GAC1Bwe,EAAYA,GAAa9sD,EACzB43B,EAAYA,GAAa,CAAC,EAC1B,IAAIo1B,EAAcD,EAAuB,IAAIE,GAAyBH,EAAWl1B,GAAa,IAAIs1B,GAAgBJ,EAAWl1B,GAI7H,OAHA,SAAWnzB,GAAO,SAAUy/C,GACxB8I,EAAU,OAAoC9I,EAClD,IACO8I,CACX,CACJ,GACJ,CAYA,OAFAd,EAAe3uC,QAAQ,EAEhB2uC,CACX,CA1FmC,GA8F/BgB,GAAiC,SAAUxyD,GAE3C,SAASwyD,EAAgBltD,EAAQ+M,GAC7B,IAAIxK,EAAQ7H,EAAOC,KAAKC,KAAMoF,EAAQ+M,IAAWnS,KASjD,OARA,OAAasyD,EAAiB3qD,GAAO,SAAUC,EAAOqyC,GAClDryC,EAAM,OAA8C,SAAU0hD,GAC1DrP,EAAM,QACV,EACAryC,EAAM,OAA2C,SAAU0hD,GAE3D,CACJ,IACO3hD,CACX,CAOA,OAnBA,QAAU2qD,EAAiBxyD,GAiB3BwyD,EAAgB3vC,QAAQ,EAEjB2vC,CACX,CArBoC,CAqBlChB,IAEEiB,GAAgB,CAAC,YAAa,iBAI9BF,GAA0C,SAAUvyD,GAEpD,SAASuyD,EAAyBjtD,EAAQ+M,GACtC,IAAIxK,EAAQ7H,EAAOC,KAAKC,KAAMoF,EAAQ+M,IAAWnS,KAC7CwxD,GAAyB,EAEzBgB,EAAyB,OAAXrgD,QAA8B,IAAXA,OAAoB,EAASA,EAAO+lC,WAErEhrC,EAAKiF,EAAO,QAAsD,CAAE23B,QAASW,EAAsBb,QAASc,GAAwBZ,EAAU58B,EAAG48B,QAASF,EAAU18B,EAAG08B,QACvK6nB,EAAet/C,EAAOu/C,YA0K1B,OAzKA,OAAaW,EAA0B1qD,GAAO,SAAUC,EAAOqyC,GAC3D,IAAIwY,EAAcC,EAAWL,EAAyB,QAClDM,EAAoBD,EAAWL,EAAyB,QACxDO,EAAgBC,IAChBC,EAAoBH,EAAkB,OAAkCC,GACxEhB,EAAShqD,EAAM+pD,KAAKc,EAAY,OAAkCK,IAsEtE,SAASC,EAA0Bf,EAAUJ,GACzC,IAAIoB,EAAY,GACZC,EAAa,GASjB,OARA,SAAWjB,GAAU,SAAU1I,GAC3B2J,EAAW,OAA8B3J,EAAQ,OACrD,KACA,SAAWsI,GAAQ,SAAU5rD,IACpB,SAAWA,KAA2E,KAAjE,SAAWitD,EAAYjtD,EAAM,SACnDgtD,EAAU,OAA8BhtD,EAEhD,IACOgtD,CACX,CACA,SAASN,EAAWrtD,GAChB,IAAI6tD,EAAc7tD,EAElB,OADA6tD,EAAcV,EAAcA,EAAc,IAAMU,EAAcA,EACvDC,EAAeD,EAC1B,CACA,SAASC,EAAe9tD,GACpB,IACI,IAAI+tD,EAAatpB,EAAQ1kC,EAAQC,GACjC,GAAI+tD,EAAY,CACZ,IAAIC,GAAW,WAAUtc,MAAMqc,GAK/B,IAJI,SAASC,KAETA,GAAW,WAAUtc,MAAMsc,IAE3BA,IAAY,SAAQA,GACpB,OAAOA,CAEf,CACJ,CACA,MAAOvsD,IACH,QAAe1B,EAAQ,EAAmC,GAA2D,iBAAmBC,EAAM,MAAO,QAAiByB,GAAI,CAAEN,WAAW,SAAQM,IACnM,CACA,MAAO,EACX,CACA,SAASwsD,EAAWjuD,EAAKusD,GACrB,IAAIsB,EAAc7tD,EAClB,IACI6tD,EAAcV,EAAcA,EAAc,IAAMU,EAAcA,EAC9D,IAAIE,EAAapqD,KAAK,OAAwC4oD,GAC9DhoB,EAAQxkC,EAAQ8tD,EAAaE,EACjC,CACA,MAAOtsD,GAGH8iC,EAAQxkC,EAAQ8tD,EAAalqD,KAAK,OAAwC,MAC1E,QAAe5D,EAAQ,EAAkC,GAAuD,iBAAmB8tD,EAAc,MAAO,QAAiBpsD,GAAK,mBAAoB,CAAEN,WAAW,SAAQM,IAC3N,CACJ,CAEA,SAAS+rD,IACL,IAAIhpD,EAAQ,GACZ,IAWI,OAVA,SAAW0oD,IAAe,SAAUltD,GAChC,IAAIooB,EAAS8lC,EAAyBluD,GAGtC,GAFAwE,EAAQA,EAAM,OAAkC4jB,GAE5C+kC,EAAa,CACb,IAAIU,EAAcV,EAAc,IAAMntD,EAClCmuD,EAAeD,EAAyBL,GAC5CrpD,EAAQA,EAAM,OAAkC2pD,EACpD,CACJ,IACO3pD,CACX,CACA,MAAO/C,IACH,QAAe1B,EAAQ,EAAkC,GAAuD,2CAA4C,QAAiB0B,GAAK,6CAA8C,CAAEN,WAAW,SAAQM,IACzP,CACA,MAAO,EACX,CAEA,SAASysD,EAAyBluD,GAC9B,IACI,IAAIwE,EAAQspD,EAAe9tD,GACvBouD,EAAqB,GAUzB,OATA,SAAW5pD,GAAO,SAAUw1B,GACxB,IAAIq0B,EAAe,CACfr0B,KAAMA,EACNwyB,IAAK,GAET4B,EAAmB,OAA8BC,EACrD,IAEA/oB,EAAwBvlC,EAAQC,GACzBouD,CACX,CACA,MAAO3sD,GAEP,CACA,MAAO,EACX,CAhKI8qD,EAAO,OAAoCS,EAAyB,SACpET,EAAO,OAAoCS,EAAyB,QAExEiB,EAAWjB,EAAyB,OAAwD,IAC5FiB,EAAWjB,EAAyB,OAA6CT,GACjFhqD,EAAM,OAAsC,SAAU0hD,GAC9C1hD,EAAM,UAAqCyqD,EAAyB,OAE/Db,KACD,QAAepsD,EAAQ,EAAkC,GAAuD,gCAAkCwC,EAAM,UAAmC,GAC3L4pD,GAAyB,IAIjClI,EAAQuI,IAAMvI,EAAQuI,KAAO,IAExB,SAAkBJ,IACfnI,EAAQuI,IAAMJ,IAKtBxX,EAAM,OAAoCqP,GAC1CgK,EAAWjB,EAAyBsB,WAAY/rD,EAAM,WAC1D,EACAA,EAAM,OAAkC,WACpCqyC,EAAM,SACNqZ,EAAWjB,EAAyBsB,WAAY/rD,EAAM,UACtD0rD,EAAWjB,EAAyB,OAAwD,IAC5Fb,GAAyB,CAC7B,EACA5pD,EAAM,OAA8C,SAAU0hD,GAC1DgK,EAAWjB,EAAyB,OAA6CzqD,EAAM+pD,KAAKoB,EAA0BzJ,EAAS1hD,EAAM,YACrI,IAAIgsD,EAAelB,EAAWL,EAAyB,QACnDuB,aAAwBtmD,OAASg8C,aAAmBh8C,QACpDsmD,EAAeA,EAAa,OAAkCtK,GAC1DsK,EAAa,OAAoCvB,EAAyB,UAG1E,QAAejtD,EAAQ,EAAmC,GAAuD,yCAA2CwuD,EAAa,QAAmC,GAC5MA,EAAa,OAAoCvB,EAAyB,QAE9EiB,EAAWjB,EAAyB,OAAwDuB,GAEpG,EACAhsD,EAAM,OAA2C,SAAU0hD,GACvD,IAAIsK,EAAelB,EAAWL,EAAyB,QACvDuB,EAAeb,EAA0BzJ,EAASsK,GAClDN,EAAWjB,EAAyB,OAAwDuB,EAChG,EACAhsD,EAAM,OAA2C,SAAUsqD,EAAWl1B,EAAWm1B,GAC7EA,IAAyBA,EACzB,IAAI0B,EAAcjsD,EAAM,SAAgC8rC,MAAM,GAC1DogB,EAAYpB,EAAWL,EAAyB,QAAwD3e,MAAM,GAClHwe,EAAYA,GAAa9sD,EACzB43B,EAAYA,GAAa,CAAC,EAE1Bp1B,EAAM,SACN,IAAIwqD,EAAYD,EAAuB,IAAIE,EAAyBH,EAAWl1B,GAAa,IAAIs1B,GAAgBJ,EAAWl1B,GAQ3H,OAPA,SAAW62B,GAAa,SAAUvK,GAC9B8I,EAAU,OAAoC9I,EAClD,IACI6I,GAEAC,EAAU,OAA4C0B,GAEnD1B,CACX,CA8FJ,IACOzqD,CACX,CAMA,IAAIiF,EAOJ,OAhMA,QAAUylD,EAA0BvyD,GA0LpC8M,EAAKylD,EACLA,EAAyB0B,QAAU,KACnC1B,EAAyBsB,WAAa,YAAc/mD,EAAGmnD,QACvD1B,EAAyB2B,gBAAkB,gBAAkBpnD,EAAGmnD,QAEhE1B,EAAyB4B,gBAAkB,IACpC5B,CACX,CAlM6C,CAkM3Cf,IE7TE4C,GAA4B,WAC5B,SAASA,EAAW9uD,IAChB,OAAa8uD,EAAYl0D,MAAM,SAAU4H,GAcrC,SAASusD,EAAiB50C,EAAQngB,GAC9B,IAAIg1D,EAAyB,uBACzBC,EAAS,CAAC,EACd,IAAK90C,EAED,OADA,QAAena,EAAQ,EAAmC,GAAoD,0DAA2D,CAAEhG,KAAMA,IAAQ,GAClLi1D,EAEX,GAAI90C,EAAO60C,GAEP,OADA,QAAehvD,EAAQ,EAAkC,GAAwD,uDAAwD,CAAEhG,KAAMA,IAAQ,GAClLi1D,EAEX,IAAK90C,EAAOta,eAAgB,CAExB,GAAa,iBAAT7F,EACAi1D,EAASC,EAAoB/0C,EAAQ,SAAUngB,QAE9C,GAAa,eAATA,EACLi1D,EAASC,EAAoB/0C,EAAQ,SAAUngB,QAE9C,GAAa,SAATA,EACLi1D,EAASC,EAAoB/0C,EAAQ,SAAUngB,QAE9C,IAAI,SAAQmgB,GACb80C,EAASE,EAAgBh1C,EAAQngB,OAEhC,EACD,QAAegG,EAAQ,EAAkC,GAAmE,2EAA4E,CAAEhG,KAAMA,IAAQ,GACxN,KAEI,WAAU,OAAwCmgB,GAClD80C,EAAS90C,CACb,CACA,MAAOzY,IAEH,QAAe1B,EAAQ,EAAmC,GAAqD0B,IAAK,SAAWA,EAAE,QAA2CA,EAAE,SAA2C,2BAA4B,MAAM,EAC/P,CACJ,CACA,OAAOutD,CACX,CAmCA,OAlCA90C,EAAO60C,IAA0B,GACjC,SAAc70C,EAAOta,gBAAgB,SAAUO,EAAOgvD,GAClD,IAAIC,GAAc,SAAWD,GAA2B,EAAbA,IAAuD,EAAXA,EACnFE,GAAY,SAAWF,GAA2B,EAAbA,IAAqD,EAAXA,EAC/EG,EAAqB,EAAXH,EACVI,OAA8BhvD,IAAlB2Z,EAAO/Z,GACnBqvD,GAAQ,SAASt1C,EAAO/Z,KAA6B,OAAlB+Z,EAAO/Z,GAC9C,IAAIivD,GAAeG,GAAcD,GAI5B,IAAKD,EAAU,CAChB,IAAI1uD,OAAQ,EAIJA,EAHJ6uD,EACIF,EAEQJ,EAAgBh1C,EAAO/Z,GAAQA,GAI/B2uD,EAAiB50C,EAAO/Z,GAAQA,GAKpC+Z,EAAO/Z,QAGLI,IAAVI,IACAquD,EAAO7uD,GAASQ,EAExB,OAvBI,QAAeZ,EAAQ,EAAmC,GAAgE,wFAAyF,CAAEI,MAAOA,EAAOpG,KAAMA,GAwBjP,WACOmgB,EAAO60C,GACPC,CACX,CACA,SAASE,EAAgBO,EAAS11D,GAC9B,IAAIi1D,EACJ,GAAMS,EACF,IAAK,SAAQA,GAGR,CACDT,EAAS,GACT,IAAK,IAAI3uD,EAAI,EAAGA,EAAIovD,EAAQ,OAAmCpvD,IAAK,CAChE,IAAI6Z,EAASu1C,EAAQpvD,GACjB25B,EAAO80B,EAAiB50C,EAAQngB,EAAO,IAAMsG,EAAI,KACrD2uD,EAAO,OAA8Bh1B,EACzC,CACJ,MATI,QAAej6B,EAAQ,EAAmC,GAA6C,yFAA0F,CAAEhG,KAAMA,IAAQ,GAWzN,OAAOi1D,CACX,CACA,SAASC,EAAoBhvD,EAAKyvD,EAAc31D,GAC5C,IAAIi1D,EAoCJ,OAnCI/uD,IACA+uD,EAAS,CAAC,GACV,SAAc/uD,GAAK,SAAUE,EAAOQ,GAChC,GAAqB,WAAjB+uD,OACcnvD,IAAVI,EACAquD,EAAO7uD,GAAS,YAED,OAAVQ,EACLquD,EAAO7uD,GAAS,OAEVQ,EAAM,OAIZquD,EAAO7uD,GAASQ,EAAM,SAHtBquD,EAAO7uD,GAAS,iDAMnB,GAAqB,WAAjBuvD,EACL,QAAcnvD,IAAVI,EACAquD,EAAO7uD,GAAS,iBAEf,GAAc,OAAVQ,EACLquD,EAAO7uD,GAAS,WAEf,CACD,IAAIgC,EAAMwtD,WAAWhvD,GACrBquD,EAAO7uD,GAASgC,CACpB,MAGA6sD,EAAO7uD,GAAS,kBAAoBpG,EAAO,wBAC3C,QAAegG,EAAQ,EAAmCivD,EAAO7uD,GAAQ,MAAM,EAEvF,KAEG6uD,CACX,CA5IAzsD,EAAM,OAA0C,SAAUP,GACtD,IAAIgtD,EAASF,EAAiB9sD,EAAO,QACrC,IACI,OAAO,WAAU,OAAwCgtD,EAC7D,CACA,MAAOvtD,IAEH,QAAe1B,EAAQ,EAAmC,GAAqD0B,IAAK,SAAWA,EAAE,QAA2CA,EAAE,SAA2C,2BAA4B,MAAM,EAC/P,CACJ,CAoIJ,GACJ,CAMA,OAFAotD,EAAWvxC,QAAQ,EAEZuxC,CACX,CA3J+B,G,YCC3Be,GAAmB,EACnBC,GAAwC,WACxC,SAASA,IACT,CAwBA,OAvBAA,EAAuBloD,UAAUmoD,iBAAmB,SAAU9vD,GAC1D,IAAI+vD,EAAQp1D,KAAKq1D,YAAYhwD,GAAO6vD,EAAuBI,cAC3D,OAAe,IAARF,CACX,EACAF,EAAuBloD,UAAUqoD,YAAc,SAAUhuD,GACrD,GAAc,KAAVA,EACA,OAAO,EAEX,MAAOA,EAAM,OAAoC4tD,GAC7C5tD,EAAQA,EAAM,OAAkCA,GAIpD,IADA,IAAI60C,EAAO,KACFx2C,EAAI,EAAGA,EAAI2B,EAAM,SAAqC3B,EAC3Dw2C,GAASA,GAAQ,GAAKA,EAAQ70C,EAAMkuD,WAAW7vD,GAG/Cw2C,GAAOA,EAEX,OAAO/9C,KAAKq3D,IAAItZ,EACpB,EAEAgZ,EAAuBI,cAAgB,WAChCJ,CACX,CA3B2C,GCAvCO,GAAwC,WACxC,SAASA,IACL,IAAI7tD,EAAQ5H,KACR01D,EAAoB,IAAIR,GACxBS,EAAO,IAAI91D,GAAA,EACf+H,EAAM,OAA0D,SAAUy3B,GACtE,IAAI+1B,EAAQ,EAiBZ,OAfIA,EADA/1B,EAAK,QAAiCA,EAAK,OAA8Bs2B,EAAKlzD,QACtEizD,EAAkBP,iBAAiB91B,EAAK,OAA8Bs2B,EAAKlzD,SAE9E48B,EAAK+L,KAAO/L,EAAK+L,IAAI2iB,MAAQ1uB,EAAK+L,IAAI2iB,KAAK3mD,GACxCsuD,EAAkB,OAAyDr2B,EAAK+L,IAAI2iB,KAAK3mD,IAE5Fi4B,EAAK,QAAiCA,EAAK,OAA8Bs2B,EAAK9zD,aAC3E6zD,EAAkBP,iBAAiB91B,EAAK,OAA8Bs2B,EAAK9zD,cAE9Ew9B,EAAK+L,KAAO/L,EAAK+L,IAAI72B,gBAAkB8qB,EAAK+L,IAAI72B,eAAe,OAC5DmhD,EAAkBP,iBAAiB91B,EAAK+L,IAAI72B,eAAe,QAI1C,IAAhBpW,KAAKiiC,SAEXg1B,CACX,CACJ,CACA,OAAOK,CACX,CA3B2C,GCCvCG,GAAwB,WACxB,SAASA,EAAO9tD,EAAY1C,GAExBpF,KAAKs1D,cAAgB,WACrB,IAAIriB,EAAU7tC,IAAU,QAAc,OAClC0C,EAAa,KAAOA,EAAa,KACjCmrC,EAAQoJ,cAAc,EAAkC,GAAmD,8IAA+I,CAAEwZ,aAAc/tD,IAAc,GACxRA,EAAa,KAEjB9H,KAAK,OAA6C8H,EAClD9H,KAAK81D,uBAAyB,IAAIL,EACtC,CAiBA,OAbAG,EAAO5oD,UAAU+oD,YAAc,SAAUnb,GACrC,IAAI5C,EAAqBh4C,KAAK,OAC1B+1D,GAAc,EAClB,OAA2B,OAAvB/d,QAAsDpyC,IAAvBoyC,GAAoCA,GAAsB,MAGpF4C,EAAS71C,WAAa8J,EAAA,EAAO,SAItCknD,EAAc/1D,KAAK81D,uBAAuB,OAAwDlb,GAAY5C,EACvG+d,GACX,EACOH,CACX,CA7B2B,GJKvB99B,QAAkBlyB,EAClBowD,GAAY,GACZC,GAAiC,KACrC,SAASC,GAAiB5iC,GACtB,IACI,OAAOA,EAAIC,YACf,CACA,MAAOzsB,GAEP,CACA,OAAO,IACX,CACA,SAASqvD,GAAaC,GAClB,OAAOA,GAAmBA,EAAgB3J,QAC9C,CACA,IAAI4J,IAAkC,UAAe,GAAK,CAElDpkD,YAAa25B,EAAc,MAAU,KAA0B,OAEnE,GAAG,OAA+DG,IAClE,GAAG,OAAuD,KAC1D,GAAG,OAA6D,OAChE,GAAGuqB,iBAAmBvqB,IACtB,GAAG,OAAoEA,GAAa,GACpF,GAAGwqB,gBAAkBxqB,IACrB,GAAG,OAA6DA,GAAa,GAC7E,GAAG,OAAgEA,GAAa,GAChF,GAAG,OAA0CA,IAC7C,GAAG,OAA8DA,IACjE,GAAG,OAA+DA,IAClE,GAAG,OAA0DjU,GAC7D,GAAGogB,WAAapgB,GAChB,GAAGkgB,mBAAqBpM,EAAc,GAAc,KACpD,GAAG,OAAgD9T,GACnD,GAAG,OAAsDA,GACzD,GAAG,OAAwD,IAC3D,GAAG,QAAkD,EACrD,GAAGs+B,gBAAkB,CAAE9+C,MAAO6+C,GAAc/9C,EAAG0f,IAC/C,GAAG,OAA8DiU,IACjE,GAAG6c,WAAa9wB,GAChB,GAAG0+B,WAAa1+B,GAChB,GAAG45B,YAAc,CAAEp6C,MAAO,MAAUc,EAAG,IACvC,KACJ,SAAS,GAAapS,GAClB,OAAQ9H,MAAM8H,IAAUA,EAAQ,GAAKA,GAAS,GAClD,CACA,IAAIywD,IAAuB,GAAK,CAAC,EAC7B,GAAG,IAAMpuD,UAAYkoD,GACrB,GAAG9/C,EAAA,EAAMpI,UAAYgpD,GACrB,GAAGriD,EAAA,EAAS3G,UAAYyoD,GACxB,GAAG3hD,EAAA,EAAoB9G,UAAY+oD,GACnC,GAAG/kD,EAAA,GAAUhE,UAAYooD,GACzB,GAAG5hD,EAAA,EAAOxG,UAAYsoD,GACtB,GAAGhhD,EAAA,EAAqBtH,UAAY6nD,GACpC,IACAwG,GAAwB,SAAU52D,GAElC,SAAS42D,IACL,IAIIC,EACAC,EAEArU,EACAX,EACAiV,EACAC,EACAC,EAXApvD,EAAQ7H,EAAOC,KAAKC,OAASA,KACjC2H,EAAMiyC,SAAW,KACjBjyC,EAAMqe,WAAa6kB,EAUnB,IACImsB,EACAC,EACAjd,EACAkd,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAvF,EACAhL,EACAwQ,EACAhQ,EACAiQ,EACAC,EACAC,EACAC,EACAC,EACAC,EA3BAhQ,EAAoB,EAu+BxB,OA38BA,OAAaoO,EAAQ/uD,GAAO,SAAUC,EAAOqyC,GA6WzC,SAASse,EAAW9kC,EAAK61B,GACrB,IAAI/1B,EAAe2iC,GAAiBziC,GACpC,IAAIA,GAAQF,EAAe,KAAO,OAA0B,KAAjBA,EAItC,CACD,IAAItnB,EAAUihD,GAAc35B,GACxBtnB,GAAWA,EAAQ,QAAoDA,EAAQ,OAAmDA,EAAQ,SACtI2rD,EACJhwD,EAAM,OAA0D0hD,EAASr9C,GAGzErE,EAAM,OAAuC0hD,GAAS,QAAsB71B,GAEpF,MAZIkjC,EAAqB,EACrB/uD,EAAM,OAA2C0hD,EAAS,EAYlE,CACA,SAASkP,IACL,IAAI5rD,EACJ,IACI,IAAI6rD,EAAkB,CAClBhN,cAAe,SAAUh4B,EAAK8vB,EAAY+F,GACtC,IAAItkD,EAAO0zD,EAAepP,GAC1B,GAAKtkD,EAGL,OAAOuzD,EAAW9kC,EAAKzuB,EAC3B,EACAomD,gBAAiB,SAAUrV,EAAUxZ,EAAYo8B,EAAUrP,GACvD,IAAItkD,EAAO0zD,EAAepP,GAC1B,GAAKtkD,EAGL,OAAO4zD,GAAoB7iB,EAASiO,OAAQh/C,EAAM+wC,EAASl3C,IAAKmG,EAAK,OAAmC+wC,EAASwV,WAAYoN,GAAY,GAC7I,EACAtO,cAAe,SAAU5/B,EAAS84B,EAAY+F,GAC1C,IAAItkD,EAAO0zD,EAAepP,GAC1B,GAAKtkD,EAGL,OAAO6zD,EAAqBpuC,EAASzlB,EAAMA,EAAK,OACpD,EACA2kD,cAAe,SAAU3kD,EAAMu3B,EAAYu8B,GACvC,OAAOC,GAAe/zD,EAAMu3B,EAAYu8B,EAC5C,GAEA3mD,GAAUvF,EAAK,CAAC,EAChBA,EAAG,OAAyD46C,EAC5D56C,EAAG4oB,SAAU,EACb5oB,EAAGo/C,oBAAqB,EACxBp/C,EAAG,OAA0Co7C,EAC7Cp7C,EAAGw/C,eAAiBmL,EACpB3qD,EAAGy/C,mBAAqBiL,EACxB1qD,EAAGm/C,yBAA2B0M,EAC9B7rD,GACJ,OAAOuF,CACX,CACA,MAAOrL,GAEP,CACA,OAAO,IACX,CAIA,SAAS+xD,EAAqBvlC,EAAKg2B,EAAS0P,GACjB,IAAnB1lC,EAAI6wB,YACJyU,GAAoBtlC,EAAI0wB,OAAQsF,EAASh2B,EAAI2lC,YAAaD,GAAuB,QAAsB1lC,GAAM4iC,GAAiB5iC,IAAQA,EAAIyiB,SAElJ,CAIA,SAAS0S,EAASa,EAAS1qD,EAASssB,IAChC,QAAetjB,EAAM,SAAwC,EAAkC,GAAsC,4BAA6B,CAAEhJ,QAASA,IAC7KgJ,EAAM2pD,SAAW3pD,EAAM2pD,QAAQ,OAAyCjI,EAC5E,CAIA,SAAS4P,EAAkB5P,EAASr9C,GAKhC,IAJA,IAAIktD,EAAS,GACTC,EAAQ,GAERh5C,EAASnU,EAAQmU,OAAOi5C,UACnB19C,EAAK,EAAG29C,EAAWl5C,EAAQzE,EAAK29C,EAASz9C,OAAQF,IAAM,CAC5D,IAAI3c,EAAQs6D,EAAS39C,GACjB49C,EAAYjQ,EAAQz9C,OAAO7M,EAAM4nD,MAAO,GAAG,GAC3C4S,GAAax6D,EAAMy6D,YACnBL,EAAM,OAA8BG,GAIpCJ,EAAO,OAA8BI,EAE7C,CACIjQ,EAAQ,OAAoC,GAC5C1hD,EAAM,OAA2C0hD,EAASr9C,EAAQ,QAElEktD,EAAO,OAAoC,GAC3CvxD,EAAM,OAAuCuxD,GAAQ,QAAsB,KAAM,CAAC,kBAAmBltD,EAAQ,OAAkD,KAAMA,EAAQmhD,eAAepgC,KAAK,OAEjMosC,EAAM,OAAoC,IAC1CM,GAAeN,IACf,QAAexxD,EAAM,SAAwC,EAAkC,GAAiD,+BAC5H0hD,EAAQ,OAAoC,aAAe6P,EAAO,OAClF,wBAA0BC,EAAM,OAAoC,WAAantD,EAAQ,OAAmD,UAExJ,CAIA,SAASu8C,EAAWc,EAAS0P,GACzBpxD,EAAM2pD,SAAW3pD,EAAM2pD,QAAQ,OAAyCjI,EAC5E,CACA,SAASoP,EAAepP,GACpB,IACI,GAAIA,EAAS,CACT,IAAIqQ,EAAkBrQ,EAClB1zB,EAAM+jC,EAAgB,OAC1B,OAAI/jC,GAAOA,EAAI,OACJA,EAEJ,IACX,CACJ,CACA,MAAO9uB,GAEP,CACA,OAAO,IACX,CACA,SAAS8yD,EAAUzuB,EAAe0uB,GAC9B,OAAIpC,IAKCtsB,EAKDA,EAAcjmC,WAAaimC,EAAc,QACzC0uB,IAAc,QAAeA,EAAY,EAAmC,GAA2C,wDAChH,IAEN1uB,EAAc,SAEfA,EAAc,OAAyC,aAGtDvjC,EAAM,OAKNkyD,GAAa3uB,IAMdA,EAAc,MAAcvjC,EAAMmyD,QAAQ,QAEvC,IANHF,IAAc,QAAeA,EAAY,EAAkC,GAAyD,8CAA+C,CAAE78D,WAAY4K,EAAMmyD,QAAQ,UACxM,IAPPF,IAAc,QAAeA,EAAY,EAAmC,GAAmD,+BACxH,KAfPA,IAAc,QAAeA,EAAY,EAAmC,EAAsD,gCAC3H,GA0Bf,CACA,SAASG,GAAa7uB,EAAe0uB,GAGjC,IAAII,EAAsB9uB,EAAcjjC,MAAQwvD,EAC5CwC,EAAaxD,EAAOyD,kBAAkBhvB,EAAe8uB,EAAqBJ,EAAYlC,GAC1F,GAAKuC,EAAL,CAIA,IAAIE,GAAgB,EAkBpB,GAhBIjvB,EAAc,QAAiCA,EAAc,OAA8B,SAC3F,SAAWA,EAAc,OAA8B,OAAgB,SAAUkvB,GAC7E,IACQA,IAAqC,IAAzBA,EAASH,KACrBE,GAAgB,GAChB,QAAeP,EAAY,2CAEnC,CACA,MAAO/yD,IAGH,QAAe+yD,EAAY,EAAmC,GAAyD,2EAA4E,QAAiB/yD,GAAI,CAAEN,WAAW,SAAQM,KAAM,EACvP,CACJ,WACOqkC,EAAc,OAA8B,QAEnDivB,EAGJ,OAAOF,CAtBP,MAFI,QAAeL,EAAY,EAAmC,GAAkD,2CAyBxH,CACA,SAASS,GAAWj7B,GAChB,IAAIpM,EAAM+iC,GACN6D,EAAajyD,EAAM,SACvB,IACI,IAAI2yD,EAAQX,EAAUv6B,EAAMw6B,GACxBjf,EAAW,KACX2f,IACA3f,EAAWof,GAAa36B,EAAMw6B,IAE9Bjf,IACA3nB,EAAM4jC,EAAY,OAAwCjc,GAElE,CACA,MAAO9zC,GAEP,CACA,OAAOmsB,CACX,CACA,SAASunC,GAAO5kC,GACZ,IAAI3C,EAAM+iC,GAIV,OAHIpgC,GAAOA,EAAI,SACX3C,EAAM,IAAM2C,EAAI5I,KAAK,KAAO,KAEzBiG,CACX,CACA,SAASwnC,GAAez1D,GACpB,IAAI4H,EACAgoB,EAAU8lC,KACd,OAAO9tD,EAAK,CACJsnB,UAAWgjC,GAEftqD,EAAG,OAA6B5H,EAChC4H,EAAGgoB,QAAUA,EACbhoB,CACR,CACA,SAASktD,GAAalf,GAClB,OAAOhzC,EAAMmyD,QAAQhE,YAAYnb,EACrC,CACA,SAAS+f,GAAerR,EAAStF,EAAQpvB,EAASmhB,GAG/B,MAAXiO,GAAkBsF,EAClB1hD,EAAM4gD,WAAWc,EAASA,EAAQ,QAGlCvT,GAAYnuC,EAAM,OAAuC0hD,EAASvT,EAE1E,CACA,SAAS6kB,GAAQC,EAAevR,EAAShiC,EAASwzC,QAC3B,IAAfA,IAAyBA,GAAa,GAC1C,IAAIv+B,EAAa,SAAUynB,EAAQpvB,EAASmhB,GACxC,OAAO4kB,GAAerR,EAAStF,EAAQpvB,EAASmhB,EACpD,EACIglB,EAAcC,GAAY1R,GAC1BP,EAAe8R,GAAiBA,EAAcpO,SAClD,OAAI1D,GAAgBgS,GAGZD,GACAlzD,EAAM2pD,QAAQ,OAA4CjI,GAEvDP,EAAagS,EAAax+B,GAAajV,IAE3C,IACX,CACA,SAAS0zC,GAAY1R,GACjB,IAAI18C,EACJ,IAAI,SAAQ08C,IAAYA,EAAQ,OAAoC,EAAG,CACnE,IAAImB,EAAQ7iD,EAAM,OAAoCmqD,cAAczI,GAChE10B,EAAU8lC,KACVK,GAAenuD,EAAK,CAAC,EACrBA,EAAG,OAA6B69C,EAChC79C,EAAGsnB,UAAYgjC,EACftqD,EAAGgoB,QAAUA,EACbhoB,EAAGq9C,eAAiBjC,EACpBp7C,EAAG4/C,uBAAyByL,EAC5BrrD,EAAG,OAA0C08C,EAC7C18C,GACJ,OAAOmuD,CACX,CACA,OAAO,IACX,CACA,SAASL,KACL,IACI,IAAI9lC,EAAUmiC,GAAY,CAAC,EAI3B,OAHI,QAAsCG,KACtCtiC,EAAQ,KAAe,IAA6C,KAAe,IAEhFA,CACX,CACA,MAAO9tB,GAEP,CACA,OAAO,IACX,CACA,SAASm0D,GAAcC,GACnB,IAAIC,EAAeD,EAAkBA,EAAgB,OAAoC,EACzF,OAAKtzD,EAAM,OAAoC2D,OAAS4vD,EAAgB/D,IAC/DH,IAAoBA,EAAiBzQ,YACtC5+C,EAAM,QAA6C,EAAM,KAAM,KAE5D,EAGf,CACA,SAASgxD,GAAoB5U,EAAQsF,EAAS8R,EAAapC,EAAuBjvD,EAAcg6C,GAC5F,IAAIhO,EAAW,KAOf,GANKnuC,EAAMyzD,SACPtlB,EAAWmX,GAAcnJ,GACrBhO,GAAYA,EAASulB,QACrB1zD,EAAMyzD,OAAStlB,EAASulB,SAG3BtX,EAAS,KAAOA,GAAU,MAAmB,IAAXA,EAAc,CAGjD,IAAe,MAAXA,GAA6B,MAAXA,GAA6B,MAAXA,KAC/BuX,GAA2BH,GAE5B,YADAxzD,EAAM,OAAuC0hD,EAASv/C,GAI9D,GAAIktD,IAAqBA,EAAiBzQ,WAAY,CAElD,IAAKoR,EAAkB,CACnB,IAAI4D,EAA2B,GAC/B9B,GAAepQ,EAASkS,IACxB,QAAe5zD,EAAM,SAAwC,EAAkC,GAAiD,8BAA8B4I,OAAOwzC,EAAQ,sBAAsBxzC,QAAQymD,EAAiBzQ,WAAY,yBAAyBh2C,OAAO84C,EAAQztC,OAAQ,WAC5S,CACA,MACJ,EACK+7C,GAAoB4B,GAAaxV,IAClC0V,GAAepQ,IACf,QAAe1hD,EAAM,SAAwC,EAAkC,GAAiD,mBACzHo8C,EAAS,wBAA0BsF,EAAQ,OAAoC,YAGtG1hD,EAAM,OAAuC0hD,EAASv/C,EAE9D,MAIIwxD,GAA2BH,GACZ,MAAXpX,GACKjO,IACDA,EAAWmX,GAAcnJ,IAEzBhO,IAAa6hB,EACbhwD,EAAM,OAA0D0hD,EAASvT,GAGzEnuC,EAAM,OAAuC0hD,EAASv/C,KAI1D4sD,EAAqB,EACrB/uD,EAAM,OAA2C0hD,EAAS0P,GAGtE,CACA,SAASuC,GAA2BH,GAEhC,QAAItE,GAA6B,QAK5B,SAAkBsE,IAAgC,KAAhBA,GAC/BA,IAAgBlE,IAChBA,EAAekE,IACbtE,GACK,GAInB,CACA,SAAS2E,GAAcnS,EAAShiC,GAC5B,IAAI0vC,EAIC,CAED,IAAI0E,EAAarD,GAAgBA,EAAa,OAAkD,CAAC,IAA+B,GAChI,OAAOuC,GAAQc,EAAYpS,EAAShiC,EACxC,CANI0vC,EAAkB1N,GAAS,EAOnC,CACA,SAASyP,GAAezP,EAAS/sB,EAAYu8B,GACzC,IAAIa,EAAkBrQ,EAClBtkD,EAAO20D,GAAmBA,EAAgB,OAC9C,GAAKvB,EAqBDD,GAAiBA,EAAcnzD,GAAM,IACrC,QAAe4C,EAAM,SAAwC,EAAkC,GAAiD,+EAtB1H,CAGtB,IADA,IAAI+zD,EAAiB,GACZzxD,EAAK,EAAGA,EAAKlF,EAAK,OAAmCkF,IAAM,CAChE,IAAI0xD,EAAa52D,EAAKkF,GAClB0rB,EAAM,CAACgmC,GACPv8B,EAAO27B,GAAYplC,GAClBkjC,EAAQz5B,EAAM9C,GAKf30B,EAAM4gD,WAAW5yB,EAAKA,EAAI,QAH1B+lC,EAAe,OAA8BC,EAKrD,CACID,EAAe,OAAoC,IACnDxD,GAAiBA,EAAcwD,GAAgB,IAC/C,QAAe/zD,EAAM,SAAwC,EAAkC,GAAiD,2EAExJ,CAKJ,CACA,SAASi0D,GAAajmC,GAClB,IACI,GAAIA,GAAOA,EAAI,OACX,OAAQ,SAASA,EAAI,GAE7B,CACA,MAAO9uB,GAEP,CACA,OAAO,IACX,CACA,SAASg1D,GAAsBxS,EAAShiC,GACpC,IAAIy0C,EAAY,KAChB,IAAI,SAAQzS,GAAU,CAElB,IADA,IAAI0S,EAAc1S,EAAQ,OACjBp/C,EAAK,EAAGA,EAAKo/C,EAAQ,OAAmCp/C,IAC7D8xD,GAAe1S,EAAQp/C,GAAIm1B,KAAK,OAEpC,IAAI48B,EAAmB5D,EAAa3L,sBAC/BuP,EAAmBD,GAAgB/F,GACpC8F,EAAY,GAEP,WAELA,EAAY,GAIZA,EAAY,GACZ,QAAen0D,EAAM,SAAwC,EAAkC,GAAiD,wEAEpJ,IAAI0uB,EAAO+hC,GAAgBA,EAAa,OAAkD,CAAC0D,IAAY,GACvG,OAAOnB,GAAQtkC,EAAMgzB,EAAShiC,EAClC,CACA,OAAO,IACX,CAKA,SAASoyC,GAAepQ,EAAS4S,GAE7B,QADqB,IAAjBA,IAA2BA,EAAe,GACzC5S,GAAyD,IAA9CA,EAAQ,OAAxB,CAGA,IAAIsI,EAAShqD,EAAM,OACnBgqD,EAAO,OAAyCtI,GAChDqN,IACA,IAAK,IAAIh7C,EAAK,EAAGwgD,EAAY7S,EAAS3tC,EAAKwgD,EAAUtgD,OAAQF,IAAM,CAC/D,IAAI0jB,EAAO88B,EAAUxgD,GACrB0jB,EAAKwyB,IAAMxyB,EAAKwyB,KAAO,EACvBxyB,EAAKwyB,MACLD,EAAO,OAAoCvyB,EAC/C,CAEA+8B,GAAcF,GACdvX,IAZA,CAaJ,CAKA,SAASyX,GAAcF,GACnB,IACIG,EADAC,EAAqB,GAEzB,GAAI3F,GAAsB,EACtB0F,EAAiBC,MAEhB,CACD,IAAIC,GAAep+D,KAAKq+D,IAAI,EAAG7F,GAAsB,GAAK,EAEtD8F,EAAet+D,KAAKI,MAAMJ,KAAKiiC,SAAWm8B,EAAcD,GAAsB,EAClFG,GAAeP,EACfG,EAAiBl+D,KAAKwQ,IAAIxQ,KAAKK,IAAIi+D,EAAc,MAAOH,EAC5D,CAEA,IAAII,GAAqB,WAA8B,IAAjBL,EAEtCzF,EAAW8F,CACf,CAIA,SAAS/X,KACL,IAAK/C,IAAmBW,EAAS,CAC7B,IAAIoa,EAAgB/F,EAAWz4D,KAAKwQ,IAAI,EAAGioD,GAAW,YAAa,EAC/DgG,EAAaz+D,KAAKwQ,IAAIkpD,EAAmB8E,GAC7C/a,GAAiB,UAAgB,WAC7BA,EAAiB,KACjBh6C,EAAM,QAA6C,EAAM,KAAM,EACnE,GAAGg1D,EACP,CACJ,CACA,SAASla,KACLd,GAAkBA,EAAehN,SACjCgN,EAAiB,KACjBgV,EAAW,IACf,CAKA,SAAS4C,GAAaC,GAElB,OAAK,SAAkBnB,GAGD,MAAfmB,GAGe,MAAfA,GACe,MAAfA,GACe,MAAfA,GACe,MAAfA,GACe,MAAfA,GACe,MAAfA,EAVInB,EAAY,QAAqCA,EAAYvjC,QAAQ0kC,IAAe,CAWnG,CAEA,SAASoD,KACL,IAAIz3C,EAAO,eACX,OAAIxd,EAAMuZ,KAAKiE,GACJxd,EAAMuZ,KAAKiE,KAGfxd,EAAMuZ,KAAK,uBACtB,CACA,SAAS27C,GAAmBC,EAAaz1C,GACrC,IAAI2S,EAAU4iC,KACd,GAAI5iC,GAAWA,EAAQ,OACnB,IACIA,EAAQ,OAA0D8iC,EAAaz1C,EACnF,CACA,MAAOxgB,IACH,QAAec,EAAM,SAAwC,EAAmC,GAAoD,sCAAuC,QAAiBd,GAAI,CAAEN,WAAW,SAAQM,IACzO,CAER,CAKA,SAASk2D,GAA4Blc,EAAoB3uC,GACrD,IAAI8qD,EAAoB9qD,EAAO+qD,oCAC3BC,IAA4B,SAAkBF,IAA6BA,EAC/E,GAAIE,EACA,OAAO,EAEX,IAAIC,EAAa,iEACbC,EAAS,IAAIvqD,OAAOsqD,GACxB,OAAOC,EAAOnyD,KAAK41C,EACvB,CACA,SAASx/B,KACL1Z,EAAM,OAAsC,KAC5CA,EAAM,OAAsC,KAC5CA,EAAMyzD,OAAS,KACfzzD,EAAMmyD,QAAU,KAChBhD,EAAW,CAAC,EACZE,EAAmB,KACnBN,EAAqB,EACrBC,EAAW,KAEXrU,GAAU,EACVX,EAAiB,KACjBiV,EAAc,KACdC,EAA4B,EAC5BxO,EAAoB,EACpB0O,EAAoB,KACpBhd,EAAgB,KAChBkd,EAAe,KACfC,EAAkB,KAClBC,EAAuB,EACvBC,GAAmB,EACnBG,EAAiB,KACjBC,GAAoB,EACpBC,EAAsB,KACtBC,EAAoB7/B,GACpB8/B,GAAmB,EACnBE,EAAsB,KACtBtF,EAAc16B,GACdkwB,GAAc,EACdiQ,GAAkB,EAClBG,GAAsB,EACtBF,EAAW,KACXC,EAAgB,KAChBE,EAAe,MACf,SAAUzwD,EAAO,gBAAiB,CAC9B6V,EAAG,WACC,OAAO,QAAU,CAAC,EAAG44C,GACzB,GAER,CAx8BA/0C,KACA1Z,EAAMo9C,MAAQ,WACVtC,KACAH,GAAU,CACd,EACA36C,EAAMq9C,OAAS,WACP1C,IACAA,GAAU,EACVqU,EAAW,KAEXqE,KACAtW,KAER,EACA/8C,EAAM2rC,MAAQ,SAAUjsB,EAAS+yC,EAAUiD,GAEvC,QADgB,IAAZh2C,IAAsBA,GAAU,IAC/Bi7B,EAAS,CAEVG,KACA,IACI,OAAO96C,EAAM,OAA6C0f,EAAS,KAAMg2C,GAAc,EAC3F,CACA,MAAOx2D,IACH,QAAec,EAAM,SAAwC,EAAmC,GAA0C,mDAAoD,QAAiBd,GAAI,CAAEN,WAAW,SAAQM,IAC5O,CACJ,CACJ,EACAc,EAAM21D,cAAgB,WAClB,IAAKhb,EACD,GAAI8U,GAAoBW,EACpB,IACI,OAAOpwD,EAAM,QAA6C,EAAM6zD,GAAe,EACnF,CACA,MAAO30D,IACH,QAAec,EAAM,SAAwC,EAAmC,GAA0D,wFAAyF,QAAiBd,GAAI,CAAEN,WAAW,SAAQM,IACjS,MAGAc,EAAM2rC,OAAM,EAGxB,EACA3rC,EAAM41D,UAAY,SAAUp+D,EAAM4G,GAC9B+wD,EAAS33D,GAAQ4G,CACrB,EACA4B,EAAM,OAA4C,SAAUuK,EAAQgP,EAAMI,EAAYH,GAC9ExZ,EAAM4a,kBACN,QAAe5a,EAAM,SAAwC,EAAmC,GAAmD,iCAEvJqyC,EAAM,OAA0C9nC,EAAQgP,EAAMI,EAAYH,GAC1E,IAAI4E,EAAape,EAAMoe,WACvB6wC,EAAc,IAAI3C,GAAW/yC,EAAK/b,QAClCuxD,EAAqB,EACrBC,EAAW,KAEXhvD,EAAM,OAAsC,KAC5CkvD,EAA4B,EAC5B,IAAIj7B,EAAUj0B,EAAM,SACpBoyC,GAAgB,UAAkB,QAAsB,UAAW74B,EAAKyL,cAAgBzL,EAAKyL,gBAC7FqqC,EAAmB3R,GAAsBtL,GAEzCpyC,EAAM06B,UAAS,QAAenwB,GAAQ,SAAU3I,GAC5C,IAAI2I,EAAS3I,EAAQ2O,IACjBhG,EAAOg4B,eACPD,EAAoB/3B,EAAOg4B,eAE/B,IAAI9T,GAAM,SAA8B,KAAMlkB,EAAQgP,GAElDs8C,EAAepnC,EAAIyF,UAAU9V,EAAYqwC,KACzC,SAAcoH,EAAa,UAE3BA,EAAa,OAA+CtrD,EAAO,SAEnE,SAAcsrD,EAAa,UAE3BA,EAAa,OAA6DtrD,EAAO,SAErF,SAAUvK,EAAO,gBAAiB,CAC9B6V,EAAG,WACC,OAAOggD,CACX,IAIAtG,IAAoBsG,EAAa,SAIjCvG,EAAeC,EAAkBsG,EAAa,QAG9Ct8C,EAAKu8C,iBAAmB5W,GAAaE,QAGrCp/C,EAAMo9C,QAED7jC,EAAKu8C,iBAAmB5W,GAAaI,QAE1Ct/C,EAAMq9C,SAENuS,GAAkBA,IAAmBiG,EAAa,SAElD,SAAWjG,GAAgB,SAAUmG,UAC1B5G,EAAS4G,EAAa3oC,OACjC,IAEJoiC,EAAuBqG,EAAa,OACpCpG,IAAqG,IAAjFoG,EAAa,SAA4J,IAA/EA,EAAa,UAA4E,WACvMnG,GAA4G,IAAjFmG,EAAa,SAA6E,WACrHlG,GAAwG,IAA/EkG,EAAa,SAA2E,WACjHzF,EAAuByF,EAAa,OACpCzV,IAAgByV,EAAa,OAC7BnF,EAAcmF,EAAajH,WAC3B,IAAIoH,EAAiBH,EAAa,OAC9BtL,IAAyBsL,EAAa,WACnCG,GAAkB5zB,KACrBkO,EAAaulB,EAAavlB,WAG1B2lB,EAAgB1L,IAAyB2F,GACrC3F,GAAyBK,IAAgBta,GACzCia,GAAyB4F,IAAwB6F,EACzD,GAAIh2D,EAAM,OAAqC,CAM3C,GAAIi2D,EACA,IACIj2D,EAAM2pD,QAAU3pD,EAAM2pD,QAAQ,OAAyC11B,EAAS4hC,EAActL,EAClG,CACA,MAAOrrD,IACH,QAAec,EAAM,SAAwC,EAAmC,GAA4D,sFAAuF,QAAiBd,GAAI,CAAEN,WAAW,SAAQM,IACjS,CAEJm0D,IACJ,MAEIrzD,EAAM,OAAsCuqD,EACtC,IAAIE,GAAyBx2B,EAAS4hC,GAAgB,IAAInL,GAAgBz2B,EAAS4hC,GAE7FjL,EAActa,EACd4f,EAAsB3F,EACtB4F,EAAsB6F,EACtB3F,GAAmBwF,EAAa,SAAkE,UAAiB,GACnHrF,IAAwBqF,EAAa,OACrC71D,EAAMmyD,QAAU,IAAInE,GAAO6H,EAAazlB,mBAAoBnc,GAC5D67B,EAAsB+F,EAAa,QAC9B,SAAc/F,IAAyBsF,GAA4BtF,EAAqBvlD,KACzF,QAAe0pB,EAAS,EAAmC,IAAyD,+BAAiC67B,GAEzJF,EAAiBiG,EAAa,QAC1B,SAASvG,MAAkB,QAAsCA,IAAiBM,GAAkBA,EAAe,OAAoC,GACvJ,SAAWA,GAAgB,SAAUmG,GACjCh2D,EAAM61D,UAAUG,EAAa3oC,OAAQ2oC,EAAa33D,MACtD,IAGAwxD,EAAiB,KAErBhQ,EAAqBiW,EAAa,OAClC,IAAIK,EAAiBtF,IAEhBH,EAKDA,EAAavM,UAAUgS,IAJvBzF,EAAe,IAAI9Q,GACnB8Q,EAAa,OAA0CyF,EAAgBjiC,IAK3E,IAAIkiC,EAAkBN,EAAarH,gBAC/B4H,EAAgB,KAChBC,EAAgB,KAGhBrqC,GAAgB,QAAkB,CAAC,EAA8B,EAA2B,GAA8B6pC,EAAa7U,YAC3IoV,EAAgB3F,GAAgBA,EAAa,OAAkDzkC,GAAe,GAC9G,IAAIsqC,EAAe7F,GAAgBA,EAAazL,kBAChDsL,EAAW,SAAU5O,EAAShiC,GAC1B,OAAOszC,GAAQsD,EAAc5U,EAAShiC,EAC1C,EACA6wC,EAAgB,SAAU7O,EAAShiC,GAC/B,OAAOszC,GAAQsD,EAAc5U,EAAShiC,GAAS,EACnD,EACA02C,EAAgBhG,EAAuB+F,EAAmBC,GAAiBD,GAAmBG,EAC9Ft2D,EAAM,OAAsC,SAAU0hD,EAAShiC,GAC3D,OAAOszC,GAAQoD,EAAe1U,EAAShiC,EAC3C,EACI2wC,IAEAjB,EAAoB8E,IAExB,IAAIqC,GAAiB,QAAkB,CAAC,EAA8B,GAA4BV,EAAa,QAC1GxF,IAEDkG,EAAiBA,EAAeC,QAAO,SAAUrC,GAAa,OAAqB,IAAdA,CAA2C,KAEpHkC,EAAgB5F,GAAgBA,EAAa,OAAkD8F,GAAgB,GAC/GF,EAAgBjG,EAAuB+F,EAAmBE,GAAiBF,GACtE/F,GAAwByF,EAAa,SAA2DzG,IAAsBiH,IACvHjH,EAAoB,SAAU1N,EAAShiC,GACnC,OAAOszC,GAAQqD,EAAe3U,EAAShiC,EAC3C,GAEC0vC,IACDA,EAAoBkB,GAExBT,EAAoBgG,EAAanH,iBACjCqB,EAAoB8F,EAAa,QAA0D3lC,GAC3F8/B,EAAmB6F,EAAalH,gBAChCsB,EAAoB4F,EAAa,MACrC,IACJ,EACA71D,EAAM02B,iBAAmB,SAAU6M,EAAenqB,GAC9C,IAAIpU,EACJoU,EAAUpZ,EAAMkZ,WAAWE,GAC3B,IAAI64C,EAAa74C,EAAQ,SACzB,IACI,IAAIq9C,EAAazE,EAAUzuB,EAAe0uB,GAC1C,IAAKwE,EACD,OAEJ,IAAInE,EAAaF,GAAa7uB,EAAe0uB,GAC7C,IAAKK,EACD,OAGJ,IAAI5Q,EAAUuN,EAAY,OAAwCqD,GAE9DtI,EAAShqD,EAAM,OACnBqzD,GAAc3R,GACd,IAAIgV,GAAe1xD,EAAK,CAAC,EACrBA,EAAG,OAA6B08C,EAChC18C,EAAGilD,IAAM,EAETjlD,GAEJglD,EAAO,OAAoC0M,GAE3C3Z,IACJ,CACA,MAAO79C,IACH,QAAe+yD,EAAY,EAAkC,GAA4D,iFAAkF,QAAiB/yD,GAAI,CAAEN,WAAW,SAAQM,IACzP,CAEAc,EAAM00C,YAAYnR,EAAenqB,EACrC,EACApZ,EAAM22D,iBAAmB,WACrB,OAAQhc,GAAiC,IAAtB+F,GAA+E,IAApD1gD,EAAM2pD,QAAQ,QAChE,EAIA3pD,EAAMixD,qBAAuB,SAAUvlC,EAAKg2B,EAAS0P,GAEjD,IAAI6C,GAAavS,GAGjB,OAAOuP,EAAqBvlC,EAAKg2B,EAAS0P,EAC9C,EAMApxD,EAAM,OAA+C,SAAU+7B,EAAO66B,EAAclB,GAEhF,IAAIv0D,EACJ,QAFc,IAAV46B,IAAoBA,GAAQ,IAE3B4e,EACD,IACI,IAAIqP,EAAShqD,EAAM,OAEnB,GAAK6vD,EAgBD7F,EAAO,aAhBa,CACpB,GAAIA,EAAO,SAAoC,EAAG,CAC9C,IAAItI,EAAUsI,EAAOE,WACrBgL,GAAmBQ,GAAc,EAAqC35B,GAGlE56B,EADAy1D,EACSA,EAAaz+D,KAAK6H,EAAO0hD,EAAS3lB,GAGlC/7B,EAAM,OAAoC0hD,EAAS3lB,EAEpE,EAEa,IAAI17B,IACrB,CAIAy6C,IACJ,CACA,MAAO57C,GAEH,IAAI23D,GAAQ,aACPA,GAASA,EAAQ,KAClB,QAAe72D,EAAM,SAAwC,EAAmC,GAAiD,gEAAiE,QAAiBd,GAAI,CAAEN,WAAW,SAAQM,IAEpQ,CAEJ,OAAOiC,CACX,EACAnB,EAAM82D,kBAAoB,WACtB,IAAI9xD,EACJ,OAAOA,EAAK,CACJ+xD,OAAQ,WACJ,OAAOzH,CACX,EACA0H,cAAenE,IAEnB7tD,EAAG,OAAuC0tD,GAC1C1tD,EAAG69C,MAAQ+P,GACX5tD,EAAGiyD,cAAgB,SAAUnyD,GACzB,QAASktD,EAAUltD,EACvB,EACAE,CACR,EACAhF,EAAMm2C,YAAc,SAAUv8B,EAAWC,GACrC7Z,EAAM21D,gBACN1Q,GAAgBoK,GAAkB,GAClC31C,IACJ,EAIA1Z,EAAM,OAAyC,SAAU0hD,EAAS1qD,EAASssB,GAEvE,IAAI2wC,GAAavS,GAGjB,OAAOb,EAASa,EAAS1qD,EAASssB,EACtC,EAIAtjB,EAAM,OAA4D,SAAU0hD,EAASr9C,GAEjF,IAAI4vD,GAAavS,GAGjB,OAAO4P,EAAkB5P,EAASr9C,EACtC,EAIArE,EAAM,OAA6C,SAAU0hD,EAAS0P,GAElE,IAAI6C,GAAavS,GAGjB,OAAOd,EAAWc,EAAS0P,EAE/B,EAIApxD,EAAM2wD,WAAa,SAAU9kC,EAAK61B,GAE9B,IAAIuS,GAAavS,GAGjB,OAAOiP,EAAW9kC,EAAK61B,EAC3B,CA8lBJ,IACO3hD,CACX,CA2BA,OAjhCA,QAAU+uD,EAAQ52D,GAu/BlB42D,EAAOyD,kBAAoB,SAAU2E,EAAM52D,EAAM9C,EAAQ25D,GACrD,IAAInkB,EAKAA,EAJA1yC,IAAS42D,EAAK52D,OAAS,SAAkBA,GAI9B42D,GAHA,SAAS,QAAS,CAAC,EAAGA,GAAO,CAAE52D,KAAMA,IAKpD,IAAI82D,EAAUvI,GAAoB7b,EAAS71C,WAAawrD,GACxD,OAAOyO,EAAQ55D,EAAQw1C,EAAUmkB,EACrC,EAgBOrI,CACX,CAnhC2B,CAmhCzBl2C,GAAA,GKhlCEy+C,GAAoB,IACpBC,GAA6B,IAC1B,SAASC,GAAsBpe,GAClC,IAAKA,EACD,MAAO,CAAC,EAEZ,IAAIqe,EAAUre,EAAiB,MAAgCke,IAC3Dl2D,GAAS,SAAUq2D,GAAS,SAAUC,EAAQC,GAC9C,IAAIC,EAAUD,EAAG,MAAgCJ,IACjD,GAAkD,IAA9CK,EAAQ,MAAyC,CACjD,IAAIl6D,EAAMk6D,EAAQ,GAAG,QACjBv5D,EAAQu5D,EAAQ,GACpBF,EAAOh6D,GAAOW,CAClB,CACA,OAAOq5D,CACX,GAAG,CAAC,GACJ,IAAI,SAAQt2D,GAAQ,MAAoC,EAAG,CAEvD,GAAIA,EAAOy2D,eAAgB,CAEvB,IAAIC,EAAiB12D,EAAOkgB,SAAWlgB,EAAOkgB,SAAW,IAAM,GAC/DlgB,EAAO,MAA0DA,EAAO,OAA4D,WAAa02D,EAAiB,MAAQ12D,EAAOy2D,cACrL,CAEAz2D,EAAO,MAA0DA,EAAO,OAA2D,MAC/H,SAAYA,EAAO,MAAyD,OAC5EA,EAAO,MAA0DA,EAAO,MAAwD2qC,MAAM,GAAI,GAElJ,CACA,OAAO3qC,CACX,CACO,I,YChCH22D,GAA0B,sBAC1BC,GAA6B,WAC7B,SAASA,EAAYx+C,EAAM+2B,GACvB,IACI/O,EACA8J,EACA2sB,EACAC,EACAC,EACAtN,EACAuN,EAPAn4D,EAAQ5H,KAQRggE,GAAW,EACXC,GAAuB,EAgG3B,SAASC,EAAcC,EAAOvhE,EAAS8nB,EAAU05C,GAC7C,GAAIJ,EAAU,CACV,IAAIjK,EAAcsK,EAAcF,GAChC,IAAKpK,EACD,OAEJ,IAAI59C,EAAMmoD,EAAaH,GACnBI,EAAkBC,EAAyBL,GAC3CM,EAAcC,EAAavoD,EAAKgxB,EAAqBo3B,GACrDI,GAAY,EACZ7/B,EAAS,EACT8/B,EAAcC,EAAWV,GAC7B,IACQM,IAAgBG,GAChB9/B,EAAS3iC,KAAKK,IAAI2Z,EAAI2oD,MAAMC,cAAeR,EAAgB,MAAkC,GAC7FA,EAAgB,MAAkC,EAClDI,GAAY,EACZb,EAAaK,IAAS,EACtBI,EAAgB,MAAsD,IAAIt4D,OAG1E63D,EAAaK,GAASM,EACtBF,EAAgB,OAAmC,GAEvD,IAAIS,EAAmBC,EAAqBd,GAC5Ce,EAAmBjuB,EAAS+tB,EAAkBT,GAC9C,IAAK,IAAI76D,EAAI,EAAGA,EAAIo7B,EAAQp7B,IACxBy7D,EAAahB,EAAOltB,EAASr0C,EAAS8nB,EAE9C,CACA,MAAO5f,GAEP,CACA,MAAO,CACHs6D,YAAaT,EACbU,YAAavgC,EAErB,CAEI,GAAMs/B,EAAe,CACjB,IAAIn6C,EAAQq7C,EAAenB,GAC3Bl6C,EAAM,MAA8B,CAChCk6C,MAAOA,EACPvhE,QAASA,EACT8nB,SAAUA,GAElB,CAEJ,OAAO,IACX,CACA,SAAS66C,IACLtuB,GAAU,QAAc9xB,GACxB2+C,EAAe,CAAC,EAChBD,EAAmB,CAAC,EACpBE,EAAS,CAAC,EACVH,EAAU,CAAC,EACX4B,EAAa,KACbhP,GAAc,QAAqBta,GAAcA,EAAa,GAC9D/2B,EAAKsgD,eAAc,QAAetgD,EAAKhP,QAAQ,SAAU3I,GACrD,IAAIk4D,EAAal4D,EAAQ2O,IACzBgxB,EAAsBI,IACtB,IAAIo4B,EAAYD,EAAWE,gBAAkB,CAAC,GAC9C,SAAcD,GAAW,SAAUt8D,EAAK8S,GACpCqpD,EAAapzD,SAAS/I,GAAM8S,EAChC,GACJ,IACJ,CACA,SAASmoD,EAAaH,GAClB,OAAOP,EAAQO,IAAUP,EAAQ,IACrC,CACA,SAAS4B,EAAarB,EAAOhuD,GACzB,IAAIvF,EAAIM,EACR,IACI,IAAIiL,EAAMhG,GAAU,CAAC,EACjB0vD,EAAS,CAAC,EACdA,EAAO,QAA0C1pD,EAAI,MACrD,IAAI2pD,EAAiB3pD,EAAI,OAAyC,CAAC,EACnE8nD,GAA2C,OAAnB6B,QAA8C,IAAnBA,OAA4B,EAASA,EAAeC,eAAoC,OAAnBD,QAA8C,IAAnBA,OAA4B,EAASA,EAAeC,YAAY,OAAqC,EACxPF,EAAO,MAAwCG,EAAmBF,GAClE,IAAIhB,EAAQ,CACRjL,cAAoC,QAApBjpD,EAAKuL,EAAI2oD,aAA0B,IAAPl0D,OAAgB,EAASA,EAAGipD,eAAiB,IAEzFkL,eAAqC,QAApB7zD,EAAKiL,EAAI2oD,aAA0B,IAAP5zD,OAAgB,EAASA,EAAG6zD,gBAAkB,GAE/Fc,EAAOf,MAAQA,EACflB,EAAQO,GAAS0B,CACrB,CACA,MAAO/6D,GAEP,CACJ,CACA,SAASk7D,EAAmBC,GACxBA,EAAWA,GAAY,CAAC,EACxB,IAAIC,EAA6B,OAAbD,QAAkC,IAAbA,OAAsB,EAASA,EAASC,cAC7EC,EAA2B,OAAbF,QAAkC,IAAbA,OAAsB,EAASA,EAASE,YAgB/E,OAdI,SAAkBD,KAAkB,SAAkBC,KACtDF,EAASC,cAAgB,EACpBjC,IAEDgC,EAAS,MAAgD,CAAC,IAC1DhC,GAAuB,IAG/BgC,EAAW,CAEPC,cAA4B,OAAbD,QAAkC,IAAbA,OAAsB,EAASA,EAASC,cAC5EC,YAA0B,OAAbF,QAAkC,IAAbA,OAAsB,EAASA,EAASE,YAC1EJ,YAA0B,OAAbE,QAAkC,IAAbA,OAAsB,EAASA,EAASF,aAEvEE,CACX,CACA,SAASvB,EAAavuD,EAAQiwD,EAAoB7B,GAC9C,GAAIpuD,IAAWA,EAAO,OAAyCiwD,IAAsB,QAAqB7B,GAAkB,CACxH,IAAI8B,EAAUC,IACVjyC,EAAOkwC,EAAgB,MACvB0B,EAAW9vD,EAAO,MAClBowD,EAAa,EACjB,GAAiB,OAAbN,QAAkC,IAAbA,OAAsB,EAASA,EAASC,cAAe,CAC5E,IAAIM,EAAmE,IAApDH,EAAQI,iBAAmBpyC,EAAKoyC,kBAAyBJ,EAAQK,cAAgBryC,EAAKqyC,cACzGH,EAAaI,EAAeV,EAASC,cAAe,EAAGM,EAC3D,CACA,IAAII,EAAW,EACf,GAAI3C,EACA2C,GAAW,SAAWX,EAAS,MAA+CI,EAAQ,cAErF,GAAiB,OAAbJ,QAAkC,IAAbA,OAAsB,EAASA,EAASE,YAAa,CAC/E,IAAIU,EAAU1kE,KAAKI,OAAO8jE,EAAQhuB,UAAYhkB,EAAKgkB,WAAa,OAChEuuB,EAAWD,EAAeV,EAASE,YAAa,EAAGU,EACvD,CACA,OAAON,GAAc,GAAKK,GAAY,CAC1C,CACA,OAAO,CACX,CACA,SAAS3B,EAAqB6B,EAAQC,GAClC,IAAIC,GAAM,QAAqBD,GAAUA,EAAS,GAClD,OAAID,EACOpD,GAA0BsD,EAAM,IAAMF,EAE1C,IACX,CAEA,SAASG,EAAsBC,GAC3B,IACI,GAAIA,EAAgB,CAChB,IAAIb,EAAU,IAAIp6D,KAClB,OAAOi7D,EAAeT,mBAAqBJ,EAAQI,kBAC/CS,EAAeR,gBAAkBL,EAAQK,eACzCQ,EAAe,UAAiDb,EAAQ,OAChF,CACJ,CACA,MAAOv7D,GAEP,CACA,OAAO,CACX,CAEA,SAASq8D,EAAoBn9D,EAAOZ,EAAQg+D,GACxC,IACI,IAAIC,EAAa,CACbhzC,KAAMiyC,IACN5zD,MAAO,GAEX,GAAI1I,EAAO,CACP,IAAI0D,EAAMV,KAAK+tC,MAAM/wC,GACjBs9D,EAAS,CACTjzC,KAAMiyC,EAAiB54D,EAAI,QAAkC25D,EAAW,MACxE30D,MAAOhF,EAAI,OAAmC25D,EAAW,MACzDH,eAAgBx5D,EAAIw5D,eAAiBZ,EAAiB54D,EAAI,YAAuD9D,GAErH,OAAO09D,CACX,CAGI,OADApC,EAAmB97D,EAAQg+D,EAAaC,GACjCA,CAEf,CACA,MAAOv8D,GAEP,CACA,OAAO,IACX,CAEA,SAASw7D,EAAiBiB,GAEtB,IACI,IAAIA,EAQA,OAAO,IAAIt7D,KAPX,IAAIooB,EAAO,IAAIpoB,KAAKs7D,GAEpB,IAAKrlE,MAAMmyB,EAAKmzC,WACZ,OAAOnzC,CAMnB,CACA,MAAOvpB,GAEP,CACA,OAAO,IACX,CACA,SAASo6D,EAAmB97D,EAAQg+D,EAAa15D,GAC7C,IACI,OAAO6gC,EAAmBnlC,EAAQg+D,GAAa,SAAQp6D,KAAK,MAAwCU,IACxG,CACA,MAAO5C,GAEP,CACA,OAAO,CACX,CACA,SAAS67D,EAAeV,EAAU7tD,EAAOqvD,GACrC,OAAIxB,GAAY,EACL,EAGHwB,GAAWrvD,IAAWqvD,EAAUrvD,GAAS6tD,GAAY,EAAI9jE,KAAKI,OAAOklE,EAAUrvD,GAAS6tD,GAAY,GAAK,CACrH,CACA,SAASd,EAAahB,EAAO/6D,EAAQxG,EAAS8nB,IAC1C,QAAethB,EAAQshB,GAAY,EAAmCy5C,EAAOvhE,EACjF,CAGA,SAASyhE,EAAcF,GACnB,IACI,IAAIhoD,EAAMmoD,EAAaH,GACvB,OAAO,SAAY,MAAYhoD,EAAI2oD,MAAMjL,YAC7C,CACA,MAAO/uD,GAEP,CACA,OAAO,CACX,CACA,SAAS05D,EAAyBn7D,GAC9B,IACI,IAAIi+D,EAASzD,EAAiBx6D,GAC9B,IAAKi+D,EAAQ,CACT,IAAItC,EAAmBC,EAAqB57D,EAAKmtD,GACjD8Q,EAASH,EAAoB74B,EAAmB2I,EAAS+tB,GAAmB/tB,EAAS+tB,GACrFnB,EAAiBx6D,GAAOi+D,CAC5B,CACA,OAAOzD,EAAiBx6D,EAC5B,CACA,MAAOyB,GAEP,CACA,OAAO,IACX,CACA,SAAS+5D,EAAWx7D,GAChB,IAAIq+D,EAAY5D,EAAaz6D,GAC7B,IAAI,SAAkBq+D,GAAY,CAC9BA,GAAY,EACZ,IAAInD,EAAkBC,EAAyBn7D,GAC3Ck7D,IACAmD,EAAYT,EAAsB1C,EAAgB,QAEtDT,EAAaz6D,GAAOq+D,CACxB,CACA,OAAO5D,EAAaz6D,EACxB,CACA,SAASi8D,EAAej8D,GAKpB,OAJA06D,EAASA,GAAU,CAAC,GAChB,SAAkBA,EAAO16D,MACzB06D,EAAO16D,GAAO,IAEX06D,EAAO16D,EAClB,CAzWAk8D,IAEA35D,EAAM,qBAAuB,WACzB,MAAO,CAACm4D,EACZ,EACAn4D,EAAMo0B,UAAY,WACd,OAAO4jC,CACX,EAOAh4D,EAAM64D,YAAc,SAAUj7C,GAC1B,IAAIm+C,EAAWnD,EAAyBh7C,GACpCrN,EAAMmoD,EAAa96C,GACvB,OAAOk7C,EAAavoD,EAAKgxB,EAAqBw6B,EAClD,EAMA/7D,EAAMg5D,YAAc,SAAUp7C,GAC1B,OAAOq7C,EAAWr7C,EACtB,EAOA5d,EAAMg8D,QAAU,WACZ,OAAO5D,CACX,EAKAp4D,EAAM2rC,MAAQ,SAAU/tB,GACpB,IACI,IAAIS,EAAQq7C,EAAe97C,GAC3B,GAAIS,GAASA,EAAM,MAAoC,EAAG,CACtD,IAAIpc,EAAQoc,EAAMytB,MAAM,GAKxB,OAJAqsB,EAAOv6C,GAAS,IAChB,SAAW3b,GAAO,SAAUw1B,GACxB6gC,EAAc7gC,EAAK8gC,MAAO9gC,EAAK,MAAqCA,EAAK3Y,UAAU,EACvF,KACO,CACX,CACJ,CACA,MAAO6P,GAEP,CACA,OAAO,CACX,EAKA3uB,EAAMi8D,SAAW,WACb,IACI,GAAI9D,EAAQ,CACR,IAAI+D,GAAW,EAKf,OAJA,SAAc/D,GAAQ,SAAU16D,GAC5B,IAAI0+D,EAAYn8D,EAAM2rC,MAAMnlC,SAAS/I,IACrCy+D,EAAWA,GAAYC,CAC3B,IACOD,CACX,CACJ,CACA,MAAOvtC,GAEP,CACA,OAAO,CACX,EAQA3uB,EAAMo8D,aAAe,SAAUJ,EAASC,GAGpC,YAFiB,IAAbA,IAAuBA,GAAW,GACtC7D,KAAW,SAAkB4D,IAAkBA,EAC3C5D,GAAY6D,EACLj8D,EAAMi8D,WAEV,IACX,EACAj8D,EAAMq8D,YAAc,SAAU9D,EAAOvhE,EAAS8nB,GAC1C,OAAOw5C,EAAcC,EAAOvhE,EAAS8nB,GAAU,EACnD,CA4QJ,CACA,OAAOi5C,CACX,CAxXgC,G,YCG5B,GAAgB,CAChBuE,iBAAiB,GAErB,SAASC,GAAuBC,GAC5BA,EAAmB/nD,EAAI,KACvB,IAAImb,EAAY4sC,EAAmBhuC,GACnCguC,EAAmBhuC,GAAK,IACxB,SAAWoB,GAAW,SAAUpB,IAE5B,SAAKA,EAAG1c,GAAI,CAAC0c,EAAG3D,KACpB,GACJ,CAGA,SAAS4xC,GAAcC,EAAWllE,EAAMglE,EAAoBzlD,IACxD,SAAW2lD,GAAW,SAAUngD,GACxBA,GAAYA,EAAS/kB,KACjBglE,GAEAA,EAAmBhuC,GAAG,MAA8B,CAChD1c,GAAIiF,EACJ8T,IAAKtO,IAETigD,EAAmB/nD,EAAI+nD,EAAmB/nD,IAAK,SAAgB8nD,GAAwB,EAAGC,KAI1F,SAAKzlD,EAAU,CAACwF,IAG5B,GACJ,CAIA,IAAIogD,GAAqC,WACrC,SAASA,EAAoBpyD,GAEzB,IAAI+xD,EACA31B,EAFJvuC,KAAKskE,UAAY,GAGjB,IAAIE,EAAa,GACbC,EAAsB,CACtBpoD,EAAG,KACH+Z,GAAI,IAEJtb,GAAa,QAAoB3I,EAAQ,IAC7Co8B,EAAgBzzB,EAAW,OAAgC,SAAUtR,GACjE06D,IAAoB16D,EAAQ2O,IAAI+rD,eACpC,KACA,OAAaK,EAAqBvkE,MAAM,SAAU4H,IAC9C,SAAUA,EAAO,YAAa,CAC1B6V,EAAG,WAAc,OAAO+mD,CAAY,IAExC58D,EAAM,MAAoE,SAAUuc,GAChFqgD,EAAW,MAA8BrgD,EAC7C,EAKAvc,EAAM,MAAuE,SAAUuc,GACnF,IAAIyiC,GAAQ,SAAW4d,EAAYrgD,GACnC,MAAOyiC,GAAS,EACZ4d,EAAW,MAAkC5d,EAAO,GACpDA,GAAQ,SAAW4d,EAAYrgD,EAEvC,EAKAvc,EAAM,MAA4C,SAAU6lB,GACxD42C,GAAcG,EAAY,KAAiBC,GAAqB,SAAUtgD,GACtEA,EAAS,MAA0CsJ,EACvD,GACJ,EAOA7lB,EAAM,MAAsD,SAAU6lB,EAAQnjB,GAC1E+5D,GAAcG,EAAY,KAAsBC,GAAqB,SAAUtgD,GAC3EA,EAAS,MAAoDsJ,EAAQnjB,EACzE,GACJ,EAMA1C,EAAM,MAA2D,SAAU01D,EAAYh2C,GACnF+8C,GAAcG,EAAY,KAAyBl9C,EAAUm9C,EAAsB,MAAM,SAAUtgD,GAC/FA,EAAS,MAAyDm5C,EAAYh2C,EAClF,GACJ,EACA1f,EAAM,MAA0C,SAAUwyB,GAClDA,KAEI8pC,GAAoB9pC,EAAU,SAC9BiqC,GAAcG,EAAY,KAAgB,MAAM,SAAUrgD,GAClDiW,EAAU,OACV,UAAgB,WAAc,OAAOjW,EAAS,MAAwCiW,EAAY,GAAG,GAGrGjW,EAAS,MAAwCiW,EAEzD,IAGZ,EACAxyB,EAAM,MAAuD,SAAU6lB,GAC/DA,GAAUA,EAAO,OACjB42C,GAAcG,EAAY,KAAmBC,GAAqB,SAAUtgD,GACxEA,EAAS,MAAqDsJ,EAClE,GAER,EACA7lB,EAAM,MAAmD,SAAU6iD,GAC3DA,GAASA,EAAM,OACf4Z,GAAcG,EAAY,KAAkBC,GAAqB,SAAUtgD,GACvEA,EAAS,MAAiDsmC,EAC9D,GAER,EACA7iD,EAAM,MAAmD,SAAUiqD,EAAKvnD,GACpE,GAAIunD,EAAM,EAAG,CACT,IAAI6S,EAAOp6D,GAAU,EACrB+5D,GAAcG,EAAY,KAAkBC,GAAqB,SAAUtgD,GACvEA,EAAS,MAAiD0tC,EAAK6S,EACnE,GACJ,CACJ,EACA98D,EAAM,MAAoC,SAAU0f,GAChD,IASIq9C,EATAC,EAAgB,WAChBr2B,GAAiBA,EAAc50B,KAC/B40B,EAAgB,KAChBi2B,EAAa,GAEbC,EAAoBpoD,GAAKooD,EAAoBpoD,EAAE,QAC/CooD,EAAoBpoD,EAAI,KACxBooD,EAAoBruC,GAAK,EAC7B,EAWA,GATAiuC,GAAcG,EAAY,SAAU,MAAM,SAAUrgD,GAChD,IAAI0gD,EAAc1gD,EAAS,MAAkCmD,GACzDu9C,IACKF,IACDA,EAAU,IAEdA,EAAQ,MAA8BE,GAE9C,IACIF,EACA,OAAO,UAAc,SAAU5a,GAC3B,OAAO,UAAgB,SAAiB4a,IAAU,WAC9CC,IACA7a,GACJ,GACJ,IAGA6a,GAER,CACJ,GACJ,CAeA,OAFAL,EAAoB5hD,QAAQ,EAErB4hD,CACX,CApJwC,G,wBCjCxC,SAASO,GAAgBC,EAAe39D,EAAIu2C,GACxC,IAAIqnB,EAAiB,CACjB59D,GAAIA,EACJsS,GAAIikC,IAER,SAAUonB,EAAeC,GACzB,IAAIvrD,EAAU,CACV4oB,OAAQ,YACJ,SAAW0iC,GAAe,SAAUlnB,EAAarhC,GAC7C,GAAIqhC,EAAYz2C,KAAO49D,EAAe59D,GAElC,OADA29D,EAAc,MAAkCvoD,EAAK,IAC7C,CAEhB,GACJ,GAEJ,OAAO/C,CACX,CACA,SAASwrD,GAAiBF,EAAe1lC,EAAMj6B,GAG3C,IAFA,IAAIg1D,GAAgB,EAChB8K,EAA6BH,EAAc,MACtCr/D,EAAI,EAAGA,EAAIw/D,IAA8Bx/D,EAAG,CACjD,IAAIi4C,EAAuBonB,EAAcr/D,GACzC,GAAIi4C,EACA,IACI,IAA8E,IAA1EA,EAAqBjkC,GAAG,MAAgC,KAAM,CAAC2lB,IAAkB,CACjF+6B,GAAgB,EAChB,KACJ,CACJ,CACA,MAAOtzD,IAGH,QAAe1B,EAAQ,EAAkC,GAAyD,kCAAmC,QAAiB0B,GAAI,CAAEN,WAAW,SAAQM,KAAM,EACzM,CAER,CACA,OAAQszD,CACZ,CACA,IC9CI,GD8CA+K,GAA4C,SAAUrlE,GAEtD,SAASqlE,IACL,IAIIvmC,EACAmmC,EALAp9D,EAAQ7H,EAAOC,KAAKC,OAASA,KAoBjC,SAASshB,IACLsd,EAAM,EACNmmC,EAAgB,EACpB,CACA,OAvBAp9D,EAAMqe,WAAa,6BACnBre,EAAMiyC,SAAW,IAIjBt4B,KACA,OAAa6jD,EAA4Bx9D,GAAO,SAAUC,EAAOqyC,GAC7DryC,EAAMw9D,wBAA0B,SAAUznB,GACtC,OAAOmnB,GAAgBC,EAAenmC,IAAO+e,EACjD,EACA/1C,EAAM,MAAwD,SAAUy3B,EAAMre,GACtEikD,GAAiBF,EAAe1lC,EAAMre,EAAUA,EAAQ,QAAyCpZ,EAAM,UACvGA,EAAM,MAA6Cy3B,EAAMre,EAEjE,EACApZ,EAAM,MAA+C,WACjD0Z,GACJ,CACJ,IAKO3Z,CACX,CAOA,OAlCA,QAAUw9D,EAA4BrlE,GAgCtCqlE,EAA2BxiD,QAAQ,EAE5BwiD,CACX,CApC+C,CAoC7C3kD,GAAA,G,wBC3DE6kD,GAAqB,yCACrBC,GAAyB,uBACzBC,GAAuB,4BACvBC,GAAuB,yBACvBC,GAAmB,IACnBC,GAAiB,IAOjBvqD,IAAgB,UAAe,GAAK,CAChC4xB,UAAW,CAAC,GAEhB,GAAG,MAAkB,CAAElvB,QAAQ,EAAM5E,KAAK,EAAMb,EAAG,IACnD,GAAG,MAAgB,CAAEyF,QAAQ,EAAM5E,KAAK,EAAMb,EAAG,IACjD,GAAG,MAAwB,CAAEa,KAAK,EAAMb,EAAG,CAAC,GAC5C,GAAG,MAAuB,KAC1B,GAAGwM,oBAAsB,EACzB,GAAG+gD,sBAAwB,KAC3B,KAMJ,SAASC,GAAmBzkD,EAAM0kD,GAC9B,OAAO,IAAI7rC,GAAA,GAAY6rC,EAC3B,CACA,SAASC,GAAoB1gE,EAAQ2gE,EAAiBC,GAClD,IAAIp5D,EAEAq5D,EAAiB,GACjBC,EAAW,GAGXC,EAAgB,CAAC,EA2BrB,OAzBA,SAAWH,GAAe,SAAU56B,KAE5B,SAAkBA,KAAQ,SAAkBA,EAAI,UAChD,QAAWi6B,IAEf,IAAIe,EAAch7B,EAAI,MAClBplB,EAAaolB,EAAI,MACjBA,GAAOg7B,KACF,SAAkBD,EAAcC,IAKjCD,EAAcC,GAAepgD,GAJ7B,QAAe5gB,EAAQ,sCAAwCghE,EAAc,MAAQD,EAAcC,GAAe,KAAOpgD,KAQ5HogD,GAAeA,EAAcL,EAE9BE,EAAe,MAA8B76B,GAG7C86B,EAAS,MAA8B96B,EAE/C,IACOx+B,EAAK,CAAC,EACTA,EAAG,MAA4Bq5D,EAC/Br5D,EAAG,MAAoCs5D,EACvCt5D,CACR,CACA,SAASy5D,GAAiBxoC,EAAWL,GACjC,IAAI8oC,GAAS,EAOb,OANA,SAAW9oC,GAAS,SAAUL,GAC1B,GAAIA,IAAWU,EAEX,OADAyoC,GAAS,GACD,CAEhB,IACOA,CACX,CACA,SAASC,GAAiB/8D,EAAS0G,EAAQs2D,EAAWC,GAE9CD,IACA,SAAcA,GAAW,SAAUnhE,EAAKW,GAChCygE,IACI,SAAczgE,KAAU,SAAckK,EAAO7K,KAE7CkhE,GAAiB/8D,EAAS0G,EAAO7K,GAAMW,EAAOygE,GAGlDA,IAAS,SAAczgE,KAAU,SAAckK,EAAO7K,IAEtDkhE,GAAiB/8D,EAAS0G,EAAO7K,GAAMW,EAAOygE,GAI9Cj9D,EAAQgO,IAAItH,EAAQ7K,EAAKW,EAEjC,GAER,CACA,SAAS0gE,GAAapC,EAAWqC,GAC7B,IAAIC,EAAc,KACdpqD,GAAO,EAQX,OAPA,SAAW8nD,GAAW,SAAUngD,EAAUja,GACtC,GAAIia,EAASnJ,IAAM2rD,EAGf,OAFAC,EAAcziD,EACd3H,EAAMtS,GACE,CAEhB,IACO,CAAExE,EAAG8W,EAAKqqD,EAAGD,EACxB,CACA,SAASE,GAAuBxC,EAAWqC,GACvC,IAAIC,EAAcF,GAAapC,EAAWqC,GAAYE,EAatD,OAZKD,IACDA,EAAc,CACV5rD,EAAG2rD,EACHhtD,GAAI,WACA,IAAIotD,EAAML,GAAapC,EAAWqC,IACnB,IAAXI,EAAIrhE,GACJ4+D,EAAU,MAAkCyC,EAAIrhE,EAAG,EAE3D,GAEJ4+D,EAAU,MAA8BsC,IAErCA,CACX,CACA,SAASI,GAA4B70D,EAAQmyD,EAAWl/D,IACpD,SAAWk/D,GAAW,SAAUngD,GAC5B,IAAI8iD,GAAY,QAAe90D,EAAQgS,EAASnJ,EAAG5V,UAC5C+e,EAASnJ,EAEhBmJ,EAASxK,GAAK,WACVstD,EAAUttD,IACd,CACJ,GACJ,CAEA,SAASutD,GAAmB1tD,EAAe2tD,EAAiBC,EAAqBC,GAc7E,OAZAF,EAAgB3pD,IAAIhE,EAAc,OAAgC,SAAUhQ,GACxE,IAAI8a,EAAgB9a,EAAQ2O,IAAImM,eACV,IAAlBA,GAA0B+iD,IAE1BD,EAAoB,MAAqEC,GACzFA,EAAgB,MAEhBD,IAAwBC,IAAmC,IAAlB/iD,IACzC+iD,GAAgB,QAAiB79D,EAAQ2O,KACzCivD,EAAoB,MAAkEC,GAE9F,KACOA,CACX,CAEA,SAASC,GAAkBC,GACvB,OAAO,SAAU,CACb5tD,GAAI,WACA4tD,EAAW5tD,IACf,GACD,SAAU,CAAEvB,EAAG,WAAc,MAAO,uBAAyBpP,KAAK4c,UAAU2hD,GAAc,GAAK,GACtG,CAKA,IAAIC,GAAiC,WACjC,SAASA,IAEL,IAAIC,EACAhgB,EACAxU,EACAy0B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAruB,EACAsuB,EACAznD,EACAgD,EACA0kD,EACA7Q,EACA8Q,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAKAC,EACAC,EACAC,GACJ,OAAa1B,EAAiBxnE,MAAM,SAAU4H,GAkR1C,SAASuhE,IACLJ,GAAe,GACX,SAAkBrR,IAClBkR,EAAgB9hB,GAAa,OAC7B,QAAe7T,EAAS,EAAmC,IAAoD,yCAG/G21B,EAAgB9hB,GAAaI,OAEjCkiB,GACJ,CACA,SAASA,IACD3hB,IACA7/C,EAAMyhE,eACNzhE,EAAM,QAEd,CACA,SAAS0hE,EAAgBC,GACrB,KAAMP,IAAuBA,EAAmB,SAAyCE,EAA6B,CAClH,IAAIM,EAAcD,GAAgBt2B,GAAWA,EAAQhtB,MAAM,MAAoC,EAC3FujD,IACKP,IACDA,GAA8B,EAG9BQ,GAAehC,EAAe,OAAgC,SAAUj+D,GACpE,IAAIy4D,EAAWz4D,EAAQ2O,IAAIwtD,sBACtB1D,GAAcA,EAAW,IAC1BA,EAAW,KAEf,IAAIyH,GAAY,EACZV,IAEAU,EAAYV,EAAmB,MAC/BA,EAAmB,SAGvBA,GAAqB,SAAcW,EAAoB1H,GACvD+G,EAAmBjkB,QAEnBikB,EAAmB,MAAsCU,CAC7D,MAEJV,EAAmB,OAAsC,EAEjE,CACA,OAAOA,CACX,CA+KA,SAASY,IACL,IAAIC,EAAa,CAAC,EAClBnB,EAA0B,GAC1B,IAAIoB,EAAqB,SAAUtsC,GAC3BA,IACA,SAAWA,GAAS,SAAUL,GAC1B,GAAIA,EAAO,OAA6CA,EAAO,OAAwC0sC,EAAW1sC,EAAOnX,YAAa,CAClI,IAAIne,EAAMs1B,EAAO,MAA4C,IAAMA,EAAO,KAC1EurC,EAAwB,MAA8B7gE,GACtDgiE,EAAW1sC,EAAOnX,YAAcmX,CACpC,CACJ,GAER,EACA2sC,EAAmB5B,GACfD,IACA,SAAWA,GAAgB,SAAU/B,GACjC4D,EAAmB5D,EACvB,IAEJ4D,EAAmB9B,EACvB,CACA,SAAS1mD,IACLmmC,GAAiB,EAEjBggB,GAAiB,QAAoB,CAAC,EAAGtsD,GAAevT,EAAM,OAE9D6/D,EAAetvD,IAAI,MAAgE,GAEnF,SAAUvQ,EAAO,SAAU,CACvB6V,EAAG,WAAc,OAAOgqD,EAAetvD,GAAK,EAC5C1Q,EAAG,SAAUmN,GACThN,EAAMs7C,UAAUtuC,GAAU,EAC9B,KAEJ,SAAUhN,EAAO,yBAA0B,CACvC6V,EAAG,WAIC,OAHKirD,GACDkB,IAEGlB,CACX,KAEJ,SAAU9gE,EAAO,sBAAuB,CACpC6V,EAAG,WAOC,OANKkrD,IACID,GACDkB,IAEJjB,EAAuBD,EAAwB17C,KAAK,MAEjD27C,GAAwB,IACnC,KAEJ,SAAU/gE,EAAO,SAAU,CACvB6V,EAAG,WAKC,OAJKw1B,IACDA,EAAU,IAAIltB,EAAA,GAAiB0hD,EAAetvD,KAC9CsvD,EAAe,MAAoCx0B,GAEhDA,CACX,EACAxrC,EAAG,SAAUyqD,GACTuV,EAAe,MAAoCvV,EAC/Cjf,IAAYif,IACZrF,GAAgB5Z,GAAS,GACzBA,EAAUif,EAElB,IAEJtqD,EAAM,MAAoC,IAAIme,EAAA,GAAiB0hD,EAAetvD,KAC9EswD,EAAc,GACd,IAAIsB,EAAgBniE,EAAMuK,OAAO,OAA4C,GAC7E43D,EAAcl+D,OAAO,EAAGk+D,EAAc,QACtC,SAAUA,EAAetB,GACzBL,EAA8B,IAAIjD,GAClCuC,EAAc,GACd7a,GAAgB8a,GAAsB,GACtCA,EAAuB,KACvBC,EAAe,KACfC,EAAkB,KAClBhb,GAAgBib,GAAgB,GAChCA,EAAiB,KACjBC,EAAe,KACfC,EAAoB,GACpBC,EAAiB,KACjBC,EAAY,KACZC,GAAe,EACfE,EAAyB,KACzBruB,GAAgB,QAAsB,cAAc,GACpDsuB,GAAkB,UAClBC,EAAY,KACZ7Q,EAAsB,KACtB72C,GAAiB,UACjB2nD,EAAgB,GAChBG,EAAuB,KACvBD,EAA0B,KAC1BQ,GAA8B,EAC9BF,EAAqB,KACrBC,GAA8B,EAC9BL,EAAgB,EAChBC,EAAY,KACZC,EAAqB,KACrBC,GAAe,CAEnB,CACA,SAASiB,IACL,IAAIC,GAAS,SAA8BC,IAAmBzC,EAAetvD,IAAKvQ,GAElF,OADAqiE,EAAO,MAA2CX,GAC3CW,CACX,CAEA,SAASE,EAAiBnoD,GAEtB,IAAIooD,EAAgBtE,GAAoBl+D,EAAM,MAAmCu/C,GAA2B6gB,GAC5GD,EAAe,KACfY,EAAuB,KACvBD,EAA0B,KAE1BR,GAAaD,GAAkB,IAAI,IAAM,GAEzCC,GAAY,UAAY,SAAUA,EAAWkC,EAAc,QAE3D,IAAIpE,GAAgB,UAAU,SAAYoE,EAAc,OAA+BlC,GAEvFO,GAAc,SAAUzC,GAIxB,IAAI+D,EAAgBniE,EAAMuK,OAAO,OAA4C,GAC7E43D,EAAcl+D,OAAO,EAAGk+D,EAAc,QACtC,SAAUA,EAAetB,GACzB,IAAIxnD,EAAU+oD,IAEV9B,GAAaA,EAAU,MAAoC,IAC3D,SAAkBjnD,EAAQ,MAAyCinD,GAAYlC,IAGnF,SAAkB/kD,EAAS+kD,GACvBhkD,GACAI,EAAUJ,EAElB,CACA,SAASqoD,EAAWC,GAChB,IAAIC,EAAS,KACT1sC,EAAY,KACZ2sC,EAAe,GAkDnB,OAjDA,SAAW/B,GAAa,SAAUr9B,GAC9B,GAAIA,EAAI,QAA8Ck/B,GAAoBl/B,IAAQg9B,EAE9E,OADAvqC,EAAYuN,GACJ,EAERA,EAAIq/B,YACJD,EAAa,MAA8Bp/B,EAEnD,KACKvN,GAAa2sC,EAAa,MAAoC,IAC/D,SAAWA,GAAc,SAAUt5D,GAE/B,GADA2sB,EAAY3sB,EAAKu5D,WAAWH,IACvBzsC,EACD,OAAQ,CAEhB,IAEAA,IACA0sC,EAAS,CACLptC,OAAQU,EACRsR,WAAY,SAAUlC,IAClB,SAAgBpP,GAAW,OAAiBoP,CAChD,EACAU,UAAW,WACP,IAAIvO,GAAc,SAAgBvB,GAClC,OAAQuB,EAAY,QAA0CA,EAAY,KAC9E,EACAiD,OAAQ,SAAU/a,EAASojD,GACvB,IAAI99D,OACY,IAAZ0a,IAAsBA,GAAU,GACpC,IAAIqjD,EAAkB,CAAC9sC,GACnBpc,GAAe7U,EAAK,CAChBtC,OAAQ,GAEZsC,EAAG,MAAoC0a,EACvC1a,GACJg+D,EAAeD,EAAiBlpD,GAAa,SAAUopD,GAC/CA,GAEAV,EAAiB,CACb7/D,OAAQ,GACRugE,QAASF,IAGjBD,GAAYA,EAASG,EACzB,GACJ,IAGDN,CACX,CACA,SAASL,IACL,IAAKnC,EAAc,CAEf,IAAIxmD,GAAcknD,GAAe,IAAI/0B,SAEwB,KAAzD,SAAWnyB,EAAY6mD,IACvB7mD,EAAW,MAA8B6mD,GAE7CL,GAAe,UAA0B,SAAYxmD,GAAakmD,EAAetvD,IAAKvQ,EAC1F,CACA,OAAOmgE,CACX,CACA,SAAS6C,EAAef,EAAYpoD,EAAaqpD,GAC7C,GAAIjB,GAAcA,EAAW,MAAoC,EAAG,CAChE,IAAIkB,GAAc,SAA0BlB,EAAYpC,EAAetvD,IAAKvQ,GACxE4Z,GAAY,SAAoCupD,EAAanjE,GACjE4Z,EAAU,OAA2C,WACjD,IAAIqpD,GAAU,EAEVG,EAAsB,IAC1B,SAAWhD,GAAmB,SAAU7qC,EAAQ3gB,GACvC6pD,GAAiBlpC,EAAQ0sC,GAI1BgB,GAAU,EAHVG,EAAoB,MAA8B7tC,EAK1D,IACA6qC,EAAoBgD,EACpBrC,EAAuB,KACvBD,EAA0B,KAE1B,IAAIuC,EAAmB,GACnBhD,KACA,SAAWA,GAAgB,SAAUhiD,EAAOzJ,GACxC,IAAI0uD,EAAW,IACf,SAAWjlD,GAAO,SAAUklD,GACnB9E,GAAiB8E,EAAStB,GAI3BgB,GAAU,EAHVK,EAAS,MAA8BC,EAK/C,IACAF,EAAiB,MAA8BC,EACnD,IACAjD,EAAiBgD,GAErBH,GAAkBA,EAAeD,GACjCvB,GACJ,IACA9nD,EAAU,MAA6CC,EAC3D,MAEIqpD,GAAe,EAEvB,CACA,SAASnB,IACL,GAAI12B,GAAWA,EAAQhtB,MAAO,CAC1B,IAAIA,EAAQgtB,EAAQhtB,MAAMytB,MAAM,GAChCT,EAAQhtB,MAAM,MAAoC,GAClD,SAAWA,GAAO,SAAUW,GACxB,IAAIha,EACAyyB,GAAQzyB,EAAK,CAAC,EACdA,EAAG,MAA6By7D,GAAkD,sBAAwBzhD,EAAW,MACrHha,EAAG,MAA8B8qD,EACjC9qD,EAAG,OAA6B,QAAY,IAAI3E,MAChD2E,EAAG7H,SAAW,KAAoBsD,SAClCuE,EAAG1H,SAAW,CAAEtG,QAASgoB,EAAW,OACpCha,GACJhF,EAAMwjE,MAAM/rC,EAChB,GACJ,CACJ,CACA,SAASiU,EAAehsB,EAAS+yC,EAAUiD,EAAY+N,GAEnD,IAAI1G,EAAU,EACV2G,GAAgB,EAChBC,EAAU,KAEd,SAASC,IACL7G,IACI2G,GAA6B,IAAZ3G,IACjB4G,GAAWA,EAAQ,QACnBA,EAAU,KACVlR,GAAYA,EAASiR,GACrBjR,EAAW,KAEnB,CACA,GAVAgR,EAAYA,GAAa,IAUrBnD,GAAaA,EAAU,MAAoC,EAAG,CAC9D,IAAIuD,EAAWzB,IAAgB,MAAyC9B,GACxEuD,EAASpvC,SAAQ,SAAUc,GACvB,GAAIA,EAAOoW,MAAO,CACdoxB,IACA,IAAI+G,GAAY,EAEXvuC,EAAOoW,MAAMjsB,GAAS,WACvBokD,GAAY,EACZF,GACJ,GAAGlO,IACMoO,IAIGpkD,GAAsB,MAAXikD,EACXA,GAAU,UAAgB,WACtBA,EAAU,KACVC,GACJ,GAAGH,GAGHG,IAIhB,CACJ,GACJ,CAGA,OAFAF,GAAgB,EAChBE,KACO,CACX,CACA,SAASG,IAEL,IAAIC,EAEJnC,GAAehC,EAAe,OAAgC,SAAUj+D,GACpE,IAAIqiE,EAAgBriE,EAAQ2O,IAAI0zD,cAChC,GAAIA,EAAe,CACf,IAAIC,EAAgBtiE,EAAQ2O,IAAI,MAC5ByzD,IAAmBE,IACdA,IACDA,EAAgBlG,KAGpB,QAAYp8D,EAAQ2O,IAAK,KAAqB2zD,GAC9CF,EAAiBE,EAEjBjE,EAAkB,MAGjBD,GAAiBC,KAAmB,SAAWiE,KAEhDjE,EAAkBiE,EAAclkE,EAAOA,EAAM,SAErD,MAGIigE,EAAkB,KAElB+D,EAAiB,IAEzB,IACJ,CACA,SAASxpD,EAAUJ,GACf,IAAID,GAAY,SAAoCmoD,IAAmBtiE,GACvEma,EAAU,MAA2CunD,GAChD1hE,EAAMmkE,cAA6D,IAA9CnkE,EAAMmkE,YAAYhqD,EAAWC,IACnDD,EAAU,MAA6CC,EAE/D,CACA,SAASgqD,EAAiBptE,GACtB,IAAIwG,EAASwC,EAAM,MACfxC,IAEA,QAAeA,EAAQ,EAAkC,GAA8CxG,GACvG0qE,MAGA,QAAW1qE,EAEnB,CACA,SAASqtE,GAAoB9gC,GACzB,IAAIlR,EAAUryB,EAAM,QAChBqyB,GACAA,EAAQ,MAAoD,CAACkR,GAAgB,EAErF,CACA,SAASs+B,GAAe3zC,GACpBjV,EAAerD,IAAIsY,EACvB,CAx2BAxU,IAEA1Z,EAAM,qBAAuB,WACzB,MAAO,CAAC6gE,EAAaf,EACzB,EACA9/D,EAAM,MAAmD,WAAc,OAAO6/C,CAAgB,EAE9F7/C,EAAM81D,aAAe,WAAc,OAAOkL,CAAe,EAGzDhhE,EAAMskE,kBAAoB,WACtBtD,EAAgB,CACpB,EAEAhhE,EAAM,MAA4C,SAAUuK,EAAQoP,EAAYnc,EAAQgiE,GAChFe,IACA,QAAW5C,IAGX39D,EAAM,UACN,QAAW,6CAEf6/D,GAAiB,QAAoBt1D,EAAQgJ,GAAe/V,GAAUwC,EAAM,OAAmC,GAE/GuK,EAASs1D,EAAetvD,IAExBsxD,GAAehC,EAAe,OAAgC,SAAUj+D,GACpE,IAAI2iE,EAAU3iE,EAAQ2O,IAClBi0D,EAA8B,IAAlBxD,EAChB,IAAIwD,EAAJ,CAIAtD,EAAqBqD,EAAQE,mBAAqB5G,GAElD,IAAI6G,EAAOH,EAAQ,MACfl6D,EAAck6D,EAAQl6D,YAC1B,IAAI,SAAkBq6D,GAAtB,CACI5U,EAAsB,KAEtBkR,EAAgB9hB,GAAa,MAC7B,IAAIrhC,EAAM,qCACLgiC,IAKD,QAAexU,EAAS,EAAmC,IAAyDxtB,GACpH2jD,MAJA,QAAW3jD,EAOnB,KAdA,CAeA,IAAI8mD,EAAW,GAkBf,IAjBI,SAAcD,IACdC,EAAS,MAA8BD,GACvC5U,EAAsB,MAItBA,EAAsB4U,GAEtB,SAAcr6D,IACds6D,EAAS,MAA8Bt6D,GACvC42D,EAAY,MAIZA,EAAY52D,EAGZs6D,EAAS,MAAmC,CAE5CxD,GAAe,EACfH,EAAgB,EAChB,IAAI4D,GAAc,QAAqBL,EAAQM,aAAeN,EAAQM,YAAc/G,GAChFgH,GAAc,SAA4BH,IACjC,UAAgB,WAKpBxD,GACDI,GAER,GAAGqD,IACH,SAAgBE,GAAa,SAAU32B,GACnC,IACI,GAAIgzB,EAGA,OAEJ,IAAKhzB,EAAS6N,SAAU,CACpB,IAAIvU,EAAS0G,EAAS,MACtB,GAAI1G,GAAUA,EAAO,MAAmC,CAEpD,IAAIs9B,EAAUt9B,EAAO,GAGrB,GAFAqoB,EAAsBiV,GAAWA,EAAQ,MAErCt9B,EAAO,MAAoC,EAAG,CAC9C,IAAIu9B,EAAcv9B,EAAO,GACzBw5B,EAAY+D,GAAeA,EAAY,KAC3C,CACJ,CACIlV,IAEAvlD,EAAO,MAA6DulD,EACpEvlD,EAAOF,YAAc42D,EAE7B,CAIAM,GACJ,CACA,MAAOriE,GACEiiE,GACDI,GAER,CACJ,GACJ,MAGIA,IAMJ,IAAIpsC,EAASvzB,EAAQyP,IAAIzP,EAAQ2O,IAAK,OACtC,SAAc4kB,GAAQ,SAAU13B,GAC5BmE,EAAQyP,IAAI8jB,EAAQ13B,EACxB,GAlFA,CAnBA,CAsGJ,KACAsiE,EAAuBP,EAEvBvjD,EAAiBqjD,GAAmBO,EAAgB5mD,EAAgB8mD,GAAwB//D,EAAM,QAAmDic,GACrJ8nD,IACA/jE,EAAM,MAAoCxC,EAC1C,IAAI2kE,EAAgB53D,EAAO,MAS3B,GAPA61D,EAAoB,GACpBA,EAAkB,MAA8B6E,MAAM7E,GAAmB,SAAc,QAAc,GAAIzmD,GAAY,GAAQwoD,GAAe,IAC5I9B,EAAiB91D,EAAO,MACxBg4D,EAAiB,MACZjC,GAA6D,IAAhDA,EAAU,QACxB,QAAW,MAAQ,KAAe,cAElCD,GAAkBA,EAAe,MAAoC,EAAG,CACxE,IAAI6E,EAAgBllE,EAAM,MAAyC,wBAC9DklE,GAAkBA,EAAc3vC,SACjC,QAAe8V,EAAS,EAAmC,GAAmD,sBAEtH,CACA+zB,GAA4B70D,EAAQq2D,EAAev1B,GACnDu1B,EAAgB,KAChB/gB,GAAiB,EACbmhB,IAAkB9hB,GAAaI,QAC/BkiB,GAER,EACAxhE,EAAMmlE,YAAc,WAChB,IAAIC,EAAW,GAMf,OALI9E,IACA,SAAWA,GAAW,SAAUiD,GAC5B6B,EAAS,MAA8B7B,EAC3C,KAEG,SAAU6B,EACrB,EACAplE,EAAMwjE,MAAQ,SAAUjgC,IACpB,SAAOvjC,EAAM,SAA8C,WAAc,MAAO,uBAAyB,IAAG,WAClF,OAAlBujC,IACA8gC,GAAoB9gC,IAEpB,QAAW,4BAGVA,EAAc,QAAiC,SAAkBA,EAAc,SAChF8gC,GAAoB9gC,IACpB,QAAW,4BAGfA,EAAc,MAAiCA,EAAc,OAAkCusB,EAE/FvsB,EAAc,MAAgCA,EAAc,QAAiC,QAAY,IAAIljC,MAE7GkjC,EAActjC,IAAMsjC,EAActjC,KAAO,OACpCsgE,GAAgBvgE,EAAM,SAAsDghE,IAAkB9hB,GAAaI,OAE5G8iB,IAAgB,MAA6C7+B,GAExDy9B,IAAkB9hB,GAAa,OAEhC4gB,EAAY,OAAqCoB,GAEjDpB,EAAY,MAA8Bv8B,EAGtD,IAAG,WAAc,MAAO,CAAG9L,KAAM8L,EAAkB,IAAKA,EAAkB,KAC9E,EACAvjC,EAAM,MAAiEoiE,EACvEpiE,EAAM,MAAkD,WAMpD,OALK+/D,IACDA,EAAuB,IAAIpD,GAAoBkD,EAAetvD,KAE9DvQ,EAAM09D,IAA0BqC,GAE7BA,CACX,EAOA//D,EAAM,MAAoE,SAAUuc,GAChFvc,EAAMqlE,eAAe,MAAkE9oD,EAC3F,EAKAvc,EAAM,MAAuE,SAAUuc,GAC/EwjD,GACAA,EAAqB,MAAqExjD,EAElG,EACAvc,EAAMwmC,aAAe,WAIjB,OAHK05B,IACDA,EAAiBt6B,GAAgBi6B,EAAetvD,IAAKvQ,EAAM,QAExDkgE,CACX,EACAlgE,EAAMslE,aAAe,SAAUx/B,GACvBo6B,IAAmBp6B,IACnBmf,GAAgBib,GAAgB,GAChCA,EAAiBp6B,EAEzB,EACA9lC,EAAM,MAA6C,WAC/C,OAAOggE,GAAgBC,IAAmB,UAC9C,EACAjgE,EAAMulE,WAAa,SAAU1yC,GACzBmtC,EAAentC,CACnB,EACA7yB,EAAMwlE,SAAW,WACb,OAAO1F,EAAY,KACvB,EACA9/D,EAAMyhE,aAAe,WACjB,GAAI5hB,GAAkBigB,EAAY,MAAoC,EAAG,CACrE,IAAI2F,EAAa3F,EACjBA,EAAc,GACQ,IAAlBkB,GACA,SAAWyE,GAAY,SAAUniD,GAC7BA,EAAM,MAAiCA,EAAM,OAAkCwsC,EAC/EsS,IAAgB,MAA6C9+C,EACjE,KAIA,QAAe+nB,EAAS,EAAkC,GAA0D,iCAE5H,CACJ,EACArrC,EAAM,MAA0D,SAAUqjB,GAItE,OAHAo9C,EAAyBp9C,GAAa,KACtCi+C,GAA8B,EAC9BF,GAAsBA,EAAmB,QAClCM,GAAgB,EAC3B,EAiDA1hE,EAAM,MAAoE,WACtEshE,GAA8B,EAC9BF,GAAsBA,EAAmB,QACzCW,GACJ,GAEA,QAAe/hE,GAAO,WAAc,OAAOwgE,CAA6B,GAAG,CAAC,4BAC5ExgE,EAAM,MAAoC,SAAU0f,EAASgmD,EAAgBjC,GACzE,IAAIz+D,OACY,IAAZ0a,IAAsBA,GAAU,GAC/BmgC,IAED,QAAW+d,IAGX2C,IAEA,QAAW5C,IAEf,IAMIx8D,EANA0Y,GAAe7U,EAAK,CAChBtC,OAAQ,IAEZsC,EAAG,MAAoC0a,EACvC1a,EAAG2gE,eAAgB,EACnB3gE,GAEA0a,IAAYgmD,IACZvkE,GAAS,UAAc,SAAUghD,GAE7BujB,EAAiBvjB,CACrB,KAEJ,IAAIyjB,GAAmB,SAAoCtD,IAAmBtiE,GAS9E,SAASu6B,EAAUorC,GACf9rD,EAAY8rD,cAAgBA,EAC5BpF,GAAe,EAEfG,EAAgBxmD,IAAI0rD,EAAkB/rD,GAEtC7Z,EAAM,QAEN4lE,EAAiB,MAA6C/rD,EAClE,CAKA,OAtBA+rD,EAAiB,OAA2C,WACxD3sD,EAAeiB,IAAIla,EAAM,OAEzBklD,GAAY,CAACgb,EAAgBH,EAAsB10B,GAAU3rB,GAAS,WAClEhG,IACAgsD,GAAkBA,EAAe7rD,EACrC,GACJ,GAAG7Z,GAWH+hE,IACKr2B,EAAehsB,EAAS6a,EAAW,EAAqCkpC,IACzElpC,GAAU,GAEPp5B,CACX,EACAnB,EAAM,MAA2CyiE,EACjDziE,EAAM6lE,UAAY,SAAUtwC,EAAQuwC,EAAiBpmD,EAASqmD,GAC1D,IAAKxwC,EAGD,OAFAwwC,GAASA,GAAM,QACf3B,EAAiB3G,IAGrB,IAAIuI,EAAiBvD,EAAWltC,EAAO,OACvC,GAAIywC,IAAmBF,EAGnB,OAFAC,GAASA,GAAM,QACf3B,EAAiB,WAAa7uC,EAAO,MAA4C,wBAGrF,IAAInb,EAAc,CACd1X,OAAQ,IAEZ,SAASujE,EAAWhD,GAChB7C,EAAkB,MAA8B7qC,GAChDnb,EAAY8M,MAAQ,CAACqO,GAErBgtC,EAAiBnoD,GACjB2rD,GAASA,GAAM,EACnB,CACA,GAAIC,EAAgB,CAChB,IAAIE,EAAmB,CAACF,EAAezwC,QACnC1b,EAAc,CACdnX,OAAQ,EACRgd,UAAWA,GAEfsjD,EAAekD,EAAkBrsD,GAAa,SAAUopD,GAC/CA,GAKD7oD,EAAY6oD,QAAUiD,EACtB9rD,EAAY1X,QAAU,GACtBujE,GAAW,IALXF,GAASA,GAAM,EAOvB,GACJ,MAEIE,GAAW,EAEnB,EACAjmE,EAAMs7C,UAAY,SAAUlmB,EAAW+wC,GAEnC,IAAI/rD,EACJ,QAFsB,IAAlB+rD,IAA4BA,GAAgB,GAE5CnmE,EAAM,QAAoD,CAC1Doa,EAAc,CACV1X,OAAQ,EACR6N,IAAKsvD,EAAetvD,IACpB61D,QAAQ,SAAW,CAAC,EAAGvG,EAAetvD,KACtC6kB,WAAW,SAAW,CAAC,EAAGA,GAC1BypC,MAAOsH,GAEX/wC,EAAYhb,EAAYgb,UACxB,IAAI7kB,EAAMsvD,EAAetvD,IAIzB6kB,EAAU,MAA2C7kB,EAAI,MACzD6kB,EAAU,MAAuC7kB,EAAI,KACzD,CAGAsvD,EAAeptD,QAAO,SAAU7Q,GAE5B,IAAImO,EAAYnO,EAAQ2O,IACxBouD,GAAiB/8D,EAASmO,EAAWqlB,EAAW+wC,GAC3CA,IAED,SAAcp2D,GAAW,SAAUtS,IAC1B,SAAU23B,EAAW33B,IAEtBmE,EAAQgO,IAAIG,EAAWtS,EAAK,KAEpC,IAGJmE,EAAQ,MAAiCmO,EAAWwD,GACxD,IAAG,GAEHssD,EAAe,QACXzlD,GACAI,EAAUJ,EAElB,EACApa,EAAMglB,aAAe,WACjB,OAAOotB,CACX,EACApyC,EAAM2rC,MAAQD,EACd1rC,EAAMi0C,YAAc,SAAUoyB,GAI1B,OAHK1F,IACDA,GAAY,YAETA,CACX,EACA3gE,EAAMsmE,YAAc,SAAUC,GAC1B5F,EAAY4F,GAAY,IAC5B,EACAvmE,EAAM65D,cAAgBgI,IAEtB,QAAgB7hE,EAAO,eAAe,WAAc,OAAO0gE,CAAiB,GAAG,OAC/E1gE,EAAMwmE,YAAc,SAAU30D,GAC1B,IAAI8tD,EAOJ,OAFIA,EAJC9f,GAIY,QAAeggB,EAAetvD,IAAKsB,EAAS7R,EAAM,OAHlDk/D,GAAuB0B,EAAe/uD,GAKhD6tD,GAAkBC,EAC7B,EACA3/D,EAAMymE,UAAY,WACd,OAAQ,YAAmB5G,EAAetvD,IAAIm2D,aAAgB,GAAK,CACvE,CA4XJ,GACJ,CAmCA,OAFA9G,EAAgB7kD,QAAQ,EAEjB6kD,CACX,CAv7BoC,GC1LzBtuE,GAAe,WACfq1E,GAAiB,aCCjBC,GAAmB,aACnBC,GAAY,OACZ,GAAc,SACdl1E,GAAgB,UAChBkuC,GAAe,SACfC,GAAmB,aACnBgnC,GAAe,UACfC,GAAe,UACfC,GAAiB,UACjBC,GAAgB,SAChB,GAAiB,WACjB,GAAY,OACZC,GAA6B,4BAC7BC,GAAwB,iBACxBznC,GAAe,UACf0nC,GAAuB,iBACvBxnC,GAA0B,mBAC1BynC,GAA6B,8BAC7B,GAAkB,YAClBz5D,GAAqB,cACrB05D,GAA6B,8BAC7BC,GAA6B,4BAC7BC,GAA6B,yBAC7BC,GAA6B,sBAC7BC,GAA6B,yCAC7BC,GAA2B,oBAC3BC,GAA6B,sBAC7BC,GAA8B,sBAC9BC,GAA8B,uBAC9BC,GAA8B,+BAC9B9oC,GAAc,SACd+oC,GAAmB,aACnBC,GAAkB,YAClBC,GAAiB,WACjBC,GAAiB,WACjBC,GAAyB,kBACzBC,GAAkB,YAClBC,GAAoB,aACpBC,GAAuB,gBACvBl5D,GAAc,SACdm5D,GAAyB,kBACzBC,GAA8B,sBAC9BC,GAAqB,eACrBC,GAA8B,uBAC9BC,GAA0B,kBAC1BC,GAAgB,WAChBC,GAA8B,wBAC9BC,GAAuB,gBACvBC,GAAiB,WACjBt3E,GAAY,OACZu3E,GAAmB,aACnB,GAAiB,YACjBC,GAA8B,yBAC9BC,GAA2B,qBAC3BC,GAA2B,oBAC3BC,GAAuB,gB,YCxDlC,SAASC,GAAkBC,EAAe/8D,EAAOC,GAC7C,IAAItL,EAAS,EACTigC,EAAOmoC,EAAc/8D,GACrB20B,EAAKooC,EAAc98D,GAIvB,OAHI20B,GAAQD,IACRhgC,GAAS,QAAsBigC,EAAMD,IAElChgC,CACX,CAEA,SAASqoE,GAAiBxgB,EAAOxxD,EAAM+xE,EAAe/8D,EAAOC,GACzD,IAAItL,EAAS,EACT/C,EAAQkrE,GAAkBC,EAAe/8D,EAAOC,GAIpD,OAHIrO,IACA+C,EAASsoE,GAAczgB,EAAOxxD,GAAM,QAAa4G,KAE9C+C,CACX,CAEA,SAASsoE,GAAczgB,EAAOxxD,EAAM4G,GAChC,IAAIsrE,EAAU,WACVvoE,EAAS,EACb,GAAI6nD,GAASxxD,GAAQ4G,EAAO,CACxB,IAAIurE,EAAW3gB,EAAM0gB,GAAY1gB,EAAM0gB,IAAY,CAAC,EACpDC,EAASnyE,GAAQ4G,EACjB+C,EAAS,CACb,CACA,OAAOA,CACX,CAEA,SAASyoE,GAAkBC,EAAUC,GAqBjC,IAAIP,EAAgBM,EAASZ,IACzBjgB,EAAQ8gB,EAAWnD,KAA4C,CAAC,EAChEoD,EAAW,EACXC,EAAU,OACVC,EAAW,QACXC,EAAS,MACTC,EAAkB,eAClBC,EAAa,UACbC,EAAc,WACdC,EAAa,UACbC,EAAc,WACdC,EAAe,YACfC,EAAuBN,EAAkBF,EACzCS,EAAqBP,EAAkBD,EACvCS,EAAkBP,EAAaH,EAC/BW,EAAgBR,EAAaF,EAC7BW,EAAkBP,EAAaL,EAC/Ba,EAAgBR,EAAaJ,EAC7Ba,EAAmBR,EAAcN,EACjCe,EAAiBT,EAAcL,EAC/Be,EAAmBZ,EAAcJ,EACjCiB,EAAiBb,EAAcH,EAC/BiB,EAAkB,eAClBC,EAAqB,kBACrBC,EAAqB,kBACrBC,EAAkB,eACtB,GAAI/B,EAAe,CAEfQ,GAAYP,GAAiBxgB,EAAOqhB,EAAad,EAAe0B,EAAkBC,GAElFnB,GAAYP,GAAiBxgB,EAAOmhB,EAAiBZ,EAAekB,EAAsBC,GAE1FX,GAAYP,GAAiBxgB,EAAOohB,EAAYb,EAAeoB,EAAiBC,GAEhFb,GAAYP,GAAiBxgB,EAAOshB,EAAYf,EAAesB,EAAiBC,GAEhFf,GAAYP,GAAiBxgB,EAAOuhB,EAAahB,EAAewB,EAAkBC,GAElFjB,GAAYP,GAAiBxgB,EAAO,iBAAkBugB,EAAeiB,EAAcI,GAEnFb,GAAYP,GAAiBxgB,EAAO,cAAeugB,EAAesB,EAAiBG,GAEnF,IAAI1jE,EAAWiiE,EAAcj4E,IACxBgW,IACDA,EAAWgiE,GAAkBC,EAAeiB,EAAcQ,IAAmB,GAEjFjB,GAAYN,GAAczgB,EAAO13D,GAAcgW,GAC/CyiE,GAAYN,GAAczgB,EAAO,YAAa1hD,GAC9C,IAAIikE,EAAehC,EAAc+B,GACjC,GAAIC,EAAc,CACd,IAAIC,EAAW,CAAC,GAChB,SAAWD,GAAc,SAAUntE,EAAOwW,GACtC,IAAIpd,GAAO,QAAgB4G,EAAM4rE,IAAY,GAAKp1D,GAC9C5H,EAAWw+D,EAASh0E,IAAS,CAAC,GAClC,SAAc4G,GAAO,SAAUX,EAAKg7C,IAC5Bh7C,IAAQusE,IAAW,SAASvxB,KAAQ,SAASA,MACzCzrC,EAASvP,KACTg7C,EAAMzrC,EAASvP,GAAO,IAAMg7C,IAE5BA,IAAQ,SAASA,KAEjBzrC,EAASvP,GAAOg7C,GAG5B,IACA+yB,EAASh0E,GAAQwV,CACrB,IACA+8D,GAAYN,GAAczgB,EAAOsiB,EAAiBE,EACtD,CACAzB,GAAYN,GAAczgB,EAAOmiB,EAAiB5B,EAAc4B,IAChEpB,GAAYN,GAAczgB,EAAOoiB,EAAoB7B,EAAc6B,IACnErB,GAAYN,GAAczgB,EAAOqiB,EAAoB9B,EAAc8B,GACvE,MAEQxB,EAASb,MACTe,GAAYN,GAAczgB,EAAO,UAAW6gB,EAAS4B,eAGzD1B,IACAD,EAAWnD,IAA2C3d,EAE9D,CACA,IC3II,GD2IA0iB,GAAoC,WACpC,SAASA,IACL,IAAInzD,EAAOngB,KACXmgB,EAAK2vD,KAAyC,EAC9C3vD,EAAKozD,sBAAuB,EAC5BpzD,EAAK4vD,KAAyC,EAC9C5vD,EAAK8vD,KAA2C,EAEhD9vD,EAAKkwD,KAAiE,CAC1E,CACA,OAAOiD,CACX,CAXuC,GAanCE,GAA4B,WAC5B,SAASA,EAAWvwC,EAASC,EAAQ99B,EAAQ+oE,GACzC,IAAIvhE,EACAuT,EAAOngB,KACPizC,EAAU7tC,EACVquE,EAAkB,eAGtBtzD,EAAKywD,IAAyC,KAC9CzwD,EAAKuzD,WAAY,EACjBvzD,EAAKwzD,mBAAqB,KAC1BxzD,EAAK6uD,IAAqD,KAC1D7uD,EAAKyzD,0BAA4B,KACjCzzD,EAAK0zD,iBAAmB,KACxB1zD,EAAK6wD,IAA4D,KACjE7wD,EAAKwuD,IAAsC,EAC3CxuD,EAAKq2B,QAAU,KACfr2B,EAAKquD,IAA6C,KAClDruD,EAAK2zD,YAAc,EACnB3zD,EAAKlJ,IAAoC,KACzCkJ,EAAK0mB,IAAoC,KACzC1mB,EAAK6vD,IAAwD,KAC7D7vD,EAAK4zD,oBAAsB,KAC3B5zD,EAAKowD,IAAkE,KACvEpwD,EAAK6zD,qBAAuB,KAC5B7zD,EAAK8zD,QAAU,KACf9zD,EAAK+zD,mBAAqB,IAAIZ,GAC9BnzD,EAAKg0D,cAAgB,EACrBh0D,EAAK5mB,IAAuC0pC,EAC5C9iB,EAAKsnB,IAAqCvE,EAC1C/iB,EAAKunB,IAA0D,OAAbymC,QAAkC,IAAbA,OAAsB,EAASA,EAASh5D,gBAE3GgL,EAAK8wD,IADL9C,GAC0DvhE,EAAK,CAAC,EAC5DA,EAAGgiE,IAAqCT,EAAS+B,MACjDtjE,EAAGiiE,IAAmCV,EAASn5D,YAC/CpI,EAAG86B,IAA0CymC,EAASgC,MACtDvjE,GAGqD,MAE7D,OAAa4mE,EAAYrzD,GAAM,SAAUA,GACrCA,EAAKi0D,eAAiB,WAClB,OAAOj0D,EAAKquD,KAA6C,SAAkBruD,EAAKquD,KAA8C,IAClI,EACAruD,EAAKk0D,YAAc,WACf,OAAOl0D,EAAKquD,KAA6C,QAAgBv7B,GAAS,SAAkB9yB,EAAKlJ,IAAmCkJ,EAAKquD,MAA+C,IACpM,EACAruD,EAAKqwD,IAAyD,SAAU8D,EAAUC,EAA6BC,GAC3G,IAAI5nE,EAGJ,GADAuT,EAAKs0D,kBAAoBt2E,KAAKC,MAA+E,KAAzE,QAAsB+hB,EAAKu0D,gBAAiBv0D,EAAKw0D,uBAAgC,IACjHx0D,EAAK6wD,IAA4D,EACjE,OAAO,KAEX,IAAIU,GAAc9kE,EAAK,CACfxF,GAAI,IAAM+Y,EAAK5mB,IAAuC,IAAM4mB,EAAKsnB,IACjEv3B,OAAQiQ,EAAK4uD,OAEjBniE,EAAGtT,IAA6B6mB,EAAKk0D,cACrCznE,EAAGuD,KAAOmkE,EACV1nE,EAAG,IAAwC,KAC3CA,EAAGsC,SAAWiR,EAAK6wD,IACnBpkE,EAAGkD,SAAaqQ,EAAK0mB,KAAuC,MAAU1mB,EAAK0mB,IAAsC,IACjHj6B,EAAG0jD,cAAkBnwC,EAAK0mB,IAC1Bj6B,EAAG2hE,IAAkB,CAAErxE,WAAYijB,EAAKlJ,KACxCrK,GACAgkD,EAAQ8gB,EAAWnD,IAgBvB,GAfIpuD,EAAKwuD,MACL/d,EAAM+d,KAAsC,GAE5CxuD,EAAK6vD,MAEL0B,EAAW,IAA2C,IAAIzpE,KAC1DypE,EAAW,IAAyC/hC,QAAQxvB,EAAK6vD,MAGrEwB,GAAkBrxD,EAAMuxD,GACpB6C,IACI,SAAQp0D,EAAKuqC,gBAAgB,IAAoC,IACjEkG,EAAMoe,IAAqD7uD,EAAK6uD,KAGpEwF,EAAa,CACb,IAAIz+B,EAAWy+B,IACf,GAAIz+B,EAAU,CAEV,IAAI9lC,EAAqB8lC,EAASg7B,IASlC,GARI9gE,IACAyhE,EAAWzhE,mBAAuDA,GAElE8lC,EAAS85B,MACL,SAAQ95B,EAAS6+B,WAAW,IAAoC,IAChEhkB,EAAMikB,gBAAkB9+B,EAAS85B,KAGrC1vD,EAAKiwD,IACL,GAAIjwD,EAAK0mB,KAAqC,IAAK,CAC/C,IAAIiuC,EAAe/+B,EAAS5lC,KACP,KAAjB2kE,GAAwC,SAAjBA,IACvBlkB,EAAMr9B,aAAewiB,EAASxiB,aAAewiB,EAAS65B,IAA6C,MAAQ75B,EAAS09B,GAAmB19B,EAAS65B,KAE/H,SAAjBkF,IACAlkB,EAAMr9B,aAAewiB,EAASA,SAAWA,EAAS65B,IAA6C,MAAQ5mE,KAAK4c,UAAUmwB,EAAS06B,KAAyC16B,EAAS65B,IAEzL,MACoD,IAA3CzvD,EAAK0mB,MACV+pB,EAAMr9B,aAAewiB,EAAS65B,KAA8C,GAGxF,CACJ,CACA,OAAO8B,CACX,EACAvxD,EAAKwwD,IAAoD,WACrD,IAAI/jE,EACAmoE,EAAQ,KACR5G,EAAWhuD,EAAK8wD,IACpB,GAAI9C,IAAaA,EAASS,KAAyCT,EAASU,KAAsC,CAC9GkG,EAAQ,CAAC,EACT,IAAIC,EAAWD,EAAM,KAAWlxE,WAAa+I,EAAK,CAAC,EAC/CA,EAAGrT,IAAoC40E,EAASS,IAChDhiE,EAAGqI,SAAWk5D,EAASU,IACvBjiE,IACC,SAAkBuhE,EAASzmC,OAC5BstC,EAASttC,IAA6CymC,EAASzmC,IAEvE,CACA,OAAOqtC,CACX,CACJ,GACJ,CASA,OAFAvB,EAAW7wD,QAAQ,EAEZ6wD,CACX,CA7I+B,GC9I3ByB,GAAa,UACbC,GAAsB,YACtBC,GAAY,QACZC,GAAe,mCACfC,GAAe,wCACfC,GAAgBD,GAAe,oBAC/BE,GAAiBF,GAAe,iBAChCG,GAA2B,gHAC3BC,GAA+B,iGAC/BC,GAAqC,2CAErCC,GAAa,EAEjB,SAASC,KACL,IAAIC,GAAU,WACd,OAAKA,IACD,SAAkBA,EAAQlyB,WAC1B,SAAkBkyB,EAAQlyB,QAAQ,UAClC,SAAkBkyB,EAAQV,KACnB,KAEJU,EAAQV,GACnB,CAMA,SAASW,GAAwBC,EAAqBC,GAClD,IAAIppE,EAAIM,EACJnE,GAAS,EACb,IAAI,WAAkB,CAClB,IAAI8f,EAAQ2L,eAAe,OAC3BzrB,IAAU,SAAkB8f,MACvB,SAAkBA,EAAM4L,SACxB,SAAkB5L,EAAM07B,SACxB,SAAkB17B,EAAMotD,MACjC,CACA,IAAIxX,GAAQ,WAIZ,GAHIA,GAASA,EAAQ,IACjB11D,GAAS,GAETA,EAEA,IACI,IAAIuqB,EAAM,IAAIkB,eACV0hD,EAAU,CACVC,GAAI,GACJzwE,GAAIkH,EAAK,CAAC,EACNA,EAAGopE,GAAc,CAAC,EAClBppE,IAER0mB,EAAI4hD,IAAuBgB,EAE3B,IAAIE,EAAU5hD,eAAe,OAAcC,KAC3CD,eAAe,OAAcC,KAAO2hD,CACxC,CACA,MAAOtvE,GAEHiC,GAAS,EACTstE,GAAuBN,EAAqB,GAAoD,0EAA2E7oE,EAAK,CAAC,EAC7KA,EAAG,KAAuC,SAAQpG,GAClDoG,GACR,CAEJ,OAAOnE,CACX,CAOA,IAAIutE,GAAe,SAAUhjD,EAAK0iD,GAC9B,OAAI1iD,GAAO0iD,GAAc1iD,EAAI4hD,KACjB5hD,EAAI4hD,IAAqBxvE,GAAK,CAAC,GAAGswE,GAEvC,IACX,EAOIO,GAAuB,SAAUjjD,EAAKl0B,EAAM4G,GAC5C,GAAIstB,EAAK,CACL,IAAIsB,GAAWtB,EAAI4hD,KAAwB,CAAC,GAAGiB,GAC3CvhD,GACAA,EAAQgf,KAAK,CACTx3B,EAAGhd,EACHgZ,EAAGpS,GAGf,CACJ,EACIwwE,GAAe,SAAUljD,EAAKl0B,GAC9B,IAAIw1D,GAAY,EAChB,GAAIthC,EAAK,CACL,IAAIsB,GAAWtB,EAAI4hD,KAAwB,CAAC,GAAGiB,GAC3CvhD,IACA,SAAWA,GAAS,SAAUI,GAC1B,GAAIA,EAAO5Y,IAAMhd,EAEb,OADAw1D,GAAY,GACJ,CAEhB,GAER,CACA,OAAOA,CACX,EAEA,SAAS6hB,GAAiCnjD,EAAK0iD,GAC3C,IAAIjtE,EAAS,GACb,IACI,IAAI0oE,EAAW6E,GAAahjD,EAAK0iD,GAC7BvE,GAAYA,EAASjD,MACrBzlE,GAAU,UAAY0oE,EAASjD,IAA6C,KAEpF,CACA,MAAO1nE,GAEP,CACA,OAAOiC,CACX,CAEA,SAASstE,GAAuBN,EAAqBvwD,EAAO5mB,EAAS+H,EAAY+e,IAC7E,QAAeqwD,EAAoBd,MAAe,EAAmCzvD,EAAO5mB,EAAS+H,EAAY+e,EACrH,CAEA,SAASgxD,GAAsBX,EAAqBvwD,EAAO5mB,EAAS+H,EAAY+e,IAC5E,QAAeqwD,EAAoBd,MAAe,EAAkCzvD,EAAO5mB,EAAS+H,EAAY+e,EACpH,CAEA,SAASixD,GAAyBZ,EAAqBa,EAAiBh4E,GAEpE,OAAO,SAAUm3B,GACb,IAAInpB,EACJypE,GAAuBN,EAAqBa,EAAiBh4E,GAAUgO,EAAK,CACpEiqE,uBAAwBJ,GAAiC1gD,EAAY04C,IAA+BsH,EAAoBe,cAE5HlqE,EAAG,KAAuC,SAAQmpB,EAAYQ,KAC9D3pB,GACR,CACJ,CACA,SAASmqE,GAAS/wE,EAAOmI,GACrB,OAAInI,GAASmI,GACF,SAAWnI,EAAOmI,IAErB,CACZ,CACA,SAAS0zB,GAAYm1C,EAAW5vE,EAAIgqB,GAChC,IAAI6lD,EAAa,CACb7vE,GAAIA,EACJsS,GAAI0X,GAGR,OADA4lD,EAAUpjC,KAAKqjC,GACR,CACH50C,OAAQ,YACJ,SAAW20C,GAAW,SAAUn5B,EAAarhC,GACzC,GAAIqhC,EAAYz2C,KAAO6vE,EAAW7vE,GAE9B,OADA4vE,EAAUnrE,OAAO2Q,EAAK,IACd,CAEhB,GACJ,EAER,CACA,SAAS06D,GAA4B/1D,EAAM61D,EAAWxtE,EAAS5K,GAC3D,IAAImK,GAAS,EAWb,OAVA,SAAWiuE,GAAW,SAAU5lD,EAAS5U,GACrC,KAC2C,IAAnC4U,EAAQ1X,GAAG3Z,KAAK,KAAMyJ,KACtBT,GAAS,EAEjB,CACA,MAAOjC,IACH,QAAeqa,GAAQA,EAAK/b,OAAQ,EAAmC,GAAyD,cAAgBxG,EAAU,MAAQ4d,EAAM,cAAe,QAAiB1V,GAAI,CAAEN,WAAW,SAAQM,KAAM,EAC3O,CACJ,IACOiC,CACX,CACA,SAASouE,GAA4B7S,EAAWnjD,EAAMswD,EAAUn+C,EAAKjsB,EAAOq8C,GACxE,IAAI92C,EACAwqE,EAAoB9S,EAAU,IAClC,GAAI8S,EAAoB,EAAG,CACvB,IAAI5tE,GAAWoD,EAAK,CAAC,EACjBA,EAAG,IAA6BuU,EAChCvU,EAAG0mB,IAAMA,EACT1mB,EAAGvF,MAAQA,EACXuF,EAAG82C,KAAOA,EACV92C,EAAGq2B,QAAUwuC,EAASl4E,IACtBqT,EAAGs2B,OAASuuC,EAAShqC,IACrB76B,EAAGwI,WAAaq8D,EAAS/pC,IACzB96B,EAAG8uB,QAAU+1C,EAAS/C,KAAuC,CAAC,EAC9D9hE,EAAGyqE,UAAY5F,EAAS9C,IACxB/hE,GACJsqE,GAA4B/1D,EAAMmjD,EAAW96D,EAAS,YACtDioE,EAASl4E,IAAuCiQ,EAAQolE,IACxD6C,EAAShqC,IAAqCj+B,EAAQqlE,IACtD4C,EAAS/pC,IAA6Cl+B,EAAQk+B,IAC9D+pC,EAAS/C,IAAsCllE,EAAQklE,GAC3D,CACJ,CACA,IAAI4I,GAAY,eACLC,IAAqC,SAAU,CACtDD,GAAY,cACZA,GAAY,mBACZA,GAAY,cACZA,GAAY,sBAEZE,GAA4B,CAC5B,uHAEA,IAAiB,UAAW,GAAK,CAAC,EAClC,GAAGnI,IAA6D,IAChE,GAAGG,KAA6D,EAChE,GAAGE,KAA+D,EAClE,GAAGJ,SAAgF1pE,EACnF,GAAG0M,2BAA4B,EAC/B,GAAGmlE,uBAAyB,EAC5B,GAAGvkE,iCAAmCqkE,GACtC,GAAG3kE,8BAA2BhN,EAC9B,GAAG2M,sCAAmC3M,EACtC,GAAG01D,WAAQ11D,EACX,GAAG6M,uBAAwB,EAC3B,GAAGy8D,KAAqE,EACxE,GAAGS,KAAuE,EAC1E,GAAGR,KAAmE,EACtE,GAAGC,KAAgE,EACnE,GAAGsI,0BAA4B,EAC/B,GAAGjI,IAA8D,GACjE,GAAGkI,cAAgB,CACf,gBACA,YACA,oBAEJ,GAAGpI,SAAyD3pE,EAC5D,GAAGgyE,iBAAkB,EACrB,KACAC,GAA6B,SAAU/3E,GAEvC,SAAS+3E,IACL,IAGIC,EACAC,EACAC,EACAx2B,EACAy2B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA/+B,EACA88B,EACAkC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAje,EACAke,EAhCA5xE,EAAQ7H,EAAOC,KAAKC,OAASA,KAk2BjC,OAj2BA2H,EAAMqe,WAAa6xD,EAAY7xD,WAC/Bre,EAAMiyC,SAAW,KA+BjB,OAAai+B,EAAalwE,GAAO,SAAUC,EAAOqyC,GAC9C,IAAI3X,EAAW2X,EAAM,IAsIrB,SAAS34B,IACL,IAAI2H,GAAW,WACf6uD,GAAoB,EACpBC,GAAkB,EAClBwB,GAAuB,EACvBvB,EAAqB/uD,GAAYA,EAAS/X,MAAQ+X,EAAS/X,KAAKsE,MAChEgsC,EAAmB,KACnBy2B,GAA+B,EAC/BC,GAA6B,EAC7BC,EAAqB,EACrBC,EAAW,KACXC,GAAqB,EACrBC,GAAoB,EACpBC,EAAc,KACdC,GAA0B,EAC1BC,EAAuB,EACvBC,GAAgC,EAChCC,EAAgB,CAAC,EACjBC,GAAuB,EACvBC,GAAwB,EACxBC,EAA0C,KAC1CC,EAAqB,KACrB/+B,EAAgB,KAChBg/B,EAAuB,EACvBC,EAAuB,GACvBC,EAA0B,GAC1BpC,GAAc,QAAsB,YACpClvE,EAAMkvE,YAAcA,EACpBqC,EAAiB,KACjBC,EAA6B,EAC7BC,EAAuB,EACvBC,EAA0B,EAC1Bje,EAAS,IACb,CACA,SAASnhB,EAAkB/nC,GACvBvK,EAAM,KAAuC,QAAeuK,GAAQ,SAAU3I,GAC1E,IAAI2I,EAAS3I,EAAQ2O,IACjBke,GAAM,SAA8B,KAAMlkB,EAAQvK,EAAM,KAC5D45C,EAAmBnrB,EAAIyF,UAAU+7C,EAAY7xD,WAAY,IACzDszD,EAA0B93B,EAAiBi2B,uBAC3CQ,EAA+Bz2B,EAAiB0tB,IAChDgJ,EAA6B12B,EAAiB2tB,IAC9CqJ,EAA0Bh3B,EAAiB4tB,IAC3CqJ,EAAuBj3B,EAAiB6tB,IACxCyJ,EAA0C,GAAGtoE,OAAOgxC,EAAiB8tB,KAAoF,IAAyC,IAArC9tB,EAAiBo2B,gBAA4BJ,GAA4B,IACtOuB,EAAqBv3B,EAAiB+tB,IACtC+I,EAAgD,IAA5BgB,GAA+F,IAA5BA,EACvFjB,EAAiD,IAA5BiB,GAAuG,IAA5BA,EAC5Fd,IACAD,EAAczB,GAElB8B,IAAyBp3B,EAAiBguB,IAC1C4J,EAA6B53B,EAAiBk2B,0BAC9C2B,EAAuB73B,EAAiBiuB,IACxC0J,EAAiB33B,EAAiBm2B,cAClCtc,EAAS7Z,EAAiB8Z,KAC9B,IACJ,CACA,SAASke,IACL,IAAIC,EAAU7xE,EAAM,IAA8By2B,UAAUuM,GACxD6uC,IACArB,EAAWqB,EAAQt8C,OAAOuxC,IAElC,CAEA,SAASgL,EAAmB1kD,GACxB,IAAI/B,GAAM,EASV,OARI+B,GAAUmkD,KACV,SAAWA,GAAgB,SAAW9zE,GAClC,GAAIA,EAAImQ,QAAoDwf,EAAOxf,MAE/D,OADAyd,GAAM,GACE,CAEf,IAEEA,CACX,CAEA,SAAS0mD,IACL,IAAIl2B,EAAQmyB,KACZ,GAAKnyB,EAAL,CAGA,IAAIh4B,GAAS,WACTmuD,EAAan2B,EAAMo2B,SACvBjyE,EAAM,KAAuC,QAAe45C,GAAkB,WAC1Eq3B,IAA0Br3B,EAAiBkuB,IAC3CgJ,EAAgCl3B,EAAiBmuB,IAC5CkJ,GAA0Bf,EA0DtB8B,IAAeL,IAOpBj3C,GAAS,SAAe7W,EAAQ0pD,GAAW,CACvC9wD,GAAI21B,EACJ8/B,IAAK,SAAU/jD,EAAa1uB,EAAOq8C,GAE/Bq2B,EAAmB,KAAM1yE,EAAOq8C,EACpC,KAEJ61B,GAAuB,IAvEvBj3C,GAAS,SAAe7W,EAAQ0pD,GAAW,CACvC9wD,GAAI21B,EAEJ8/B,IAAK,SAAU/jD,EAAa1uB,EAAOq8C,GAC/B,IAAIs2B,EACJ,IAAKnB,GAAyBf,IACzBiC,EAAmB,KAAM1yE,EAAOq8C,MAE/Bk2B,IAAc7B,GAAkB,CAClC,IAAI1hD,EAAMN,EAAYM,MACtB2jD,EAAYC,GAAmB5yE,EAAOq8C,GACtC,IAAIw2B,EAAUtyE,EAAMknE,IAAoEkL,EAAW3yE,EAAOq8C,GACtGw2B,IAAYx2B,GACZ3tB,EAAYve,IAAI,EAAG0iE,GAEvB7jD,EAAIrxB,KAAOg1E,CACf,CACJ,EACA7+B,IAAK,SAAUplB,EAAa1uB,GACxB,IAAKwxE,EAAuB,CACxB,IAAIsB,EAAcpkD,EAAYM,MAAMrxB,KAChCm1E,IAEApkD,EAAYmB,KAAOnB,EAAYmB,KAAKkjD,MAAK,SAAUrkC,GAoB/C,OAnBAskC,GAAoBtkD,GAAcggB,GAAY,CAAC,GAAGlP,IAAmCx/B,EAAO0uC,EAAUokC,GAAa,WAC/G,IAAIvtE,EACA0tE,GAAgB1tE,EAAK,CACjB2+C,YAAaxV,GAAY,CAAC,GAAG65B,KAEjChjE,EAAGijE,IAAwC,KAC3CjjE,EAAGmkE,IAA0DwJ,GAA4BxkC,GACzFnpC,GACJ,GAAI8rE,GAAiC3iC,EAAU,CAC3C,IAAIykC,EAAsB,CAAC,EAC3BzkC,EAASnhB,QAAQ6lD,SAAQ,SAAUz0E,EAAO5G,GAClCs6E,EAAmBt6E,KACnBo7E,EAAoBp7E,GAAQ4G,EAEpC,IACAs0E,EAAazK,IAA2C2K,CAC5D,CACA,OAAOF,CACX,IACOvkC,CACX,IACK2kC,OAAM,SAAUpwE,GAEjB,MADA+vE,GAAoBtkD,EAAa,EAAG1uB,EAAO,KAAM8yE,EAAa,KAAM,CAAEn7E,MAAOsL,EAAO1L,UAAW,SAAQ0L,KACjGA,CACV,IAER,CACJ,EAEAqwE,MAAOhE,GAAyB/uE,EAAO,GAAoD,iCAAmC0tE,MAC/H,GAAM,aACTwC,GAAoB,EAkB5B,KACI8B,IAGAnuD,EAAO0pD,IAAW0E,SAAWD,EApFjC,CAsFJ,CACA,SAASgB,EAAW1qE,EAAQ2gB,EAAU2G,GAClC8K,GAAS,SAAgBpyB,EAAQ2gB,EAAU2G,GAC/C,CACA,SAASqjD,IACA/E,GAAwBluE,EAAOkvE,IAGpClvE,EAAM,KAAuC,QAAe45C,GAAkB,WAC1Eo3B,IAAyBp3B,EAAiBguB,IAC1CyI,EAA+Bz2B,EAAiB0tB,IAC3C0J,GAAyBb,IAE1B6C,EAAWpmD,eAAgB,OAAQ,CAC/BnQ,GAAI21B,EACJ8/B,IAAK,SAAU/jD,EAAa9nB,EAAQpP,EAAK8kC,GACrC,IAAKi1C,EAAsB,CACvB,IAAItlD,EAAMyC,EAAY04C,IAClBgD,EAAW6E,GAAahjD,EAAKwjD,IAC5BiD,EAAmBzmD,EAAKz0B,IAAQi8E,EAAwBxnD,EAAKm+C,GAAU,KACnEA,GAAaA,EAASyC,mBAAmBpE,MAE1C2B,EAAWsJ,EAAaznD,EAAKrlB,EAAQpP,EAAK8kC,IAG9Cq3C,EAA4B1nD,EAAKm+C,GAEzC,CACJ,EACAkJ,MAAOhE,GAAyB/uE,EAAO,GAAoDwtE,GAAe,QAAUE,MAGxHsF,EAAWpmD,eAAgB,OAAQ,CAC/BnQ,GAAI21B,EACJ8/B,IAAK,SAAU/jD,EAAa2F,GACxB,IAAKk9C,EAAsB,CACvB,IAAItlD,EAAMyC,EAAY04C,IAClBgD,EAAW6E,GAAahjD,EAAKwjD,GAC7BgE,EAAwBxnD,EAAKm+C,KAAcA,EAASyC,mBAAmBnE,MACvEkL,GAAc,MAAOxJ,GACrBA,EAASzB,KAAwD,UACjEpoE,EAAMknE,IAAoE2C,OAAU7rE,OAAWA,EAAW0tB,GAC1Gm+C,EAASyC,mBAAmBnE,KAAyC,EAE7E,CACJ,EACA4K,MAAOhE,GAAyB/uE,EAAO,GAAoDwtE,GAAeE,MAG9GsF,EAAWpmD,eAAgB,QAAS,CAChCnQ,GAAI21B,EACJ8/B,IAAK,SAAU/jD,GACX,IAAK6iD,EAAsB,CACvB,IAAItlD,EAAMyC,EAAY04C,IAClBgD,EAAW6E,GAAahjD,EAAKwjD,GAC7BgE,EAAwBxnD,EAAKm+C,KAAcA,EAASyC,mBAAmBjE,MACvEwB,EAAS9C,IAAsC,EAC/C8C,EAASyC,mBAAmBjE,KAA2C,EAE/E,CACJ,EACA0K,MAAOhE,GAAyB/uE,EAAO,GAAqDwtE,GAAe,SAAWE,MAG1HsF,EAAWpmD,eAAgB,mBAAoB,CAC3CnQ,GAAI21B,EACJ8/B,IAAK,SAAU/jD,EAAaf,EAAQhvB,GAChC,IAAK4yE,EAAsB,CACvB,IAAItlD,EAAMyC,EAAY04C,IAClBgD,EAAW6E,GAAahjD,EAAKwjD,GAC7BrF,GAAYqJ,EAAwBxnD,EAAKm+C,KACzC8E,GAAqBjjD,EAAK0B,EAAQhvB,GAC9BiyE,GAAgCyB,EAAmB1kD,IAC/Cy8C,IACAA,EAASzC,IAAmDh6C,GAAUhvB,GAItF,CACJ,EACA20E,MAAOhE,GAAyB/uE,EAAO,GAAgEwtE,GAAe,oBAAsBE,MAEhJyC,GAAkB,EAE1B,IACJ,CACA,SAASgC,EAAmBzmD,EAAK7I,EAASi5B,GACtC,IAAIw3B,GAAa,EACbC,KAAY,SAAS1wD,GAAuCA,GAA3BA,GAAW,CAAC,GAAG5rB,KAAO,KAAiB,IAAI2W,MAYhF,IAVA,SAAWsjE,GAAyC,SAAU7tE,GAC1D,IAAImwE,EAAWnwE,GACX,SAASA,KACTmwE,EAAW,IAAItoE,OAAO7H,IAErBiwE,IACDA,EAAaE,EAASlwE,KAAKiwE,GAEnC,IAEID,EACA,OAAOA,EAEX,IAAI1+D,EAAMu6D,GAASoE,EAAQ,KACvBE,EAAOtE,GAASoE,EAAQ,KAkC5B,QAjCa,IAAT3+D,IAAyB,IAAV6+D,GAAeA,EAAO7+D,KACrCA,EAAM6+D,IAEG,IAAT7+D,IAEA2+D,EAASA,EAAOlmD,UAAU,EAAGzY,KAG5B,SAAkB8W,IAIb,SAAkB7I,KAExBywD,EAAiC,kBAAZzwD,IAAyD,IAAlCA,EAAQ,SAC/Ci5B,IAAsC,IAA/BA,EAAK,OALjBw3B,GAA2C,IAA9B5nD,EAAI,QAAmE,IAAjC6nD,EAAO,OAQzDD,GAAcC,IAAU,QAAsCA,KAC/DD,GAAa,GAEbA,EAEKvC,EAAcwC,KACfxC,EAAcwC,GAAU,GAKxBxC,EAAcwC,KACdD,GAAa,GAGdA,CACX,CAIA,SAASJ,EAAwBxnD,EAAKm+C,EAAU6J,GAC5C,IAAIC,GAAiB,EACjBC,EAAczD,EAKlB,OAJK,SAAkBzkD,KACnBioD,GAA+C,IAA9BD,KAAuC,SAAkB7J,IAGvE+J,GAEAD,CACX,CACA,SAAS5/B,IACL,IAAIC,EAAsB,KAQ1B,OAPIh0C,EAAM,KAAiCA,EAAM,IAA8Bi0C,cAC3ED,EAAsBh0C,EAAM,IAA8Bi0C,aAAY,KAGrED,GAAuBw8B,GAAYA,EAAS7jE,iBAC7CqnC,GAAsB,QAAuCw8B,EAAS7jE,iBAEnEqnC,CACX,CACA,SAASm/B,EAAaznD,EAAKrlB,EAAQpP,EAAK8kC,GACpC,IAAI/2B,EACAgvC,EAAsBD,IACtB7mC,EAAW8mC,GAAuBA,EAAoBs0B,QAAkD,WACxGuL,GAAS,UAAU,WAAiB,EAAG,IACvCC,EAAiBpoD,EAAI4hD,IAAwB5hD,EAAI4hD,KAAwB,CAAEiB,GAAI,GAAIzwE,EAAG,CAAC,GACvFi2E,EAAeD,EAAeh2E,EAAKg2E,EAAeh2E,GAAK,CAAC,EACxD+rE,EAAWkK,EAAa7E,GAAgB6E,EAAa7E,IAAgB,IAAItD,GAAW1+D,EAAS2mE,EAAQ7zE,EAAMqtE,MAAqC,QAArBroE,EAAKhF,EAAMuZ,YAAyB,IAAPvU,OAAgB,EAASA,EAAGivC,eAQxL,OAPA41B,EAAS/pC,IAA6CkU,GAAuBA,EAAoBu0B,MACjGsB,EAASx6D,IAAoChJ,EAC7CwjE,EAASjD,IAA6C3vE,EACtD4yE,EAASyC,mBAAmBpE,KAAyC,EACrE2B,EAASzC,IAAqD,CAAC,EAC/DyC,EAAS9tC,MAAQA,EACjB8tC,EAASrB,IAAwD8H,EAC1DzG,CACX,CACA,SAASuJ,EAA4B1nD,EAAKm+C,GACtCA,EAASyC,mBAAmB7D,KAAiE,SAAQ/8C,EAAK,oBAAoB,WAC1H,IAAI1mB,EACJ,IACQ0mB,GAA0B,IAAnBA,EAAI6wB,YAAoB22B,EAAwBxnD,EAAKm+C,IAC5DmK,GAAgBtoD,EAExB,CACA,MAAOxsB,GACH,IAAI+0E,GAAgB,SAAQ/0E,GAEvB+0E,IAA0G,IAAzF9E,GAAS8E,EAAcrmE,MAAiD,aAC1F6gE,GAAuBzuE,EAAO,GAAmDwtE,GAAe,oCAAsCE,IAAgB1oE,EAAK,CAAC,EACxJA,EAAGkkE,IAAiE2F,GAAiCnjD,EAAKwjD,GAC1GlqE,EAAG,IAAuCivE,EAC1CjvE,GAEZ,CACJ,GAAGotC,EACP,CACA,SAASkc,EAAiB5iC,GACtB,IACI,IAAIwhD,EAAexhD,EAAIwhD,aACvB,GAAqB,KAAjBA,GAAwC,SAAjBA,EAEvB,OAAOxhD,EAAIg9C,GAEnB,CACA,MAAOxpE,GAEP,CACA,OAAO,IACX,CACA,SAAS80E,GAAgBtoD,GACrB,IAAIm+C,EAAW6E,GAAahjD,EAAKwjD,GAGjC,SAASgF,EAAgBh1E,EAAGi1E,GACxB,IAAIC,EAAaD,GAAe,CAAC,EACjCC,EAAW,0BAA4BvF,GAAiCnjD,EAAKwjD,GACzEhwE,IACAk1E,EAAW,cAAe,SAAQl1E,IAEtC4vE,GAAsB9uE,EAAO,GAAmD8tE,GAAqC,YAAcH,GAAgByG,EACvJ,CATAvK,EAASlB,KAAkE,UAC3EkB,EAAS5qC,IAAoCvT,EAAIuT,IASjDo1C,GAAuB,iBAAkBxK,GAAU,WAC/C,IACI,IAAIC,EAAaD,EAASjB,IAAuD,OAAQyH,GAA8B,WACnH,IAAIrrE,EACA0tE,GAAgB1tE,EAAK,CACjB2+C,WAAYj4B,EAAIs8C,KAEpBhjE,EAAGijE,IAAwC,KAC3CjjE,EAAGmkE,IAA0DmL,GAA2B5oD,GACxF1mB,EAAGuD,KAAOmjB,EAAIwhD,aACdloE,EAAG0jE,IAA8Cpa,EAAiB5iC,GAClE1mB,EAAGmpC,SAAWziB,EAAIm9C,IAClB7jE,GACJ,GAAI8rE,EAA+B,CAC/B,IAAI9jD,EAAUtB,EAAIo9C,MAClB,GAAI97C,EAAS,CAGT,IAAIgB,GAAM,SAAQhB,GAASunD,MAAM,WAC7BC,EAAsB,CAAC,GAC3B,SAAWxmD,GAAK,SAAUloB,GACtB,IAAIwiC,EAAQxiC,EAAKyuE,MAAM,MACnBnnD,EAASkb,EAAMmsC,QACfr2E,EAAQkqC,EAAMljB,KAAK,MACnB0sD,EAAmB1kD,KACnBonD,EAAoBpnD,GAAUhvB,EAEtC,IACAs0E,EAAazK,IAA2CuM,CAC5D,CACJ,CACA,OAAO9B,CACX,IACI3zE,OAAa,EACjB,IACUoyE,IACFpyE,EAAaoyE,EAAmB,CAAE/0B,OAAQ1wB,EAAIuT,IAAmCvT,IAAKA,IAE9F,CACA,MAAOxsB,GACH4vE,GAAsB9uE,EAAO,IAAuE6tE,GACxG,CACA,GAAI/D,EAAY,MACO9rE,IAAfe,IACA+qE,EAAWnD,KAA2C,SAAS,QAAS,CAAC,EAAGmD,EAAW/qE,YAAaA,IAExG,IAAI21E,EAAgB7K,EAASd,MAC7B4L,GAA0BrD,EAAyBtxE,EAAM,IAA+B6pE,EAAUC,EAAY,KAAM4K,EACxH,MAEIR,EAAgB,KAAM,CAClBpH,gBAAiBjD,EAASzB,IAC1B2E,qBAAsBlD,EAASlB,KAG3C,CACA,QAEI,IACI,IAAImL,EAAkBpoD,EAAI4hD,KAAwB,CAAExvE,EAAG,CAAC,GACpDi2E,EAAgBD,EAAeh2E,GAAK,CAAC,EACrCi2E,EAAa7E,KACb6E,EAAa7E,GAAe,KAEpC,CACA,MAAOhwE,GAEP,CACJ,CACJ,IAAG,SAAUA,GACTg1E,EAAgBh1E,EAAG,KACvB,GACJ,CACA,SAASo1E,GAA2B5oD,GAChC,IAAI1mB,EACJ,IACI,IAAI4vE,EAAwBlpD,EAAIo9C,MAChC,GAA8B,OAA1B8L,EAAgC,CAChC,IAAI51B,EAAQmwB,GAASyF,EAAsBhnE,MAAiD,KAAe,IAC3G,IAAe,IAAXoxC,EAAc,CACd,IAAIxzC,EAAiBkgB,EAAImpD,kBAAkB,KAAe,IAC1D,OAAO,QAAmCrpE,EAC9C,CACJ,CACJ,CACA,MAAOtM,GACH4vE,GAAsB9uE,EAAO,GAAoE4tE,IAA2B5oE,EAAK,CAAC,EAC9HA,EAAGkkE,IAAiE2F,GAAiCnjD,EAAKwjD,GAC1GlqE,EAAG,KAAuC,SAAQ9F,GAClD8F,GACR,CACJ,CACA,SAASquE,GAAc9qE,EAAMshE,GACzB,GAAIA,EAASjD,KAA8C+J,GAAeC,EAAyB,CAC/F,IAAIkE,GAAgB,WACpB,GAAIA,IAAiB,SAAWA,EAAcC,MAAO,CACjDhH,KACA,IAAIiH,EAASrE,EAAcpoE,EAAO,IAAMwlE,GACxC+G,EAAcC,KAAKC,GACnB,IAAIC,EAAUH,EAAcI,iBAAiBF,GACzCC,GAAyD,IAA9CA,EAAQ,MACnBpL,EAASb,IAAyCiM,EAAQ,GAElE,CACJ,CACJ,CACA,SAASZ,GAAuBc,EAAetL,EAAUuL,EAAeC,GACpE,IAAIC,EAAWzL,EAASb,IACpBuM,GAAc,WACdC,EAAchE,EACdiE,EAAahE,EACbjnE,EAAaq/D,EAASjD,IACtB8O,EAAU,GACd,SAAUC,IACN,IACI,GAAIJ,GAAeD,EAAU,CACzBI,IAGA,IAFA,IAAIE,EAAa,KACbX,EAAUM,EAAYM,aACjBvzE,EAAK2yE,EAAQ,IAAoC,EAAG3yE,GAAM,EAAGA,IAAM,CACxE,IAAIC,EAAQ0yE,EAAQ3yE,GACpB,GAAIC,EAAO,CACP,GAAwB,aAApBA,EAAMuzE,UACFvzE,EAAM4yE,gBAAkBA,IACwC,IAA/DhG,GAAS5sE,EAAM7Q,IAA+B8Y,KAAqF,IAA/D2kE,GAAS3kE,EAAYjI,EAAM7Q,OAChGkkF,EAAarzE,QAGhB,GAAwB,SAApBA,EAAMuzE,WAAwBvzE,EAAM7Q,MAAkC4jF,EAAS5jF,IAA+B,CAEnHm4E,EAASZ,IAA6C2M,EACtD,KACJ,CACA,GAAIrzE,EAAM,IAA2C+yE,EAAS,IAA2C,IAErG,KAER,CACJ,CACJ,EACKA,GACDzL,EAASZ,KACTyM,GAAWF,IACQ,IAAnB3L,EAAS9tC,OACLu5C,IAAY,SAAWC,EAAYQ,aAEnCR,EAAYQ,WAAWT,EAAS5jF,KAEpCm4E,EAAS4B,aAAeiK,EAExBN,MAMA,SAAgBO,EAAsBF,EAE9C,CACA,MAAOv2E,GACHm2E,EAAYn2E,EAChB,CACH,EAjDD,EAkDJ,CACA,SAASmzE,GAAmB5yE,EAAOq8C,GAC/B,IAAI92C,EAQAwF,EAPAwpC,EAAsBD,IACtB7mC,EAAW8mC,GAAuBA,EAAoBs0B,QAAkD,WACxGuL,GAAS,UAAU,WAAiB,EAAG,IACvChK,EAAW,IAAI+B,GAAW1+D,EAAS2mE,EAAQ7zE,EAAMqtE,MAAqC,QAArBroE,EAAKhF,EAAMuZ,YAAyB,IAAPvU,OAAgB,EAASA,EAAGivC,eAW9H,GAVA41B,EAAS/pC,IAA6CkU,GAAuBA,EAAoBu0B,MACjGsB,EAASzB,KAAwD,UACjEyB,EAASrB,IAAwD8H,EAG7D9lE,EADA/K,aAAiBs8C,SACHt8C,GAAS,CAAC,GAAGxI,KAAO,GAGrBwI,EAEE,KAAf+K,EAAmB,CACnB,IAAIy9B,GAAa,WACbA,GAAcA,EAAWz+B,OACzBgB,GAAa,SAASy9B,EAAWz+B,KAAM,KAAK,GAEpD,CACAqgE,EAASjD,IAA6Cp8D,EACtD,IAAInE,EAAS,MACTy1C,GAAQA,EAAKzsC,IACbhJ,EAASy1C,EAAKzsC,IAET5P,GAASA,aAAiBs8C,UAC/B11C,EAAS5G,EAAM4P,KAEnBw6D,EAASx6D,IAAoChJ,EAC7C,IAAIy8C,EAAiB,CAAC,EACtB,GAAIutB,EAA8B,CAC9B,IAAIrjD,EAAU,IAAI+1B,SAASjH,EAAOA,EAAKpc,IAAsC,IAAOjgC,aAAiBs8C,SAAWt8C,EAAMigC,KAA6C,CAAC,GACpK1S,EAAQ6lD,SAAQ,SAAUz0E,EAAOX,GACzBq0E,EAAmBr0E,KACnBqlD,EAAerlD,GAAOW,EAE9B,GACJ,CAGA,OAFAyrE,EAASzC,IAAqDtkB,EAC9DuwB,GAAc9F,GAAW1D,GAClBA,CACX,CACA,SAASmM,GAAkCv2E,GACvC,IAAI0B,EAAS,GACb,KACS,SAAkB1B,KAEf0B,GAAU,UAAUyH,OADD,kBAAZ,EACoBnJ,EAGAA,EAAMxI,IAHC,MAM9C,CACA,MAAOiI,GACHuvE,GAAuBzuE,EAAO,GAAoD,kDAAmD,CAAEpB,WAAW,SAAQM,IAC9J,CACA,OAAOiC,CACX,CACA,SAASsxE,GAAoBtkD,EAAaiuB,EAAQ38C,EAAO0uC,EAAU07B,EAAU+C,EAAa7tE,GAItF,SAASk3E,EAAkBr4D,EAAO1e,EAAGi1E,GACjC,IAAIC,EAAaD,GAAe,CAAC,EACjCC,EAAW,2BAA6B4B,GAAkCv2E,GACtEP,IACAk1E,EAAW,cAAe,SAAQl1E,IAEtC4vE,GAAsB9uE,EAAO4d,EAAOkwD,GAAqC,aAAeH,GAAgByG,EAC5G,CAVKvK,IAWLA,EAASlB,KAAkE,UAC3EkB,EAAS5qC,IAAoCmd,EAC7Ci4B,GAAuB9G,GAAW1D,GAAU,WACxC,IACI9qE,EADA+qE,EAAaD,EAASjB,IAAuD,QAASyH,EAA8BzD,GAExH,IACUuE,IACFpyE,EAAaoyE,EAAmB,CAAE/0B,OAAQA,EAAQv5B,QAASpjB,EAAO0uC,SAAUA,IAEpF,CACA,MAAOjvC,GACH4vE,GAAsB9uE,EAAO,IAAuE6tE,GACxG,CACA,GAAI/D,EAAY,MACO9rE,IAAfe,IACA+qE,EAAWnD,KAA2C,SAAS,QAAS,CAAC,EAAGmD,EAAW/qE,YAAaA,IAExG,IAAI21E,EAAgB7K,EAASd,MAC7B4L,GAA0BrD,EAAyBtxE,EAAM,IAA+B6pE,EAAUC,EAAY,KAAM4K,EACxH,MAEIuB,EAAkB,GAAmD,KAAM,CACvEnJ,gBAAiBjD,EAASzB,IAC1B2E,qBAAsBlD,EAASlB,KAG3C,IAAG,SAAUzpE,GACT+2E,EAAkB,GAAoE/2E,EAAG,KAC7F,IACJ,CACA,SAASyzE,GAA4BxkC,GACjC,IAAInpC,EACJ,GAAImpC,GAAYA,EAASzO,IACrB,IACI,IAAIl0B,EAAiB2iC,EAASzO,IAAoCrrB,IAAI,KAAe,IACrF,OAAO,QAAmC7I,EAC9C,CACA,MAAOtM,GACH4vE,GAAsB9uE,EAAO,GAAoE4tE,IAA2B5oE,EAAK,CACzHkxE,wBAAyBF,GAAkC7nC,IAE/DnpC,EAAG,KAAuC,SAAQ9F,GAClD8F,GACR,CAER,CACA,SAAS2vE,GAA0BwB,EAAc58D,EAAMswD,EAAUC,EAAY/qE,EAAYukC,GACrF,IAAIt+B,EACA7D,GAAS,EACTquE,EAAoB2G,EAAa,IACrC,GAAI3G,EAAoB,EAAG,CACvB,IAAI5tE,GAAWoD,EAAK,CACZyyB,KAAMqyC,GAEV9kE,EAAG2hE,IAAwC5nE,EAC3CiG,EAAG0vE,cAAgBpxC,EACnBt+B,EAAG8uB,QAAU+1C,EAAWA,EAAS/C,IAAsC,KACvE9hE,EAAGyqE,UAAU5F,KAAaA,EAAS9C,IACnC/hE,GACJ7D,EAASmuE,GAA4B/1D,EAAM48D,EAAcv0E,EAAS,cACtE,CACIT,GACAnB,EAAMqnE,IAAsEyC,EAAY/qE,EAAYukC,EAE5G,CA7zBA5pB,IACA1Z,EAAMg2C,WAAa,SAAUzrC,EAAQgP,EAAMI,EAAYH,GAC9CxZ,EAAM4a,kBACPy3B,EAAM2D,WAAWzrC,EAAQgP,EAAMI,EAAYH,GAC3C44B,GAAgB,UAAkB,QAAsB,QAAS74B,GAAQA,EAAKyL,cAAgBzL,EAAKyL,gBACnGstB,EAAkB/nC,GAClB0oE,IACAlB,IACAH,IAER,EACA5xE,EAAMm2C,YAAc,WAChBz8B,GACJ,EACA1Z,EAAMo2E,oBAAsB,SAAUtM,EAAY/qE,GAC9C41E,GAA0BrD,EAAyBtxE,EAAM,IAA+B,KAAM8pE,EAAY/qE,EAC9G,EACAiB,EAAMknE,IAAsE,SAAU2C,EAAUpqE,EAAOq8C,EAAMpwB,GAEzG,IAAI2qD,EAAoBr2E,EAAM,uBAAyBowE,EAEvD,GADAb,GAA4B8B,EAAsBrxE,EAAM,IAA+B6pE,EAAUn+C,EAAKjsB,EAAOq8C,GACzGr8C,GAAmB,KAAVA,EAAc,CACvB,IAAI,QAAyCm6C,EAAkBiwB,EAAS1C,MAAuDkP,GAAoB,CAC1Iv6B,IACDA,EAAO,CAAC,GAKZ,IAAI9uB,EAAU,IAAI+1B,QAAQjH,EAAKpc,KAAwCjgC,aAAiBs8C,SAAWt8C,EAAMigC,KAA6C,CAAC,GACvJ,GAAIgxC,EAAmB,CACnB,IAAIlxE,EAAK,IAAMqqE,EAASl4E,IAAuC,IAAMk4E,EAAShqC,IAC9E7S,EAAQpd,IAAI,KAAe,GAA0CpQ,GACjE6wE,IACAxG,EAASzC,IAAmD,KAAe,IAA4C5nE,EAE/H,CACA,IAAIk0D,EAAQD,GAAW+c,GAAYA,EAAS9c,QAO5C,GANIA,IACA1mC,EAAQpd,IAAI,KAAe,GAA+C,KAAe,GAAqD8jD,GAC1I2c,IACAxG,EAASzC,IAAmD,KAAe,IAAiD,KAAe,GAAqD1T,IAGpM+c,EAAoB,CACpB,IAAIjjE,EAAaq8D,EAAS/pC,KACtB,SAAkBtyB,KAClBA,EAAa,GAEjB,IAAI8oE,GAAc,UAAkB,SAAkBzM,EAASl4E,IAAsCk4E,EAAShqC,IAAoCryB,IAClJwf,EAAQpd,IAAI,KAAe,GAA4C0mE,GACnEjG,IACAxG,EAASzC,IAAmD,KAAe,IAA8CkP,EAEjI,CACAx6B,EAAKpc,IAAsC1S,CAC/C,CACA,OAAO8uB,CACX,CACK,GAAIpwB,EAAK,CACV,IAAI,QAAyCkuB,EAAkBiwB,EAAS1C,MAAuDkP,GAAoB,CAC/I,GAAI3F,EACA,GAAK9B,GAAaljD,EAAK,KAAe,IAQlCojD,GAAsB9uE,EAAO,GAAgE,kBAAoB,KAAe,GAA2C,wDAR9F,CACzER,EAAK,IAAMqqE,EAASl4E,IAAuC,IAAMk4E,EAAShqC,IAC9EnU,EAAIkU,IAAwD,KAAe,GAA0CpgC,GACjH6wE,IACAxG,EAASzC,IAAmD,KAAe,IAA4C5nE,EAE/H,CAKAk0D,EAAQD,GAAW+c,GAAYA,EAAS9c,QAY5C,GAXIA,IACKkb,GAAaljD,EAAK,KAAe,IAOlCojD,GAAsB9uE,EAAO,GAAgE,kBAAoB,KAAe,GAAgD,qDANhL0rB,EAAIkU,IAAwD,KAAe,GAA+C,KAAe,GAAqD8zB,GAC1L2c,IACAxG,EAASzC,IAAmD,KAAe,IAAiD,KAAe,GAAqD1T,KAOxM+c,EAAoB,CAChBjjE,EAAaq8D,EAAS/pC,IAI1B,IAHI,SAAkBtyB,KAClBA,EAAa,GAEZohE,GAAaljD,EAAK,KAAe,IAQlCojD,GAAsB9uE,EAAO,GAAgE,kBAAoB,KAAe,GAA6C,wDAR9F,CAC3Es2E,GAAc,UAAkB,SAAkBzM,EAASl4E,IAAsCk4E,EAAShqC,IAAoCryB,IAClJke,EAAIkU,IAAwD,KAAe,GAA4C02C,GACnHjG,IACAxG,EAASzC,IAAmD,KAAe,IAA8CkP,EAEjI,CAIJ,CACJ,CACA,OAAO5qD,CACX,CAEJ,EACA1rB,EAAMqnE,IAAwE,SAAUyC,EAAY/qE,EAAYukC,GAC5G,IAA8B,IAA1ButC,GAA+BN,EAAqBM,EAAsB,CAIzC,IAA5Ba,GAC8B,IAA5BA,GACyB,kBAAlB5H,EAAWtqE,IAA0F,MAAvEsqE,EAAWtqE,GAAGsqE,EAAWtqE,GAAG,IAAoC,KACxGsqE,EAAWtqE,IAAM,MAEjB,SAAkBsqE,EAAW,OAC7BA,EAAW,IAA2C,IAAIzpE,MAE9D,IAAIo3B,EAAO0L,EAAoB2mC,EAAY/hE,EAAA,EAAqBtH,SAAUsH,EAAA,EAAqBvH,aAAcR,EAAMqtE,MAAetuE,EAAYukC,GAC9ItjC,EAAM,IAA8BwjE,MAAM/rC,EAC9C,MACS84C,IAAuBM,GAC5BpC,GAAuBzuE,EAAO,GAAmD,2LAA2L,KAE9QuwE,CACN,EACAvwE,EAAMu2E,sBAAwB,SAAUC,GACpC,OAAOv8C,GAAYo3C,EAAsBD,IAAwBoF,EACrE,EACAx2E,EAAMy2E,yBAA2B,SAAUC,GACvC,OAAOz8C,GAAYq3C,EAAyBF,IAAwBsF,EACxE,CA0rBJ,IACO32E,CACX,CAqBA,OA13BA,QAAUkwE,EAAa/3E,GAu2BvB+3E,EAAY7qE,UAAUsxB,iBAAmB,SAAUe,EAAMre,GACrDhhB,KAAKs8C,YAAYjd,EAAMre,EAC3B,EAYA62D,EAAY7qE,UAAUqxE,yBAA2B,SAAUC,GACvD,OAAO,IACX,EAEAzG,EAAY7xD,WAAa,uBAClB6xD,CACX,CA53BgC,CA43B9Br3D,GAAA,GCtnCE+9D,GAA6B,WAC7B,SAASA,IACT,CACA,OAAOA,CACX,CAJgC,GCA5BC,GAAwB,WAIxB,SAASA,IAELx+E,KAAKoH,GAAK,UAGVpH,KAAKuuD,YAAc,SACvB,CACA,OAAOiwB,CACX,CAZ2B,GCCvBvgC,GAAU,QACVwgC,GAA0B,WAI1B,SAASA,EAAStsE,EAAQusE,GACtB,IAAI/2E,EAAQ3H,KACRunE,GAAa,QAAe,GAAU,WACtC,IAAIxE,EAAS5wD,EAAOwsE,aACpBh3E,EAAMi3E,YAAc7b,EAASA,EAAS,IAAM,IAAM,cAAgB9kB,EACtE,IACAygC,GAAuBA,EAAoBlhE,IAAI+pD,EACnD,CACA,OAAOkX,CACX,CAb6B,GCFzBI,GAA0B,WAC1B,SAASA,IACT,CACA,OAAOA,CACX,CAJ6B,GCOlBC,GAAuB,iBACvB34C,GAAc,SACd44C,GAA0B,kBAC1BC,GAAmB,YACnBC,GAAqB,cACrBC,GAAuB,iBACvBC,GAA6B,sBAC7BC,GAA6B,0BAC7BC,GAA4B,qBAC5BC,GAA6B,wBAC7BC,GAA0B,mBAC1BC,GAA6B,6BAC7BC,GAA6B,uBAC7BC,GAA6B,uBAC7BC,GAAkB,YAClBC,GAAsB,eACtBC,GAAmB,aACnBC,GAA6B,uBAC7BC,GAA2B,oBAC3BC,GAAiB,WACjBC,GAAkB,WAClB,GAAc,SACdC,GAAyB,mBACzBC,GAAwB,kBACxBC,GAAwB,kBACxBC,GAAoB,cACpBC,GAAY,OACZC,GAAwB,kBACxBC,GAA6B,qBC/BpCC,GAAsB,aACtBC,GAAmB,MACnBC,GAAe,KACfC,GAAyB,IACzBC,GAAyB,WACzB,SAASA,IACT,CACA,OAAOA,CACX,CAJ4B,GAMxBC,GAAiC,WACjC,SAASA,EAAgB3uE,EAAQgP,EAAMu9D,GACnC,IACIqC,EACAC,EAGAC,EACAC,EANA/gE,EAAOngB,KAGPizC,GAAU,QAAc9xB,GACxB2mD,EAAiB35B,GAAiBhtB,IAGtC,OAAa2/D,EAAiB3gE,GAAM,SAAUvY,GACrCuK,IACDA,EAAS,CAAC,GAEd,IAAIo1D,GAAa,QAAep1D,GAAQ,SAAU3I,GAC9Cy3E,EAAuB9uE,EAAO2lC,qBAAuB4oC,GACrDQ,EAAoB/uE,EAAOylC,kBAAoB+oC,GAE/C,IAAIQ,EAAuBhvE,EAAOgvE,sBAAwBhvE,EAAO0tE,KAA8C,GAC/GkB,EAAqBN,GAAsBU,CAC/C,IA6CA,SAASC,EAA4BC,EAASrtE,GAC1C,IAAI0E,GAAU,EACV23B,EAAcy3B,EAAe7rD,IAAI8kE,GACrC,GAAI1wC,IAAe,SAAWA,EAAY8rC,OACtCzjE,EAAU4oE,EAAoCD,EAAShxC,OAEtD,CAKD,IAAIkxC,EAAej3C,EAAmB2I,EAAS8tC,GAC3CQ,IACA7oE,EAAU4oE,EAAoCD,EAASE,GAE/D,CACA,OAAO7oE,KAAa2oE,EAAQj6E,EAChC,CAQA,SAASk6E,EAAoCD,EAASG,GAClD,IAAI9oE,GAAU,EACV+oE,EAAe,0BACfC,EAASF,EAAYrF,MAAM,KAC/B,GAAIuF,EAAO,KAAqC,EAC5C,IACI,IAAIC,GAASD,EAAO,IAAM,EACtBE,GAAaF,EAAO,IAAM,EAC1BxjF,MAAMyjF,IAAUA,GAAS,GACzB,QAAe1uC,EAAS,EAAkC,GAAuD,mCAAqCwuC,GAEjJvjF,MAAM0jF,IAAcA,GAAa,GACtC,QAAe3uC,EAAS,EAAkC,GAAuD,+BAAiCwuC,GAE7IC,EAAO,KAEZL,EAAQj6E,GAAKs6E,EAAO,GACpBL,EAAQjB,IAAuDuB,EAC/DN,EAAQhB,IAA+CuB,EACvDlpE,GAAU,EAElB,CACA,MAAO5R,IACH,QAAemsC,EAAS,EAAmC,EAAyD,oCAAsCuuC,GAAe,IAAM,IAAMC,EAAe,OAAQ,QAAiB36E,GAAI,CAAEN,WAAW,SAAQM,IAC1P,CAEJ,OAAO4R,CACX,CACA,SAASmpE,EAAOryC,GACZ,IAAIsyC,EAAW3vE,EAAO8tE,KAA2C,MACjEr4E,EAAMm6E,iBAAiB36E,GAAK06E,EAAS3vE,EAAO6tE,KAA0C,IACtFp4E,EAAMs4E,IAAuDE,IAAuD5wC,EACpHwyC,EAAWp6E,EAAMs4E,IAAwD1wC,GAEpEjG,MACD,QAAe0J,EAAS,EAAkC,EAA+D,gFAEjI,CACA,SAAS+uC,EAAWX,EAAS7xC,GACzB,IAAIyyC,EAAMZ,EAAQjB,IAClBiB,EAAQhB,IAA+C7wC,EACvD,IAAI0yC,EAAkBhB,EAGlBiB,EAAiBF,EAAMhB,EAAwBzxC,EAC/C4yC,EAAS,CAACf,EAAQj6E,GAAI66E,EAAKzyC,GAC3BJ,EAAY,EAEZA,EADA+yC,EAAgBD,EACJC,EAAgB,IAGhBD,EAAkB,IAElC,IAAI90C,EAAej7B,EAAOi7B,cAAgB,KAI1C06B,EAAetwD,IAAIupE,EAAoBqB,EAAO9B,IAA8B,KAAMW,EAAuB,EAAI7xC,EAAY,KAAMhC,GAC/H4zC,EAA0BxxC,CAC9B,CACA,SAAS6yC,EAAYh0D,EAAM4zD,EAAKK,GAI5B/3C,EAAmB0I,EAAS8tC,EAAoB,CAAC1yD,EAAM4zD,EAAKK,GAAShC,IAA8B,KACvG,CAtIA5B,GAAuBA,EAAoBlhE,IAAI+pD,GAC/C3/D,EAAMs4E,IAAyD,IAAIW,GACnEj5E,EAAMu+B,IAAoC,WAGtC,IAAIqJ,GAAQ,WACR+yC,GAAY,EACZlB,EAAUz5E,EAAMs4E,IAIpB,GAHKmB,EAAQj6E,KACTm7E,GAAanB,EAA4BC,EAAS7xC,KAEjD+yC,GAAatB,EAAuB,EAAG,CACxC,IAAIuB,EAAiBhzC,EAAQ6xC,EAAQjB,IACjCqC,EAAqBjzC,EAAQ6xC,EAAQhB,IACzCkC,EAAYC,EAAiB,GAAKC,EAAqB,EACvDF,EAAYA,GAAaC,EAAiBvB,EAC1CsB,EAAYA,GAAaE,EAAqBvB,CAClD,CAEIqB,EAEAV,EAAOryC,KAIFwxC,GAA2BxxC,EAAQwxC,EAA0BJ,KAC9DoB,EAAWX,EAAS7xC,EAGhC,EAMA5nC,EAAM86E,OAAS,WACX,IAAIrB,EAAUz5E,EAAMs4E,IACpBmC,EAAYhB,EAAQj6E,GAAIi6E,EAAQjB,IAAsDiB,EAAQhB,IAClG,CAiGJ,GACJ,CAOA,OAFAS,EAAgBn+D,QAAQ,EAEjBm+D,CACX,CApKoC,GCZhC6B,GAAgC,WAChC,SAASA,EAAev7E,EAAIw7E,EAAUxjF,EAAMgG,GACxC,IAAIwC,EAAQ5H,KACZ4H,EAAMkN,QAAU1N,IAAM,WACtBQ,EAAMqN,SAAW2tE,EACjB,IAAI35D,GAAW,YACV7pB,GAAQ6pB,GAAYA,EAASrV,WAC9BxU,EAAO6pB,EAASrV,UAEpBhM,EAAMxI,MAAO,QAAmBgG,EAAQhG,EAC5C,CACA,OAAOujF,CACX,CAZmC,GCGnC,SAASE,GAAmBz7E,GAIxB,QAAkB,kBAAPA,IACNA,GACDA,EAAG+G,MAAM,cAIjB,CACA,IAAI20E,GAAsB,WACtB,SAASA,EAAK3wE,EAAQgP,EAAMu9D,GAIxB1+E,KAAK+iF,WAAY,EAIjB/iF,KAAKgjF,iBAAkB,EACvB,IAEIjC,EAFA9tC,GAAU,QAAc9xB,GACxB2mD,EAAiB35B,GAAiBhtB,IAEtC,OAAa2hE,EAAM9iF,MAAM,SAAU4H,IAE/B,SAAUA,EAAO,SAAU,CACvB6V,EAAG,WAAc,OAAOtL,CAAQ,IAEpC,IAAIo1D,GAAa,QAAep1D,GAAQ,WACpC,IAAI8wE,EAAoB9wE,EAAO4tE,KAA6D,GAC5FgB,EAAqB+B,EAAKI,eAAiBD,EAE3C,IAAIb,EAASta,EAAe7rD,IAAI8kE,GAChC,GAAIqB,EAAQ,CACRx6E,EAAMo3E,KAA4C,EAClD,IAAImE,EAASf,EAAOjG,MAAM2G,EAAKvC,KAC3B4C,EAAO,IAAoC,IAC3Cv7E,EAAMR,GAAK+7E,EAAO,GAElBv7E,EAAMm3E,MAA2Dn3E,EAAMR,GAE/E,CACA,IAAKQ,EAAMR,GAAI,CACXQ,EAAMR,GAAKg8E,IACX,IAAIC,EAAYC,EAAmB17E,EAAMR,IACzCm8E,EAAeF,EAAU/C,IAA8BwC,EAAKvC,MAG5D,IAAI52C,GAAUx3B,EAAO0tE,KAA8C,IAAM,aACzEr1C,EAAiByI,EAAStJ,EAC9B,CAGA/hC,EAAM+3E,IAA2CxtE,EAAOwtE,UAA4C/5E,EAGpG,IAAI49E,EAAa1b,EAAe7rD,IAAI6mE,EAAKtC,KACzC,GAAIgD,EAAY,CACZA,EAAaC,UAAUD,GACvB,IAAIE,EAAmBF,EAAWrH,MAAM2G,EAAKvC,KACzCmD,EAAiB,KACjB97E,EAAMu4E,IAAuDuD,EAAiB,IAE9EA,EAAiB,IAAoC,GAAKA,EAAiB,KAC3E97E,EAAM+3E,IAA2C+D,EAAiB,GAE1E,CACJ,IAEA,SAASN,IACL,IAAIzrE,EAAaxF,GAAU,CAAC,EACxB2vE,EAAWnqE,EAAUsoE,KAA2C,MAChE74E,EAAK06E,EAASnqE,EAAUqoE,IAAyC7tE,EAAO6tE,IAAyC,IACrH,OAAO54E,CACX,CACA,SAASk8E,EAAmB7gF,GACxB,IAAIkhF,GAAS,QAAY,IAAI17E,MAC7BL,EAAMg8E,uBAAyBD,EAC/B/7E,EAAMo3E,KAA4C,EAClD,IAAIqE,EAAY,CAAC5gF,EAAQkhF,GACzB,OAAON,CACX,CACA,SAASE,EAAenB,GAIpB,IAAIyB,EAAU,QACdj8E,EAAMm3E,IAAyDjX,EAAetwD,IAAIupE,EAAoBqB,EAAQyB,EAClH,CApBAnF,GAAuBA,EAAoBlhE,IAAI+pD,GAqB/C3/D,EAAMk8E,4BAA8B,SAAUC,EAAqBC,EAAWC,QACpD,IAAlBA,IAA4BA,GAAgB,GAEhD,IAAIC,GAAkBrB,GAAmBkB,IAAyBC,IAAcnB,GAAmBmB,GACnG,GAAIE,GACA,QAAejxC,EAAS,EAAkC,GAA8D,gKACU,OAFtI,CAMArrC,EAAMu4E,IAAuD4D,EAC7D,IAAIP,EAAa57E,EAAMu4E,IACnB6D,IACAp8E,EAAM+3E,IAA2CqE,EACjDR,EAAa,CAAC57E,EAAMu4E,IAAsDv4E,EAAMo8E,WAAW1D,IAA8BwC,EAAKvC,MAE9H0D,GAGAnc,EAAetwD,IAAIsrE,EAAKtC,IAA8D2D,UAAUX,GAXpG,CAaJ,EAKA57E,EAAMw8E,8BAAgC,WAClCx8E,EAAMu4E,IAAuD,KAC7Dv4E,EAAM+3E,IAA2C,KACjD7X,EAAe93B,IAAI8yC,EAAKtC,IAC5B,EACA54E,EAAMu+B,IAAoC,SAAU1jC,GAEhD,GAAImF,EAAMR,KAAO3E,IAAWmF,EAAMm3E,IAAwD,CACtF,IAAIsF,EAAU5hF,GAAkB2gF,IAC5BkB,EAAchB,EAAmBe,GACrCd,EAAee,EAAYhE,IAA8BwC,EAAKvC,KAClE,CACJ,CACJ,GACJ,CAOA,OAHAuC,EAAKyB,gBAAkB,IACvBzB,EAAKI,eAAiB,UACtBJ,EAAK0B,mBAAqB,cACnB1B,CACX,CA/HyB,GCHrB2B,GAAS,MACTC,GAAU,OACd,SAASC,GAAaz0E,EAAQ9Q,GACtB8Q,GAAUA,EAAO9Q,IAAqE,KAA5D,SAAQ8Q,EAAO9Q,IAAO,YACzC8Q,EAAO9Q,EAEtB,CACA,SAASwlF,KACL,OAAO,IACX,CACA,ICrBI,GAQAC,GDaAC,GAAkC,WAClC,SAASA,EAAiB3jE,EAAMhG,EAAe4pE,EAAkBrG,GAC7D,IAAI/2E,EAAQ3H,KACRoF,EAAS+b,EAAK/b,QAClB,OAAa0/E,EAAkB9kF,MAAM,SAAU4H,GAK3C,GAJAA,EAAM0zD,MAAQspB,GACdh9E,EAAMg4E,IAAkDgF,GACxDh9E,EAAMo9E,YAAc,IAAIzG,GACxB32E,EAAMq9E,SAAW,IAAIxG,GAAStjE,EAAeujE,IACzC,WAAa,CACb92E,EAAMk3E,IAAqD,IAAIgC,GAAgB3lE,EAAegG,EAAMu9D,GACpG92E,EAAM0mD,OAAS,IAAIkwB,GACnB52E,EAAMqhB,SAAW,IAAI41D,GACrBj3E,EAAMmmD,KAAO,IAAI+0B,GAAK3nE,EAAegG,EAAMu9D,GAC3C,IAEI/0C,EAFA1G,OAAU,EACV2/C,OAAW,EAEXmC,IACA9hD,EAAU8hD,EAAiBlwE,aAC3B+tE,EAAWmC,EAAiB/vE,YAC5B20B,EAASo7C,EAAiBrwE,WAE9B9M,EAAMs3E,IAAqD,IAAIyD,GAAe1/C,EAAS2/C,EAAUj5C,EAAQvkC,GACzGwC,EAAMy5E,QAAU,IAAIR,EACxB,CACAj5E,EAAMg4E,IAAkD,WACpD,IAAIyB,EAAUz5E,EAAMy5E,QAChBjzB,EAAQ,KAEZ,GAAIizB,IAAW,SAASA,EAAQj6E,IAC5BgnD,EAAQizB,EAAQj6E,OAEf,CAED,IAAI89E,GAAet9E,EAAMk3E,KAAsD,CAAC,GAAGoB,IACnF9xB,EAAQ82B,IAAe,SAASA,EAAY99E,IAAM89E,EAAY99E,GAAK,IACvE,CACA,OAAOgnD,CACX,EACAxmD,EAAMu3E,IAAgE,SAAUzyE,EAAKsU,IACjF,SAAS,QAAYtU,EAAI0+B,IAAK,KAAWrnC,QAAS,QAAS6D,EAAMg4E,MAAmD,MACxH,EACAh4E,EAAM43E,IAAuE,SAAU9yE,EAAKsU,IACxF,QAAStU,EAAI0+B,IAAK,KAAWpnC,MAAO4D,EAAMwnD,GAC9C,EACAxnD,EAAMw3E,IAAoE,SAAU1yE,EAAKsU,GACrF,IAAIgkE,EAAcp9E,EAAMo9E,YACxB,GAAIA,EAAa,CAEb,IAAIj9E,GAAO,QAAY2E,EAAKg4E,KAC5B,QAAS38E,EAAM,KAAW9H,mBAAoB+kF,EAAYn9E,IAAK,QAC/D,QAASE,EAAM,KAAW7H,iBAAkB8kF,EAAYG,MAAO,MACnE,CACJ,EACAv9E,EAAMy3E,IAA8D,SAAU3yE,EAAKsU,GAC/E,IAAIstC,EAAS1mD,EAAM0mD,OACnB,GAAIA,EAAQ,CAER,IAAID,GAAY,SAAY,QAAY3hD,EAAK+3E,IAAS,KAAW7gF,YACjE,QAASyqD,EAAW,UAAWC,EAAOlnD,GAAI,QAC1C,QAASinD,EAAW,KAAMC,EAAOE,GAAI,QACrC,QAASH,EAAW,QAASC,EAAOG,MAAO,QAC3C,QAASJ,EAAW,cAAeC,EAAOC,YAAa,MAC3D,CACJ,EACA3mD,EAAM83E,IAAiE,SAAUhzE,EAAKsU,GAClF,IAAIikE,EAAWr9E,EAAMq9E,SACrB,GAAIA,EAAU,CACV,IAAIl9E,GAAO,QAAY2E,EAAKg4E,KAC5B,QAAS38E,EAAM,KAAWxE,qBAAsB0hF,EAASG,aAAc,QACvE,QAASr9E,EAAM,KAAWzE,oBAAoB,QAAmB8B,EAAQ6/E,EAASrG,WAAY,IAAK,OAC/FlyE,EAAI3H,WAAa,KAAoBsD,UAAYqE,EAAI3H,WAAaiK,EAAA,EAAS3G,YAC3E,QAASN,EAAM,KAAWvE,gBAAiByhF,EAASI,WAAY,QAChE,QAASt9E,EAAM,KAAWtE,eAAgBwhF,EAASK,OAAQ,OAEnE,CACJ,EACA19E,EAAM63E,IAAiE,SAAU/yE,EAAKsU,GAClF,IAAIiI,EAAWthB,EAAMshB,SACjBA,IACA,SAAS,QAAYvc,EAAKg4E,GAAS,IAAK,KAAWjjF,WAAYwnB,EAASulC,GAAI,MAEpF,EACA5mD,EAAM03E,IAAkE,SAAU5yE,EAAKsU,GACnF,IAAIzM,EAAiB3M,EAAMs3E,IAC3B,GAAI3qE,EAAgB,CAChB,IAAI+6C,GAAW,SAAY,QAAY5iD,EAAK+3E,IAAS,KAAW5gF,SAAU,CAAEiR,aAASlP,EAAWqP,cAAUrP,KAC1G,QAAS0pD,EAAU,UAAW/6C,EAAeO,QAAS,MAAU,QAChE,QAASw6C,EAAU,OAAQ/6C,EAAenV,KAAM,MAAU,QAC1D,QAASkwD,EAAU,WAAY/6C,EAAeU,SAAU,MAAU,MACtE,CACJ,EACArN,EAAM29E,gBAAkB,SAAU74E,EAAKsU,GACnC,IAAI0tC,EAAM/mD,EAAM+mD,IACZA,IACA,SAAS,QAAYhiD,EAAK+3E,IAAS,KAAW3gF,OAAQ4qD,EAE9D,EACA9mD,EAAM23E,IAA0D,SAAU7yE,EAAKsU,GAC3E,IAAI+sC,EAAOnmD,EAAMmmD,KACjB,GAAIA,EAAM,CACN,IAAIhmD,GAAO,QAAY2E,EAAKg4E,GAAS,KAErC,QAAS38E,EAAM,KAAWxF,cAAewrD,EAAK4xB,IAA0C,OAExF,IAAI7xB,GAAU,SAAY,QAAYphD,EAAK+3E,IAAS,KAAW9gF,UAC/D,QAASmqD,EAAS,KAAMC,EAAK3mD,GAAI,QACjC,QAAS0mD,EAAS,SAAUC,EAAKoyB,IAAsD,MAC3F,CACJ,EACAv4E,EAAM49E,QAAU,SAAU94E,EAAKsU,GAC3B,IAAIoqB,EAAM1+B,EAAI0+B,IACVA,IACAu5C,GAAav5C,EAAK,KAAWxnC,WAC7B+gF,GAAav5C,EAAK,KAAWznC,SAC7BghF,GAAav5C,EAAK,KAAWtnC,QAC7B6gF,GAAav5C,EAAK,KAAWpnC,OAC7B2gF,GAAav5C,EAAK,KAAWrnC,QAC7B4gF,GAAav5C,EAAK,KAAWvnC,UAErC,CACJ,GACJ,CAeA,OAFAihF,EAAiBniE,QAAQ,EAElBmiE,CACX,CA1IqC,GCZjCW,GAAY,KACZ,IAAiB,UAAe,GAAK,CAAC,EACtC,GAAG9F,IAAwC8F,GAC3C,GAAG7tC,iBAAmB,KACtB,GAAGI,mBAAqB,IACxB,GAAGF,oBAAsB,MACzB,GAAG1K,aAAeq4C,GAClB,GAAG9G,aAAe8G,GAClB,GAAGC,8BAA+B,EAClC,GAAGpqB,MAAQmqB,GACX,GAAG7F,IAA+C6F,GAClD,GAAG5F,IAA0CgF,GAC7C,GAAG/E,IAA8D+E,GACjE,GAAG9E,IAAyD8E,GAC5D,GAAG7E,IAAsC,GACzC,GAAGC,IAAuCwF,GAC1C,KACAE,GAAkC,SAAU7lF,GAE5C,SAAS6lF,IACL,IAGInkC,EACAokC,EACAC,EACAzN,EACA0N,EAPAn+E,EAAQ7H,EAAOC,KAAKC,OAASA,KA8GjC,OA7GA2H,EAAMiyC,SAAW,IACjBjyC,EAAMqe,WAAa4kB,GAMnB,OAAa+6C,EAAkBh+E,GAAO,SAAUC,EAAOqyC,GAsDnD,SAAS34B,IACLkgC,EAAmB,KACnBokC,EAAuB,KACvBC,EAAoB,KACpBzN,EAAW,KACX0N,GAA0B,CAC9B,CACA,SAAS5rC,EAAkB/nC,GACvB,IAAI6T,EAAape,EAAMoe,WACnB7E,EAAOvZ,EAAMuZ,KAEjBvZ,EAAM06B,UAAS,QAAenwB,GAAQ,WAClC,IAAIkkB,GAAM,SAA8B,KAAMlkB,EAAQgP,GAClDhP,EAAOg4B,eACPD,EAAoB/3B,EAAOg4B,eAE/B27C,GAA4D,IAAlC3zE,EAAO4zE,uBACjCvkC,EAAmBnrB,EAAIyF,UAAU9V,EAAY,IAE7Cpe,EAAM,cAAgB45C,CAC1B,KAEAqkC,EAAoB1kE,EAAK89D,KAA8C,GACvE7G,EAAW,IAAI0M,GAAiB3jE,EAAMqgC,EAAkBqkC,EAAmBj+E,EAAMo+E,cACjFJ,GAAuB,QAAuCh+E,EAAM8zB,QAAQwjD,IAAoD2G,GAChI1kE,EAAK+sD,YAAY0X,GACjBh+E,EAAM8zB,QAAQ4/B,MAAQ,WAClB,IAAI2qB,EAAgB9kE,EAAKkd,UAAUwM,GACnC,OAAOo7C,EAAgBA,EAAc9oD,OAAO,UAAY,IAC5D,CACJ,CACA,SAAS+oD,EAA0Bx5E,EAAKsU,IAEpC,QAAYtU,EAAK,OAAQ,KACzB,QAAYA,EAAK,MAAO,CAAC,GACzB,IAAI2pB,EAAMzuB,EAAM8zB,QAChBrF,EAAI8oD,IAA8DzyE,EAAKsU,GACvEqV,EAAI+oD,IAAkE1yE,EAAKsU,GAC3EqV,EAAIgpD,IAA4D3yE,EAAKsU,GACrEqV,EAAIipD,IAAgE5yE,EAAKsU,GACzEqV,EAAIkpD,IAAwD7yE,EAAKsU,GACjEqV,EAAImpD,IAAqE9yE,EAAKsU,GAC9EqV,EAAIkvD,gBAAgB74E,EAAKsU,GACzBqV,EAAIopD,IAA+D/yE,EAAKsU,GACxEqV,EAAIqpD,IAA+DhzE,EAAKsU,GACxEqV,EAAImvD,QAAQ94E,EAAKsU,EACrB,CAnGAM,KACA,SAAU1Z,EAAO,UAAW,CACxB6V,EAAG,WACC,OAAO26D,CACX,IAEJxwE,EAAMg2C,WAAa,SAAUzrC,EAAQgP,EAAMI,EAAYH,GACnD64B,EAAM2D,WAAWzrC,EAAQgP,EAAMI,EAAYH,GAC3C84B,EAAkB/nC,EACtB,EAKAvK,EAAM02B,iBAAmB,SAAUpT,EAAOlK,GACtC,KAAK,SAAkBkK,GAAQ,CAC3BlK,EAAUpZ,EAAMkZ,WAAWE,GAEvBkK,EAAM9rB,OAAS4P,EAAA,EAAS5G,cACxB4Y,EAAQ6a,UAAUxU,4BAEtB,IAAI8+D,EAAc/N,GAAY,CAAC,EAC3B+N,EAAW9E,SAEwB,kBAAxBjJ,EAASiJ,QAAQj6E,IAAmB++E,EAAWrH,KACtDqH,EAAWrH,IAAmD34C,MAGtE,IAAIigD,EAAUD,EAAWp4B,KAKzB,GAJIq4B,IAAYA,EAAQrH,KACpBqH,EAAQjgD,IAAkCggD,EAAWp4B,KAAK3mD,IAE9D8+E,EAA0Bh7D,EAAOlK,GAC7BolE,GAAWA,EAAQpH,MACnBoH,EAAQpH,KAA4C,GAC/C8G,GAAyB,CAC1B,IAAIlnF,EAAU,IAAI,KAAoB,KAA0D,YAAkB,CAAC,GAAG4D,WAAa,KACnI,QAAoBwe,EAAQ6a,UAAW,EAAmCj9B,EAC9E,CAEJgJ,EAAM00C,YAAYpxB,EAAOlK,EAC7B,CACJ,EACApZ,EAAMm2C,YAAc,SAAUv8B,EAAWC,GACrC,IAAIN,GAAQK,GAAa,CAAC,GAAGL,OAC7B,GAAIA,GAAQA,EAAK89D,IAA+C,CAC5D,IAAI9Q,EAAWhtD,EAAK89D,KAA8C,GAC9D9Q,IAAayX,GACbzkE,EAAK+sD,YAAY2X,EAEzB,CACAvkE,GACJ,CAgDJ,IACO3Z,CACX,CAOA,OAxHA,QAAUg+E,EAAkB7lF,GAsH5B6lF,EAAiBhjE,QAAQ,EAElBgjE,CACX,CA1HqC,CA0HnCnlE,GAAA,GACF,YClJA,ICJI,GAAI,GAAI6lE,GAAIC,GAaZC,GDTAC,GAA8B,2BAC9BC,GAAS,QAEFC,GAAc,UACdC,GAAqB,eACrBC,GAAuB,iBACvBC,GAAsB,gBACtBC,GAAY,QACZC,GAAwB,kBACxBC,GAAuB,iBACvBC,GAAgC,0BAEhCC,GAAyB,mBACzBC,GAAiB,YACjBC,GAAoB,eACpBC,GAAkBZ,GAAS,QAC3Ba,GAAkBb,GAAS,QAC3Bc,GAAmBd,GAAS,SAC5Be,GAAsBf,GAAS,WAC/BgB,GAAsBhB,GAAS,YAC/BiB,GAA4BjB,GAAS,iBACrCkB,GAAqC,MAAQnB,GAC7CoB,GAAuC,QAAUpB,GACjDqB,GAAsB,8DErBtBhiD,GAAe,UACfiiD,GAAa,QACbC,GAAyB,mBACzB5sF,GAA2B,qBAC3B6sF,GAA2B,qBAC3BC,GAA6B,0BAC7B/sF,GAAoB,cACpBua,GAAyB,oBACzByyE,GAAsB,gBACtB,GAAe,UACfC,GAA6B,8BAC7BC,GAAoB,cACpBC,GAA6B,2BDFpCC,GAAiC,CACjC5B,GAAa,eAAgB,aAAc,kBAAmB,iBAAkB,kBAEhF6B,GAAa,YACbC,GAAY,WACZC,GAAiB,eACjB,QAAkB7iF,EAClB8iF,GAAgB,CAChB7yB,aAAc,IACdkL,cAAe,GAEf4nB,GAAmB,CACnBzmB,cAAe,EACfH,YAAa,CAAC,KAEd6mB,GAA0B,CAC1Bx0D,UAAU,EACV0sC,MAAOr1B,EAAWi9C,IAClBzmB,SAAUx2B,EAAWk9C,KAIrBE,IAAuB,GAAK,CAAC,EAC7B,GAAGd,IAAsD,GACzD,GAAG7sF,IAA4C,GAC/C,GAAGC,IAA0D,GAC7D,GAAG8sF,IAAiE,GACpE,GAAGtiB,sBAAwB/5B,EAAck9C,GAAe,KACxD,GAAG31D,cAAgB,GAAK,CAAC,EACrB,GAAGo1D,IAAc,CAAEn1D,KAAM,GACzB,GAAGo1D,IAAa,CAAEp1D,KAAM,GACxB,GAAGq1D,IAAkB,CAAEr1D,KAAM,GAC7B,IACJ,GAAGwuC,eAAiBn2B,GAAY46C,GAAK,CAAC,EAClCA,GAAG,KAAuD56C,EAAWm9C,IACrEvC,GAAG,KAA+D56C,EAAWm9C,IAC7EvC,GAAG,KAA8C56C,EAAWm9C,IAC5DvC,GAAG,KAAgD56C,EAAWm9C,IAC9DvC,KACJ,GAAG0C,gBAAkBt9C,GAAY66C,GAAK,CAAC,EACnCA,GAAG,4BAA8B76C,EAAW,CACxC2V,OAAQymC,GACR5mC,SAAU,IAEdqlC,KACJ,IACJ,SAASwC,GAAc9iF,GAEnB,OAAOA,GAASA,EAAQ,CAC5B,CAQA,IAAIgjF,GAAgC,WAChC,SAASA,EAAeC,GACpB,IAEIC,EACAviF,EACAwiF,EACAC,EACApvC,EACAqvC,EACAC,EACA1pB,EACA2pB,EACAC,EACAC,EACAC,EACAC,EACAC,EAfAjiF,EAAQ3H,MAgBZ,OAAagpF,EAAgBhpF,MAAM,SAAU4H,GACzC0Z,KACA,SAAU1Z,EAAO,SAAU,CACvB6V,EAAG,WACC,OAAOmiD,CACX,KAEJ,SAAW,CAAC,yBAA0B,wBAAwB,SAAUv6D,IACpE,SAAUuC,EAAOvC,EAAK,CAClBoY,EAAG,WACC,OAAI6rE,EACOA,EAAMjkF,GAEV,IACX,GAER,IAEA+jF,EAAkB,IAAMH,EAAQY,IAAMZ,EAAQpjD,KAAuC,IACrFojD,EAAQnB,IAAkCmB,EAAQnB,KAAmC,GACrFmB,EAAQpjD,IAAsCojD,EAAQpjD,KAAuC,EAC7F,IAAI/qB,GAAa,QAAoBmuE,EAAQ92E,QAAU,CAAC,EAAG02E,IAyV3D,SAASiB,IACL,OAAOZ,CACX,CACA,SAAS5nE,IACL04B,GAAgB,QAAsB,SACtCqvC,EAAyB,KACzBH,EAAe,KACfviF,EAAa,KACbwiF,EAAU,KACVC,EAAkB,KAClBK,EAAe,KACfC,GAAmB,EACnBC,GAAkB,EAClBC,GAAqB,EACrBJ,EAAiB,IAAIjoC,EACzB,CACA,SAASwoC,IAEDV,KACA,SAA8B,KAAMA,IACpC,SAA4B,KAAMA,GAE1C,CACA,SAAS5f,EAAe3zC,GACpBwzD,EAAM7nB,cAAc3rC,EACxB,CAjXA8pC,EAAU9kD,EAAW3C,IACrBoxE,EAAmB,IAAI7wC,IACvB,SAAU9wC,EAAO,cAAe,CAC5B6V,EAAG,WACC,OAAO8rE,CACX,IAEJ5iF,EAAa,IAAI,GACjBuiF,EAAe,IAAI,GACnBC,EAAU,IAAIzyB,GACd4yB,EAAQ,IAAI9hB,IACZ,SAAU5/D,EAAO,OAAQ,CACrB6V,EAAG,WACC,OAAO6rE,CACX,IAGJ7f,GAAe,QAAe3uD,GAAY,WACtC,IAAIkvE,EAAWpqB,EAAQmoB,IACvB,SAASkC,IACL,OAAO,UAAkB,SAAUlgC,EAASC,IACxC,SAAgBggC,GAAU,SAAUjmC,GAChC,IAAImmC,EAAQnmC,GAAOA,EAAI/9C,MACnBmkF,EAAW,MACVpmC,EAAIH,UAAYsmC,IAEjBtqB,EAAQmoB,IAAyDmC,EACjEC,EAAWhrB,GAAsB+qB,IAGrCngC,EAAQogC,EACZ,GACJ,GACJ,CACA,IAAI,SAAcH,GAAW,CACzB,IAAII,GAAc,UAAkB,SAAUrgC,EAASC,GACnDigC,IAAW7P,MAAK,SAAUiQ,GACtB,IAAI/d,EAAO1M,EAAQzkE,IACnBmxE,EAAO+d,GAAMA,EAAGrC,KAA8D1b,EAC9EviB,EAAQuiB,EACZ,IAAGoO,OAAM,SAAU5zE,GAGfijD,EAAQ,KACZ,GACJ,IACIlrD,EAAM+gE,EAAQqoB,KACd,SAAkBppF,KAClBA,GAAM,UAAkB,SAAUkrD,EAASC,GACvCigC,IAAW7P,MAAK,SAAUiQ,GACtB,IAAIxrF,EAAM+gE,EAAQ1kE,IACdovF,EAASD,GAAMA,EAAG50E,IACtB5W,EAAMyrF,EAASA,EAAS,KAAsBzrF,EAC9CkrD,EAAQlrD,EACZ,IAAG67E,OAAM,SAAU5zE,GAGfijD,EAAQ,KACZ,GACJ,KAEJ6V,EAAQzkE,IAA6DivF,EACrExqB,EAAQ1kE,IAA+C2D,CAC3D,CACA,IAAI,SAASmrF,IAAaA,EAAU,CAIhC,IAAIK,EAAKlrB,GAAsB6qB,GAC3BM,EAASD,EAAG50E,IAChBmqD,EAAQ3tD,YAAc2tD,EAAQqoB,IAAoEroB,EAAQqoB,IAAoEqC,EAAS,KACvL1qB,EAAQzkE,IAA6DkvF,EAAGrC,KAA8DpoB,EAAQzkE,GAClJ,CAEAykE,EAAQ3tD,YAAc2tD,EAAQqoB,IAAoEroB,EAAQqoB,IAAoEroB,EAAQ1kE,GAC1L,KACA0M,EAAM8+E,IAAqCuC,EAC3CrhF,EAAMk/E,IAAiC,SAAUnjD,EAAO02B,GAEpD,IAAItxD,EAuBJ,YAxBc,IAAV46B,IAAoBA,GAAQ,IAEhC,SAAO2lD,GAAO,WAAc,MAAO,aAAe,IAAG,WAC7C3lD,IAAU02B,IACVtxD,GAAS,UAAc,SAAUghD,GAC7BsQ,EAAWtQ,CACf,KAEJ,IAAI4a,EAAU,EACV4lB,EAAY,WACZ5lB,IACgB,IAAZA,GACAtK,GAER,GACA,SAAWivB,EAAMvc,eAAe,SAAU5B,GAClCA,IACAxG,IACAwG,EAAQ2b,IAA+BnjD,EAAO4mD,GAEtD,IAEAA,GACJ,GAAG,KAAM5mD,GACF56B,CACX,EACAnB,EAAMsgF,IAAmD,SAAUvkD,QACjD,IAAVA,IAAoBA,GAAQ,IAChC,SAAW2lD,EAAMvc,eAAe,SAAU5B,GAClCA,EAAQ+c,IACR/c,EAAQ+c,MAGR/c,EAAQ2b,IAA+BnjD,EAE/C,GACJ,EACA/7B,EAAM4iF,gBAAkB,SAAUC,EAAYrlF,EAAQgiE,GAKlD,SAASsjB,EAAyBzB,GAC9B,GAAIA,EAAS,CACT,IAAI5D,EAAa,IACZ,SAAkB+D,KACnB/D,GAAc+D,GAEdxhF,EAAM,KAAuCA,EAAM,IAAoCq9E,WACvFr9E,EAAM,IAAoCq9E,SAASI,WAAaA,GAAc,MAGlF,SAAcz9E,GAAO,SAAUpC,EAAOQ,IAC9B,SAASR,MACR,SAAWQ,IACZR,GAAsB,MAAbA,EAAM,KACwC,KAAvD,SAAW8iF,GAAgC9iF,IACvCyjF,EAAQzjF,KAAWQ,IACnBijF,EAAQzjF,GAASQ,EAG7B,GACJ,CACJ,CA2CA,YApEmB,IAAfykF,IAAyBA,GAAa,GACtCA,IACA,SAAiB,uCAwBrB,SAAO7iF,EAAMuZ,MAAM,WAAc,MAAO,uBAAyB,IAAG,WAEhEmoE,EAAM1rC,WAAWgiB,EAAS,CAACupB,EAASxiF,EAAYuiF,EAAcK,EAAkBC,GAAiBpkF,EAAQgiE,IACzG,SAAUx/D,EAAO,UAAW,CACxB6V,EAAG,WAAc,OAAO9W,EAAW,GAAqC,IAEvE8iF,IACDA,EAAe,IAAI9pB,GAAY2pB,IAEnC,IAAIhE,EAASqF,KACTrF,GAAU19E,EAAM,MAChBA,EAAM,IAAoCq9E,SAASK,OAASA,GAEhEoF,EAAyB9iF,EAAM8+E,KAE/B9+E,EAAMgjF,aACNhjF,EAAMs/E,MACNt/E,EAAMugF,IAAsEvgF,GAC5E6hE,GAAe,QAAe3uD,GAAY,WACtC,IAAI+vE,GAAgB,EAChBjrB,EAAQgC,eAAe,OACvBipB,GAAiBjrB,EAAQgC,eAAe,KAAqDxtC,WAE5Fq1D,EAAa7lB,WAAahE,EAAQmpB,iBAAmBnpB,EAAQmpB,gBAAgBS,EAAexjE,aAAe6kE,GAE5GpB,EAAazlB,cAAa,GAGzB0lB,GAAqB9pB,EAAQmoB,OAA0D,QAAiBQ,GAAY3oB,KAC5G6pB,EAAarB,IAA6C,IAA6D,yDAChIsB,GAAmB,IAElBC,GAAmB/hF,EAAM,IAAoCq9E,SAASK,SAA4F,GAAlF19E,EAAM,IAAoCq9E,SAASK,OAAOvwD,QAAQ,cAAqB,QAAiByzD,GAAW5oB,KAC3L6pB,EAAarB,IAA6C,IAA8C,gDACjHuB,GAAkB,IAEjBC,GAAsBx7E,SAASg7E,GAAmB,IAAK,QAAiBX,GAAgB7oB,KAChF6pB,EAAarB,IAA6C,IAA4C,6DAC/GwB,GAAqB,EAE7B,IACJ,IACOhiF,CACX,EACAA,EAAMygF,IAAqE,SAAUY,IAGjF,QAAYA,EAASrhF,GAAO,SAAUxI,GAElC,OAAOA,IAA8D,KAAtD,SAAWkpF,GAAgClpF,EAC9D,GACJ,EACAwI,EAAMgjF,WAAa,WAEf,IACI,IAAI,SAAQhjF,EAAMqhF,QAAQnB,KAAkC,CAGxD,IADA,IAAIgD,EAAWljF,EAAMqhF,QAAQnB,IAAgCjsE,OACpDnW,EAAI,EAAGA,EAAIolF,EAAUplF,IAAK,CAC/B,IAAI3F,EAAO6H,EAAMqhF,QAAQnB,IAAgCpiF,GACzD3F,GACJ,CACA6H,EAAMqhF,QAAQnB,SAAkCliF,SACzCgC,EAAMqhF,QAAQnB,GACzB,CACJ,CACA,MAAOthF,GACH,IAAIukF,EAAe,CAAC,EAChBvkF,IAAa,SAAWA,EAAU+H,YAClCw8E,EAAavkF,UAAYA,EAAU+H,WAQ3C,CACJ,EACA3G,EAAMugF,IAAwE,SAAU6C,GAEpF,IAAI,aAAe,WAAe,CAC9B,IAAIC,EAAwB,WAWxB,GAHAD,EAAoB9C,KAAiD,IAGjE,SAAWtgF,EAAMuZ,KAAKgmE,KAA0C,CAChE,IAAI+D,EAAevjF,EAAMwZ,KAAKgmE,IAAwCv8C,GACtE,GAAIsgD,EAAc,CACd,IAAIC,EAAmBD,EAAa/tD,OAChCguD,GAAoBA,EAAiB,KAAuCA,EAAiB,IAAoCC,iBACjID,EAAiB,IAAoCC,gBAAgB1I,QAE7E,CACJ,CACJ,EACI2I,GAAU,EACThC,IACDA,GAAyB,SAAkBrvC,EAAesvC,EAAMlC,KAAiDkC,EAAMlC,QAG3H3d,GAAe,QAAe7J,GAAS,SAAUp2D,GAC7C,IAAIk4D,EAAal4D,EAAQ2O,IACrBmzE,EAAkBN,EAAoBl4C,YACtCzc,GAAM,SAA8B,KAAMqrC,EAAY4pB,EAAgBnqE,MACtE8b,EAAY5G,EAAIyF,UAAUwvD,EAAgBtlE,YAAc8kB,GAE5Di/C,IACA,IAAIwB,EAA0B7pB,EAAW8pB,wBACpCvuD,EAAUkb,8BAGP,SAA2B8yC,EAAuBM,EAAyBlC,KAC3EgC,GAAU,IAGV,SAAyBJ,EAAuBM,EAAyBlC,KACzEgC,GAAU,GAITA,IAAY,aACb,QAAe/B,EAAMlkF,OAAQ,EAAmC,GAAkE,wDAGrIimF,GAAYpuD,EAAUmb,uBAEvB,SAAyB6yC,EAAuBM,EAAyBlC,EAEjF,IACJ,CACJ,EACAzhF,EAAM6jF,UAAY,WACd,OAAOtC,CACX,EACAvhF,EAAM42B,OAAS,SAAUlX,EAASgmD,EAAgBjC,GAC9C,IACItiE,EADA2Y,GAAa,EAQjB,SAASG,EAAgBJ,GAChBC,IACDA,GAAa,EACbJ,IACAgsD,GAAkBA,EAAe7rD,GAEzC,CAIA,OAhBI6F,IAAYgmD,IACZvkE,GAAS,UAAc,SAAUghD,GAE7BujB,EAAiBvjB,CACrB,KASJniD,EAAMsgF,IAAiD5gE,GACvDyiE,IACAT,EAAM9qD,QAAU8qD,EAAM9qD,OAAOlX,EAASzF,EAAiBwpD,GAChDtiE,CACX,GACA,QAAenB,EAAO2hF,EAAkB,CACpC5C,GACAU,GACAG,GACA,2BACAC,GACA,WACAH,GACAC,GACAX,GACAC,GACAE,GACAC,MAEJ,QAAep/E,EAAOkiF,EAAyB,CAC3CpC,GACA,wBACA,8BAEJ,QAAe9/E,EAAO0hF,EAAO,CACzBrC,GACAC,GACA,0BACAC,GACA,YACAC,GACA,cACA,cACA,YACA,iBAEJ,QAAex/E,GAAO,WAClB,IAAI8zB,EAAU/0B,EAAW,IACzB,OAAO+0B,EAAUA,EAAQqyB,KAAO,IACpC,GAAG,CACC45B,GACAC,IA6BR,GACJ,CAkDA,OALAoB,EAAeh8E,UAAUqxE,yBAA2B,SAAUC,GAC1D,OAAO,IACX,EAGO0K,CACX,CA9cmC,GAid5B,SAAS2B,KACZ,GAAIpE,GAEA,OAAOA,GAEX,IAAIjB,EAAS,KACToG,GAAW,EACXC,EAAO,CACP,2BACA,8BAEJ,IAGI,IAAIC,GAASC,UAAY,CAAC,GAAGC,cACzBF,IACAtG,EAASsG,EAAMniF,IAQvB,CACA,MAAO3C,GAEP,CACA,GAAIw+E,EAAQ,CACR,IACI,IAAIyG,EAAQzG,EAAOvyE,cACnB,GAAIg5E,EAAO,CACP,IAAIC,EAAQ,IACZ,SAAWL,GAAM,SAAU3lF,EAAOwW,GAC9B,IAAkC,KAA9B,SAAWuvE,EAAO/lF,GAWlB,OAVAgmF,EAAQ,OAASxvE,EAAM,IACiB,KAApC,SAAWuvE,EAAO,gBACmB,KAAjC,SAAWA,EAAO,UAClBC,GAAS,SAE6B,KAAjC,SAAWD,EAAO,YACvBC,GAAS,UAGjBzF,GAAkByF,GAASN,EAAW,OAAS,KACvC,CAEhB,GACJ,CACJ,CACA,MAAO5kF,GAEP,CAEAy/E,GAAkBjB,CACtB,CACA,OAAOiB,EACX,C,oDExlBI35E,E,WAQAq/E,EAAc,cAKdC,EAAY,YAKZC,EAAc,WAKdC,EAAmB,gBAKnBC,EAAc,cAKdC,EAAe,YAKfC,EAAqB,WAKrBC,EAAgB,cAKhBC,EAAqBD,EAIrBE,EAAyB,UAKzBC,EAAe,YAKfC,EAAa,YAIbC,EAAoB,OAASD,EAI7BE,EAAyB,iBAIzBC,EAAkB,gBAKlBC,EAAiB,cAKjBC,EAAkB,eAClBC,EAAMr9D,OAKNs9D,EAAqBD,EAAI,kBAIzBE,EAAkBF,EAAI,uBAGtBG,GAAO,WACPC,EAAWD,EAAKP,KAA4BO,EAAKP,GAA0B,CAC3ES,GAAI3gF,EAAK,CAAC,EACNA,EAAGqgF,IAAmB,EACtBrgF,EAAGogF,IAAkB,EACrBpgF,GACJwP,EAAG,MAMP,SAASoxE,EAA0Bt9E,GAC/B,OAAOA,IAAWA,IAAWg9E,EAAIhB,IAAch8E,IAAW5C,MAAM4+E,GACpE,CAKA,SAASuB,EAAkCv9E,GACvC,OAAOs9E,EAA0Bt9E,IAAWA,IAAWw9E,SAASxB,EACpE,CAKA,SAASt8D,EAAa1f,GAClB,IAAIy9E,EACJ,GAAIz9E,EAAQ,CAER,GAAIi9E,EACA,OAAOA,EAAmBj9E,GAE9B,IAAI09E,EAAW19E,EAAO08E,IAAe18E,EAAOg8E,KAAeh8E,EAAO+7E,GAAe/7E,EAAO+7E,GAAaC,GAAa,MAElHyB,EAAWz9E,EAAO28E,IAAsBe,GACnC,SAAkB19E,EAAQ28E,YAGpB38E,EAAO68E,GACdY,EAAWz9E,EAAO28E,GAAqB38E,EAAO68E,IAAoB78E,EAAO28E,GACzE38E,EAAO68E,GAAmBa,EAElC,CACA,OAAOD,CACX,CAMA,SAASE,EAAa39E,EAAQkV,GAC1B,IAAIwrC,EAAQ,GACZ,GAAIw8B,EACAx8B,EAAQw8B,EAAgBl9E,QAGxB,IAAK,IAAIy5B,KAAUz5B,EACO,kBAAXy5B,IAAuB,SAAkBz5B,EAAQy5B,IACxDinB,EAAMhd,KAAKjK,GAIvB,GAAIinB,GAASA,EAAM/0C,OAAS,EACxB,IAAK,IAAI3R,EAAK,EAAGA,EAAK0mD,EAAM/0C,OAAQ3R,IAChCkb,EAAKwrC,EAAM1mD,GAGvB,CASA,SAAS4jF,EAAoB59E,EAAQ2gB,EAAUk9D,GAC3C,OAAQl9D,IAAao7D,UAAsB/7E,EAAO2gB,KAAcs7D,IAAgB4B,IAAW,SAAkB79E,EAAQ2gB,KAAcA,IAAa+7D,GAAc/7D,IAAaq7D,CAC/K,CAMA,SAAS8B,EAAgBpvF,IACrB,SAAe,iBAAmBA,EACtC,CAOA,SAASqvF,EAAkBC,GAEvB,IAAIC,GAAY,SAAU,MAS1B,OAPAN,EAAaK,GAAY,SAAU9uF,IAE1B+uF,EAAU/uF,IAAS0uF,EAAoBI,EAAY9uF,GAAM,KAE1D+uF,EAAU/uF,GAAQ8uF,EAAW9uF,GAErC,IACO+uF,CACX,CAMA,SAASC,EAAY/+C,EAAQrpC,GACzB,IAAK,IAAIkE,EAAKmlC,EAAOxzB,OAAS,EAAG3R,GAAM,EAAGA,IACtC,GAAImlC,EAAOnlC,KAAQlE,EACf,OAAO,EAGf,OAAO,CACX,CAOA,SAASqoF,EAAcC,EAAYJ,EAAYC,EAAWI,GACtD,SAASC,EAAet+E,EAAQu+E,EAAU59D,GACtC,IAAIO,EAAUq9D,EAAS59D,GACvB,GAAIO,EAAQi7D,IAAgBkC,EAAa,CAErC,IAAIG,EAAgBx+E,EAAOk8E,IAAqB,CAAC,GACP,IAAtCsC,EAAcjC,KACdr7D,GAAWs9D,EAAcD,EAASnC,KAAkB,CAAC,GAAGz7D,IAAaO,EAE7E,CACA,OAAO,WAEH,OAAOA,EAAQy7C,MAAM38D,EAAQ0L,UACjC,CACJ,CAEA,IAAI+yE,GAAY,SAAU,MAC1Bd,EAAaM,GAAW,SAAU/uF,GAE9BuvF,EAAUvvF,GAAQovF,EAAeN,EAAYC,EAAW/uF,EAC5D,IAEA,IAAIwvF,EAAYh/D,EAAa0+D,GACzBO,EAAU,GAEd,MAAOD,IAAcnB,EAAkCmB,KAAeR,EAAYS,EAASD,GAEvFf,EAAae,GAAW,SAAUxvF,IAKzBuvF,EAAUvvF,IAAS0uF,EAAoBc,EAAWxvF,GAAO+tF,KAE1DwB,EAAUvvF,GAAQovF,EAAeN,EAAYU,EAAWxvF,GAEhE,IAIAyvF,EAAQj7C,KAAKg7C,GACbA,EAAYh/D,EAAag/D,GAE7B,OAAOD,CACX,CACA,SAASG,EAAa5+E,EAAQ2gB,EAAUhI,EAAOkmE,GAC3C,IAAIC,EAAW,KAGf,GAAI9+E,IAAU,SAAkB2Y,EAAOyjE,GAAe,CAClD,IAAIoC,EAAgBx+E,EAAOk8E,KAAqB,SAAU,MAQ1D,GAPA4C,GAAYN,EAAc7lE,EAAMyjE,MAAkB,SAAU,OAAOz7D,GAC9Dm+D,GAEDhB,EAAgB,YAAcn9D,EAAW,KAAOs7D,IAI/C6C,EAASxC,KAAwD,IAAtCkC,EAAcjC,GAA+B,CAEzE,IAAIwC,IAAc,SAAkB/+E,EAAQ2gB,GAExCq+D,EAAWt/D,EAAa1f,GACxB2+E,EAAU,GAGd,MAAOI,GAAcC,IAAazB,EAAkCyB,KAAcd,EAAYS,EAASK,GAAW,CAC9G,IAAIC,EAAYD,EAASr+D,GACzB,GAAIs+D,EAAW,CACXF,EAAcE,IAAcJ,EAC5B,KACJ,CAEAF,EAAQj7C,KAAKs7C,GACbA,EAAWt/D,EAAas/D,EAC5B,CACA,IACQD,IAGA/+E,EAAO2gB,GAAYm+D,GAGvBA,EAASxC,GAAiB,CAC9B,CACA,MAAO1lF,GAGH4nF,EAAcjC,IAAsB,CACxC,CACJ,CACJ,CACA,OAAOuC,CACX,CACA,SAASI,EAAcv+D,EAAUhI,EAAOkmE,GACpC,IAAII,EAAYtmE,EAAMgI,GAStB,OAPIs+D,IAAcJ,IAEdI,EAAYv/D,EAAa/G,GAAOgI,WAEzBs+D,IAAchD,GACrB6B,EAAgB,IAAMn9D,EAAW,cAAgBs7D,GAE9CgD,CACX,CAUA,SAASE,EAAmBxmE,EAAOymE,EAAWp/E,EAAQq/E,EAAeC,GACjE,SAASC,EAAwB5mE,EAAOgI,GACpC,IAAI6+D,EAAgB,WAEhB,IAAIV,EAAWF,EAAa9uF,KAAM6wB,EAAUhI,EAAO6mE,IAAkBN,EAAcv+D,EAAUhI,EAAO6mE,GAEpG,OAAOV,EAASniB,MAAM7sE,KAAM4b,UAChC,EAIA,OADA8zE,EAAcrD,GAAe,EACtBqD,CACX,CACA,IAAKlC,EAA0B3kE,GAAQ,CACnC,IAAI6lE,EAAgBx+E,EAAOk8E,GAAoBl8E,EAAOk8E,KAAqB,SAAU,MACrF,IAAKoB,EAA0BkB,GAAgB,CAC3C,IAAIiB,EAAcjB,EAAcY,GAAcZ,EAAcY,KAAc,SAAU,OAE1C,IAAtCZ,EAAcjC,KACdiC,EAAcjC,KAAwB+C,GAErChC,EAA0BmC,IAC3B9B,EAAa39E,GAAQ,SAAU9Q,GAEvB0uF,EAAoB59E,EAAQ9Q,GAAM,IAAU8Q,EAAO9Q,KAAUmwF,EAAcnwF,KAE3EuwF,EAAYvwF,GAAQ8Q,EAAO9Q,UACpB8Q,EAAO9Q,MAET,SAAkBypB,EAAOzpB,IAAUypB,EAAMzpB,KAAUypB,EAAMzpB,GAAMitF,MAChExjE,EAAMzpB,GAAQqwF,EAAwB5mE,EAAOzpB,IAGzD,GAER,CACJ,CACJ,CAOA,SAASwwF,EAAgBtB,EAAYJ,GAEjC,GAAIf,EAAoB,CAEpB,IAAI0B,EAAU,GACVgB,EAAYjgE,EAAas+D,GAC7B,MAAO2B,IAAcpC,EAAkCoC,KAAezB,EAAYS,EAASgB,GAAY,CACnG,GAAIA,IAAcvB,EACd,OAAO,EAIXO,EAAQj7C,KAAKi8C,GACbA,EAAYjgE,EAAaigE,EAC7B,CACA,OAAO,CACX,CAEA,OAAO,CACX,CAQA,SAASC,EAAY5/E,EAAQ6/E,GACzB,OAAI,SAAkB7/E,EAAQg8E,GAEnBh8E,EAAO9Q,MAAQ2wF,GAAgBpD,IAEhCz8E,GAAU,CAAC,GAAG+7E,IAAiB,CAAC,GAAG7sF,MAAQ2wF,GAAgBpD,CACzE,CAqDe,SAASqD,EAAatnE,EAAUxY,EAAQ+/E,EAAcC,IAE5D,SAAkBxnE,EAAUwjE,IAC7B8B,EAAgB,4CAGpB,IAAIM,EAAa5lE,EAASwjE,GACrB0D,EAAgBtB,EAAYp+E,IAC7B89E,EAAgB,IAAM8B,EAAYpnE,GAAY,0BAA4BonE,EAAY5/E,GAAU,KAEpG,IAAIo/E,EAAY,MACZ,SAAkBhB,EAAYhC,GAE9BgD,EAAYhB,EAAWhC,IAMvBgD,EAAY/C,EAAqBuD,EAAYpnE,EAAU,KAAO,IAAM4kE,EAASlxE,EAC7EkxE,EAASlxE,IACTkyE,EAAWhC,GAAgBgD,GAE/B,IAAIa,EAAcH,EAAatD,GAC3B6B,IAAgB4B,EAAYnD,GAC5BuB,GAAe2B,QAAuCtqF,IAA5BsqF,EAAQlD,KAClCuB,IAAgB2B,EAAQlD,IAG5B,IAAImB,EAAYF,EAAkB/9E,GAE9By+E,EAAYN,EAAcC,EAAYp+E,EAAQi+E,EAAWI,GAG7D0B,EAAa//E,EAAQy+E,GAErB,IAAIa,IAAoBrC,KAAwBgD,EAAYlD,GACxDuC,GAAmBU,IACnBV,IAAoBU,EAAQjD,IAGhCoC,EAAmBf,EAAYgB,EAAWp/E,EAAQi+E,GAA+B,IAApBqB,EACjE,CAMAQ,EAAatD,GAA0BY,EAASC,C,yFClb5C6C,EACAC,EACAC,E,WA9EAC,EAAc,UAIdC,EAAW;;;;;;GAEf,SAASC,EAAgBzqF,EAAOowB,GAC5B,OAAOs6D,EAAQ1qF,GAAO,SAAUA,GAC5B,OAAOowB,EAAKA,EAAG,CACX4tB,OAAQ,YACRJ,UAAU,EACV59C,MAAOA,IACNA,CACT,IAAG,SAAUsE,GACT,OAAO8rB,EAAKA,EAAG,CACX4tB,OAAQwsC,EACR5sC,UAAU,EACVt5C,OAAQA,IACPA,CACT,GACJ,CACA,SAASomF,EAAQ1qF,EAAO2qF,EAAWC,EAAUC,GACzC,IAAI9nF,EAAS/C,EACb,IACI,IAAI,SAAcA,IACV2qF,GAAaC,KACb7nF,EAAS/C,EAAMo0E,KAAKuW,EAAWC,SAInC,IACQD,IACA5nF,EAAS4nF,EAAU3qF,GAE3B,CACA,MAAOuwB,GACH,IAAIq6D,EAIA,MAAMr6D,EAHNxtB,EAAS6nF,EAASr6D,EAK1B,CAER,CACA,QACQs6D,GACAC,EAAU/nF,EAAQ8nF,EAE1B,CACA,OAAO9nF,CACX,CACA,SAAS+nF,EAAU9qF,EAAO6qF,GACtB,IAAI9nF,EAAS/C,EAoBb,OAnBI6qF,KACI,SAAc7qF,GAEV+C,EADA/C,EAAM+qF,QACG/qF,EAAM+qF,QAAQF,GAGd7qF,EAAMo0E,MAAK,SAAUp0E,GAE1B,OADA6qF,IACO7qF,CACX,IAAG,SAAUsE,GAET,MADAumF,IACMvmF,CACV,IAIJumF,KAGD9nF,CACX,CAKA,IAAIioF,GAAuB,EAC3B,SAASC,EAAiBrnC,EAAYsnC,EAASC,EAAUC,GACrDhB,EAAcA,GAAe,CAAE7hF,SAAU,WAAc,MAAO,kBAAoB,GAClF8hF,EAAeA,GAAgB,CAAE9hF,SAAU,WAAc,MAAO,mBAAqB,GACrF+hF,EAAgBA,GAAiB,CAAE/hF,SAAU,WAAc,MAAO,sBAAwB,GAC1F,IAAIqiD,EAAQ,CAAC,EACbA,EAAMw/B,GAAe,CAAEn0E,IAAKi1E,GAC5BtgC,EAAMy/B,GAAgB,CAAEp0E,IAAKk1E,GAC7BvgC,EAAM0/B,GAAiB,CAAEr0E,IAAKm1E,IAC9B,SAAoBxnC,EAAYgH,EACpC,CAKA,IAKIygC,EALAC,EAAiB,CACjB,UAAW,YAAa,WAAYd,GAGpCe,EAAiB,gBAErB,SAASC,EAAgBvnE,GACrB,IAAIvd,EAIJ,OAHIud,GAAOA,EAAImB,cACX1e,EAAMud,EAAImB,YAAY,YAEhB1e,GAAOA,EAAI6+B,SACzB,CACA,SAASkmD,EAAUvhF,EAAQqb,EAASmmE,EAAeC,GAC/C,IAAI1nE,GAAM,YACTonE,IAAkBA,GAAgB,YAAoB,SAAKG,EAAiB,CAACvnE,IAAM7R,IACpF,IAAIw5E,EAASP,EAAcj5E,EAAI6R,EAAImB,YAAY,SAAYumE,EAAc,IAAIxpF,MAAMojB,GAAW,CAAC,EAK/F,GAJAmmE,GAAiBA,EAAcE,GAC3BP,EAAcj5E,GACdw5E,EAAOrmD,UAAUhgB,GAAS,GAAO,GAEjCqmE,GAAU1hF,EAAOqhF,GACjBrhF,EAAOqhF,GAAgBK,OAEtB,CACD,IAAIn4E,EAAUvJ,EAAO,KAAOqb,GAC5B,GAAI9R,EACAA,EAAQm4E,OAEP,CACD,IAAIvsE,GAAa,SAAQ,WACzBA,IAAeA,EAAW,UAAYA,EAAW,QAAQkG,GAAS,SAAQqmE,GAC9E,CACJ,CACJ,CAEA,IAMIC,EANAC,EAA2B,qBAC3BC,EAAsBD,EAAyB/+E,cAC/Ci/E,EAAoB,0BAAE,KAAF,GACpBC,EAAmB,EACnBC,EAA6B,GAGjC,SAASC,EAAUnsF,GACf,OAAI,SAAWA,GACJA,EAAMuI,YAEV,SAAQvI,EACnB,CAQA,SAASosF,EAAeC,EAAYC,EAAWC,GAC3C,IAGIC,EAMAC,EATAC,GAAiB,SAAS92E,UAAW,GACrC+2E,EAAS,EACTC,GAAe,EAEf7yB,EAAS,GACTnhC,EAAMqzD,IACNY,EAAYb,EAAkBn2E,OAAS,EAAIm2E,EAAkBA,EAAkBn2E,OAAS,QAAKjW,EAC7FktF,GAAW,EACXC,EAA6B,KAEjC,SAASC,EAAMC,EAAYC,GACvB,IACIlB,EAAkBp+C,KAAKhV,GACvBk0D,GAAW,EACXC,GAA8BA,EAA2Bn+C,SACzDm+C,EAA6B,KAC7B,IAAII,EAAcd,GAAW,SAAUtoC,EAASC,GAC5C+V,EAAOnsB,MAAK,WACR,IACI,IAAIn6B,EAAqB,IAAXk5E,EAAgBM,EAAaC,EACvCltF,GAAQ,SAAYyT,GAAW+4E,GAAiB,SAAW/4E,GAAWA,EAAQ+4E,GAAiB/4E,GAC/F,SAAczT,GACdA,EAAMo0E,KAAKrwB,EAASC,GAEfvwC,EACLswC,EAAQ/jD,GAEQ,IAAX2sF,EACL3oC,EAAOhkD,GAGP+jD,EAAQ/jD,EAEhB,CACA,MAAOc,GACHkjD,EAAOljD,EACX,CACJ,IACI8rF,GACAQ,GAER,GAAGV,GACH,OAAOS,CACX,CACA,QACInB,EAAkBqB,KACtB,CACJ,CACA,SAASC,EAAOJ,GACZ,OAAOF,OAAMptF,EAAWstF,EAC5B,CACA,SAASK,EAASC,GACd,IAAIC,EAAcD,EACdE,EAAeF,EAWnB,OAVI,SAAWA,KACXC,EAAc,SAAUztF,GAEpB,OADAwtF,GAAaA,IACNxtF,CACX,EACA0tF,EAAe,SAAUppF,GAErB,MADAkpF,GAAaA,IACPlpF,CACV,GAEG0oF,EAAMS,EAAaC,EAC9B,CACA,SAASC,IACL,OAAOrC,EAAcqB,EACzB,CACA,SAASS,IACL,GAAIrzB,EAAOlkD,OAAS,EAAG,CACnB,IAAI+3E,EAAU7zB,EAAOrsB,QACrBqsB,EAAS,GACT+yB,GAAW,EACXC,GAA8BA,EAA2Bn+C,SACzDm+C,EAA6B,KAC7BT,EAAUsB,EACd,CACJ,CACA,SAASC,EAAkBvtC,EAAUwtC,GACjC,OAAO,SAAUv7E,GACb,GAAIo6E,IAAWmB,EAAY,CACvB,GAAiB,IAAbxtC,IAAmB,SAAc/tC,GAGjC,OAFAo6E,EAAS,OACTp6E,EAAS6hE,KAAKyZ,EAAkB,EAAI,GAAKA,EAAkB,EAAI,IAGnElB,EAASrsC,EACTssC,GAAe,EACfJ,EAAgBj6E,EAChB66E,IACKN,GAAyB,IAAbxsC,GAAoBysC,IACjCA,GAA6B,SAAgBgB,EAA2B7B,GAEhF,CACJ,CACJ,CACA,SAAS6B,IACL,IAAKjB,EAED,GADAA,GAAW,GACP,WACAkB,QAAQC,KAAKnC,EAA0BU,EAAeC,OAErD,CACD,IAAIyB,GAAM,aAAe,YACxBrC,IAA8BA,GAA4B,UAAkB,SAAM,EAAO,IAAG,CAACtB,EAAc,mBAAmBn4E,IAC/Hq5E,EAAUyC,EAAKnC,GAAqB,SAAUH,GAG1C,OAFA,SAAUA,EAAQ,UAAW,CAAEn0E,EAAG,WAAc,OAAOg1E,CAAa,IACpEb,EAAOtnF,OAASkoF,EACTZ,CACX,KAAKC,EAA0Bz5E,EACnC,CAER,CAeA,SAAS+7E,IACL,MAAO,YAAcnD,EAAuB,IAAMpyD,IAAQ,SAAYi0D,GAAiC,GAAnB,IAAMA,GAAmB,IAAM,IAAM,IAAMc,KAAef,EAAgB,MAAQT,EAAUK,GAAkB,GACtM,CAcA,OA9BAC,EAAc,CACVrY,KAAM4Y,EACN,MAASM,EACTvC,QAASwC,IAEb,SAAcd,EAAa,QAAS,CAChCx2E,IAAK03E,IAEL3C,GACAC,EAAiBwB,EAAakB,GAAW,WAAc,OAAO,SAAYnB,EAAgB,IAAG,WAAc,OAAOM,CAAU,KAE5H,aACAL,GAAY,SAAe,KAAQ,YAKvCA,EAAYlkF,SAAW4lF,EACvB,YACS,SAAW5B,KACZ,SAAehC,EAAc,kCAAoC4B,EAAUI,IAE/E,IAAI6B,EAAYP,EAAkB,EAAI,GACtC,IACItB,EAASxyF,KAAK0yF,EAAaoB,EAAkB,EAAI,GAAKO,EAC1D,CACA,MAAOttF,GACHstF,EAAUttF,EACd,CACH,CAXD,GAYO2rF,CACX,CAEA,SAAS4B,EAAkBhC,GACvB,OAAO,SAAUhrF,GACb,IAAIqrF,GAAiB,SAAS92E,UAAW,GACzC,OAAOy2E,GAAW,SAAUtoC,EAASC,GACjC,IACI,IAAIsqC,EAAW,GACXC,EAAY,GAChB,SAAUltF,GAAO,SAAUg4B,EAAM7iB,GACzB6iB,IACAk1D,IACA7D,EAAQrxD,GAAM,SAAUr5B,GACpBsuF,EAAS93E,GAAOxW,EACI,MAAduuF,GACFxqC,EAAQuqC,EAEhB,GAAGtqC,GAEX,IACAuqC,IACkB,IAAdA,GACAxqC,EAAQuqC,EAEhB,CACA,MAAOxtF,GACHkjD,EAAOljD,EACX,CACJ,GAAG4rF,EACP,CACJ,CAuBA,SAAS8B,EAAyBnC,GAC9B,OAAO,UAAkB,SAAUhrF,GAC/B,IAAIqrF,GAAiB,SAAS92E,UAAW,GACzC,OAAOy2E,GAAW,SAAUtoC,EAASC,GACjC,IAAI3a,EAAS,GACTukD,EAAU,EACd,SAASa,EAAYp1D,EAAM7iB,GACvBo3E,IACAnD,EAAgBpxD,GAAM,SAAUr5B,GACxBA,EAAM49C,SACNvU,EAAO7yB,GAAO,CACVwnC,OAAQwsC,EACRlmF,OAAQtE,EAAMsE,QAIlB+kC,EAAO7yB,GAAO,CACVwnC,OAAQ,YACRh+C,MAAOA,EAAMA,OAGH,MAAZ4tF,GACF7pC,EAAQ1a,EAEhB,GACJ,CACA,KACQ,SAAQhoC,IACR,SAAWA,EAAOotF,IAEb,SAAWptF,IAChB,SAAUA,EAAOotF,IAGjB,SAAe,4BAEnBb,IACgB,IAAZA,GACA7pC,EAAQ1a,EAEhB,CACA,MAAOvoC,GACHkjD,EAAOljD,EACX,CACJ,GAAG4rF,EACP,GACJ,CAmFA,SAASgC,EAAkBd,IACvB,SAAWA,GAAS,SAAUl6E,GAC1B,IACIA,GACJ,CACA,MAAO5S,GACP,CACJ,GACJ,CACA,SAAS6tF,EAAqBrgE,GAC1B,IAAIsgE,GAAkB,SAAStgE,GAAWA,EAAU,EACpD,OAAO,SAAUs/D,IACb,UAAgB,WACZc,EAAkBd,EACtB,GAAGgB,EACP,CACJ,CAkBA,SAASC,EAAmBtC,EAAUj+D,GAClC,OAAO89D,EAAeyC,EAAoBF,EAAqBrgE,GAAUi+D,EAAUj+D,EACvF,CACA,IAgBIwgE,EAiBJ,SAASC,EAAoBxC,EAAUj+D,IAClCwgE,IAAgBA,GAAc,UAAmB,SAAK,MAAS,CAACvE,IAAe,GAAK,OACrF,IAAIyE,EAASF,EAAY18E,EACzB,IAAK48E,EACD,OAAOH,EAAmBtC,IAEzB,SAAWA,KACZ,SAAehC,EAAc,mCAAoC,SAAQgC,IAE7E,IAAII,EAAS,EACb,SAASgB,IACL,OAAOrC,EAAcqB,EACzB,CACA,IAAI/oC,EAAa,IAAIorC,GAAO,SAAUjrC,EAASC,GAC3C,SAASirC,EAASjvF,GACd2sF,EAAS,EACT5oC,EAAQ/jD,EACZ,CACA,SAASkvF,EAAQ5qF,GACbqoF,EAAS,EACT3oC,EAAO1/C,EACX,CACAioF,EAAS0C,EAAUC,EACvB,IAIA,OAHA,SAActrC,EAAY,QAAS,CAC/B3tC,IAAK03E,IAEF/pC,CACX,CAKA,IAeIurC,EAGJ,SAASC,EAAkB7C,GACvB,OAAOH,EAAegD,EAAmBV,EAAmBnC,EAChE,CAIA,SAAS8C,EAA4BhuF,EAAOitB,GAExC,OADC6gE,IAA2BA,EAAyBX,EAAyBY,IACvED,EAAuB/8E,EAAE/Q,EAAOitB,EAC3C,CAsBA,IAgBIghE,EAOJ,SAASC,EAAchD,EAAUj+D,GAE7B,OADCghE,IAAoBA,GAAkB,SAAkBP,IAClDO,EAAgBl9E,EAAErY,KAAKC,KAAMuyF,EAAUj+D,EAClD,CACA,IAAIkhE,EAAiC,0BAAgC,KAAhCnB,EAAA,IA4Xb,SAAe,G;;AC/gCvC,SAASoB,EAAYC,EAAOC,GACxB,OAAOD,GAASC,CACpB,CAEA,SAASC,EAAS5vF,EAAO5G,GACrB,OAAO4G,EAAM5G,EACjB,C,s0BAEA,IAyCIy2F,EAzCAC,OAAclwF,EACdmwF,EAAa,KACbC,EAAQ,GACRC,EAAW,WACXC,EAAS,SACTC,EAAY,YACZC,EAAY,YACZC,EAAY,YACZC,EAAc,cACdC,EAAS,SACTC,EAAe,YACfC,EAAS,SACTC,EAAO,OACPC,EAAO,OACPC,EAAY,WACZ5uD,EAA0BytD,EAAY5lE,QACtCoY,EAA0B2tD,EAAS5tD,EAAUmuD,GAC7CU,EAAwBpB,EAAY5sD,QACpCiuD,EAA0BlB,EAASiB,EAAQV,GAC3CY,EAAyB,0BAAiB,KAAjBtB,EAAA,MACzBuB,EAAwBvB,EAAYnoF,OACpC2pF,EAA0BrB,EAASoB,EAAQb,GAC3Ce,EAA0BtB,EAASqB,EAAU,SAEjD,SAASE,EAAK/xE,EAAMgyE,GAChB,IACI,MAAO,CACHh/E,EAAGgN,EAAKynD,MAAM7sE,KAAMo3F,GAE5B,CACA,MAAOtwF,GACH,MAAO,CAAEA,EAAGA,EAChB,CACJ,CAGA,SAASuwF,EAAQjhE,EAAIve,GACjB,IAAI9O,EAASouF,EAAK/gE,GAClB,OAAOrtB,EAAOjC,EAAI+Q,EAAW9O,EAAOqP,CACxC,CAIA,SAASk/E,EAAUC,GACf,OAAO,SAAUvxF,GACb,cAAcA,IAAUuxF,CAC5B,CACJ,CAEA,SAASC,EAAaC,GAClB,IAAIF,EAAU,WAAaE,EAAU,IACrC,OAAO,SAAUzxF,GACb,SAAUA,GAAS0xF,EAAY1xF,KAAWuxF,EAC9C,CACJ,CAEA,SAASG,EAAY1xF,GACjB,OAAOiiC,EAAS2uD,GAAW72F,KAAKiG,EACpC,CAMA,SAAS2xF,EAAY3xF,GACjB,cAAcA,IAAUqwF,GAAarwF,IAAUqwF,CACnD,CAEA,SAASuB,EAAkBnlE,GACvB,OAAQolE,EAAUplE,EACtB,CAEA,SAASqlE,EAAkB9xF,GACvB,OAAOA,IAAU+vF,GAAc4B,EAAY3xF,EAC/C,CAEA,SAAS+xF,EAAwB/xF,GAC7B,OAAOA,IAAU+vF,IAAe8B,EAAU7xF,EAC9C,CAEA,SAAS6xF,EAAUplE,GACf,QAASA,GAAOA,IAAQqjE,CAC5B,CAMA,SAASkC,EAAgBT,GAErB,OADC1B,IAAoBA,EAAkB,CAAC,SAAU,SAAU,UAAWQ,EAAW,SAAU,aAClFkB,IAAYrB,IAAgD,IAAtCL,EAAgB9gE,QAAQwiE,GAC5D,CACA,IAAIU,EAA0B,0BAAmB,KAAnBX,EAAA,UAC1BY,EAA4B,0BAAmB,KAAnBZ,EAAA,GAEhC,SAASa,EAASnyF,GACd,SAAKA,GAAS8xF,EAAkB9xF,QAGvBA,UAAgBA,IAAUkwF,EACvC,CACA,IAAIvhC,EAA0BihC,EAASoB,EAAQ,WAC3CoB,EAAwBZ,EAAa,QACrCa,EAA0B,0BAAmB,KAAnBf,EAAA,UAC1BgB,EAA2B,0BAAoB,KAApBhB,EAAA,WAM3BiB,EAAyB,0BAAqB,KAArBf,EAAA,SAE7B,SAASgB,EAAcxyF,GACnB,SAAUA,GAASA,EAAMo0E,MAAQ8d,EAAWlyF,EAAMo0E,MACtD,CAWA,SAASqe,EAASzyF,GACd,SAAUA,GAASqxF,GAAQ,WAAc,QAASrxF,GAAU,EAAIA,EAAS,IAAIA,GACjF,CAEA,IAAI0yF,EAA+C9C,EAAS5tD,EAAU,4BAGtE,SAAS2wD,EAAkBjvF,EAAK7C,GAC5B,QAAS6C,GAAOu+B,EAAS2wD,eAAejC,GAAMjtF,EAAK7C,EACvD,CAEA,IAAIgyF,EAA2BpD,EAA6BG,EAAS5tD,EAAU,UAAY8wD,GAE3F,SAASA,EAAcpvF,EAAK7C,GACxB,OAAO8xF,EAAkBjvF,EAAK7C,MAAW6xF,EAA4BhvF,EAAK7C,EAC9E,CAEA,SAASkyF,GAAclnE,EAAWmnE,EAAYC,GAC1C,GAAIpnE,GAAasmE,EAAStmE,GACtB,IAAK,IAAIhrB,KAAQgrB,EACb,GAAIgnE,EAAUhnE,EAAWhrB,KACkD,IAAnEmyF,EAAWrC,GAAMsC,GAAWpnE,EAAWhrB,EAAMgrB,EAAUhrB,IACvD,KAKpB,CAEA,IAAIqyF,GAAU,CACVpyF,EAAG,aACHiU,EAAG,eACH3C,EAAG,QACH4C,EAAG,WACHyC,EAAG,MACHhW,EAAG,OAGP,SAAS0xF,GAAYnzF,GACjB,IAAIa,EAAO,CAAC,EAGZ,GAFAA,EAAKqyF,GAAQ,OAAQ,EACrBryF,EAAKqyF,GAAQ,OAAQ,EACjBlzF,EAAM6gE,EAAG,CACThgE,EAAKoV,IAAM,WAAc,OAAOjW,EAAM6gE,EAAEzuD,CAAG,EAC3C,IAAImD,EAAOm9E,EAA4B1yF,EAAM6gE,EAAG,KAC5CtrD,GAAQA,EAAK/D,MACb3Q,EAAK2Q,IAAM,SAAU5C,GACjB5O,EAAM6gE,EAAEzuD,EAAIxD,CAChB,EAER,CAIA,OAHAmkF,GAAc/yF,GAAO,SAAUX,EAAKW,GAChCa,EAAKqyF,GAAQ7zF,IAAQuyF,EAAkB5xF,GAASa,EAAKqyF,GAAQ7zF,IAAQW,CACzE,IACOa,CACX,CACA,IAAIuyF,GAA+BxD,EAAS5tD,EAAU,kBAClDqxD,GAAqC,0BAAsC,KAAtCzD,EAAA,sBAuBzC,SAAS0D,GAAUppF,EAAQ7K,EAAK2W,GAC5B,OAAOo9E,GAAclpF,EAAQ7K,EAAK8zF,GAAYn9E,GAClD,CAUA,SAASu9E,GAAmBlqD,EAAQmqD,EAASC,EAAWC,EAAYC,GAChE,IAAIC,EAAS,CAAC,EAKd,OAJAb,GAAc1pD,GAAQ,SAAUhqC,EAAKW,GACjC6zF,GAAgBD,EAAQv0F,EAAKm0F,EAAUxzF,EAAQX,EAAKs0F,GACpDE,GAAgBD,EAAQ5zF,EAAOyzF,EAAYzzF,EAAQX,EAAKs0F,EAC5D,IACOD,EAAaA,EAAWE,GAAUA,CAC7C,CACA,SAASC,GAAgBD,EAAQv0F,EAAKW,EAAO2zF,GACzCP,GAAcQ,EAAQv0F,EAAK,CACvBW,MAAOA,EACP8zF,YAAY,EACZH,WAAYA,GAEpB,CAEA,IAAII,GAA4BtE,EAAYoB,GAExCmD,GAAa,iBAEjB,SAASC,GAAQ1pE,EAAQ2pE,GACrB,IAAIC,EAAoBnE,EACpBoE,EAAUnyD,EAAS2uD,GAAWD,GAAMpmE,GACpC6pE,IAAYJ,KACZzpE,EAAS,CAAEvmB,MAAO+vF,GAASxpE,EAAOvmB,OAAQpL,QAASm7F,GAASxpE,EAAO3xB,SAAUQ,KAAM26F,GAASxpE,EAAOnxB,QAEvG,IACI+6F,EAAoBnxF,KAAK4c,UAAU2K,EAAQwlE,EAAYmE,EAA6B,kBAAXA,EAAuBA,EAAS,EAAKpE,GAC9GqE,GAAqBA,EAAoBA,EAAkBnnF,QAAQ,sBAAuB,QAAU+iF,IAAegE,GAASxpE,EAChI,CACA,MAAOzpB,GACHqzF,EAAoB,MAAQF,GAAQnzF,EAAGozF,EAC3C,CACA,OAAOE,EAAU,KAAOD,CAC5B,CAEA,SAASE,GAAWz7F,GAChB,MAAM,IAAI07F,MAAM17F,EACpB,CACA,SAAS27F,GAAe37F,GACpB,MAAM,IAAI47F,UAAU57F,EACxB,CA2BA,IAAI67F,GAA8B7E,EAAS5tD,EAAU,UACrD,SAAS0yD,GAAW10F,GAChB,OAAOA,CACX,CAEA,SAAS20F,GAAU30F,GACf,OAAOA,EAAMowF,IAAcL,CAC/B,CACA,IAAI6E,GAA2B,0BAA4B,KAA5BhF,EAAA,YAC3BiF,GAAyB,0BAA0B,KAA1BjF,EAAA,UAC7B,SAASkF,GAAc90F,GAQnB,OAPIy0F,IACA1B,GAAc/yF,GAAO,SAAUX,EAAKW,IAC5B2uD,EAAQ3uD,IAAUmyF,EAASnyF,KAC3B80F,GAAc90F,EAEtB,IAEG+0F,GAAU/0F,EACrB,CACA,IAAI+0F,GAA4BtF,EAAYgF,GAAYC,IAEpDM,GAAoC,0BAA6E,KAA7EvF,EAAA,0BAIxC,SAASwF,GAAW5rD,GAChB,OAAOkqD,GAAmBlqD,EAAQ,EAAI,EAAI0rD,GAC9C,CAEA,SAASG,GAAiB7rD,GACtB,OAAOkqD,GAAmBlqD,EAAQ,EAAI,EAAI0rD,GAC9C,CAMA,SAASI,GAAgB9rD,GACrB,IAAI+rD,EAAW,CAAC,EAKhB,OAJArC,GAAc1pD,GAAQ,SAAUhqC,EAAKW,GACjC6zF,GAAgBuB,EAAU/1F,EAAKW,EAAM,IACrC6zF,GAAgBuB,EAAUp1F,EAAM,GAAIA,EAAM,GAC9C,IACO+0F,GAAUK,EACrB,CAEA,SAASC,GAAchsD,GACnB,OAAO8rD,GAAgB9rD,EAC3B,CAEA,IAiBIisD,GAjBAC,GAAoCL,GAAiB,CACrDM,cAAe,EACfC,YAAa,EACbC,mBAAoB,EACpBC,SAAU,EACVxtF,MAAO,EACPytF,SAAU,EACV5oF,QAAS,EACTmd,OAAQ,EACR0rE,QAAS,EACT1f,MAAO,EACP2f,YAAa,GACbC,YAAa,GACbC,YAAa,KAGbC,GAAoB,mBAGxB,SAASC,KACL,IAAInzF,EAaJ,cAZWozF,aAAe9F,IACtBttF,EAASozF,YAERpzF,UAAiBoX,OAASk2E,IAC3BttF,EAASoX,MAERpX,UAAiBi1C,SAAWq4C,IAC7BttF,EAASi1C,QAERj1C,UAAiB,EAAA0U,IAAW44E,IAC7BttF,EAAS,EAAA0U,GAEN1U,CACX,CAEA,SAASqzF,KACL,IAAKd,GAAY,CACb,IAAIpH,EAAMiD,EAAK+E,IAAiB9jF,GAAK,CAAC,EACtCkjF,GAAapH,EAAI+H,IAAqB/H,EAAI+H,KAAsB,CAAC,CACrE,CACA,OAAOX,EACX,CAEA,IAAIe,GAAoB,0BAAuB,KAAvB,GAExB,SAASC,GAAwBzrE,EAAU0rE,EAAUC,GACjD,IAAIC,EAAQF,EAAWA,EAAS1rE,GAAYklE,EAC5C,OAAO,SAAUkD,GACb,IAAI7nE,GAAW6nE,EAAUA,EAAQpoE,GAAYklE,IAAe0G,EAC5D,GAAIrrE,GAAWorE,EAAU,CACrB,IAAInqE,EAAUzW,UACd,OAAQwV,GAAWorE,GAAU3vB,MAAMosB,EAAS7nE,EAAU8lE,EAASP,GAAMtkE,EAAS,GAAKA,EACvF,CACAkoE,GAAe,IAAOR,GAASlpE,GAAY,qBAAwBopE,GAAQhB,GAC/E,CACJ,CAEA,SAASyD,GAAYC,GACjB,OAAO,SAAU1D,GACb,OAAOA,EAAQ0D,EACnB,CACJ,CAEA,IACIC,GAAyB,0BAAwB,KAAxBhH,EAAA,SAEzBiH,GAA0B,0BAAkC,KAAlCR,GAAA,WAE1BS,GAA8B,0BAAsC,KAAtCT,GAAA,eAC9BU,GAA2B,0BAA0D,KAA1DT,GAAA,eAE/B,SAASU,GAAch3F,EAAOoO,EAAOyH,GAIjC,OAHIi8E,EAAkB9xF,IAClBu0F,GAAe,WAAaN,GAAQj0F,IAEpC6V,EAAS,EACFm6E,GAEX5hF,EAAQA,GAAS,EACbA,EAAQ,IACRA,EAAQwoF,GAAQxoF,EAAQpO,EAAMywF,GAAS,IAEvCkB,EAAY97E,GACLghF,GAAS72F,EAAOoO,GAEpByoF,GAAS72F,EAAOoO,EAAOA,EAAQyH,GAC1C,CAEA,SAASohF,GAAQj3F,EAAO0I,GACpB,OAAOouF,GAAa92F,EAAO,EAAG0I,EAClC,CAMA,IACIwuF,GASAC,GAyCAC,GAnDAC,GAAqB,QAGzB,SAASC,KACL,IAAKJ,GAAc,CACf,IAAIK,EAASnB,KACbc,GAAeK,EAAOC,OAASD,EAAOC,QAAU,CAAEC,EAAG,CAAC,EAAGh2F,EAAG,CAAC,EACjE,CACA,OAAOy1F,EACX,CAGA,SAASQ,GAAcC,GACnB,IAAIC,EAAY,CACZD,YAAa5D,GAAS4D,GACtBpvF,SAAU,WAAc,OAAOgoF,EAAS,IAAMoH,EAAc,GAAK,GAGrE,OADAC,EAAUpH,IAAgB,EACnBoH,CACX,CAEA,SAASC,GAAcx4F,GACnB,IAAIy4F,EAAWR,KACf,IAAKzE,EAAUiF,EAASL,EAAGp4F,GAAM,CAC7B,IAAI04F,EAAcL,GAAcr4F,GAC5B24F,EAAUnD,GAAQiD,EAASr2F,GAAGoU,OAClCkiF,EAAYV,IAAsB,WAAc,OAAOW,EAAU,IAAMD,EAAYnH,IAAc,EACjGkH,EAASL,EAAEp4F,GAAO04F,EAClBD,EAASr2F,EAAEs2F,EAAYV,OAAyBtD,GAAS10F,EAC7D,CACA,OAAOy4F,EAASL,EAAEp4F,EACtB,CAUA,SAAS44F,GAAmB7+F,GAExB,IAAI2J,GADHo0F,KAA0BA,GAAwB,CAAC,GAEpD,IAAIe,EAAY3C,GAAoBn8F,GAIpC,OAHI8+F,IACAn1F,EAASo0F,GAAsBe,GAAaf,GAAsBe,IAAcR,GAAcnH,EAAS,IAAM2H,IAE1Gn1F,CACX,CAGA,SAASo1F,KACLf,GAAuBhB,IAC3B,CAEA,SAASgC,GAAQhoE,GACb,IAAIioE,EAAY,CAAC,EAgBjB,OAfCjB,IAAwBe,KACzBE,EAAU51D,EAAI20D,GAAqBkB,IACnClF,GAAciF,EAAW,IAAK,CAC1BE,cAAc,EACdtiF,IAAK,WACD,IAAIlT,EAASqtB,IAOb,OANKgnE,GAAqBkB,KACtBlF,GAAciF,EAAW,IAAK,CAC1Br4F,MAAO+C,IAGfs1F,EAAU51D,EAAI20D,GAAqBkB,IAC5Bv1F,CACX,IAEGs1F,CACX,CAOA,SAASG,GAAkBx4F,GACvB,OAAOozF,GAAc,CACjBqF,OAAQ,WAAc,OAAOz4F,CAAO,GACrC,IAAK,CAAEA,MAAOA,GACrB,CAiBA,IACI04F,GADAC,GAAS,SAEb,SAASC,GAAiBC,EAAOxsE,GAC7B,IAAIysE,EACJ,OAAO,WAKH,OAJC1B,IAAwBe,KACpBW,IAAe1B,GAAqBkB,MACrCQ,EAAcN,GAAkBrH,EAAK0H,EAAOxsE,GAASja,IAElD0mF,EAAY1mF,CACvB,CACJ,CAKA,SAAS2mF,GAAU30E,GAKf,OAJCgzE,IAAwBe,KACpBO,KAA+B,IAAdt0E,IAAuBgzE,GAAqBkB,MAC9DI,GAAgBF,GAAkBrH,EAAK+E,IAAiB9jF,GAAK29E,IAE1D2I,GAActmF,CACzB,CAEA,SAAS4mF,GAAQ5/F,EAAMgrB,GACnB,IAAI8pE,EAOJ,GAFIA,EAJCwK,KAA+B,IAAdt0E,EAIZs0E,GAActmF,EAHd2mF,GAAU30E,GAKhB8pE,GAAOA,EAAI90F,GACX,OAAO80F,EAAI90F,GAEf,GAAIA,IAASu/F,GACT,IACI,OAAO3gD,MACX,CACA,MAAOl3C,GACP,CAEJ,OAAOivF,CACX,CAEA,SAASkJ,KACL,QAAwBC,IAC5B,CACA,IAAIA,GAA6B,0BAAuC,KAAvCN,GAAA,iBAEjC,SAASO,KACL,QAAwBC,IAC5B,CACA,IAAIA,GAA2BR,GAAiBI,GAAS,CAACL,KAE1D,SAASU,KACL,QAAwBC,IAC5B,CACA,IAAIA,GAA8B,0BAAwC,KAAxCV,GAAA,kBAElC,SAASW,KACL,QAAwBC,IAC5B,CACA,IAQIC,GACAC,GATAF,GAA4B,0BAAsC,KAAtCZ,GAAA,gBAC5Be,GAAwB,0BAE1B,KAF0Bf,IAAA,WACxB,QAAwBzH,GAAK,WAAc,OAAQnD,UAAYA,QAAQ4L,UAAY,CAAC,GAAGC,IAAO,IAAI,CACtG,IACIC,GAA6B,0BAE/B,KAF+BlB,IAAA,WAC7B,QAAwBzH,GAAK,WAAc,OAAOh3E,MAAQA,gBAAgB4/E,iBAAmB,IAAI,CACrG,IAMA,SAASC,KAEL,OADAP,GAAyBjB,GAAkBrH,EAAK,GAAW,CAACZ,IAASn+E,GAC9DqnF,EACX,CACA,SAASQ,GAAc56F,GACnB,IAAIm4F,GAAYJ,GAAqBkB,IAAgB,EAAVmB,KAAgBO,KAC3D,OAAQxC,EAAOplF,EAAIolF,EAAOplF,EAAE/S,GAAOywF,CACvC,CACA,IA6CIoK,GA7CAC,GAA0B,0BAAmB,KAAnB7I,EAAA,UAE9B,SAAS8I,KACL,QAAwBC,IAC5B,CAEA,SAASA,KAEL,OADCjD,IAAwBe,OACff,GAAqBkB,IAAgB,EAAVmB,KAAgBO,MAAe5nF,CACxE,CAEA,SAASkoF,GAAelhG,EAAMmhG,GAC1B,IAAIrC,EAAY3C,GAAoBn8F,IACnCg+F,IAAwBe,KACzB,IAAIqC,GAASpD,GAAqBkB,IAAgB,EAAVmB,KAAgBO,KACxD,OAAOQ,EAAIpoF,EAAIooF,EAAIpoF,EAAE8lF,GAAa9+F,GAAUmhG,EAAoCzK,EAA3BmI,GAAmB7+F,EAC5E,CAEA,SAASqhG,GAAU9C,EAAa4C,IAC3BnD,IAAwBe,KACzB,IAAIqC,GAASpD,GAAqBkB,IAAgB,EAAVmB,KAAgBO,KACxD,OAAOQ,EAAIpoF,EAAIooF,EAAIpoF,EAAEulF,GAAiB4C,EAAsCxK,EAA7B2H,GAAcC,EACjE,CAEA,SAAS+C,GAAUr7F,GAGf,OAFC+3F,IAAwBe,KACzBuB,IAAgBtC,GAAqBkB,IAAmB,EAAboB,KAAkClB,GAAkBrH,EAAK,GAAiB,CAAC,QAAQ/+E,IACtHsnF,GAAWtnF,GAAKylF,IAAex4F,EAC3C,CASA,SAASs7F,GAAW36F,GAChB,QAASA,GAASkyF,EAAWlyF,EAAMyc,KACvC,CAEA,SAASm+E,GAAW56F,GAChB,OAAQ+xF,EAAwB/xF,IAAUkyF,EAAWlyF,EAAMs6F,GAAe,IAC9E,CAGA,SAASO,GAAUC,EAAM9H,EAAYC,GACjC,GAAI6H,IACKH,GAAWG,MACXZ,KAAkBA,GAAgB1B,GAAkB8B,GAAe,KACpEQ,EAAOA,EAAKZ,GAAc9nF,GAAK0oF,EAAKZ,GAAc9nF,KAAO29E,GAEzD4K,GAAWG,IAAO,CAClB,IAAIvqE,EAAMu/D,EACNiL,EAAajL,EACjB,IACI,IAAIpnF,EAAQ,EACZ,QAASqyF,EAAaD,EAAKr+E,QAAQuqC,KAAM,CACrC,IAA0E,IAAtEgsC,EAAWrC,GAAMsC,GAAW6H,EAAMC,EAAW/6F,MAAO0I,EAAOoyF,GAC3D,MAEJpyF,GACJ,CACJ,CACA,MAAOyqD,GACH5iC,EAAM,CAAEzvB,EAAGqyD,GACP2nC,EAAKE,QACLD,EAAahL,EACb+K,EAAKE,MAAMzqE,GAEnB,CACA,QACI,IACQwqE,IAAeA,EAAW/zC,MAC1B8zC,EAAKG,QAAUH,EAAKG,OAAOF,EAEnC,CACA,QACI,GAAIxqE,EAEA,MAAMA,EAAIzvB,CAElB,CACJ,CACJ,CAER,CAEA,SAASo6F,GAAQxnF,EAAIu/E,EAAS7B,GAC1B,OAAO19E,EAAGmzD,MAAMosB,EAAS7B,EAC7B,CAQA,SAAS+J,GAAUjxF,EAAQkxF,GAcvB,OAbKzJ,EAAYyJ,IAASlxF,IAClBykD,EAAQysC,GACRF,GAAQhxF,EAAO0jC,KAAM1jC,EAAQkxF,GAExBT,GAAWS,IAASR,GAAWQ,GACpCP,GAAUO,GAAM,SAAUC,GACtBnxF,EAAO0jC,KAAKytD,EAChB,IAGAnxF,EAAO0jC,KAAKwtD,IAGblxF,CACX,CAKA,SAASoxF,GAAWC,EAAUvI,EAAYC,GACtC,GAAIsI,EAEA,IADA,IAAI3+D,EAAM2+D,EAAS9K,KAAY,EACtBj6E,EAAM,EAAGA,EAAMomB,EAAKpmB,IACzB,GAAIA,KAAO+kF,IACsE,IAAzEvI,EAAWrC,GAAMsC,GAAWsI,EAAUA,EAAS/kF,GAAMA,EAAK+kF,GAC1D,KAKpB,CAEA,IAAIC,GAA4B,0BAAoC,KAApCnF,GAAA,aAG5BoF,GAAwB,0BAAgC,KAAhCpF,GAAA,SAE5B,SAASqF,GAASH,EAAUntF,EAAOC,GAC/B,QAASktF,EAAWA,EAAS,SAAWxL,IAAemB,GAAUrqB,MAAM00B,EAAUrK,EAASP,GAAM/6E,UAAW,GAC/G,CAwDA,IAUI+lF,GAA2B,0BAAmC,KAAnCtF,GAAA,YA0D/B,IAeIuF,GAmDAC,GAlEAC,GAA4B,0BAAyE,KAAzErM,EAAA,kBAEhC,SAASsM,GAAcr4F,GACnB,IAAKA,EACD,MAAO,CAAC,EAEZ,IAAIyG,SAAczG,EAIlB,SAASs4F,IAAa,CAEtB,OALI7xF,IAAS+lF,GAAU/lF,IAAS8lF,GAC5BsE,GAAe,4CAA8CN,GAAQvwF,IAGzEs4F,EAAS7L,GAAazsF,EACf,IAAIs4F,CACf,CAGA,SAASC,GAAkBv4F,EAAKmf,GAC5B,IAAInP,EAAKsuB,EAAS,mBACd,SAAUQ,EAAGC,GACT,IAAI77B,GACHg1F,KAAkBA,GAAgBpD,IAAmB5xF,EAAK,CAAC,EAAGA,EAAGwpF,GAAa,GAAIxpF,aAAeU,SAClGs0F,GAAcxpF,EAAIowB,EAAE4tD,GAAa3tD,EAAIswD,GAActwD,GAAG,SAAUpjC,EAAKW,GAAS,OAAOwiC,EAAEnjC,GAAOW,CAAO,GACzG,EACJ,OAAO0T,EAAGhQ,EAAKmf,EACnB,CAGA,SAASq5E,GAAmB9iG,EAAMopC,EAAGC,GAGjC,SAASG,IACL5oC,KAAKs2F,GAAe9tD,EACpB2uD,EAAKmC,GAAW,CAACt5F,KAAM02F,EAAM,CAAEt+E,EAAGhZ,EAAM2b,GAAG,EAAMjU,GAAG,IACxD,CAEA,OAPAqwF,EAAKmC,GAAW,CAAC9wD,EAAGkuD,EAAM,CAAEt+E,EAAGhZ,EAAM2b,GAAG,EAAMjU,GAAG,KACjD0hC,EAAIy5D,GAAkBz5D,EAAGC,GAKzBD,EAAE2tD,GAAa1tD,IAAMstD,EAAa+L,GAAUr5D,IAAMG,EAAGutD,GAAa1tD,EAAE0tD,GAAY,IAAIvtD,GAC7EJ,CACX,CACA,SAAS25D,GAASC,EAAWhjG,GACzBA,IAASgjG,EAAU1L,GAAQt3F,EAC/B,CAEA,SAASijG,GAAkBjjG,EAAMkjG,EAAaC,GAC1C,IAAIC,EAAeD,GAAajI,MAC5BmI,EAAUD,EAAarM,GAAWO,GAClCgM,EAAYpI,MAAMqI,kBACtB,OAAOT,GAAmB9iG,GAAM,WAC5B,IAAIuI,EAAQ3H,KACRqyB,EAAUzW,UACd,IACIu7E,EAAKgL,GAAU,CAACK,EAAcpjG,IAC9B,IAAIwI,EAAQs5F,GAAQsB,EAAc76F,EAAOuvF,EAASP,GAAMtkE,KAAa1qB,EACrE,GAAIC,IAAUD,EAAO,CACjB,IAAIi7F,EAAW5H,GAAkBrzF,GAC7Bi7F,IAAa5H,GAAkBpzF,IAC/Bq6F,GAAkBr6F,EAAOg7F,EAEjC,CAGA,OAFAF,GAAaA,EAAU96F,EAAOD,EAAM2uF,IACpCgM,GAAeA,EAAY16F,EAAOyqB,GAC3BzqB,CACX,CACA,QACIuvF,EAAKgL,GAAU,CAACK,EAAcC,GAClC,CACJ,GAAGD,EACP,CAEA,SAASK,GAAiBjkG,GAItB,MAHKijG,KACDA,GAAoBQ,GAAkB,qBAEpC,IAAIR,GAAkBjjG,EAChC,CAGA,SAASkkG,KACL,OAAQ76F,KAAK+L,KAAO+uF,KACxB,CAEA,SAASA,KACL,OAAO,IAAI96F,MAAOosC,SACtB,CAGA,SAAS2uD,GAAcC,GACnB,OAAO,SAAiBj9F,GAOpB,OANI8xF,EAAkB9xF,IAClBu0F,GAAe,mBAAqBN,GAAQj0F,GAAS,KAErDA,GAASA,EAAMgN,UACfhN,EAAQA,EAAMgN,QAAQiwF,EAAKjN,IAExBhwF,CACX,CACJ,CACA,IAAIk9F,GAA6B,0BAAiC,KAAjCF,GAAA,oBAI7BG,GAAyB,0BAAsD,KAAtD7G,GAAA,aA2G7B,IA0CI8G,GACAC,GACAC,GAEJ,SAASC,GAAcv9F,GACnB,IAAKA,UAAgBA,IAAUkwF,EAC3B,OAAO,EAENoN,KACDA,IAAanE,MAAcC,MAE/B,IAAIr2F,GAAS,EACb,GAAI/C,IAAUs9F,GAAY,CACjBD,KACDD,GAAc1V,SAASyI,GAAWS,GAClCyM,GAAkBD,GAAYzM,GAAM3uD,IAExC,IACI,IAAInf,EAAQmyE,GAAkBh1F,GAC9B+C,GAAU8f,EACL9f,IACG4vF,EAAkB9vE,EAAOytE,KACzBztE,EAAQA,EAAMytE,IAElBvtF,KAAY8f,UAAgBA,IAAUotE,GAAYmN,GAAYzM,GAAM9tE,KAAWw6E,IAEvF,CACA,MAAOv2F,GACP,CACJ,CACA,OAAO/D,CACX,CAGA,SAASy6F,GAAwBh6F,GAE7B,OADAA,EAAQxD,OAASy9F,GAAwBj6F,IAClC,CACX,CACA,IAAIk6F,GAA0B,CAC1BC,GACAF,GACAG,GACAC,IAGJ,SAASC,GAAeC,EAAUxkF,EAAQykF,EAAS5tE,GAC/C,IAAI6tE,EAYJ,OAXA3C,GAAWyC,GAAU,SAAU55F,GAC3B,GAAIA,EAAMszF,IAAMl+E,EAEZ,OADA0kF,EAAW95F,GACH,CAEhB,IACK85F,IACDA,EAAW,CAAExG,EAAGl+E,EAAQnH,EAAGmH,GAC3BwkF,EAASnwD,KAAKqwD,GACd7tE,EAAG6tE,IAEAA,EAAS7rF,CACpB,CACA,SAAS8rF,GAAUH,EAAU/9F,EAAOqwB,EAAKhxB,GACrC,IAAI8+F,EAAc9tE,EAAI5c,QAClBuqF,EAAU3tE,EAAI2W,KAAQ3nC,EAAMgxB,EAAI2W,KAAKx8B,OAAOnL,GAAOgxB,EAAI2W,KAAQ,GAC/Do3D,EAAS,CACT3qF,QAAS4c,EAAI5c,QACbhQ,IAAK4sB,EAAI5sB,IACTujC,KAAMg3D,GAENzM,SAAiBvxF,EACjBq+F,GAAU,EACVC,EAASt+F,IAAU+vF,EAClBuO,IACGt+F,GAASuxF,IAAYrB,EACrBmO,EAAUd,GAAcv9F,GAGxBs+F,EAAStM,EAAgBT,IAGjC,IAAI/tF,EAAU,CACV2G,KAAMonF,EACN+M,OAAQA,EACRD,QAASA,EACTr+F,MAAOA,EACP+C,OAAQ/C,EACRgnC,KAAMg3D,EACNO,OAAQluE,EAAI5sB,IACZ+6F,KAAM,SAAUjlF,EAAQklF,GACpB,OAAOP,GAAUH,EAAUxkF,EAAQklF,EAASL,EAAS/tE,EAAKouE,EAC9D,EACAC,OAAQ,SAAUx0F,EAAQqP,GACtB,OAAOolF,GAAWZ,EAAU7zF,EAAQqP,EAAQ6kF,EAChD,GAEJ,OAAK56F,EAAQ86F,OAiBTH,GAAeA,EAAYxN,GAAMtgE,EAAK7sB,GAC/BA,EAAQT,OAEZ/C,EAnBI89F,GAAeC,EAAU/9F,EAAOg+F,GAAS,SAAUY,GACtDtL,GAAU9vF,EAAS,SAAU,CACzBiU,EAAG,WACC,OAAOmnF,EAASxsF,CACpB,EACA3Q,EAAG,SAAUmN,GACTgwF,EAASxsF,EAAIxD,CACjB,IAEJ,IAAI4H,EAAM,EACN/C,EAAU0qF,EACd,QAAS1qF,IAAY+C,EAAMknF,GAAwB7nF,OAAS6nF,GAAwBlnF,KAASgnF,KAA0B7M,GAAMtgE,EAAK7sB,GAC9HiQ,EAAUs8E,CAElB,GAMR,CACA,SAAS4O,GAAWZ,EAAU7zF,EAAQqP,EAAQ8W,GAC1C,IAAKyhE,EAAkBv4E,GACnB,IAAK,IAAIla,KAAOka,EACZrP,EAAO7K,GAAO6+F,GAAUH,EAAUxkF,EAAOla,GAAMgxB,EAAKhxB,GAG5D,OAAO6K,CACX,CACA,SAAS20F,GAAa30F,EAAQqP,EAAQ9F,GAClC,IAAI4c,EAAM,CACN5c,QAASA,EACThQ,IAAK8V,EACLytB,KAAM,IAEV,OAAO23D,GAAW,GAAIz0F,EAAQqP,EAAQ8W,EAC1C,CAEA,SAASyuE,GAAYvlF,EAAQ9F,GACzB,IAAI4c,EAAM,CACN5c,QAASA,EACThQ,IAAK8V,GAET,OAAO2kF,GAAU,GAAI3kF,EAAQ8W,EACjC,CACA,SAASstE,GAAqBn6F,GAC1B,IAAIxD,EAAQwD,EAAQxD,MACpB,GAAI2uD,EAAQ3uD,GAAQ,CAChB,IAAIkK,EAAS1G,EAAQT,OAAS,GAG9B,OAFAmH,EAAO2L,OAAS7V,EAAM6V,OACtBrS,EAAQk7F,OAAOx0F,EAAQlK,IAChB,CACX,CACA,OAAO,CACX,CACA,SAAS69F,GAAoBr6F,GACzB,IAAIxD,EAAQwD,EAAQxD,MACpB,QAAIoyF,EAAOpyF,KACPwD,EAAQT,OAAS,IAAId,KAAKjC,EAAMquC,YACzB,EAGf,CACA,SAASuvD,GAAwBp6F,GAC7B,OAAIA,EAAQ2G,OAAS8lF,CAIzB,CACA,SAASwN,GAAwBj6F,GAC7B,IAAIxD,EAAQwD,EAAQxD,MACpB,GAAIA,GAASwD,EAAQ66F,QAAS,CAC1B,IAAIn0F,EAAS1G,EAAQT,OAAS,CAAC,EAE/B,OADAS,EAAQk7F,OAAOx0F,EAAQlK,IAChB,CACX,CACA,OAAO,CACX,CAEA,SAAS++F,GAAU70F,EAAQmiB,GAIvB,OAHAivE,GAAWjvE,GAAS,SAAU2yE,GAC1BH,GAAa30F,EAAQ80F,EACzB,IACO90F,CACX,CACA,SAAS+0F,GAAW/0F,EAAQ6hB,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,GACtD,OAAO2yE,GAAUD,GAAY50F,IAAW,CAAC,EAAGgnF,EAASP,GAAM/6E,WAC/D,CACA,SAASkW,GAAU5hB,EAAQ6hB,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,GACrD,OAAO2yE,GAAU70F,GAAU,CAAC,EAAGgnF,EAASP,GAAM/6E,WAClD,CAEA,IAcIspF,GAdAC,GAA2B,0BAAmB,KAAnBzI,GAAA,GAoB/B,SAAS0I,KAKL,OAJChI,IAAwBe,KACpB+G,KAAS9H,GAAqBkB,MAC/B4G,GAAQ1G,GAAkBrH,EAAK,GAAW,CAAC,gBAAgB/+E,IAExD8sF,GAAM9sF,CACjB,CA0NA,SAASitF,GAAgBr/F,EAAOs/F,EAAUxkC,GACtC,IAAIykC,EAAUD,EAAWA,EAAShF,GAAe,IAAOxK,EACxD,OAAOyP,EAAUA,EAAQv/F,EAAO86D,GAAS,CAAC96D,EAC9C,CAEA,IAAIw/F,GAA0B,0BAAkC,KAAlCnJ,GAAA,WAC+C+D,KA2B7E,SAASqF,GAAcv1F,EAAQ88B,EAAMhnC,GACjC,GAAIkK,GAAU88B,EAAM,CAChB,IAAIkD,EAAQs1D,GAASx4D,EAAM,KACvB04D,EAAUx1D,EAAMmjD,MACpBiO,GAAWpxD,GAAO,SAAU7qC,GACpByyF,EAAkB5nF,EAAO7K,MACzB6K,EAAO7K,GAAO,CAAC,GAEnB6K,EAASA,EAAO7K,EACpB,IACA6K,EAAOw1F,GAAW1/F,CACtB,CACJ,CAiBA,IAAI2/F,GAA6B,0BAA8D,KAA9DrJ,GAAA,iBAEjC,SAASsJ,GAAgB5/F,EAAO6/F,EAAchqF,GACrCo8E,EAASjyF,IACVu0F,GAAe,IAAMN,GAAQj0F,GAAS,qBAE1C,IAAI8/F,EAAc7N,EAAS4N,GAAgBA,EAAe9L,GAAS8L,GAC/DxxF,GAAQsjF,EAAY97E,IAAWA,EAAS7V,EAAMywF,GAAW56E,EAAS7V,EAAMywF,GAC5E,OAAOqG,GAAa92F,EAAOqO,EAAMyxF,EAAYrP,GAASpiF,KAASyxF,CACnE,CAEA,IAAIC,GAA4B,0BAAoC,KAApC1J,GAAA,aAuChC,IAAI2J,GAAM,MACNC,GAAQ,QACRC,GAAU,SACVC,GAAU,UAEd,SAASC,GAAoBC,EAAYC,EAAWC,GAChD,IAEIC,EAFAvtF,GAAM,EACNwtF,EAAUJ,EAAaC,EAAUvQ,GAAcA,EAEnD,SAAS2Q,IAGL,OAFAztF,GAAM,EACNwtF,GAAWA,EAAQR,KAAUQ,EAAQR,MAC9BO,CACX,CACA,SAASG,IACLF,GAAWF,EAASE,GACpBA,EAAU1Q,CACd,CACA,SAAS6Q,IAKL,OAJAH,EAAUH,EAAUG,GACfxtF,GACDytF,IAEGF,CACX,CACA,SAASK,EAAY7gG,IAChBA,GAASygG,GAAWE,IACrB3gG,IAAUygG,GAAWG,GACzB,CAqBA,OApBAJ,EAAkB,CACd5xD,OAAQ+xD,EACRG,QAASF,GAEbJ,EAAgBN,IAAW,WACvB,OAAIO,GAAWA,EAAQP,IACZO,EAAQP,MAEZjtF,CACX,EACAutF,EAAgBR,IAAO,WAGnB,OAFA/sF,GAAM,EACNwtF,GAAWA,EAAQT,KAAQS,EAAQT,MAC5BQ,CACX,EACAA,EAAgBP,IAASS,EACzBF,EAAkBpN,GAAcoN,EAAiBL,GAAS,CACtDlqF,IAAK,WAAc,QAASwqF,CAAS,EACrCjvF,IAAKqvF,IAEF,CACHxqF,EAAGmqF,EACHO,GAAI,WACAN,EAAU1Q,CACd,EAER,CAEA,SAASiR,GAAmBX,EAAYY,EAAY50E,GAChD,IAAI60E,EAAQvyC,EAAQsyC,GAChBrkE,EAAMskE,EAAQD,EAAWprF,OAAS,EAClClD,GAASiqB,EAAM,EAAIqkE,EAAW,GAAOC,EAAqBpR,EAAbmR,IAA8BE,WAC3EC,GAAWxkE,EAAM,EAAIqkE,EAAW,GAAKnR,IAAgBuR,aACrDC,EAAUj1E,EAAQ,GACtBA,EAAQ,GAAK,WACT5Y,EAAQstF,KACR7F,GAAQoG,EAASxR,EAAaoB,EAASP,GAAM/6E,WACjD,EACA,IAAInC,EAAU2sF,GAAoBC,GAAY,SAAUI,GACpD,GAAIA,EAAS,CACT,GAAIA,EAAQK,QAER,OADAL,EAAQK,UACDL,EAEXvF,GAAQkG,EAAStR,EAAa,CAAC2Q,GACnC,CACA,OAAOvF,GAAQvoF,EAAOm9E,EAAazjE,EACvC,IAAG,SAAUo0E,GACTvF,GAAQkG,EAAStR,EAAa,CAAC2Q,GACnC,IACA,OAAOhtF,EAAQ4C,CACnB,CACA,SAASkrF,GAAgB5oF,EAAU2V,GAC/B,OAAO0yE,IAAmB,EAAMlR,EAAaoB,EAASP,GAAM/6E,WAChE,CAIA,SAAS4rF,GAAc7oF,EAAU2V,GAC7B,OAAO0yE,IAAmB,EAAOlR,EAAaoB,EAASP,GAAM/6E,WACjE,C,wDC9uDO,MAAM6rF,EAAa,wBACbC,EAA2B,qB,+BCDjC,SAASC,IACZ,OAAOC,IAAYC,4BACvB,CACO,SAASD,IAEZ,MAA6B,qBAAdE,WAA+C,qBAAX9pD,OAC7CA,OACsB,qBAAfm+C,WACHA,WACA,CAAC,CACf,C,oCACO,MAAM4L,EAAoC,oBAAVC,K,sLCLhC,SAASC,EAAoBC,EAAkBC,GAClD,MAAMC,EAAaF,EACbh4F,GAAS,UACTgmB,GAAO,UACPmyE,EAAc,MAAoBD,EAAWE,iBACnD,IAAIpyE,IAAShmB,EAAOq4F,uCAA0CF,EAGzD,CACD,MAAMltE,EAAQktE,EAAc,IAAI,IAASD,EAAYlyE,GAAQ,KACvDsyE,EAAOt4F,EAAOu4F,yBAA2Bv4F,EAAOu4F,0BAA4B,GAClFD,EAAK50D,KAAK,CACNs0D,iBAAkBE,EAClBD,UACAhtE,UAEAA,GACAgtE,EAAQhtE,EAAMutE,cAEtB,MAbIxyE,EAAK+9D,KAAK,IAAYiU,EAAkBC,EAchD,C,0ICxBO,MAAMQ,EACT,WAAAx8F,CAAYgxB,EAAQjH,GAChBl2B,KAAKkQ,OAAS,KACdlQ,KAAK4oG,YAAc,GACnB5oG,KAAK6oG,QAAU,GACf7oG,KAAKm9B,OAASA,EACdn9B,KAAKk2B,KAAOA,EACZ,MAAM4yE,EAAkB,CAAC,EACzB,GAAI3rE,EAAO4rE,SACP,IAAK,MAAM3hG,KAAM+1B,EAAO4rE,SAAU,CAC9B,MAAM1pE,EAAOlC,EAAO4rE,SAAS3hG,GAC7B0hG,EAAgB1hG,GAAMi4B,EAAK5mB,YAC/B,CAEJ,MAAMuwF,EAAsB,mCAAmC7rE,EAAO/1B,KACtE,IAAI6hG,EAAkBp5E,OAAOq5E,OAAO,CAAC,EAAGJ,GACxC,IACI,MAAMK,EAAMC,aAAat/D,QAAQk/D,GAC3BhkG,EAAOgE,KAAK+tC,MAAMoyD,GACxBt5E,OAAOq5E,OAAOD,EAAiBjkG,EACnC,CACA,MAAO8B,GAEP,CACA9G,KAAKgY,UAAY,CACb,WAAAqxF,GACI,OAAOJ,CACX,EACA,WAAAK,CAAYtjG,GACR,IACIojG,aAAax/D,QAAQo/D,EAAqBhgG,KAAK4c,UAAU5f,GAC7D,CACA,MAAOc,GAEP,CACAmiG,EAAkBjjG,CACtB,EACA,GAAAgO,GACI,OAAO,QACX,GAEAkiB,GACAA,EAAKqzE,GAAG,KAA0B,CAACC,EAAUxjG,KACrCwjG,IAAaxpG,KAAKm9B,OAAO/1B,IACzBpH,KAAKgY,UAAUsxF,YAAYtjG,EAC/B,IAGRhG,KAAKypG,UAAY,IAAIzB,MAAM,CAAC,EAAG,CAC3B/rF,IAAK,CAACytF,EAAS7iG,IACP7G,KAAKkQ,OACElQ,KAAKkQ,OAAOq5F,GAAG1iG,GAGf,IAAI6U,KACP1b,KAAK6oG,QAAQj1D,KAAK,CACd3lC,OAAQpH,EACR6U,QACF,IAKlB1b,KAAK0oG,cAAgB,IAAIV,MAAM,CAAC,EAAG,CAC/B/rF,IAAK,CAACytF,EAAS7iG,IACP7G,KAAKkQ,OACElQ,KAAKkQ,OAAOrJ,GAEL,OAATA,EACE7G,KAAKypG,UAEP55E,OAAO8lC,KAAK31D,KAAKgY,WAAW2xF,SAAS9iG,GACnC,IAAI6U,KACP1b,KAAK4oG,YAAYh1D,KAAK,CAClB3lC,OAAQpH,EACR6U,OACAquC,QAAS,SAEN/pD,KAAKgY,UAAUnR,MAAS6U,IAI5B,IAAIA,IACA,IAAIkuF,SAAS7/C,IAChB/pD,KAAK4oG,YAAYh1D,KAAK,CAClB3lC,OAAQpH,EACR6U,OACAquC,WACF,KAM1B,CACA,mBAAM8/C,CAAc35F,GAChBlQ,KAAKkQ,OAASA,EACd,IAAK,MAAMmvB,KAAQr/B,KAAK6oG,QACpB7oG,KAAKkQ,OAAOq5F,GAAGlqE,EAAKpxB,WAAWoxB,EAAK3jB,MAExC,IAAK,MAAM2jB,KAAQr/B,KAAK4oG,YACpBvpE,EAAK0qB,cAAc/pD,KAAKkQ,OAAOmvB,EAAKpxB,WAAWoxB,EAAK3jB,MAE5D,E,+BCzGJ,IAAIkN,EACA7U,EACG,SAAS+1F,IACZ,IAAIl9F,EACJ,YAAkBhH,IAAdgjB,IAGkB,qBAAXo1B,QAA0BA,OAAOm/B,aACxCv0D,GAAY,EACZ7U,EAAOiqC,OAAOm/B,aAEa,qBAAfgf,aAAgE,QAAhCvvF,EAAKuvF,WAAW4N,kBAA+B,IAAPn9F,OAAgB,EAASA,EAAGuwE,cAChHv0D,GAAY,EACZ7U,EAAOooF,WAAW4N,WAAW5sB,aAG7Bv0D,GAAY,GAXLA,CAcf,CACO,SAAS5U,IACZ,OAAO81F,IAA2B/1F,EAAKC,MAAQ/L,KAAK+L,KACxD,C;;;;;GCXA,IAAIg2F,EAoIAC,EAnIJ,MAAMC,EACJ,WAAA/9F,CAAYg+F,GAAW,GACrBnqG,KAAKmqG,SAAWA,EAIhBnqG,KAAKoqG,SAAU,EAIfpqG,KAAKqqG,QAAU,GAIfrqG,KAAKsqG,SAAW,GAChBtqG,KAAKuqG,WAAY,EACjBvqG,KAAKwqG,OAASR,GACTG,GAAYH,IACfhqG,KAAK4mD,OAASojD,EAAkBS,SAAWT,EAAkBS,OAAS,KAAK72D,KACzE5zC,MACE,EAER,CACA,UAAI0qG,GACF,OAAO1qG,KAAKoqG,OACd,CACA,KAAAplD,GACE,GAAIhlD,KAAKoqG,QAAS,CAEhB,IAAI1kG,EAAGmhE,EACP,GAFA7mE,KAAKuqG,WAAY,EAEbvqG,KAAKyqG,OACP,IAAK/kG,EAAI,EAAGmhE,EAAI7mE,KAAKyqG,OAAO5uF,OAAQnW,EAAImhE,EAAGnhE,IACzC1F,KAAKyqG,OAAO/kG,GAAGs/C,QAGnB,IAAKt/C,EAAI,EAAGmhE,EAAI7mE,KAAKqqG,QAAQxuF,OAAQnW,EAAImhE,EAAGnhE,IAC1C1F,KAAKqqG,QAAQ3kG,GAAGs/C,OAEpB,CACF,CAIA,MAAAC,GACE,GAAIjlD,KAAKoqG,SACHpqG,KAAKuqG,UAAW,CAElB,IAAI7kG,EAAGmhE,EACP,GAFA7mE,KAAKuqG,WAAY,EAEbvqG,KAAKyqG,OACP,IAAK/kG,EAAI,EAAGmhE,EAAI7mE,KAAKyqG,OAAO5uF,OAAQnW,EAAImhE,EAAGnhE,IACzC1F,KAAKyqG,OAAO/kG,GAAGu/C,SAGnB,IAAKv/C,EAAI,EAAGmhE,EAAI7mE,KAAKqqG,QAAQxuF,OAAQnW,EAAImhE,EAAGnhE,IAC1C1F,KAAKqqG,QAAQ3kG,GAAGu/C,QAEpB,CAEJ,CACA,GAAAnjC,CAAIpI,GACF,GAAI1Z,KAAKoqG,QAAS,CAChB,MAAMO,EAAqBX,EAC3B,IAEE,OADAA,EAAoBhqG,KACb0Z,GACT,CAAE,QACAswF,EAAoBW,CACtB,CACF,MAAW,CAGb,CAKA,EAAApB,GACES,EAAoBhqG,IACtB,CAKA,GAAA4qG,GACEZ,EAAoBhqG,KAAKwqG,MAC3B,CACA,IAAAlzD,CAAKuzD,GACH,GAAI7qG,KAAKoqG,QAAS,CAEhB,IAAI1kG,EAAGmhE,EACP,IAFA7mE,KAAKoqG,SAAU,EAEV1kG,EAAI,EAAGmhE,EAAI7mE,KAAKqqG,QAAQxuF,OAAQnW,EAAImhE,EAAGnhE,IAC1C1F,KAAKqqG,QAAQ3kG,GAAG4xC,OAGlB,IADAt3C,KAAKqqG,QAAQxuF,OAAS,EACjBnW,EAAI,EAAGmhE,EAAI7mE,KAAKsqG,SAASzuF,OAAQnW,EAAImhE,EAAGnhE,IAC3C1F,KAAKsqG,SAAS5kG,KAGhB,GADA1F,KAAKsqG,SAASzuF,OAAS,EACnB7b,KAAKyqG,OAAQ,CACf,IAAK/kG,EAAI,EAAGmhE,EAAI7mE,KAAKyqG,OAAO5uF,OAAQnW,EAAImhE,EAAGnhE,IACzC1F,KAAKyqG,OAAO/kG,GAAG4xC,MAAK,GAEtBt3C,KAAKyqG,OAAO5uF,OAAS,CACvB,CACA,IAAK7b,KAAKmqG,UAAYnqG,KAAKwqG,SAAWK,EAAY,CAChD,MAAMC,EAAO9qG,KAAKwqG,OAAOC,OAAOpX,MAC5ByX,GAAQA,IAAS9qG,OACnBA,KAAKwqG,OAAOC,OAAOzqG,KAAK4mD,OAASkkD,EACjCA,EAAKlkD,MAAQ5mD,KAAK4mD,MAEtB,CACA5mD,KAAKwqG,YAAS,CAChB,CACF,EAEF,SAASO,EAAYZ,GACnB,OAAO,IAAID,EAAYC,EACzB,CACA,SAASa,IACP,OAAOhB,CACT,CACA,SAASiB,EAAevxF,EAAIwxF,GAAe,GACrClB,GACFA,EAAkBM,SAAS12D,KAAKl6B,EAMpC,CAGA,MAgBMyxF,EAAqC,IAAIC,QAC/C,MAAMC,EACJ,WAAAl/F,CAAYuN,GACV1Z,KAAK0Z,GAAKA,EAIV1Z,KAAKsrG,UAAO,EAIZtrG,KAAKurG,cAAW,EAIhBvrG,KAAK4d,MAAQ,EAIb5d,KAAKyiB,UAAO,EAIZziB,KAAKwrG,aAAU,EACfxrG,KAAKyrG,eAAY,EACbzB,GAAqBA,EAAkBU,QACzCV,EAAkBK,QAAQz2D,KAAK5zC,KAEnC,CACA,KAAAglD,GACEhlD,KAAK4d,OAAS,EAChB,CACA,MAAAqnC,GACmB,GAAbjlD,KAAK4d,QACP5d,KAAK4d,QAAS,GACVutF,EAAmBO,IAAI1rG,QACzBmrG,EAAmBQ,OAAO3rG,MAC1BA,KAAK4rG,WAGX,CAIA,MAAAC,GACmB,EAAb7rG,KAAK4d,SAA4B,GAAb5d,KAAK4d,QAGV,EAAb5d,KAAK4d,OACT6sC,EAAMzqD,KAEV,CACA,GAAA8hB,GACE,KAAmB,EAAb9hB,KAAK4d,OACT,OAAO5d,KAAK0Z,KAEd1Z,KAAK4d,OAAS,EACdkuF,EAAc9rG,MACd+rG,EAAY/rG,MACZ,MAAMgsG,EAAa/B,EACbgC,EAAkBC,EACxBjC,EAAYjqG,KACZksG,GAAc,EACd,IACE,OAAOlsG,KAAK0Z,IACd,CAAE,QACI,EAKJyyF,EAAYnsG,MACZiqG,EAAY+B,EACZE,EAAcD,EACdjsG,KAAK4d,QAAS,CAChB,CACF,CACA,IAAA05B,GACE,GAAiB,EAAbt3C,KAAK4d,MAAW,CAClB,IAAK,IAAIwuF,EAAOpsG,KAAKsrG,KAAMc,EAAMA,EAAOA,EAAKC,QAC3CC,EAAUF,GAEZpsG,KAAKsrG,KAAOtrG,KAAKurG,cAAW,EAC5BO,EAAc9rG,MACdA,KAAKusG,QAAUvsG,KAAKusG,SACpBvsG,KAAK4d,QAAS,CAChB,CACF,CACA,OAAAguF,GACmB,GAAb5rG,KAAK4d,MACPutF,EAAmB3tF,IAAIxd,MACdA,KAAKyrG,UACdzrG,KAAKyrG,YAELzrG,KAAKwsG,YAET,CAIA,UAAAA,GACMC,EAAQzsG,OACVA,KAAK8hB,KAET,CACA,SAAI4qF,GACF,OAAOD,EAAQzsG,KACjB,EAEF,IACI2sG,EACAC,EAFAC,EAAa,EAGjB,SAASpiD,EAAMqiD,EAAKC,GAAa,GAE/B,GADAD,EAAIlvF,OAAS,EACTmvF,EAGF,OAFAD,EAAIrqF,KAAOmqF,OACXA,EAAkBE,GAGpBA,EAAIrqF,KAAOkqF,EACXA,EAAaG,CACf,CACA,SAASE,IACPH,GACF,CACA,SAASI,IACP,KAAMJ,EAAa,EACjB,OAEF,GAAID,EAAiB,CACnB,IAAI9lG,EAAI8lG,EACRA,OAAkB,EAClB,MAAO9lG,EAAG,CACR,MAAM2b,EAAO3b,EAAE2b,KACf3b,EAAE2b,UAAO,EACT3b,EAAE8W,QAAS,EACX9W,EAAI2b,CACN,CACF,CACA,IAAIzjB,EACJ,MAAO2tG,EAAY,CACjB,IAAI7lG,EAAI6lG,EACRA,OAAa,EACb,MAAO7lG,EAAG,CACR,MAAM2b,EAAO3b,EAAE2b,KAGf,GAFA3b,EAAE2b,UAAO,EACT3b,EAAE8W,QAAS,EACG,EAAV9W,EAAE8W,MACJ,IAEE9W,EAAE8kG,SACJ,CAAE,MAAOr1E,GACFv3B,IAAOA,EAAQu3B,EACtB,CAEFzvB,EAAI2b,CACN,CACF,CACA,GAAIzjB,EAAO,MAAMA,CACnB,CACA,SAAS+sG,EAAYe,GACnB,IAAK,IAAIV,EAAOU,EAAIxB,KAAMc,EAAMA,EAAOA,EAAKC,QAC1CD,EAAKnpF,SAAW,EAChBmpF,EAAKc,eAAiBd,EAAKe,IAAIC,WAC/BhB,EAAKe,IAAIC,WAAahB,CAE1B,CACA,SAASD,EAAYW,GACnB,IAAIO,EACAC,EAAOR,EAAIvB,SACXa,EAAOkB,EACX,MAAOlB,EAAM,CACX,MAAMmB,EAAOnB,EAAKoB,SACI,IAAlBpB,EAAKnpF,SACHmpF,IAASkB,IAAMA,EAAOC,GAC1BjB,EAAUF,GACVqB,EAAUrB,IAEViB,EAAOjB,EAETA,EAAKe,IAAIC,WAAahB,EAAKc,eAC3Bd,EAAKc,oBAAiB,EACtBd,EAAOmB,CACT,CACAT,EAAIxB,KAAO+B,EACXP,EAAIvB,SAAW+B,CACjB,CACA,SAASb,EAAQK,GACf,IAAK,IAAIV,EAAOU,EAAIxB,KAAMc,EAAMA,EAAOA,EAAKC,QAC1C,GAAID,EAAKe,IAAIlqF,UAAYmpF,EAAKnpF,SAAWmpF,EAAKe,IAAIO,WAAaC,EAAgBvB,EAAKe,IAAIO,WAAatB,EAAKe,IAAIlqF,UAAYmpF,EAAKnpF,SAC7H,OAAO,EAGX,QAAI6pF,EAAIc,MAIV,CACA,SAASD,EAAgBD,GACvB,GAAqB,EAAjBA,EAAS9vF,SAAgC,GAAjB8vF,EAAS9vF,OACnC,OAGF,GADA8vF,EAAS9vF,QAAS,GACd8vF,EAASG,gBAAkBA,EAC7B,OAEFH,EAASG,cAAgBA,EACzB,MAAMV,EAAMO,EAASP,IAErB,GADAO,EAAS9vF,OAAS,EACduvF,EAAIlqF,QAAU,IAAMyqF,EAASI,OAASJ,EAASpC,OAASmB,EAAQiB,GAElE,YADAA,EAAS9vF,QAAS,GAGpB,MAAMmwF,EAAU9D,EACVgC,EAAkBC,EACxBjC,EAAYyD,EACZxB,GAAc,EACd,IACEH,EAAY2B,GACZ,MAAM1nG,EAAQ0nG,EAASh0F,GAAGg0F,EAASM,SACf,IAAhBb,EAAIlqF,UAAiB,QAAWjd,EAAO0nG,EAASM,WAClDN,EAASM,OAAShoG,EAClBmnG,EAAIlqF,UAER,CAAE,MAAOsT,GAEP,MADA42E,EAAIlqF,UACEsT,CACR,CAAE,QACA0zE,EAAY8D,EACZ7B,EAAcD,EACdE,EAAYuB,GACZA,EAAS9vF,QAAS,CACpB,CACF,CACA,SAAS0uF,EAAUF,EAAM6B,GAAO,GAC9B,MAAM,IAAEd,EAAG,QAAEY,EAAO,QAAEG,GAAY9B,EAYlC,GAXI2B,IACFA,EAAQG,QAAUA,EAClB9B,EAAK2B,aAAU,GAEbG,IACFA,EAAQH,QAAUA,EAClB3B,EAAK8B,aAAU,GAKbf,EAAIgB,OAAS/B,IACfe,EAAIgB,KAAOJ,GACNA,GAAWZ,EAAIO,UAAU,CAC5BP,EAAIO,SAAS9vF,QAAS,EACtB,IAAK,IAAIipD,EAAIsmC,EAAIO,SAASpC,KAAMzkC,EAAGA,EAAIA,EAAEwlC,QACvCC,EAAUzlC,GAAG,EAEjB,CAEGonC,KAAWd,EAAIiB,KAAMjB,EAAI7nG,KAC5B6nG,EAAI7nG,IAAIqmG,OAAOwB,EAAI9nG,IAEvB,CACA,SAASooG,EAAUrB,GACjB,MAAM,QAAEoB,EAAO,QAAEnB,GAAYD,EACzBoB,IACFA,EAAQnB,QAAUA,EAClBD,EAAKoB,aAAU,GAEbnB,IACFA,EAAQmB,QAAUA,EAClBpB,EAAKC,aAAU,EAEnB,CACA,SAASgC,EAAO30F,EAAIw2E,GACdx2E,EAAG20F,kBAAkBhD,IACvB3xF,EAAKA,EAAG20F,OAAO30F,IAEjB,MAAM5S,EAAI,IAAIukG,EAAe3xF,GACzBw2E,IACF,QAAOppF,EAAGopF,GAEZ,IACEppF,EAAEgb,KACJ,CAAE,MAAOyU,GAEP,MADAzvB,EAAEwwC,OACI/gB,CACR,CACA,MAAM+3E,EAASxnG,EAAEgb,IAAIjD,KAAK/X,GAE1B,OADAwnG,EAAOD,OAASvnG,EACTwnG,CACT,CACA,SAASh3D,EAAKg3D,GACZA,EAAOD,OAAO/2D,MAChB,CACA,IAAI40D,GAAc,EAClB,MAAMqC,EAAa,GACnB,SAASC,IACPD,EAAW36D,KAAKs4D,GAChBA,GAAc,CAChB,CAKA,SAASuC,IACP,MAAM3D,EAAOyD,EAAWlb,MACxB6Y,OAAuB,IAATpB,GAAyBA,CACzC,CAUA,SAASgB,EAAchlG,GACrB,MAAM,QAAE0kG,GAAY1kG,EAEpB,GADAA,EAAE0kG,aAAU,EACRA,EAAS,CACX,MAAMuC,EAAU9D,EAChBA,OAAY,EACZ,IACEuB,GACF,CAAE,QACAvB,EAAY8D,CACd,CACF,CACF,CAEA,IAAIF,EAAgB,EACpB,MAAMa,EACJ,WAAAviG,CAAY2gG,EAAKK,GACfntG,KAAK8sG,IAAMA,EACX9sG,KAAKmtG,IAAMA,EACXntG,KAAKijB,QAAUkqF,EAAIlqF,QACnBjjB,KAAKqsG,QAAUrsG,KAAKwtG,QAAUxtG,KAAKkuG,QAAUluG,KAAK+tG,QAAU/tG,KAAKktG,oBAAiB,CACpF,EAEF,MAAMyB,EACJ,WAAAxiG,CAAYuhG,GACV1tG,KAAK0tG,SAAWA,EAChB1tG,KAAKijB,QAAU,EAIfjjB,KAAKotG,gBAAa,EAIlBptG,KAAKmuG,UAAO,EAIZnuG,KAAKsF,SAAM,EACXtF,KAAKqF,SAAM,EAIXrF,KAAKouG,GAAK,CAIZ,CACA,KAAAhjC,CAAMwjC,GACJ,IAAK3E,IAAciC,GAAejC,IAAcjqG,KAAK0tG,SACnD,OAEF,IAAItB,EAAOpsG,KAAKotG,WAChB,QAAa,IAAThB,GAAmBA,EAAKU,MAAQ7C,EAClCmC,EAAOpsG,KAAKotG,WAAa,IAAIsB,EAAKzE,EAAWjqG,MACxCiqG,EAAUqB,MAGbc,EAAKoB,QAAUvD,EAAUsB,SACzBtB,EAAUsB,SAASc,QAAUD,EAC7BnC,EAAUsB,SAAWa,GAJrBnC,EAAUqB,KAAOrB,EAAUsB,SAAWa,EAMxCyC,EAAOzC,QACF,IAAsB,IAAlBA,EAAKnpF,UACdmpF,EAAKnpF,QAAUjjB,KAAKijB,QAChBmpF,EAAKC,SAAS,CAChB,MAAM5pF,EAAO2pF,EAAKC,QAClB5pF,EAAK+qF,QAAUpB,EAAKoB,QAChBpB,EAAKoB,UACPpB,EAAKoB,QAAQnB,QAAU5pF,GAEzB2pF,EAAKoB,QAAUvD,EAAUsB,SACzBa,EAAKC,aAAU,EACfpC,EAAUsB,SAASc,QAAUD,EAC7BnC,EAAUsB,SAAWa,EACjBnC,EAAUqB,OAASc,IACrBnC,EAAUqB,KAAO7oF,EAErB,CAYF,OAAO2pF,CACT,CACA,OAAAR,CAAQgD,GACN5uG,KAAKijB,UACL4qF,IACA7tG,KAAK6rG,OAAO+C,EACd,CACA,MAAA/C,CAAO+C,GACL5B,IACA,IACM,EAcJ,IAAK,IAAIZ,EAAOpsG,KAAKmuG,KAAM/B,EAAMA,EAAOA,EAAK2B,QACvC3B,EAAKU,IAAIjB,UAEXO,EAAKU,IAAIK,IAAItB,QAGnB,CAAE,QACAoB,GACF,CACF,EAEF,SAAS4B,EAAOzC,GAEd,GADAA,EAAKe,IAAIiB,KACY,EAAjBhC,EAAKU,IAAIlvF,MAAW,CACtB,MAAM8vF,EAAWtB,EAAKe,IAAIO,SAC1B,GAAIA,IAAatB,EAAKe,IAAIgB,KAAM,CAC9BT,EAAS9vF,OAAS,GAClB,IAAK,IAAIipD,EAAI6mC,EAASpC,KAAMzkC,EAAGA,EAAIA,EAAEwlC,QACnCwC,EAAOhoC,EAEX,CACA,MAAMioC,EAAc1C,EAAKe,IAAIgB,KACzBW,IAAgB1C,IAClBA,EAAK2B,QAAUe,EACXA,IAAaA,EAAYZ,QAAU9B,IAKzCA,EAAKe,IAAIgB,KAAO/B,CAClB,CACF,CACA,MAAM2C,EAA4B,IAAIC,QAChCC,EAAcC,OAC6C,IAE3DC,EAAsBD,OACuC,IAE7DE,EAAoBF,OACsC,IAEhE,SAAS9jC,EAAMl7D,EAAQC,EAAM9K,GAC3B,GAAI6mG,GAAejC,EAAW,CAC5B,IAAIoF,EAAUN,EAAU9yF,IAAI/L,GACvBm/F,GACHN,EAAUv3F,IAAItH,EAAQm/F,EAA0B,IAAIC,KAEtD,IAAInC,EAAMkC,EAAQpzF,IAAI5W,GACjB8nG,IACHkC,EAAQ73F,IAAInS,EAAK8nG,EAAM,IAAIwB,GAC3BxB,EAAI7nG,IAAM+pG,EACVlC,EAAI9nG,IAAMA,GASV8nG,EAAI/hC,OAER,CACF,CACA,SAASwgC,EAAQ17F,EAAQC,EAAM9K,EAAKuP,EAAU26F,EAAUC,GACtD,MAAMH,EAAUN,EAAU9yF,IAAI/L,GAC9B,IAAKm/F,EAEH,YADAxB,IAGF,MAAM/rF,EAAOqrF,IACPA,GAWAA,EAAIvB,SAER,EAGF,GADAoB,IACa,UAAT78F,EACFk/F,EAAQ50B,QAAQ34D,OACX,CACL,MAAM2tF,GAAgB,QAAQv/F,GACxBw/F,EAAeD,IAAiB,QAAapqG,GACnD,GAAIoqG,GAAyB,WAARpqG,EAAkB,CACrC,MAAMsqG,EAAYC,OAAOh7F,GACzBy6F,EAAQ50B,SAAQ,CAAC0yB,EAAK0C,MACP,WAATA,GAAqBA,IAAST,KAAsB,QAASS,IAASA,GAAQF,IAChF7tF,EAAIqrF,EACN,GAEJ,MAOE,aANY,IAAR9nG,GAAkBgqG,EAAQ3D,SAAI,KAChC5pF,EAAIutF,EAAQpzF,IAAI5W,IAEdqqG,GACF5tF,EAAIutF,EAAQpzF,IAAImzF,IAEVj/F,GACN,IAAK,MACEs/F,EAKMC,GACT5tF,EAAIutF,EAAQpzF,IAAI,YALhB6F,EAAIutF,EAAQpzF,IAAIgzF,KACZ,QAAM/+F,IACR4R,EAAIutF,EAAQpzF,IAAIkzF,KAKpB,MACF,IAAK,SACEM,IACH3tF,EAAIutF,EAAQpzF,IAAIgzF,KACZ,QAAM/+F,IACR4R,EAAIutF,EAAQpzF,IAAIkzF,KAGpB,MACF,IAAK,OACC,QAAMj/F,IACR4R,EAAIutF,EAAQpzF,IAAIgzF,IAElB,MAGR,CACAhC,GACF,CACA,SAAS6C,EAAmBv/E,EAAQlrB,GAClC,MAAM0qG,EAAShB,EAAU9yF,IAAIsU,GAC7B,OAAOw/E,GAAUA,EAAO9zF,IAAI5W,EAC9B,CAEA,SAAS2qG,EAAkBC,GACzB,MAAM9G,EAAM+G,GAAMD,GAClB,OAAI9G,IAAQ8G,EAAc9G,GAC1B/9B,EAAM+9B,EAAK,UAAWiG,GACfe,GAAUF,GAAS9G,EAAMA,EAAI7jG,IAAI8qG,IAC1C,CACA,SAASC,EAAiBz6E,GAExB,OADAw1C,EAAMx1C,EAAMs6E,GAAMt6E,GAAM,UAAWw5E,GAC5Bx5E,CACT,CACA,MAAM06E,EAAwB,CAC5B5nE,UAAW,KACX,CAACwmE,OAAOvT,YACN,OAAOA,EAAS37F,KAAMkvG,OAAOvT,SAAUyU,GACzC,EACA,MAAA5/F,IAAUkL,GACR,OAAOs0F,EAAkBhwG,MAAMwQ,UAC1BkL,EAAKpW,KAAKirG,IAAM,QAAQA,GAAKP,EAAkBO,GAAKA,IAE3D,EACA,OAAA1zB,GACE,OAAO8e,EAAS37F,KAAM,WAAYgG,IAChCA,EAAM,GAAKoqG,GAAWpqG,EAAM,IACrBA,IAEX,EACA,KAAAwqG,CAAM92F,EAAIu/E,GACR,OAAOpsB,EAAM7sE,KAAM,QAAS0Z,EAAIu/E,OAAS,EAAQr9E,UACnD,EACA,MAAAwiD,CAAO1kD,EAAIu/E,GACT,OAAOpsB,EAAM7sE,KAAM,SAAU0Z,EAAIu/E,GAAU7gF,GAAMA,EAAE9S,IAAI8qG,KAAax0F,UACtE,EACA,IAAA60F,CAAK/2F,EAAIu/E,GACP,OAAOpsB,EAAM7sE,KAAM,OAAQ0Z,EAAIu/E,EAASmX,GAAYx0F,UACtD,EACA,SAAA80F,CAAUh3F,EAAIu/E,GACZ,OAAOpsB,EAAM7sE,KAAM,YAAa0Z,EAAIu/E,OAAS,EAAQr9E,UACvD,EACA,QAAA+0F,CAASj3F,EAAIu/E,GACX,OAAOpsB,EAAM7sE,KAAM,WAAY0Z,EAAIu/E,EAASmX,GAAYx0F,UAC1D,EACA,aAAAg1F,CAAcl3F,EAAIu/E,GAChB,OAAOpsB,EAAM7sE,KAAM,gBAAiB0Z,EAAIu/E,OAAS,EAAQr9E,UAC3D,EAEA,OAAA6+D,CAAQ/gE,EAAIu/E,GACV,OAAOpsB,EAAM7sE,KAAM,UAAW0Z,EAAIu/E,OAAS,EAAQr9E,UACrD,EACA,QAAA+tF,IAAYjuF,GACV,OAAOm1F,EAAY7wG,KAAM,WAAY0b,EACvC,EACA,OAAAqZ,IAAWrZ,GACT,OAAOm1F,EAAY7wG,KAAM,UAAW0b,EACtC,EACA,IAAAsR,CAAK8jF,GACH,OAAOd,EAAkBhwG,MAAMgtB,KAAK8jF,EACtC,EAEA,WAAAjlD,IAAenwC,GACb,OAAOm1F,EAAY7wG,KAAM,cAAe0b,EAC1C,EACA,GAAApW,CAAIoU,EAAIu/E,GACN,OAAOpsB,EAAM7sE,KAAM,MAAO0Z,EAAIu/E,OAAS,EAAQr9E,UACjD,EACA,GAAAy3E,GACE,OAAO0d,EAAW/wG,KAAM,MAC1B,EACA,IAAA4zC,IAAQl4B,GACN,OAAOq1F,EAAW/wG,KAAM,OAAQ0b,EAClC,EACA,MAAAs1F,CAAOt3F,KAAOgC,GACZ,OAAOs1F,EAAOhxG,KAAM,SAAU0Z,EAAIgC,EACpC,EACA,WAAAu1F,CAAYv3F,KAAOgC,GACjB,OAAOs1F,EAAOhxG,KAAM,cAAe0Z,EAAIgC,EACzC,EACA,KAAA2gE,GACE,OAAO00B,EAAW/wG,KAAM,QAC1B,EAEA,IAAAkxG,CAAKx3F,EAAIu/E,GACP,OAAOpsB,EAAM7sE,KAAM,OAAQ0Z,EAAIu/E,OAAS,EAAQr9E,UAClD,EACA,MAAA/P,IAAU6P,GACR,OAAOq1F,EAAW/wG,KAAM,SAAU0b,EACpC,EACA,UAAAy1F,GACE,OAAOnB,EAAkBhwG,MAAMmxG,YACjC,EACA,QAAAC,CAASC,GACP,OAAOrB,EAAkBhwG,MAAMoxG,SAASC,EAC1C,EACA,SAAAC,IAAa51F,GACX,OAAOs0F,EAAkBhwG,MAAMsxG,aAAa51F,EAC9C,EACA,OAAA61F,IAAW71F,GACT,OAAOq1F,EAAW/wG,KAAM,UAAW0b,EACrC,EACA,MAAA2zB,GACE,OAAOssD,EAAS37F,KAAM,SAAUowG,GAClC,GAEF,SAASzU,EAASx7E,EAAMlS,EAAQujG,GAC9B,MAAM57E,EAAMy6E,EAAiBlwF,GACvB2gF,EAAOlrE,EAAI3nB,KAWjB,OAVI2nB,IAAQzV,GAASgwF,GAAUhwF,KAC7B2gF,EAAKnlE,MAAQmlE,EAAKr+E,KAClBq+E,EAAKr+E,KAAO,KACV,MAAM1Z,EAAS+3F,EAAKnlE,QAIpB,OAHI5yB,EAAO/C,QACT+C,EAAO/C,MAAQwrG,EAAUzoG,EAAO/C,QAE3B+C,CAAM,GAGV+3F,CACT,CACA,MAAM2Q,EAAankG,MAAMN,UACzB,SAAS6/D,EAAM1sD,EAAMlS,EAAQyL,EAAIu/E,EAASyY,EAAch2F,GACtD,MAAMka,EAAMy6E,EAAiBlwF,GACvBwxF,EAAY/7E,IAAQzV,IAASgwF,GAAUhwF,GACvCyxF,EAAWh8E,EAAI3nB,GACrB,GAAI2jG,IAAaH,EAAWxjG,GAAS,CACnC,MAAM4jG,EAAUD,EAAS/kC,MAAM1sD,EAAMzE,GACrC,OAAOi2F,EAAYvB,GAAWyB,GAAWA,CAC3C,CACA,IAAIC,EAAYp4F,EACZkc,IAAQzV,IACNwxF,EACFG,EAAY,SAASzyE,EAAMunB,GACzB,OAAOltC,EAAG3Z,KAAKC,KAAMowG,GAAW/wE,GAAOunB,EAAOzmC,EAChD,EACSzG,EAAGmC,OAAS,IACrBi2F,EAAY,SAASzyE,EAAMunB,GACzB,OAAOltC,EAAG3Z,KAAKC,KAAMq/B,EAAMunB,EAAOzmC,EACpC,IAGJ,MAAMpX,EAAS6oG,EAAS7xG,KAAK61B,EAAKk8E,EAAW7Y,GAC7C,OAAO0Y,GAAaD,EAAeA,EAAa3oG,GAAUA,CAC5D,CACA,SAASioG,EAAO7wF,EAAMlS,EAAQyL,EAAIgC,GAChC,MAAMka,EAAMy6E,EAAiBlwF,GAC7B,IAAI2xF,EAAYp4F,EAYhB,OAXIkc,IAAQzV,IACLgwF,GAAUhwF,GAIJzG,EAAGmC,OAAS,IACrBi2F,EAAY,SAASC,EAAK1yE,EAAMunB,GAC9B,OAAOltC,EAAG3Z,KAAKC,KAAM+xG,EAAK1yE,EAAMunB,EAAOzmC,EACzC,GANA2xF,EAAY,SAASC,EAAK1yE,EAAMunB,GAC9B,OAAOltC,EAAG3Z,KAAKC,KAAM+xG,EAAK3B,GAAW/wE,GAAOunB,EAAOzmC,EACrD,GAOGyV,EAAI3nB,GAAQ6jG,KAAcp2F,EACnC,CACA,SAASm1F,EAAY1wF,EAAMlS,EAAQyN,GACjC,MAAMka,EAAMs6E,GAAM/vF,GAClBirD,EAAMx1C,EAAK,UAAWw5E,GACtB,MAAMrrD,EAAMnuB,EAAI3nB,MAAWyN,GAC3B,OAAc,IAATqoC,IAAsB,IAARA,IAAkBiuD,GAAQt2F,EAAK,IAI3CqoC,GAHLroC,EAAK,GAAKw0F,GAAMx0F,EAAK,IACdka,EAAI3nB,MAAWyN,GAG1B,CACA,SAASq1F,EAAW5wF,EAAMlS,EAAQyN,EAAO,IACvC8yF,IACAxB,IACA,MAAMjpD,EAAMmsD,GAAM/vF,GAAMlS,GAAQ4+D,MAAM1sD,EAAMzE,GAG5C,OAFAuxF,IACAwB,IACO1qD,CACT,CAEA,MAAMkuD,GAAqC,QAAQ,+BAC7CC,EAAiB,IAAIC,IACTtiF,OAAOuiF,oBAAoBlD,QAAQ9wC,QAAQ/4D,GAAgB,cAARA,GAA+B,WAARA,IAAkBC,KAAKD,GAAQ6pG,OAAO7pG,KAAM+4D,OAAO,OAE/I,SAASw6B,EAAevzF,IACjB,QAASA,KAAMA,EAAMwjC,OAAOxjC,IACjC,MAAMqE,EAAMwmG,GAAMlwG,MAElB,OADAorE,EAAM1hE,EAAK,MAAOrE,GACXqE,EAAIkvF,eAAevzF,EAC5B,CACA,MAAMgtG,GACJ,WAAAlmG,CAAYmmG,GAAc,EAAOC,GAAa,GAC5CvyG,KAAKsyG,YAAcA,EACnBtyG,KAAKuyG,WAAaA,CACpB,CACA,GAAAt2F,CAAI/L,EAAQ7K,EAAKmtG,GACf,GAAY,aAARntG,EAAoB,OAAO6K,EAAO,YACtC,MAAMuiG,EAAczyG,KAAKsyG,YAAaI,EAAa1yG,KAAKuyG,WACxD,GAAY,mBAARltG,EACF,OAAQotG,EACH,GAAY,mBAARptG,EACT,OAAOotG,EACF,GAAY,kBAARptG,EACT,OAAOqtG,EACF,GAAY,YAARrtG,EACT,OAAImtG,KAAcC,EAAcC,EAAaC,GAAqBC,GAAcF,EAAaG,GAAqBC,IAAa72F,IAAI/L,IAEnI2f,OAAOkjF,eAAe7iG,KAAY2f,OAAOkjF,eAAeP,GAC/CtiG,OAET,EAEF,MAAMu/F,GAAgB,QAAQv/F,GAC9B,IAAKuiG,EAAa,CAChB,IAAI/4F,EACJ,GAAI+1F,IAAkB/1F,EAAK42F,EAAsBjrG,IAC/C,OAAOqU,EAET,GAAY,mBAARrU,EACF,OAAOuzF,CAEX,CACA,MAAM70C,EAAMivD,QAAQ/2F,IAClB/L,EACA7K,EAIA4tG,GAAM/iG,GAAUA,EAASsiG,GAE3B,QAAI,QAASntG,GAAO6sG,EAAexG,IAAIrmG,GAAO4sG,EAAmB5sG,IACxD0+C,GAEJ0uD,GACHrnC,EAAMl7D,EAAQ,MAAO7K,GAEnBqtG,EACK3uD,EAELkvD,GAAMlvD,GACD0rD,IAAiB,QAAapqG,GAAO0+C,EAAMA,EAAI/9C,OAEpD,QAAS+9C,GACJ0uD,EAAcS,GAASnvD,GAAOovD,GAASpvD,GAEzCA,EACT,EAEF,MAAMqvD,WAA+Bf,GACnC,WAAAlmG,CAAYumG,GAAa,GACvBW,OAAM,EAAOX,EACf,CACA,GAAAl7F,CAAItH,EAAQ7K,EAAKW,EAAOwsG,GACtB,IAAIjD,EAAWr/F,EAAO7K,GACtB,IAAKrF,KAAKuyG,WAAY,CACpB,MAAMe,EAAqBC,GAAWhE,GAKtC,GAJKY,GAAUnqG,IAAWutG,GAAWvtG,KACnCupG,EAAWW,GAAMX,GACjBvpG,EAAQkqG,GAAMlqG,MAEX,QAAQkK,IAAW+iG,GAAM1D,KAAc0D,GAAMjtG,GAChD,OAAIstG,IAGF/D,EAASvpG,MAAQA,GACV,EAGb,CACA,MAAMwtG,GAAS,QAAQtjG,KAAW,QAAa7K,GAAOuqG,OAAOvqG,GAAO6K,EAAO2L,QAAS,QAAO3L,EAAQ7K,GAC7F0D,EAASiqG,QAAQx7F,IACrBtH,EACA7K,EACAW,EACAitG,GAAM/iG,GAAUA,EAASsiG,GAS3B,OAPItiG,IAAWggG,GAAMsC,KACdgB,GAEM,QAAWxtG,EAAOupG,IAC3B3D,EAAQ17F,EAAQ,MAAO7K,EAAKW,EAAOupG,GAFnC3D,EAAQ17F,EAAQ,MAAO7K,EAAKW,IAKzB+C,CACT,CACA,cAAA0qG,CAAevjG,EAAQ7K,GACrB,MAAMmuG,GAAS,QAAOtjG,EAAQ7K,GACxBkqG,EAAWr/F,EAAO7K,GAClB0D,EAASiqG,QAAQS,eAAevjG,EAAQ7K,GAI9C,OAHI0D,GAAUyqG,GACZ5H,EAAQ17F,EAAQ,SAAU7K,OAAK,EAAQkqG,GAElCxmG,CACT,CACA,GAAA2iG,CAAIx7F,EAAQ7K,GACV,MAAM0D,EAASiqG,QAAQtH,IAAIx7F,EAAQ7K,GAInC,OAHK,QAASA,IAAS6sG,EAAexG,IAAIrmG,IACxC+lE,EAAMl7D,EAAQ,MAAO7K,GAEhB0D,CACT,CACA,OAAA2qG,CAAQxjG,GAMN,OALAk7D,EACEl7D,EACA,WACA,QAAQA,GAAU,SAAW++F,GAExB+D,QAAQU,QAAQxjG,EACzB,EAEF,MAAMyjG,WAAgCtB,GACpC,WAAAlmG,CAAYumG,GAAa,GACvBW,OAAM,EAAMX,EACd,CACA,GAAAl7F,CAAItH,EAAQ7K,GAOV,OAAO,CACT,CACA,cAAAouG,CAAevjG,EAAQ7K,GAOrB,OAAO,CACT,EAEF,MAAMuuG,GAAkC,IAAIR,GACtCS,GAAmC,IAAIF,GACvCG,GAA0C,IAAIV,IAAuB,GACrEW,GAA0C,IAAIJ,IAAwB,GAEtEK,GAAahuG,GAAUA,EACvBiuG,GAAY77F,GAAM46F,QAAQD,eAAe36F,GAC/C,SAAS87F,GAAqBjmG,EAAQwkG,EAAaC,GACjD,OAAO,YAAYh3F,GACjB,MAAMxL,EAASlQ,KAAK,WACdm0G,EAAYjE,GAAMhgG,GAClBkkG,GAAc,QAAMD,GACpBE,EAAoB,YAAXpmG,GAAwBA,IAAWihG,OAAOvT,UAAYyY,EAC/DE,EAAuB,SAAXrmG,GAAqBmmG,EACjCG,EAAgBrkG,EAAOjC,MAAWyN,GAClC84F,EAAO9B,EAAasB,GAAYvB,EAAcgC,GAAarE,GAMjE,OALCqC,GAAernC,EACd+oC,EACA,UACAG,EAAYnF,EAAsBF,GAE7B,CAEL,IAAAxsF,GACE,MAAM,MAAEzc,EAAK,KAAEgnD,GAASunD,EAAc9xF,OACtC,OAAOuqC,EAAO,CAAEhnD,QAAOgnD,QAAS,CAC9BhnD,MAAOquG,EAAS,CAACG,EAAKxuG,EAAM,IAAKwuG,EAAKxuG,EAAM,KAAOwuG,EAAKxuG,GACxDgnD,OAEJ,EAEA,CAACkiD,OAAOvT,YACN,OAAO37F,IACT,EAEJ,CACF,CACA,SAAS00G,GAAqBvkG,GAC5B,OAAO,YAAYuL,GAQjB,MAAgB,WAATvL,IAAqC,UAATA,OAAmB,EAASnQ,KACjE,CACF,CACA,SAAS20G,GAAuBzB,EAAU0B,GACxC,MAAMC,EAAmB,CACvB,GAAA54F,CAAI5W,GACF,MAAM6K,EAASlQ,KAAK,WACdm0G,EAAYjE,GAAMhgG,GAClB4kG,EAAS5E,GAAM7qG,GAChB6tG,KACC,QAAW7tG,EAAKyvG,IAClB1pC,EAAM+oC,EAAW,MAAO9uG,GAE1B+lE,EAAM+oC,EAAW,MAAOW,IAE1B,MAAM,IAAEpJ,GAAQuI,GAASE,GACnBK,EAAOI,EAAUZ,GAAYd,EAAWuB,GAAarE,GAC3D,OAAI1E,EAAI3rG,KAAKo0G,EAAW9uG,GACfmvG,EAAKtkG,EAAO+L,IAAI5W,IACdqmG,EAAI3rG,KAAKo0G,EAAWW,GACtBN,EAAKtkG,EAAO+L,IAAI64F,SACd5kG,IAAWikG,GACpBjkG,EAAO+L,IAAI5W,GAEf,EACA,QAAIkG,GACF,MAAM2E,EAASlQ,KAAK,WAEpB,OADCkzG,GAAY9nC,EAAM8kC,GAAMhgG,GAAS,UAAW++F,GACtC+D,QAAQ/2F,IAAI/L,EAAQ,OAAQA,EACrC,EACA,GAAAw7F,CAAIrmG,GACF,MAAM6K,EAASlQ,KAAK,WACdm0G,EAAYjE,GAAMhgG,GAClB4kG,EAAS5E,GAAM7qG,GAOrB,OANK6tG,KACC,QAAW7tG,EAAKyvG,IAClB1pC,EAAM+oC,EAAW,MAAO9uG,GAE1B+lE,EAAM+oC,EAAW,MAAOW,IAEnBzvG,IAAQyvG,EAAS5kG,EAAOw7F,IAAIrmG,GAAO6K,EAAOw7F,IAAIrmG,IAAQ6K,EAAOw7F,IAAIoJ,EAC1E,EACA,OAAAr6B,CAAQ97D,EAAUs6E,GAChB,MAAM8b,EAAW/0G,KACXkQ,EAAS6kG,EAAS,WAClBZ,EAAYjE,GAAMhgG,GAClBskG,EAAOI,EAAUZ,GAAYd,EAAWuB,GAAarE,GAE3D,OADC8C,GAAY9nC,EAAM+oC,EAAW,UAAWlF,GAClC/+F,EAAOuqE,SAAQ,CAACz0E,EAAOX,IACrBsZ,EAAS5e,KAAKk5F,EAASub,EAAKxuG,GAAQwuG,EAAKnvG,GAAM0vG,IAE1D,IAEF,QACEF,EACA3B,EAAW,CACT11F,IAAKk3F,GAAqB,OAC1Bl9F,IAAKk9F,GAAqB,OAC1B/I,OAAQ+I,GAAqB,UAC7BM,MAAON,GAAqB,UAC1B,CACF,GAAAl3F,CAAIxX,GACG4uG,GAAYzE,GAAUnqG,IAAWutG,GAAWvtG,KAC/CA,EAAQkqG,GAAMlqG,IAEhB,MAAMkK,EAASggG,GAAMlwG,MACf6oB,EAAQorF,GAAS/jG,GACjBsjG,EAAS3qF,EAAM6iF,IAAI3rG,KAAKmQ,EAAQlK,GAKtC,OAJKwtG,IACHtjG,EAAOsN,IAAIxX,GACX4lG,EAAQ17F,EAAQ,MAAOlK,EAAOA,IAEzBhG,IACT,EACA,GAAAwX,CAAInS,EAAKW,GACF4uG,GAAYzE,GAAUnqG,IAAWutG,GAAWvtG,KAC/CA,EAAQkqG,GAAMlqG,IAEhB,MAAMkK,EAASggG,GAAMlwG,OACf,IAAE0rG,EAAG,IAAEzvF,GAAQg4F,GAAS/jG,GAC9B,IAAIsjG,EAAS9H,EAAI3rG,KAAKmQ,EAAQ7K,GACzBmuG,IACHnuG,EAAM6qG,GAAM7qG,GACZmuG,EAAS9H,EAAI3rG,KAAKmQ,EAAQ7K,IAI5B,MAAMkqG,EAAWtzF,EAAIlc,KAAKmQ,EAAQ7K,GAOlC,OANA6K,EAAOsH,IAAInS,EAAKW,GACXwtG,GAEM,QAAWxtG,EAAOupG,IAC3B3D,EAAQ17F,EAAQ,MAAO7K,EAAKW,EAAOupG,GAFnC3D,EAAQ17F,EAAQ,MAAO7K,EAAKW,GAIvBhG,IACT,EACA,OAAOqF,GACL,MAAM6K,EAASggG,GAAMlwG,OACf,IAAE0rG,EAAG,IAAEzvF,GAAQg4F,GAAS/jG,GAC9B,IAAIsjG,EAAS9H,EAAI3rG,KAAKmQ,EAAQ7K,GACzBmuG,IACHnuG,EAAM6qG,GAAM7qG,GACZmuG,EAAS9H,EAAI3rG,KAAKmQ,EAAQ7K,IAI5B,MAAMkqG,EAAWtzF,EAAMA,EAAIlc,KAAKmQ,EAAQ7K,QAAO,EACzC0D,EAASmH,EAAOy7F,OAAOtmG,GAI7B,OAHImuG,GACF5H,EAAQ17F,EAAQ,SAAU7K,OAAK,EAAQkqG,GAElCxmG,CACT,EACA,KAAAisG,GACE,MAAM9kG,EAASggG,GAAMlwG,MACfi1G,EAA2B,IAAhB/kG,EAAO3E,KAClBikG,OAA4G,EAC5GzmG,EAASmH,EAAO8kG,QAUtB,OATIC,GACFrJ,EACE17F,EACA,aACA,OACA,EACAs/F,GAGGzmG,CACT,IAGJ,MAAMmsG,EAAkB,CACtB,OACA,SACA,UACAhG,OAAOvT,UAKT,OAHAuZ,EAAgBz6B,SAASxsE,IACvB4mG,EAAiB5mG,GAAUimG,GAAqBjmG,EAAQilG,EAAU0B,EAAQ,IAErEC,CACT,CACA,SAASM,GAA4B1C,EAAamC,GAChD,MAAMC,EAAmBF,GAAuBlC,EAAamC,GAC7D,MAAO,CAAC1kG,EAAQ7K,EAAKmtG,IACP,mBAARntG,GACMotG,EACS,mBAARptG,EACFotG,EACU,YAARptG,EACF6K,EAEF8iG,QAAQ/2F,KACb,QAAO44F,EAAkBxvG,IAAQA,KAAO6K,EAAS2kG,EAAmB3kG,EACpE7K,EACAmtG,EAGN,CACA,MAAM4C,GAA4B,CAChCn5F,IAAqBk5F,IAA4B,GAAO,IAEpDE,GAA4B,CAChCp5F,IAAqBk5F,IAA4B,GAAO,IAEpDG,GAA6B,CACjCr5F,IAAqBk5F,IAA4B,GAAM,IAEnDI,GAAoC,CACxCt5F,IAAqBk5F,IAA4B,GAAM,IAYzD,MAAMrC,GAA8B,IAAI9D,QAClC6D,GAAqC,IAAI7D,QACzC4D,GAA8B,IAAI5D,QAClC2D,GAAqC,IAAI3D,QAC/C,SAASwG,GAAcC,GACrB,OAAQA,GACN,IAAK,SACL,IAAK,QACH,OAAO,EACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,OAAO,EACT,QACE,OAAO,EAEb,CACA,SAASC,GAAc1vG,GACrB,OAAOA,EAAM,cAAgB6pB,OAAO8lF,aAAa3vG,GAAS,EAAkBwvG,IAAc,QAAUxvG,GACtG,CACA,SAASmtG,GAASjjG,GAChB,OAAIqjG,GAAWrjG,GACNA,EAEF0lG,GACL1lG,GACA,EACA0jG,GACAwB,GACAtC,GAEJ,CACA,SAAS+C,GAAgB3lG,GACvB,OAAO0lG,GACL1lG,GACA,EACA4jG,GACAuB,GACAxC,GAEJ,CACA,SAASK,GAAShjG,GAChB,OAAO0lG,GACL1lG,GACA,EACA2jG,GACAyB,GACA1C,GAEJ,CACA,SAASkD,GAAgB5lG,GACvB,OAAO0lG,GACL1lG,GACA,EACA6jG,GACAwB,GACA5C,GAEJ,CACA,SAASiD,GAAqB1lG,EAAQuiG,EAAasD,EAAcC,EAAoBC,GACnF,KAAK,QAAS/lG,GAQZ,OAAOA,EAET,GAAIA,EAAO,cAAgBuiG,IAAeviG,EAAO,mBAC/C,OAAOA,EAET,MAAMgmG,EAAgBD,EAASh6F,IAAI/L,GACnC,GAAIgmG,EACF,OAAOA,EAET,MAAMC,EAAaT,GAAcxlG,GACjC,GAAmB,IAAfimG,EACF,OAAOjmG,EAET,MAAMirB,EAAQ,IAAI6sE,MAChB93F,EACe,IAAfimG,EAAoCH,EAAqBD,GAG3D,OADAE,EAASz+F,IAAItH,EAAQirB,GACdA,CACT,CACA,SAASi7E,GAAWpwG,GAClB,OAAIutG,GAAWvtG,GACNowG,GAAWpwG,EAAM,eAEhBA,IAASA,EAAM,kBAC3B,CACA,SAASutG,GAAWvtG,GAClB,SAAUA,IAASA,EAAM,kBAC3B,CACA,SAASmqG,GAAUnqG,GACjB,SAAUA,IAASA,EAAM,iBAC3B,CACA,SAASgsG,GAAQhsG,GACf,QAAOA,KAAUA,EAAM,UACzB,CACA,SAASkqG,GAAM6E,GACb,MAAM5L,EAAM4L,GAAYA,EAAS,WACjC,OAAO5L,EAAM+G,GAAM/G,GAAO4L,CAC5B,CACA,SAASsB,GAAQrwG,GAIf,QAHK,QAAOA,EAAO,aAAe6pB,OAAO8lF,aAAa3vG,KACpD,QAAIA,EAAO,YAAY,GAElBA,CACT,CACA,MAAMoqG,GAAcpqG,IAAU,QAASA,GAASmtG,GAASntG,GAASA,EAC5DyuG,GAAczuG,IAAU,QAASA,GAASktG,GAASltG,GAASA,EAElE,SAASitG,GAAMqD,GACb,QAAOA,IAAuB,IAAnBA,EAAE,YACf,CACA,SAASr9F,GAAIjT,GACX,OAAOuwG,GAAUvwG,GAAO,EAC1B,CACA,SAASwwG,GAAWxwG,GAClB,OAAOuwG,GAAUvwG,GAAO,EAC1B,CACA,SAASuwG,GAAUE,EAAU7B,GAC3B,OAAI3B,GAAMwD,GACDA,EAEF,IAAIC,GAAQD,EAAU7B,EAC/B,CACA,MAAM8B,GACJ,WAAAvqG,CAAYnG,EAAO0sG,GACjB1yG,KAAKmtG,IAAM,IAAIwB,EACf3uG,KAAK,cAAe,EACpBA,KAAK,kBAAmB,EACxBA,KAAK22G,UAAYjE,EAAa1sG,EAAQkqG,GAAMlqG,GAC5ChG,KAAKguG,OAAS0E,EAAa1sG,EAAQoqG,GAAWpqG,GAC9ChG,KAAK,iBAAmB0yG,CAC1B,CACA,SAAI1sG,GAUF,OAFEhG,KAAKmtG,IAAI/hC,QAEJprE,KAAKguG,MACd,CACA,SAAIhoG,CAAM4O,GACR,MAAM26F,EAAWvvG,KAAK22G,UAChBC,EAAiB52G,KAAK,kBAAoBmwG,GAAUv7F,IAAa2+F,GAAW3+F,GAClFA,EAAWgiG,EAAiBhiG,EAAWs7F,GAAMt7F,IACzC,QAAWA,EAAU26F,KACvBvvG,KAAK22G,UAAY/hG,EACjB5U,KAAKguG,OAAS4I,EAAiBhiG,EAAWw7F,GAAWx7F,GAUnD5U,KAAKmtG,IAAIvB,UAGf,EAEF,SAASiL,GAAWC,GACdA,EAAK3J,KASL2J,EAAK3J,IAAIvB,SAGf,CACA,SAAS7mD,GAAM+xD,GACb,OAAO7D,GAAM6D,GAAQA,EAAK9wG,MAAQ8wG,CACpC,CACA,SAASC,GAAQx3F,GACf,OAAO,QAAWA,GAAUA,IAAWwlC,GAAMxlC,EAC/C,CACA,MAAMy3F,GAAwB,CAC5B/6F,IAAK,CAAC/L,EAAQ7K,EAAKmtG,IAAqB,YAARntG,EAAoB6K,EAAS60C,GAAMiuD,QAAQ/2F,IAAI/L,EAAQ7K,EAAKmtG,IAC5Fh7F,IAAK,CAACtH,EAAQ7K,EAAKW,EAAOwsG,KACxB,MAAMjD,EAAWr/F,EAAO7K,GACxB,OAAI4tG,GAAM1D,KAAc0D,GAAMjtG,IAC5BupG,EAASvpG,MAAQA,GACV,GAEAgtG,QAAQx7F,IAAItH,EAAQ7K,EAAKW,EAAOwsG,EACzC,GAGJ,SAASyE,GAAUC,GACjB,OAAOd,GAAWc,GAAkBA,EAAiB,IAAIlP,MAAMkP,EAAgBF,GACjF,CACA,MAAMG,GACJ,WAAAhrG,CAAYirG,GACVp3G,KAAK,cAAe,EACpBA,KAAKguG,YAAS,EACd,MAAMb,EAAMntG,KAAKmtG,IAAM,IAAIwB,GACrB,IAAE1yF,EAAG,IAAEzE,GAAQ4/F,EAAQjK,EAAI/hC,MAAMvsD,KAAKsuF,GAAMA,EAAIvB,QAAQ/sF,KAAKsuF,IACnEntG,KAAKq3G,KAAOp7F,EACZjc,KAAK2xD,KAAOn6C,CACd,CACA,SAAIxR,GACF,OAAOhG,KAAKguG,OAAShuG,KAAKq3G,MAC5B,CACA,SAAIrxG,CAAMsxG,GACRt3G,KAAK2xD,KAAK2lD,EACZ,EAEF,SAASC,GAAUH,GACjB,OAAO,IAAID,GAAcC,EAC3B,CACA,SAASI,GAAOjnF,GAId,MAAMknF,GAAM,QAAQlnF,GAAU,IAAIjjB,MAAMijB,EAAO1U,QAAU,CAAC,EAC1D,IAAK,MAAMxW,KAAOkrB,EAChBknF,EAAIpyG,GAAOqyG,GAAcnnF,EAAQlrB,GAEnC,OAAOoyG,CACT,CACA,MAAME,GACJ,WAAAxrG,CAAYyrG,EAASC,EAAMC,GACzB93G,KAAK43G,QAAUA,EACf53G,KAAK63G,KAAOA,EACZ73G,KAAK83G,cAAgBA,EACrB93G,KAAK,cAAe,EACpBA,KAAKguG,YAAS,CAChB,CACA,SAAIhoG,GACF,MAAMq6C,EAAMrgD,KAAK43G,QAAQ53G,KAAK63G,MAC9B,OAAO73G,KAAKguG,YAAiB,IAAR3tD,EAAiBrgD,KAAK83G,cAAgBz3D,CAC7D,CACA,SAAIr6C,CAAMsxG,GACRt3G,KAAK43G,QAAQ53G,KAAK63G,MAAQP,CAC5B,CACA,OAAInK,GACF,OAAO2C,EAAmBI,GAAMlwG,KAAK43G,SAAU53G,KAAK63G,KACtD,EAEF,MAAME,GACJ,WAAA5rG,CAAY6rG,GACVh4G,KAAKg4G,QAAUA,EACfh4G,KAAK,cAAe,EACpBA,KAAK,mBAAoB,EACzBA,KAAKguG,YAAS,CAChB,CACA,SAAIhoG,GACF,OAAOhG,KAAKguG,OAAShuG,KAAKg4G,SAC5B,EAEF,SAASC,GAAM14F,EAAQla,EAAKoT,GAC1B,OAAIw6F,GAAM1zF,GACDA,GACE,QAAWA,GACb,IAAIw4F,GAAcx4F,IAChB,QAASA,IAAW3D,UAAUC,OAAS,EACzC67F,GAAcn4F,EAAQla,EAAKoT,GAE3BQ,GAAIsG,EAEf,CACA,SAASm4F,GAAcn4F,EAAQla,EAAKoT,GAClC,MAAM4nC,EAAM9gC,EAAOla,GACnB,OAAO4tG,GAAM5yD,GAAOA,EAAM,IAAIs3D,GAAcp4F,EAAQla,EAAKoT,EAC3D,CAEA,MAAMy/F,GACJ,WAAA/rG,CAAYuN,EAAIiyB,EAAQmiE,GACtB9tG,KAAK0Z,GAAKA,EACV1Z,KAAK2rC,OAASA,EAId3rC,KAAKguG,YAAS,EAIdhuG,KAAKmtG,IAAM,IAAIwB,EAAI3uG,MAInBA,KAAKm4G,WAAY,EAMjBn4G,KAAKsrG,UAAO,EAIZtrG,KAAKurG,cAAW,EAIhBvrG,KAAK4d,MAAQ,GAIb5d,KAAK6tG,cAAgBA,EAAgB,EAIrC7tG,KAAKyiB,UAAO,EAEZziB,KAAKquG,OAASruG,KACdA,KAAK,mBAAqB2rC,EAC1B3rC,KAAK8tG,MAAQA,CACf,CAIA,MAAAjC,GAEE,GADA7rG,KAAK4d,OAAS,KACK,EAAb5d,KAAK4d,OACXqsF,IAAcjqG,MAEZ,OADAyqD,EAAMzqD,MAAM,IACL,CAEX,CACA,SAAIgG,GACF,MAAMomG,EAIDpsG,KAAKmtG,IAAI/hC,QAKd,OAJAuiC,EAAgB3tG,MACZosG,IACFA,EAAKnpF,QAAUjjB,KAAKmtG,IAAIlqF,SAEnBjjB,KAAKguG,MACd,CACA,SAAIhoG,CAAM4O,GACJ5U,KAAK2rC,QACP3rC,KAAK2rC,OAAO/2B,EAIhB,EAEF,SAAS84F,GAAS0K,EAAiBC,EAAcvK,GAAQ,GACvD,IAAI1wF,EACAuuB,GACA,QAAWysE,GACbh7F,EAASg7F,GAETh7F,EAASg7F,EAAgBn8F,IACzB0vB,EAASysE,EAAgB5gG,KAE3B,MAAM8gG,EAAO,IAAIJ,GAAgB96F,EAAQuuB,EAAQmiE,GAKjD,OAAOwK,CACT,CAEA,MAAMC,GAAe,CACnB,IAAO,MACP,IAAO,MACP,QAAW,WAEPC,GAAiB,CACrB,IAAO,MACP,IAAO,MACP,OAAU,SACV,MAAS,SAmBLC,GAAwB,CAAC,EACzBC,GAA6B,IAAI1J,QACvC,IAAI2J,GACJ,SAASC,KACP,OAAOD,EACT,CACA,SAASE,GAAiBC,EAAW5N,GAAe,EAAO5zE,EAAQqhF,IACjE,GAAIrhF,EAAO,CACT,IAAIgzE,EAAWoO,GAAWz8F,IAAIqb,GACzBgzE,GAAUoO,GAAWlhG,IAAI8f,EAAOgzE,EAAW,IAChDA,EAAS12D,KAAKklE,EAChB,MAAW,CAKb,CACA,SAASC,GAAMx5F,EAAQ6W,EAAI85D,EAAU,MACnC,MAAM,UAAE8oB,EAAS,KAAExmF,EAAI,KAAEymF,EAAI,UAAExN,EAAS,WAAEyN,EAAU,KAAEn5G,GAASmwF,EAQzDipB,EAAkBC,GAClB5mF,EAAa4mF,EACbjJ,GAAUiJ,KAAqB,IAAT5mF,GAA2B,IAATA,EACnC6mF,GAASD,EAAS,GACpBC,GAASD,GAElB,IAAI/K,EACAjxF,EACAouF,EACA8N,EACAC,GAAe,EACfC,GAAgB,EA+CpB,GA9CIvG,GAAM1zF,IACRnC,EAAS,IAAMmC,EAAOvZ,MACtBuzG,EAAepJ,GAAU5wF,IAChB62F,GAAW72F,IACpBnC,EAAS,IAAM+7F,EAAe55F,GAC9Bg6F,GAAe,IACN,QAAQh6F,IACjBi6F,GAAgB,EAChBD,EAAeh6F,EAAO2xF,MAAMzpG,GAAM2uG,GAAW3uG,IAAM0oG,GAAU1oG,KAC7D2V,EAAS,IAAMmC,EAAOja,KAAKmC,GACrBwrG,GAAMxrG,GACDA,EAAEzB,MACAowG,GAAW3uG,GACb0xG,EAAe1xG,IACb,QAAWA,GACb1H,EAAOA,EAAK0H,EAAG,GAAKA,SADtB,KAQP2V,GAFO,QAAWmC,GAChB6W,EACOr2B,EAAO,IAAMA,EAAKwf,EAAQ,GAAKA,EAE/B,KACP,GAAIisF,EAAS,CACXgD,IACA,IACEhD,GACF,CAAE,QACAiD,GACF,CACF,CACA,MAAMgL,EAAgBd,GACtBA,GAAgBtK,EAChB,IACE,OAAOtuG,EAAOA,EAAKwf,EAAQ,EAAG,CAAC+5F,IAAiB/5F,EAAO+5F,EACzD,CAAE,QACAX,GAAgBc,CAClB,GAIK,KAGPrjF,GAAM5D,EAAM,CACd,MAAMknF,EAAat8F,EACbu8F,GAAiB,IAATnnF,EAAgBonF,IAAWpnF,EACzCpV,EAAS,IAAMi8F,GAASK,IAAcC,EACxC,CACA,MAAME,EAAQ7O,IACR8O,EAAc,KAClBzL,EAAO/2D,OACHuiE,GAASA,EAAMnP,SACjB,QAAOmP,EAAMxP,QAASgE,EACxB,EAEF,GAAI4K,GAAQ7iF,EAAI,CACd,MAAM2jF,EAAM3jF,EACZA,EAAK,IAAI1a,KACPq+F,KAAOr+F,GACPo+F,GAAa,CAEjB,CACA,IAAIvK,EAAWiK,EAAgB,IAAIlsG,MAAMiS,EAAO1D,QAAQm+F,KAAKvB,IAAyBA,GACtF,MAAMwB,EAAOC,IACX,GAAqB,EAAf7L,EAAOzwF,QAAeywF,EAAO3B,OAAUwN,GAG7C,GAAI9jF,EAAI,CACN,MAAMxhB,EAAWy5F,EAAOvsF,MACxB,GAAI0Q,GAAQ+mF,IAAiBC,EAAgB5kG,EAASs8F,MAAK,CAAC94F,EAAG1S,KAAM,QAAW0S,EAAGm3F,EAAS7pG,OAAO,QAAWkP,EAAU26F,IAAY,CAC9H/D,GACFA,IAEF,MAAM2O,EAAiBxB,GACvBA,GAAgBtK,EAChB,IACE,MAAM3yF,EAAO,CACX9G,EAEA26F,IAAakJ,QAAwB,EAASe,GAAiBjK,EAAS,KAAOkJ,GAAwB,GAAKlJ,EAC5G+J,GAEFv5G,EAAOA,EAAKq2B,EAAI,EAAG1a,GAEjB0a,KAAM1a,GAER6zF,EAAW36F,CACb,CAAE,QACA+jG,GAAgBwB,CAClB,CACF,CACF,MACE9L,EAAOvsF,KACT,EAqCF,OAnCIo3F,GACFA,EAAWe,GAEb5L,EAAS,IAAIhD,EAAejuF,GAC5BixF,EAAO5C,UAAYA,EAAY,IAAMA,EAAUwO,GAAK,GAASA,EAC7DX,EAAgB5/F,GAAOm/F,GAAiBn/F,GAAI,EAAO20F,GACnD7C,EAAU6C,EAAO9B,OAAS,KACxB,MAAMjC,EAAWoO,GAAWz8F,IAAIoyF,GAChC,GAAI/D,EAAU,CACZ,GAAIvqG,EACFA,EAAKuqG,EAAU,QAEf,IAAK,MAAM8P,KAAY9P,EAAU8P,IAEnC1B,GAAW/M,OAAO0C,EACpB,GAMEj4E,EACE4iF,EACFiB,GAAI,GAEJ1K,EAAWlB,EAAOvsF,MAEX2pF,EACTA,EAAUwO,EAAIp7F,KAAK,MAAM,IAAO,GAEhCwvF,EAAOvsF,MAETg4F,EAAY90D,MAAQqpD,EAAOrpD,MAAMnmC,KAAKwvF,GACtCyL,EAAY70D,OAASopD,EAAOppD,OAAOpmC,KAAKwvF,GACxCyL,EAAYxiE,KAAOwiE,EACZA,CACT,CACA,SAAST,GAASrzG,EAAO2zG,EAAQC,IAAUS,GACzC,GAAIV,GAAS,KAAM,QAAS3zG,IAAUA,EAAM,YAC1C,OAAOA,EAGT,GADAq0G,EAAOA,GAAwB,IAAIlI,IAC/BkI,EAAK3O,IAAI1lG,GACX,OAAOA,EAIT,GAFAq0G,EAAK78F,IAAIxX,GACT2zG,IACI1G,GAAMjtG,GACRqzG,GAASrzG,EAAMA,MAAO2zG,EAAOU,QACxB,IAAI,QAAQr0G,GACjB,IAAK,IAAIN,EAAI,EAAGA,EAAIM,EAAM6V,OAAQnW,IAChC2zG,GAASrzG,EAAMN,GAAIi0G,EAAOU,QAEvB,IAAI,QAAMr0G,KAAU,QAAMA,GAC/BA,EAAMy0E,SAASriE,IACbihG,GAASjhG,EAAGuhG,EAAOU,EAAK,SAErB,IAAI,QAAcr0G,GAAQ,CAC/B,IAAK,MAAMX,KAAOW,EAChBqzG,GAASrzG,EAAMX,GAAMs0G,EAAOU,GAE9B,IAAK,MAAMh1G,KAAOwqB,OAAOyqF,sBAAsBt0G,GACzC6pB,OAAO7iB,UAAUutG,qBAAqBx6G,KAAKiG,EAAOX,IACpDg0G,GAASrzG,EAAMX,GAAMs0G,EAAOU,EAGlC,CACA,OAAOr0G,CACT,C;;;;;;AC31DA,MAAMgE,EAAQ,GACd,SAASwwG,EAAmBC,GAC1BzwG,EAAM4pC,KAAK6mE,EACb,CACA,SAASC,IACP1wG,EAAMqpF,KACR,CA0GA,SAASsnB,EAAat6D,EAAKlwC,GAS3B,CAEA,MAAMyqG,EAAa,CACjB,eAAkB,EAClB,EAAK,iBACL,gBAAmB,EACnB,EAAK,kBACL,qBAAwB,EACxB,EAAK,uBACL,wBAA2B,EAC3B,EAAK,0BACL,WAAc,EACd,EAAK,aACL,eAAkB,EAClB,EAAK,iBACL,gBAAmB,EACnB,EAAK,kBACL,kBAAqB,GACrB,GAAM,oBACN,iBAAoB,GACpB,GAAM,mBACN,aAAgB,GAChB,GAAM,eACN,uBAA0B,GAC1B,GAAM,yBACN,UAAa,GACb,GAAM,YACN,iBAAoB,GACpB,GAAM,mBACN,oBAAuB,GACvB,GAAM,uBAEFC,EAAqB,CACzB,CAAC,MAAO,sBACR,CAAC,MAAO,oBACR,CAAC,KAAM,eACP,CAAC,MAAO,mBACR,CAAC,KAAM,eACP,CAAC,MAAO,oBACR,CAAC,KAAM,UACP,CAAC,OAAQ,qBACT,CAAC,MAAO,iBACR,CAAC,KAAM,iBACP,CAAC,MAAO,mBACR,CAAC,MAAO,qBACR,CAAC,OAAQ,qBACT,CAAC,OAAQ,uBACT,CAAC,GAAI,iBACL,CAAC,GAAI,kBACL,CAAC,GAAI,iBACL,CAAC,GAAI,mBACL,CAAC,GAAI,2BACL,CAAC,GAAI,uBACL,CAAC,GAAI,0BACL,CAAC,GAAI,aACL,CAAC,GAAI,iBACL,CAAC,GAAI,kBACL,CAAC,IAAK,mBACN,CAAC,IAAK,kBACN,CAAC,IAAK,eACN,CAAC,IAAK,yBACN,CAAC,IAAK,kBACN,CAAC,IAAK,mBACN,CAAC,IAAK,gCAER,SAASC,EAAsBphG,EAAIqhG,EAAU5qG,EAAMuL,GACjD,IACE,OAAOA,EAAOhC,KAAMgC,GAAQhC,GAC9B,CAAE,MAAO6c,GACPykF,EAAYzkF,EAAKwkF,EAAU5qG,EAC7B,CACF,CACA,SAAS8qG,EAA2BvhG,EAAIqhG,EAAU5qG,EAAMuL,GACtD,IAAI,QAAWhC,GAAK,CAClB,MAAMqqC,EAAM+2D,EAAsBphG,EAAIqhG,EAAU5qG,EAAMuL,GAMtD,OALIqoC,IAAO,QAAUA,IACnBA,EAAI22B,OAAOnkD,IACTykF,EAAYzkF,EAAKwkF,EAAU5qG,EAAK,IAG7B4zC,CACT,CACA,IAAI,QAAQrqC,GAAK,CACf,MAAM21B,EAAS,GACf,IAAK,IAAI3pC,EAAI,EAAGA,EAAIgU,EAAGmC,OAAQnW,IAC7B2pC,EAAOuE,KAAKqnE,EAA2BvhG,EAAGhU,GAAIq1G,EAAU5qG,EAAMuL,IAEhE,OAAO2zB,CACT,CAKF,CACA,SAAS2rE,EAAYzkF,EAAKwkF,EAAU5qG,EAAM+qG,GAAa,GACrD,MAAMC,EAAeJ,EAAWA,EAASN,MAAQ,MAC3C,aAAEW,EAAY,gCAAEC,GAAoCN,GAAYA,EAASO,WAAWnpG,QAAU,KACpG,GAAI4oG,EAAU,CACZ,IAAIQ,EAAMR,EAASvQ,OACnB,MAAMgR,EAAkBT,EAAS5/E,MAC3BsgF,EAAmF,8CAA8CtrG,IACvI,MAAOorG,EAAK,CACV,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACF,IAAK,IAAIh2G,EAAI,EAAGA,EAAIg2G,EAAmB7/F,OAAQnW,IAC7C,IAA+D,IAA3Dg2G,EAAmBh2G,GAAG6wB,EAAKilF,EAAiBC,GAC9C,OAINF,EAAMA,EAAI/Q,MACZ,CACA,GAAI4Q,EAQF,OAPA,UACAN,EAAsBM,EAAc,KAAM,GAAI,CAC5C7kF,EACAilF,EACAC,SAEF,SAGJ,CACAG,EAASrlF,EAAKpmB,EAAMgrG,EAAcD,EAAYG,EAChD,CACA,SAASO,EAASrlF,EAAKpmB,EAAMgrG,EAAcD,GAAa,EAAMW,GAAc,GAenE,GAAIA,EACT,MAAMtlF,EAENpN,QAAQnqB,MAAMu3B,EAElB,CAEA,MAAMtQ,EAAQ,GACd,IAAI61F,GAAc,EAClB,MAAMC,EAAsB,GAC5B,IAAIC,EAAqB,KACrBC,EAAiB,EACrB,MAAMC,EAAkCtS,QAAQ7/C,UAChD,IAAIoyD,EAAsB,KAE1B,SAASC,EAAS1iG,GAChB,MAAM2uB,EAAI8zE,GAAuBD,EACjC,OAAOxiG,EAAK2uB,EAAE+xC,KAAKp6E,KAAO0Z,EAAGmF,KAAK7e,MAAQ0Z,GAAM2uB,CAClD,CACA,SAASg0E,EAAmBj1G,GAC1B,IAAIgN,EAAQ0nG,EAAa,EACrBznG,EAAM4R,EAAMpK,OAChB,MAAOzH,EAAQC,EAAK,CAClB,MAAMioG,EAASloG,EAAQC,IAAQ,EACzBkoG,EAAYt2F,EAAMq2F,GAClBE,EAAcC,EAAMF,GACtBC,EAAcp1G,GAAMo1G,IAAgBp1G,GAAwB,EAAlBm1G,EAAU3+F,MACtDxJ,EAAQkoG,EAAS,EAEjBjoG,EAAMioG,CAEV,CACA,OAAOloG,CACT,CACA,SAASsoG,EAASzC,GAChB,KAAkB,EAAZA,EAAIr8F,OAAY,CACpB,MAAM++F,EAAQF,EAAMxC,GACd2C,EAAU32F,EAAMA,EAAMpK,OAAS,IAChC+gG,KACS,EAAZ3C,EAAIr8F,QAAc++F,GAASF,EAAMG,GACjC32F,EAAM2tB,KAAKqmE,GAEXh0F,EAAMpa,OAAOwwG,EAAmBM,GAAQ,EAAG1C,GAE7CA,EAAIr8F,OAAS,EACbi/F,GACF,CACF,CACA,SAASA,IACFV,IACHA,EAAsBD,EAAgB9hC,KAAK0iC,GAE/C,CACA,SAASC,EAAiB3mF,IACnB,QAAQA,GAQX2lF,EAAoBnoE,QAAQxd,GAPxB4lF,IAAiC,IAAX5lF,EAAGhvB,GAC3B40G,EAAmBnwG,OAAOowG,EAAiB,EAAG,EAAG7lF,GAC3B,EAAXA,EAAGxY,QACdm+F,EAAoBnoE,KAAKxd,GACzBA,EAAGxY,OAAS,GAKhBi/F,GACF,CACA,SAASG,EAAiBjC,EAAUV,EAAM30G,EAAIo2G,EAAa,GAIzD,IAHI,EAGGp2G,EAAIugB,EAAMpK,OAAQnW,IAAK,CAC5B,MAAM0wB,EAAKnQ,EAAMvgB,GACjB,GAAI0wB,GAAiB,EAAXA,EAAGxY,MAAW,CACtB,GAAIm9F,GAAY3kF,EAAGhvB,KAAO2zG,EAAS/gG,IACjC,SAEE,EAGJiM,EAAMpa,OAAOnG,EAAG,GAChBA,IACe,EAAX0wB,EAAGxY,QACLwY,EAAGxY,QAAS,GAEdwY,IACiB,EAAXA,EAAGxY,QACPwY,EAAGxY,QAAS,EAEhB,CACF,CACF,CACA,SAASq/F,EAAkB5C,GACzB,GAAI0B,EAAoBlgG,OAAQ,CAC9B,MAAMqhG,EAAU,IAAI,IAAI/K,IAAI4J,IAAsBhvF,MAChD,CAACzb,EAAGm3B,IAAMg0E,EAAMnrG,GAAKmrG,EAAMh0E,KAG7B,GADAszE,EAAoBlgG,OAAS,EACzBmgG,EAEF,YADAA,EAAmBpoE,QAAQspE,GAO7B,IAJAlB,EAAqBkB,EAIhBjB,EAAiB,EAAGA,EAAiBD,EAAmBngG,OAAQogG,IAAkB,CACrF,MAAM7lF,EAAK4lF,EAAmBC,GAC1B,EAGW,EAAX7lF,EAAGxY,QACLwY,EAAGxY,QAAS,GAEG,EAAXwY,EAAGxY,OAAYwY,IACrBA,EAAGxY,QAAS,CACd,CACAo+F,EAAqB,KACrBC,EAAiB,CACnB,CACF,CACA,MAAMQ,EAASxC,GAAkB,MAAVA,EAAI7yG,GAAyB,EAAZ6yG,EAAIr8F,OAAa,EAAIg8F,IAAWK,EAAI7yG,GAC5E,SAAS01G,EAAUzC,GAIqF,KACtG,IACE,IAAKyB,EAAa,EAAGA,EAAa71F,EAAMpK,OAAQigG,IAAc,CAC5D,MAAM7B,EAAMh0F,EAAM61F,IACd7B,GAAqB,EAAZA,EAAIr8F,QAIC,EAAZq8F,EAAIr8F,QACNq8F,EAAIr8F,QAAS,GAEfk9F,EACEb,EACAA,EAAIv0G,EACJu0G,EAAIv0G,EAAI,GAAK,IAEG,EAAZu0G,EAAIr8F,QACRq8F,EAAIr8F,QAAS,GAGnB,CACF,CAAE,QACA,KAAOk+F,EAAa71F,EAAMpK,OAAQigG,IAAc,CAC9C,MAAM7B,EAAMh0F,EAAM61F,GACd7B,IACFA,EAAIr8F,QAAS,EAEjB,CACAk+F,GAAc,EACd71F,EAAMpK,OAAS,EACfohG,EAAkB5C,GAClB8B,EAAsB,MAClBl2F,EAAMpK,QAAUkgG,EAAoBlgG,SACtCihG,EAAUzC,EAEd,CACF,CA0IA,IAAI8C,EACAvrD,EAAS,0BAAE,KAAF,GACTwrD,GAAuB,EAQ3B,SAASC,EAAkBnnF,EAAMhmB,GAC/B,IAAItD,EAAIM,EAER,GADAiwG,EAAajnF,EACTinF,EACFA,EAAWlwE,SAAU,EACrB2kB,EAAO6oB,SAAQ,EAAGvvD,QAAOxP,UAAWyhG,EAAWlpB,KAAK/oE,KAAUxP,KAC9Dk2C,EAAS,QACJ,GAIa,qBAAX5T,QACPA,OAAOs/D,eAE6D,OAAjEpwG,EAAgC,OAA1BN,EAAKoxC,OAAO8pD,gBAAqB,EAASl7F,EAAGpK,gBAAqB,EAAS0K,EAAGy8F,SAAS,UAChG,CACA,MAAM4T,EAASrtG,EAAOstG,6BAA+BttG,EAAOstG,8BAAgC,GAC5FD,EAAO3pE,MAAM6pE,IACXJ,EAAkBI,EAASvtG,EAAO,IAEpCi3F,YAAW,KACJgW,IACHjtG,EAAOstG,6BAA+B,KACtCJ,GAAuB,EACvBxrD,EAAS,GACX,GACC,IACL,MACEwrD,GAAuB,EACvBxrD,EAAS,EAEb,CAqDA,IAAI8rD,EAA2B,KAC3BC,EAAiB,KACrB,SAASC,EAA4B7C,GACnC,MAAMxN,EAAOmQ,EAGb,OAFAA,EAA2B3C,EAC3B4C,EAAiB5C,GAAYA,EAAS5qG,KAAK0tG,WAAa,KACjDtQ,CACT,CACA,SAASuQ,EAAY12G,GACnBu2G,EAAiBv2G,CACnB,CACA,SAAS22G,IACPJ,EAAiB,IACnB,CACA,MAAMK,EAAep/E,GAAQq/E,EAC7B,SAASA,EAAQvkG,EAAI2c,EAAMqnF,EAA0BQ,GACnD,IAAK7nF,EAAK,OAAO3c,EACjB,GAAIA,EAAGykG,GACL,OAAOzkG,EAET,MAAM0kG,EAAsB,IAAI1iG,KAC1B0iG,EAAoB93B,IACtB+3B,IAAkB,GAEpB,MAAMC,EAAeV,EAA4BvnF,GACjD,IAAI0tB,EACJ,IACEA,EAAMrqC,KAAMgC,EACd,CAAE,QACAkiG,EAA4BU,GACxBF,EAAoB93B,IACtB+3B,GAAiB,EAErB,CAIA,OAAOt6D,CAAG,EAKZ,OAHAq6D,EAAoBD,IAAK,EACzBC,EAAoB/3B,IAAK,EACzB+3B,EAAoB93B,IAAK,EAClB83B,CACT,CAOA,SAASG,EAAe9D,EAAO+D,GAC7B,GAAiC,OAA7Bd,EAEF,OAAOjD,EAET,MAAMM,EAAW0D,GAA2Bf,GACtCgB,EAAWjE,EAAMkE,OAASlE,EAAMkE,KAAO,IAC7C,IAAK,IAAIj5G,EAAI,EAAGA,EAAI84G,EAAW3iG,OAAQnW,IAAK,CAC1C,IAAKk5G,EAAK54G,EAAOysB,EAAKosF,EAAY,MAAaL,EAAW94G,GACtDk5G,KACE,QAAWA,KACbA,EAAM,CACJE,QAASF,EACTG,QAASH,IAGTA,EAAIpsF,OACN,QAASxsB,GAEX04G,EAAS9qE,KAAK,CACZgrE,MACA7D,WACA/0G,QACAupG,cAAU,EACV98E,MACAosF,cAGN,CACA,OAAOpE,CACT,CACA,SAASuE,EAAoBvE,EAAOwE,EAAWlE,EAAU37G,GACvD,MAAMs/G,EAAWjE,EAAMkE,KACjBO,EAAcD,GAAaA,EAAUN,KAC3C,IAAK,IAAIj5G,EAAI,EAAGA,EAAIg5G,EAAS7iG,OAAQnW,IAAK,CACxC,MAAMy5G,EAAUT,EAASh5G,GACrBw5G,IACFC,EAAQ5P,SAAW2P,EAAYx5G,GAAGM,OAEpC,IAAIkwB,EAAOipF,EAAQP,IAAIx/G,GACnB82B,KACF,UACA+kF,EAA2B/kF,EAAM6kF,EAAU,EAAG,CAC5CN,EAAM2E,GACND,EACA1E,EACAwE,KAEF,UAEJ,CACF,CAEA,MAAMI,EAAiBnQ,OAAO,QACxBoQ,EAAcnvG,GAASA,EAAKovG,aAC5BC,EAAsB5uD,GAAUA,IAAUA,EAAMx8B,UAA+B,KAAnBw8B,EAAMx8B,UAClEqrF,EAAsB7uD,GAAUA,IAAUA,EAAM/sB,OAAyB,KAAhB+sB,EAAM/sB,OAC/D67E,EAAexvG,GAAiC,qBAAfyvG,YAA8BzvG,aAAkByvG,WACjFC,EAAkB1vG,GAAoC,oBAAlB2vG,eAAgC3vG,aAAkB2vG,cACtFC,EAAgB,CAAClvD,EAAOmvD,KAC5B,MAAMC,EAAiBpvD,GAASA,EAAM7nB,GACtC,IAAI,QAASi3E,GAAiB,CAC5B,GAAKD,EAKE,CACL,MAAM7vG,EAAS6vG,EAAOC,GAMtB,OAAO9vG,CACT,CATE,OAAO,IAUX,CAIE,OAAO8vG,CACT,EAEIC,EAAe,CACnB7gH,KAAM,WACNmgH,cAAc,EACd,OAAAvrB,CAAQksB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,EAAWC,GACtG,MACEC,GAAIC,EACJC,GAAIC,EACJC,IAAKC,EACLzzB,GAAG,OAAE0zB,EAAM,cAAEC,EAAa,WAAEC,EAAU,cAAEC,IACtCV,EACEtsF,EAAWorF,EAAmBW,EAAGvvD,OACvC,IAAI,UAAEywD,EAAS,SAAEzmF,EAAQ,gBAAE0mF,GAAoBnB,EAK/C,GAAU,MAAND,EAAY,CACd,MAAMqB,EAAcpB,EAAGf,GAAmF+B,EAAW,IAC/GK,EAAarB,EAAGC,OAAqFe,EAAW,IACtHF,EAAOM,EAAavqC,EAAWopC,GAC/Ba,EAAOO,EAAYxqC,EAAWopC,GAC9B,MAAMqB,EAAQ,CAACC,EAAYC,KACT,GAAZN,IACEhB,GAAmBA,EAAgBuB,OACrCvB,EAAgBwB,GAAGC,gBAAkBJ,GAEvCd,EACEhmF,EACA8mF,EACAC,EACAtB,EACAC,EACAC,EACAC,EACAC,GAEJ,EAEIsB,EAAgB,KACpB,MAAM7xG,EAASiwG,EAAGjwG,OAAS4vG,EAAcK,EAAGvvD,MAAOswD,GAC7Cc,EAAeC,GAAc/xG,EAAQiwG,EAAIgB,EAAYF,GACvD/wG,IACgB,QAAdqwG,GAAuBb,EAAYxvG,GACrCqwG,EAAY,MACW,WAAdA,GAA0BX,EAAe1vG,KAClDqwG,EAAY,UAETnsF,IACHqtF,EAAMvxG,EAAQ8xG,GACdE,GAAc/B,GAAI,IAE8C,EAQlE/rF,IACFqtF,EAAMzqC,EAAWwqC,GACjBU,GAAc/B,GAAI,IAEhBV,EAAmBU,EAAGvvD,OACxBuxD,IAAsB,KACpBJ,IACA5B,EAAGf,GAAGgD,aAAc,CAAI,GACvB9B,GAEHyB,GAEJ,KAAO,CACL,GAAItC,EAAmBU,EAAGvvD,SAAWsvD,EAAGd,GAAGgD,YAgBzC,YAfAD,IAAsB,KACpBlC,EAAajsB,QACXksB,EACAC,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,UAEKR,EAAGd,GAAGgD,WAAW,GACvB9B,GAGLH,EAAGf,GAAKc,EAAGd,GACXe,EAAGkC,YAAcnC,EAAGmC,YACpB,MAAMb,EAAarB,EAAGC,OAASF,EAAGE,OAC5BlwG,EAASiwG,EAAGjwG,OAASgwG,EAAGhwG,OACxB8xG,EAAe7B,EAAG6B,aAAe9B,EAAG8B,aACpCM,EAAc9C,EAAmBU,EAAGtvD,OACpC2xD,EAAmBD,EAActrC,EAAY9mE,EAC7CsyG,EAAgBF,EAAcd,EAAaQ,EA8BjD,GA7BkB,QAAdzB,GAAuBb,EAAYxvG,GACrCqwG,EAAY,OACW,WAAdA,GAA0BX,EAAe1vG,MAClDqwG,EAAY,UAEVe,GACFN,EACEd,EAAGoB,gBACHA,EACAiB,EACAlC,EACAC,EACAC,EACAC,GAEFiC,GAAuBvC,EAAIC,GAAI,IACrBM,GACVK,EACEZ,EACAC,EACAoC,EACAC,EACAnC,EACAC,EACAC,EACAC,GACA,GAGApsF,EACGkuF,EASCnC,EAAGvvD,OAASsvD,EAAGtvD,OAASuvD,EAAGvvD,MAAM7nB,KAAOm3E,EAAGtvD,MAAM7nB,KACnDo3E,EAAGvvD,MAAM7nB,GAAKm3E,EAAGtvD,MAAM7nB,IATzB25E,EACEvC,EACAnpC,EACAwqC,EACAd,EACA,QAQJ,IAAKP,EAAGvvD,OAASuvD,EAAGvvD,MAAM7nB,OAASm3E,EAAGtvD,OAASsvD,EAAGtvD,MAAM7nB,IAAK,CAC3D,MAAM45E,EAAaxC,EAAGjwG,OAAS4vG,EAC7BK,EAAGvvD,MACHswD,GAEEyB,GACFD,EACEvC,EACAwC,EACA,KACAjC,EACA,EASN,MAAW4B,GACTI,EACEvC,EACAjwG,EACA8xG,EACAtB,EACA,GAINwB,GAAc/B,EAAI/rF,EACpB,CACF,EACA,MAAAiO,CAAOo4E,EAAO4F,EAAiBC,GAAkBsC,GAAIC,EAASt1B,GAAKlrD,OAAQygF,IAAgBC,GACzF,MAAM,UACJ1B,EAAS,SACTzmF,EAAQ,OACRwlF,EAAM,YACNiC,EAAW,aACXL,EAAY,OACZ9xG,EAAM,MACN0gD,GACE6pD,EAMJ,GALIvqG,IACF4yG,EAAWT,GACXS,EAAWd,IAEbe,GAAYD,EAAW1C,GACP,GAAZiB,EAAgB,CAClB,MAAM2B,EAAeD,IAAavD,EAAmB5uD,GACrD,IAAK,IAAIlrD,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,MAAMu9G,EAAQroF,EAASl1B,GACvBm9G,EACEI,EACA5C,EACAC,EACA0C,IACEC,EAAM3B,gBAEZ,CACF,CACF,EACA4B,KAAMR,EACNS,QAASC,GAEX,SAASV,EAAajI,EAAOzjC,EAAWqsC,GAAgB91B,GAAG,OAAE0zB,GAAUqC,EAAGJ,GAAQK,EAAW,GAC1E,IAAbA,GACFtC,EAAOxG,EAAMuH,aAAchrC,EAAWqsC,GAExC,MAAM,GAAEjE,EAAE,OAAEgB,EAAM,UAAEiB,EAAS,SAAEzmF,EAAQ,MAAEg2B,GAAU6pD,EAC7C+I,EAAyB,IAAbD,EAIlB,GAHIC,GACFvC,EAAO7B,EAAIpoC,EAAWqsC,KAEnBG,GAAahE,EAAmB5uD,KACnB,GAAZywD,EACF,IAAK,IAAI37G,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IACnCw9G,EACEtoF,EAASl1B,GACTsxE,EACAqsC,EACA,GAKJG,GACFvC,EAAOb,EAAQppC,EAAWqsC,EAE9B,CACA,SAASD,EAAgBvjB,EAAM4a,EAAO4F,EAAiBC,EAAgBE,EAAcC,GACnFlzB,GAAG,YAAEk2B,EAAW,WAAEC,EAAU,cAAExC,EAAa,OAAED,EAAM,WAAEE,IACpDwC,GACD,MAAMzzG,EAASuqG,EAAMvqG,OAAS4vG,EAC5BrF,EAAM7pD,MACNswD,GAEF,GAAIhxG,EAAQ,CACV,MAAMkkB,EAAWorF,EAAmB/E,EAAM7pD,OACpCgzD,EAAa1zG,EAAO2zG,MAAQ3zG,EAAO4zG,WACzC,GAAsB,GAAlBrJ,EAAM4G,UACR,GAAIjtF,EACFqmF,EAAM2F,OAASuD,EACbF,EAAY5jB,GACZ4a,EACAiJ,EAAW7jB,GACXwgB,EACAC,EACAE,EACAC,GAEFhG,EAAM4H,YAAcuB,EACpBnJ,EAAMuH,aAAe4B,GAAcH,EAAYG,OAC1C,CACLnJ,EAAM2F,OAASqD,EAAY5jB,GAC3B,IAAImiB,EAAe4B,EACnB,MAAO5B,EAAc,CACnB,GAAIA,GAA0C,IAA1BA,EAAa+B,SAC/B,GAA0B,0BAAtB/B,EAAah9G,KACfy1G,EAAM4H,YAAcL,OACf,GAA0B,oBAAtBA,EAAah9G,KAA4B,CAClDy1G,EAAMuH,aAAeA,EACrB9xG,EAAO2zG,KAAOpJ,EAAMuH,cAAgByB,EAAYhJ,EAAMuH,cACtD,KACF,CAEFA,EAAeyB,EAAYzB,EAC7B,CACKvH,EAAMuH,cACTC,GAAc/xG,EAAQuqG,EAAO0G,EAAYF,GAE3C0C,EACEC,GAAcH,EAAYG,GAC1BnJ,EACAvqG,EACAmwG,EACAC,EACAE,EACAC,EAEJ,CAEFyB,GAAczH,EAAOrmF,EACvB,CACA,OAAOqmF,EAAM2F,QAAUqD,EAAYhJ,EAAM2F,OAC3C,CACA,MAAM4D,GAAW,0BAAY,KAAZ,EACjB,SAAS9B,GAAczH,EAAOv/B,GAC5B,MAAM7kD,EAAMokF,EAAMpkF,IAClB,GAAIA,GAAOA,EAAI4tF,GAAI,CACjB,IAAIpkB,EAAMugB,EACNllC,GACF2kB,EAAO4a,EAAM2E,GACbgB,EAAS3F,EAAM2F,SAEfvgB,EAAO4a,EAAM4H,YACbjC,EAAS3F,EAAMuH,cAEjB,MAAOniB,GAAQA,IAASugB,EACA,IAAlBvgB,EAAKkkB,UAAgBlkB,EAAKqkB,aAAa,eAAgB7tF,EAAIrc,KAC/D6lF,EAAOA,EAAK4jB,YAEdptF,EAAI4tF,IACN,CACF,CACA,SAAShC,GAAc/xG,EAAQuqG,EAAO0G,EAAYF,GAChD,MAAMoB,EAAc5H,EAAM4H,YAAclB,EAAW,IAC7Ca,EAAevH,EAAMuH,aAAeb,EAAW,IAMrD,OALAkB,EAAYhD,GAAkB2C,EAC1B9xG,IACF+wG,EAAOoB,EAAanyG,GACpB+wG,EAAOe,EAAc9xG,IAEhB8xG,CACT,CAEA,MAAMmC,GAAajV,OAAO,YACpBkV,GAAalV,OAAO,YAC1B,SAASmV,KACP,MAAM9qG,EAAQ,CACZ+qG,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAA+B,IAAInV,KAQrC,OANAoV,IAAU,KACRnrG,EAAM+qG,WAAY,CAAI,IAExBK,IAAgB,KACdprG,EAAMirG,cAAe,CAAI,IAEpBjrG,CACT,CACA,MAAMqrG,GAA0B,CAACl3B,SAAUpgF,OACrCu3G,GAAgC,CACpCzxF,KAAMyV,OACNi8E,OAAQz7F,QACR07F,UAAW17F,QAEX27F,cAAeJ,GACfK,QAASL,GACTM,aAAcN,GACdO,iBAAkBP,GAElBQ,cAAeR,GACfS,QAAST,GACTU,aAAcV,GACdW,iBAAkBX,GAElBY,eAAgBZ,GAChBa,SAAUb,GACVc,cAAed,GACfe,kBAAmBf,IAEfgB,GAAuB7K,IAC3B,MAAM8K,EAAU9K,EAAS8K,QACzB,OAAOA,EAAQC,UAAYF,GAAoBC,EAAQC,WAAaD,CAAO,EAEvEE,GAAqB,CACzB3mH,KAAM,iBACNwxD,MAAOi0D,GACP,KAAAmB,CAAMp1D,GAAO,MAAEq1D,IACb,MAAMlL,EAAWmL,KACX3sG,EAAQ8qG,KACd,MAAO,KACL,MAAMzpF,EAAWqrF,EAAME,SAAWC,GAAyBH,EAAME,WAAW,GAC5E,IAAKvrF,IAAaA,EAAS/e,OACzB,OAEF,MAAMonG,EAAQoD,GAAoBzrF,GAC5B0rF,GAAW,QAAM11D,IACjB,KAAEx9B,GAASkzF,EAIjB,GAAI/sG,EAAMgrG,UACR,OAAOgC,GAAiBtD,GAE1B,MAAMuD,EAAaC,GAAgBxD,GACnC,IAAKuD,EACH,OAAOD,GAAiBtD,GAE1B,IAAIyD,EAAaC,GACfH,EACAF,EACA/sG,EACAwhG,GAECjlF,GAAU4wF,EAAa5wF,IAEtB0wF,EAAWr2G,OAASy2G,IACtBC,GAAmBL,EAAYE,GAEjC,IAAII,EAAgB/L,EAAS8K,SAAWY,GAAgB1L,EAAS8K,SACjE,GAAIiB,GAAiBA,EAAc32G,OAASy2G,KAAYG,GAAgBP,EAAYM,IAAkBlB,GAAoB7K,GAAU5qG,OAASy2G,GAAS,CACpJ,IAAII,EAAeL,GACjBG,EACAR,EACA/sG,EACAwhG,GAGF,GADA8L,GAAmBC,EAAeE,GACrB,WAAT5zF,GAAqBozF,EAAWr2G,OAASy2G,GAU3C,OATArtG,EAAMgrG,WAAY,EAClByC,EAAaC,WAAa,KACxB1tG,EAAMgrG,WAAY,EACS,EAArBxJ,EAASd,IAAIr8F,OACjBm9F,EAASr8E,gBAEJsoF,EAAaC,WACpBH,OAAgB,CAAM,EAEjBP,GAAiBtD,GACN,WAAT7vF,GAAqBozF,EAAWr2G,OAASy2G,GAClDI,EAAaE,WAAa,CAAC9H,EAAI+H,EAAaC,KAC1C,MAAMC,EAAqBC,GACzB/tG,EACAutG,GAEFO,EAAmBx+E,OAAOi+E,EAAczhH,MAAQyhH,EAChD1H,EAAG+E,IAAc,KACfgD,IACA/H,EAAG+E,SAAc,SACVuC,EAAWU,aAClBN,OAAgB,CAAM,EAExBJ,EAAWU,aAAe,KACxBA,WACOV,EAAWU,aAClBN,OAAgB,CAAM,CACvB,EAGHA,OAAgB,CAEpB,MAAWA,IACTA,OAAgB,GAElB,OAAO7D,CAAK,CAEhB,GAEF,SAASoD,GAAoBzrF,GAC3B,IAAIqoF,EAAQroF,EAAS,GACrB,GAAIA,EAAS/e,OAAS,EAAG,CACvB,IAAI0rG,GAAW,EACf,IAAK,MAAMxsG,KAAK6f,EACd,GAAI7f,EAAE5K,OAASy2G,GAAS,CAClB,EAMJ3D,EAAQloG,EACRwsG,GAAW,EACqC,KAClD,CAEJ,CACA,OAAOtE,CACT,CACA,MAAMuE,GAAiB,0BAAkB,KAAlB,GACvB,SAASF,GAAuB/tG,EAAOkhG,GACrC,MAAM,cAAEgK,GAAkBlrG,EAC1B,IAAI8tG,EAAqB5C,EAAcxoG,IAAIw+F,EAAMtqG,MAKjD,OAJKk3G,IACHA,EAAqCx3F,OAAOqK,OAAO,MACnDuqF,EAAcjtG,IAAIijG,EAAMtqG,KAAMk3G,IAEzBA,CACT,CACA,SAASV,GAAuBlM,EAAO7pD,EAAOr3C,EAAOwhG,EAAU0M,GAC7D,MAAM,OACJ3C,EAAM,KACN1xF,EAAI,UACJ2xF,GAAY,EAAK,cACjBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,cAChBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,eAChBC,EAAc,SACdC,EAAQ,cACRC,EAAa,kBACbC,GACE/0D,EACEvrD,EAAMwjC,OAAO4xE,EAAMp1G,KACnBgiH,EAAqBC,GAAuB/tG,EAAOkhG,GACnDiN,EAAW,CAACxxF,EAAMxa,KACtBwa,GAAQ+kF,EACN/kF,EACA6kF,EACA,EACAr/F,EACD,EAEGisG,EAAgB,CAACzxF,EAAMxa,KAC3B,MAAMsxC,EAAOtxC,EAAK,GAClBgsG,EAASxxF,EAAMxa,IACX,QAAQwa,GACNA,EAAKs6E,OAAOoX,GAAUA,EAAM/rG,QAAU,KAAImxC,IACrC92B,EAAKra,QAAU,GACxBmxC,GACF,EAEIl3B,EAAQ,CACZ1C,OACA2xF,YACA,WAAA8C,CAAYzI,GACV,IAAIlpF,EAAO8uF,EACX,IAAKzrG,EAAM+qG,UAAW,CACpB,IAAIQ,EAGF,OAFA5uF,EAAOsvF,GAAkBR,CAI7B,CACI5F,EAAG+E,KACL/E,EAAG+E,KACD,GAIJ,MAAM2D,EAAeT,EAAmBhiH,GACpCyiH,GAAgBf,GAAgBtM,EAAOqN,IAAiBA,EAAa1I,GAAG+E,KAC1E2D,EAAa1I,GAAG+E,MAElBuD,EAASxxF,EAAM,CAACkpF,GAClB,EACA,KAAA2I,CAAM3I,GACJ,IAAIlpF,EAAO+uF,EACP+C,EAAY9C,EACZ+C,EAAa9C,EACjB,IAAK5rG,EAAM+qG,UAAW,CACpB,IAAIQ,EAKF,OAJA5uF,EAAOuvF,GAAYR,EACnB+C,EAAYtC,GAAiBR,EAC7B+C,EAAatC,GAAqBR,CAItC,CACA,IAAI+C,GAAS,EACb,MAAMl7D,EAAOoyD,EAAGgF,IAAe+D,IACzBD,IACJA,GAAS,EAEPR,EADES,EACOF,EAEAD,EAFY,CAAC5I,IAIpBtpF,EAAMsxF,cACRtxF,EAAMsxF,eAERhI,EAAGgF,SAAc,EAAM,EAErBluF,EACFyxF,EAAczxF,EAAM,CAACkpF,EAAIpyD,IAEzBA,GAEJ,EACA,KAAAo7D,CAAMhJ,EAAI/8E,GACR,MAAMwtE,EAAOhnE,OAAO4xE,EAAMp1G,KAO1B,GANI+5G,EAAGgF,KACLhF,EAAGgF,KACD,GAIA7qG,EAAMirG,aACR,OAAOniF,IAETqlF,EAAStC,EAAe,CAAChG,IACzB,IAAI8I,GAAS,EACb,MAAMl7D,EAAOoyD,EAAG+E,IAAegE,IACzBD,IACJA,GAAS,EACT7lF,IAEEqlF,EADES,EACO5C,EAEAD,EAFkB,CAAClG,IAI9BA,EAAG+E,SAAc,EACbkD,EAAmBxX,KAAU4K,UACxB4M,EAAmBxX,GAC5B,EAEFwX,EAAmBxX,GAAQ4K,EACvB4K,EACFsC,EAActC,EAAS,CAACjG,EAAIpyD,IAE5BA,GAEJ,EACA,KAAAl6B,CAAMu1F,GACJ,MAAMC,EAAS3B,GACb0B,EACAz3D,EACAr3C,EACAwhG,EACA0M,GAGF,OADIA,GAAWA,EAAUa,GAClBA,CACT,GAEF,OAAOxyF,CACT,CACA,SAASywF,GAAiB9L,GACxB,GAAI8N,GAAY9N,GAGd,OAFAA,EAAQ+N,GAAW/N,GACnBA,EAAM7/E,SAAW,KACV6/E,CAEX,CACA,SAASgM,GAAgBhM,GACvB,IAAK8N,GAAY9N,GACf,OAAI6E,EAAW7E,EAAMtqG,OAASsqG,EAAM7/E,SAC3ByrF,GAAoB5L,EAAM7/E,UAE5B6/E,EAKT,MAAM,UAAE4G,EAAS,SAAEzmF,GAAa6/E,EAChC,GAAI7/E,EAAU,CACZ,GAAgB,GAAZymF,EACF,OAAOzmF,EAAS,GAElB,GAAgB,GAAZymF,IAAkB,QAAWzmF,EAASurF,SACxC,OAAOvrF,EAASurF,SAEpB,CACF,CACA,SAASU,GAAmBpM,EAAO3kF,GACX,EAAlB2kF,EAAM4G,WAAiB5G,EAAMqL,WAC/BrL,EAAMgO,WAAa3yF,EACnB+wF,GAAmBpM,EAAMqL,UAAUD,QAAS/vF,IACjB,IAAlB2kF,EAAM4G,WACf5G,EAAMiO,UAAUD,WAAa3yF,EAAMhD,MAAM2nF,EAAMiO,WAC/CjO,EAAMkO,WAAWF,WAAa3yF,EAAMhD,MAAM2nF,EAAMkO,aAEhDlO,EAAMgO,WAAa3yF,CAEvB,CACA,SAASswF,GAAyBxrF,EAAUguF,GAAc,EAAOC,GAC/D,IAAIpR,EAAM,GACNqR,EAAqB,EACzB,IAAK,IAAIpjH,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,IAAIu9G,EAAQroF,EAASl1B,GACrB,MAAML,EAAmB,MAAbwjH,EAAoB5F,EAAM59G,IAAMwjC,OAAOggF,GAAahgF,OAAoB,MAAbo6E,EAAM59G,IAAc49G,EAAM59G,IAAMK,GACnGu9G,EAAM9yG,OAAS44G,IACK,IAAlB9F,EAAM+F,WAAiBF,IAC3BrR,EAAMA,EAAIjnG,OACR41G,GAAyBnD,EAAMroF,SAAUguF,EAAavjH,MAE/CujH,GAAe3F,EAAM9yG,OAASy2G,KACvCnP,EAAI7jE,KAAY,MAAPvuC,EAAcmjH,GAAWvF,EAAO,CAAE59G,QAAS49G,EAExD,CACA,GAAI6F,EAAqB,EACvB,IAAK,IAAIpjH,EAAI,EAAGA,EAAI+xG,EAAI57F,OAAQnW,IAC9B+xG,EAAI/xG,GAAGsjH,WAAa,EAGxB,OAAOvR,CACT;2BAIA,SAASwR,GAAgB/4B,EAASg5B,GAChC,OAAO,QAAWh5B,GAGA,MAAO,QAAO,CAAE9wF,KAAM8wF,EAAQ9wF,MAAQ8pH,EAAc,CAAElD,MAAO91B,IAHlD,GAIzBA,CACN,CAEA,SAASi5B,KACP,MAAMzjH,EAAIwgH,KACV,OAAIxgH,GACMA,EAAE41G,WAAWnpG,OAAOi3G,UAAY,KAAO,IAAM1jH,EAAE2jH,IAAI,GAAK3jH,EAAE2jH,IAAI,KAMjE,EACT,CACA,SAASC,GAAkBvO,GACzBA,EAASsO,IAAM,CAACtO,EAASsO,IAAI,GAAKtO,EAASsO,IAAI,KAAO,IAAK,EAAG,EAChE,CAGA,SAASE,GAAelkH,GACtB,MAAMK,EAAIwgH,KACJ5P,GAAI,QAAW,MACrB,GAAI5wG,EAAG,CACL,MAAM8jH,EAAO9jH,EAAE8jH,OAAS,KAAY9jH,EAAE8jH,KAAO,CAAC,EAAI9jH,EAAE8jH,KAKlD35F,OAAO45F,eAAeD,EAAMnkH,EAAK,CAC/By0F,YAAY,EACZ79E,IAAK,IAAMq6F,EAAEtwG,MACbwR,IAAM6oC,GAAQi2D,EAAEtwG,MAAQq6C,GAG9B,MAAW,EAKX,MAAMo3D,EAAgEnB,EAItE,OAAOmB,CACT,CAEA,SAASiS,GAAOC,EAAQC,EAAWtJ,EAAgB7F,EAAOoP,GAAY,GACpE,IAAI,QAAQF,GAUV,YATAA,EAAOlvC,SACL,CAAC67B,EAAG5wG,IAAMgkH,GACRpT,EACAsT,KAAc,QAAQA,GAAaA,EAAUlkH,GAAKkkH,GAClDtJ,EACA7F,EACAoP,KAKN,GAAIC,GAAerP,KAAWoP,EAI5B,YAHsB,IAAlBpP,EAAM4G,WAAmB5G,EAAMtqG,KAAK45G,iBAAmBtP,EAAMqL,UAAUD,QAAQC,WACjF4D,GAAOC,EAAQC,EAAWtJ,EAAgB7F,EAAMqL,UAAUD,UAI9D,MAAMmE,EAA6B,EAAlBvP,EAAM4G,UAAgB5C,GAA2BhE,EAAMqL,WAAarL,EAAM2E,GACrFp5G,EAAQ6jH,EAAY,KAAOG,GACzBtkH,EAAG4xB,EAAOg/E,EAAGr9F,GAAQ0wG,EAO7B,MAAMM,EAASL,GAAaA,EAAUtT,EAChCkT,EAAOlyF,EAAMkyF,OAAS,KAAYlyF,EAAMkyF,KAAO,CAAC,EAAIlyF,EAAMkyF,KAC1DU,EAAa5yF,EAAM4yF,WACnBC,GAAgB,QAAMD,GACtBE,EAAiBF,IAAe,KAAY,KAAM,EAAS7kH,IAWxD,QAAO8kH,EAAe9kH,GAY/B,GAVc,MAAV4kH,GAAkBA,IAAWhxG,KAC3B,QAASgxG,IACXT,EAAKS,GAAU,KACXG,EAAeH,KACjBC,EAAWD,GAAU,QAEd,QAAMA,KACfA,EAAOjkH,MAAQ,QAGf,QAAWiT,GACb6hG,EAAsB7hG,EAAKqe,EAAO,GAAI,CAACtxB,EAAOwjH,QACzC,CACL,MAAMa,GAAY,QAASpxG,GACrBqxG,GAAS,QAAMrxG,GACrB,GAAIoxG,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,KACZ,GAAIZ,EAAO1yF,EAAG,CACZ,MAAMuzF,EAAWH,EAAYD,EAAenxG,GAAOixG,EAAWjxG,GAAOuwG,EAAKvwG,GAAOA,EAAIjT,MACjF6jH,GACF,QAAQW,KAAa,QAAOA,EAAUR,IAEjC,QAAQQ,GAUDA,EAAS7gB,SAASqgB,IAC5BQ,EAAS52E,KAAKo2E,GAVVK,GACFb,EAAKvwG,GAAO,CAAC+wG,GACTI,EAAenxG,KACjBixG,EAAWjxG,GAAOuwG,EAAKvwG,MAGzBA,EAAIjT,MAAQ,CAACgkH,GACTL,EAAOlsB,IAAG+rB,EAAKG,EAAOlsB,GAAKxkF,EAAIjT,OAM3C,MAAWqkH,GACTb,EAAKvwG,GAAOjT,EACRokH,EAAenxG,KACjBixG,EAAWjxG,GAAOjT,IAEXskH,IACTrxG,EAAIjT,MAAQA,EACR2jH,EAAOlsB,IAAG+rB,EAAKG,EAAOlsB,GAAKz3F,GACsB,EAIrDA,GACFukH,EAAMnjH,IAAM,EACZ+6G,GAAsBoI,EAAOjK,IAE7BiK,GAEJ,MAAW,CAGb,CACF,CAEA,IAAIE,IAAyB,EAC7B,MAAMC,GAAmB,KACnBD,KAGJthG,QAAQnqB,MAAM,gDACdyrH,IAAyB,EAAI,EAEzBE,GAAkB3zC,GAAcA,EAAU4zC,aAAajhB,SAAS,QAAgC,kBAAtB3yB,EAAU6zC,QACpFC,GAAqB9zC,GAAcA,EAAU4zC,aAAajhB,SAAS,UACnEohB,GAAoB/zC,IACxB,GAA2B,IAAvBA,EAAU+sC,SACd,OAAI4G,GAAe3zC,GAAmB,MAClC8zC,GAAkB9zC,GAAmB,cAAzC,CACa,EAETg0C,GAAanrB,GAA2B,IAAlBA,EAAKkkB,SACjC,SAASkH,GAAyBC,GAChC,MACEC,GAAIC,EACJ/iF,EAAGgjF,EACH99B,GAAG,UACD+9B,EAAS,WACTnK,EAAU,YACVsC,EAAW,WACXC,EAAU,OACVrhF,EAAM,OACN4+E,EAAM,cACNG,IAEA8J,EACE/H,EAAU,CAAC1I,EAAOzjC,KACtB,IAAKA,EAAUu0C,gBAOb,OAHAF,EAAM,KAAM5Q,EAAOzjC,GACnBimC,SACAjmC,EAAUw0C,OAAS/Q,GAGrBgR,EAAYz0C,EAAU8sC,WAAYrJ,EAAO,KAAM,KAAM,MACrDwC,IACAjmC,EAAUw0C,OAAS/Q,CAAK,EAEpBgR,EAAc,CAAC5rB,EAAM4a,EAAO4F,EAAiBC,EAAgBE,EAAcC,GAAY,KAC3FA,EAAYA,KAAehG,EAAM6G,gBACjC,MAAMoK,EAAkBV,GAAUnrB,IAAuB,MAAdA,EAAK76F,KAC1C2mH,EAAa,IAAMC,EACvB/rB,EACA4a,EACA4F,EACAC,EACAE,EACAkL,IAEI,KAAEv7G,EAAI,IAAE8I,EAAG,UAAEooG,EAAS,UAAE2H,GAAcvO,EAC5C,IAAIoR,EAAUhsB,EAAKkkB,SACnBtJ,EAAM2E,GAAKvf,GAKQ,IAAfmpB,IACFvI,GAAY,EACZhG,EAAM6G,gBAAkB,MAE1B,IAAIwK,EAAW,KACf,OAAQ37G,GACN,KAAK47G,GACa,IAAZF,EACqB,KAAnBpR,EAAM7/E,UACRqmF,EAAOxG,EAAM2E,GAAK+B,EAAW,IAAKuC,EAAW7jB,GAAOA,GACpDisB,EAAWjsB,GAEXisB,EAAWH,KAGT9rB,EAAK76F,OAASy1G,EAAM7/E,WAUtB8vF,KACA7qB,EAAK76F,KAAOy1G,EAAM7/E,UAEpBkxF,EAAWrI,EAAY5jB,IAEzB,MACF,KAAK+mB,GACCoF,EAAensB,IACjBisB,EAAWrI,EAAY5jB,GACvBosB,EACExR,EAAM2E,GAAKvf,EAAKqsB,QAAQpI,WACxBjkB,EACAwgB,IAGFyL,EADqB,IAAZD,GAAiBH,EACfC,IAEAlI,EAAY5jB,GAEzB,MACF,KAAKssB,GAKH,GAJIT,IACF7rB,EAAO4jB,EAAY5jB,GACnBgsB,EAAUhsB,EAAKkkB,UAED,IAAZ8H,GAA6B,IAAZA,EAAe,CAClCC,EAAWjsB,EACX,MAAMusB,GAAsB3R,EAAM7/E,SAAS/e,OAC3C,IAAK,IAAInW,EAAI,EAAGA,EAAI+0G,EAAM4R,YAAa3mH,IACjC0mH,IACF3R,EAAM7/E,UAAkC,IAAtBkxF,EAAS/H,SAAiB+H,EAASQ,UAAYR,EAAS9mH,MACxEU,IAAM+0G,EAAM4R,YAAc,IAC5B5R,EAAM2F,OAAS0L,GAEjBA,EAAWrI,EAAYqI,GAEzB,OAAOJ,EAAkBjI,EAAYqI,GAAYA,CACnD,CACEH,IAEF,MACF,KAAK5C,GAID+C,EAHGJ,EAGQa,EACT1sB,EACA4a,EACA4F,EACAC,EACAE,EACAC,GARSkL,IAWb,MACF,QACE,GAAgB,EAAZtK,EAIAyK,EAHe,IAAZD,GAAiBpR,EAAMtqG,KAAK4C,gBAAkB8sF,EAAKgrB,QAAQ93G,eAAmBi5G,EAAensB,GAGrF2sB,EACT3sB,EACA4a,EACA4F,EACAC,EACAE,EACAC,GARSkL,SAWR,GAAgB,EAAZtK,EAAe,CACxB5G,EAAM+F,aAAeA,EACrB,MAAMxpC,EAAY0sC,EAAW7jB,GAiB7B,GAfEisB,EADEJ,EACSe,EAAoB5sB,GACtBmrB,GAAUnrB,IAAuB,mBAAdA,EAAK76F,KACtBynH,EAAoB5sB,EAAMA,EAAK76F,KAAM,gBAErCy+G,EAAY5jB,GAEzBurB,EACE3Q,EACAzjC,EACA,KACAqpC,EACAC,EACAyK,GAAiB/zC,GACjBypC,GAEEqJ,GAAerP,KAAWA,EAAMtqG,KAAK45G,gBAAiB,CACxD,IAAIlE,EACA6F,GACF7F,EAAU6G,GAAY3D,IACtBlD,EAAQzF,OAAS0L,EAAWA,EAASa,gBAAkB31C,EAAU41C,WAEjE/G,EAA4B,IAAlBhmB,EAAKkkB,SAAiB8I,GAAgB,IAAMH,GAAY,OAEpE7G,EAAQzG,GAAKvf,EACb4a,EAAMqL,UAAUD,QAAUA,CAC5B,CACF,MAAuB,GAAZxE,EAEPyK,EADc,IAAZD,EACSF,IAEAlR,EAAMtqG,KAAKgzG,QACpBtjB,EACA4a,EACA4F,EACAC,EACAE,EACAC,EACAyK,EACAvH,GAGiB,IAAZtC,IACTyK,EAAWrR,EAAMtqG,KAAKgzG,QACpBtjB,EACA4a,EACA4F,EACAC,EACAyK,GAAiBrH,EAAW7jB,IAC5B2gB,EACAC,EACAyK,EACAO,IASR,OAHW,MAAPxyG,GACFywG,GAAOzwG,EAAK,KAAMqnG,EAAgB7F,GAE7BqR,CAAQ,EAEXU,EAAiB,CAACpN,EAAI3E,EAAO4F,EAAiBC,EAAgBE,EAAcC,KAChFA,EAAYA,KAAehG,EAAM6G,gBACjC,MAAM,KAAEnxG,EAAI,MAAEygD,EAAK,UAAEo4D,EAAS,UAAE3H,EAAS,KAAE1C,EAAI,WAAE8J,GAAehO,EAC1DqS,EAAsB,UAAT38G,GAA6B,WAATA,EACvC,GAAiD28G,IAA6B,IAAf9D,EAAkB,CAC3ErK,GACFK,EAAoBvE,EAAO,KAAM4F,EAAiB,WAEpD,IAyFI0M,EAzFAC,GAA0B,EAC9B,GAAIhB,EAAe5M,GAAK,CACtB4N,EAA0BC,GACxB,KAEAxE,IACGpI,GAAmBA,EAAgB5F,MAAM7pD,OAASyvD,EAAgB5F,MAAM7pD,MAAMk0D,OACnF,MAAMoH,EAAU9M,EAAG8M,QAAQpI,WACvBkJ,GACFvE,EAAWZ,YAAYqE,GAEzBD,EAAYC,EAAS9M,EAAIiB,GACzB5F,EAAM2E,GAAKA,EAAK8M,CAClB,CACA,GAAgB,GAAZ7K,KACFzwD,IAAUA,EAAMs8D,YAAat8D,EAAMu8D,aAAe,CAClD,IAAI1qG,EAAOkhG,EACTvE,EAAG0E,WACHrJ,EACA2E,EACAiB,EACAC,EACAE,EACAC,GAGF,MAAOh+F,EAAM,CACN2qG,GAAkBhO,EAAI,IAUzBsL,KAEF,MAAMnP,EAAM94F,EACZA,EAAOA,EAAKghG,YACZphF,EAAOk5E,EACT,CACF,MAAO,GAAgB,EAAZ8F,EAAe,CACxB,IAAIgM,EAAa5S,EAAM7/E,SACD,OAAlByyF,EAAW,IAA+B,QAAfjO,EAAGyL,SAAoC,aAAfzL,EAAGyL,UACxDwC,EAAaA,EAAW35E,MAAM,IAE5B0rE,EAAG+N,cAAgBE,IAChBD,GAAkBhO,EAAI,IAQzBsL,KAEFtL,EAAG+N,YAAc1S,EAAM7/E,SAE3B,CACA,GAAIg2B,EACF,GAA4Fk8D,IAAerM,GAAyB,GAAZuI,EAAuB,CAC7I,MAAMsE,EAAkBlO,EAAGyL,QAAQlhB,SAAS,KAC5C,IAAK,MAAMtkG,KAAOurD,GAMZk8D,IAAeznH,EAAIkoH,SAAS,UAAoB,kBAARloH,KAA4B,QAAKA,MAAS,QAAeA,IAC1F,MAAXA,EAAI,IAAcioH,IAChBhC,EAAUlM,EAAI/5G,EAAK,KAAMurD,EAAMvrD,QAAM,EAAQg7G,EAGnD,MAAO,GAAIzvD,EAAM48D,QACflC,EACElM,EACA,UACA,KACAxuD,EAAM48D,aACN,EACAnN,QAEG,GAAgB,EAAZ2I,IAAiB,QAAWp4D,EAAM68D,OAC3C,IAAK,MAAMpoH,KAAOurD,EAAM68D,MAAO78D,EAAM68D,MAAMpoH,IAI3C0nH,EAAan8D,GAASA,EAAM88D,qBAC9BC,GAAgBZ,EAAY1M,EAAiB5F,GAE3CkE,GACFK,EAAoBvE,EAAO,KAAM4F,EAAiB,iBAE/C0M,EAAan8D,GAASA,EAAMg9D,iBAAmBjP,GAAQqO,IAC1Da,IAAwB,KACtBd,GAAcY,GAAgBZ,EAAY1M,EAAiB5F,GAC3DuS,GAA2BvE,EAAWV,MAAM3I,GAC5CT,GAAQK,EAAoBvE,EAAO,KAAM4F,EAAiB,UAAU,GACnEC,EAEP,CACA,OAAOlB,EAAGqE,WAAW,EAEjBE,EAAkB,CAAC9jB,EAAMiuB,EAAa92C,EAAWqpC,EAAiBC,EAAgBE,EAAcC,KACpGA,EAAYA,KAAeqN,EAAYxM,gBACvC,MAAM1mF,EAAWkzF,EAAYlzF,SACvBisC,EAAIjsC,EAAS/e,OAEnB,IAAK,IAAInW,EAAI,EAAGA,EAAImhE,EAAGnhE,IAAK,CAC1B,MAAM+0G,EAAQgG,EAAY7lF,EAASl1B,GAAKk1B,EAASl1B,GAAKqoH,GAAenzF,EAASl1B,IACxEsoH,EAASvT,EAAMtqG,OAAS47G,GAC1BlsB,GACEmuB,IAAWvN,GACT/6G,EAAI,EAAImhE,GAAKknD,GAAenzF,EAASl1B,EAAI,IAAIyK,OAAS47G,KACxD9K,EACEE,EACEthB,EAAK76F,KAAK0uC,MAAM+mE,EAAM7/E,SAAS/e,SAEjCm7D,EACAysC,EAAY5jB,IAEdA,EAAK76F,KAAOy1G,EAAM7/E,UAGtBilE,EAAO4rB,EACL5rB,EACA4a,EACA4F,EACAC,EACAE,EACAC,IAEOuN,IAAWvT,EAAM7/E,SAC1BqmF,EAAOxG,EAAM2E,GAAK+B,EAAW,IAAKnqC,IAE7Bo2C,GAAkBp2C,EAAW,IAUhC0zC,KAEFW,EACE,KACA5Q,EACAzjC,EACA,KACAqpC,EACAC,EACAyK,GAAiB/zC,GACjBwpC,GAGN,CACA,OAAO3gB,CAAI,EAEP0sB,EAAkB,CAAC1sB,EAAM4a,EAAO4F,EAAiBC,EAAgBE,EAAcC,KACnF,MAAQD,aAAcyN,GAAyBxT,EAC3CwT,IACFzN,EAAeA,EAAeA,EAAahwG,OAAOy9G,GAAwBA,GAE5E,MAAMj3C,EAAY0sC,EAAW7jB,GACvBp9E,EAAOkhG,EACXF,EAAY5jB,GACZ4a,EACAzjC,EACAqpC,EACAC,EACAE,EACAC,GAEF,OAAIh+F,GAAQuoG,GAAUvoG,IAAuB,MAAdA,EAAKzd,KAC3By+G,EAAYhJ,EAAM2F,OAAS39F,IAElCioG,KACAzJ,EAAOxG,EAAM2F,OAASgB,EAAc,KAAMpqC,EAAWv0D,GAC9CA,EACT,EAEImpG,EAAiB,CAAC/rB,EAAM4a,EAAO4F,EAAiBC,EAAgBE,EAAc0N,KAclF,GAbKd,GAAkBvtB,EAAKsuB,cAAe,IAUzCzD,KAEFjQ,EAAM2E,GAAK,KACP8O,EAAY,CACd,MAAM75G,EAAMo4G,EAAoB5sB,GAChC,MAAO,EAAM,CACX,MAAMuuB,EAAQ3K,EAAY5jB,GAC1B,IAAIuuB,GAASA,IAAU/5G,EAGrB,MAFAguB,EAAO+rF,EAIX,CACF,CACA,MAAM3rG,EAAOghG,EAAY5jB,GACnB7oB,EAAY0sC,EAAW7jB,GAgB7B,OAfAx9D,EAAOw9D,GACPwrB,EACE,KACA5Q,EACAzjC,EACAv0D,EACA49F,EACAC,EACAyK,GAAiB/zC,GACjBwpC,GAEEH,IACFA,EAAgB5F,MAAM2E,GAAK3E,EAAM2E,GACjCiP,GAAgBhO,EAAiB5F,EAAM2E,KAElC38F,CAAI,EAEPgqG,EAAsB,CAAC5sB,EAAMprE,EAAO,IAAK65F,EAAQ,OACrD,IAAIngH,EAAQ,EACZ,MAAO0xF,EAEL,GADAA,EAAO4jB,EAAY5jB,GACfA,GAAQmrB,GAAUnrB,KAChBA,EAAK76F,OAASyvB,GAAMtmB,IACpB0xF,EAAK76F,OAASspH,GAAO,CACvB,GAAc,IAAVngH,EACF,OAAOs1G,EAAY5jB,GAEnB1xF,GAEJ,CAGJ,OAAO0xF,CAAI,EAEPosB,EAAc,CAACsC,EAASC,EAASnO,KACrC,MAAMoO,EAAcD,EAAQ9K,WACxB+K,GACFA,EAAYC,aAAaH,EAASC,GAEpC,IAAIhkB,EAAS6V,EACb,MAAO7V,EACDA,EAAOiQ,MAAM2E,KAAOoP,IACtBhkB,EAAOiQ,MAAM2E,GAAK5U,EAAOqb,QAAQzG,GAAKmP,GAExC/jB,EAASA,EAAOA,MAClB,EAEIwhB,EAAkBnsB,GACG,IAAlBA,EAAKkkB,UAAmC,aAAjBlkB,EAAKgrB,QAErC,MAAO,CAAC1H,EAASsI,EACnB,CAyHA,MAAMkD,GAAoB,sBACpBC,GAAqB,CACzB,CAAC,GAAe,OAChB,CAAC,GAAmB,WACpB,CAAC,GAAgB,QACjB,CAAC,GAAgB,QACjB,CAAC,GAAoB,aAEvB,SAASxB,GAAkBhO,EAAIyP,GAC7B,GAAoB,IAAhBA,GAAgD,IAAhBA,EAClC,MAAOzP,IAAOA,EAAGx7E,aAAa+qF,IAC5BvP,EAAKA,EAAG+O,cAGZ,MAAMW,EAAc1P,GAAMA,EAAG2P,aAAaJ,IAC1C,GAAmB,MAAfG,EACF,OAAO,EACF,GAAoB,KAAhBA,EACT,OAAO,EACF,CACL,MAAMtmB,EAAOsmB,EAAY3yC,MAAM,KAC/B,QAAoB,IAAhB0yC,IAAgCrmB,EAAKmB,SAAS,cAG3CmlB,EAAY3yC,MAAM,KAAKwtB,SAASilB,GAAmBC,GAC5D,CACF,CAEA,MAAMG,IAAsB,UAAgBA,qBAAuB,CAAE54F,GAAO+wE,WAAW/wE,EAAI,IACrF64F,IAAqB,UAAgBA,oBAAsB,CAAE7nH,GAAOigG,aAAajgG,IACjF8nH,GAAgB,CAAC56F,EAAU,MAAS6uF,IACxC,MAAM/7G,EAAK4nH,GAAoB7L,EAAS,CAAE7uF,YAC1C,MAAO,IAAM26F,GAAmB7nH,EAAG,EAErC,SAAS+nH,GAA2B/P,GAClC,MAAM,IAAEgQ,EAAG,KAAE/jH,EAAI,OAAEgkH,EAAM,MAAE/jH,GAAU8zG,EAAGkQ,yBAClC,YAAEC,EAAW,WAAEC,GAAexxE,OACpC,OAAQoxE,EAAM,GAAKA,EAAMG,GAAeF,EAAS,GAAKA,EAASE,KAAiBlkH,EAAO,GAAKA,EAAOmkH,GAAclkH,EAAQ,GAAKA,EAAQkkH,EACxI,CACA,MAAMC,GAAoBC,GAAS,CAACvM,EAAS1oC,KAC3C,MAAMk1C,EAAK,IAAIC,sBAAsB/yC,IACnC,IAAK,MAAM/1E,KAAK+1E,EACd,GAAK/1E,EAAE+oH,eAAP,CACAF,EAAGG,aACH3M,IACA,KAH+B,CAIjC,GACCuM,GAUH,OATAj1C,GAAS2kC,IACP,GAAMA,aAAc2Q,QACpB,OAAIZ,GAA2B/P,IAC7B+D,IACAwM,EAAGG,cACI,QAETH,EAAGK,QAAQ5Q,EAAG,IAET,IAAMuQ,EAAGG,YAAY,EAExBG,GAAuBC,GAAW/M,IACtC,GAAI+M,EAAO,CACT,MAAMC,EAAMC,WAAWF,GACvB,IAAIC,EAAIjiH,QAIN,OADAiiH,EAAIE,iBAAiB,SAAUlN,EAAS,CAAElK,MAAM,IACzC,IAAMkX,EAAIG,oBAAoB,SAAUnN,GAH/CA,GAKJ,GAEIoN,GAAuB,CAACC,EAAe,KAAO,CAACrN,EAAS1oC,MACxD,QAAS+1C,KAAeA,EAAe,CAACA,IAC5C,IAAIC,GAAc,EAClB,MAAMC,EAAa5pH,IACZ2pH,IACHA,GAAc,EACd97E,IACAwuE,IACAr8G,EAAEoJ,OAAO4a,cAAc,IAAIhkB,EAAEqF,YAAYrF,EAAEqJ,KAAMrJ,IACnD,EAEI6tC,EAAW,KACf8lC,GAAS2kC,IACP,IAAK,MAAM15G,KAAK8qH,EACdpR,EAAGkR,oBAAoB5qH,EAAGgrH,EAC5B,GACA,EAOJ,OALAj2C,GAAS2kC,IACP,IAAK,MAAM15G,KAAK8qH,EACdpR,EAAGiR,iBAAiB3qH,EAAGgrH,EAAW,CAAEzX,MAAM,GAC5C,IAEKtkE,CAAQ,EAEjB,SAASg8E,GAAe9wB,EAAMzpE,GAC5B,GAAI40F,GAAUnrB,IAAuB,MAAdA,EAAK76F,KAAc,CACxC,IAAI20G,EAAQ,EACRl3F,EAAOo9E,EAAK4jB,YAChB,MAAOhhG,EAAM,CACX,GAAsB,IAAlBA,EAAKshG,SAAgB,CACvB,MAAMh7G,EAASqtB,EAAG3T,GAClB,IAAe,IAAX1Z,EACF,KAEJ,MAAO,GAAIiiH,GAAUvoG,GACnB,GAAkB,MAAdA,EAAKzd,MACP,GAAgB,MAAV20G,EAAa,UACI,MAAdl3F,EAAKzd,MACd20G,IAGJl3F,EAAOA,EAAKghG,WACd,CACF,MACErtF,EAAGypE,EAEP,CAEA,MAAMiqB,GAAkBpkH,KAAQA,EAAEyK,KAAKygH;4BAGvC,SAASC,GAAqBtxG,IACxB,QAAWA,KACbA,EAAS,CAAEuxG,OAAQvxG,IAErB,MAAM,OACJuxG,EAAM,iBACNC,EAAgB,eAChBC,EAAc,MACdC,EAAQ,IACR9N,QAAS+N,EAAe,QACxB58F,EAAO,YAEP68F,GAAc,EACdC,QAASC,GACP9xG,EACJ,IACI+xG,EADAC,EAAiB,KAEjBC,EAAU,EACd,MAAMp4D,EAAQ,KACZo4D,IACAD,EAAiB,KACVE,KAEHA,EAAO,KACX,IAAIC,EACJ,OAAOH,IAAmBG,EAAcH,EAAiBT,IAASp2C,OAAOnkD,IAEvE,GADAA,EAAMA,aAAe+jE,MAAQ/jE,EAAM,IAAI+jE,MAAMzxD,OAAOtS,IAChD86F,EACF,OAAO,IAAIznB,SAAQ,CAAC7/C,EAASC,KAC3B,MAAM2nE,EAAY,IAAM5nE,EAAQqP,KAC1Bw4D,EAAW,IAAM5nE,EAAOzzB,GAC9B86F,EAAY96F,EAAKo7F,EAAWC,EAAUJ,EAAU,EAAE,IAGpD,MAAMj7F,CACR,IACC6jD,MAAMy3C,GACHH,IAAgBH,GAAkBA,EAC7BA,GAOLM,IAASA,EAAKC,YAA2C,WAA7BD,EAAK3iB,OAAOnT,gBAC1C81B,EAAOA,EAAK1L,SAKdmL,EAAeO,EACRA,KACN,EAEL,OAAO5I,GAAgB,CACrB7pH,KAAM,wBACNwxH,cAAea,EACf,cAAAM,CAAe3S,EAAIrE,EAAUoI,GAC3B,MAAMuN,EAAYQ,EAAkB,KAClC,MAAMv8E,EAAWu8E,EACf/N,GACC/sF,GAAOu6F,GAAevR,EAAIhpF,KAEzBue,IACDomE,EAASiX,MAAQjX,EAASiX,IAAM,KAAKp+E,KAAKe,EAC7C,EACEwuE,EACAmO,EACFZ,IAEAe,IAAOr3C,MAAK,KAAO2gC,EAASkX,aAAevB,KAE/C,EACA,mBAAI3G,GACF,OAAOuH,CACT,EACA,KAAAtL,GACE,MAAMjL,EAAWmX,GAEjB,GADA5I,GAAkBvO,GACduW,EACF,MAAO,IAAMa,GAAgBb,EAAcvW,GAE7C,MAAMqW,EAAW76F,IACfg7F,EAAiB,KACjBvW,EACEzkF,EACAwkF,EACA,IACCiW,EACF,EAEH,GAAIG,GAAepW,EAASqX,UAAYC,GACtC,OAAOZ,IAAOr3C,MAAMy3C,GACX,IAAMM,GAAgBN,EAAM9W,KAClCrgC,OAAOnkD,IACR66F,EAAQ76F,GACD,IAAMy6F,EAAiBtE,GAAYsE,EAAgB,CACxDhyH,MAAOu3B,IACJ,QAGT,MAAM+7F,GAAS,SAAI,GACbtzH,GAAQ,UACRuzH,GAAU,UAAMtB,GA0BtB,OAzBIA,GACF9pB,YAAW,KACTorB,EAAQvsH,OAAQ,CAAK,GACpBirH,GAEU,MAAX38F,GACF6yE,YAAW,KACT,IAAKmrB,EAAOtsH,QAAUhH,EAAMgH,MAAO,CACjC,MAAMuwB,EAAM,IAAI+jE,MACd,mCAAmChmE,QAErC88F,EAAQ76F,GACRv3B,EAAMgH,MAAQuwB,CAChB,IACCjC,GAELm9F,IAAOr3C,MAAK,KACVk4C,EAAOtsH,OAAQ,EACX+0G,EAASvQ,QAAU+d,GAAYxN,EAASvQ,OAAOiQ,QACjDM,EAASvQ,OAAO9rE,QAClB,IACCg8C,OAAOnkD,IACR66F,EAAQ76F,GACRv3B,EAAMgH,MAAQuwB,CAAG,IAEZ,IACD+7F,EAAOtsH,OAASsrH,EACXa,GAAgBb,EAAcvW,GAC5B/7G,EAAMgH,OAASgrH,EACjBtE,GAAYsE,EAAgB,CACjChyH,MAAOA,EAAMgH,QAEN+qH,IAAqBwB,EAAQvsH,MAC/B0mH,GAAYqE,QADd,CAIX,GAEJ,CACA,SAASoB,GAAgBN,EAAMrnB,GAC7B,MAAQvxF,IAAK69F,EAAI,MAAElmD,EAAK,SAAEh2B,EAAQ,GAAEinF,GAAOrX,EAAOiQ,MAC5CA,EAAQiS,GAAYmF,EAAMjhE,EAAOh2B,GAIvC,OAHA6/E,EAAMxhG,IAAM69F,EACZ2D,EAAMoH,GAAKA,SACJrX,EAAOiQ,MAAMoH,GACbpH,CACT,CAEA,MAAM8N,GAAe9N,GAAUA,EAAMtqG,KAAKqiH,cACpCC,GAAgB,CACpBrzH,KAAM,YAINozH,eAAe,EACf5hE,MAAO,CACL8hE,QAAS,CAAC7pF,OAAQ/1B,OAAQxF,OAC1BqlH,QAAS,CAAC9pF,OAAQ/1B,OAAQxF,OAC1BqB,IAAK,CAACk6B,OAAQ+mE,SAEhB,KAAAoW,CAAMp1D,GAAO,MAAEq1D,IACb,MAAMlL,EAAWmL,KACX0M,EAAgB7X,EAAS1kF,IAC/B,IAAKu8F,EAAcC,SACjB,MAAO,KACL,MAAMj4F,EAAWqrF,EAAME,SAAWF,EAAME,UACxC,OAAOvrF,GAAgC,IAApBA,EAAS/e,OAAe+e,EAAS,GAAKA,CAAQ,EAGrE,MAAMk4F,EAAwB,IAAIxjB,IAC5B35C,EAAuB,IAAIw8C,IACjC,IAAI1uC,EAAU,KAId,MAAM68C,EAAiBvF,EAASqX,UAE9BS,UACExqF,EAAGgjF,EACH/H,EAAGJ,EACHN,GAAImQ,EACJxlC,GAAG,cAAEt8E,KAEL2hH,EACEI,EAAmB/hH,EAAc,OAgDvC,SAAS4xG,EAAQpI,GACfwY,GAAexY,GACfsY,EAAStY,EAAOM,EAAUuF,GAAgB,EAC5C,CACA,SAAS4S,EAAW90D,GAClB00D,EAAMr4C,SAAQ,CAACggC,EAAOp1G,KACpB,MAAMjG,EAAO+zH,GAAiB1Y,EAAMtqG,MAChC/Q,IAASg/D,EAAOh/D,IAClBg0H,EAAgB/tH,EAClB,GAEJ,CACA,SAAS+tH,EAAgB/tH,GACvB,MAAMguH,EAASP,EAAM72G,IAAI5W,IACrBguH,GAAY5vD,GAAYsjD,GAAgBsM,EAAQ5vD,GAEzCA,GACTwvD,GAAexvD,GAFfo/C,EAAQwQ,GAIVP,EAAMnnB,OAAOtmG,GACbswD,EAAKg2C,OAAOtmG,EACd,CApEAutH,EAAcU,SAAW,CAAC7Y,EAAOzjC,EAAWopC,EAAQG,EAAWE,KAC7D,MAAM8S,EAAY9Y,EAAMqL,UACxB5C,EAAKzI,EAAOzjC,EAAWopC,EAAQ,EAAGE,GAClC+K,EACEkI,EAAU9Y,MACVA,EACAzjC,EACAopC,EACAmT,EACAjT,EACAC,EACA9F,EAAM+F,aACNC,GAEF0B,IAAsB,KACpBoR,EAAUC,eAAgB,EACtBD,EAAUjiH,IACZ,QAAeiiH,EAAUjiH,GAE3B,MAAMmiH,EAAYhZ,EAAM7pD,OAAS6pD,EAAM7pD,MAAMg9D,eACzC6F,GACF9F,GAAgB8F,EAAWF,EAAU/oB,OAAQiQ,EAC/C,GACC6F,EACsE,EAI3EsS,EAAcc,WAAcjZ,IAC1B,MAAM8Y,EAAY9Y,EAAMqL,UACxB6N,GAAgBJ,EAAUjQ,GAC1BqQ,GAAgBJ,EAAUjiH,GAC1B4xG,EAAKzI,EAAOuY,EAAkB,KAAM,EAAG1S,GACvC6B,IAAsB,KAChBoR,EAAUK,KACZ,QAAeL,EAAUK,IAE3B,MAAMH,EAAYhZ,EAAM7pD,OAAS6pD,EAAM7pD,MAAMijE,iBACzCJ,GACF9F,GAAgB8F,EAAWF,EAAU/oB,OAAQiQ,GAE/C8Y,EAAUC,eAAgB,CAAI,GAC7BlT,EACsE,EA0B3EvH,IACE,IAAM,CAACnoD,EAAM8hE,QAAS9hE,EAAM+hE,WAC5B,EAAED,EAASC,MACTD,GAAWQ,GAAY9zH,GAAS8O,GAAQwkH,EAAStzH,KACjDuzH,GAAWO,GAAY9zH,IAAU8O,GAAQykH,EAASvzH,IAAM,GAG1D,CAAEm0C,MAAO,OAAQ/gB,MAAM,IAEzB,IAAIshG,EAAkB,KACtB,MAAMC,EAAe,KACI,MAAnBD,IACEE,GAAWjZ,EAAS8K,QAAQ11G,MAC9BgyG,IAAsB,KACpB2Q,EAAMt7G,IAAIs8G,EAAiBG,GAAclZ,EAAS8K,SAAS,GAC1D9K,EAAS8K,QAAQuM,UAEpBU,EAAMt7G,IAAIs8G,EAAiBG,GAAclZ,EAAS8K,UAEtD,EAiBF,OAfAnB,GAAUqP,GACVG,GAAUH,GACVpP,IAAgB,KACdmO,EAAMr4C,SAAS44C,IACb,MAAM,QAAExN,EAAO,SAAEuM,GAAarX,EACxBN,EAAQwZ,GAAcpO,GAC5B,GAAIwN,EAAOljH,OAASsqG,EAAMtqG,MAAQkjH,EAAOhuH,MAAQo1G,EAAMp1G,IAMvDw9G,EAAQwQ,OANR,CACEJ,GAAexY,GACf,MAAMmZ,EAAKnZ,EAAMqL,UAAU8N,GAC3BA,GAAMzR,GAAsByR,EAAIxB,EAElC,CACe,GACf,IAEG,KAEL,GADA0B,EAAkB,MACb7N,EAAME,QACT,OAAO1iD,EAAU,KAEnB,MAAM7oC,EAAWqrF,EAAME,UACjBgO,EAAWv5F,EAAS,GAC1B,GAAIA,EAAS/e,OAAS,EAKpB,OADA4nD,EAAU,KACH7oC,EACF,IAAKw5F,GAAQD,MAAoC,EAArBA,EAAS9S,cAAyC,IAArB8S,EAAS9S,WAEvE,OADA59C,EAAU,KACH0wD,EAET,IAAI1Z,EAAQwZ,GAAcE,GAC1B,GAAI1Z,EAAMtqG,OAASy2G,GAEjB,OADAnjD,EAAU,KACHg3C,EAET,MAAMoX,EAAOpX,EAAMtqG,KACb/Q,EAAO+zH,GACXrJ,GAAerP,GAASA,EAAMtqG,KAAK45G,iBAAmB,CAAC,EAAI8H,IAEvD,QAAEa,EAAO,QAAEC,EAAO,IAAEhkH,GAAQiiD,EAClC,GAAI8hE,KAAatzH,IAAS8O,GAAQwkH,EAAStzH,KAAUuzH,GAAWvzH,GAAQ8O,GAAQykH,EAASvzH,GAGvF,OAFAq7G,EAAM4G,YAAa,IACnB59C,EAAUg3C,EACH0Z,EAET,MAAM9uH,EAAmB,MAAbo1G,EAAMp1G,IAAcwsH,EAAOpX,EAAMp1G,IACvCgvH,EAAcvB,EAAM72G,IAAI5W,GAyB9B,OAxBIo1G,EAAM2E,KACR3E,EAAQ+N,GAAW/N,GACM,IAArB0Z,EAAS9S,YACX8S,EAASzL,UAAYjO,IAGzBqZ,EAAkBzuH,EACdgvH,GACF5Z,EAAM2E,GAAKiV,EAAYjV,GACvB3E,EAAMqL,UAAYuO,EAAYvO,UAC1BrL,EAAMgO,YACR5B,GAAmBpM,EAAOA,EAAMgO,YAElChO,EAAM4G,WAAa,IACnB1rD,EAAKg2C,OAAOtmG,GACZswD,EAAKn4C,IAAInY,KAETswD,EAAKn4C,IAAInY,GACLsJ,GAAOgnD,EAAKpqD,KAAO6C,SAASO,EAAK,KACnCykH,EAAgBz9D,EAAKtmB,SAAS5sB,OAAOzc,QAGzCy0G,EAAM4G,WAAa,IACnB59C,EAAUg3C,EACHuZ,GAAWG,EAAShkH,MAAQgkH,EAAW1Z,CAAK,CAEvD,GAEI6Z,GAAY,0BAAa,KAAb,GAClB,SAASpmH,GAAQqmH,EAASn1H,GACxB,OAAI,QAAQm1H,GACHA,EAAQrjB,MAAM7oE,GAAMn6B,GAAQm6B,EAAGjpC,MAC7B,QAASm1H,GACXA,EAAQp4C,MAAM,KAAKwtB,SAASvqG,MAC1B,QAASm1H,KAClBA,EAAQC,UAAY,EACbD,EAAQrpH,KAAK9L,GAGxB,CACA,SAASq1H,GAAYv+F,EAAMhmB,GACzBwkH,GAAsBx+F,EAAM,IAAKhmB,EACnC,CACA,SAASykH,GAAcz+F,EAAMhmB,GAC3BwkH,GAAsBx+F,EAAM,KAAMhmB,EACpC,CACA,SAASwkH,GAAsBx+F,EAAM/lB,EAAMD,EAASgiH,IAClD,MAAM0C,EAAc1+F,EAAK2+F,QAAU3+F,EAAK2+F,MAAQ,KAC9C,IAAIpxD,EAAUvzD,EACd,MAAOuzD,EAAS,CACd,GAAIA,EAAQ+vD,cACV,OAEF/vD,EAAUA,EAAQ+mC,MACpB,CACA,OAAOt0E,GAAM,GAGf,GADA4+F,GAAW3kH,EAAMykH,EAAa1kH,GAC1BA,EAAQ,CACV,IAAIuzD,EAAUvzD,EAAOs6F,OACrB,MAAO/mC,GAAWA,EAAQ+mC,OACpB+d,GAAY9kD,EAAQ+mC,OAAOiQ,QAC7Bsa,GAAsBH,EAAazkH,EAAMD,EAAQuzD,GAEnDA,EAAUA,EAAQ+mC,MAEtB,CACF,CACA,SAASuqB,GAAsB7+F,EAAM/lB,EAAMD,EAAQ8kH,GACjD,MAAMC,EAAWH,GACf3kH,EACA+lB,EACA8+F,GACA,GAGFE,IAAY,MACV,QAAOF,EAAc7kH,GAAO8kH,EAAS,GACpC/kH,EACL,CACA,SAAS+iH,GAAexY,GACtBA,EAAM4G,YAAa,IACnB5G,EAAM4G,YAAa,GACrB,CACA,SAAS4S,GAAcxZ,GACrB,OAAyB,IAAlBA,EAAM4G,UAAkB5G,EAAMiO,UAAYjO,CACnD,CAEA,SAASqa,GAAW3kH,EAAM+lB,EAAMhmB,EAASgiH,GAAiBiD,GAAU,GAClE,GAAIjlH,EAAQ,CACV,MAAM4lB,EAAQ5lB,EAAOC,KAAUD,EAAOC,GAAQ,IACxCykH,EAAc1+F,EAAKk/F,QAAUl/F,EAAKk/F,MAAQ,IAAI15G,MAClD,UACA,MAAM2uB,EAAQgrF,GAAmBnlH,GAC3B6zC,EAAMk3D,EAA2B/kF,EAAMhmB,EAAQC,EAAMuL,GAG3D,OAFA2uB,KACA,UACO0Z,CAAG,GAOZ,OALIoxE,EACFr/F,EAAMy7E,QAAQqjB,GAEd9+F,EAAM8d,KAAKghF,GAENA,CACT,CAMF,CACA,MAAMU,GAAcC,GAAc,CAACr/F,EAAMhmB,EAASgiH,MAC3CG,IAAuC,OAAdkD,GAC5BT,GAAWS,GAAW,IAAI75G,IAASwa,KAAQxa,IAAOxL,EACpD,EAEIslH,GAAgBF,GAAW,MAC3B5Q,GAAY4Q,GAAW,KACvBG,GAAiBH,GACrB,MAEIpB,GAAYoB,GAAW,KACvB3Q,GAAkB2Q,GACtB,OAEIJ,GAAcI,GAAW,MACzBI,GAAmBJ,GACvB,MAEIK,GAAoBL,GAAW,OAC/BM,GAAkBN,GAAW,OACnC,SAASO,GAAgB3/F,EAAMhmB,EAASgiH,IACtC4C,GAAW,KAAM5+F,EAAMhmB,EACzB,CAEA,MAAM4lH,GAAa,aACbC,GAAa,aACnB,SAASC,GAAiB52H,EAAM62H,GAC9B,OAAOC,GAAaJ,GAAY12H,GAAM,EAAM62H,IAAuB72H,CACrE,CACA,MAAM+2H,GAAyBjnB,OAAOknB,IAAI,SAC1C,SAASC,GAAwBvQ,GAC/B,OAAI,QAASA,GACJoQ,GAAaJ,GAAYhQ,GAAW,IAAUA,EAE9CA,GAAaqQ,EAExB,CACA,SAASG,GAAiBl3H,GACxB,OAAO82H,GAAaH,GAAY32H,EAClC,CACA,SAAS82H,GAAa/lH,EAAM/Q,EAAMm3H,GAAc,EAAMN,GAAqB,GACzE,MAAMlb,EAAW2C,GAA4BwU,GAC7C,GAAInX,EAAU,CACZ,MAAMyb,EAAYzb,EAAS5qG,KAC3B,GAAIA,IAAS2lH,GAAY,CACvB,MAAMW,EAAWtD,GACfqD,GACA,GAEF,GAAIC,IAAaA,IAAar3H,GAAQq3H,KAAa,QAASr3H,IAASq3H,KAAa,SAAW,QAASr3H,KACpG,OAAOo3H,CAEX,CACA,MAAMzyE,EAGJgG,GAAQgxD,EAAS5qG,IAASqmH,EAAUrmH,GAAO/Q,IAC3C2qD,GAAQgxD,EAASO,WAAWnrG,GAAO/Q,GAErC,OAAK2kD,GAAOkyE,EACHO,EAOFzyE,CACT,CAKF,CACA,SAASgG,GAAQ+zC,EAAU1+F,GACzB,OAAO0+F,IAAaA,EAAS1+F,IAAS0+F,GAAS,QAAS1+F,KAAU0+F,GAAS,SAAW,QAAS1+F,KACjG,CAEA,SAASs3H,GAAWn3G,EAAQo3G,EAAY7D,EAAOlsE,GAC7C,IAAI6wD,EACJ,MAAM4b,EAASP,GAASA,EAAMlsE,GACxBgwE,GAAgB,QAAQr3G,GAC9B,GAAIq3G,IAAiB,QAASr3G,GAAS,CACrC,MAAMs3G,EAAwBD,IAAiB,QAAWr3G,GAC1D,IAAIoyF,GAAY,EACZklB,IACFllB,IAAa,QAAUpyF,GACvBA,GAAS,QAAiBA,IAE5Bk4F,EAAM,IAAInqG,MAAMiS,EAAO1D,QACvB,IAAK,IAAInW,EAAI,EAAGmhE,EAAItnD,EAAO1D,OAAQnW,EAAImhE,EAAGnhE,IACxC+xG,EAAI/xG,GAAKixH,EACPhlB,GAAY,QAAWpyF,EAAO7Z,IAAM6Z,EAAO7Z,GAC3CA,OACA,EACA2tH,GAAUA,EAAO3tH,GAGvB,MAAO,GAAsB,kBAAX6Z,EAAqB,CACjC,EAGJk4F,EAAM,IAAInqG,MAAMiS,GAChB,IAAK,IAAI7Z,EAAI,EAAGA,EAAI6Z,EAAQ7Z,IAC1B+xG,EAAI/xG,GAAKixH,EAAWjxH,EAAI,EAAGA,OAAG,EAAQ2tH,GAAUA,EAAO3tH,GAE3D,MAAO,IAAI,QAAS6Z,GAClB,GAAIA,EAAO2vF,OAAOvT,UAChB8b,EAAMnqG,MAAM07B,KACVzpB,GACA,CAAC8f,EAAM35B,IAAMixH,EAAWt3F,EAAM35B,OAAG,EAAQ2tH,GAAUA,EAAO3tH,UAEvD,CACL,MAAMiwD,EAAO9lC,OAAO8lC,KAAKp2C,GACzBk4F,EAAM,IAAInqG,MAAMqoD,EAAK95C,QACrB,IAAK,IAAInW,EAAI,EAAGmhE,EAAIlR,EAAK95C,OAAQnW,EAAImhE,EAAGnhE,IAAK,CAC3C,MAAML,EAAMswD,EAAKjwD,GACjB+xG,EAAI/xG,GAAKixH,EAAWp3G,EAAOla,GAAMA,EAAKK,EAAG2tH,GAAUA,EAAO3tH,GAC5D,CACF,MAEA+xG,EAAM,GAKR,OAHIqb,IACFA,EAAMlsE,GAAS6wD,GAEVA,CACT,CAEA,SAASqf,GAAY7Q,EAAO8Q,GAC1B,IAAK,IAAIrxH,EAAI,EAAGA,EAAIqxH,EAAal7G,OAAQnW,IAAK,CAC5C,MAAMsxH,EAAOD,EAAarxH,GAC1B,IAAI,QAAQsxH,GACV,IAAK,IAAI9tF,EAAI,EAAGA,EAAI8tF,EAAKn7G,OAAQqtB,IAC/B+8E,EAAM+Q,EAAK9tF,GAAG9pC,MAAQ43H,EAAK9tF,GAAGxvB,QAEvBs9G,IACT/Q,EAAM+Q,EAAK53H,MAAQ43H,EAAK3xH,IAAM,IAAIqW,KAChC,MAAMqoC,EAAMizE,EAAKt9G,MAAMgC,GAEvB,OADIqoC,IAAKA,EAAI1+C,IAAM2xH,EAAK3xH,KACjB0+C,CAAG,EACRizE,EAAKt9G,GAEb,CACA,OAAOusG,CACT,CAEA,SAASgR,GAAWhR,EAAO7mH,EAAMwxD,EAAQ,CAAC,EAAG34C,EAAUi/G,GACrD,GAAIxZ,EAAyBmE,IAAMnE,EAAyBlT,QAAUsf,GAAepM,EAAyBlT,SAAWkT,EAAyBlT,OAAOqX,GAEvJ,MADa,YAATziH,IAAoBwxD,EAAMxxD,KAAOA,GAC9B+3H,KAAaC,GAClBrO,GACA,KACA,CAAC2D,GAAY,OAAQ97D,EAAO34C,GAAYA,MACxC,IAGJ,IAAI++G,EAAO/Q,EAAM7mH,GAOb43H,GAAQA,EAAK3wC,KACf2wC,EAAK1wC,IAAK,GAEZ6wC,KACA,MAAME,EAAmBL,GAAQM,GAAiBN,EAAKpmE,IACjD2mE,EAAU3mE,EAAMvrD,KAEtBgyH,GAAoBA,EAAiBhyH,IAC/BmyH,EAAWJ,GACfrO,GACA,CACE1jH,KAAMkyH,KAAY,QAASA,GAAWA,EAAU,IAAIn4H,OAClDi4H,GAAoBp/G,EAAW,MAAQ,KAE3Co/G,IAAqBp/G,EAAWA,IAAa,IAC7Co/G,GAAgC,IAAZpR,EAAMwR,EAAU,IAAM,GAQ5C,OANKP,GAAaM,EAASE,UACzBF,EAAShX,aAAe,CAACgX,EAASE,QAAU,OAE1CV,GAAQA,EAAK3wC,KACf2wC,EAAK1wC,IAAK,GAELkxC,CACT,CACA,SAASF,GAAiBK,GACxB,OAAOA,EAAOzmB,MAAM+R,IACbmR,GAAQnR,IACTA,EAAM9yG,OAASy2G,MACf3D,EAAM9yG,OAAS44G,KAAauO,GAAiBrU,EAAMroF,aAGpD+8F,EAAS,IAChB,CAEA,SAASC,GAAWluH,EAAKmuH,GACvB,MAAMpgB,EAAM,CAAC,EAKb,IAAK,MAAMpyG,KAAOqE,EAChB+tG,EAAIogB,GAA2B,QAAQ3sH,KAAK7F,GAAO,MAAMA,KAAQ,QAAaA,IAAQqE,EAAIrE,GAE5F,OAAOoyG,CACT,CAEA,MAAMqgB,GAAqBpyH,GACpBA,EACDqyH,GAAoBryH,GAAW+4G,GAA2B/4G,GACvDoyH,GAAkBpyH,EAAE8kG,QAFZ,KAIXwtB,IAGY,QAAuBnoG,OAAOqK,OAAO,MAAO,CAC1D+9F,EAAIvyH,GAAMA,EACVwyH,IAAMxyH,GAAMA,EAAE+0G,MAAM2E,GACpB+Y,MAAQzyH,GAAMA,EAAEV,KAChBozH,OAAS1yH,GAA6EA,EAAEkrD,MACxFynE,OAAS3yH,GAA6EA,EAAE4yH,MACxFC,OAAS7yH,GAA6EA,EAAEugH,MACxFuS,MAAQ9yH,GAA4EA,EAAE8jH,KACtFiP,QAAU/yH,GAAMoyH,GAAkBpyH,EAAE8kG,QACpCkuB,MAAQhzH,GAAMoyH,GAAkBpyH,EAAEizH,MAClCC,MAAQlzH,GAAMA,EAAEm8G,GAChBgX,MAAQnzH,GAAMA,EAAEuuF,KAChB6kC,SAAWpzH,GAA4BqzH,GAAqBrzH,GAC5DszH,aAAetzH,GAAMA,EAAEuxB,IAAMvxB,EAAEuxB,EAAI,KACjCylF,EAASh3G,EAAEg5B,OAAO,GAEpBu6F,UAAYvzH,GAAMA,EAAE0W,IAAM1W,EAAE0W,EAAIggG,EAASv9F,KAAKnZ,EAAEy1B,QAChD+9F,OAASxzH,GAA4ByzH,GAAct6G,KAAKnZ,KAItD0zH,GAAkB,CAAC7/G,EAAOlU,IAAQkU,IAAU,OAAcA,EAAM8/G,kBAAmB,QAAO9/G,EAAOlU,GACjGi0H,GAA8B,CAClC,GAAAr9G,EAAMw7G,EAAG1c,GAAY11G,GACnB,GAAY,aAARA,EACF,OAAO,EAET,MAAM,IAAEgxB,EAAG,WAAE6zF,EAAU,KAAEllH,EAAI,MAAE4rD,EAAK,YAAE2oE,EAAW,KAAEppH,EAAI,WAAEmrG,GAAeP,EAIxE,IAAIye,EACJ,GAAe,MAAXn0H,EAAI,GAAY,CAClB,MAAM+W,EAAIm9G,EAAYl0H,GACtB,QAAU,IAAN+W,EACF,OAAQA,GACN,KAAK,EACH,OAAO8tG,EAAW7kH,GACpB,KAAK,EACH,OAAOL,EAAKK,GACd,KAAK,EACH,OAAOgxB,EAAIhxB,GACb,KAAK,EACH,OAAOurD,EAAMvrD,OAEZ,IAAI+zH,GAAgBlP,EAAY7kH,GAErC,OADAk0H,EAAYl0H,GAAO,EACZ6kH,EAAW7kH,GACb,GAAIL,IAAS,OAAa,QAAOA,EAAMK,GAE5C,OADAk0H,EAAYl0H,GAAO,EACZL,EAAKK,GACP,IAGJm0H,EAAkBze,EAAS0e,aAAa,MAAO,QAAOD,EAAiBn0H,GAGxE,OADAk0H,EAAYl0H,GAAO,EACZurD,EAAMvrD,GACR,GAAIgxB,IAAQ,OAAa,QAAOA,EAAKhxB,GAE1C,OADAk0H,EAAYl0H,GAAO,EACZgxB,EAAIhxB,GACsBq0H,KACjCH,EAAYl0H,GAAO,EACrB,CACF,CACA,MAAMs0H,EAAe3B,GAAoB3yH,GACzC,IAAIu0H,EAAWC,EACf,OAAIF,GACU,WAARt0H,IACF,QAAM01G,EAASud,MAAO,MAAO,IAKxBqB,EAAa5e,KAGnB6e,EAAYzpH,EAAK2pH,gBAAkBF,EAAYA,EAAUv0H,IAEnDu0H,EACEvjG,IAAQ,OAAa,QAAOA,EAAKhxB,IAC1Ck0H,EAAYl0H,GAAO,EACZgxB,EAAIhxB,KAGXw0H,EAAmBve,EAAWnpG,OAAO0nH,kBAAkB,QAAOA,EAAkBx0H,GAGvEw0H,EAAiBx0H,QALrB,EAsBT,EACA,GAAAmS,EAAMigH,EAAG1c,GAAY11G,EAAKW,GACxB,MAAM,KAAEhB,EAAI,WAAEklH,EAAU,IAAE7zF,GAAQ0kF,EAClC,OAAIqe,GAAgBlP,EAAY7kH,IAC9B6kH,EAAW7kH,GAAOW,GACX,GAIEhB,IAAS,OAAa,QAAOA,EAAMK,IAC5CL,EAAKK,GAAOW,GACL,KACE,QAAO+0G,EAASnqD,MAAOvrD,MAInB,MAAXA,EAAI,MAAcA,EAAIquC,MAAM,KAAMqnE,MAalC1kF,EAAIhxB,GAAOW,GAGR,GACT,EACA,GAAA0lG,EACE+rB,GAAG,KAAEzyH,EAAI,WAAEklH,EAAU,YAAEqP,EAAW,IAAEljG,EAAG,WAAEilF,EAAU,aAAEme,IACpDp0H,GACD,IAAIm0H,EACJ,QAASD,EAAYl0H,IAAQL,IAAS,OAAa,QAAOA,EAAMK,IAAQ+zH,GAAgBlP,EAAY7kH,KAASm0H,EAAkBC,EAAa,MAAO,QAAOD,EAAiBn0H,KAAQ,QAAOgxB,EAAKhxB,KAAQ,QAAO2yH,GAAqB3yH,KAAQ,QAAOi2G,EAAWnpG,OAAO0nH,iBAAkBx0H,EACxR,EACA,cAAAokH,CAAev5G,EAAQ7K,EAAK+iG,GAM1B,OALsB,MAAlBA,EAAWnsF,IACb/L,EAAOunH,EAAE8B,YAAYl0H,GAAO,GACnB,QAAO+iG,EAAY,UAC5BpoG,KAAKwX,IAAItH,EAAQ7K,EAAK+iG,EAAWpiG,MAAO,MAEnCgtG,QAAQyW,eAAev5G,EAAQ7K,EAAK+iG,EAC7C,GAUF,MAAM2xB,IAA6D,QAAO,CAAC,EAAGT,GAA6B,CACzG,GAAAr9G,CAAI/L,EAAQ7K,GACV,GAAIA,IAAQ6pG,OAAOlT,YAGnB,OAAOs9B,GAA4Br9G,IAAI/L,EAAQ7K,EAAK6K,EACtD,EACA,GAAAw7F,CAAI+rB,EAAGpyH,GACL,MAAMqmG,EAAiB,MAAXrmG,EAAI,MAAe,QAAkBA,GAQjD,OAAOqmG,CACT,IA8DF,SAASsuB,KAIP,OAAO,IACT,CACA,SAASC,KAIP,OAAO,IACT,CACA,SAASC,GAAaC,GAChB,CAGN,CACA,SAASC,GAAclqC,GACjB,CAGN,CACA,SAASmqC,KAIP,OAAO,IACT,CACA,SAASC,KACH,CAGN,CACA,SAASC,GAAa3pE,EAAOl/B,GAI3B,OAAO,IACT,CACA,SAAS8oG,KACP,OAAOC,KAAaxU,KACtB,CACA,SAASyU,KACP,OAAOD,KAAanC,KACtB,CACA,SAASmC,KACP,MAAM/0H,EAAIwgH,KAIV,OAAOxgH,EAAEi1H,eAAiBj1H,EAAEi1H,aAAeC,GAAmBl1H,GAChE,CACA,SAASm1H,GAAsBjqE,GAC7B,OAAO,QAAQA,GAASA,EAAMogD,QAC5B,CAAC8pB,EAAYzyF,KAAOyyF,EAAWzyF,GAAK,KAAMyyF,IAC1C,CAAC,GACClqE,CACN,CACA,SAASmqE,GAAc5xB,EAAKz3E,GAC1B,MAAMk/B,EAAQiqE,GAAsB1xB,GACpC,IAAK,MAAM9jG,KAAOqsB,EAAU,CAC1B,GAAIrsB,EAAI21H,WAAW,UAAW,SAC9B,IAAIC,EAAMrqE,EAAMvrD,GACZ41H,GACE,QAAQA,KAAQ,QAAWA,GAC7BA,EAAMrqE,EAAMvrD,GAAO,CAAE8K,KAAM8qH,EAAK9U,QAASz0F,EAASrsB,IAElD41H,EAAI9U,QAAUz0F,EAASrsB,GAER,OAAR41H,IACTA,EAAMrqE,EAAMvrD,GAAO,CAAE8gH,QAASz0F,EAASrsB,KAIrC41H,GAAOvpG,EAAS,UAAUrsB,OAC5B41H,EAAIC,aAAc,EAEtB,CACA,OAAOtqE,CACT,CACA,SAASuqE,GAAY7pH,EAAGm3B,GACtB,OAAKn3B,GAAMm3B,GACP,QAAQn3B,KAAM,QAAQm3B,GAAWn3B,EAAEd,OAAOi4B,IACvC,QAAO,CAAC,EAAGoyF,GAAsBvpH,GAAIupH,GAAsBpyF,IAF7Cn3B,GAAKm3B,CAG5B,CACA,SAAS2yF,GAAqBxqE,EAAOyqE,GACnC,MAAM5jB,EAAM,CAAC,EACb,IAAK,MAAMpyG,KAAOurD,EACXyqE,EAAa1xB,SAAStkG,IACzBwqB,OAAO45F,eAAehS,EAAKpyG,EAAK,CAC9By0F,YAAY,EACZ79E,IAAK,IAAM20C,EAAMvrD,KAIvB,OAAOoyG,CACT,CACA,SAAS6jB,GAAiBC,GACxB,MAAMllG,EAAM6vF,KAMZ,IAAIsV,EAAYD,IAQhB,OAPAE,MACI,QAAUD,KACZA,EAAYA,EAAU9gD,OAAO5zE,IAE3B,MADAuuH,GAAmBh/F,GACbvvB,CAAC,KAGJ,CAAC00H,EAAW,IAAMnG,GAAmBh/F,GAC9C,CAYA,IAAIqjG,IAAoB,EACxB,SAASgC,GAAa3gB,GACpB,MAAM7qB,EAAU6oC,GAAqBhe,GAC/B4gB,EAAa5gB,EAAS5/E,MACtB9E,EAAM0kF,EAAS1kF,IACrBqjG,IAAoB,EAChBxpC,EAAQ0rC,cACVlU,GAASx3B,EAAQ0rC,aAAc7gB,EAAU,MAE3C,MAEE/1G,KAAM62H,EACNnuB,SAAUouB,EAAe,QACzBC,EACAhjB,MAAOijB,EACPC,QAASC,EACTC,OAAQC,EAAa,QAErBC,EAAO,YACPC,EAAW,QACXxd,EAAO,aACPyd,EAAY,QACZxd,EAAO,UACPyd,EAAS,YACTC,EAAW,cACXC,EAAa,cACbC,EAAa,UACbC,EAAS,UACTC,EAAS,OACTC,EAAM,cACNC,EAAa,gBACbC,EAAe,cACfC,EAAa,eACbC,EAAc,OAEdC,EAAM,aACNC,EAAY,WAEZC,EAAU,WACV7e,EAAU,QACV8e,GACEptC,EACEqtC,EAAkG,KAYxG,GAHInB,GACFoB,GAAkBpB,EAAe/lG,EAAKknG,GAEpCxB,EACF,IAAK,MAAM12H,KAAO02H,EAAS,CACzB,MAAM0B,EAAgB1B,EAAQ12H,IAC1B,QAAWo4H,KASXpnG,EAAIhxB,GAAOo4H,EAAc5+G,KAAK88G,GAUpC,CAEF,GAAIE,EAAa,CACX,EAKJ,MAAM72H,EAAO62H,EAAY97H,KAAK47H,EAAYA,GACtC,GAKC,QAAS32H,KAGZ+1G,EAAS/1G,MAAO,QAASA,GAe7B,CAEA,GADA00H,IAAoB,EAChBoC,EACF,IAAK,MAAMz2H,KAAOy2H,EAAiB,CACjC,MAAMb,EAAMa,EAAgBz2H,GACtB4W,GAAM,QAAWg/G,GAAOA,EAAIp8G,KAAK88G,EAAYA,IAAc,QAAWV,EAAIh/G,KAAOg/G,EAAIh/G,IAAI4C,KAAK88G,EAAYA,GAAc,KAC1H,EAGJ,MAAMnkH,IAAO,QAAWyjH,KAAQ,QAAWA,EAAIzjH,KAAOyjH,EAAIzjH,IAAIqH,KAAK88G,GAI/D,KACE5gH,EAAI2yF,GAAS,CACjBzxF,MACAzE,QAEFqY,OAAO45F,eAAepzF,EAAKhxB,EAAK,CAC9By0F,YAAY,EACZyE,cAAc,EACdtiF,IAAK,IAAMlB,EAAE/U,MACbwR,IAAMY,GAAM2C,EAAE/U,MAAQoS,GAK1B,CAEF,GAAI4jH,EACF,IAAK,MAAM32H,KAAO22H,EAChB0B,GAAc1B,EAAa32H,GAAMgxB,EAAKslG,EAAYt2H,GAGtD,GAAI62H,EAAgB,CAClB,MAAMyB,GAAW,QAAWzB,GAAkBA,EAAen8H,KAAK47H,GAAcO,EAChFlpB,QAAQU,QAAQiqB,GAAUljD,SAASp1E,IACjC42H,GAAQ52H,EAAKs4H,EAASt4H,GAAK,GAE/B,CAIA,SAASu4H,EAAsBC,EAAU3nG,IACnC,QAAQA,GACVA,EAAKukD,SAASqjD,GAAUD,EAASC,EAAMj/G,KAAK88G,MACnCzlG,GACT2nG,EAAS3nG,EAAKrX,KAAK88G,GAEvB,CAaA,GAtBIU,GACF3U,GAAS2U,EAASthB,EAAU,KAS9B6iB,EAAsBpI,GAAe8G,GACrCsB,EAAsBlZ,GAAW5F,GACjC8e,EAAsBnI,GAAgB8G,GACtCqB,EAAsB1J,GAAWnV,GACjC6e,EAAsBnJ,GAAa+H,GACnCoB,EAAsBjJ,GAAe8H,GACrCmB,EAAsB/H,GAAiBoH,GACvCW,EAAsBhI,GAAiBmH,GACvCa,EAAsBjI,GAAmBqH,GACzCY,EAAsBjZ,GAAiBgY,GACvCiB,EAAsB1I,GAAa2H,GACnCe,EAAsBlI,GAAkBwH,IACpC,QAAQC,GACV,GAAIA,EAAOthH,OAAQ,CACjB,MAAMs+G,EAAUpf,EAASof,UAAYpf,EAASof,QAAU,CAAC,GACzDgD,EAAO1iD,SAASp1E,IACdwqB,OAAO45F,eAAe0Q,EAAS90H,EAAK,CAClC4W,IAAK,IAAM0/G,EAAWt2H,GACtBmS,IAAM6oC,GAAQs7E,EAAWt2H,GAAOg7C,GAChC,GAEN,MAAY06D,EAASof,UACnBpf,EAASof,QAAU,CAAC,GAGpB2C,GAAU/hB,EAAS+hB,SAAW,OAChC/hB,EAAS+hB,OAASA,GAEA,MAAhBM,IACFriB,EAASqiB,aAAeA,GAEtBC,IAAYtiB,EAASsiB,WAAaA,GAClC7e,IAAYzD,EAASyD,WAAaA,GAClC0e,GACF5T,GAAkBvO,EAEtB,CACA,SAASyiB,GAAkBpB,EAAe/lG,EAAKknG,EAA2B,OACpE,QAAQnB,KACVA,EAAgB2B,GAAgB3B,IAElC,IAAK,MAAM/2H,KAAO+2H,EAAe,CAC/B,MAAMnB,EAAMmB,EAAc/2H,GAC1B,IAAI4vH,EAGAA,GAFA,QAASgG,GACP,YAAaA,EACJkB,GACTlB,EAAIjyF,MAAQ3jC,EACZ41H,EAAI9U,SACJ,GAGSgW,GAAOlB,EAAIjyF,MAAQ3jC,GAGrB82H,GAAOlB,IAEhB,QAAMhG,GACRplG,OAAO45F,eAAepzF,EAAKhxB,EAAK,CAC9By0F,YAAY,EACZyE,cAAc,EACdtiF,IAAK,IAAMg5G,EAASjvH,MACpBwR,IAAMY,GAAM68G,EAASjvH,MAAQoS,IAG/Bie,EAAIhxB,GAAO4vH,CAKf,CACF,CACA,SAASvN,GAASxxF,EAAM6kF,EAAU5qG,GAChC8qG,GACE,QAAQ/kF,GAAQA,EAAK5wB,KAAK+W,GAAMA,EAAEwC,KAAKk8F,EAAS5/E,SAAUjF,EAAKrX,KAAKk8F,EAAS5/E,OAC7E4/E,EACA5qG,EAEJ,CACA,SAASutH,GAAcv0B,EAAK9yE,EAAKslG,EAAYt2H,GAC3C,IAAI+X,EAAS/X,EAAIskG,SAAS,KAAOq0B,GAAiBrC,EAAYt2H,GAAO,IAAMs2H,EAAWt2H,GACtF,IAAI,QAAS8jG,GAAM,CACjB,MAAM1vF,EAAU4c,EAAI8yE,IAChB,QAAW1vF,IAEXs/F,GAAM37F,EAAQ3D,EAKpB,MAAO,IAAI,QAAW0vF,GAElB4P,GAAM37F,EAAQ+rF,EAAItqF,KAAK88G,SAEpB,IAAI,QAASxyB,GAClB,IAAI,QAAQA,GACVA,EAAI1uB,SAAS67B,GAAMonB,GAAcpnB,EAAGjgF,EAAKslG,EAAYt2H,SAChD,CACL,MAAMoU,GAAU,QAAW0vF,EAAI1vF,SAAW0vF,EAAI1vF,QAAQoF,KAAK88G,GAActlG,EAAI8yE,EAAI1vF,UAC7E,QAAWA,IACbs/F,GAAM37F,EAAQ3D,EAAS0vF,EAI3B,MACS,CAGb,CACA,SAAS4vB,GAAqBhe,GAC5B,MAAMkjB,EAAOljB,EAAS5qG,MAChB,OAAE+tH,EAAQC,QAASC,GAAmBH,GAE1CC,OAAQG,EACRC,aAAcxL,EACd3gH,QAAQ,sBAAEosH,IACRxjB,EAASO,WACP+X,EAASP,EAAM72G,IAAIgiH,GACzB,IAAIhxE,EAmBJ,OAlBIomE,EACFpmE,EAAWomE,EACDgL,EAAaxiH,QAAWqiH,GAAWE,GAK7CnxE,EAAW,CAAC,EACRoxE,EAAaxiH,QACfwiH,EAAa5jD,SACV6oC,GAAMkb,GAAavxE,EAAUq2D,EAAGib,GAAuB,KAG5DC,GAAavxE,EAAUgxE,EAAMM,IAT3BtxE,EAAWgxE,GAWX,QAASA,IACXnL,EAAMt7G,IAAIymH,EAAMhxE,GAEXA,CACT,CACA,SAASuxE,GAAaz1F,EAAIC,EAAMy1F,EAAQC,GAAU,GAChD,MAAM,OAAER,EAAQC,QAASC,GAAmBp1F,EACxCo1F,GACFI,GAAaz1F,EAAIq1F,EAAgBK,GAAQ,GAEvCP,GACFA,EAAOzjD,SACJ6oC,GAAMkb,GAAaz1F,EAAIu6E,EAAGmb,GAAQ,KAGvC,IAAK,MAAMp5H,KAAO2jC,EAChB,GAAI01F,GAAmB,WAARr5H,OAIR,CACL,MAAMs5H,EAAQC,GAA0Bv5H,IAAQo5H,GAAUA,EAAOp5H,GACjE0jC,EAAG1jC,GAAOs5H,EAAQA,EAAM51F,EAAG1jC,GAAM2jC,EAAK3jC,IAAQ2jC,EAAK3jC,EACrD,CAEF,OAAO0jC,CACT,CACA,MAAM61F,GAA4B,CAChC55H,KAAM65H,GACNjuE,MAAOkuE,GACPC,MAAOD,GAEP/C,QAASiD,GACTtxB,SAAUsxB,GAEVpD,aAAcqD,GACd5C,QAAS4C,GACT3C,YAAa2C,GACbngB,QAASmgB,GACT1C,aAAc0C,GACdlgB,QAASkgB,GACTvC,cAAeuC,GACftC,cAAesC,GACfrC,UAAWqC,GACXpC,UAAWoC,GACXzC,UAAWyC,GACXxC,YAAawC,GACbhC,cAAegC,GACf/B,eAAgB+B,GAEhB5B,WAAY2B,GACZxgB,WAAYwgB,GAEZjmB,MAAOmmB,GAEPjD,QAAS4C,GACT1C,OAAQgD,IAEV,SAASN,GAAY91F,EAAIC,GACvB,OAAKA,EAGAD,EAGE,WACL,OAAO,EAAC,OACN,QAAWA,GAAMA,EAAGhpC,KAAKC,KAAMA,MAAQ+oC,GACvC,QAAWC,GAAQA,EAAKjpC,KAAKC,KAAMA,MAAQgpC,EAE/C,EAPSA,EAHAD,CAWX,CACA,SAASo2F,GAAYp2F,EAAIC,GACvB,OAAOg2F,GAAmBjB,GAAgBh1F,GAAKg1F,GAAgB/0F,GACjE,CACA,SAAS+0F,GAAgB50B,GACvB,IAAI,QAAQA,GAAM,CAChB,MAAMplD,EAAM,CAAC,EACb,IAAK,IAAIr+C,EAAI,EAAGA,EAAIyjG,EAAIttF,OAAQnW,IAC9Bq+C,EAAIolD,EAAIzjG,IAAMyjG,EAAIzjG,GAEpB,OAAOq+C,CACT,CACA,OAAOolD,CACT,CACA,SAAS81B,GAAal2F,EAAIC,GACxB,OAAOD,EAAK,IAAI,IAAIopE,IAAI,GAAG3hG,OAAOu4B,EAAIC,KAAUA,CAClD,CACA,SAASg2F,GAAmBj2F,EAAIC,GAC9B,OAAOD,GAAK,QAAuBlZ,OAAOqK,OAAO,MAAO6O,EAAIC,GAAQA,CACtE,CACA,SAAS81F,GAAyB/1F,EAAIC,GACpC,OAAID,GACE,QAAQA,KAAO,QAAQC,GAClB,IAAoB,IAAImpE,IAAI,IAAIppE,KAAOC,MAEzC,QACWnZ,OAAOqK,OAAO,MAC9B2gG,GAAsB9xF,GACtB8xF,GAA8B,MAAR7xF,EAAeA,EAAO,CAAC,IAGxCA,CAEX,CACA,SAASk2F,GAAkBn2F,EAAIC,GAC7B,IAAKD,EAAI,OAAOC,EAChB,IAAKA,EAAM,OAAOD,EAClB,MAAMq2F,GAAS,QAAuBvvG,OAAOqK,OAAO,MAAO6O,GAC3D,IAAK,MAAM1jC,KAAO2jC,EAChBo2F,EAAO/5H,GAAO45H,GAAal2F,EAAG1jC,GAAM2jC,EAAK3jC,IAE3C,OAAO+5H,CACT,CAEA,SAASC,KACP,MAAO,CACLlxE,IAAK,KACLh8C,OAAQ,CACNmtH,YAAa,EAAAC,GACbpiD,aAAa,EACb08C,iBAAkB,CAAC,EACnB0E,sBAAuB,CAAC,EACxBnjB,kBAAc,EACdokB,iBAAa,EACbC,gBAAiB,CAAC,GAEpBvB,OAAQ,GACRb,WAAY,CAAC,EACb7e,WAAY,CAAC,EACbmf,SAA0B9tG,OAAOqK,OAAO,MACxCokG,aAA8B,IAAItvB,QAClC0wB,WAA4B,IAAI1wB,QAChC2wB,WAA4B,IAAI3wB,QAEpC,CACA,IAAI4wB,GAAQ,EACZ,SAASC,GAAa/C,EAAQ3Z,GAC5B,OAAO,SAAmB2c,EAAeC,EAAY,OAC9C,QAAWD,KACdA,GAAgB,QAAO,CAAC,EAAGA,IAEZ,MAAbC,IAAsB,QAASA,KAEjCA,EAAY,MAEd,MAAMrkG,EAAU2jG,KACVW,EAAmC,IAAI50B,QACvC60B,EAAmB,GACzB,IAAI3b,GAAY,EAChB,MAAMn2D,EAAMzyB,EAAQyyB,IAAM,CACxB+xE,KAAMN,KACNO,WAAYL,EACZM,OAAQL,EACRM,WAAY,KACZjoD,SAAU18C,EACV4kG,UAAW,KACXr9G,WACA,UAAI9Q,GACF,OAAOupB,EAAQvpB,MACjB,EACA,UAAIA,CAAOiG,GACL,CAKN,EACA,GAAAwB,CAAIujB,KAAW+yD,GAcb,OAbI8vC,EAAiBt0B,IAAIvuE,KAEdA,IAAU,QAAWA,EAAOojG,UACrCP,EAAiBxiH,IAAI2f,GACrBA,EAAOojG,QAAQpyE,KAAQ+hC,KACd,QAAW/yD,KACpB6iG,EAAiBxiH,IAAI2f,GACrBA,EAAOgxB,KAAQ+hC,KAMV/hC,CACT,EACA,KAAAqyE,CAAMA,GAYJ,OAVO9kG,EAAQwiG,OAAOv0B,SAAS62B,IAC3B9kG,EAAQwiG,OAAOtqF,KAAK4sF,GASjBryE,CACT,EACA,SAAA23D,CAAU1mH,EAAM0mH,GAId,OAAKA,GAMLpqF,EAAQ2hG,WAAWj+H,GAAQ0mH,EACpB33D,GANEzyB,EAAQ2hG,WAAWj+H,EAO9B,EACA,SAAAqhI,CAAUrhI,EAAMqhI,GAId,OAAKA,GAML/kG,EAAQ8iF,WAAWp/G,GAAQqhI,EACpBtyE,GANEzyB,EAAQ8iF,WAAWp/G,EAO9B,EACA,KAAAqiH,CAAMif,EAAeC,EAAWpgB,GAC9B,IAAK+D,EAAW,CACV,EAMJ,MAAM7J,EAAQtsD,EAAIyyE,UAAYlU,GAAYoT,EAAeC,GA4BzD,OA3BAtlB,EAAMa,WAAa5/E,GACD,IAAd6kF,EACFA,EAAY,OACW,IAAdA,IACTA,OAAY,GAWVogB,GAAaxd,EACfA,EAAQ1I,EAAOimB,GAEf5D,EAAOriB,EAAOimB,EAAengB,GAE/B+D,GAAY,EACZn2D,EAAIkyE,WAAaK,EACjBA,EAAcG,YAAc1yE,EAKrBswD,GAA2BhE,EAAMqL,UAC1C,CAMF,EACA,SAAAgb,CAAUhoB,GAMRmnB,EAAiBrsF,KAAKklE,EACxB,EACA,OAAA+J,GACMyB,IACFrJ,EACEglB,EACA9xE,EAAImyE,UACJ,IAEFxD,EAAO,KAAM3uE,EAAIkyE,mBAKVlyE,EAAIkyE,WAAWQ,YAI1B,EACA,OAAA5E,CAAQ52H,EAAKW,GAOX,OADA01B,EAAQiiG,SAASt4H,GAAOW,EACjBmoD,CACT,EACA,cAAA4yE,CAAernH,GACb,MAAMsnH,EAAUC,GAChBA,GAAa9yE,EACb,IACE,OAAOz0C,GACT,CAAE,QACAunH,GAAaD,CACf,CACF,GAEF,OAAO7yE,CACT,CACF,CACA,IAAI8yE,GAAa,KAEjB,SAAShF,GAAQ52H,EAAKW,GACpB,GAAKksH,GAIE,CACL,IAAIyL,EAAWzL,GAAgByL,SAC/B,MAAMuD,EAAiBhP,GAAgB1nB,QAAU0nB,GAAgB1nB,OAAOmzB,SACpEuD,IAAmBvD,IACrBA,EAAWzL,GAAgByL,SAAW9tG,OAAOqK,OAAOgnG,IAEtDvD,EAASt4H,GAAOW,CAClB,MAVM,CAWR,CACA,SAASm2H,GAAO92H,EAAKoT,EAAc0oH,GAAwB,GACzD,MAAMpmB,EAAWmX,IAAmBxU,EACpC,GAAI3C,GAAYkmB,GAAY,CAC1B,MAAMtD,EAAWsD,GAAaA,GAAW7oD,SAASulD,SAAW5iB,EAA8B,MAAnBA,EAASvQ,OAAiBuQ,EAASN,MAAMa,YAAcP,EAASN,MAAMa,WAAWqiB,SAAW5iB,EAASvQ,OAAOmzB,cAAW,EAC/L,GAAIA,GAAYt4H,KAAOs4H,EACrB,OAAOA,EAASt4H,GACX,GAAIuW,UAAUC,OAAS,EAC5B,OAAOslH,IAAyB,QAAW1oH,GAAgBA,EAAa1Y,KAAKg7G,GAAYA,EAAS5/E,OAAS1iB,CAI/G,MAAW,CAGb,CACA,SAAS2oH,KACP,SAAUlP,IAAmBxU,GAA4BujB,GAC3D,CAEA,MAAMI,GAAsB,CAAC,EACvBC,GAAuB,IAAMzxG,OAAOqK,OAAOmnG,IAC3CE,GAAoB73H,GAAQmmB,OAAOkjF,eAAerpG,KAAS23H,GAEjE,SAASG,GAAUzmB,EAAUuL,EAAUmb,EAAY3zB,GAAQ,GACzD,MAAMl9C,EAAQ,CAAC,EACT0nE,EAAQgJ,KACdvmB,EAAS2mB,cAAgC7xG,OAAOqK,OAAO,MACvDynG,GAAa5mB,EAAUuL,EAAU11D,EAAO0nE,GACxC,IAAK,MAAMjzH,KAAO01G,EAAS0e,aAAa,GAChCp0H,KAAOurD,IACXA,EAAMvrD,QAAO,GAMbo8H,EACF1mB,EAASnqD,MAAQk9C,EAAQl9C,GAAQ,QAAgBA,GAE5CmqD,EAAS5qG,KAAKygD,MAGjBmqD,EAASnqD,MAAQA,EAFjBmqD,EAASnqD,MAAQ0nE,EAKrBvd,EAASud,MAAQA,CACnB,CAOA,SAASsJ,GAAY7mB,EAAUuL,EAAUub,EAAcphB,GACrD,MAAM,MACJ7vD,EAAK,MACL0nE,EACA7d,OAAO,UAAEuO,IACPjO,EACE+mB,GAAkB,QAAMlxE,IACvBs/B,GAAW6qB,EAAS0e,aAC3B,IAAIsI,GAAkB,EACtB,KAI+EthB,GAAauI,EAAY,IAAoB,GAAZA,EAmCzG,CAIL,IAAIgZ,EAHAL,GAAa5mB,EAAUuL,EAAU11D,EAAO0nE,KAC1CyJ,GAAkB,GAGpB,IAAK,MAAM18H,KAAOy8H,EACXxb,KACJ,QAAOA,EAAUjhH,KAEhB28H,GAAW,QAAU38H,MAAUA,IAAQ,QAAOihH,EAAU0b,MACpD9xC,GACE2xC,QACmB,IAAtBA,EAAax8H,SACa,IAA3Bw8H,EAAaG,KACXpxE,EAAMvrD,GAAO48H,GACX/xC,EACA4xC,EACAz8H,OACA,EACA01G,GACA,WAIGnqD,EAAMvrD,IAInB,GAAIizH,IAAUwJ,EACZ,IAAK,MAAMz8H,KAAOizH,EACXhS,IAAa,QAAOA,EAAUjhH,YAC1BizH,EAAMjzH,GACb08H,GAAkB,EAI1B,MArEE,GAAgB,EAAZ/Y,EAAe,CACjB,MAAMkZ,EAAgBnnB,EAASN,MAAM0nB,aACrC,IAAK,IAAIz8H,EAAI,EAAGA,EAAIw8H,EAAcrmH,OAAQnW,IAAK,CAC7C,IAAIL,EAAM68H,EAAcx8H,GACxB,GAAI08H,GAAernB,EAASsnB,aAAch9H,GACxC,SAEF,MAAMW,EAAQsgH,EAASjhH,GACvB,GAAI6qF,EACF,IAAI,QAAOooC,EAAOjzH,GACZW,IAAUsyH,EAAMjzH,KAClBizH,EAAMjzH,GAAOW,EACb+7H,GAAkB,OAEf,CACL,MAAMO,GAAe,QAASj9H,GAC9BurD,EAAM0xE,GAAgBL,GACpB/xC,EACA4xC,EACAQ,EACAt8H,EACA+0G,GACA,EAEJ,MAEI/0G,IAAUsyH,EAAMjzH,KAClBizH,EAAMjzH,GAAOW,EACb+7H,GAAkB,EAGxB,CACF,CAsCEA,IACF,QAAQhnB,EAASud,MAAO,MAAO,GAKnC,CACA,SAASqJ,GAAa5mB,EAAUuL,EAAU11D,EAAO0nE,GAC/C,MAAOpoC,EAASqyC,GAAgBxnB,EAAS0e,aACzC,IACI+I,EADAT,GAAkB,EAEtB,GAAIzb,EACF,IAAK,IAAIjhH,KAAOihH,EAAU,CACxB,IAAI,QAAejhH,GACjB,SAEF,MAAMW,EAAQsgH,EAASjhH,GACvB,IAAIo9H,EACAvyC,IAAW,QAAOA,EAASuyC,GAAW,QAASp9H,IAC5Ck9H,GAAiBA,EAAa54B,SAAS84B,IAGzCD,IAAkBA,EAAgB,CAAC,IAAIC,GAAYz8H,EAFpD4qD,EAAM6xE,GAAYz8H,EAIVo8H,GAAernB,EAASsnB,aAAch9H,IAC1CA,KAAOizH,GAAUtyH,IAAUsyH,EAAMjzH,KACrCizH,EAAMjzH,GAAOW,EACb+7H,GAAkB,EAGxB,CAEF,GAAIQ,EAAc,CAChB,MAAMT,GAAkB,QAAMlxE,GACxB8xE,EAAaF,GAAiB,KACpC,IAAK,IAAI98H,EAAI,EAAGA,EAAI68H,EAAa1mH,OAAQnW,IAAK,CAC5C,MAAML,EAAMk9H,EAAa78H,GACzBkrD,EAAMvrD,GAAO48H,GACX/xC,EACA4xC,EACAz8H,EACAq9H,EAAWr9H,GACX01G,IACC,QAAO2nB,EAAYr9H,GAExB,CACF,CACA,OAAO08H,CACT,CACA,SAASE,GAAiB/xC,EAASt/B,EAAOvrD,EAAKW,EAAO+0G,EAAU4nB,GAC9D,MAAM1H,EAAM/qC,EAAQ7qF,GACpB,GAAW,MAAP41H,EAAa,CACf,MAAM2H,GAAa,QAAO3H,EAAK,WAC/B,GAAI2H,QAAwB,IAAV58H,EAAkB,CAClC,MAAMyS,EAAewiH,EAAI9U,QACzB,GAAI8U,EAAI9qH,OAASu9E,WAAautC,EAAIC,cAAe,QAAWziH,GAAe,CACzE,MAAM,cAAEipH,GAAkB3mB,EAC1B,GAAI11G,KAAOq8H,EACT17H,EAAQ07H,EAAcr8H,OACjB,CACL,MAAMglC,EAAQgrF,GAAmBta,GACjC/0G,EAAQ07H,EAAcr8H,GAAOoT,EAAa1Y,KACxC,KACA6wD,GAEFvmB,GACF,CACF,MACErkC,EAAQyS,EAENsiG,EAAS8G,IACX9G,EAAS8G,GAAGghB,SAASx9H,EAAKW,EAE9B,CACIi1H,EAAI,KACF0H,IAAaC,EACf58H,GAAQ,GACCi1H,EAAI,IAAsC,KAAVj1H,GAAgBA,KAAU,QAAUX,KAC7EW,GAAQ,GAGd,CACA,OAAOA,CACT,CACA,MAAM88H,GAAkC,IAAI9zB,QAC5C,SAAS+zB,GAAsBlR,EAAMvW,EAAYojB,GAAU,GACzD,MAAM5L,EAA+B4L,EAAUoE,GAAkBxnB,EAAWokB,WACtErM,EAASP,EAAM72G,IAAI41G,GACzB,GAAIwB,EACF,OAAOA,EAET,MAAMlqB,EAAM0oB,EAAKjhE,MACXkqE,EAAa,CAAC,EACdyH,EAAe,GACrB,IAAIS,GAAa,EACjB,KAA4B,QAAWnR,GAAO,CAC5C,MAAMoR,EAAeC,IACnBF,GAAa,EACb,MAAOpyE,EAAO+E,GAAQotE,GAAsBG,EAAM5nB,GAAY,IAC9D,QAAOwf,EAAYlqE,GACf+E,GAAM4sE,EAAa3uF,QAAQ+hB,EAAK,GAEjC+oE,GAAWpjB,EAAW4iB,OAAOriH,QAChCy/F,EAAW4iB,OAAOzjD,QAAQwoD,GAExBpR,EAAKsM,SACP8E,EAAYpR,EAAKsM,SAEftM,EAAKqM,QACPrM,EAAKqM,OAAOzjD,QAAQwoD,EAExB,CACA,IAAK95B,IAAQ65B,EAIX,OAHI,QAASnR,IACXiB,EAAMt7G,IAAIq6G,EAAM,MAEX,KAET,IAAI,QAAQ1oB,GACV,IAAK,IAAIzjG,EAAI,EAAGA,EAAIyjG,EAAIttF,OAAQnW,IAAK,CAC/B,EAGJ,MAAMy9H,GAAgB,QAASh6B,EAAIzjG,IAC/B09H,GAAiBD,KACnBrI,EAAWqI,GAAiB,KAEhC,MACK,GAAIh6B,EAAK,CACV,EAGJ,IAAK,MAAM9jG,KAAO8jG,EAAK,CACrB,MAAMg6B,GAAgB,QAAS99H,GAC/B,GAAI+9H,GAAiBD,GAAgB,CACnC,MAAMlI,EAAM9xB,EAAI9jG,GACVwB,EAAOi0H,EAAWqI,IAAiB,QAAQlI,KAAQ,QAAWA,GAAO,CAAE9qH,KAAM8qH,IAAQ,QAAO,CAAC,EAAGA,GAChGoI,EAAWx8H,EAAKsJ,KACtB,IAAImzH,GAAa,EACbC,GAAiB,EACrB,IAAI,QAAQF,GACV,IAAK,IAAIz8E,EAAQ,EAAGA,EAAQy8E,EAASxnH,SAAU+qC,EAAO,CACpD,MAAMz2C,EAAOkzH,EAASz8E,GAChB76C,GAAW,QAAWoE,IAASA,EAAK/Q,KAC1C,GAAiB,YAAb2M,EAAwB,CAC1Bu3H,GAAa,EACb,KACF,CAAwB,WAAbv3H,IACTw3H,GAAiB,EAErB,MAEAD,GAAa,QAAWD,IAA+B,YAAlBA,EAASjkI,KAEhDyH,EAAK,GAAsBy8H,EAC3Bz8H,EAAK,GAA0B08H,GAC3BD,IAAc,QAAOz8H,EAAM,aAC7B07H,EAAa3uF,KAAKuvF,EAEtB,CACF,CACF,CACA,MAAMp/E,EAAM,CAAC+2E,EAAYyH,GAIzB,OAHI,QAAS1Q,IACXiB,EAAMt7G,IAAIq6G,EAAM9tE,GAEXA,CACT,CACA,SAASq/E,GAAiB/9H,GACxB,MAAe,MAAXA,EAAI,MAAe,QAAeA,EAMxC,CAqHA,MAAMm+H,GAAiBn+H,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3Co+H,GAAsBz9H,IAAU,QAAQA,GAASA,EAAMV,IAAIyoH,IAAkB,CAACA,GAAe/nH,IAC7F09H,GAAgB,CAACr+H,EAAKs+H,EAASttG,KACnC,GAAIstG,EAAQxlB,GACV,OAAOwlB,EAET,MAAM7I,EAAa7c,GAAQ,IAAIviG,IAMtB+nH,GAAmBE,KAAWjoH,KACpC2a,GAEH,OADAykG,EAAWz0C,IAAK,EACTy0C,CAAU,EAEb8I,GAAuB,CAACC,EAAU5d,EAAOlL,KAC7C,MAAM1kF,EAAMwtG,EAASC,KACrB,IAAK,MAAMz+H,KAAOw+H,EAAU,CAC1B,GAAIL,GAAcn+H,GAAM,SACxB,MAAMW,EAAQ69H,EAASx+H,GACvB,IAAI,QAAWW,GACbigH,EAAM5gH,GAAOq+H,GAAcr+H,EAAKW,EAAOqwB,QAClC,GAAa,MAATrwB,EAAe,CACpB,EAKJ,MAAM80H,EAAa2I,GAAmBz9H,GACtCigH,EAAM5gH,GAAO,IAAMy1H,CACrB,CACF,GAEIiJ,GAAsB,CAAChpB,EAAUngF,KAMrC,MAAMkgG,EAAa2I,GAAmB7oG,GACtCmgF,EAASkL,MAAME,QAAU,IAAM2U,CAAU,EAErCkJ,GAAc,CAAC/d,EAAOrrF,EAAU6lF,KACpC,IAAK,MAAMp7G,KAAOu1B,GACZ6lF,GAAqB,MAARp7G,KACf4gH,EAAM5gH,GAAOu1B,EAASv1B,GAE1B,EAEI4+H,GAAY,CAAClpB,EAAUngF,EAAU6lF,KACrC,MAAMwF,EAAQlL,EAASkL,MAAQqb,KAC/B,GAA+B,GAA3BvmB,EAASN,MAAM4G,UAAgB,CACjC,MAAMlxG,EAAOyqB,EAAS68F,EAClBtnH,GACF6zH,GAAY/d,EAAOrrF,EAAU6lF,GACzBA,IACF,QAAIwF,EAAO,IAAK91G,GAAM,IAGxByzH,GAAqBhpG,EAAUqrF,EAEnC,MAAWrrF,GACTmpG,GAAoBhpB,EAAUngF,EAChC,EAEIspG,GAAc,CAACnpB,EAAUngF,EAAU6lF,KACvC,MAAM,MAAEhG,EAAK,MAAEwL,GAAUlL,EACzB,IAAIopB,GAAoB,EACpBC,EAA2B,KAC/B,GAAsB,GAAlB3pB,EAAM4G,UAAgB,CACxB,MAAMlxG,EAAOyqB,EAAS68F,EAClBtnH,EAISswG,GAAsB,IAATtwG,EACtBg0H,GAAoB,EAEpBH,GAAY/d,EAAOrrF,EAAU6lF,IAG/B0jB,GAAqBvpG,EAASypG,QAC9BT,GAAqBhpG,EAAUqrF,IAEjCme,EAA2BxpG,CAC7B,MAAWA,IACTmpG,GAAoBhpB,EAAUngF,GAC9BwpG,EAA2B,CAAEje,QAAS,IAExC,GAAIge,EACF,IAAK,MAAM9+H,KAAO4gH,EACXud,GAAcn+H,IAAyC,MAAjC++H,EAAyB/+H,WAC3C4gH,EAAM5gH,EAGnB,EA2CF,SAASi/H,KAsBT,CAEA,MAAMniB,GAAwB0L,GAC9B,SAAS0W,GAAer0C,GACtB,OAAOs0C,GAAmBt0C,EAC5B,CACA,SAASu0C,GAAwBv0C,GAC/B,OAAOs0C,GAAmBt0C,EAAS+6B,GACrC,CACA,SAASuZ,GAAmBt0C,EAASw0C,GAEjCJ,KAEF,MAAMp0H,GAAS,UACfA,EAAOy0H,SAAU,EAIjB,MACE1jB,OAAQ2jB,EACRviG,OAAQygF,EACRwI,UAAWuZ,EACX5zH,cAAe6zH,EACf3jB,WAAY4jB,EACZ3jB,cAAe4jB,EACfC,QAASC,EACTC,eAAgBC,EAChB1hB,WAAY2hB,EACZ5hB,YAAa6hB,EACbC,WAAYC,EAAiB,KAC7BC,oBAAqBC,GACnBx1C,EACEm7B,EAAQ,CAACnL,EAAIC,EAAInpC,EAAWopC,EAAS,KAAMC,EAAkB,KAAMC,EAAiB,KAAMC,OAAY,EAAQC,EAAe,KAAMC,IAAmFN,EAAGmB,mBAC7N,GAAIpB,IAAOC,EACT,OAEED,IAAO6G,GAAgB7G,EAAIC,KAC7BC,EAASulB,EAAgBzlB,GACzB2C,EAAQ3C,EAAIG,EAAiBC,GAAgB,GAC7CJ,EAAK,OAEe,IAAlBC,EAAG6I,YACLvI,GAAY,EACZN,EAAGmB,gBAAkB,MAEvB,MAAM,KAAEnxG,EAAI,IAAE8I,EAAG,UAAEooG,GAAclB,EACjC,OAAQhwG,GACN,KAAK47G,GACH6Z,EAAY1lB,EAAIC,EAAInpC,EAAWopC,GAC/B,MACF,KAAKwG,GACHif,EAAmB3lB,EAAIC,EAAInpC,EAAWopC,GACtC,MACF,KAAK+L,GACO,MAANjM,GACF4lB,EAAgB3lB,EAAInpC,EAAWopC,EAAQG,GAIzC,MACF,KAAKwI,GACHgd,EACE7lB,EACAC,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEF,MACF,QACkB,EAAZY,EACF2kB,EACE9lB,EACAC,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEmB,EAAZY,EACT4kB,EACE/lB,EACAC,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,IAEmB,GAAZY,GAaY,IAAZA,IAZTlxG,EAAK6jF,QACHksB,EACAC,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAmBG,MAAPznG,GAAeonG,GACjBqJ,GAAOzwG,EAAKinG,GAAMA,EAAGjnG,IAAKqnG,EAAgBH,GAAMD,GAAKC,EACvD,EAEIylB,EAAc,CAAC1lB,EAAIC,EAAInpC,EAAWopC,KACtC,GAAU,MAANF,EACF0kB,EACEzkB,EAAGf,GAAK2lB,EAAe5kB,EAAGvlF,UAC1Bo8C,EACAopC,OAEG,CACL,MAAMhB,EAAKe,EAAGf,GAAKc,EAAGd,GAClBe,EAAGvlF,WAAaslF,EAAGtlF,UACrBsqG,EAAY9lB,EAAIe,EAAGvlF,SAEvB,GAEIirG,EAAqB,CAAC3lB,EAAIC,EAAInpC,EAAWopC,KACnC,MAANF,EACF0kB,EACEzkB,EAAGf,GAAK4lB,EAAkB7kB,EAAGvlF,UAAY,IACzCo8C,EACAopC,GAGFD,EAAGf,GAAKc,EAAGd,EACb,EAEI0mB,EAAkB,CAAC3lB,EAAInpC,EAAWopC,EAAQG,MAC7CJ,EAAGf,GAAIe,EAAGC,QAAUslB,EACnBvlB,EAAGvlF,SACHo8C,EACAopC,EACAG,EACAJ,EAAGf,GACHe,EAAGC,OACJ,EAiBG8lB,EAAiB,EAAG9mB,KAAIgB,UAAUppC,EAAWysC,KACjD,IAAIhhG,EACJ,MAAO28F,GAAMA,IAAOgB,EAClB39F,EAAO6iH,EAAgBlmB,GACvBwlB,EAAWxlB,EAAIpoC,EAAWysC,GAC1BrE,EAAK38F,EAEPmiH,EAAWxkB,EAAQppC,EAAWysC,EAAY,EAEtC0iB,EAAmB,EAAG/mB,KAAIgB,aAC9B,IAAI39F,EACJ,MAAO28F,GAAMA,IAAOgB,EAClB39F,EAAO6iH,EAAgBlmB,GACvB0D,EAAW1D,GACXA,EAAK38F,EAEPqgG,EAAW1C,EAAO,EAEd4lB,EAAiB,CAAC9lB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,KAC3F,QAAZN,EAAGhwG,KACLowG,EAAY,MACS,SAAZJ,EAAGhwG,OACZowG,EAAY,UAEJ,MAANL,EACFkmB,EACEjmB,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGF4lB,EACEnmB,EACAC,EACAE,EACAC,EACAC,EACAC,EACAC,EAEJ,EAEI2lB,EAAe,CAAC3rB,EAAOzjC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,KACxG,IAAIrB,EACAqU,EACJ,MAAM,MAAE7iE,EAAK,UAAEywD,EAAS,WAAEoH,EAAU,KAAE9J,GAASlE,EAyB/C,GAxBA2E,EAAK3E,EAAM2E,GAAK0lB,EACdrqB,EAAMtqG,KACNowG,EACA3vD,GAASA,EAAM01E,GACf11E,GAEc,EAAZywD,EACF+jB,EAAmBhmB,EAAI3E,EAAM7/E,UACR,GAAZymF,GACTT,EACEnG,EAAM7/E,SACNwkF,EACA,KACAiB,EACAC,EACAimB,GAAyB9rB,EAAO8F,GAChCC,EACAC,GAGA9B,GACFK,EAAoBvE,EAAO,KAAM4F,EAAiB,WAEpDklB,EAAWnmB,EAAI3E,EAAOA,EAAMid,QAASlX,EAAcH,GAC/CzvD,EAAO,CACT,IAAK,MAAMvrD,KAAOurD,EACJ,UAARvrD,IAAoB,QAAeA,IACrCw/H,EAAczlB,EAAI/5G,EAAK,KAAMurD,EAAMvrD,GAAMk7G,EAAWF,GAGpD,UAAWzvD,GACbi0E,EAAczlB,EAAI,QAAS,KAAMxuD,EAAM5qD,MAAOu6G,IAE5CkT,EAAY7iE,EAAM88D,qBACpBC,GAAgB8F,EAAWpT,EAAiB5F,EAEhD,CAKIkE,GACFK,EAAoBvE,EAAO,KAAM4F,EAAiB,eAEpD,MAAM2M,EAA0BC,GAAe3M,EAAgBmI,GAC3DuE,GACFvE,EAAWZ,YAAYzI,GAEzBwlB,EAAWxlB,EAAIpoC,EAAWopC,KACrBqT,EAAY7iE,GAASA,EAAMg9D,iBAAmBZ,GAA2BrO,IAC5EwD,IAAsB,KACpBsR,GAAa9F,GAAgB8F,EAAWpT,EAAiB5F,GACzDuS,GAA2BvE,EAAWV,MAAM3I,GAC5CT,GAAQK,EAAoBvE,EAAO,KAAM4F,EAAiB,UAAU,GACnEC,EACL,EAEIilB,EAAa,CAACnmB,EAAI3E,EAAOid,EAASlX,EAAcH,KAIpD,GAHIqX,GACF8N,EAAepmB,EAAIsY,GAEjBlX,EACF,IAAK,IAAI96G,EAAI,EAAGA,EAAI86G,EAAa3kG,OAAQnW,IACvC8/H,EAAepmB,EAAIoB,EAAa96G,IAGpC,GAAI26G,EAAiB,CACnB,IAAIwF,EAAUxF,EAAgBwF,QAI9B,GAAIpL,IAAUoL,GAAWmO,GAAWnO,EAAQ11G,QAAU01G,EAAQ6C,YAAcjO,GAASoL,EAAQ8C,aAAelO,GAAQ,CAClH,MAAMqT,EAAczN,EAAgB5F,MACpC8qB,EACEnmB,EACA0O,EACAA,EAAY4J,QACZ5J,EAAYtN,aACZH,EAAgB7V,OAEpB,CACF,GAEIoW,EAAgB,CAAChmF,EAAUo8C,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,EAAWrsG,EAAQ,KAC/H,IAAK,IAAI1O,EAAI0O,EAAO1O,EAAIk1B,EAAS/e,OAAQnW,IAAK,CAC5C,MAAMu9G,EAAQroF,EAASl1B,GAAK+6G,EAAY+lB,GAAe5rG,EAASl1B,IAAMqoH,GAAenzF,EAASl1B,IAC9F2lH,EACE,KACApI,EACAjsC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,GAEI4lB,EAAe,CAACnmB,EAAIC,EAAIE,EAAiBC,EAAgBC,EAAWC,EAAcC,KACtF,MAAMrB,EAAKe,EAAGf,GAAKc,EAAGd,GAItB,IAAI,UAAE4J,EAAS,gBAAE1H,EAAe,KAAE3C,GAASwB,EAC3C6I,GAA4B,GAAf9I,EAAG8I,UAChB,MAAMyd,EAAWvmB,EAAGtvD,OAAS,KACvB81E,EAAWvmB,EAAGvvD,OAAS,KAC7B,IAAI6iE,EA2CJ,GA1CApT,GAAmBsmB,GAActmB,GAAiB,IAC9CoT,EAAYiT,EAASE,sBACvBjZ,GAAgB8F,EAAWpT,EAAiBF,EAAID,GAE9CvB,GACFK,EAAoBmB,EAAID,EAAIG,EAAiB,gBAE/CA,GAAmBsmB,GAActmB,GAAiB,IAM9ComB,EAASvZ,WAAmC,MAAtBwZ,EAASxZ,WAAqBuZ,EAAStZ,aAAuC,MAAxBuZ,EAASvZ,cACvFiY,EAAmBhmB,EAAI,IAErBkC,EACFN,EACEd,EAAGoB,gBACHA,EACAlC,EACAiB,EACAC,EACAimB,GAAyBpmB,EAAII,GAC7BC,GAKQC,GACVK,EACEZ,EACAC,EACAf,EACA,KACAiB,EACAC,EACAimB,GAAyBpmB,EAAII,GAC7BC,GACA,GAGAwI,EAAY,EAAG,CACjB,GAAgB,GAAZA,EACF6d,EAAWznB,EAAIqnB,EAAUC,EAAUrmB,EAAiBE,QAUpD,GARgB,EAAZyI,GACEyd,EAASK,QAAUJ,EAASI,OAC9BjC,EAAczlB,EAAI,QAAS,KAAMsnB,EAASI,MAAOvmB,GAGrC,EAAZyI,GACF6b,EAAczlB,EAAI,QAASqnB,EAAShZ,MAAOiZ,EAASjZ,MAAOlN,GAE7C,EAAZyI,EAAe,CACjB,MAAMkZ,EAAgB/hB,EAAGgiB,aACzB,IAAK,IAAIz8H,EAAI,EAAGA,EAAIw8H,EAAcrmH,OAAQnW,IAAK,CAC7C,MAAML,EAAM68H,EAAcx8H,GACpB6nG,EAAOk5B,EAASphI,GAChBod,EAAOikH,EAASrhI,GAClBod,IAAS8qF,GAAgB,UAARloG,GACnBw/H,EAAczlB,EAAI/5G,EAAKkoG,EAAM9qF,EAAM89F,EAAWF,EAElD,CACF,CAEc,EAAZ2I,GACE9I,EAAGtlF,WAAaulF,EAAGvlF,UACrBwqG,EAAmBhmB,EAAIe,EAAGvlF,SAGhC,MAAY6lF,GAAgC,MAAnBa,GACvBulB,EAAWznB,EAAIqnB,EAAUC,EAAUrmB,EAAiBE,KAEjDkT,EAAYiT,EAASK,iBAAmBpoB,IAC3CwD,IAAsB,KACpBsR,GAAa9F,GAAgB8F,EAAWpT,EAAiBF,EAAID,GAC7DvB,GAAQK,EAAoBmB,EAAID,EAAIG,EAAiB,UAAU,GAC9DC,EACL,EAEIU,EAAqB,CAACgmB,EAAaC,EAAaC,EAAmB7mB,EAAiBC,EAAgBC,EAAWC,KACnH,IAAK,IAAI96G,EAAI,EAAGA,EAAIuhI,EAAYprH,OAAQnW,IAAK,CAC3C,MAAMyhI,EAAWH,EAAYthI,GACvB0hI,EAAWH,EAAYvhI,GACvBsxE,EAGJmwD,EAAS/nB,KAER+nB,EAASh3H,OAAS44G,KAElBhC,GAAgBogB,EAAUC,IACN,GAArBD,EAAS9lB,WAAwBgkB,EAAe8B,EAAS/nB,IAAM,EAMjEiM,EACE8b,EACAC,EACApwD,EACA,KACAqpC,EACAC,EACAC,EACAC,GACA,EAEJ,GAEIqmB,EAAa,CAACznB,EAAIqnB,EAAUC,EAAUrmB,EAAiBE,KAC3D,GAAIkmB,IAAaC,EAAU,CACzB,GAAID,IAAa,KACf,IAAK,MAAMphI,KAAOohI,GACX,QAAephI,IAAUA,KAAOqhI,GACnC7B,EACEzlB,EACA/5G,EACAohI,EAASphI,GACT,KACAk7G,EACAF,GAKR,IAAK,MAAMh7G,KAAOqhI,EAAU,CAC1B,IAAI,QAAerhI,GAAM,SACzB,MAAMod,EAAOikH,EAASrhI,GAChBkoG,EAAOk5B,EAASphI,GAClBod,IAAS8qF,GAAgB,UAARloG,GACnBw/H,EAAczlB,EAAI/5G,EAAKkoG,EAAM9qF,EAAM89F,EAAWF,EAElD,CACI,UAAWqmB,GACb7B,EAAczlB,EAAI,QAASqnB,EAASzgI,MAAO0gI,EAAS1gI,MAAOu6G,EAE/D,GAEIwlB,EAAkB,CAAC7lB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,KAC5G,MAAM4mB,EAAsBlnB,EAAGf,GAAKc,EAAKA,EAAGd,GAAK2lB,EAAe,IAC1DuC,EAAoBnnB,EAAGC,OAASF,EAAKA,EAAGE,OAAS2kB,EAAe,IACtE,IAAI,UAAE/b,EAAS,gBAAE1H,EAAiBd,aAAcyN,GAAyB9N,EAOrE8N,IACFzN,EAAeA,EAAeA,EAAahwG,OAAOy9G,GAAwBA,GAElE,MAAN/N,GACF0kB,EAAWyC,EAAqBrwD,EAAWopC,GAC3CwkB,EAAW0C,EAAmBtwD,EAAWopC,GACzCQ,EAKET,EAAGvlF,UAAY,GACfo8C,EACAswD,EACAjnB,EACAC,EACAC,EACAC,EACAC,IAGEuI,EAAY,GAAiB,GAAZA,GAAkB1H,GAEvCpB,EAAGoB,iBACDN,EACEd,EAAGoB,gBACHA,EACAtqC,EACAqpC,EACAC,EACAC,EACAC,IASU,MAAVL,EAAG96G,KAAeg7G,GAAmBF,IAAOE,EAAgBwF,UAE5DpD,GACEvC,EACAC,GACA,IAKJW,EACEZ,EACAC,EACAnpC,EACAswD,EACAjnB,EACAC,EACAC,EACAC,EACAC,EAGN,EAEIwlB,EAAmB,CAAC/lB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,KAC7GN,EAAGK,aAAeA,EACR,MAANN,EACiB,IAAfC,EAAGkB,UACLhB,EAAgBhqF,IAAIi9F,SAClBnT,EACAnpC,EACAopC,EACAG,EACAE,GAGF2K,EACEjL,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAE,GAIJ8mB,EAAgBrnB,EAAIC,EAAIM,EAC1B,EAEI2K,EAAiB,CAACoc,EAAcxwD,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWE,KACnG,MAAM1F,EAAYysB,EAAa1hB,UAAY2hB,GACzCD,EACAnnB,EACAC,GAqBF,GAZIiI,GAAYif,KACdzsB,EAAS1kF,IAAIw8F,SAAWnS,GAMxBgnB,GAAe3sB,GAAU,EAAO0F,GAK9B1F,EAAS4sB,UAGX,GADArnB,GAAkBA,EAAesnB,YAAY7sB,EAAU8sB,EAAmBpnB,IACrE+mB,EAAapoB,GAAI,CACpB,MAAMmC,EAAcxG,EAAS8K,QAAU6G,GAAY9F,IACnDif,EAAmB,KAAMtkB,EAAavqC,EAAWopC,EACnD,OAEAynB,EACE9sB,EACAysB,EACAxwD,EACAopC,EACAE,EACAC,EACAE,EAG4C,EAK5C8mB,EAAkB,CAACrnB,EAAIC,EAAIM,KAC/B,MAAM1F,EAAWoF,EAAG2F,UAAY5F,EAAG4F,UACnC,GAAIgiB,GAAsB5nB,EAAIC,EAAIM,GAAY,CAC5C,GAAI1F,EAAS4sB,WAAa5sB,EAASgtB,cAQjC,YAJAC,EAAyBjtB,EAAUoF,EAAIM,GAMvC1F,EAASt4F,KAAO09F,EAChBpF,EAASr8E,QAEb,MACEyhF,EAAGf,GAAKc,EAAGd,GACXrE,EAASN,MAAQ0F,CACnB,EAEI0nB,EAAoB,CAAC9sB,EAAUysB,EAAcxwD,EAAWopC,EAAQE,EAAgBC,EAAWE,KAC/F,MAAMwnB,EAAoB,KACxB,GAAKltB,EAASuJ,UA2FP,CACL,IAAI,KAAE7hG,EAAI,GAAEylH,EAAE,EAAEC,EAAC,OAAE39B,EAAM,MAAEiQ,GAAUM,EACrC,CACE,MAAMqtB,EAAuBC,GAA2BttB,GACxD,GAAIqtB,EAUF,OATI3lH,IACFA,EAAK28F,GAAK3E,EAAM2E,GAChB4oB,EAAyBjtB,EAAUt4F,EAAMg+F,SAE3C2nB,EAAqBT,SAASvtD,MAAK,KAC5B2gC,EAASkX,aACZgW,GACF,GAIN,CACA,IACIxU,EADA6U,EAAa7lH,EAEb,EAGJkkH,GAAc5rB,GAAU,GACpBt4F,GACFA,EAAK28F,GAAK3E,EAAM2E,GAChB4oB,EAAyBjtB,EAAUt4F,EAAMg+F,IAEzCh+F,EAAOg4F,EAELytB,IACF,QAAeA,IAEbzU,EAAYhxG,EAAKmuC,OAASnuC,EAAKmuC,MAAMg2E,sBACvCjZ,GAAgB8F,EAAWjpB,EAAQ/nF,EAAMg4F,GAE3CksB,GAAc5rB,GAAU,GAIxB,MAAMwtB,EAAWC,GAAoBztB,GACjC,EAGJ,MAAM0tB,EAAW1tB,EAAS8K,QAC1B9K,EAAS8K,QAAU0iB,EAInBld,EACEod,EACAF,EAEAlD,EAAeoD,EAASrpB,IAExBumB,EAAgB8C,GAChB1tB,EACAuF,EACAC,GAKF99F,EAAK28F,GAAKmpB,EAASnpB,GACA,OAAfkpB,GACFja,GAAgBtT,EAAUwtB,EAASnpB,IAEjC+oB,GACFhmB,GAAsBgmB,EAAG7nB,IAEvBmT,EAAYhxG,EAAKmuC,OAASnuC,EAAKmuC,MAAMm2E,iBACvC5kB,IACE,IAAMwL,GAAgB8F,EAAWjpB,EAAQ/nF,EAAMg4F,IAC/C6F,EASN,KA5KyB,CACvB,IAAImT,EACJ,MAAM,GAAErU,EAAE,MAAExuD,GAAU42E,GAChB,GAAEkB,EAAE,EAAEplB,EAAC,OAAE9Y,EAAM,KAAEmuB,EAAI,KAAExoH,GAAS4qG,EAChC4tB,EAAsB7e,GAAe0d,GAS3C,GARAb,GAAc5rB,GAAU,GACpB2tB,IACF,QAAeA,IAEZC,IAAwBlV,EAAY7iE,GAASA,EAAM88D,qBACtDC,GAAgB8F,EAAWjpB,EAAQg9B,GAErCb,GAAc5rB,GAAU,GACpBqE,GAAMqM,GAAa,CACrB,MAAMmd,EAAiB,KAIrB7tB,EAAS8K,QAAU2iB,GAAoBztB,GAOvC0Q,GACErM,EACArE,EAAS8K,QACT9K,EACAuF,EACA,KAE8C,EAI9CqoB,GAAuBx4H,EAAK4hH,eAC9B5hH,EAAK4hH,eACH3S,EACArE,EACA6tB,GAGFA,GAEJ,KAAO,CACDjQ,EAAK9W,IACP8W,EAAK9W,GAAGgnB,kBAAkB14H,GAK5B,MAAM01G,EAAU9K,EAAS8K,QAAU2iB,GAAoBztB,GACnD,EAMJsQ,EACE,KACAxF,EACA7uC,EACAopC,EACArF,EACAuF,EACAC,GAKFinB,EAAapoB,GAAKyG,EAAQzG,EAC5B,CAIA,GAHIkE,GACFnB,GAAsBmB,EAAGhD,IAEtBqoB,IAAwBlV,EAAY7iE,GAASA,EAAMg9D,gBAAiB,CACvE,MAAMkb,EAAqBtB,EAC3BrlB,IACE,IAAMwL,GAAgB8F,EAAWjpB,EAAQs+B,IACzCxoB,EAEJ,EAC6B,IAAzBknB,EAAanmB,WAAmB7W,GAAUsf,GAAetf,EAAOiQ,QAAmC,IAAzBjQ,EAAOiQ,MAAM4G,YACzFtG,EAASzpG,GAAK6wG,GAAsBpH,EAASzpG,EAAGgvG,GAElDvF,EAASuJ,WAAY,EAIrBkjB,EAAexwD,EAAYopC,EAAS,IACtC,CAiFA,EAEFrF,EAASlB,MAAMtQ,KACf,MAAM8E,EAAS0M,EAAS1M,OAAS,IAAI,KAAe45B,GACpDltB,EAASlB,MAAMjP,MACf,MAAMlsE,EAASq8E,EAASr8E,OAAS2vE,EAAOvsF,IAAIjD,KAAKwvF,GAC3C4L,EAAMc,EAASd,IAAM5L,EAAO7B,WAAW3tF,KAAKwvF,GAClD4L,EAAIv0G,EAAIq1G,EACRd,EAAI7yG,GAAK2zG,EAAS/gG,IAClBq0F,EAAO5C,UAAY,IAAMiR,EAASzC,GAClC0sB,GAAc5rB,GAAU,GAKxBr8E,GAAQ,EAEJspG,EAA2B,CAACjtB,EAAUguB,EAAWtoB,KACrDsoB,EAAUjjB,UAAY/K,EACtB,MAAMiuB,EAAYjuB,EAASN,MAAM7pD,MACjCmqD,EAASN,MAAQsuB,EACjBhuB,EAASt4F,KAAO,KAChBm/G,GAAY7mB,EAAUguB,EAAUn4E,MAAOo4E,EAAWvoB,GAClDyjB,GAAYnpB,EAAUguB,EAAUnuG,SAAU6lF,IAC1C,UACAzD,EAAiBjC,IACjB,SAAe,EAEX+F,EAAgB,CAACZ,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,GAAY,KACtH,MAAMwoB,EAAK/oB,GAAMA,EAAGtlF,SACdsuG,EAAgBhpB,EAAKA,EAAGmB,UAAY,EACpC8nB,EAAKhpB,EAAGvlF,UACR,UAAEouF,EAAS,UAAE3H,GAAclB,EACjC,GAAI6I,EAAY,EAAG,CACjB,GAAgB,IAAZA,EAYF,YAXAogB,EACEH,EACAE,EACAnyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGG,GAAgB,IAAZuI,EAYT,YAXAqgB,EACEJ,EACAE,EACAnyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIN,CACgB,EAAZY,GACkB,GAAhB6nB,GACFI,EAAgBL,EAAI5oB,EAAiBC,GAEnC6oB,IAAOF,GACT7D,EAAmBpuD,EAAWmyD,IAGZ,GAAhBD,EACc,GAAZ7nB,EACF+nB,EACEH,EACAE,EACAnyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGF6oB,EAAgBL,EAAI5oB,EAAiBC,GAAgB,IAGnC,EAAhB4oB,GACF9D,EAAmBpuD,EAAW,IAEhB,GAAZqqC,GACFT,EACEuoB,EACAnyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAIR,EAEI4oB,EAAuB,CAACJ,EAAIE,EAAInyD,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,KACjHwoB,EAAKA,GAAM,KACXE,EAAKA,GAAM,KACX,MAAMI,EAAYN,EAAGptH,OACf8zF,EAAYw5B,EAAGttH,OACf2tH,EAAerrI,KAAKK,IAAI+qI,EAAW55B,GACzC,IAAIjqG,EACJ,IAAKA,EAAI,EAAGA,EAAI8jI,EAAc9jI,IAAK,CACjC,MAAM+jI,EAAYN,EAAGzjI,GAAK+6G,EAAY+lB,GAAe2C,EAAGzjI,IAAMqoH,GAAeob,EAAGzjI,IAChF2lH,EACE4d,EAAGvjI,GACH+jI,EACAzyD,EACA,KACAqpC,EACAC,EACAC,EACAC,EACAC,EAEJ,CACI8oB,EAAY55B,EACd25B,EACEL,EACA5oB,EACAC,GACA,GACA,EACAkpB,GAGF5oB,EACEuoB,EACAnyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA+oB,EAEJ,EAEIJ,EAAqB,CAACH,EAAIE,EAAInyD,EAAWqsC,EAAchD,EAAiBC,EAAgBC,EAAWC,EAAcC,KACrH,IAAI/6G,EAAI,EACR,MAAMgkI,EAAKP,EAAGttH,OACd,IAAI8tH,EAAKV,EAAGptH,OAAS,EACjB+tH,EAAKF,EAAK,EACd,MAAOhkI,GAAKikI,GAAMjkI,GAAKkkI,EAAI,CACzB,MAAM1pB,EAAK+oB,EAAGvjI,GACRy6G,EAAKgpB,EAAGzjI,GAAK+6G,EAAY+lB,GAAe2C,EAAGzjI,IAAMqoH,GAAeob,EAAGzjI,IACzE,IAAIqhH,GAAgB7G,EAAIC,GAatB,MAZAkL,EACEnL,EACAC,EACAnpC,EACA,KACAqpC,EACAC,EACAC,EACAC,EACAC,GAKJ/6G,GACF,CACA,MAAOA,GAAKikI,GAAMjkI,GAAKkkI,EAAI,CACzB,MAAM1pB,EAAK+oB,EAAGU,GACRxpB,EAAKgpB,EAAGS,GAAMnpB,EAAY+lB,GAAe2C,EAAGS,IAAO7b,GAAeob,EAAGS,IAC3E,IAAI7iB,GAAgB7G,EAAIC,GAatB,MAZAkL,EACEnL,EACAC,EACAnpC,EACA,KACAqpC,EACAC,EACAC,EACAC,EACAC,GAKJkpB,IACAC,GACF,CACA,GAAIlkI,EAAIikI,GACN,GAAIjkI,GAAKkkI,EAAI,CACX,MAAMC,EAAUD,EAAK,EACfxpB,EAASypB,EAAUH,EAAKP,EAAGU,GAASzqB,GAAKiE,EAC/C,MAAO39G,GAAKkkI,EACVve,EACE,KACA8d,EAAGzjI,GAAK+6G,EAAY+lB,GAAe2C,EAAGzjI,IAAMqoH,GAAeob,EAAGzjI,IAC9DsxE,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEF/6G,GAEJ,OACK,GAAIA,EAAIkkI,EACb,MAAOlkI,GAAKikI,EACV9mB,EAAQomB,EAAGvjI,GAAI26G,EAAiBC,GAAgB,GAChD56G,QAEG,CACL,MAAMokI,EAAKpkI,EACLqkI,EAAKrkI,EACLskI,EAAmC,IAAI16B,IAC7C,IAAK5pG,EAAIqkI,EAAIrkI,GAAKkkI,EAAIlkI,IAAK,CACzB,MAAM+jI,EAAYN,EAAGzjI,GAAK+6G,EAAY+lB,GAAe2C,EAAGzjI,IAAMqoH,GAAeob,EAAGzjI,IAC3D,MAAjB+jI,EAAUpkI,KAQZ2kI,EAAiBxyH,IAAIiyH,EAAUpkI,IAAKK,EAExC,CACA,IAAIwjC,EACA+gG,EAAU,EACd,MAAMC,EAAcN,EAAKG,EAAK,EAC9B,IAAII,GAAQ,EACRC,EAAmB,EACvB,MAAMC,EAAwB,IAAI/8H,MAAM48H,GACxC,IAAKxkI,EAAI,EAAGA,EAAIwkI,EAAaxkI,IAAK2kI,EAAsB3kI,GAAK,EAC7D,IAAKA,EAAIokI,EAAIpkI,GAAKikI,EAAIjkI,IAAK,CACzB,MAAM4kI,EAAYrB,EAAGvjI,GACrB,GAAIukI,GAAWC,EAAa,CAC1BrnB,EAAQynB,EAAWjqB,EAAiBC,GAAgB,GACpD,QACF,CACA,IAAIiqB,EACJ,GAAqB,MAAjBD,EAAUjlI,IACZklI,EAAWP,EAAiB/tH,IAAIquH,EAAUjlI,UAE1C,IAAK6jC,EAAI6gG,EAAI7gG,GAAK0gG,EAAI1gG,IACpB,GAAsC,IAAlCmhG,EAAsBnhG,EAAI6gG,IAAahjB,GAAgBujB,EAAWnB,EAAGjgG,IAAK,CAC5EqhG,EAAWrhG,EACX,KACF,MAGa,IAAbqhG,EACF1nB,EAAQynB,EAAWjqB,EAAiBC,GAAgB,IAEpD+pB,EAAsBE,EAAWR,GAAMrkI,EAAI,EACvC6kI,GAAYH,EACdA,EAAmBG,EAEnBJ,GAAQ,EAEV9e,EACEif,EACAnB,EAAGoB,GACHvzD,EACA,KACAqpC,EACAC,EACAC,EACAC,EACAC,GAEFwpB,IAEJ,CACA,MAAMO,EAA6BL,EAAQM,GAAYJ,GAAyB,KAEhF,IADAnhG,EAAIshG,EAA2B3uH,OAAS,EACnCnW,EAAIwkI,EAAc,EAAGxkI,GAAK,EAAGA,IAAK,CACrC,MAAMglI,EAAYX,EAAKrkI,EACjB+jI,EAAYN,EAAGuB,GACftqB,EAASsqB,EAAY,EAAIhB,EAAKP,EAAGuB,EAAY,GAAGtrB,GAAKiE,EAC1B,IAA7BgnB,EAAsB3kI,GACxB2lH,EACE,KACAoe,EACAzyD,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEO0pB,IACLjhG,EAAI,GAAKxjC,IAAM8kI,EAA2BthG,GAC5Cg6E,EAAKumB,EAAWzyD,EAAWopC,EAAQ,GAEnCl3E,IAGN,CACF,GAEIg6E,EAAO,CAACzI,EAAOzjC,EAAWopC,EAAQmD,EAAUjD,EAAiB,QACjE,MAAM,GAAElB,EAAE,KAAEjvG,EAAI,WAAEs4G,EAAU,SAAE7tF,EAAQ,UAAEymF,GAAc5G,EACtD,GAAgB,EAAZ4G,EAEF,YADA6B,EAAKzI,EAAMqL,UAAUD,QAAS7uC,EAAWopC,EAAQmD,GAGnD,GAAgB,IAAZlC,EAEF,YADA5G,EAAM2X,SAASlP,KAAKlsC,EAAWopC,EAAQmD,GAGzC,GAAgB,GAAZlC,EAEF,YADAlxG,EAAK+yG,KAAKzI,EAAOzjC,EAAWopC,EAAQM,GAGtC,GAAIvwG,IAAS44G,GAAU,CACrB6b,EAAWxlB,EAAIpoC,EAAWopC,GAC1B,IAAK,IAAI16G,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IACnCw9G,EAAKtoF,EAASl1B,GAAIsxE,EAAWopC,EAAQmD,GAGvC,YADAqhB,EAAWnqB,EAAM2F,OAAQppC,EAAWopC,EAEtC,CACA,GAAIjwG,IAASg8G,GAEX,YADA+Z,EAAezrB,EAAOzjC,EAAWopC,GAGnC,MAAMuqB,EAA+B,IAAbpnB,GAA8B,EAAZlC,GAAiBoH,EAC3D,GAAIkiB,EACF,GAAiB,IAAbpnB,EACFkF,EAAWZ,YAAYzI,GACvBwlB,EAAWxlB,EAAIpoC,EAAWopC,GAC1B+B,IAAsB,IAAMsG,EAAWV,MAAM3I,IAAKkB,OAC7C,CACL,MAAM,MAAE8H,EAAK,WAAElB,EAAU,WAAED,GAAewB,EACpCmiB,EAAU,IAAMhG,EAAWxlB,EAAIpoC,EAAWopC,GAC1CyqB,EAAe,KACnBziB,EAAMhJ,GAAI,KACRwrB,IACA3jB,GAAcA,GAAY,GAC1B,EAEAC,EACFA,EAAW9H,EAAIwrB,EAASC,GAExBA,GAEJ,MAEAjG,EAAWxlB,EAAIpoC,EAAWopC,EAC5B,EAEIyC,EAAU,CAACpI,EAAO4F,EAAiBC,EAAgByC,GAAW,EAAOtC,GAAY,KACrF,MAAM,KACJtwG,EAAI,MACJygD,EAAK,IACL33C,EAAG,SACH2hB,EAAQ,gBACR0mF,EAAe,UACfD,EAAS,UACT2H,EAAS,KACTrK,EAAI,WACJmsB,GACErwB,EAUJ,IATmB,IAAfuO,IACFvI,GAAY,GAEH,MAAPxnG,GACFywG,GAAOzwG,EAAK,KAAMqnG,EAAgB7F,GAAO,GAEzB,MAAdqwB,IACFzqB,EAAgB0qB,YAAYD,QAAc,GAE5B,IAAZzpB,EAEF,YADAhB,EAAgBhqF,IAAIq9F,WAAWjZ,GAGjC,MAAMuwB,EAA+B,EAAZ3pB,GAAiB1C,EACpCssB,GAAyBnhB,GAAerP,GAC9C,IAAIgZ,EAIJ,GAHIwX,IAA0BxX,EAAY7iE,GAASA,EAAMs6E,uBACvDvd,GAAgB8F,EAAWpT,EAAiB5F,GAE9B,EAAZ4G,EACF8pB,EAAiB1wB,EAAMqL,UAAWxF,EAAgByC,OAC7C,CACL,GAAgB,IAAZ1B,EAEF,YADA5G,EAAM2X,SAASvP,QAAQvC,EAAgByC,GAGrCioB,GACFhsB,EAAoBvE,EAAO,KAAM4F,EAAiB,iBAEpC,GAAZgB,EACF5G,EAAMtqG,KAAKkyB,OACTo4E,EACA4F,EACAC,EACAI,EACAqC,GAEOzB,IAKVA,EAAgB8pB,UAChBj7H,IAAS44G,IAAYC,EAAY,GAAiB,GAAZA,GACrCsgB,EACEhoB,EACAjB,EACAC,GACA,GACA,IAEOnwG,IAAS44G,IAAwB,IAAZC,IAA4BvI,GAAyB,GAAZY,IACvEioB,EAAgB1uG,EAAUylF,EAAiBC,GAEzCyC,GACF1gF,EAAOo4E,EAEX,EACIwwB,IAA0BxX,EAAY7iE,GAASA,EAAMijE,mBAAqBmX,IAC5E7oB,IAAsB,KACpBsR,GAAa9F,GAAgB8F,EAAWpT,EAAiB5F,GACzDuwB,GAAoBhsB,EAAoBvE,EAAO,KAAM4F,EAAiB,YAAY,GACjFC,EACL,EAEIj+E,EAAUo4E,IACd,MAAM,KAAEtqG,EAAI,GAAEivG,EAAE,OAAEgB,EAAM,WAAEqI,GAAehO,EACzC,GAAItqG,IAAS44G,GAYX,YAFEsiB,EAAejsB,EAAIgB,GAIvB,GAAIjwG,IAASg8G,GAEX,YADAga,EAAiB1rB,GAGnB,MAAM6wB,EAAgB,KACpBxoB,EAAW1D,GACPqJ,IAAeA,EAAW1D,WAAa0D,EAAWxB,YACpDwB,EAAWxB,YACb,EAEF,GAAsB,EAAlBxM,EAAM4G,WAAiBoH,IAAeA,EAAW1D,UAAW,CAC9D,MAAM,MAAEqD,EAAK,WAAElB,GAAeuB,EACxBoiB,EAAe,IAAMziB,EAAMhJ,EAAIksB,GACjCpkB,EACFA,EAAWzM,EAAM2E,GAAIksB,EAAeT,GAEpCA,GAEJ,MACES,GACF,EAEID,EAAiB,CAAC9vB,EAAKlnG,KAC3B,IAAIoO,EACJ,MAAO84F,IAAQlnG,EACboO,EAAO6iH,EAAgB/pB,GACvBuH,EAAWvH,GACXA,EAAM94F,EAERqgG,EAAWzuG,EAAI,EAEX82H,EAAmB,CAACpwB,EAAUuF,EAAgByC,KAIlD,MAAM,IAAEiP,EAAG,MAAEnY,EAAK,IAAEI,EAAG,QAAE4L,EAAO,GAAEjD,EAAE,EAAEU,EAAC,EAAEhyG,GAAMypG,EAC/C4Y,GAAgBrQ,GAChBqQ,GAAgBriH,GACZ0gH,IACF,QAAeA,GAEjBnY,EAAMviE,OACF2iE,IACFA,EAAIr8F,OAAS,EACbilG,EAAQgD,EAAS9K,EAAUuF,EAAgByC,IAEzCH,GACFT,GAAsBS,EAAItC,GAE5B6B,IAAsB,KACpBpH,EAASkX,aAAc,CAAI,GAC1B3R,GACCA,GAAkBA,EAAeirB,gBAAkBjrB,EAAe2R,aAAelX,EAAS4sB,WAAa5sB,EAASgtB,eAAiBhtB,EAASywB,aAAelrB,EAAemrB,YAC1KnrB,EAAehV,OACa,IAAxBgV,EAAehV,MACjBgV,EAAev2D,UAGsD,EAIrEu/E,EAAkB,CAAC1uG,EAAUylF,EAAiBC,EAAgByC,GAAW,EAAOtC,GAAY,EAAOrsG,EAAQ,KAC/G,IAAK,IAAI1O,EAAI0O,EAAO1O,EAAIk1B,EAAS/e,OAAQnW,IACvCm9G,EAAQjoF,EAASl1B,GAAI26G,EAAiBC,EAAgByC,EAAUtC,EAClE,EAEIklB,EAAmBlrB,IACvB,GAAsB,EAAlBA,EAAM4G,UACR,OAAOskB,EAAgBlrB,EAAMqL,UAAUD,SAEzC,GAAsB,IAAlBpL,EAAM4G,UACR,OAAO5G,EAAM2X,SAAS3vG,OAExB,MAAM28F,EAAKkmB,EAAgB7qB,EAAM2F,QAAU3F,EAAM2E,IAC3CssB,EAActsB,GAAMA,EAAGC,GAC7B,OAAOqsB,EAAcpG,EAAgBoG,GAAetsB,CAAE,EAExD,IAAIusB,GAAa,EACjB,MAAM7O,EAAS,CAACriB,EAAOzjC,EAAWupC,KACnB,MAAT9F,EACEzjC,EAAUw0C,QACZ3I,EAAQ7rC,EAAUw0C,OAAQ,KAAM,MAAM,GAGxCH,EACEr0C,EAAUw0C,QAAU,KACpB/Q,EACAzjC,EACA,KACA,KACA,KACAupC,GAGJvpC,EAAUw0C,OAAS/Q,EACdkxB,IACHA,GAAa,EACb3uB,IACAC,IACA0uB,GAAa,EACf,EAEIjrB,EAAY,CAChBr4E,EAAGgjF,EACHzI,GAAIC,EACJS,EAAGJ,EACH5M,EAAGj0E,EACH8oF,GAAIC,EACJzK,GAAIC,EACJC,GAAIC,EACJC,IAAKC,EACL5kG,EAAGupH,EACHp4C,EAAG2C,GAEL,IAAIizB,GACAsI,GAMJ,OALIiZ,KACDvhB,GAASsI,IAAeiZ,EACvBhkB,IAGG,CACLoc,SACA3Z,WACAyoB,UAAW/L,GAAa/C,EAAQ3Z,IAEpC,CACA,SAASojB,IAAyB,KAAEp2H,EAAI,MAAEygD,GAASi7E,GACjD,MAA4B,QAArBA,GAAuC,kBAAT17H,GAAiD,WAArB07H,GAA0C,mBAAT17H,GAA6BygD,GAASA,EAAMk7E,UAAYl7E,EAAMk7E,SAASniC,SAAS,aAAU,EAASkiC,CACvM,CACA,SAASlF,IAAc,OAAEt4B,EAAM,IAAE4L,GAAO8xB,GAClCA,GACF19B,EAAOzwF,OAAS,GAChBq8F,EAAIr8F,OAAS,IAEbywF,EAAOzwF,QAAS,GAChBq8F,EAAIr8F,QAAS,EAEjB,CACA,SAASqvG,GAAe3M,EAAgBmI,GACtC,QAASnI,GAAkBA,IAAmBA,EAAeirB,gBAAkB9iB,IAAeA,EAAW1D,SAC3G,CACA,SAAStC,GAAuBvC,EAAIC,EAAIvL,GAAU,GAChD,MAAMo3B,EAAM9rB,EAAGtlF,SACTqxG,EAAM9rB,EAAGvlF,SACf,IAAI,QAAQoxG,KAAQ,QAAQC,GAC1B,IAAK,IAAIvmI,EAAI,EAAGA,EAAIsmI,EAAInwH,OAAQnW,IAAK,CACnC,MAAMujI,EAAK+C,EAAItmI,GACf,IAAIyjI,EAAK8C,EAAIvmI,GACM,EAAfyjI,EAAG9nB,YAAkB8nB,EAAG7nB,mBACtB6nB,EAAGngB,WAAa,GAAsB,KAAjBmgB,EAAGngB,aAC1BmgB,EAAK8C,EAAIvmI,GAAK8gI,GAAeyF,EAAIvmI,IACjCyjI,EAAG/pB,GAAK6pB,EAAG7pB,IAERxK,IAA6B,IAAlBu0B,EAAGngB,WACjBvG,GAAuBwmB,EAAIE,IAE3BA,EAAGh5H,OAAS47G,KACdod,EAAG/pB,GAAK6pB,EAAG7pB,GAKf,CAEJ,CACA,SAASqrB,GAAY70G,GACnB,MAAMyS,EAAIzS,EAAI8d,QACR3qC,EAAS,CAAC,GAChB,IAAIrD,EAAGwjC,EAAGi/F,EAAG/vH,EAAG2C,EAChB,MAAM6nB,EAAMhN,EAAI/Z,OAChB,IAAKnW,EAAI,EAAGA,EAAIk9B,EAAKl9B,IAAK,CACxB,MAAMwmI,EAAOt2G,EAAIlwB,GACjB,GAAa,IAATwmI,EAAY,CAEd,GADAhjG,EAAIngC,EAAOA,EAAO8S,OAAS,GACvB+Z,EAAIsT,GAAKgjG,EAAM,CACjB7jG,EAAE3iC,GAAKwjC,EACPngC,EAAO6qC,KAAKluC,GACZ,QACF,CACAyiI,EAAI,EACJ/vH,EAAIrP,EAAO8S,OAAS,EACpB,MAAOssH,EAAI/vH,EACT2C,EAAIotH,EAAI/vH,GAAK,EACTwd,EAAI7sB,EAAOgS,IAAMmxH,EACnB/D,EAAIptH,EAAI,EAER3C,EAAI2C,EAGJmxH,EAAOt2G,EAAI7sB,EAAOo/H,MAChBA,EAAI,IACN9/F,EAAE3iC,GAAKqD,EAAOo/H,EAAI,IAEpBp/H,EAAOo/H,GAAKziI,EAEhB,CACF,CACAyiI,EAAIp/H,EAAO8S,OACXzD,EAAIrP,EAAOo/H,EAAI,GACf,MAAOA,KAAM,EACXp/H,EAAOo/H,GAAK/vH,EACZA,EAAIiwB,EAAEjwB,GAER,OAAOrP,CACT,CACA,SAASs/H,GAA2BttB,GAClC,MAAMoxB,EAAepxB,EAAS8K,QAAQC,UACtC,GAAIqmB,EACF,OAAIA,EAAaxE,WAAawE,EAAapE,cAClCoE,EAEA9D,GAA2B8D,EAGxC,CACA,SAASxY,GAAgB79F,GACvB,GAAIA,EACF,IAAK,IAAIpwB,EAAI,EAAGA,EAAIowB,EAAMja,OAAQnW,IAChCowB,EAAMpwB,GAAGkY,OAAS,CAExB,CAEA,MAAMwuH,GAAgBl9B,OAAOknB,IAAI,SAC3BiW,GAAgB,KACpB,CACE,MAAMh2G,EAAM8lG,GAAOiQ,IAMnB,OAAO/1G,CACT,GAGF,SAASi2G,GAAYj+B,EAAQne,GAC3B,OAAOq8C,GAAQl+B,EAAQ,KAAMne,EAC/B,CACA,SAASs8C,GAAgBn+B,EAAQne,GAC/B,OAAOq8C,GACLl+B,EACA,KACqF,CAAE96D,MAAO,QAElG,CACA,SAASk5F,GAAgBp+B,EAAQne,GAC/B,OAAOq8C,GACLl+B,EACA,KACqF,CAAE96D,MAAO,QAElG,CACA,SAASwlE,GAAMx5F,EAAQ6W,EAAI85D,GAMzB,OAAOq8C,GAAQhtH,EAAQ6W,EAAI85D,EAC7B,CACA,SAASq8C,GAAQhtH,EAAQ6W,EAAI85D,EAAU,MACrC,MAAM,UAAE8oB,EAAS,KAAExmF,EAAI,MAAE+gB,EAAK,KAAE0lE,GAAS/oB,EAkBzC,MAAMw8C,GAAmB,QAAO,CAAC,EAAGx8C,GAEpC,MAAMy8C,EAAkBv2G,GAAM4iF,IAAc5iF,GAAgB,SAAVmd,EAClD,IAAIq5F,EACJ,GAAIva,GACF,GAAc,SAAV9+E,EAAkB,CACpB,MAAMld,EAAMg2G,KACZO,EAAav2G,EAAIw2G,mBAAqBx2G,EAAIw2G,iBAAmB,GAC/D,MAAO,IAAKF,EAAiB,CAC3B,MAAMG,EAAkB,OAKxB,OAHAA,EAAgBx1F,KAAO,KACvBw1F,EAAgB7nF,OAAS,KACzB6nF,EAAgB9nF,MAAQ,KACjB8nF,CACT,CAEF,MAAM/xB,EAAWmX,GACjBwa,EAAiB3sI,KAAO,CAAC2Z,EAAIvJ,EAAMuL,IAASu/F,EAA2BvhG,EAAIqhG,EAAU5qG,EAAMuL,GAC3F,IAAIqxH,GAAQ,EACE,SAAVx5F,EACFm5F,EAAiBjhC,UAAawO,IAC5BkI,GAAsBlI,EAAKc,GAAYA,EAASqX,SAAS,EAExC,SAAV7+E,IACTw5F,GAAQ,EACRL,EAAiBjhC,UAAY,CAACwO,EAAK+yB,KAC7BA,EACF/yB,IAEAyC,EAASzC,EACX,GAGJyyB,EAAiBxzB,WAAce,IACzB7jF,IACF6jF,EAAIr8F,OAAS,GAEXmvH,IACF9yB,EAAIr8F,OAAS,EACTm9F,IACFd,EAAI7yG,GAAK2zG,EAAS/gG,IAClBigG,EAAIv0G,EAAIq1G,GAEZ,EAEF,MAAMjB,GAAc,QAAQv6F,EAAQ6W,EAAIs2G,GAQxC,OAPIra,KACEua,EACFA,EAAWh5F,KAAKkmE,GACP6yB,GACT7yB,KAGGA,CACT,CACA,SAASqf,GAAc55G,EAAQvZ,EAAOkqF,GACpC,MAAMyrC,EAAa37H,KAAKm7B,MAClB/d,GAAS,QAASmC,GAAUA,EAAOoqF,SAAS,KAAOq0B,GAAiBrC,EAAYp8G,GAAU,IAAMo8G,EAAWp8G,GAAUA,EAAOV,KAAK88G,EAAYA,GACnJ,IAAIvlG,GACA,QAAWpwB,GACbowB,EAAKpwB,GAELowB,EAAKpwB,EAAMyT,QACXy2E,EAAUlqF,GAEZ,MAAMqkC,EAAQgrF,GAAmBr1H,MAC3B+jD,EAAMwoF,GAAQnvH,EAAQgZ,EAAGvX,KAAK88G,GAAazrC,GAEjD,OADA7lD,IACO0Z,CACT,CACA,SAASi6E,GAAiB3nG,EAAK2W,GAC7B,MAAMigG,EAAWjgG,EAAKmvC,MAAM,KAC5B,MAAO,KACL,IAAIo/B,EAAMllF,EACV,IAAK,IAAI3wB,EAAI,EAAGA,EAAIunI,EAASpxH,QAAU0/F,EAAK71G,IAC1C61G,EAAMA,EAAI0xB,EAASvnI,IAErB,OAAO61G,CAAG,CAEd,CAEA,SAAS2xB,GAASt8E,EAAOxxD,EAAM8wF,EAAU,MACvC,MAAMxqF,EAAIwgH,KAKV,MAAMinB,GAAgB,QAAS/tI,GAK/B,MAAMguI,GAAiB,QAAUhuI,GAC3By/G,EAAYwuB,GAAkBz8E,EAAOu8E,GACrCppF,GAAM,SAAU,CAACqnB,EAAOwgC,KAC5B,IAAI0hC,EAEAC,EADAC,EAAe,KASnB,OAPAf,IAAgB,KACd,MAAMgB,EAAY78E,EAAMu8E,IACpB,QAAWG,EAAYG,KACzBH,EAAaG,EACb7hC,IACF,IAEK,CACL,GAAA3vF,GAEE,OADAmvD,IACO8kB,EAAQj0E,IAAMi0E,EAAQj0E,IAAIqxH,GAAcA,CACjD,EACA,GAAA91H,CAAIxR,GACF,MAAM0nI,EAAex9C,EAAQ14E,IAAM04E,EAAQ14E,IAAIxR,GAASA,EACxD,KAAK,QAAW0nI,EAAcJ,KAAiBE,IAAiB,QAAa,QAAWxnI,EAAOwnI,IAC7F,OAEF,MAAMlnB,EAAW5gH,EAAE+0G,MAAM7pD,MACnB01D,IACLlnH,KAAQknH,GAAY6mB,KAAiB7mB,GAAY8mB,KAAkB9mB,KAAc,YAAYlnH,MAAUknH,GAAY,YAAY6mB,MAAmB7mB,GAAY,YAAY8mB,MAAoB9mB,KAC7LgnB,EAAatnI,EACb4lG,KAEFlmG,EAAEuuF,KAAK,UAAU70F,IAAQsuI,IACrB,QAAW1nI,EAAO0nI,KAAiB,QAAW1nI,EAAOwnI,MAAkB,QAAWE,EAAcH,IAClG3hC,IAEF4hC,EAAexnI,EACfunI,EAAmBG,CACrB,EACD,IAcH,OAZA3pF,EAAImrD,OAAOvT,UAAY,KACrB,IAAIgyC,EAAK,EACT,MAAO,CACL,IAAAlrH,GACE,OAAIkrH,EAAK,EACA,CAAE3nI,MAAO2nI,IAAO9uB,GAAa,KAAY96D,EAAKiJ,MAAM,GAEpD,CAAEA,MAAM,EAEnB,EACD,EAEIjJ,CACT,CACA,MAAMspF,GAAoB,CAACz8E,EAAOg9E,IACX,eAAdA,GAA4C,gBAAdA,EAA8Bh9E,EAAMi9E,eAAiBj9E,EAAM,GAAGg9E,eAAyBh9E,EAAM,IAAG,QAASg9E,gBAA0Bh9E,EAAM,IAAG,QAAUg9E,eAG7L,SAAS35C,GAAK8mB,EAAU7vF,KAAU4iH,GAChC,GAAI/yB,EAASkX,YAAa,OAC1B,MAAMrhE,EAAQmqD,EAASN,MAAM7pD,OAAS,KA0BtC,IAAIl1C,EAAOoyH,EACX,MAAMC,EAAkB7iH,EAAM8vG,WAAW,WACnCnc,EAAYkvB,GAAmBV,GAAkBz8E,EAAO1lC,EAAMwoB,MAAM,IAyB1E,IAAIs6F,EAxBAnvB,IACEA,EAAUovB,OACZvyH,EAAOoyH,EAAQxoI,KAAKgM,IAAM,QAASA,GAAKA,EAAE28H,OAAS38H,KAEjDutG,EAAU/9E,SACZplB,EAAOoyH,EAAQxoI,IAAI,QAoBvB,IAAImU,EAAUm3C,EAAMo9E,GAAc,QAAa9iH,KAC/C0lC,EAAMo9E,GAAc,SAAa,QAAS9iH,MACrCzR,GAAWs0H,IACdt0H,EAAUm3C,EAAMo9E,GAAc,SAAa,QAAU9iH,MAEnDzR,GACFwhG,EACExhG,EACAshG,EACA,EACAr/F,GAGJ,MAAMwyH,EAAct9E,EAAMo9E,EAAc,QACxC,GAAIE,EAAa,CACf,GAAKnzB,EAASozB,SAEP,GAAIpzB,EAASozB,QAAQH,GAC1B,YAFAjzB,EAASozB,QAAU,CAAC,EAItBpzB,EAASozB,QAAQH,IAAe,EAChC/yB,EACEizB,EACAnzB,EACA,EACAr/F,EAEJ,CACF,CACA,SAAS0yH,GAAsBvc,EAAMvW,EAAYojB,GAAU,GACzD,MAAM5L,EAAQxX,EAAWqkB,WACnBtM,EAASP,EAAM72G,IAAI41G,GACzB,QAAe,IAAXwB,EACF,OAAOA,EAET,MAAMlqB,EAAM0oB,EAAKkN,MACjB,IAAIjE,EAAa,CAAC,EACdkI,GAAa,EACjB,KAA4B,QAAWnR,GAAO,CAC5C,MAAMwc,EAAenL,IACnB,MAAMoL,EAAuBF,GAAsBlL,EAAM5nB,GAAY,GACjEgzB,IACFtL,GAAa,GACb,QAAOlI,EAAYwT,GACrB,GAEG5P,GAAWpjB,EAAW4iB,OAAOriH,QAChCy/F,EAAW4iB,OAAOzjD,QAAQ4zD,GAExBxc,EAAKsM,SACPkQ,EAAYxc,EAAKsM,SAEftM,EAAKqM,QACPrM,EAAKqM,OAAOzjD,QAAQ4zD,EAExB,CACA,OAAKllC,GAAQ65B,IAMT,QAAQ75B,GACVA,EAAI1uB,SAASp1E,GAAQy1H,EAAWz1H,GAAO,QAEvC,QAAOy1H,EAAY3xB,IAEjB,QAAS0oB,IACXiB,EAAMt7G,IAAIq6G,EAAMiJ,GAEXA,KAbD,QAASjJ,IACXiB,EAAMt7G,IAAIq6G,EAAM,MAEX,KAWX,CACA,SAASuQ,GAAelyC,EAAS7qF,GAC/B,SAAK6qF,KAAY,QAAK7qF,MAGtBA,EAAMA,EAAIquC,MAAM,GAAG1gC,QAAQ,QAAS,KAC7B,QAAOk9E,EAAS7qF,EAAI,GAAG0N,cAAgB1N,EAAIquC,MAAM,MAAO,QAAOw8C,GAAS,QAAU7qF,MAAS,QAAO6qF,EAAS7qF,GACpH,CAMA,SAASmjI,GAAoBztB,GAC3B,MACE5qG,KAAMqmH,EAAS,MACf/b,EAAK,MACLt/E,EAAK,UACLozG,EACA9U,cAAeA,GAAa,MAC5BxT,EAAK,MACLqS,EAAK,KACLrkC,EAAI,OACJ6oC,EAAM,YACNiO,EAAW,MACXn6E,EAAK,KACL5rD,EAAI,WACJklH,EAAU,IACV7zF,EAAG,aACH+mG,GACEriB,EACExN,EAAOqQ,EAA4B7C,GACzC,IAAIhyG,EACAylI,EAIJ,IACE,GAAsB,EAAlB/zB,EAAM4G,UAAe,CACvB,MAAMotB,EAAaF,GAAapzG,EAC1BuzG,EASDD,EACL1lI,EAASglH,GACP+O,EAAO/8H,KACL2uI,EACAD,EACA1D,EACqEn6E,EACrEs5D,EACAllH,EACAqxB,IAGJm4G,EAAmBlW,CACrB,KAAO,CACL,MAAMqW,EAAUnY,EACZ,EAGJztH,EAASglH,GACP4gB,EAAQ9yH,OAAS,EAAI8yH,EACkD/9E,EAQjE,CAAE0nE,QAAOrS,QAAOhyB,SAClB06C,EACmE/9E,EACrE,OAGJ49E,EAAmBhY,EAAU5lE,MAAQ0nE,EAAQsW,GAAyBtW,EACxE,CACF,CAAE,MAAO/hG,GACPs4G,GAAWhzH,OAAS,EACpBm/F,EAAYzkF,EAAKwkF,EAAU,GAC3BhyG,EAAS2jH,GAAY9F,GACvB,CACA,IAAI+R,EAAO5vH,EAKX,GAAIylI,IAAqC,IAAjBpR,EAAwB,CAC9C,MAAMznE,EAAO9lC,OAAO8lC,KAAK64E,IACnB,UAAEntB,GAAcsX,EAClBhjE,EAAK95C,QACS,EAAZwlG,IACEoY,GAAgB9jE,EAAKu7C,KAAK,QAC5Bs9B,EAAmBM,GACjBN,EACA/U,IAGJd,EAAOnQ,GAAWmQ,EAAM6V,GAAkB,GAAO,GA2BvD,CAwBA,OAvBI/zB,EAAMkE,OAMRga,EAAOnQ,GAAWmQ,EAAM,MAAM,GAAO,GACrCA,EAAKha,KAAOga,EAAKha,KAAOga,EAAKha,KAAKnuG,OAAOiqG,EAAMkE,MAAQlE,EAAMkE,MAE3DlE,EAAMgO,YAMR5B,GAAmB8R,EAAMle,EAAMgO,YAK/B1/G,EAAS4vH,EAEX/a,EAA4BrQ,GACrBxkG,CACT,CAwBA,SAASgmI,GAAiBn0G,EAAUo0G,GAAU,GAC5C,IAAIC,EACJ,IAAK,IAAIvpI,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,MAAMu9G,EAAQroF,EAASl1B,GACvB,IAAI0uH,GAAQnR,GAYV,OAXA,GAAIA,EAAM9yG,OAASy2G,IAA8B,SAAnB3D,EAAMroF,SAAqB,CACvD,GAAIq0G,EACF,OAEAA,EAAahsB,CAKjB,CAIJ,CACA,OAAOgsB,CACT,CACA,MAAML,GAA4BtW,IAChC,IAAIv0E,EACJ,IAAK,MAAM1+C,KAAOizH,GACJ,UAARjzH,GAA2B,UAARA,IAAmB,QAAKA,OAC5C0+C,IAAQA,EAAM,CAAC,IAAI1+C,GAAOizH,EAAMjzH,IAGrC,OAAO0+C,CAAG,EAEN+qF,GAAuB,CAACxW,EAAO1nE,KACnC,MAAM7M,EAAM,CAAC,EACb,IAAK,MAAM1+C,KAAOizH,GACX,QAAgBjzH,IAAUA,EAAIquC,MAAM,KAAMkd,IAC7C7M,EAAI1+C,GAAOizH,EAAMjzH,IAGrB,OAAO0+C,CAAG,EAKZ,SAAS+jF,GAAsB7oB,EAAW8pB,EAAWtoB,GACnD,MAAQ7vD,MAAOo4E,EAAWpuG,SAAUs0G,EAAY,UAAEppB,GAAc7G,GACxDruD,MAAOu+E,EAAWv0G,SAAUw0G,EAAY,UAAEpmB,GAAc+f,EAC1DhK,EAAQjZ,EAAUuc,aAIxB,GAAI0G,EAAUpqB,MAAQoqB,EAAUtgB,WAC9B,OAAO,EAET,KAAIhI,GAAauI,GAAa,GAmB5B,SAAIkmB,IAAgBE,GACbA,GAAiBA,EAAa/K,UAIjC2E,IAAcmG,IAGbnG,GAGAmG,GAGEE,GAAgBrG,EAAWmG,EAAWpQ,KALlCoQ,GA3BX,GAAgB,KAAZnmB,EACF,OAAO,EAET,GAAgB,GAAZA,EACF,OAAKggB,EAGEqG,GAAgBrG,EAAWmG,EAAWpQ,KAFlCoQ,EAGN,GAAgB,EAAZnmB,EAAe,CACxB,MAAMmZ,EAAe4G,EAAU5G,aAC/B,IAAK,IAAIz8H,EAAI,EAAGA,EAAIy8H,EAAatmH,OAAQnW,IAAK,CAC5C,MAAML,EAAM88H,EAAaz8H,GACzB,GAAIypI,EAAU9pI,KAAS2jI,EAAU3jI,KAAS+8H,GAAerD,EAAO15H,GAC9D,OAAO,CAEX,CACF,CAkBF,OAAO,CACT,CACA,SAASgqI,GAAgBrG,EAAWmG,EAAW9M,GAC7C,MAAMiN,EAAWz/G,OAAO8lC,KAAKw5E,GAC7B,GAAIG,EAASzzH,SAAWgU,OAAO8lC,KAAKqzE,GAAWntH,OAC7C,OAAO,EAET,IAAK,IAAInW,EAAI,EAAGA,EAAI4pI,EAASzzH,OAAQnW,IAAK,CACxC,MAAML,EAAMiqI,EAAS5pI,GACrB,GAAIypI,EAAU9pI,KAAS2jI,EAAU3jI,KAAS+8H,GAAeC,EAAch9H,GACrE,OAAO,CAEX,CACA,OAAO,CACT,CACA,SAASgpH,IAAgB,MAAE5T,EAAK,OAAEjQ,GAAU4U,GAC1C,MAAO5U,EAAQ,CACb,MAAMmuB,EAAOnuB,EAAOqb,QAIpB,GAHI8S,EAAKvG,UAAYuG,EAAKvG,SAASmd,eAAiB90B,IAClDke,EAAKvZ,GAAK3E,EAAM2E,IAEduZ,IAASle,EAIX,OAHCA,EAAQjQ,EAAOiQ,OAAO2E,GAAKA,EAC5B5U,EAASA,EAAOA,MAIpB,CACF,CAEA,MAAMwpB,GAAc7jH,GAASA,EAAKq/H,aAClC,IAAIhE,GAAa,EACjB,MAAMiE,GAAe,CACnBrwI,KAAM,WAKNowI,cAAc,EACd,OAAAx7C,CAAQksB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,EAAWyK,GACtG,GAAU,MAANhL,EACFwvB,GACEvvB,EACAnpC,EACAopC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAyK,OAEG,CACL,GAAI5K,GAAkBA,EAAehV,KAAO,IAAM4U,EAAGkS,SAASud,aAI5D,OAHAxvB,EAAGiS,SAAWlS,EAAGkS,SACjBjS,EAAGiS,SAAS3X,MAAQ0F,OACpBA,EAAGf,GAAKc,EAAGd,IAGbwwB,GACE1vB,EACAC,EACAnpC,EACAopC,EACAC,EACAE,EACAC,EACAC,EACAyK,EAEJ,CACF,EACA/H,QAAS0sB,GACTC,UAAWC,IAEPC,GAAW,0BAAY,KAAZ,GACjB,SAASC,GAAax1B,EAAOr7G,GAC3B,MAAM8wI,EAAgBz1B,EAAM7pD,OAAS6pD,EAAM7pD,MAAMxxD,IAC7C,QAAW8wI,IACbA,GAEJ,CACA,SAASR,GAAcj1B,EAAOzjC,EAAWopC,EAAQC,EAAiBC,EAAgBC,EAAWC,EAAcC,EAAWyK,GACpH,MACE7iF,EAAGgjF,EACH99B,GAAG,cAAEt8E,IACHi6G,EACEilB,EAAkBl/H,EAAc,OAChCmhH,EAAW3X,EAAM2X,SAAWge,GAChC31B,EACA6F,EACAD,EACArpC,EACAm5D,EACA/vB,EACAG,EACAC,EACAC,EACAyK,GAEFG,EACE,KACA+G,EAASmZ,cAAgB9wB,EAAMiO,UAC/BynB,EACA,KACA9vB,EACA+R,EACA7R,EACAC,GAEE4R,EAAS9mB,KAAO,GAClB2kC,GAAax1B,EAAO,aACpBw1B,GAAax1B,EAAO,cACpB4Q,EACE,KACA5Q,EAAMkO,WACN3xC,EACAopC,EACAC,EACA,KAEAE,EACAC,GAEF6vB,GAAgBje,EAAU3X,EAAMkO,aAEhCyJ,EAASroE,SAAQ,GAAO,EAE5B,CACA,SAAS6lF,GAAc1vB,EAAIC,EAAInpC,EAAWopC,EAAQC,EAAiBE,EAAWC,EAAcC,GAAap4E,EAAGgjF,EAAOzI,GAAIC,EAASt1B,GAAG,cAAEt8E,KACnI,MAAMmhH,EAAWjS,EAAGiS,SAAWlS,EAAGkS,SAClCA,EAAS3X,MAAQ0F,EACjBA,EAAGf,GAAKc,EAAGd,GACX,MAAMkxB,EAAYnwB,EAAGuI,UACf6nB,EAAcpwB,EAAGwI,YACjB,aAAE4mB,EAAY,cAAEhE,EAAa,aAAEoE,EAAY,YAAEa,GAAgBpe,EACnE,GAAImZ,EACFnZ,EAASmZ,cAAgB+E,EACrBvpB,GAAgBupB,EAAW/E,IAC7BlgB,EACEkgB,EACA+E,EACAle,EAAS+d,gBACT,KACA9vB,EACA+R,EACA7R,EACAC,EACAC,GAEE2R,EAAS9mB,MAAQ,EACnB8mB,EAASroE,UACA4lF,IACJa,IACHnlB,EACEkkB,EACAgB,EACAv5D,EACAopC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEF4vB,GAAgBje,EAAUme,OAI9Bne,EAASqZ,UAAYD,KACjBgF,GACFpe,EAASoe,aAAc,EACvBpe,EAASmd,aAAehE,GAExB1oB,EAAQ0oB,EAAelrB,EAAiB+R,GAE1CA,EAAS9mB,KAAO,EAChB8mB,EAAS/nB,QAAQxuF,OAAS,EAC1Bu2G,EAAS+d,gBAAkBl/H,EAAc,OACrC0+H,GACFtkB,EACE,KACAilB,EACAle,EAAS+d,gBACT,KACA9vB,EACA+R,EACA7R,EACAC,EACAC,GAEE2R,EAAS9mB,MAAQ,EACnB8mB,EAASroE,WAETshE,EACEkkB,EACAgB,EACAv5D,EACAopC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEF4vB,GAAgBje,EAAUme,KAEnBhB,GAAgBxoB,GAAgBupB,EAAWf,IACpDlkB,EACEkkB,EACAe,EACAt5D,EACAopC,EACAC,EACA+R,EACA7R,EACAC,EACAC,GAEF2R,EAASroE,SAAQ,KAEjBshE,EACE,KACAilB,EACAle,EAAS+d,gBACT,KACA9vB,EACA+R,EACA7R,EACAC,EACAC,GAEE2R,EAAS9mB,MAAQ,GACnB8mB,EAASroE,iBAKf,GAAIwlF,GAAgBxoB,GAAgBupB,EAAWf,GAC7ClkB,EACEkkB,EACAe,EACAt5D,EACAopC,EACAC,EACA+R,EACA7R,EACAC,EACAC,GAEF4vB,GAAgBje,EAAUke,QAoB1B,GAlBAL,GAAa9vB,EAAI,aACjBiS,EAASmZ,cAAgB+E,EACC,IAAtBA,EAAUjvB,UACZ+Q,EAASqZ,UAAY6E,EAAUxqB,UAAU0lB,WAEzCpZ,EAASqZ,UAAYD,KAEvBngB,EACE,KACAilB,EACAle,EAAS+d,gBACT,KACA9vB,EACA+R,EACA7R,EACAC,EACAC,GAEE2R,EAAS9mB,MAAQ,EACnB8mB,EAASroE,cACJ,CACL,MAAM,QAAEz1B,EAAO,UAAEm3G,GAAcrZ,EAC3B99F,EAAU,EACZ6yE,YAAW,KACLirB,EAASqZ,YAAcA,GACzBrZ,EAASn6G,SAASs4H,EACpB,GACCj8G,GACkB,IAAZA,GACT89F,EAASn6G,SAASs4H,EAEtB,CAGN,CAEA,SAASH,GAAuB31B,EAAO6F,EAAgBD,EAAiBrpC,EAAWm5D,EAAiB/vB,EAAQG,EAAWC,EAAcC,EAAWyK,EAAmBslB,GAAc,GAO/K,MACEnoG,EAAGgjF,EACH/H,EAAGJ,EACHN,GAAIC,EACJzmG,EAAGqG,EACH8qE,GAAG,WAAEm2B,EAAU,OAAErhF,IACf6oF,EACJ,IAAIulB,EACJ,MAAMC,EAAgBC,GAAmBl2B,GACrCi2B,GACEpwB,GAAkBA,EAAeirB,gBACnCkF,EAAmBnwB,EAAemrB,UAClCnrB,EAAehV,QAGnB,MAAMh3E,EAAUmmF,EAAM7pD,OAAQ,QAAS6pD,EAAM7pD,MAAMt8B,cAAW,EAI9D,MAAMs8G,EAAgBxwB,EAChBgS,EAAW,CACf3X,QACAjQ,OAAQ8V,EACRD,kBACAE,YACAvpC,YACAm5D,kBACA7kC,KAAM,EACNmgC,UAAWD,KACXl3G,QAA4B,kBAAZA,EAAuBA,GAAW,EAClDi7G,aAAc,KACdhE,cAAe,KACfoE,cAAea,EACfA,cACAve,aAAa,EACb5nB,QAAS,GACT,OAAAtgD,CAAQ9E,GAAS,EAAOE,GAAO,GAa7B,MACEs1D,MAAO4N,EAAM,aACbknB,EAAY,cACZhE,EAAa,UACbE,EAAS,QACTphC,EACAgW,gBAAiBwwB,EACjB75D,UAAW0qC,GACT0Q,EACJ,IAAI0e,GAAa,EACb1e,EAASoe,YACXpe,EAASoe,aAAc,EACbvrF,IACV6rF,EAAavB,GAAgBhE,EAAc9iB,YAAgD,WAAlC8iB,EAAc9iB,WAAWr1F,KAC9E09G,IACFvB,EAAa9mB,WAAWxB,WAAa,KAC/BwkB,IAAcrZ,EAASqZ,YACzBvoB,EACEqoB,EACA7pB,EACAtB,IAAWwwB,EAAgBnuH,EAAK8sH,GAAgBnvB,EAChD,GAEFrD,EAAiB1S,GACnB,GAGAklC,IACE7rB,EAAW6rB,EAAanwB,MAAQsC,IAClCtB,EAAS39F,EAAK8sH,IAEhB1sB,EAAQ0sB,EAAcsB,EAAkBze,GAAU,IAE/C0e,GACH5tB,EAAKqoB,EAAe7pB,EAAYtB,EAAQ,IAG5CiwB,GAAgBje,EAAUmZ,GAC1BnZ,EAASmZ,cAAgB,KACzBnZ,EAASud,cAAe,EACxB,IAAInlC,EAAS4nB,EAAS5nB,OAClBumC,GAAwB,EAC5B,MAAOvmC,EAAQ,CACb,GAAIA,EAAO+gC,cAAe,CACxB/gC,EAAOH,QAAQz2D,QAAQy2D,GACvB0mC,GAAwB,EACxB,KACF,CACAvmC,EAASA,EAAOA,MAClB,CACKumC,GAA0BD,GAC7B/zB,EAAiB1S,GAEnB+nB,EAAS/nB,QAAU,GACfqmC,GACEpwB,GAAkBA,EAAeirB,eAAiBkF,IAAqBnwB,EAAemrB,YACxFnrB,EAAehV,OACa,IAAxBgV,EAAehV,MAAenmD,GAChCm7D,EAAev2D,WAIrBkmF,GAAa5nB,EAAQ,YACvB,EACA,QAAApwG,CAAS+4H,GACP,IAAK5e,EAASmZ,cACZ,OAEF,MAAQ9wB,MAAO4N,EAAM,aAAEknB,EAAclvB,gBAAiBwwB,EAAkB75D,UAAW0qC,EAAYnB,UAAW0wB,GAAe7e,EACzH6d,GAAa5nB,EAAQ,cACrB,MAAM1G,EAAUl/F,EAAK8sH,GACf2B,EAAgB,KACf9e,EAASud,eAGdtkB,EACE,KACA2lB,EACAtvB,EACAC,EACAkvB,EACA,KAEAI,EACAzwB,EACAC,GAEF4vB,GAAgBje,EAAU4e,GAAc,EAEpCF,EAAaE,EAAcvoB,YAAgD,WAAlCuoB,EAAcvoB,WAAWr1F,KACpE09G,IACFvB,EAAa9mB,WAAWxB,WAAaiqB,GAEvC9e,EAASud,cAAe,EACxB9sB,EACE0sB,EACAsB,EACA,MAEA,GAGGC,GACHI,GAEJ,EACA,IAAAhuB,CAAKxB,EAAYC,EAASxxG,GACxBiiH,EAASmd,cAAgBrsB,EAAKkP,EAASmd,aAAc7tB,EAAYC,EAASxxG,GAC1EiiH,EAASp7C,UAAY0qC,CACvB,EACA,IAAAj/F,GACE,OAAO2vG,EAASmd,cAAgB9sH,EAAK2vG,EAASmd,aAChD,EACA,WAAA3H,CAAY7sB,EAAU8sB,EAAmBsJ,GACvC,MAAMC,IAAwBhf,EAASmZ,cACnC6F,GACFhf,EAAS9mB,OAEX,MAAM+lC,EAAat2B,EAASN,MAAM2E,GAClCrE,EAAS4sB,SAASjtD,OAAOnkD,IACvBykF,EAAYzkF,EAAKwkF,EAAU,EAAE,IAC5B3gC,MAAMk3D,IACP,GAAIv2B,EAASkX,aAAeG,EAASH,aAAeG,EAASqZ,YAAc1wB,EAASywB,WAClF,OAEFzwB,EAASgtB,eAAgB,EACzB,MAAQttB,MAAO4N,GAAWtN,EAI1Bw2B,GAAkBx2B,EAAUu2B,GAAkB,GAC1CD,IACFhpB,EAAOjJ,GAAKiyB,GAEd,MAAM9vB,GAAe8vB,GAAct2B,EAAS8K,QAAQzG,GACpDyoB,EACE9sB,EACAsN,EAIA3E,EAAW2tB,GAAct2B,EAAS8K,QAAQzG,IAG1CiyB,EAAa,KAAO5uH,EAAKs4F,EAAS8K,SAClCuM,EACA7R,EACA4wB,GAEE5vB,GACFl/E,EAAOk/E,GAET8M,GAAgBtT,EAAUsN,EAAOjJ,IAI7BgyB,GAA2C,MAAlBhf,EAAS9mB,MACpC8mB,EAASroE,SACX,GAEJ,EACA,OAAA84D,CAAQ2uB,EAAiBzuB,GACvBqP,EAASH,aAAc,EACnBG,EAASmd,cACX1sB,EACEuP,EAASmd,aACTlvB,EACAmxB,EACAzuB,GAGAqP,EAASmZ,eACX1oB,EACEuP,EAASmZ,cACTlrB,EACAmxB,EACAzuB,EAGN,GAEF,OAAOqP,CACT,CACA,SAASyd,GAAgBhwC,EAAM4a,EAAO4F,EAAiBC,EAAgBC,EAAWC,EAAcC,EAAWyK,EAAmBO,GAC5H,MAAM2G,EAAW3X,EAAM2X,SAAWge,GAChC31B,EACA6F,EACAD,EACAxgB,EAAK6jB,WAEL73B,SAAS56E,cAAc,OACvB,KACAsvG,EACAC,EACAC,EACAyK,GACA,GAEIniH,EAAS0iH,EACb5rB,EACAuyB,EAASmZ,cAAgB9wB,EAAMiO,UAC/BrI,EACA+R,EACA5R,EACAC,GAKF,OAHsB,IAAlB2R,EAAS9mB,MACX8mB,EAASroE,SAAQ,GAAO,GAEnBhhD,CACT,CACA,SAASgnI,GAA0Bt1B,GACjC,MAAM,UAAE4G,EAAS,SAAEzmF,GAAa6/E,EAC1Bg3B,EAA6B,GAAZpwB,EACvB5G,EAAMiO,UAAYgpB,GAChBD,EAAiB72G,EAASurF,QAAUvrF,GAEtC6/E,EAAMkO,WAAa8oB,EAAiBC,GAAsB92G,EAAS3iB,UAAYy0G,GAAY9F,GAC7F,CACA,SAAS8qB,GAAsBjqI,GAC7B,IAAIkqI,EACJ,IAAI,QAAWlqI,GAAI,CACjB,MAAMmqI,EAAaC,IAAsBpqI,EAAE4+E,GACvCurD,IACFnqI,EAAE6+E,IAAK,EACP6wC,MAEF1vH,EAAIA,IACAmqI,IACFnqI,EAAE6+E,IAAK,EACPqrD,EAAQG,GACRC,KAEJ,CACA,IAAI,QAAQtqI,GAAI,CACd,MAAMuqI,EAAcjD,GAAiBtnI,GACjC,EAGJA,EAAIuqI,CACN,CAKA,OAJAvqI,EAAIsmH,GAAetmH,GACfkqI,IAAUlqI,EAAE65G,kBACd75G,EAAE65G,gBAAkBqwB,EAAMvzE,QAAQrjD,GAAMA,IAAMtT,KAEzCA,CACT,CACA,SAASomH,GAAwBn0G,EAAI04G,GAC/BA,GAAYA,EAASmZ,eACnB,QAAQ7xH,GACV04G,EAAS/nB,QAAQz2D,QAAQl6B,GAEzB04G,EAAS/nB,QAAQz2D,KAAKl6B,GAGxBqjG,EAAiBrjG,EAErB,CACA,SAAS22H,GAAgBje,EAAU6f,GACjC7f,EAASmd,aAAe0C,EACxB,MAAM,MAAEx3B,EAAK,gBAAE4F,GAAoB+R,EACnC,IAAIhT,EAAK6yB,EAAO7yB,GAChB,OAAQA,GAAM6yB,EAAOnsB,UACnBmsB,EAASA,EAAOnsB,UAAUD,QAC1BzG,EAAK6yB,EAAO7yB,GAEd3E,EAAM2E,GAAKA,EACPiB,GAAmBA,EAAgBwF,UAAYpL,IACjD4F,EAAgB5F,MAAM2E,GAAKA,EAC3BiP,GAAgBhO,EAAiBjB,GAErC,CACA,SAASuxB,GAAmBl2B,GAC1B,MAAM0W,EAAc1W,EAAM7pD,OAAS6pD,EAAM7pD,MAAMugE,YAC/C,OAAsB,MAAfA,IAAuC,IAAhBA,CAChC,CAEA,MAAMpI,GAAW7Z,OAAOknB,IAAI,SACtBrK,GAAO7c,OAAOknB,IAAI,SAClBxP,GAAU1X,OAAOknB,IAAI,SACrBjK,GAASjd,OAAOknB,IAAI,SACpByY,GAAa,GACnB,IAAIiD,GAAe,KACnB,SAAS3a,GAAU+a,GAAkB,GACnCrD,GAAWj7F,KAAKk+F,GAAeI,EAAkB,KAAO,GAC1D,CACA,SAASH,KACPlD,GAAWx7C,MACXy+C,GAAejD,GAAWA,GAAWhzH,OAAS,IAAM,IACtD,CACA,IAsDIs2H,GAtDAN,GAAqB,EACzB,SAASxzB,GAAiBr4G,EAAOosI,GAAU,GACzCP,IAAsB7rI,EAClBA,EAAQ,GAAK8rI,IAAgBM,IAC/BN,GAAa1G,SAAU,EAE3B,CACA,SAASiH,GAAW53B,GAMlB,OALAA,EAAM6G,gBAAkBuwB,GAAqB,EAAIC,IAAgB,KAAY,KAC7EC,KACIF,GAAqB,GAAKC,IAC5BA,GAAal+F,KAAK6mE,GAEbA,CACT,CACA,SAAS63B,GAAmBniI,EAAMygD,EAAOh2B,EAAUouF,EAAWmZ,EAAc9gB,GAC1E,OAAOgxB,GACLE,GACEpiI,EACAygD,EACAh2B,EACAouF,EACAmZ,EACA9gB,GACA,GAGN,CACA,SAAS+V,GAAYjnH,EAAMygD,EAAOh2B,EAAUouF,EAAWmZ,GACrD,OAAOkQ,GACL3lB,GACEv8G,EACAygD,EACAh2B,EACAouF,EACAmZ,GACA,GAGN,CACA,SAAS/N,GAAQpuH,GACf,QAAOA,IAA8B,IAAtBA,EAAMwsI,WACvB,CACA,SAASzrB,GAAgB7G,EAAIC,GAS3B,OAAOD,EAAG/vG,OAASgwG,EAAGhwG,MAAQ+vG,EAAG76G,MAAQ86G,EAAG96G,GAC9C,CAEA,SAASotI,GAAmBC,GAC1BP,GAAuBO,CACzB,CACA,MAKMC,GAAe,EAAGttI,SAAiB,MAAPA,EAAcA,EAAM,KAChDutI,GAAe,EACnB35H,MACA45H,UACAC,cAEmB,kBAAR75H,IACTA,EAAM,GAAKA,GAEC,MAAPA,GAAc,QAASA,KAAQ,QAAMA,KAAQ,QAAWA,GAAO,CAAEvT,EAAGg4G,EAA0BpH,EAAGr9F,EAAKwkF,EAAGo1C,EAAS57G,IAAK67G,GAAY75H,EAAM,MAElJ,SAASs5H,GAAgBpiI,EAAMygD,EAAQ,KAAMh2B,EAAW,KAAMouF,EAAY,EAAGmZ,EAAe,KAAM9gB,GAAYlxG,IAAS44G,GAAW,EAAI,GAAGgqB,GAAc,EAAOC,GAAgC,GAC5L,MAAMv4B,EAAQ,CACZ+3B,aAAa,EACbS,UAAU,EACV9iI,OACAygD,QACAvrD,IAAKurD,GAAS+hF,GAAa/hF,GAC3B33C,IAAK23C,GAASgiF,GAAahiF,GAC3B8mE,QAAS/Z,EACT6C,aAAc,KACd5lF,WACAkrF,UAAW,KACXsM,SAAU,KACV1J,UAAW,KACXC,WAAY,KACZhK,KAAM,KACN8J,WAAY,KACZrJ,GAAI,KACJgB,OAAQ,KACRlwG,OAAQ,KACRmyG,YAAa,KACbL,aAAc,KACdqK,YAAa,EACbhL,YACA2H,YACAmZ,eACA7gB,gBAAiB,KACjBhG,WAAY,KACZjlF,IAAKqnF,GAwBP,OAtBIs1B,GACFE,GAAkBz4B,EAAO7/E,GACT,IAAZymF,GACFlxG,EAAK2/H,UAAUr1B,IAER7/E,IACT6/E,EAAM4G,YAAa,QAASzmF,GAAY,EAAI,IAK1Ci3G,GAAqB,IACxBkB,GACDjB,KAICr3B,EAAMuO,UAAY,GAAiB,EAAZ3H,IAEJ,KAApB5G,EAAMuO,WACJ8oB,GAAal+F,KAAK6mE,GAEbA,CACT,CACA,MAAMiS,GAAyFymB,GAC/F,SAASA,GAAahjI,EAAMygD,EAAQ,KAAMh2B,EAAW,KAAMouF,EAAY,EAAGmZ,EAAe,KAAM4Q,GAAc,GAO3G,GANK5iI,GAAQA,IAASgmH,KAIpBhmH,EAAOy2G,IAELwN,GAAQjkH,GAAO,CACjB,MAAMijI,EAAS5qB,GACbr4G,EACAygD,GACA,GAcF,OAXIh2B,GACFs4G,GAAkBE,EAAQx4G,GAExBi3G,GAAqB,IAAMkB,GAAejB,KACrB,EAAnBsB,EAAO/xB,UACTywB,GAAaA,GAAa/8G,QAAQ5kB,IAASijI,EAE3CtB,GAAal+F,KAAKw/F,IAGtBA,EAAOpqB,WAAa,EACboqB,CACT,CAIA,GAHIC,GAAiBljI,KACnBA,EAAOA,EAAKmjI,WAEV1iF,EAAO,CACTA,EAAQ2iF,GAAmB3iF,GAC3B,IAAMk2E,MAAO0M,EAAK,MAAE/lB,GAAU78D,EAC1B4iF,KAAU,QAASA,KACrB5iF,EAAMk2E,OAAQ,QAAe0M,KAE3B,QAAS/lB,MACP,QAAQA,MAAW,QAAQA,KAC7BA,GAAQ,QAAO,CAAC,EAAGA,IAErB78D,EAAM68D,OAAQ,QAAeA,GAEjC,CACA,MAAMpM,GAAY,QAASlxG,GAAQ,EAAI6jH,GAAW7jH,GAAQ,IAAMmvG,EAAWnvG,GAAQ,IAAK,QAASA,GAAQ,GAAI,QAAWA,GAAQ,EAAI,EAUpI,OAAOoiI,GACLpiI,EACAygD,EACAh2B,EACAouF,EACAmZ,EACA9gB,EACA0xB,GACA,EAEJ,CACA,SAASQ,GAAmB3iF,GAC1B,OAAKA,GACE,QAAQA,IAAU2wE,GAAiB3wE,IAAS,QAAO,CAAC,EAAGA,GAASA,EADpD,IAErB,CACA,SAAS43D,GAAW/N,EAAOg5B,EAAYC,GAAW,EAAOC,GAAkB,GACzE,MAAM,MAAE/iF,EAAK,IAAE33C,EAAG,UAAE+vG,EAAS,SAAEpuF,EAAQ,WAAE6tF,GAAehO,EAClDm5B,EAAcH,EAAaI,GAAWjjF,GAAS,CAAC,EAAG6iF,GAAc7iF,EACjEwiF,EAAS,CACbZ,aAAa,EACbS,UAAU,EACV9iI,KAAMsqG,EAAMtqG,KACZygD,MAAOgjF,EACPvuI,IAAKuuI,GAAejB,GAAaiB,GACjC36H,IAAKw6H,GAAcA,EAAWx6H,IAI5By6H,GAAYz6H,GAAM,QAAQA,GAAOA,EAAIzI,OAAOoiI,GAAaa,IAAe,CAACx6H,EAAK25H,GAAaa,IAAeb,GAAaa,GACrHx6H,EACJy+G,QAASjd,EAAMid,QACflX,aAAc/F,EAAM+F,aACpB5lF,SAA8HA,EAC9H1qB,OAAQuqG,EAAMvqG,OACdmyG,YAAa5H,EAAM4H,YACnBL,aAAcvH,EAAMuH,aACpBqK,YAAa5R,EAAM4R,YACnBhL,UAAW5G,EAAM4G,UAKjB2H,UAAWyqB,GAAch5B,EAAMtqG,OAAS44G,IAA0B,IAAfC,EAAmB,GAAiB,GAAZA,EAAiBA,EAC5FmZ,aAAc1nB,EAAM0nB,aACpB7gB,gBAAiB7G,EAAM6G,gBACvBhG,WAAYb,EAAMa,WAClBqD,KAAMlE,EAAMkE,KACZ8J,aAKA3C,UAAWrL,EAAMqL,UACjBsM,SAAU3X,EAAM2X,SAChB1J,UAAWjO,EAAMiO,WAAaF,GAAW/N,EAAMiO,WAC/CC,WAAYlO,EAAMkO,YAAcH,GAAW/N,EAAMkO,YACjDvJ,GAAI3E,EAAM2E,GACVgB,OAAQ3F,EAAM2F,OACd/pF,IAAKokF,EAAMpkF,IACXwrF,GAAIpH,EAAMoH,IAQZ,OANI4G,GAAckrB,GAChB9sB,GACEusB,EACA3qB,EAAW31F,MAAMsgH,IAGdA,CACT,CAQA,SAASvmB,GAAgB3nG,EAAO,IAAK4uH,EAAO,GAC1C,OAAOpnB,GAAYX,GAAM,KAAM7mG,EAAM4uH,EACvC,CACA,SAASC,GAAkB7nB,EAAS8nB,GAClC,MAAMv5B,EAAQiS,GAAYP,GAAQ,KAAMD,GAExC,OADAzR,EAAM4R,YAAc2nB,EACbv5B,CACT,CACA,SAASw5B,GAAmB/uH,EAAO,GAAIgvH,GAAU,GAC/C,OAAOA,GAAW/c,KAAaC,GAAYxQ,GAAS,KAAM1hG,IAASwnG,GAAY9F,GAAS,KAAM1hG,EAChG,CACA,SAAS6oG,GAAe9K,GACtB,OAAa,MAATA,GAAkC,mBAAVA,EACnByJ,GAAY9F,KACV,QAAQ3D,GACVyJ,GACL3D,GACA,KAEA9F,EAAMvvE,SAEC0gF,GAAQnR,GACVujB,GAAevjB,GAEfyJ,GAAYX,GAAM,KAAMljF,OAAOo6E,GAE1C,CACA,SAASujB,GAAevjB,GACtB,OAAoB,OAAbA,EAAM7D,KAAoC,IAArB6D,EAAM+F,WAAoB/F,EAAMkxB,KAAOlxB,EAAQuF,GAAWvF,EACxF,CACA,SAASiwB,GAAkBz4B,EAAO7/E,GAChC,IAAIzqB,EAAO,EACX,MAAM,UAAEkxG,GAAc5G,EACtB,GAAgB,MAAZ7/E,EACFA,EAAW,UACN,IAAI,QAAQA,GACjBzqB,EAAO,QACF,GAAwB,kBAAbyqB,EAAuB,CACvC,GAAgB,GAAZymF,EAAsB,CACxB,MAAM2V,EAAOp8F,EAASurF,QAMtB,YALI6Q,IACFA,EAAK3wC,KAAO2wC,EAAK1wC,IAAK,GACtB4sD,GAAkBz4B,EAAOuc,KACzBA,EAAK3wC,KAAO2wC,EAAK1wC,IAAK,IAG1B,CAAO,CACLn2E,EAAO,GACP,MAAMikI,EAAWx5G,EAAS68F,EACrB2c,GAAa7S,GAAiB3mG,GAEX,IAAbw5G,GAAkB12B,IACc,IAArCA,EAAyBuI,MAAMwR,EACjC78F,EAAS68F,EAAI,GAEb78F,EAAS68F,EAAI,EACbhd,EAAMuO,WAAa,OANrBpuF,EAASkpG,KAAOpmB,CASpB,CACF,MAAW,QAAW9iF,IACpBA,EAAW,CAAEurF,QAASvrF,EAAUkpG,KAAMpmB,GACtCvtG,EAAO,KAEPyqB,EAAWiO,OAAOjO,GACF,GAAZymF,GACFlxG,EAAO,GACPyqB,EAAW,CAACiyF,GAAgBjyF,KAE5BzqB,EAAO,GAGXsqG,EAAM7/E,SAAWA,EACjB6/E,EAAM4G,WAAalxG,CACrB,CACA,SAAS0jI,MAAcn4H,GACrB,MAAM+7F,EAAM,CAAC,EACb,IAAK,IAAI/xG,EAAI,EAAGA,EAAIgW,EAAKG,OAAQnW,IAAK,CACpC,MAAM2uI,EAAU34H,EAAKhW,GACrB,IAAK,MAAML,KAAOgvI,EAChB,GAAY,UAARhvI,EACEoyG,EAAIqvB,QAAUuN,EAAQvN,QACxBrvB,EAAIqvB,OAAQ,QAAe,CAACrvB,EAAIqvB,MAAOuN,EAAQvN,cAE5C,GAAY,UAARzhI,EACToyG,EAAIgW,OAAQ,QAAe,CAAChW,EAAIgW,MAAO4mB,EAAQ5mB,aAC1C,IAAI,QAAKpoH,GAAM,CACpB,MAAMmlH,EAAW/S,EAAIpyG,GACfivI,EAAWD,EAAQhvI,IACrBivI,GAAY9pB,IAAa8pB,IAAc,QAAQ9pB,IAAaA,EAAS7gB,SAAS2qC,KAChF78B,EAAIpyG,GAAOmlH,EAAW,GAAGh6G,OAAOg6G,EAAU8pB,GAAYA,EAE1D,KAAmB,KAARjvI,IACToyG,EAAIpyG,GAAOgvI,EAAQhvI,GAGzB,CACA,OAAOoyG,CACT,CACA,SAASkW,GAAgBz3F,EAAM6kF,EAAUN,EAAOwE,EAAY,MAC1DhE,EAA2B/kF,EAAM6kF,EAAU,EAAG,CAC5CN,EACAwE,GAEJ,CAEA,MAAMs1B,GAAkBlV,KACxB,IAAIrlH,GAAM,EACV,SAASytH,GAAwBhtB,EAAOjQ,EAAQ4nB,GAC9C,MAAMjiH,EAAOsqG,EAAMtqG,KACbmrG,GAAc9Q,EAASA,EAAO8Q,WAAab,EAAMa,aAAei5B,GAChEx5B,EAAW,CACf/gG,IAAKA,KACLygG,QACAtqG,OACAq6F,SACA8Q,aACAqd,KAAM,KAENl2G,KAAM,KACNojG,QAAS,KAETxX,OAAQ,KACR3vE,OAAQ,KAERu7E,IAAK,KACLJ,MAAO,IAAI,MACT,GAGFijB,OAAQ,KACR3hG,MAAO,KACPg/F,QAAS,KACTqa,YAAa,KACbjG,UAAW,KACX5Q,SAAUnzB,EAASA,EAAOmzB,SAAW9tG,OAAOqK,OAAOohF,EAAWqiB,UAC9DtU,IAAK7e,EAASA,EAAO6e,IAAM,CAAC,GAAI,EAAG,GACnCkQ,YAAa,KACbwR,YAAa,GAEb1N,WAAY,KACZ7e,WAAY,KAEZib,aAAcsJ,GAAsB5yH,EAAMmrG,GAC1C+mB,aAAc+L,GAAsBj+H,EAAMmrG,GAE1CrnB,KAAM,KAENk6C,QAAS,KAETzM,cAAe,KAEftE,aAAcjtH,EAAKitH,aAEnB/mG,IAAK,KACLrxB,KAAM,KACN4rD,MAAO,KACP0nE,MAAO,KACPrS,MAAO,KACPuD,KAAM,KACNU,WAAY,KACZyQ,aAAc,KAEdvI,WACAoZ,WAAYpZ,EAAWA,EAASqZ,UAAY,EAC5C9D,SAAU,KACVI,eAAe,EAGfzjB,WAAW,EACX2N,aAAa,EACbuB,eAAe,EACfihB,GAAI,KACJ15H,EAAG,KACH2tH,GAAI,KACJplB,EAAG,KACH4kB,GAAI,KACJC,EAAG,KACHvlB,GAAI,KACJoP,IAAK,KACL4B,GAAI,KACJtiH,EAAG,KACHojI,IAAK,KACLC,IAAK,KACLh5B,GAAI,KACJi5B,GAAI,MAYN,OAPE75B,EAAS1kF,IAAM,CAAEohG,EAAG1c,GAEtBA,EAAS4d,KAAOnuB,EAASA,EAAOmuB,KAAO5d,EACvCA,EAAS9mB,KAAOA,GAAKp1E,KAAK,KAAMk8F,GAC5BN,EAAMoH,IACRpH,EAAMoH,GAAG9G,GAEJA,CACT,CACA,IAAImX,GAAkB,KACtB,MAAMhM,GAAqB,IAAMgM,IAAmBxU,EACpD,IAAIm3B,GACAC,GACJ,CACE,MAAMr3H,GAAI,UACJs3H,EAAuB,CAAC1vI,EAAKsmC,KACjC,IAAIqpG,EAGJ,OAFMA,EAAUv3H,EAAEpY,MAAO2vI,EAAUv3H,EAAEpY,GAAO,IAC5C2vI,EAAQphG,KAAKjI,GACLvzB,IACF48H,EAAQn5H,OAAS,EAAGm5H,EAAQv6D,SAASjjE,GAAQA,EAAIY,KAChD48H,EAAQ,GAAG58H,EAAE,CACnB,EAEHy8H,GAA6BE,EAC3B,4BACC38H,GAAM85G,GAAkB95G,IAE3B08H,GAAqBC,EACnB,uBACC38H,GAAMi6G,GAAwBj6G,GAEnC,CACA,MAAMi9G,GAAsBta,IAC1B,MAAMxN,EAAO2kB,GAGb,OAFA2iB,GAA2B95B,GAC3BA,EAASlB,MAAMtQ,KACR,KACLwR,EAASlB,MAAMjP,MACfiqC,GAA2BtnC,EAAK,CACjC,EAEGkuB,GAAuB,KAC3BvJ,IAAmBA,GAAgBrY,MAAMjP,MACzCiqC,GAA2B,KAAK,EAUlC,SAAS9c,GAAoBhd,GAC3B,OAAkC,EAA3BA,EAASN,MAAM4G,SACxB,CACA,IAgHI4zB,GACAC,GAjHA7iB,IAAwB,EAC5B,SAASqV,GAAe3sB,EAAUjN,GAAQ,EAAO2S,GAAY,GAC3D3S,GAASgnC,GAAmBhnC,GAC5B,MAAM,MAAEl9C,EAAK,SAAEh2B,GAAamgF,EAASN,MAC/BgnB,EAAa1J,GAAoBhd,GACvCymB,GAAUzmB,EAAUnqD,EAAO6wE,EAAY3zB,GACvCm2B,GAAUlpB,EAAUngF,EAAU6lF,GAC9B,MAAM00B,EAAc1T,EAAa2T,GAAuBr6B,EAAUjN,QAAS,EAE3E,OADAA,GAASgnC,IAAmB,GACrBK,CACT,CACA,SAASC,GAAuBr6B,EAAUjN,GAExC,MAAM0oB,EAAYzb,EAAS5qG,KAuB3B4qG,EAASwe,YAA8B1pG,OAAOqK,OAAO,MACrD6gF,EAAS5/E,MAAQ,IAAI6sE,MAAM+S,EAAS1kF,IAAKijG,IAIzC,MAAM,MAAEtT,GAAUwQ,EAClB,GAAIxQ,EAAO,EACT,UACA,MAAM2U,EAAe5f,EAAS4f,aAAe3U,EAAMnqG,OAAS,EAAI++G,GAAmB7f,GAAY,KACzF1wE,EAAQgrF,GAAmBta,GAC3Bo6B,EAAcr6B,EAClBkL,EACAjL,EACA,EACA,CACgFA,EAASnqD,MACvF+pE,IAGE0a,GAAe,QAAUF,GAM/B,IALA,UACA9qG,KACKgrG,IAAgBt6B,EAAS65B,IAAQ9qB,GAAe/O,IACnDuO,GAAkBvO,GAEhBs6B,EAAc,CAEhB,GADAF,EAAY/6D,KAAKqhD,GAAsBA,IACnC3tB,EACF,OAAOqnC,EAAY/6D,MAAMk7D,IACvB/D,GAAkBx2B,EAAUu6B,EAAgBxnC,EAAM,IACjDpzB,OAAO5zE,IACRk0G,EAAYl0G,EAAGi0G,EAAU,EAAE,IAG7BA,EAAS4sB,SAAWwN,CAQxB,MACE5D,GAAkBx2B,EAAUo6B,EAAarnC,EAE7C,MACEynC,GAAqBx6B,EAAUjN,EAEnC,CACA,SAASyjC,GAAkBx2B,EAAUo6B,EAAarnC,IAC5C,QAAWqnC,GACTp6B,EAAS5qG,KAAKqlI,kBAChBz6B,EAAS06B,UAAYN,EAErBp6B,EAAS+hB,OAASqY,GAEX,QAASA,KASlBp6B,EAASmP,YAAa,QAAUirB,IASlCI,GAAqBx6B,EAAUjN,EACjC,CAGA,SAAS4nC,GAAwBC,GAC/BV,GAAUU,EACVT,GAAoBxvI,IACdA,EAAEo3H,OAAO8Y,MACXlwI,EAAE6oI,UAAY,IAAIvmC,MAAMtiG,EAAE2wB,IAAK0jG,IACjC,CAEJ,CACA,MAAM8b,GAAgB,KAAOZ,GAC7B,SAASM,GAAqBx6B,EAAUjN,EAAOgoC,GAC7C,MAAMtf,EAAYzb,EAAS5qG,KAC3B,IAAK4qG,EAAS+hB,OAAQ,CACpB,IAAKhvB,GAASmnC,KAAYze,EAAUsG,OAAQ,CAC1C,MAAMiZ,EAAWvf,EAAUuf,UAAmChd,GAAqBhe,GAAUg7B,SAC7F,GAAIA,EAAU,CACR,EAGJ,MAAM,gBAAEzoB,EAAe,gBAAEmS,GAAoB1kB,EAASO,WAAWnpG,QAC3D,WAAE6jI,EAAYvW,gBAAiBwW,GAA6Bzf,EAC5D0f,GAAuB,SAC3B,QACE,CACE5oB,kBACA0oB,cAEFvW,GAEFwW,GAEFzf,EAAUsG,OAASmY,GAAQc,EAAUG,EAIvC,CACF,CACAn7B,EAAS+hB,OAAStG,EAAUsG,QAAU,KAClCoY,IACFA,GAAiBn6B,EAErB,CACiC,CAC/B,MAAM1wE,EAAQgrF,GAAmBta,IACjC,UACA,IACE2gB,GAAa3gB,EACf,CAAE,SACA,UACA1wE,GACF,CACF,CAUF,CACA,MAAM8rG,GAcF,CACF,GAAAl6H,CAAI/L,EAAQ7K,GAEV,OADA,QAAM6K,EAAQ,MAAO,IACdA,EAAO7K,EAChB,GAUF,SAASu1H,GAAmB7f,GAC1B,MAAMoiB,EAAUhD,IAqBdpf,EAASof,QAAUA,GAAW,CAAC,CAAC,EAkBhC,MAAO,CACL7B,MAAO,IAAItwB,MAAM+S,EAASud,MAAO6d,IACjClwB,MAAOlL,EAASkL,MAChBhyB,KAAM8mB,EAAS9mB,KACfkpC,SAGN,CACA,SAAS1e,GAA2B1D,GAClC,OAAIA,EAASof,QACJpf,EAASy5B,cAAgBz5B,EAASy5B,YAAc,IAAIxsC,OAAM,SAAU,QAAQ+S,EAASof,UAAW,CACrG,GAAAl+G,CAAI/L,EAAQ7K,GACV,OAAIA,KAAO6K,EACFA,EAAO7K,GACLA,KAAO2yH,GACTA,GAAoB3yH,GAAK01G,QAD3B,CAGT,EACA,GAAArP,CAAIx7F,EAAQ7K,GACV,OAAOA,KAAO6K,GAAU7K,KAAO2yH,EACjC,KAGKjd,EAAS5/E,KAEpB,CAGA,SAASg4F,GAAiBqD,EAAW4f,GAAkB,GACrD,OAAO,QAAW5f,GAAaA,EAAU6f,aAAe7f,EAAUp3H,KAAOo3H,EAAUp3H,MAAQg3I,GAAmB5f,EAAU8f,MAC1H,CAuBA,SAASjD,GAAiBrtI,GACxB,OAAO,QAAWA,IAAU,cAAeA,CAC7C,CAEA,MAAM0nG,GAAW,CAAC0K,EAAiBC,KACjC,MAAMt9F,GAAI,QAAWq9F,EAAiBC,EAAcga,IAOpD,OAAOt3G,CAAC,EAGV,SAASsB,GAAElM,EAAMomI,EAAiB37G,GAChC,MAAMisC,EAAIjrD,UAAUC,OACpB,OAAU,IAANgrD,GACE,QAAS0vE,MAAqB,QAAQA,GACpCniB,GAAQmiB,GACH7pB,GAAYv8G,EAAM,KAAM,CAAComI,IAE3B7pB,GAAYv8G,EAAMomI,GAElB7pB,GAAYv8G,EAAM,KAAMomI,IAG7B1vE,EAAI,EACNjsC,EAAWttB,MAAMN,UAAU0mC,MAAM3zC,KAAK6b,UAAW,GAClC,IAANirD,GAAWutD,GAAQx5F,KAC5BA,EAAW,CAACA,IAEP8xF,GAAYv8G,EAAMomI,EAAiB37G,GAE9C,CAEA,SAAS47G,KAEL,aA8KJ,CAEA,SAASC,GAAStC,EAAMrX,EAAQhK,EAAOlsE,GACrC,MAAMysE,EAASP,EAAMlsE,GACrB,GAAIysE,GAAUqjB,GAAWrjB,EAAQ8gB,GAC/B,OAAO9gB,EAET,MAAM5b,EAAMqlB,IAGZ,OAFArlB,EAAI08B,KAAOA,EAAKzgG,QAChB+jE,EAAIqzB,WAAalkF,EACVksE,EAAMlsE,GAAS6wD,CACxB,CACA,SAASi/B,GAAWrjB,EAAQ8gB,GAC1B,MAAM5mC,EAAO8lB,EAAO8gB,KACpB,GAAI5mC,EAAK1xF,QAAUs4H,EAAKt4H,OACtB,OAAO,EAET,IAAK,IAAInW,EAAI,EAAGA,EAAI6nG,EAAK1xF,OAAQnW,IAC/B,IAAI,QAAW6nG,EAAK7nG,GAAIyuI,EAAKzuI,IAC3B,OAAO,EAMX,OAHImsI,GAAqB,GAAKC,IAC5BA,GAAal+F,KAAKy/E,IAEb,CACT,CAEA,MAAMpwG,GAAU,SACV0zH,GAAO,0BAAyD,KAAJ,KAC5DC,GAAmB,0BAAkB,KAAlB,EACnBC,GAA+D15B,EAC/D25B,GAAkB,0BAA4E,KAAxBz5B,EACtE05B,GAAY,CAChBtP,2BACAC,kBACAc,uBACA5qB,8BACAwW,QAASA,GACTrG,kBACAtP,8BACA6Y,oBACA9c,qBACAE,qBAEIs8B,GAAW,0BAAS,KAAT,GACXC,GAAgB,KAChBC,GAAc,KACdC,GAAmB,I;;;;;;ACvtQzB,IAAIC,EACJ,MAAMC,EAAuB,qBAAXr5F,QAA0BA,OAAOs5F,aACnD,GAAID,EACF,IACED,EAAyBC,EAAGE,aAAa,MAAO,CAC9CC,WAAan3F,GAAQA,GAEzB,CAAE,MAAOv5C,IAET,CAEF,MAAM2wI,EAAsBL,EAAU/2F,GAAQ+2F,EAAOI,WAAWn3F,GAAQA,GAAQA,EAC1Eq3F,EAAQ,6BACRC,EAAW,qCACX1tH,EAA0B,qBAAb4hE,SAA2BA,SAAW,KACnD+rD,EAAoB3tH,GAAuBA,EAAIhZ,cAAc,YAC7D4mI,EAAU,CACd52B,OAAQ,CAACgC,EAAOzY,EAAQ4V,KACtB5V,EAAOstC,aAAa70B,EAAO7C,GAAU,KAAK,EAE5C/9E,OAAS4gF,IACP,MAAMzY,EAASyY,EAAMS,WACjBlZ,GACFA,EAAOutC,YAAY90B,EACrB,EAEFhyG,cAAe,CAAC+mI,EAAKz3B,EAAW+lB,EAAI11E,KAClC,MAAMwuD,EAAmB,QAAdmB,EAAsBt2F,EAAIguH,gBAAgBP,EAAOM,GAAqB,WAAdz3B,EAAyBt2F,EAAIguH,gBAAgBN,EAAUK,GAAO1R,EAAKr8G,EAAIhZ,cAAc+mI,EAAK,CAAE1R,OAAQr8G,EAAIhZ,cAAc+mI,GAIzL,MAHY,WAARA,GAAoBpnF,GAA2B,MAAlBA,EAAMsnF,UACrC94B,EAAG8E,aAAa,WAAYtzD,EAAMsnF,UAE7B94B,CAAE,EAEX+B,WAAaj8F,GAAS+E,EAAIkuH,eAAejzH,GACzCk8F,cAAgBl8F,GAAS+E,EAAIm3F,cAAcl8F,GAC3C+/G,QAAS,CAACplC,EAAM36E,KACd26E,EAAKu4C,UAAYlzH,CAAI,EAEvBigH,eAAgB,CAAC/lB,EAAIl6F,KACnBk6F,EAAG+N,YAAcjoG,CAAI,EAEvBw+F,WAAa7jB,GAASA,EAAK6jB,WAC3BD,YAAc5jB,GAASA,EAAK4jB,YAC5BvC,cAAgBm3B,GAAapuH,EAAIi3F,cAAcm3B,GAC/C,UAAA9S,CAAWnmB,EAAIh4G,GACbg4G,EAAG8E,aAAa98G,EAAI,GACtB,EAKA,mBAAAq+H,CAAoBvZ,EAAS1hB,EAAQ4V,EAAQG,EAAWnsG,EAAOC,GAC7D,MAAMikI,EAASl4B,EAASA,EAAOuM,gBAAkBniB,EAAOoiB,UACxD,GAAIx4G,IAAUA,IAAUC,GAAOD,EAAMqvG,cACnC,MAAO,EAEL,GADAjZ,EAAOstC,aAAa1jI,EAAMmkI,WAAU,GAAOn4B,GACvChsG,IAAUC,KAASD,EAAQA,EAAMqvG,aAAc,UAEhD,CACLm0B,EAAkB1qB,UAAYuqB,EACd,QAAdl3B,EAAsB,QAAQ2L,UAAgC,WAAd3L,EAAyB,SAAS2L,WAAmBA,GAEvG,MAAM6pB,EAAW6B,EAAkB1rB,QACnC,GAAkB,QAAd3L,GAAqC,WAAdA,EAAwB,CACjD,MAAMi4B,EAAUzC,EAASjyB,WACzB,MAAO00B,EAAQ10B,WACbiyB,EAAS0C,YAAYD,EAAQ10B,YAE/BiyB,EAASgC,YAAYS,EACvB,CACAhuC,EAAOstC,aAAa/B,EAAU31B,EAChC,CACA,MAAO,CAELk4B,EAASA,EAAO70B,YAAcjZ,EAAOsZ,WAErC1D,EAASA,EAAOuM,gBAAkBniB,EAAOoiB,UAE7C,GAGI8rB,EAAa,aACbC,EAAY,YACZC,EAAS1pC,OAAO,QAChB2pC,EAA+B,CACnCz5I,KAAMypC,OACN14B,KAAM04B,OACNiwG,IAAK,CACH3oI,KAAMkZ,QACN88F,SAAS,GAEXj3G,SAAU,CAAC25B,OAAQ+mE,OAAQ//E,QAC3BkpH,eAAgBlwG,OAChBmwG,iBAAkBnwG,OAClBowG,aAAcpwG,OACdqwG,gBAAiBrwG,OACjBswG,kBAAmBtwG,OACnBuwG,cAAevwG,OACfwwG,eAAgBxwG,OAChBywG,iBAAkBzwG,OAClB0wG,aAAc1wG,QAEV2wG,GAA4C,QAChD,CAAC,EACD,KACAX,GAEIY,EAAcrxG,IAClBA,EAAEiuG,YAAc,aAChBjuG,EAAEwoB,MAAQ4oF,EACHpxG,GAEHsxG,EAA6B,0BAElC,KAFkCD,GACjC,CAAC7oF,GAASq1D,YAAY,IAAA5pG,GAAE,KAAgBs9H,EAAuB/oF,GAAQq1D,KAEnEyB,EAAW,CAACxxF,EAAMxa,EAAO,OACzB,QAAQwa,GACVA,EAAKukD,SAASm/D,GAAOA,KAAMl+H,KAClBwa,GACTA,KAAQxa,EACV,EAEIm+H,EAAuB3jH,KACpBA,KAAO,QAAQA,GAAQA,EAAKg7E,MAAM0oC,GAAOA,EAAG/9H,OAAS,IAAKqa,EAAKra,OAAS,GAEjF,SAAS89H,EAAuBrzB,GAC9B,MAAMwzB,EAAY,CAAC,EACnB,IAAK,MAAMz0I,KAAOihH,EACVjhH,KAAOwzI,IACXiB,EAAUz0I,GAAOihH,EAASjhH,IAG9B,IAAqB,IAAjBihH,EAASwyB,IACX,OAAOgB,EAET,MAAM,KACJ16I,EAAO,IAAG,KACV+Q,EAAI,SACJjB,EAAQ,eACR6pI,EAAiB,GAAG35I,eAAiB,iBACrC45I,EAAmB,GAAG55I,iBAAmB,aACzC65I,EAAe,GAAG75I,aAAe,gBACjC85I,EAAkBH,EAAc,kBAChCI,EAAoBH,EAAgB,cACpCI,EAAgBH,EAAY,eAC5BI,EAAiB,GAAGj6I,eAAiB,iBACrCk6I,EAAmB,GAAGl6I,iBAAmB,aACzCm6I,EAAe,GAAGn6I,cAChBknH,EACE9wE,EAAYukG,EAAkB7qI,GAC9B8qI,EAAgBxkG,GAAaA,EAAU,GACvCykG,EAAgBzkG,GAAaA,EAAU,IACvC,cACJwvE,EAAa,QACbC,EAAO,iBACPE,EAAgB,QAChBE,EAAO,iBACPE,EAAgB,eAChBC,EAAiBR,EAAa,SAC9BS,EAAWR,EAAO,kBAClBU,EAAoBR,GAClB20B,EACEI,EAAc,CAAC96B,EAAI+6B,EAAUntF,EAAMotF,KACvCh7B,EAAGi7B,gBAAkBD,EACrBE,EAAsBl7B,EAAI+6B,EAAWf,EAAgBH,GACrDqB,EAAsBl7B,EAAI+6B,EAAWhB,EAAoBH,GACzDhsF,GAAQA,GAAM,EAEVutF,EAAc,CAACn7B,EAAIpyD,KACvBoyD,EAAGo7B,YAAa,EAChBF,EAAsBl7B,EAAIi6B,GAC1BiB,EAAsBl7B,EAAIm6B,GAC1Be,EAAsBl7B,EAAIk6B,GAC1BtsF,GAAQA,GAAM,EAEVytF,EAAiBN,GACd,CAAC/6B,EAAIpyD,KACV,MAAM92B,EAAOikH,EAAW10B,EAAWR,EAC7Bl7D,EAAU,IAAMmwF,EAAY96B,EAAI+6B,EAAUntF,GAChD06D,EAASxxF,EAAM,CAACkpF,EAAIr1D,IACpB2wF,GAAU,KACRJ,EAAsBl7B,EAAI+6B,EAAWjB,EAAkBH,GACvD4B,EAAmBv7B,EAAI+6B,EAAWf,EAAgBH,GAC7CY,EAAoB3jH,IACvB0kH,EAAmBx7B,EAAIjvG,EAAM6pI,EAAejwF,EAC9C,GACA,EAGN,OAAO,QAAO+vF,EAAW,CACvB,aAAA90B,CAAc5F,GACZsI,EAAS1C,EAAe,CAAC5F,IACzBu7B,EAAmBv7B,EAAI25B,GACvB4B,EAAmBv7B,EAAI45B,EACzB,EACA,cAAAxzB,CAAepG,GACbsI,EAASlC,EAAgB,CAACpG,IAC1Bu7B,EAAmBv7B,EAAI85B,GACvByB,EAAmBv7B,EAAI+5B,EACzB,EACAl0B,QAASw1B,GAAc,GACvBh1B,SAAUg1B,GAAc,GACxB,OAAAp1B,CAAQjG,EAAIpyD,GACVoyD,EAAGo7B,YAAa,EAChB,MAAMzwF,EAAU,IAAMwwF,EAAYn7B,EAAIpyD,GACtC2tF,EAAmBv7B,EAAIi6B,GAClBj6B,EAAGi7B,iBAINM,EAAmBv7B,EAAIk6B,GACvBuB,MAJAA,IACAF,EAAmBv7B,EAAIk6B,IAKzBoB,GAAU,KACHt7B,EAAGo7B,aAGRF,EAAsBl7B,EAAIi6B,GAC1BsB,EAAmBv7B,EAAIm6B,GAClBM,EAAoBx0B,IACvBu1B,EAAmBx7B,EAAIjvG,EAAM8pI,EAAelwF,GAC9C,IAEF29D,EAASrC,EAAS,CAACjG,EAAIr1D,GACzB,EACA,gBAAAo7D,CAAiB/F,GACf86B,EAAY96B,GAAI,OAAO,GAAQ,GAC/BsI,EAASvC,EAAkB,CAAC/F,GAC9B,EACA,iBAAAuG,CAAkBvG,GAChB86B,EAAY96B,GAAI,OAAM,GAAQ,GAC9BsI,EAAS/B,EAAmB,CAACvG,GAC/B,EACA,gBAAAmG,CAAiBnG,GACfm7B,EAAYn7B,GACZsI,EAASnC,EAAkB,CAACnG,GAC9B,GAEJ,CACA,SAAS26B,EAAkB7qI,GACzB,GAAgB,MAAZA,EACF,OAAO,KACF,IAAI,QAASA,GAClB,MAAO,CAAC4rI,EAAS5rI,EAAS64G,OAAQ+yB,EAAS5rI,EAASk5G,QAC/C,CACL,MAAMhsG,EAAI0+H,EAAS5rI,GACnB,MAAO,CAACkN,EAAGA,EACb,CACF,CACA,SAAS0+H,EAASz6F,GAChB,MAAM0D,GAAM,QAAS1D,GAIrB,OAAO0D,CACT,CACA,SAAS42F,EAAmBv7B,EAAI27B,GAC9BA,EAAI5+D,MAAM,OAAO1B,SAAS1/D,GAAMA,GAAKqkG,EAAG47B,UAAUx9H,IAAIzC,MACrDqkG,EAAGw5B,KAAYx5B,EAAGw5B,GAA0B,IAAIzmC,MAAQ30F,IAAIu9H,EAC/D,CACA,SAAST,EAAsBl7B,EAAI27B,GACjCA,EAAI5+D,MAAM,OAAO1B,SAAS1/D,GAAMA,GAAKqkG,EAAG47B,UAAU34G,OAAOtnB,KACzD,MAAMkgI,EAAO77B,EAAGw5B,GACZqC,IACFA,EAAKtvC,OAAOovC,GACPE,EAAK1vI,OACR6zG,EAAGw5B,QAAU,GAGnB,CACA,SAAS8B,EAAUtkH,GACjB8kH,uBAAsB,KACpBA,sBAAsB9kH,EAAG,GAE7B,CACA,IAAI+kH,EAAQ,EACZ,SAASP,EAAmBx7B,EAAIrqD,EAAcqmF,EAAiBrxF,GAC7D,MAAM3iD,EAAKg4G,EAAGi8B,SAAWF,EACnBG,EAAoB,KACpBl0I,IAAOg4G,EAAGi8B,QACZtxF,GACF,EAEF,GAAuB,MAAnBqxF,EACF,OAAOj0C,WAAWm0C,EAAmBF,GAEvC,MAAM,KAAEjrI,EAAI,QAAEmkB,EAAO,UAAEinH,GAAcC,EAAkBp8B,EAAIrqD,GAC3D,IAAK5kD,EACH,OAAO45C,IAET,MAAM0xF,EAAWtrI,EAAO,MACxB,IAAIurI,EAAQ,EACZ,MAAMrnI,EAAM,KACV+qG,EAAGkR,oBAAoBmrB,EAAUE,GACjCL,GAAmB,EAEfK,EAAS70I,IACTA,EAAEoJ,SAAWkvG,KAAQs8B,GAASH,GAChClnI,GACF,EAEF8yF,YAAW,KACLu0C,EAAQH,GACVlnI,GACF,GACCigB,EAAU,GACb8qF,EAAGiR,iBAAiBorB,EAAUE,EAChC,CACA,SAASH,EAAkBp8B,EAAIrqD,GAC7B,MAAM6mF,EAAS59F,OAAO69F,iBAAiBz8B,GACjC08B,EAAsBz2I,IAASu2I,EAAOv2I,IAAQ,IAAI82E,MAAM,MACxD4/D,EAAmBD,EAAmB,GAAGpD,UACzCsD,EAAsBF,EAAmB,GAAGpD,aAC5CuD,EAAoBC,EAAWH,EAAkBC,GACjDG,EAAkBL,EAAmB,GAAGnD,UACxCyD,EAAqBN,EAAmB,GAAGnD,aAC3C0D,EAAmBH,EAAWC,EAAiBC,GACrD,IAAIjsI,EAAO,KACPmkB,EAAU,EACVinH,EAAY,EACZxmF,IAAiB2jF,EACfuD,EAAoB,IACtB9rI,EAAOuoI,EACPpkH,EAAU2nH,EACVV,EAAYS,EAAoBngI,QAEzBk5C,IAAiB4jF,EACtB0D,EAAmB,IACrBlsI,EAAOwoI,EACPrkH,EAAU+nH,EACVd,EAAYa,EAAmBvgI,SAGjCyY,EAAUn2B,KAAKwQ,IAAIstI,EAAmBI,GACtClsI,EAAOmkB,EAAU,EAAI2nH,EAAoBI,EAAmB3D,EAAaC,EAAY,KACrF4C,EAAYprI,EAAOA,IAASuoI,EAAasD,EAAoBngI,OAASugI,EAAmBvgI,OAAS,GAEpG,MAAMygI,EAAensI,IAASuoI,GAAc,yBAAyBxtI,KACnE4wI,EAAmB,GAAGpD,aAAsBnqI,YAE9C,MAAO,CACL4B,OACAmkB,UACAinH,YACAe,eAEJ,CACA,SAASJ,EAAWK,EAAQ/mG,GAC1B,MAAO+mG,EAAO1gI,OAAS25B,EAAU35B,OAC/B0gI,EAASA,EAAO/rI,OAAO+rI,GAEzB,OAAOp+I,KAAKwQ,OAAO6mC,EAAUlwC,KAAI,CAACkjC,EAAG9iC,IAAM82I,EAAKh0G,GAAKg0G,EAAKD,EAAO72I,MACnE,CACA,SAAS82I,EAAK/0I,GACZ,MAAU,SAANA,EAAqB,EACyB,IAA3CmoG,OAAOnoG,EAAEisC,MAAM,GAAI,GAAG1gC,QAAQ,IAAK,KAC5C,CACA,SAAS6nI,IACP,OAAOhvD,SAAS7lC,KAAKy2F,YACvB,CAEA,SAASC,EAAWt9B,EAAIp5G,EAAO22I,GAC7B,MAAMC,EAAoBx9B,EAAGw5B,GACzBgE,IACF52I,GAASA,EAAQ,CAACA,KAAU42I,GAAqB,IAAIA,IAAoB5vH,KAAK,MAEnE,MAAThnB,EACFo5G,EAAGy9B,gBAAgB,SACVF,EACTv9B,EAAG8E,aAAa,QAASl+G,GAEzBo5G,EAAG9vB,UAAYtpF,CAEnB,CAEA,MAAM82I,EAAuB5tC,OAAO,QAC9B6tC,EAAc7tC,OAAO,QACrB8tC,EAAQ,CACZ,WAAA1gB,CAAYld,GAAI,MAAEp5G,IAAS,WAAEyiH,IAC3BrJ,EAAG09B,GAA6C,SAArB19B,EAAGqO,MAAMwvB,QAAqB,GAAK79B,EAAGqO,MAAMwvB,QACnEx0B,GAAcziH,EAChByiH,EAAWZ,YAAYzI,GAEvB89B,EAAW99B,EAAIp5G,EAEnB,EACA,OAAA84G,CAAQM,GAAI,MAAEp5G,IAAS,WAAEyiH,IACnBA,GAAcziH,GAChByiH,EAAWV,MAAM3I,EAErB,EACA,OAAAL,CAAQK,GAAI,MAAEp5G,EAAK,SAAEupG,IAAY,WAAEkZ,KAC5BziH,KAAWupG,IACZkZ,EACEziH,GACFyiH,EAAWZ,YAAYzI,GACvB89B,EAAW99B,GAAI,GACfqJ,EAAWV,MAAM3I,IAEjBqJ,EAAWL,MAAMhJ,GAAI,KACnB89B,EAAW99B,GAAI,EAAM,IAIzB89B,EAAW99B,EAAIp5G,GAEnB,EACA,aAAA22H,CAAcvd,GAAI,MAAEp5G,IAClBk3I,EAAW99B,EAAIp5G,EACjB,GAKF,SAASk3I,EAAW99B,EAAIp5G,GACtBo5G,EAAGqO,MAAMwvB,QAAUj3I,EAAQo5G,EAAG09B,GAAwB,OACtD19B,EAAG29B,IAAgB/2I,CACrB,CACA,SAASm3I,IACPH,EAAMI,YAAc,EAAGp3I,YACrB,IAAKA,EACH,MAAO,CAAEynH,MAAO,CAAEwvB,QAAS,QAC7B,CAEJ,CAEA,MAAMI,EAAenuC,OAAoE,IACzF,SAASouC,EAAWlgI,GAClB,MAAM29F,GAAW,UACjB,IAAKA,EAEH,OAEF,MAAMwiC,EAAkBxiC,EAASkJ,GAAK,CAACu5B,EAAOpgI,EAAO29F,EAAS5/E,UAC5D7tB,MAAM07B,KACJ6iD,SAAS4xD,iBAAiB,kBAAkB1iC,EAAS/gG,UACrDygE,SAASolB,GAAS69C,EAAc79C,EAAM29C,IAAM,EAKhD,MAAMG,EAAU,KACd,MAAMH,EAAOpgI,EAAO29F,EAAS5/E,OACzB4/E,EAAS8G,GACX67B,EAAc3iC,EAAS8G,GAAI27B,GAE3BI,EAAe7iC,EAAS8K,QAAS23B,GAEnCD,EAAgBC,EAAK,GAEvB,SAAe,MACb,QAAiBG,EAAQ,KAE3B,SAAU,MACR,QAAMA,EAAS,KAAM,CAAEpqG,MAAO,SAC9B,MAAMo8E,EAAK,IAAIkuB,iBAAiBF,GAChChuB,EAAGK,QAAQjV,EAAS8K,QAAQzG,GAAGsE,WAAY,CAAEo6B,WAAW,KACxD,SAAY,IAAMnuB,EAAGG,cAAa,GAEtC,CACA,SAAS8tB,EAAenjC,EAAO+iC,GAC7B,GAAsB,IAAlB/iC,EAAM4G,UAAiB,CACzB,MAAM+Q,EAAW3X,EAAM2X,SACvB3X,EAAQ2X,EAASmd,aACbnd,EAASmZ,gBAAkBnZ,EAASoe,aACtCpe,EAAS/nB,QAAQz2D,MAAK,KACpBgqG,EAAexrB,EAASmd,aAAciO,EAAK,GAGjD,CACA,MAAO/iC,EAAMqL,UACXrL,EAAQA,EAAMqL,UAAUD,QAE1B,GAAsB,EAAlBpL,EAAM4G,WAAiB5G,EAAM2E,GAC/Bs+B,EAAcjjC,EAAM2E,GAAIo+B,QACnB,GAAI/iC,EAAMtqG,OAAS,KACxBsqG,EAAM7/E,SAAS6/C,SAAS1/D,GAAM6iI,EAAe7iI,EAAGyiI,UAC3C,GAAI/iC,EAAMtqG,OAAS,KAAQ,CAChC,IAAI,GAAEivG,EAAE,OAAEgB,GAAW3F,EACrB,MAAO2E,EAAI,CAET,GADAs+B,EAAct+B,EAAIo+B,GACdp+B,IAAOgB,EAAQ,MACnBhB,EAAKA,EAAGqE,WACV,CACF,CACF,CACA,SAASi6B,EAAct+B,EAAIo+B,GACzB,GAAoB,IAAhBp+B,EAAG2E,SAAgB,CACrB,MAAM0J,EAAQrO,EAAGqO,MACjB,IAAIswB,EAAU,GACd,IAAK,MAAM14I,KAAOm4I,EAChB/vB,EAAMuwB,YAAY,KAAK34I,IAAOm4I,EAAKn4I,IACnC04I,GAAW,KAAK14I,MAAQm4I,EAAKn4I,MAE/BooH,EAAM4vB,GAAgBU,CACxB,CACF,CAEA,MAAME,EAAY,sBAClB,SAASC,EAAW9+B,EAAI7R,EAAM9qF,GAC5B,MAAMgrG,EAAQrO,EAAGqO,MACX0wB,GAAc,QAAS17H,GAC7B,IAAI27H,GAAuB,EAC3B,GAAI37H,IAAS07H,EAAa,CACxB,GAAI5wC,EACF,IAAK,QAASA,GAOZ,IAAK,MAAM8wC,KAAa9wC,EAAKpxB,MAAM,KAAM,CACvC,MAAM92E,EAAMg5I,EAAU3qG,MAAM,EAAG2qG,EAAUtpH,QAAQ,MAAMk5G,OACtC,MAAbxrH,EAAKpd,IACPi5I,EAAS7wB,EAAOpoH,EAAK,GAEzB,MAXA,IAAK,MAAMA,KAAOkoG,EACC,MAAb9qF,EAAKpd,IACPi5I,EAAS7wB,EAAOpoH,EAAK,IAY7B,IAAK,MAAMA,KAAOod,EACJ,YAARpd,IACF+4I,GAAuB,GAEzBE,EAAS7wB,EAAOpoH,EAAKod,EAAKpd,GAE9B,MACE,GAAI84I,GACF,GAAI5wC,IAAS9qF,EAAM,CACjB,MAAM87H,EAAa9wB,EAAM4vB,GACrBkB,IACF97H,GAAQ,IAAM87H,GAEhB9wB,EAAMswB,QAAUt7H,EAChB27H,EAAuBH,EAAU/yI,KAAKuX,EACxC,OACS8qF,GACT6R,EAAGy9B,gBAAgB,SAGnBC,KAAwB19B,IAC1BA,EAAG09B,GAAwBsB,EAAuB3wB,EAAMwvB,QAAU,GAC9D79B,EAAG29B,KACLtvB,EAAMwvB,QAAU,QAGtB,CACA,MACMuB,EAAc,iBACpB,SAASF,EAAS7wB,EAAOruH,EAAMihD,GAC7B,IAAI,QAAQA,GACVA,EAAIo6B,SAASriE,GAAMkmI,EAAS7wB,EAAOruH,EAAMgZ,UAUzC,GARW,MAAPioC,IAAaA,EAAM,IAQnBjhD,EAAK47H,WAAW,MAClBvN,EAAMuwB,YAAY5+I,EAAMihD,OACnB,CACL,MAAMo+F,EAAWC,EAAWjxB,EAAOruH,GAC/Bo/I,EAAYtzI,KAAKm1C,GACnBotE,EAAMuwB,aACJ,QAAUS,GACVp+F,EAAIrtC,QAAQwrI,EAAa,IACzB,aAGF/wB,EAAMgxB,GAAYp+F,CAEtB,CAEJ,CACA,MAAMs+F,EAAW,CAAC,SAAU,MAAO,MAC7BC,EAAc,CAAC,EACrB,SAASF,EAAWjxB,EAAOoxB,GACzB,MAAMxrB,EAASurB,EAAYC,GAC3B,GAAIxrB,EACF,OAAOA,EAET,IAAIj0H,GAAO,QAASy/I,GACpB,GAAa,WAATz/I,GAAqBA,KAAQquH,EAC/B,OAAOmxB,EAAYC,GAAWz/I,EAEhCA,GAAO,QAAWA,GAClB,IAAK,IAAIsG,EAAI,EAAGA,EAAIi5I,EAAS9iI,OAAQnW,IAAK,CACxC,MAAM+4I,EAAWE,EAASj5I,GAAKtG,EAC/B,GAAIq/I,KAAYhxB,EACd,OAAOmxB,EAAYC,GAAWJ,CAElC,CACA,OAAOI,CACT,CAEA,MAAMC,EAAU,+BAChB,SAASC,EAAU3/B,EAAI/5G,EAAKW,EAAO22I,EAAO5hC,EAAUziB,GAAY,QAAqBjzF,IAC/Es3I,GAASt3I,EAAI21H,WAAW,UACb,MAATh1H,EACFo5G,EAAG4/B,kBAAkBF,EAASz5I,EAAIquC,MAAM,EAAGruC,EAAIwW,SAE/CujG,EAAG6/B,eAAeH,EAASz5I,EAAKW,GAGrB,MAATA,GAAiBsyF,KAAc,QAAmBtyF,GACpDo5G,EAAGy9B,gBAAgBx3I,GAEnB+5G,EAAG8E,aACD7+G,EACAizF,EAAY,IAAK,QAAStyF,GAAS6iC,OAAO7iC,GAASA,EAI3D,CAEA,SAASk5I,GAAa9/B,EAAI/5G,EAAKW,EAAOq6G,EAAiB8+B,GACrD,GAAY,cAAR95I,GAA+B,gBAARA,EAIzB,YAHa,MAATW,IACFo5G,EAAG/5G,GAAe,cAARA,EAAsBoyI,EAAoBzxI,GAASA,IAIjE,MAAMgyI,EAAM54B,EAAGyL,QACf,GAAY,UAARxlH,GAA2B,aAAR2yI,IACtBA,EAAIruC,SAAS,KAAM,CAClB,MAAM4F,EAAmB,WAARyoC,EAAmB54B,EAAG2P,aAAa,UAAY,GAAK3P,EAAGp5G,MAClE4O,EAAoB,MAAT5O,EAGH,aAAZo5G,EAAGjvG,KAAsB,KAAO,GAC9B04B,OAAO7iC,GAQX,OAPIupG,IAAa36F,GAAc,WAAYwqG,IACzCA,EAAGp5G,MAAQ4O,GAEA,MAAT5O,GACFo5G,EAAGy9B,gBAAgBx3I,QAErB+5G,EAAGpR,OAAShoG,EAEd,CACA,IAAIo5I,GAAa,EACjB,GAAc,KAAVp5I,GAAyB,MAATA,EAAe,CACjC,MAAMmK,SAAcivG,EAAG/5G,GACV,YAAT8K,EACFnK,GAAQ,QAAmBA,GACT,MAATA,GAA0B,WAATmK,GAC1BnK,EAAQ,GACRo5I,GAAa,GACK,WAATjvI,IACTnK,EAAQ,EACRo5I,GAAa,EAEjB,CACA,IACEhgC,EAAG/5G,GAAOW,CACZ,CAAE,MAAOc,IACH,CAMN,CACAs4I,GAAchgC,EAAGy9B,gBAAgBsC,GAAY95I,EAC/C,CAEA,SAASgrH,GAAiBjR,EAAIl0F,EAAOzR,EAASy2E,GAC5CkvB,EAAGiR,iBAAiBnlG,EAAOzR,EAASy2E,EACtC,CACA,SAASogC,GAAoBlR,EAAIl0F,EAAOzR,EAASy2E,GAC/CkvB,EAAGkR,oBAAoBplG,EAAOzR,EAASy2E,EACzC,CACA,MAAMmvD,GAASnwC,OAAO,QACtB,SAASowC,GAAWlgC,EAAIy/B,EAASU,EAAWC,EAAWzkC,EAAW,MAChE,MAAM0kC,EAAWrgC,EAAGigC,MAAYjgC,EAAGigC,IAAU,CAAC,GACxCK,EAAkBD,EAASZ,GACjC,GAAIW,GAAaE,EACfA,EAAgB15I,MAA6Fw5I,MACxG,CACL,MAAOpgJ,EAAM8wF,GAAWyvD,GAAUd,GAClC,GAAIW,EAAW,CACb,MAAMI,EAAUH,EAASZ,GAAWgB,GACmDL,EACrFzkC,GAEFsV,GAAiBjR,EAAIhgH,EAAMwgJ,EAAS1vD,EACtC,MAAWwvD,IACTpvB,GAAoBlR,EAAIhgH,EAAMsgJ,EAAiBxvD,GAC/CuvD,EAASZ,QAAW,EAExB,CACF,CACA,MAAMiB,GAAoB,4BAC1B,SAASH,GAAUvgJ,GACjB,IAAI8wF,EACJ,GAAI4vD,GAAkB50I,KAAK9L,GAAO,CAEhC,IAAIkkH,EADJpzB,EAAU,CAAC,EAEX,MAAOozB,EAAIlkH,EAAK+O,MAAM2xI,IACpB1gJ,EAAOA,EAAKs0C,MAAM,EAAGt0C,EAAKyc,OAASynG,EAAE,GAAGznG,QACxCq0E,EAAQozB,EAAE,GAAGvwG,gBAAiB,CAElC,CACA,MAAMmY,EAAoB,MAAZ9rB,EAAK,GAAaA,EAAKs0C,MAAM,IAAK,QAAUt0C,EAAKs0C,MAAM,IACrE,MAAO,CAACxoB,EAAOglE,EACjB,CACA,IAAI6vD,GAAY,EAChB,MAAM13G,GAAoBuhE,QAAQ7/C,UAC5Bi2F,GAAS,IAAMD,KAAc13G,GAAE+xC,MAAK,IAAM2lE,GAAY,IAAIA,GAAY93I,KAAK+L,OACjF,SAAS6rI,GAAcI,EAAcllC,GACnC,MAAM6kC,EAAW94I,IACf,GAAKA,EAAEo5I,MAEA,GAAIp5I,EAAEo5I,MAAQN,EAAQO,SAC3B,YAFAr5I,EAAEo5I,KAAOj4I,KAAK+L,OAIhB,QACEosI,GAA8Bt5I,EAAG84I,EAAQ55I,OACzC+0G,EACA,EACA,CAACj0G,GACF,EAIH,OAFA84I,EAAQ55I,MAAQi6I,EAChBL,EAAQO,SAAWH,KACZJ,CACT,CAWA,SAASQ,GAA8Bt5I,EAAGd,GACxC,IAAI,QAAQA,GAAQ,CAClB,MAAMq6I,EAAev5I,EAAEw5I,yBAKvB,OAJAx5I,EAAEw5I,yBAA2B,KAC3BD,EAAatgJ,KAAK+G,GAClBA,EAAEy5I,UAAW,CAAI,EAEZv6I,EAAMV,KACVoU,GAAQkwH,IAAQA,EAAG2W,UAAY7mI,GAAMA,EAAGkwH,IAE7C,CACE,OAAO5jI,CAEX,CAEA,MAAMw6I,GAAcn7I,GAA8B,MAAtBA,EAAIkwD,WAAW,IAAoC,MAAtBlwD,EAAIkwD,WAAW,IACxElwD,EAAIkwD,WAAW,GAAK,IAAMlwD,EAAIkwD,WAAW,GAAK,IACxC+1D,GAAY,CAAClM,EAAI/5G,EAAKk6I,EAAWC,EAAWj/B,EAAWF,KAC3D,MAAMs8B,EAAsB,QAAdp8B,EACF,UAARl7G,EACFq3I,EAAWt9B,EAAIogC,EAAW7C,GACT,UAARt3I,EACT64I,EAAW9+B,EAAImgC,EAAWC,IACjB,QAAKn6I,IACT,QAAgBA,IACnBi6I,GAAWlgC,EAAI/5G,EAAKk6I,EAAWC,EAAWn/B,IAExB,MAAXh7G,EAAI,IAAcA,EAAMA,EAAIquC,MAAM,GAAI,GAAmB,MAAXruC,EAAI,IAAcA,EAAMA,EAAIquC,MAAM,GAAI,GAAS+sG,GAAgBrhC,EAAI/5G,EAAKm6I,EAAW7C,KAC1IuC,GAAa9/B,EAAI/5G,EAAKm6I,GACjBpgC,EAAGyL,QAAQlhB,SAAS,MAAiB,UAARtkG,GAA2B,YAARA,GAA6B,aAARA,GACxE05I,EAAU3/B,EAAI/5G,EAAKm6I,EAAW7C,EAAOt8B,EAAyB,UAARh7G,KAIxD+5G,EAAGshC,WAAa,QAAQx1I,KAAK7F,KAAS,QAASm6I,IAInC,eAARn6I,EACF+5G,EAAGuhC,WAAanB,EACC,gBAARn6I,IACT+5G,EAAGwhC,YAAcpB,GAEnBT,EAAU3/B,EAAI/5G,EAAKm6I,EAAW7C,IAP9BuC,GAAa9/B,GAAI,QAAW/5G,GAAMm6I,EAAWn/B,EAAiBh7G,EAQhE,EAEF,SAASo7I,GAAgBrhC,EAAI/5G,EAAKW,EAAO22I,GACvC,GAAIA,EACF,MAAY,cAARt3I,GAA+B,gBAARA,MAGvBA,KAAO+5G,GAAMohC,GAAWn7I,KAAQ,QAAWW,IAKjD,GAAY,eAARX,GAAgC,cAARA,GAA+B,cAARA,EACjD,OAAO,EAET,GAAY,SAARA,EACF,OAAO,EAET,GAAY,SAARA,GAAiC,UAAf+5G,EAAGyL,QACvB,OAAO,EAET,GAAY,SAARxlH,GAAiC,aAAf+5G,EAAGyL,QACvB,OAAO,EAET,GAAY,UAARxlH,GAA2B,WAARA,EAAkB,CACvC,MAAM2yI,EAAM54B,EAAGyL,QACf,GAAY,QAARmtB,GAAyB,UAARA,GAA2B,WAARA,GAA4B,WAARA,EAC1D,OAAO,CAEX,CACA,QAAIwI,GAAWn7I,MAAQ,QAASW,KAGzBX,KAAO+5G,CAChB,CAEA,MAAMyhC,GAAU,CAAC;2BAGjB,SAASC,GAAoB5wD,EAASg5B,EAAc63B,GAClD,MAAMC,GAAO,QAAgB9wD,EAASg5B,IAClC,QAAc83B,KAAO,QAAOA,EAAM93B,GACtC,MAAM+3B,UAAyBC,GAC7B,WAAA/0I,CAAYg1I,GACV9tC,MAAM2tC,EAAMG,EAAcJ,EAC5B,EAGF,OADAE,EAAiBG,IAAMJ,EAChBC,CACT;2BAEA,MAAMI,GAAoD,CAACnxD,EAASg5B,IAC3C43B,GAAoB5wD,EAASg5B,EAAco4B,IAE9DC,GAAmC,qBAAhBjkC,YAA8BA,YAAc,QAErE,MAAM4jC,WAAmBK,GACvB,WAAAp1I,CAAYq1I,EAAMphB,EAAS,CAAC,EAAG2gB,EAAanV,IAC1Cv4B,QACArzG,KAAKwhJ,KAAOA,EACZxhJ,KAAKogI,OAASA,EACdpgI,KAAK+gJ,WAAaA,EAClB/gJ,KAAK0gJ,UAAW,EAIhB1gJ,KAAKsgI,UAAY,KAIjBtgI,KAAKyhJ,KAAO,KAIZzhJ,KAAK0hJ,OAAS1hJ,KAAKwhJ,KAAKG,MACxB3hJ,KAAK4hJ,YAAa,EAClB5hJ,KAAK6hJ,WAAY,EACjB7hJ,KAAK8hJ,aAAe,KACpB9hJ,KAAK+hJ,eAAiC,IAAI32C,QAC1CprG,KAAKgiJ,IAAM,KACPhiJ,KAAKiiJ,YAAclB,IAAenV,GACpC5rI,KAAKkiJ,MAAQliJ,KAAKiiJ,YAOM,IAApBT,EAAKS,YACPjiJ,KAAKmiJ,aAAa,CAAE/uH,KAAM,SAC1BpzB,KAAKkiJ,MAAQliJ,KAAKiiJ,YAElBjiJ,KAAKkiJ,MAAQliJ,KAGZA,KAAKwhJ,KAAK5wB,eACb5wH,KAAKoiJ,cAAcpiJ,KAAKwhJ,KAE5B,CACA,iBAAAa,GACE,IAAKriJ,KAAKsiJ,YAAa,OAClBtiJ,KAAKiiJ,YACRjiJ,KAAKuiJ,cAEPviJ,KAAK4hJ,YAAa,EAClB,IAAIp3C,EAASxqG,KACb,MAAOwqG,EAASA,IAAWA,EAAOkZ,YAAclZ,EAAOt5F,MACrD,GAAIs5F,aAAkB02C,GAAY,CAChClhJ,KAAKwiJ,QAAUh4C,EACf,KACF,CAEGxqG,KAAKsgI,YACJtgI,KAAK6hJ,WACP7hJ,KAAKyiJ,aACLziJ,KAAK0iJ,WAEDl4C,GAAUA,EAAOm4C,gBACnB3iJ,KAAK2iJ,gBAAkBn4C,EAAOm4C,gBAAgBvoE,MAAK,KACjDp6E,KAAK2iJ,qBAAkB,EACvB3iJ,KAAK4iJ,aAAa,IAGpB5iJ,KAAK4iJ,cAIb,CACA,UAAAH,CAAWj4C,EAASxqG,KAAKwiJ,SACnBh4C,IACFxqG,KAAKsgI,UAAU91B,OAASA,EAAO81B,UAC/BtgI,KAAKsgI,UAAU3C,SAAWnzB,EAAO81B,UAAU3C,SAE/C,CACA,oBAAAklB,GACE7iJ,KAAK4hJ,YAAa,GAClB,SAAS,KACF5hJ,KAAK4hJ,aACJ5hJ,KAAKgiJ,MACPhiJ,KAAKgiJ,IAAIlyB,aACT9vH,KAAKgiJ,IAAM,MAEbhiJ,KAAKyhJ,MAAQzhJ,KAAKyhJ,KAAK5+B,UACnB7iH,KAAKsgI,YAAWtgI,KAAKsgI,UAAUze,QAAK,GACxC7hH,KAAKyhJ,KAAOzhJ,KAAKsgI,UAAY,KAC/B,GAEJ,CAIA,WAAAsiB,GACE,GAAI5iJ,KAAK2iJ,gBACP,OAEF,IAAK,IAAIj9I,EAAI,EAAGA,EAAI1F,KAAK8iJ,WAAWjnI,OAAQnW,IAC1C1F,KAAK+iJ,SAAS/iJ,KAAK8iJ,WAAWp9I,GAAGtG,MAEnCY,KAAKgiJ,IAAM,IAAInE,kBAAkBmF,IAC/B,IAAK,MAAM1/B,KAAK0/B,EACdhjJ,KAAK+iJ,SAASz/B,EAAE2/B,cAClB,IAEFjjJ,KAAKgiJ,IAAIhyB,QAAQhwH,KAAM,CAAE8iJ,YAAY,IACrC,MAAM/4F,EAAU,CAACq3F,EAAK95H,GAAU,KAC9BtnB,KAAK6hJ,WAAY,EACjB7hJ,KAAK2iJ,qBAAkB,EACvB,MAAM,MAAE/xF,EAAK,OAAEgrF,GAAWwF,EAC1B,IAAI8B,EACJ,GAAItyF,KAAU,QAAQA,GACpB,IAAK,MAAMvrD,KAAOurD,EAAO,CACvB,MAAMqqE,EAAMrqE,EAAMvrD,IACd41H,IAAQrrB,QAAUqrB,GAAOA,EAAI9qH,OAASy/F,UACpCvqG,KAAOrF,KAAKogI,SACdpgI,KAAKogI,OAAO/6H,IAAO,QAASrF,KAAKogI,OAAO/6H,MAEzC69I,IAAgBA,EAA8BrzH,OAAOqK,OAAO,SAAQ,QAAW70B,KAAQ,EAE5F,CAEFrF,KAAK8hJ,aAAeoB,EAChB57H,GACFtnB,KAAKoiJ,cAAchB,GAEjBphJ,KAAKiiJ,YACPjiJ,KAAKmjJ,aAAavH,GAMpB57I,KAAKojJ,OAAOhC,EAAI,EAEZiC,EAAWrjJ,KAAKwhJ,KAAK5wB,cACvByyB,EACFrjJ,KAAK2iJ,gBAAkBU,IAAWjpE,MAC/BgnE,GAAQr3F,EAAQ/pD,KAAKwhJ,KAAOJ,GAAK,KAGpCr3F,EAAQ/pD,KAAKwhJ,KAEjB,CACA,MAAA4B,CAAOhC,GAILphJ,KAAKyhJ,KAAOzhJ,KAAK+gJ,WAAWK,GACxBA,EAAIkC,cACNlC,EAAIkC,aAAatjJ,KAAKyhJ,MAExBzhJ,KAAKyhJ,KAAK7gB,SAAW5gI,KAAKmzI,eAC1BnzI,KAAKyhJ,KAAKhgC,MAAMzhH,KAAKkiJ,OACrB,MAAM/nB,EAAUn6H,KAAKsgI,WAAatgI,KAAKsgI,UAAUnG,QACjD,GAAKA,EACL,IAAK,MAAM90H,KAAO80H,GACX,QAAOn6H,KAAMqF,IAChBwqB,OAAO45F,eAAezpH,KAAMqF,EAAK,CAE/B4W,IAAK,KAAM,QAAMk+G,EAAQ90H,KAMjC,CACA,aAAA+8I,CAAchB,GACZ,MAAM,MAAExwF,GAAUwwF,EACZmC,GAAmB,QAAQ3yF,GAASA,EAAQ/gC,OAAO8lC,KAAK/E,GAAS,CAAC,GACxE,IAAK,MAAMvrD,KAAOwqB,OAAO8lC,KAAK31D,MACb,MAAXqF,EAAI,IAAck+I,EAAiB55C,SAAStkG,IAC9CrF,KAAK6iI,SAASx9H,EAAKrF,KAAKqF,IAG5B,IAAK,MAAMA,KAAOk+I,EAAiBj+I,IAAI,MACrCuqB,OAAO45F,eAAezpH,KAAMqF,EAAK,CAC/B,GAAA4W,GACE,OAAOjc,KAAKwjJ,SAASn+I,EACvB,EACA,GAAAmS,CAAI6oC,GACFrgD,KAAK6iI,SAASx9H,EAAKg7C,GAAK,GAAM,EAChC,GAGN,CACA,QAAA0iG,CAAS19I,GACP,GAAIA,EAAI21H,WAAW,WAAY,OAC/B,MAAMtvB,EAAM1rG,KAAK4jC,aAAav+B,GAC9B,IAAIW,EAAQ0lG,EAAM1rG,KAAK+uH,aAAa1pH,GAAOw7I,GAC3C,MAAMpe,GAAW,QAAWp9H,GACxBqmG,GAAO1rG,KAAK8hJ,cAAgB9hJ,KAAK8hJ,aAAarf,KAChDz8H,GAAQ,QAASA,IAEnBhG,KAAK6iI,SAASJ,EAAUz8H,GAAO,GAAO,EACxC,CAIA,QAAAw9I,CAASn+I,GACP,OAAOrF,KAAKogI,OAAO/6H,EACrB,CAIA,QAAAw9H,CAASx9H,EAAKg7C,EAAKojG,GAAgB,EAAM5lF,GAAe,GACtD,GAAIxd,IAAQrgD,KAAKogI,OAAO/6H,KAClBg7C,IAAQwgG,UACH7gJ,KAAKogI,OAAO/6H,IAEnBrF,KAAKogI,OAAO/6H,GAAOg7C,EACP,QAARh7C,GAAiBrF,KAAKyhJ,OACxBzhJ,KAAKyhJ,KAAK7gB,SAASv7H,IAAMg7C,IAGzBwd,GAAgB79D,KAAKsgI,WACvBtgI,KAAK0iJ,UAEHe,GAAe,CACjB,MAAM9zB,EAAK3vH,KAAKgiJ,IAChBryB,GAAMA,EAAGG,cACG,IAARzvE,EACFrgD,KAAKkkH,cAAa,QAAU7+G,GAAM,IACV,kBAARg7C,GAAmC,kBAARA,EAC3CrgD,KAAKkkH,cAAa,QAAU7+G,GAAMg7C,EAAM,IAC9BA,GACVrgD,KAAK68I,iBAAgB,QAAUx3I,IAEjCsqH,GAAMA,EAAGK,QAAQhwH,KAAM,CAAE8iJ,YAAY,GACvC,CAEJ,CACA,OAAAJ,GACE5lB,GAAO98H,KAAKmzI,eAAgBnzI,KAAKkiJ,MACnC,CACA,YAAA/O,GACE,MAAM2G,EAAY,CAAC,EACd95I,KAAKiiJ,aACRnI,EAAUlsB,eAAiBksB,EAAU/S,eAAiB/mI,KAAK0jJ,aAAa7kI,KAAK7e,OAE/E,MAAMy6G,GAAQ,QAAYz6G,KAAKwhJ,MAAM,QAAO1H,EAAW95I,KAAKogI,SAkC5D,OAjCKpgI,KAAKsgI,YACR7lB,EAAMoH,GAAM9G,IACV/6G,KAAKsgI,UAAYvlB,EACjBA,EAAS8G,GAAK7hH,KACd+6G,EAAS6G,MAAO,EAYhB,MAAM+hC,EAAW,CAACz4H,EAAOxP,KACvB1b,KAAK8qB,cACH,IAAIK,YACFD,GACA,QAAcxP,EAAK,KAAM,QAAO,CAAES,OAAQT,GAAQA,EAAK,IAAM,CAAES,OAAQT,IAE1E,EAEHq/F,EAAS9mB,KAAO,CAAC/oE,KAAUxP,KACzBioI,EAASz4H,EAAOxP,IACZ,QAAUwP,KAAWA,GACvBy4H,GAAS,QAAUz4H,GAAQxP,EAC7B,EAEF1b,KAAKyiJ,YAAY,GAGdhoC,CACT,CACA,YAAA0oC,CAAavH,EAAQtkH,GACnB,IAAKskH,EAAQ,OACb,GAAItkH,EAAO,CACT,GAAIA,IAAUt3B,KAAKwhJ,MAAQxhJ,KAAK+hJ,eAAer2C,IAAIp0E,GACjD,OAEFt3B,KAAK+hJ,eAAevkI,IAAI8Z,EAC1B,CACA,MAAMqqH,EAAQ3hJ,KAAK0hJ,OACnB,IAAK,IAAIh8I,EAAIk2I,EAAO//H,OAAS,EAAGnW,GAAK,EAAGA,IAAK,CAC3C,MAAM+B,EAAIokF,SAAS56E,cAAc,SAC7B0wI,GAAOl6I,EAAEy8G,aAAa,QAASy9B,GACnCl6I,EAAE0lH,YAAcyuB,EAAOl2I,GACvB1F,KAAKiiJ,WAAW9sB,QAAQ1tH,EAe1B,CACF,CAIA,WAAA86I,GACE,MAAMt8B,EAAQjmH,KAAK4jJ,OAAS,CAAC,EAC7B,IAAIxnI,EACJ,MAAOA,EAAIpc,KAAK8jH,WAAY,CAC1B,MAAM+/B,EAA0B,IAAfznI,EAAE2nG,UAAkB3nG,EAAE2yG,aAAa,SAAW,WAC9D9I,EAAM49B,KAAc59B,EAAM49B,GAAY,KAAKjwG,KAAKx3B,GACjDpc,KAAK+3I,YAAY37H,EACnB,CACF,CAIA,YAAAsnI,GACE,MAAMI,GAAW9jJ,KAAK8hH,iBAAmB9hH,MAAMy9I,iBAAiB,QAC1D/lB,EAAU13H,KAAKsgI,UAAUnwH,KAAK0tG,UACpC,IAAK,IAAIn4G,EAAI,EAAGA,EAAIo+I,EAAQjoI,OAAQnW,IAAK,CACvC,MAAM6nF,EAAIu2D,EAAQp+I,GACZm+I,EAAWt2D,EAAEwhC,aAAa,SAAW,UACrC7C,EAAUlsH,KAAK4jJ,OAAOC,GACtBr5C,EAASjd,EAAEm2B,WACjB,GAAIwI,EACF,IAAK,MAAM9vG,KAAK8vG,EAAS,CACvB,GAAIwL,GAA0B,IAAft7G,EAAE2nG,SAAgB,CAC/B,MAAM38G,EAAKswH,EAAU,KACfqsB,EAASl4D,SAASm4D,iBAAiB5nI,EAAG,GAE5C,IAAI6mG,EADJ7mG,EAAE8nG,aAAa98G,EAAI,IAEnB,MAAO67G,EAAQ8gC,EAAOj4B,WACpB7I,EAAMiB,aAAa98G,EAAI,GAE3B,CACAojG,EAAOstC,aAAa17H,EAAGmxE,EACzB,MAEA,MAAOA,EAAEu2B,WAAYtZ,EAAOstC,aAAavqD,EAAEu2B,WAAYv2B,GAEzDid,EAAOutC,YAAYxqD,EACrB,CACF,CAIA,iBAAAs7C,CAAkBhX,GAChB7xH,KAAKmjJ,aAAatxB,EAAK+pB,OAAQ/pB,EACjC,CAIA,iBAAAoyB,CAAkBpyB,GACZ,CAUN,EAEF,SAASqyB,GAAQC,GACf,MAAMppC,GAAW,UACXqE,EAAKrE,GAAYA,EAAS8G,GAChC,OAAIzC,GAaG,IACT,CACA,SAASglC,KACP,MAAMhlC,EAA4E8kC,KAClF,OAAO9kC,GAAMA,EAAG6iC,UAClB,CAEA,SAASoC,GAAajlJ,EAAO,UAC3B,CACE,MAAM27G,GAAW,UACjB,IAAKA,EAEH,OAAO,KAET,MAAMupC,EAAUvpC,EAAS5qG,KAAK2pH,aAC9B,IAAKwqB,EAEH,OAAO,KAET,MAAMC,EAAMD,EAAQllJ,GACpB,OAAKmlJ,GAEI,IAGX,CACF,CAEA,MAAMC,GAA8B,IAAIx1C,QAClCy1C,GAAiC,IAAIz1C,QACrC01C,GAAYx1C,OAAO,WACnBkV,GAAalV,OAAO,YACpBy1C,GAAYv8G,WACTA,EAAEwoB,MAAMx9B,KACRgV,GAEHw8G,GAAsCD,GAAS,CACnDvlJ,KAAM,kBACNwxD,OAAuB,QAAO,CAAC,EAAG4oF,EAA2B,CAC3DxB,IAAKnvG,OACLg8G,UAAWh8G,SAEb,KAAAm9E,CAAMp1D,GAAO,MAAEq1D,IACb,MAAMlL,GAAW,UACXxhG,GAAQ,UACd,IAAI21H,EACAt0G,EAmCJ,OAlCA,SAAU,KACR,IAAKs0G,EAAarzH,OAChB,OAEF,MAAMgpI,EAAYj0F,EAAMi0F,WAAa,GAAGj0F,EAAMxxD,MAAQ,WACtD,IAAK0lJ,GACH5V,EAAa,GAAG9vB,GAChBrE,EAASN,MAAM2E,GACfylC,GAEA,OAEF3V,EAAaz0D,QAAQsqE,IACrB7V,EAAaz0D,QAAQuqE,IACrB,MAAMC,EAAgB/V,EAAa9wE,OAAO8mF,IAC1CrK,IACAoK,EAAcxqE,SAAS1/D,IACrB,MAAMqkG,EAAKrkG,EAAEqkG,GACPqO,EAAQrO,EAAGqO,MACjBktB,EAAmBv7B,EAAIylC,GACvBp3B,EAAM03B,UAAY13B,EAAM23B,gBAAkB33B,EAAM43B,mBAAqB,GACrE,MAAMjvH,EAAKgpF,EAAGslC,IAAc59I,IACtBA,GAAKA,EAAEoJ,SAAWkvG,GAGjBt4G,IAAK,aAAaoE,KAAKpE,EAAEw+I,gBAC5BlmC,EAAGkR,oBAAoB,gBAAiBl6F,GACxCgpF,EAAGslC,IAAa,KAChBpK,EAAsBl7B,EAAIylC,GAC5B,EAEFzlC,EAAGiR,iBAAiB,gBAAiBj6F,EAAG,GACxC,IAEG,KACL,MAAMkwF,GAAW,QAAM11D,GACjB20F,EAAqB5L,EAAuBrzB,GAClD,IAAI0xB,EAAM1xB,EAAS0xB,KAAO,KAE1B,GADA9I,EAAe,GACXt0G,EACF,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,MAAMu9G,EAAQroF,EAASl1B,GACnBu9G,EAAM7D,IAAM6D,EAAM7D,cAAc2Q,UAClCmf,EAAat7F,KAAKqvE,IAClB,QACEA,GACA,QACEA,EACAsiC,EACAhsI,EACAwhG,IAGJypC,GAAYhtI,IACVyrG,EACAA,EAAM7D,GAAGkQ,yBAGf,CAEF10F,EAAWqrF,EAAME,SAAU,QAAyBF,EAAME,WAAa,GACvE,IAAK,IAAIzgH,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,MAAMu9G,EAAQroF,EAASl1B,GACN,MAAbu9G,EAAM59G,MACR,QACE49G,GACA,QAAuBA,EAAOsiC,EAAoBhsI,EAAOwhG,GAK/D,CACA,OAAO,QAAYi9B,EAAK,KAAMp9G,EAAS,CAE3C,IAEI4qH,GAAkB,0BAAmB,KAAnB,GACxB,SAAST,GAAehqI,GACtB,MAAMqkG,EAAKrkG,EAAEqkG,GACTA,EAAGslC,KACLtlC,EAAGslC,MAEDtlC,EAAGgF,KACLhF,EAAGgF,KAEP,CACA,SAAS4gC,GAAejqI,GACtB0pI,GAAejtI,IAAIuD,EAAGA,EAAEqkG,GAAGkQ,wBAC7B,CACA,SAAS41B,GAAiBnqI,GACxB,MAAM0qI,EAASjB,GAAYvoI,IAAIlB,GACzB2qI,EAASjB,GAAexoI,IAAIlB,GAC5B4qI,EAAKF,EAAOp6I,KAAOq6I,EAAOr6I,KAC1Bu6I,EAAKH,EAAOr2B,IAAMs2B,EAAOt2B,IAC/B,GAAIu2B,GAAMC,EAAI,CACZ,MAAMn+I,EAAIsT,EAAEqkG,GAAGqO,MAGf,OAFAhmH,EAAE09I,UAAY19I,EAAE29I,gBAAkB,aAAaO,OAAQC,OACvDn+I,EAAE49I,mBAAqB,KAChBtqI,CACT,CACF,CACA,SAAS+pI,GAAgB1lC,EAAIuZ,EAAMksB,GACjC,MAAM/xH,EAAQssF,EAAGm5B,YACX0C,EAAO77B,EAAGw5B,GACZqC,GACFA,EAAKxgE,SAASsgE,IACZA,EAAI5+D,MAAM,OAAO1B,SAAS1/D,GAAMA,GAAK+X,EAAMkoH,UAAU34G,OAAOtnB,IAAG,IAGnE8pI,EAAU1oE,MAAM,OAAO1B,SAAS1/D,GAAMA,GAAK+X,EAAMkoH,UAAUx9H,IAAIzC,KAC/D+X,EAAM26F,MAAMwvB,QAAU,OACtB,MAAMjmE,EAA8B,IAAlB2hD,EAAK5U,SAAiB4U,EAAOA,EAAKjV,WACpD1sC,EAAUyhE,YAAY3lH,GACtB,MAAM,aAAEwpH,GAAiBd,EAAkB1oH,GAE3C,OADAkkD,EAAU+gE,YAAYjlH,GACfwpH,CACT,CAEA,MAAMuJ,GAAoBprC,IACxB,MAAM/gG,EAAK+gG,EAAM7pD,MAAM,yBAA0B,EACjD,OAAO,QAAQl3C,GAAO1T,IAAU,QAAe0T,EAAI1T,GAAS0T,CAAE,EAEhE,SAASosI,GAAmBh/I,GAC1BA,EAAEoJ,OAAO61I,WAAY,CACvB,CACA,SAASC,GAAiBl/I,GACxB,MAAMoJ,EAASpJ,EAAEoJ,OACbA,EAAO61I,YACT71I,EAAO61I,WAAY,EACnB71I,EAAO4a,cAAc,IAAI3iB,MAAM,UAEnC,CACA,MAAM89I,GAAY/2C,OAAO,WACnBg3C,GAAa,CACjB,OAAA7pB,CAAQjd,GAAMP,WAAW,KAAEsnC,EAAI,KAAElY,EAAI,OAAEntG,IAAY25E,GACjD2E,EAAG6mC,IAAaJ,GAAiBprC,GACjC,MAAM2rC,EAAetlH,GAAU25E,EAAM7pD,OAA8B,WAArB6pD,EAAM7pD,MAAMzgD,KAC1DkgH,GAAiBjR,EAAI+mC,EAAO,SAAW,SAAUr/I,IAC/C,GAAIA,EAAEoJ,OAAO61I,UAAW,OACxB,IAAIM,EAAWjnC,EAAGp5G,MACdioI,IACFoY,EAAWA,EAASpY,QAElBmY,IACFC,GAAW,QAAcA,IAE3BjnC,EAAG6mC,IAAWI,EAAS,IAErBpY,GACF5d,GAAiBjR,EAAI,UAAU,KAC7BA,EAAGp5G,MAAQo5G,EAAGp5G,MAAMioI,MAAM,IAGzBkY,IACH91B,GAAiBjR,EAAI,mBAAoB0mC,IACzCz1B,GAAiBjR,EAAI,iBAAkB4mC,IACvC31B,GAAiBjR,EAAI,SAAU4mC,IAEnC,EAEA,OAAAlnC,CAAQM,GAAI,MAAEp5G,IACZo5G,EAAGp5G,MAAiB,MAATA,EAAgB,GAAKA,CAClC,EACA,YAAAu2H,CAAand,GAAI,MAAEp5G,EAAK,SAAEupG,EAAUsP,WAAW,KAAEsnC,EAAI,KAAElY,EAAI,OAAEntG,IAAY25E,GAEvE,GADA2E,EAAG6mC,IAAaJ,GAAiBprC,GAC7B2E,EAAG2mC,UAAW,OAClB,MAAMO,GAAWxlH,GAAsB,WAAZs+E,EAAGjvG,MAAuB,OAAOjF,KAAKk0G,EAAGp5G,OAAmCo5G,EAAGp5G,OAA7B,QAAco5G,EAAGp5G,OACxF4O,EAAoB,MAAT5O,EAAgB,GAAKA,EACtC,GAAIsgJ,IAAY1xI,EAAhB,CAGA,GAAIi3E,SAAS06D,gBAAkBnnC,GAAkB,UAAZA,EAAGjvG,KAAkB,CACxD,GAAIg2I,GAAQngJ,IAAUupG,EACpB,OAEF,GAAI0+B,GAAQ7uB,EAAGp5G,MAAMioI,SAAWr5H,EAC9B,MAEJ,CACAwqG,EAAGp5G,MAAQ4O,CATX,CAUF,GAEI4xI,GAAiB,CAErBh0H,MAAM,EACN,OAAA6pG,CAAQjd,EAAIqY,EAAGhd,GACb2E,EAAG6mC,IAAaJ,GAAiBprC,GACjC4V,GAAiBjR,EAAI,UAAU,KAC7B,MAAMqnC,EAAarnC,EAAGsnC,YAChBC,EAAeC,GAASxnC,GACxBynC,EAAUznC,EAAGynC,QACb39C,EAASkW,EAAG6mC,IAClB,IAAI,QAAQQ,GAAa,CACvB,MAAM7/F,GAAQ,QAAa6/F,EAAYE,GACjCG,GAAmB,IAAXlgG,EACd,GAAIigG,IAAYC,EACd59C,EAAOu9C,EAAWj2I,OAAOm2I,SACpB,IAAKE,GAAWC,EAAO,CAC5B,MAAMC,EAAW,IAAIN,GACrBM,EAASl7I,OAAO+6C,EAAO,GACvBsiD,EAAO69C,EACT,CACF,MAAO,IAAI,QAAMN,GAAa,CAC5B,MAAMrT,EAAS,IAAIjhC,IAAIs0C,GACnBI,EACFzT,EAAO51H,IAAImpI,GAEXvT,EAAOznC,OAAOg7C,GAEhBz9C,EAAOkqC,EACT,MACElqC,EAAO89C,GAAiB5nC,EAAIynC,GAC9B,GAEJ,EAEA/nC,QAASmoC,GACT,YAAA1qB,CAAand,EAAID,EAAS1E,GACxB2E,EAAG6mC,IAAaJ,GAAiBprC,GACjCwsC,GAAW7nC,EAAID,EAAS1E,EAC1B,GAEF,SAASwsC,GAAW7nC,GAAI,MAAEp5G,EAAK,SAAEupG,GAAYkL,GAE3C,IAAIosC,EACJ,GAFAznC,EAAGsnC,YAAc1gJ,GAEb,QAAQA,GACV6gJ,GAAU,QAAa7gJ,EAAOy0G,EAAM7pD,MAAM5qD,QAAU,OAC/C,IAAI,QAAMA,GACf6gJ,EAAU7gJ,EAAM0lG,IAAI+O,EAAM7pD,MAAM5qD,WAC3B,CACL,GAAIA,IAAUupG,EAAU,OACxBs3C,GAAU,QAAW7gJ,EAAOghJ,GAAiB5nC,GAAI,GACnD,CACIA,EAAGynC,UAAYA,IACjBznC,EAAGynC,QAAUA,EAEjB,CACA,MAAMK,GAAc,CAClB,OAAA7qB,CAAQjd,GAAI,MAAEp5G,GAASy0G,GACrB2E,EAAGynC,SAAU,QAAW7gJ,EAAOy0G,EAAM7pD,MAAM5qD,OAC3Co5G,EAAG6mC,IAAaJ,GAAiBprC,GACjC4V,GAAiBjR,EAAI,UAAU,KAC7BA,EAAG6mC,IAAWW,GAASxnC,GAAI,GAE/B,EACA,YAAAmd,CAAand,GAAI,MAAEp5G,EAAK,SAAEupG,GAAYkL,GACpC2E,EAAG6mC,IAAaJ,GAAiBprC,GAC7Bz0G,IAAUupG,IACZ6P,EAAGynC,SAAU,QAAW7gJ,EAAOy0G,EAAM7pD,MAAM5qD,OAE/C,GAEImhJ,GAAe,CAEnB30H,MAAM,EACN,OAAA6pG,CAAQjd,GAAI,MAAEp5G,EAAO64G,WAAW,OAAE/9E,IAAY25E,GAC5C,MAAM2sC,GAAa,QAAMphJ,GACzBqqH,GAAiBjR,EAAI,UAAU,KAC7B,MAAMioC,EAAc/5I,MAAMN,UAAUoxD,OAAOr+D,KAAKq/G,EAAGlvB,SAAU3C,GAAMA,EAAE+5D,WAAUhiJ,KAC5EioF,GAAMzsD,GAAS,QAAc8lH,GAASr5D,IAAMq5D,GAASr5D,KAExD6xB,EAAG6mC,IACD7mC,EAAG84B,SAAWkP,EAAa,IAAIj1C,IAAIk1C,GAAeA,EAAcA,EAAY,IAE9EjoC,EAAGmoC,YAAa,GAChB,SAAS,KACPnoC,EAAGmoC,YAAa,CAAK,GACrB,IAEJnoC,EAAG6mC,IAAaJ,GAAiBprC,EACnC,EAGA,OAAAqE,CAAQM,GAAI,MAAEp5G,IACZwhJ,GAAYpoC,EAAIp5G,EAClB,EACA,YAAAu2H,CAAand,EAAIqoC,EAAUhtC,GACzB2E,EAAG6mC,IAAaJ,GAAiBprC,EACnC,EACA,OAAAsE,CAAQK,GAAI,MAAEp5G,IACPo5G,EAAGmoC,YACNC,GAAYpoC,EAAIp5G,EAEpB,GAEF,SAASwhJ,GAAYpoC,EAAIp5G,GACvB,MAAM0hJ,EAAatoC,EAAG84B,SAChByP,GAAe,QAAQ3hJ,GAC7B,IAAI0hJ,GAAeC,IAAiB,QAAM3hJ,GAA1C,CAMA,IAAK,IAAIN,EAAI,EAAGmhE,EAAIu4C,EAAGlvB,QAAQr0E,OAAQnW,EAAImhE,EAAGnhE,IAAK,CACjD,MAAMkiJ,EAASxoC,EAAGlvB,QAAQxqF,GACpBmiJ,EAAcjB,GAASgB,GAC7B,GAAIF,EACF,GAAIC,EAAc,CAChB,MAAMG,SAAoBD,EAExBD,EAAON,SADU,WAAfQ,GAA0C,WAAfA,EACX9hJ,EAAMkrG,MAAM94F,GAAMywB,OAAOzwB,KAAOywB,OAAOg/G,MAEvC,QAAa7hJ,EAAO6hJ,IAAgB,CAE1D,MACED,EAAON,SAAWthJ,EAAM0lG,IAAIm8C,QAEzB,IAAI,QAAWjB,GAASgB,GAAS5hJ,GAEtC,YADIo5G,EAAG2oC,gBAAkBriJ,IAAG05G,EAAG2oC,cAAgBriJ,GAGnD,CACKgiJ,IAAoC,IAAtBtoC,EAAG2oC,gBACpB3oC,EAAG2oC,eAAiB,EArBtB,CAuBF,CACA,SAASnB,GAASxnC,GAChB,MAAO,WAAYA,EAAKA,EAAGpR,OAASoR,EAAGp5G,KACzC,CACA,SAASghJ,GAAiB5nC,EAAIynC,GAC5B,MAAMxhJ,EAAMwhJ,EAAU,aAAe,cACrC,OAAOxhJ,KAAO+5G,EAAKA,EAAG/5G,GAAOwhJ,CAC/B,CACA,MAAMmB,GAAgB,CACpB,OAAA3rB,CAAQjd,EAAID,EAAS1E,GACnBwtC,GAAc7oC,EAAID,EAAS1E,EAAO,KAAM,UAC1C,EACA,OAAAqE,CAAQM,EAAID,EAAS1E,GACnBwtC,GAAc7oC,EAAID,EAAS1E,EAAO,KAAM,UAC1C,EACA,YAAA8hB,CAAand,EAAID,EAAS1E,EAAOwE,GAC/BgpC,GAAc7oC,EAAID,EAAS1E,EAAOwE,EAAW,eAC/C,EACA,OAAAF,CAAQK,EAAID,EAAS1E,EAAOwE,GAC1BgpC,GAAc7oC,EAAID,EAAS1E,EAAOwE,EAAW,UAC/C,GAEF,SAASipC,GAAoBr9B,EAAS16G,GACpC,OAAQ06G,GACN,IAAK,SACH,OAAOs8B,GACT,IAAK,WACH,OAAOjB,GACT,QACE,OAAQ/1I,GACN,IAAK,WACH,OAAOq2I,GACT,IAAK,QACH,OAAOU,GACT,QACE,OAAOhB,IAGjB,CACA,SAAS+B,GAAc7oC,EAAID,EAAS1E,EAAOwE,EAAW/oF,GACpD,MAAMiyH,EAAaD,GACjB9oC,EAAGyL,QACHpQ,EAAM7pD,OAAS6pD,EAAM7pD,MAAMzgD,MAEvBuJ,EAAKyuI,EAAWjyH,GACtBxc,GAAMA,EAAG0lG,EAAID,EAAS1E,EAAOwE,EAC/B,CACA,SAASmpC,KACPlC,GAAW9I,YAAc,EAAGp3I,YAAY,CAAGA,UAC3CkhJ,GAAY9J,YAAc,EAAGp3I,SAASy0G,KACpC,GAAIA,EAAM7pD,QAAS,QAAW6pD,EAAM7pD,MAAM5qD,MAAOA,GAC/C,MAAO,CAAE6gJ,SAAS,EACpB,EAEFL,GAAepJ,YAAc,EAAGp3I,SAASy0G,KACvC,IAAI,QAAQz0G,IACV,GAAIy0G,EAAM7pD,QAAS,QAAa5qD,EAAOy0G,EAAM7pD,MAAM5qD,QAAU,EAC3D,MAAO,CAAE6gJ,SAAS,QAEf,IAAI,QAAM7gJ,IACf,GAAIy0G,EAAM7pD,OAAS5qD,EAAM0lG,IAAI+O,EAAM7pD,MAAM5qD,OACvC,MAAO,CAAE6gJ,SAAS,QAEf,GAAI7gJ,EACT,MAAO,CAAE6gJ,SAAS,EACpB,EAEFmB,GAAc5K,YAAc,CAACj+B,EAAS1E,KACpC,GAA0B,kBAAfA,EAAMtqG,KACf,OAEF,MAAMg4I,EAAaD,GAEjBztC,EAAMtqG,KAAKqB,cACXipG,EAAM7pD,OAAS6pD,EAAM7pD,MAAMzgD,MAE7B,OAAIg4I,EAAW/K,YACN+K,EAAW/K,YAAYj+B,EAAS1E,QADzC,CAEA,CAEJ,CAEA,MAAM4tC,GAAkB,CAAC,OAAQ,QAAS,MAAO,QAC3CC,GAAiB,CACrBhxG,KAAOxwC,GAAMA,EAAEyhJ,kBACfC,QAAU1hJ,GAAMA,EAAE2hJ,iBAClBtoI,KAAOrZ,GAAMA,EAAEoJ,SAAWpJ,EAAE4hJ,cAC5BC,KAAO7hJ,IAAOA,EAAE8hJ,QAChBvsE,MAAQv1E,IAAOA,EAAE+hJ,SACjBC,IAAMhiJ,IAAOA,EAAEiiJ,OACfC,KAAOliJ,IAAOA,EAAEmiJ,QAChB59I,KAAOvE,GAAM,WAAYA,GAAkB,IAAbA,EAAEoiJ,OAChC5sC,OAASx1G,GAAM,WAAYA,GAAkB,IAAbA,EAAEoiJ,OAClC59I,MAAQxE,GAAM,WAAYA,GAAkB,IAAbA,EAAEoiJ,OACjCC,MAAO,CAACriJ,EAAG+3G,IAAcwpC,GAAgBn3C,MAAMoS,GAAMx8G,EAAE,GAAGw8G,UAAYzE,EAAUlV,SAAS2Z,MAErF8lC,GAAgB,CAAC1vI,EAAImlG,KACzB,MAAMiU,EAAQp5G,EAAG2vI,YAAc3vI,EAAG2vI,UAAY,CAAC,GACzCC,EAAWzqC,EAAU7xF,KAAK,KAChC,OAAO8lG,EAAMw2B,KAAcx2B,EAAMw2B,GAAY,CAACp+H,KAAUxP,KACtD,IAAK,IAAIhW,EAAI,EAAGA,EAAIm5G,EAAUhjG,OAAQnW,IAAK,CACzC,MAAM6jJ,EAAQjB,GAAezpC,EAAUn5G,IACvC,GAAI6jJ,GAASA,EAAMr+H,EAAO2zF,GAAY,MACxC,CACA,OAAOnlG,EAAGwR,KAAUxP,EAAK,EACzB,EAEE8tI,GAAW,CACfC,IAAK,SACLC,MAAO,IACPC,GAAI,WACJt+I,KAAM,aACNC,MAAO,cACPs+I,KAAM,aACNj+C,OAAQ,aAEJk+C,GAAW,CAACnwI,EAAImlG,KACpB,MAAMiU,EAAQp5G,EAAGowI,YAAcpwI,EAAGowI,UAAY,CAAC,GACzCR,EAAWzqC,EAAU7xF,KAAK,KAChC,OAAO8lG,EAAMw2B,KAAcx2B,EAAMw2B,GAAap+H,IAC5C,KAAM,QAASA,GACb,OAEF,MAAM6+H,GAAW,QAAU7+H,EAAM7lB,KACjC,OAAIw5G,EAAU3N,MACXzT,GAAMA,IAAMssD,GAAYP,GAAS/rD,KAAOssD,IAElCrwI,EAAGwR,QAHZ,CAIA,EACA,EAGE8+H,IAAkC,QAAO,CAAE1+B,cAAausB,GAC9D,IAAIhlB,GACAo3B,IAAmB,EACvB,SAASC,KACP,OAAOr3B,KAAaA,IAAW,QAAem3B,IAChD,CACA,SAASG,KAGP,OAFAt3B,GAAWo3B,GAAmBp3B,IAAW,QAAwBm3B,IACjEC,IAAmB,EACZp3B,EACT,CACA,MAAMiK,GAAS,IAAIphH,KACjBwuI,KAAiBptB,UAAUphH,EAAK,EAE5BynG,GAAU,IAAIznG,KAClByuI,KAA0BhnC,WAAWznG,EAAK,EAEtCkwH,GAAY,IAAIlwH,KACpB,MAAMyyC,EAAM+7F,KAAiBte,aAAalwH,GAK1C,MAAM,MAAE+lG,GAAUtzD,EAkBlB,OAjBAA,EAAIszD,MAAS2oC,IACX,MAAMpzE,EAAYqzE,GAAmBD,GACrC,IAAKpzE,EAAW,OAChB,MAAM8uC,EAAY33D,EAAIgyE,YACjB,QAAWra,IAAeA,EAAUgX,QAAWhX,EAAUiwB,WAC5DjwB,EAAUiwB,SAAW/+D,EAAUk2C,WAEN,IAAvBl2C,EAAU+sC,WACZ/sC,EAAUm2C,YAAc,IAE1B,MAAMhyF,EAAQsmF,EAAMzqC,GAAW,EAAOszE,GAAqBtzE,IAK3D,OAJIA,aAAqB+4C,UACvB/4C,EAAU6lE,gBAAgB,WAC1B7lE,EAAUktC,aAAa,aAAc,KAEhC/oF,CAAK,EAEPgzB,CAAG,EAENmzF,GAAe,IAAI5lI,KACvB,MAAMyyC,EAAMg8F,KAA0Bve,aAAalwH,GAKnD,MAAM,MAAE+lG,GAAUtzD,EAOlB,OANAA,EAAIszD,MAAS2oC,IACX,MAAMpzE,EAAYqzE,GAAmBD,GACrC,GAAIpzE,EACF,OAAOyqC,EAAMzqC,GAAW,EAAMszE,GAAqBtzE,GACrD,EAEK7oB,CAAG,EAEZ,SAASm8F,GAAqBtzE,GAC5B,OAAIA,aAAqB2oC,WAChB,MAEoB,oBAAlBE,eAAgC7oC,aAAqB6oC,cACvD,cADT,CAGF,CAoCA,SAASwqC,GAAmBrzE,GAC1B,IAAI,QAASA,GAAY,CACvB,MAAMjzB,EAAM8nC,SAASq1B,cAAclqC,GAMnC,OAAOjzB,CACT,CAMA,OAAOizB,CACT,CACA,IAAIuzE,IAA0B,EAC9B,MAAMC,GAAuB,KACtBD,KACHA,IAA0B,EAC1BnC,KACAjL,IACF,C;;;;;;;ACzzDF,SAASsN,EAAQC,GACf,MAAMplJ,EAAsBuqB,OAAOqK,OAAO,MAC1C,IAAK,MAAM70B,KAAOqlJ,EAAIvuE,MAAM,KAAM72E,EAAID,GAAO,EAC7C,OAAQg7C,GAAQA,KAAO/6C,CACzB,C,wYAEA,MAAMqlJ,EAA4E,CAAC,EAC7EC,EAA4E,GAC5EC,EAAO,OAEPtrB,EAAK,KAAM,EACXurB,EAAQzlJ,GAA8B,MAAtBA,EAAIkwD,WAAW,IAAoC,MAAtBlwD,EAAIkwD,WAAW,KACjElwD,EAAIkwD,WAAW,GAAK,KAAOlwD,EAAIkwD,WAAW,GAAK,IAC1Cw4E,EAAmB1oI,GAAQA,EAAI21H,WAAW,aAC1C+vB,EAASl7H,OAAOq5E,OAChB7mE,EAAS,CAACzM,EAAKwpF,KACnB,MAAM15G,EAAIkwB,EAAIb,QAAQqqF,GAClB15G,GAAK,GACPkwB,EAAI/pB,OAAOnG,EAAG,EAChB,EAEIkzF,EAAiB/oE,OAAO7iB,UAAU4rF,eAClCoyD,EAAS,CAAC3qG,EAAKh7C,IAAQuzF,EAAe74F,KAAKsgD,EAAKh7C,GAChDsvD,EAAUrnD,MAAMqnD,QAChBs2F,EAAS5qG,GAA8B,iBAAtB6qG,EAAa7qG,GAC9B8qG,EAAS9qG,GAA8B,iBAAtB6qG,EAAa7qG,GAC9B+3C,EAAU/3C,GAA8B,kBAAtB6qG,EAAa7qG,GAC/B+qG,EAAY/qG,GAA8B,oBAAtB6qG,EAAa7qG,GACjC63C,EAAc73C,GAAuB,oBAARA,EAC7B43C,EAAY53C,GAAuB,kBAARA,EAC3B8/C,EAAY9/C,GAAuB,kBAARA,EAC3B83C,EAAY93C,GAAgB,OAARA,GAA+B,kBAARA,EAC3CgrG,EAAahrG,IACT83C,EAAS93C,IAAQ63C,EAAW73C,KAAS63C,EAAW73C,EAAI+5B,OAAS8d,EAAW73C,EAAIq6B,OAEhF4wE,EAAiBz7H,OAAO7iB,UAAUuB,SAClC28I,EAAgBllJ,GAAUslJ,EAAevrJ,KAAKiG,GAC9CulJ,EAAavlJ,GACVklJ,EAAallJ,GAAO0tC,MAAM,GAAI,GAEjC6vD,EAAiBljD,GAA8B,oBAAtB6qG,EAAa7qG,GACtCmrG,EAAgBnmJ,GAAQ4yF,EAAS5yF,IAAgB,QAARA,GAA4B,MAAXA,EAAI,IAAc,GAAK+I,SAAS/I,EAAK,MAAQA,EACvGomJ,EAAiC,0BAGtC,KAHsChB,EAErC,uIAKIiB,EAAuBhyI,IAC3B,MAAMo5G,EAAwBjjG,OAAOqK,OAAO,MAC5C,OAAQwwH,IACN,MAAMiB,EAAM74B,EAAM43B,GAClB,OAAOiB,IAAQ74B,EAAM43B,GAAOhxI,EAAGgxI,GAAK,CACrC,EAEGkB,EAAa,SACbC,EAAWH,GACdhB,GACQA,EAAI13I,QAAQ44I,GAAY,CAACn0B,EAAG18G,IAAMA,EAAIA,EAAEvJ,cAAgB,OAG7Ds6I,EAAc,aACdC,EAAYL,GACfhB,GAAQA,EAAI13I,QAAQ84I,EAAa,OAAO/4I,gBAErCi5I,EAAaN,GAAqBhB,GAC/BA,EAAI72I,OAAO,GAAGrC,cAAgBk5I,EAAIh3G,MAAM,KAE3Cu4G,EAAeP,GAClBhB,IACC,MAAMjjJ,EAAIijJ,EAAM,KAAKsB,EAAWtB,KAAS,GACzC,OAAOjjJ,CAAC,IAGNykJ,EAAa,CAAClmJ,EAAOupG,KAAc1/E,OAAOy2G,GAAGtgI,EAAOupG,GACpD48C,EAAiB,CAACC,KAAQ35H,KAC9B,IAAK,IAAI/sB,EAAI,EAAGA,EAAI0mJ,EAAIvwI,OAAQnW,IAC9B0mJ,EAAI1mJ,MAAM+sB,EACZ,EAEI2uH,EAAM,CAAC13I,EAAKrE,EAAKW,EAAO2zF,GAAW,KACvC9pE,OAAO45F,eAAe//G,EAAKrE,EAAK,CAC9Bk5F,cAAc,EACdzE,YAAY,EACZH,WACA3zF,SACA,EAEEqmJ,EAAiBhsG,IACrB,MAAMjkC,EAAI44C,WAAW3U,GACrB,OAAOniD,MAAMke,GAAKikC,EAAMjkC,CAAC,EAErBkwI,EAAYjsG,IAChB,MAAMjkC,EAAI67E,EAAS53C,GAAOuvD,OAAOvvD,GAAOksG,IACxC,OAAOruJ,MAAMke,GAAKikC,EAAMjkC,CAAC,EAE3B,IAAIowI,EACJ,MAAMC,EAAgB,IACbD,IAAgBA,EAAoC,qBAAfrwD,WAA6BA,WAA6B,qBAATh8E,KAAuBA,KAAyB,qBAAX69B,OAAyBA,OAA2B,qBAAX,EAAAvgC,EAAyB,EAAAA,EAAS,CAAC,GAahN,MAsFMivI,EAAkB,wNAClBC,EAAoC,0BAAwB,KAAxBlC,EAAA,GA6C1C,SAASmC,EAAe5mJ,GACtB,GAAI2uD,EAAQ3uD,GAAQ,CAClB,MAAM+9C,EAAM,CAAC,EACb,IAAK,IAAIr+C,EAAI,EAAGA,EAAIM,EAAM6V,OAAQnW,IAAK,CACrC,MAAM25B,EAAOr5B,EAAMN,GACbo1H,EAAa7iC,EAAS54D,GAAQwtH,EAAiBxtH,GAAQutH,EAAevtH,GAC5E,GAAIy7F,EACF,IAAK,MAAMz1H,KAAOy1H,EAChB/2E,EAAI1+C,GAAOy1H,EAAWz1H,EAG5B,CACA,OAAO0+C,CACT,CAAO,GAAIk0C,EAASjyF,IAAUmyF,EAASnyF,GACrC,OAAOA,CAEX,CACA,MAAM8mJ,EAAkB,gBAClBC,EAAsB,UACtBC,EAAiB,iBACvB,SAASH,EAAiB9O,GACxB,MAAMtmC,EAAM,CAAC,EAOb,OANAsmC,EAAQ/qI,QAAQg6I,EAAgB,IAAI7wE,MAAM2wE,GAAiBryE,SAASp7C,IAClE,GAAIA,EAAM,CACR,MAAMxc,EAAMwc,EAAK88C,MAAM4wE,GACvBlqI,EAAIhH,OAAS,IAAM47F,EAAI50F,EAAI,GAAGorH,QAAUprH,EAAI,GAAGorH,OACjD,KAEKx2B,CACT,CAcA,SAASw1C,EAAejnJ,GACtB,IAAI+9C,EAAM,GACV,GAAIk0C,EAASjyF,GACX+9C,EAAM/9C,OACD,GAAI2uD,EAAQ3uD,GACjB,IAAK,IAAIN,EAAI,EAAGA,EAAIM,EAAM6V,OAAQnW,IAAK,CACrC,MAAMo1H,EAAamyB,EAAejnJ,EAAMN,IACpCo1H,IACF/2E,GAAO+2E,EAAa,IAExB,MACK,GAAI3iC,EAASnyF,GAClB,IAAK,MAAM5G,KAAQ4G,EACbA,EAAM5G,KACR2kD,GAAO3kD,EAAO,KAIpB,OAAO2kD,EAAIkqF,MACb,CACA,SAASif,EAAet8F,GACtB,IAAKA,EAAO,OAAO,KACnB,IAAMk2E,MAAO0M,EAAK,MAAE/lB,GAAU78D,EAO9B,OANI4iF,IAAUv7C,EAASu7C,KACrB5iF,EAAMk2E,MAAQmmB,EAAezZ,IAE3B/lB,IACF78D,EAAM68D,MAAQm/B,EAAen/B,IAExB78D,CACT,CAEA,MASMu8F,EAAsB,8EACtBC,GAAuC,0BAA4B,KAA5B3C,EAAA,GAI7C,SAAS4C,GAAmBrnJ,GAC1B,QAASA,GAAmB,KAAVA,CACpB,CAuFA,SAASsnJ,GAAmBh8I,EAAGm3B,GAC7B,GAAIn3B,EAAEuK,SAAW4sB,EAAE5sB,OAAQ,OAAO,EAClC,IAAI0xI,GAAQ,EACZ,IAAK,IAAI7nJ,EAAI,EAAG6nJ,GAAS7nJ,EAAI4L,EAAEuK,OAAQnW,IACrC6nJ,EAAQC,GAAWl8I,EAAE5L,GAAI+iC,EAAE/iC,IAE7B,OAAO6nJ,CACT,CACA,SAASC,GAAWl8I,EAAGm3B,GACrB,GAAIn3B,IAAMm3B,EAAG,OAAO,EACpB,IAAIglH,EAAar1D,EAAO9mF,GACpBo8I,EAAat1D,EAAO3vD,GACxB,GAAIglH,GAAcC,EAChB,SAAOD,IAAcC,IAAap8I,EAAE+iC,YAAc5L,EAAE4L,UAItD,GAFAo5G,EAAattD,EAAS7uF,GACtBo8I,EAAavtD,EAAS13D,GAClBglH,GAAcC,EAChB,OAAOp8I,IAAMm3B,EAIf,GAFAglH,EAAa94F,EAAQrjD,GACrBo8I,EAAa/4F,EAAQlsB,GACjBglH,GAAcC,EAChB,SAAOD,IAAcC,IAAaJ,GAAmBh8I,EAAGm3B,GAI1D,GAFAglH,EAAat1D,EAAS7mF,GACtBo8I,EAAav1D,EAAS1vD,GAClBglH,GAAcC,EAAY,CAC5B,IAAKD,IAAeC,EAClB,OAAO,EAET,MAAMC,EAAa99H,OAAO8lC,KAAKrkD,GAAGuK,OAC5B+xI,EAAa/9H,OAAO8lC,KAAKltB,GAAG5sB,OAClC,GAAI8xI,IAAeC,EACjB,OAAO,EAET,IAAK,MAAMvoJ,KAAOiM,EAAG,CACnB,MAAMu8I,EAAUv8I,EAAEsnF,eAAevzF,GAC3ByoJ,EAAUrlH,EAAEmwD,eAAevzF,GACjC,GAAIwoJ,IAAYC,IAAYD,GAAWC,IAAYN,GAAWl8I,EAAEjM,GAAMojC,EAAEpjC,IACtE,OAAO,CAEX,CACF,CACA,OAAOwjC,OAAOv3B,KAAOu3B,OAAOJ,EAC9B,CACA,SAASslH,GAAan4H,EAAKyqB,GACzB,OAAOzqB,EAAI86E,WAAWrxE,GAASmuH,GAAWnuH,EAAMghB,IAClD,CAEA,MAAM4yD,GAAS5yD,MACHA,IAA4B,IAArBA,EAAI,cAEjB2tG,GAAmB3tG,GAChB43C,EAAS53C,GAAOA,EAAa,MAAPA,EAAc,GAAKsU,EAAQtU,IAAQ83C,EAAS93C,KAASA,EAAI9xC,WAAa+8I,IAAmBpzD,EAAW73C,EAAI9xC,WAAa0kG,GAAM5yD,GAAO2tG,GAAgB3tG,EAAIr6C,OAASgD,KAAK4c,UAAUy6B,EAAK4tG,GAAU,GAAKplH,OAAOwX,GAElO4tG,GAAW,CAACp2C,EAAMx3D,IAClB4yD,GAAM5yD,GACD4tG,GAASp2C,EAAMx3D,EAAIr6C,OACjBilJ,EAAM5qG,GACR,CACL,CAAC,OAAOA,EAAI90C,SAAU,IAAI80C,EAAIw8B,WAAWm0B,QACvC,CAACn0B,GAAUx3E,EAAK6oJ,GAAOxoJ,KACrBm3E,EAAQsxE,GAAgB9oJ,EAAKK,GAAK,OAASwoJ,EACpCrxE,IAET,CAAC,IAGIsuE,EAAM9qG,GACR,CACL,CAAC,OAAOA,EAAI90C,SAAU,IAAI80C,EAAIhR,UAAU/pC,KAAK8S,GAAM+1I,GAAgB/1I,MAE5D+nF,EAAS9/C,GACX8tG,GAAgB9tG,IACd83C,EAAS93C,IAASsU,EAAQtU,IAASkjD,EAAcljD,GAGrDA,EAFExX,OAAOwX,GAIZ8tG,GAAkB,CAAC/1I,EAAG1S,EAAI,MAC9B,IAAIkH,EACJ,OAGEuzF,EAAS/nF,GAAK,UAAkC,OAAvBxL,EAAKwL,EAAEulF,aAAuB/wF,EAAKlH,KAAO0S,CACpE,C;;;;;;CC9fH,SAAWqT,EAAQ2rF,GAC8Cg3C,EAAOC,QAAUj3C,EAAQ,EAAQ,OAAW,EAAQ,OAGpH,EAJD,CAIGp3G,GAAM,SAAWi4H,EAAGq2B,GAAQ,aAE7B,SAASC,EAAuBznJ,GAAK,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAI0nJ,EAA0BD,EAAsBt2B,GAChDw2B,EAA6BF,EAAsBD,GAEvD,SAASI,EAAkBx+I,EAAQ0gD,GACjC,IAAK,IAAIlrD,EAAI,EAAGA,EAAIkrD,EAAM/0C,OAAQnW,IAAK,CACrC,IAAI0iG,EAAax3C,EAAMlrD,GACvB0iG,EAAWtO,WAAasO,EAAWtO,aAAc,EACjDsO,EAAW7J,cAAe,EACtB,UAAW6J,IAAYA,EAAWzO,UAAW,GACjD9pE,OAAO45F,eAAev5G,EAAQk4F,EAAW/iG,IAAK+iG,EAChD,CACF,CAEA,SAASumD,EAAa1iE,EAAa2iE,EAAYC,GAM7C,OALID,GAAYF,EAAkBziE,EAAYj/E,UAAW4hJ,GACrDC,GAAaH,EAAkBziE,EAAa4iE,GAChDh/H,OAAO45F,eAAex9B,EAAa,YAAa,CAC9C0N,UAAU,IAEL1N,CACT,CAEA,SAAS6iE,IAcP,OAbAA,EAAWj/H,OAAOq5E,OAASr5E,OAAOq5E,OAAOrqF,OAAS,SAAU3O,GAC1D,IAAK,IAAIxK,EAAI,EAAGA,EAAIkW,UAAUC,OAAQnW,IAAK,CACzC,IAAI6Z,EAAS3D,UAAUlW,GAEvB,IAAK,IAAIL,KAAOka,EACVsQ,OAAO7iB,UAAU4rF,eAAe74F,KAAKwf,EAAQla,KAC/C6K,EAAO7K,GAAOka,EAAOla,GAG3B,CAEA,OAAO6K,CACT,EACO4+I,EAASjiF,MAAM7sE,KAAM4b,UAC9B,CAMA,IAAI86E,EAAO,WACP3iC,EAAU,QACVg7F,EAAW,cACXC,EAAY,IAAMD,EAClBE,EAAe,YACfC,EAAqBV,EAAW,WAAW90I,GAAGg9E,GAC9Cy4D,EAAkB,OAClBC,EAAsB,WACtBC,EAAwB,aACxBC,EAAuB,YACvBC,EAAkB,QAClBC,EAAmB,SACnBC,EAAa,OAAST,EACtBU,EAAc,QAAUV,EACxBW,EAAa,OAASX,EACtBY,EAAe,SAAWZ,EAC1Ba,EAAuB,QAAUb,EAAYC,EAC7Ca,EAAmB,qBACnBC,EAAuB,2BACvBC,EAAU,CACZC,QAAQ,EACRzlD,OAAQ,IAEN0lD,EAAc,CAChBD,OAAQ,UACRzlD,OAAQ,oBAMN2lD,EAAwB,WAC1B,SAASA,EAASC,EAASj+I,GACzBnS,KAAKqwJ,kBAAmB,EACxBrwJ,KAAKswJ,SAAWF,EAChBpwJ,KAAK4/D,QAAU5/D,KAAKi8B,WAAW9pB,GAC/BnS,KAAKuwJ,cAAgB,GAAG78G,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiB,mCAAwC2S,EAAQhpJ,GAAhD,6CAA8GgpJ,EAAQhpJ,GAAK,OAGxL,IAFA,IAAIopJ,EAAa,GAAG98G,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBsS,IAEhDrqJ,EAAI,EAAGk9B,EAAM4tH,EAAW30I,OAAQnW,EAAIk9B,EAAKl9B,IAAK,CACrD,IAAI+qJ,EAAOD,EAAW9qJ,GAClB2yI,EAAWoW,EAAc,WAAWiC,uBAAuBD,GAC3DE,EAAgB,GAAGj9G,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBpF,IAAWj6E,QAAO,SAAUwyF,GACtF,OAAOA,IAAcR,CACvB,IAEiB,OAAb/X,GAAqBsY,EAAc90I,OAAS,IAC9C7b,KAAK6wJ,UAAYxY,EAEjBr4I,KAAKuwJ,cAAc38G,KAAK68G,GAE5B,CAEAzwJ,KAAKwiJ,QAAUxiJ,KAAK4/D,QAAQ4qC,OAASxqG,KAAK8wJ,aAAe,KAEpD9wJ,KAAK4/D,QAAQ4qC,QAChBxqG,KAAK+wJ,0BAA0B/wJ,KAAKswJ,SAAUtwJ,KAAKuwJ,eAGjDvwJ,KAAK4/D,QAAQqwF,QACfjwJ,KAAKiwJ,QAET,CAGA,IAAIe,EAASb,EAASnjJ,UA4OtB,OAzOAgkJ,EAAOf,OAAS,WACVzB,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS9B,GAChDnvJ,KAAKkxJ,OAELlxJ,KAAKmxJ,MAET,EAEAH,EAAOG,KAAO,WACZ,IAMIC,EACAC,EAPA1pJ,EAAQ3H,KAEZ,IAAIA,KAAKqwJ,mBAAoB7B,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS9B,KAOvEnvJ,KAAKwiJ,UACP4O,EAAU,GAAG19G,MAAM3zC,KAAKC,KAAKwiJ,QAAQ/E,iBAAiBqS,IAAmB1xF,QAAO,SAAUqyF,GACxF,MAAoC,kBAAzB9oJ,EAAMi4D,QAAQ4qC,OAChBimD,EAAK1hC,aAAa,iBAAmBpnH,EAAMi4D,QAAQ4qC,OAGrDimD,EAAKzV,UAAUsW,SAASlC,EACjC,IAEuB,IAAnBgC,EAAQv1I,SACVu1I,EAAU,SAIVA,IACFC,EAAc7C,EAAW,WAAW4C,GAASG,IAAIvxJ,KAAK6wJ,WAAW7rJ,KAAK+pJ,GAElEsC,GAAeA,EAAYhB,oBAHjC,CAQA,IAAImB,EAAahD,EAAW,WAAWrmJ,MAAMsnJ,GAG7C,GAFAjB,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQ4lD,IAEzCA,EAAWC,qBAAf,CAIIL,IACFjB,EAASuB,iBAAiB3xJ,KAAKyuJ,EAAW,WAAW4C,GAASG,IAAIvxJ,KAAK6wJ,WAAY,QAE9EQ,GACH7C,EAAW,WAAW4C,GAASpsJ,KAAK+pJ,EAAU,OAIlD,IAAI4C,EAAY3xJ,KAAK4xJ,gBAErBpD,EAAW,WAAWxuJ,KAAKswJ,UAAUuB,YAAYzC,GAAqB0C,SAASzC,GAC/ErvJ,KAAKswJ,SAAS7iC,MAAMkkC,GAAa,EAE7B3xJ,KAAKuwJ,cAAc10I,QACrB2yI,EAAW,WAAWxuJ,KAAKuwJ,eAAesB,YAAYvC,GAAsByC,KAAK,iBAAiB,GAGpG/xJ,KAAKgyJ,kBAAiB,GAEtB,IAAIC,EAAW,WACbzD,EAAW,WAAW7mJ,EAAM2oJ,UAAUuB,YAAYxC,GAAuByC,SAAS1C,EAAsB,IAAMD,GAC9GxnJ,EAAM2oJ,SAAS7iC,MAAMkkC,GAAa,GAElChqJ,EAAMqqJ,kBAAiB,GAEvBxD,EAAW,WAAW7mJ,EAAM2oJ,UAAU1kD,QAAQ8jD,EAChD,EAEIwC,EAAuBP,EAAU,GAAGngJ,cAAgBmgJ,EAAUj+G,MAAM,GACpEy+G,EAAa,SAAWD,EACxB7M,EAAqBoJ,EAAc,WAAW2D,iCAAiCpyJ,KAAKswJ,UACxF9B,EAAW,WAAWxuJ,KAAKswJ,UAAU+B,IAAI5D,EAAc,WAAW6D,eAAgBL,GAAUM,qBAAqBlN,GACjHrlJ,KAAKswJ,SAAS7iC,MAAMkkC,GAAa3xJ,KAAKswJ,SAAS6B,GAAc,IAlC7D,CAPA,CA0CF,EAEAnB,EAAOE,KAAO,WACZ,IAAIsB,EAASxyJ,KAEb,IAAIA,KAAKqwJ,kBAAqB7B,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS9B,GAA5E,CAIA,IAAIqC,EAAahD,EAAW,WAAWrmJ,MAAMwnJ,GAG7C,GAFAnB,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQ4lD,IAEzCA,EAAWC,qBAAf,CAIA,IAAIE,EAAY3xJ,KAAK4xJ,gBAErB5xJ,KAAKswJ,SAAS7iC,MAAMkkC,GAAa3xJ,KAAKswJ,SAAShhC,wBAAwBqiC,GAAa,KACpFlD,EAAc,WAAWgE,OAAOzyJ,KAAKswJ,UACrC9B,EAAW,WAAWxuJ,KAAKswJ,UAAUwB,SAASzC,GAAuBwC,YAAYzC,EAAsB,IAAMD,GAC7G,IAAIuD,EAAqB1yJ,KAAKuwJ,cAAc10I,OAE5C,GAAI62I,EAAqB,EACvB,IAAK,IAAIhtJ,EAAI,EAAGA,EAAIgtJ,EAAoBhtJ,IAAK,CAC3C,IAAIkmG,EAAU5rG,KAAKuwJ,cAAc7qJ,GAC7B2yI,EAAWoW,EAAc,WAAWiC,uBAAuB9kD,GAE/D,GAAiB,OAAbysC,EAAmB,CACrB,IAAIsa,EAAQnE,EAAW,WAAW,GAAG96G,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBpF,KAErEsa,EAAM1B,SAAS9B,IAClBX,EAAW,WAAW5iD,GAASkmD,SAASxC,GAAsByC,KAAK,iBAAiB,EAExF,CACF,CAGF/xJ,KAAKgyJ,kBAAiB,GAEtB,IAAIC,EAAW,WACbO,EAAOR,kBAAiB,GAExBxD,EAAW,WAAWgE,EAAOlC,UAAUuB,YAAYxC,GAAuByC,SAAS1C,GAAqBxjD,QAAQgkD,EAClH,EAEA5vJ,KAAKswJ,SAAS7iC,MAAMkkC,GAAa,GACjC,IAAItM,EAAqBoJ,EAAc,WAAW2D,iCAAiCpyJ,KAAKswJ,UACxF9B,EAAW,WAAWxuJ,KAAKswJ,UAAU+B,IAAI5D,EAAc,WAAW6D,eAAgBL,GAAUM,qBAAqBlN,EAlCjH,CAPA,CA0CF,EAEA2L,EAAOgB,iBAAmB,SAA0BY,GAClD5yJ,KAAKqwJ,iBAAmBuC,CAC1B,EAEA5B,EAAO6B,QAAU,WACfrE,EAAW,WAAWsE,WAAW9yJ,KAAKswJ,SAAUvB,GAChD/uJ,KAAK4/D,QAAU,KACf5/D,KAAKwiJ,QAAU,KACfxiJ,KAAKswJ,SAAW,KAChBtwJ,KAAKuwJ,cAAgB,KACrBvwJ,KAAKqwJ,iBAAmB,IAC1B,EAGAW,EAAO/0H,WAAa,SAAoB9pB,GAKtC,OAJAA,EAAS28I,EAAS,CAAC,EAAGkB,EAAS79I,GAC/BA,EAAO89I,OAAS5mI,QAAQlX,EAAO89I,QAE/BxB,EAAc,WAAWsE,gBAAgBr8D,EAAMvkF,EAAQ+9I,GAChD/9I,CACT,EAEA6+I,EAAOY,cAAgB,WACrB,IAAIoB,EAAWxE,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS1B,GAC7D,OAAOyD,EAAWzD,EAAkBC,CACtC,EAEAwB,EAAOF,WAAa,WAClB,IAEItmD,EAFAyoD,EAASjzJ,KAITyuJ,EAAc,WAAWyE,UAAUlzJ,KAAK4/D,QAAQ4qC,SAClDA,EAASxqG,KAAK4/D,QAAQ4qC,OAEoB,qBAA/BxqG,KAAK4/D,QAAQ4qC,OAAO2oD,SAC7B3oD,EAASxqG,KAAK4/D,QAAQ4qC,OAAO,KAG/BA,EAAS3e,SAASq1B,cAAclhH,KAAK4/D,QAAQ4qC,QAG/C,IAAI6tC,EAAW,yCAA8Cr4I,KAAK4/D,QAAQ4qC,OAAS,KAC/E5vE,EAAW,GAAG8Y,MAAM3zC,KAAKyqG,EAAOizC,iBAAiBpF,IAIrD,OAHAmW,EAAW,WAAW5zH,GAAUw4H,MAAK,SAAU1tJ,EAAG0qJ,GAChD6C,EAAOlC,0BAA0BZ,EAASkD,sBAAsBjD,GAAU,CAACA,GAC7E,IACO5lD,CACT,EAEAwmD,EAAOD,0BAA4B,SAAmCX,EAASkD,GAC7E,IAAIC,EAAS/E,EAAW,WAAW4B,GAASa,SAAS9B,GAEjDmE,EAAaz3I,QACf2yI,EAAW,WAAW8E,GAAcE,YAAYlE,GAAuBiE,GAAQxB,KAAK,gBAAiBwB,EAEzG,EAGApD,EAASkD,sBAAwB,SAA+BjD,GAC9D,IAAI/X,EAAWoW,EAAc,WAAWiC,uBAAuBN,GAC/D,OAAO/X,EAAWxsD,SAASq1B,cAAcm3B,GAAY,IACvD,EAEA8X,EAASuB,iBAAmB,SAA0Bv/I,GACpD,OAAOnS,KAAKozJ,MAAK,WACf,IAAIK,EAAWjF,EAAW,WAAWxuJ,MACjCgF,EAAOyuJ,EAASzuJ,KAAK+pJ,GAErBnvF,EAAUkvF,EAAS,CAAC,EAAGkB,EAASyD,EAASzuJ,OAA0B,kBAAXmN,GAAuBA,EAASA,EAAS,CAAC,GAWtG,IATKnN,GAAQ46D,EAAQqwF,QAA4B,kBAAX99I,GAAuB,YAAYjH,KAAKiH,KAC5EytD,EAAQqwF,QAAS,GAGdjrJ,IACHA,EAAO,IAAImrJ,EAASnwJ,KAAM4/D,GAC1B6zF,EAASzuJ,KAAK+pJ,EAAU/pJ,IAGJ,kBAAXmN,EAAqB,CAC9B,GAA4B,qBAAjBnN,EAAKmN,GACd,MAAM,IAAIqoF,UAAU,oBAAuBroF,EAAS,KAGtDnN,EAAKmN,IACP,CACF,GACF,EAEAw8I,EAAawB,EAAU,KAAM,CAAC,CAC5B9qJ,IAAK,UACL4W,IAAK,WACH,OAAO83C,CACT,GACC,CACD1uD,IAAK,UACL4W,IAAK,WACH,OAAO+zI,CACT,KAGKG,CACT,CA/Q4B,GAkT5B,OA7BA3B,EAAW,WAAW3iE,UAAU0d,GAAGsmD,EAAsBE,GAAsB,SAAU7kI,GAEnD,MAAhCA,EAAMw9H,cAAc79B,SACtB3/F,EAAMu9H,iBAGR,IAAIiL,EAAWlF,EAAW,WAAWxuJ,MACjCq4I,EAAWoW,EAAc,WAAWiC,uBAAuB1wJ,MAC3D2zJ,EAAY,GAAGjgH,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBpF,IACxDmW,EAAW,WAAWmF,GAAWP,MAAK,WACpC,IAAIQ,EAAUpF,EAAW,WAAWxuJ,MAChCgF,EAAO4uJ,EAAQ5uJ,KAAK+pJ,GACpB58I,EAASnN,EAAO,SAAW0uJ,EAAS1uJ,OAExCmrJ,EAASuB,iBAAiB3xJ,KAAK6zJ,EAASzhJ,EAC1C,GACF,IAKAq8I,EAAW,WAAW90I,GAAGg9E,GAAQy5D,EAASuB,iBAC1ClD,EAAW,WAAW90I,GAAGg9E,GAAMzK,YAAckkE,EAE7C3B,EAAW,WAAW90I,GAAGg9E,GAAMm9D,WAAa,WAE1C,OADArF,EAAW,WAAW90I,GAAGg9E,GAAQw4D,EAC1BiB,EAASuB,gBAClB,EAEOvB,CAER,G;;;;;;CCtYD,SAAW1kI,EAAQ2rF,GAC8Cg3C,EAAOC,QAAUj3C,EAAQ,EAAQ,OAAW,EAAQ,OAGpH,EAJD,CAIGp3G,GAAM,SAAWi4H,EAAGq2B,GAAQ,aAE7B,SAASC,EAAuBznJ,GAAK,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAI0nJ,EAA0BD,EAAsBt2B,GAChDw2B,EAA6BF,EAAsBD,GAEvD,SAASI,EAAkBx+I,EAAQ0gD,GACjC,IAAK,IAAIlrD,EAAI,EAAGA,EAAIkrD,EAAM/0C,OAAQnW,IAAK,CACrC,IAAI0iG,EAAax3C,EAAMlrD,GACvB0iG,EAAWtO,WAAasO,EAAWtO,aAAc,EACjDsO,EAAW7J,cAAe,EACtB,UAAW6J,IAAYA,EAAWzO,UAAW,GACjD9pE,OAAO45F,eAAev5G,EAAQk4F,EAAW/iG,IAAK+iG,EAChD,CACF,CAEA,SAASumD,EAAa1iE,EAAa2iE,EAAYC,GAM7C,OALID,GAAYF,EAAkBziE,EAAYj/E,UAAW4hJ,GACrDC,GAAaH,EAAkBziE,EAAa4iE,GAChDh/H,OAAO45F,eAAex9B,EAAa,YAAa,CAC9C0N,UAAU,IAEL1N,CACT,CAEA,SAAS6iE,IAcP,OAbAA,EAAWj/H,OAAOq5E,OAASr5E,OAAOq5E,OAAOrqF,OAAS,SAAU3O,GAC1D,IAAK,IAAIxK,EAAI,EAAGA,EAAIkW,UAAUC,OAAQnW,IAAK,CACzC,IAAI6Z,EAAS3D,UAAUlW,GAEvB,IAAK,IAAIL,KAAOka,EACVsQ,OAAO7iB,UAAU4rF,eAAe74F,KAAKwf,EAAQla,KAC/C6K,EAAO7K,GAAOka,EAAOla,GAG3B,CAEA,OAAO6K,CACT,EACO4+I,EAASjiF,MAAM7sE,KAAM4b,UAC9B,CAMA,IAAI86E,EAAO,QACP3iC,EAAU,QACVg7F,EAAW,WACXC,EAAY,IAAMD,EAClBE,EAAe,YACfC,EAAqBV,EAAW,WAAW90I,GAAGg9E,GAC9Co9D,EAAiB,GAEjBC,EAAwB,0BACxBC,EAAgC,0BAChCC,EAAsB,iBACtBC,EAAkB,aAClBC,EAAkB,OAClBhF,EAAkB,OAClBiF,EAAoB,eACpBzE,EAAa,OAASX,EACtBqF,EAAuB,gBAAkBrF,EACzCY,EAAe,SAAWZ,EAC1BS,EAAa,OAAST,EACtBU,EAAc,QAAUV,EACxBsF,EAAgB,UAAYtF,EAC5BuF,EAAe,SAAWvF,EAC1BwF,EAAsB,gBAAkBxF,EACxCyF,EAAwB,kBAAoBzF,EAC5C0F,EAAwB,kBAAoB1F,EAC5C2F,EAA0B,oBAAsB3F,EAChDa,EAAuB,QAAUb,EAAYC,EAC7C2F,EAAkB,gBAClBC,EAAsB,cACtB9E,EAAuB,wBACvB+E,EAAwB,yBACxBC,EAAyB,oDACzBC,EAA0B,cAC1BhF,EAAU,CACZiF,UAAU,EACVC,UAAU,EACVC,OAAO,EACPhE,MAAM,GAEJjB,EAAc,CAChB+E,SAAU,mBACVC,SAAU,UACVC,MAAO,UACPhE,KAAM,WAMJiE,EAAqB,WACvB,SAASA,EAAMhF,EAASj+I,GACtBnS,KAAK4/D,QAAU5/D,KAAKi8B,WAAW9pB,GAC/BnS,KAAKswJ,SAAWF,EAChBpwJ,KAAKq1J,QAAUjF,EAAQlvC,cAAc0zC,GACrC50J,KAAKs1J,UAAY,KACjBt1J,KAAKu1J,UAAW,EAChBv1J,KAAKw1J,oBAAqB,EAC1Bx1J,KAAKy1J,sBAAuB,EAC5Bz1J,KAAKqwJ,kBAAmB,EACxBrwJ,KAAK01J,gBAAkB,CACzB,CAGA,IAAI1E,EAASoE,EAAMpoJ,UA0enB,OAveAgkJ,EAAOf,OAAS,SAAgB0F,GAC9B,OAAO31J,KAAKu1J,SAAWv1J,KAAKkxJ,OAASlxJ,KAAKmxJ,KAAKwE,EACjD,EAEA3E,EAAOG,KAAO,SAAcwE,GAC1B,IAAIhuJ,EAAQ3H,KAEZ,IAAIA,KAAKu1J,WAAYv1J,KAAKqwJ,iBAA1B,CAIA,IAAIuF,EAAYpH,EAAW,WAAWrmJ,MAAMsnJ,EAAY,CACtDkG,cAAeA,IAEjBnH,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQgqD,GAEzCA,EAAUnE,uBAIdzxJ,KAAKu1J,UAAW,EAEZ/G,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAASkD,KAChDn0J,KAAKqwJ,kBAAmB,GAG1BrwJ,KAAK61J,kBAEL71J,KAAK81J,gBAEL91J,KAAK+1J,gBAEL/1J,KAAKg2J,kBAELh2J,KAAKi2J,kBAELzH,EAAW,WAAWxuJ,KAAKswJ,UAAU/mD,GAAGirD,EAAqBM,GAAuB,SAAU5pI,GAC5F,OAAOvjB,EAAMupJ,KAAKhmI,EACpB,IACAsjI,EAAW,WAAWxuJ,KAAKq1J,SAAS9rD,GAAGorD,GAAyB,WAC9DnG,EAAW,WAAW7mJ,EAAM2oJ,UAAU+B,IAAIqC,GAAuB,SAAUxpI,GACrEsjI,EAAW,WAAWtjI,EAAMhb,QAAQo2H,GAAG3+H,EAAM2oJ,YAC/C3oJ,EAAM8tJ,sBAAuB,EAEjC,GACF,IAEAz1J,KAAKk2J,eAAc,WACjB,OAAOvuJ,EAAMwuJ,aAAaR,EAC5B,IAxCA,CAyCF,EAEA3E,EAAOE,KAAO,SAAchmI,GAC1B,IAAIsnI,EAASxyJ,KAMb,GAJIkrB,GACFA,EAAMu9H,iBAGHzoJ,KAAKu1J,WAAYv1J,KAAKqwJ,iBAA3B,CAIA,IAAI+F,EAAY5H,EAAW,WAAWrmJ,MAAMwnJ,GAG5C,GAFAnB,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQwqD,GAExCp2J,KAAKu1J,WAAYa,EAAU3E,qBAAhC,CAIAzxJ,KAAKu1J,UAAW,EAChB,IAAI9sC,EAAa+lC,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAASkD,GAe/D,GAbI1rC,IACFzoH,KAAKqwJ,kBAAmB,GAG1BrwJ,KAAKg2J,kBAELh2J,KAAKi2J,kBAELzH,EAAW,WAAW3iE,UAAU+e,IAAI0pD,GACpC9F,EAAW,WAAWxuJ,KAAKswJ,UAAUuB,YAAY1C,GACjDX,EAAW,WAAWxuJ,KAAKswJ,UAAU1lD,IAAI4pD,GACzChG,EAAW,WAAWxuJ,KAAKq1J,SAASzqD,IAAI+pD,GAEpClsC,EAAY,CACd,IAAI48B,EAAqBoJ,EAAc,WAAW2D,iCAAiCpyJ,KAAKswJ,UACxF9B,EAAW,WAAWxuJ,KAAKswJ,UAAU+B,IAAI5D,EAAc,WAAW6D,gBAAgB,SAAUpnI,GAC1F,OAAOsnI,EAAO6D,WAAWnrI,EAC3B,IAAGqnI,qBAAqBlN,EAC1B,MACErlJ,KAAKq2J,YAxBP,CAPA,CAiCF,EAEArF,EAAO6B,QAAU,WACf,CAAC70G,OAAQh+C,KAAKswJ,SAAUtwJ,KAAKq1J,SAAS56E,SAAQ,SAAU67E,GACtD,OAAO9H,EAAW,WAAW8H,GAAa1rD,IAAIokD,EAChD,IAOAR,EAAW,WAAW3iE,UAAU+e,IAAI0pD,GACpC9F,EAAW,WAAWsE,WAAW9yJ,KAAKswJ,SAAUvB,GAChD/uJ,KAAK4/D,QAAU,KACf5/D,KAAKswJ,SAAW,KAChBtwJ,KAAKq1J,QAAU,KACfr1J,KAAKs1J,UAAY,KACjBt1J,KAAKu1J,SAAW,KAChBv1J,KAAKw1J,mBAAqB,KAC1Bx1J,KAAKy1J,qBAAuB,KAC5Bz1J,KAAKqwJ,iBAAmB,KACxBrwJ,KAAK01J,gBAAkB,IACzB,EAEA1E,EAAOuF,aAAe,WACpBv2J,KAAK+1J,eACP,EAGA/E,EAAO/0H,WAAa,SAAoB9pB,GAGtC,OAFAA,EAAS28I,EAAS,CAAC,EAAGkB,EAAS79I,GAC/Bs8I,EAAc,WAAWsE,gBAAgBr8D,EAAMvkF,EAAQ+9I,GAChD/9I,CACT,EAEA6+I,EAAOwF,2BAA6B,WAClC,IAAIvD,EAASjzJ,KAETy2J,EAAqBjI,EAAW,WAAWrmJ,MAAMksJ,GAGrD,GAFA7F,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQ6qD,IAEzCA,EAAmBhF,qBAAvB,CAIA,IAAIiF,EAAqB12J,KAAKswJ,SAASqG,aAAe9qE,SAAS+qE,gBAAgBC,aAE1EH,IACH12J,KAAKswJ,SAAS7iC,MAAMqpC,UAAY,UAGlC92J,KAAKswJ,SAAStV,UAAUx9H,IAAI42I,GAE5B,IAAI2C,EAA0BtI,EAAc,WAAW2D,iCAAiCpyJ,KAAKq1J,SAC7F7G,EAAW,WAAWxuJ,KAAKswJ,UAAU1lD,IAAI6jD,EAAc,WAAW6D,gBAClE9D,EAAW,WAAWxuJ,KAAKswJ,UAAU+B,IAAI5D,EAAc,WAAW6D,gBAAgB,WAChFW,EAAO3C,SAAStV,UAAU34G,OAAO+xH,GAE5BsC,GACHlI,EAAW,WAAWyE,EAAO3C,UAAU+B,IAAI5D,EAAc,WAAW6D,gBAAgB,WAClFW,EAAO3C,SAAS7iC,MAAMqpC,UAAY,EACpC,IAAGvE,qBAAqBU,EAAO3C,SAAUyG,EAE7C,IAAGxE,qBAAqBwE,GAExB/2J,KAAKswJ,SAAS6E,OAtBd,CAuBF,EAEAnE,EAAOmF,aAAe,SAAsBR,GAC1C,IAAIqB,EAASh3J,KAETyoH,EAAa+lC,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAASkD,GAC3D8C,EAAYj3J,KAAKq1J,QAAUr1J,KAAKq1J,QAAQn0C,cAAc2zC,GAAuB,KAE5E70J,KAAKswJ,SAAS5sC,YAAc1jH,KAAKswJ,SAAS5sC,WAAWK,WAAamzC,KAAKC,cAE1EtrE,SAAS7lC,KAAKyyF,YAAYz4I,KAAKswJ,UAGjCtwJ,KAAKswJ,SAAS7iC,MAAMwvB,QAAU,QAE9Bj9I,KAAKswJ,SAASzT,gBAAgB,eAE9B78I,KAAKswJ,SAASpsC,aAAa,cAAc,GAEzClkH,KAAKswJ,SAASpsC,aAAa,OAAQ,UAE/BsqC,EAAW,WAAWxuJ,KAAKq1J,SAASpE,SAAS8C,IAA0BkD,EACzEA,EAAUG,UAAY,EAEtBp3J,KAAKswJ,SAAS8G,UAAY,EAGxB3uC,GACFgmC,EAAc,WAAWgE,OAAOzyJ,KAAKswJ,UAGvC9B,EAAW,WAAWxuJ,KAAKswJ,UAAUwB,SAAS3C,GAE1CnvJ,KAAK4/D,QAAQu1F,OACfn1J,KAAKq3J,gBAGP,IAAIC,EAAa9I,EAAW,WAAWrmJ,MAAMunJ,EAAa,CACxDiG,cAAeA,IAGb4B,EAAqB,WACnBP,EAAOp3F,QAAQu1F,OACjB6B,EAAO1G,SAAS6E,QAGlB6B,EAAO3G,kBAAmB,EAC1B7B,EAAW,WAAWwI,EAAO1G,UAAU1kD,QAAQ0rD,EACjD,EAEA,GAAI7uC,EAAY,CACd,IAAI48B,EAAqBoJ,EAAc,WAAW2D,iCAAiCpyJ,KAAKq1J,SACxF7G,EAAW,WAAWxuJ,KAAKq1J,SAAShD,IAAI5D,EAAc,WAAW6D,eAAgBiF,GAAoBhF,qBAAqBlN,EAC5H,MACEkS,GAEJ,EAEAvG,EAAOqG,cAAgB,WACrB,IAAIG,EAASx3J,KAEbwuJ,EAAW,WAAW3iE,UAAU+e,IAAI0pD,GACnC/qD,GAAG+qD,GAAe,SAAUppI,GACvB2gE,WAAa3gE,EAAMhb,QAAUsnJ,EAAOlH,WAAaplI,EAAMhb,QAA8E,IAApEs+I,EAAW,WAAWgJ,EAAOlH,UAAU5kD,IAAIxgF,EAAMhb,QAAQ2L,QAC5H27I,EAAOlH,SAAS6E,OAEpB,GACF,EAEAnE,EAAOgF,gBAAkB,WACvB,IAAIyB,EAASz3J,KAETA,KAAKu1J,SACP/G,EAAW,WAAWxuJ,KAAKswJ,UAAU/mD,GAAGkrD,GAAuB,SAAUvpI,GACnEusI,EAAO73F,QAAQs1F,UAAYhqI,EAAMwsI,QAAU5D,GAC7C5oI,EAAMu9H,iBAENgP,EAAOvG,QACGuG,EAAO73F,QAAQs1F,UAAYhqI,EAAMwsI,QAAU5D,GACrD2D,EAAOjB,4BAEX,IACUx2J,KAAKu1J,UACf/G,EAAW,WAAWxuJ,KAAKswJ,UAAU1lD,IAAI6pD,EAE7C,EAEAzD,EAAOiF,gBAAkB,WACvB,IAAI0B,EAAS33J,KAETA,KAAKu1J,SACP/G,EAAW,WAAWxwG,QAAQurD,GAAGgrD,GAAc,SAAUrpI,GACvD,OAAOysI,EAAOpB,aAAarrI,EAC7B,IAEAsjI,EAAW,WAAWxwG,QAAQ4sD,IAAI2pD,EAEtC,EAEAvD,EAAOqF,WAAa,WAClB,IAAIuB,EAAS53J,KAEbA,KAAKswJ,SAAS7iC,MAAMwvB,QAAU,OAE9Bj9I,KAAKswJ,SAASpsC,aAAa,eAAe,GAE1ClkH,KAAKswJ,SAASzT,gBAAgB,cAE9B78I,KAAKswJ,SAASzT,gBAAgB,QAE9B78I,KAAKqwJ,kBAAmB,EAExBrwJ,KAAKk2J,eAAc,WACjB1H,EAAW,WAAW3iE,SAAS7lC,MAAM6rG,YAAYqC,GAEjD0D,EAAOC,oBAEPD,EAAOE,kBAEPtJ,EAAW,WAAWoJ,EAAOtH,UAAU1kD,QAAQgkD,EACjD,GACF,EAEAoB,EAAO+G,gBAAkB,WACnB/3J,KAAKs1J,YACP9G,EAAW,WAAWxuJ,KAAKs1J,WAAWjzH,SACtCriC,KAAKs1J,UAAY,KAErB,EAEAtE,EAAOkF,cAAgB,SAAuBv3I,GAC5C,IAAIq5I,EAASh4J,KAETi4J,EAAUzJ,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAASkD,GAAmBA,EAAkB,GAEjG,GAAIn0J,KAAKu1J,UAAYv1J,KAAK4/D,QAAQq1F,SAAU,CAgC1C,GA/BAj1J,KAAKs1J,UAAYzpE,SAAS56E,cAAc,OACxCjR,KAAKs1J,UAAUhmE,UAAY2kE,EAEvBgE,GACFj4J,KAAKs1J,UAAUta,UAAUx9H,IAAIy6I,GAG/BzJ,EAAW,WAAWxuJ,KAAKs1J,WAAW4C,SAASrsE,SAAS7lC,MACxDwoG,EAAW,WAAWxuJ,KAAKswJ,UAAU/mD,GAAGirD,GAAqB,SAAUtpI,GACjE8sI,EAAOvC,qBACTuC,EAAOvC,sBAAuB,EAI5BvqI,EAAMhb,SAAWgb,EAAMw9H,gBAIK,WAA5BsP,EAAOp4F,QAAQq1F,SACjB+C,EAAOxB,6BAEPwB,EAAO9G,OAEX,IAEI+G,GACFxJ,EAAc,WAAWgE,OAAOzyJ,KAAKs1J,WAGvC9G,EAAW,WAAWxuJ,KAAKs1J,WAAWxD,SAAS3C,IAE1CxwI,EACH,OAGF,IAAKs5I,EAEH,YADAt5I,IAIF,IAAIw5I,EAA6B1J,EAAc,WAAW2D,iCAAiCpyJ,KAAKs1J,WAChG9G,EAAW,WAAWxuJ,KAAKs1J,WAAWjD,IAAI5D,EAAc,WAAW6D,eAAgB3zI,GAAU4zI,qBAAqB4F,EACpH,MAAO,IAAKn4J,KAAKu1J,UAAYv1J,KAAKs1J,UAAW,CAC3C9G,EAAW,WAAWxuJ,KAAKs1J,WAAWzD,YAAY1C,GAElD,IAAIiJ,EAAiB,WACnBJ,EAAOD,kBAEHp5I,GACFA,GAEJ,EAEA,GAAI6vI,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAASkD,GAAkB,CAClE,IAAIkE,EAA8B5J,EAAc,WAAW2D,iCAAiCpyJ,KAAKs1J,WAEjG9G,EAAW,WAAWxuJ,KAAKs1J,WAAWjD,IAAI5D,EAAc,WAAW6D,eAAgB8F,GAAgB7F,qBAAqB8F,EAC1H,MACED,GAEJ,MAAWz5I,GACTA,GAEJ,EAMAqyI,EAAO+E,cAAgB,WACrB,IAAIW,EAAqB12J,KAAKswJ,SAASqG,aAAe9qE,SAAS+qE,gBAAgBC,cAE1E72J,KAAKw1J,oBAAsBkB,IAC9B12J,KAAKswJ,SAAS7iC,MAAM6qC,YAAct4J,KAAK01J,gBAAkB,MAGvD11J,KAAKw1J,qBAAuBkB,IAC9B12J,KAAKswJ,SAAS7iC,MAAM8qC,aAAev4J,KAAK01J,gBAAkB,KAE9D,EAEA1E,EAAO6G,kBAAoB,WACzB73J,KAAKswJ,SAAS7iC,MAAM6qC,YAAc,GAClCt4J,KAAKswJ,SAAS7iC,MAAM8qC,aAAe,EACrC,EAEAvH,EAAO6E,gBAAkB,WACvB,IAAI2C,EAAO3sE,SAAS7lC,KAAKspE,wBACzBtvH,KAAKw1J,mBAAqBr3J,KAAKC,MAAMo6J,EAAKntJ,KAAOmtJ,EAAKltJ,OAAS0yC,OAAOwxE,WACtExvH,KAAK01J,gBAAkB11J,KAAKy4J,oBAC9B,EAEAzH,EAAO8E,cAAgB,WACrB,IAAI4C,EAAU14J,KAEd,GAAIA,KAAKw1J,mBAAoB,CAG3B,IAAImD,EAAe,GAAGjlH,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBsX,IACvD6D,EAAgB,GAAGllH,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBuX,IAE5DxG,EAAW,WAAWmK,GAAcvF,MAAK,SAAUxsG,EAAOwpG,GACxD,IAAIyI,EAAgBzI,EAAQ3iC,MAAM8qC,aAC9BO,EAAoBtK,EAAW,WAAW4B,GAAStX,IAAI,iBAC3D0V,EAAW,WAAW4B,GAASprJ,KAAK,gBAAiB6zJ,GAAe/f,IAAI,gBAAiB9jF,WAAW8jG,GAAqBJ,EAAQhD,gBAAkB,KACrJ,IAEAlH,EAAW,WAAWoK,GAAexF,MAAK,SAAUxsG,EAAOwpG,GACzD,IAAI2I,EAAe3I,EAAQ3iC,MAAMurC,YAC7BC,EAAmBzK,EAAW,WAAW4B,GAAStX,IAAI,gBAC1D0V,EAAW,WAAW4B,GAASprJ,KAAK,eAAgB+zJ,GAAcjgB,IAAI,eAAgB9jF,WAAWikG,GAAoBP,EAAQhD,gBAAkB,KACjJ,IAEA,IAAImD,EAAgBhtE,SAAS7lC,KAAKynE,MAAM8qC,aACpCO,EAAoBtK,EAAW,WAAW3iE,SAAS7lC,MAAM8yF,IAAI,iBACjE0V,EAAW,WAAW3iE,SAAS7lC,MAAMhhD,KAAK,gBAAiB6zJ,GAAe/f,IAAI,gBAAiB9jF,WAAW8jG,GAAqB94J,KAAK01J,gBAAkB,KACxJ,CAEAlH,EAAW,WAAW3iE,SAAS7lC,MAAM8rG,SAASoC,EAChD,EAEAlD,EAAO8G,gBAAkB,WAEvB,IAAIa,EAAe,GAAGjlH,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiBsX,IAC3DvG,EAAW,WAAWmK,GAAcvF,MAAK,SAAUxsG,EAAOwpG,GACxD,IAAI8I,EAAU1K,EAAW,WAAW4B,GAASprJ,KAAK,iBAClDwpJ,EAAW,WAAW4B,GAAS0C,WAAW,iBAC1C1C,EAAQ3iC,MAAM8qC,aAAeW,GAAoB,EACnD,IAEA,IAAIC,EAAW,GAAGzlH,MAAM3zC,KAAK8rF,SAAS4xD,iBAAiB,GAAKuX,IAC5DxG,EAAW,WAAW2K,GAAU/F,MAAK,SAAUxsG,EAAOwpG,GACpD,IAAIgJ,EAAS5K,EAAW,WAAW4B,GAASprJ,KAAK,gBAE3B,qBAAXo0J,GACT5K,EAAW,WAAW4B,GAAStX,IAAI,eAAgBsgB,GAAQtG,WAAW,eAE1E,IAEA,IAAIoG,EAAU1K,EAAW,WAAW3iE,SAAS7lC,MAAMhhD,KAAK,iBACxDwpJ,EAAW,WAAW3iE,SAAS7lC,MAAM8sG,WAAW,iBAChDjnE,SAAS7lC,KAAKynE,MAAM8qC,aAAeW,GAAoB,EACzD,EAEAlI,EAAOyH,mBAAqB,WAE1B,IAAIY,EAAYxtE,SAAS56E,cAAc,OACvCooJ,EAAU/pE,UAAY0kE,EACtBnoE,SAAS7lC,KAAKyyF,YAAY4gB,GAC1B,IAAIC,EAAiBD,EAAU/pC,wBAAwBiqC,MAAQF,EAAUG,YAEzE,OADA3tE,SAAS7lC,KAAK+xF,YAAYshB,GACnBC,CACT,EAGAlE,EAAM1D,iBAAmB,SAA0Bv/I,EAAQwjJ,GACzD,OAAO31J,KAAKozJ,MAAK,WACf,IAAIpuJ,EAAOwpJ,EAAW,WAAWxuJ,MAAMgF,KAAK+pJ,GAExCnvF,EAAUkvF,EAAS,CAAC,EAAGkB,EAASxB,EAAW,WAAWxuJ,MAAMgF,OAA0B,kBAAXmN,GAAuBA,EAASA,EAAS,CAAC,GAOzH,GALKnN,IACHA,EAAO,IAAIowJ,EAAMp1J,KAAM4/D,GACvB4uF,EAAW,WAAWxuJ,MAAMgF,KAAK+pJ,EAAU/pJ,IAGvB,kBAAXmN,EAAqB,CAC9B,GAA4B,qBAAjBnN,EAAKmN,GACd,MAAM,IAAIqoF,UAAU,oBAAuBroF,EAAS,KAGtDnN,EAAKmN,GAAQwjJ,EACf,MAAW/1F,EAAQuxF,MACjBnsJ,EAAKmsJ,KAAKwE,EAEd,GACF,EAEAhH,EAAayG,EAAO,KAAM,CAAC,CACzB/vJ,IAAK,UACL4W,IAAK,WACH,OAAO83C,CACT,GACC,CACD1uD,IAAK,UACL4W,IAAK,WACH,OAAO+zI,CACT,KAGKoF,CACT,CAzfyB,GA0iBzB,OA3CA5G,EAAW,WAAW3iE,UAAU0d,GAAGsmD,EAAsBE,GAAsB,SAAU7kI,GACvF,IAEIhb,EAFAupJ,EAAUz5J,KAGVq4I,EAAWoW,EAAc,WAAWiC,uBAAuB1wJ,MAE3Dq4I,IACFnoI,EAAS27E,SAASq1B,cAAcm3B,IAGlC,IAAIlmI,EAASq8I,EAAW,WAAWt+I,GAAQlL,KAAK+pJ,GAAY,SAAWD,EAAS,CAAC,EAAGN,EAAW,WAAWt+I,GAAQlL,OAAQwpJ,EAAW,WAAWxuJ,MAAMgF,QAEjI,MAAjBhF,KAAK6qH,SAAoC,SAAjB7qH,KAAK6qH,SAC/B3/F,EAAMu9H,iBAGR,IAAImL,EAAUpF,EAAW,WAAWt+I,GAAQmiJ,IAAI5C,GAAY,SAAUmG,GAChEA,EAAUnE,sBAKdmC,EAAQvB,IAAIzC,GAAc,WACpBpB,EAAW,WAAWiL,GAASnzB,GAAG,aACpCmzB,EAAQtE,OAEZ,GACF,IAEAC,EAAM1D,iBAAiB3xJ,KAAKyuJ,EAAW,WAAWt+I,GAASiC,EAAQnS,KACrE,IAKAwuJ,EAAW,WAAW90I,GAAGg9E,GAAQ0+D,EAAM1D,iBACvClD,EAAW,WAAW90I,GAAGg9E,GAAMzK,YAAcmpE,EAE7C5G,EAAW,WAAW90I,GAAGg9E,GAAMm9D,WAAa,WAE1C,OADArF,EAAW,WAAW90I,GAAGg9E,GAAQw4D,EAC1BkG,EAAM1D,gBACf,EAEO0D,CAER,G;;;;;;CChpBD,SAAW3pI,EAAQ2rF,GAC8Cg3C,EAAOC,QAAUj3C,EAAQ,EAAQ,OAAW,EAAQ,OAGpH,EAJD,CAIGp3G,GAAM,SAAWi4H,EAAGq2B,GAAQ,aAE7B,SAASC,EAAuBznJ,GAAK,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAI0nJ,EAA0BD,EAAsBt2B,GAChDw2B,EAA6BF,EAAsBD,GAEvD,SAASI,EAAkBx+I,EAAQ0gD,GACjC,IAAK,IAAIlrD,EAAI,EAAGA,EAAIkrD,EAAM/0C,OAAQnW,IAAK,CACrC,IAAI0iG,EAAax3C,EAAMlrD,GACvB0iG,EAAWtO,WAAasO,EAAWtO,aAAc,EACjDsO,EAAW7J,cAAe,EACtB,UAAW6J,IAAYA,EAAWzO,UAAW,GACjD9pE,OAAO45F,eAAev5G,EAAQk4F,EAAW/iG,IAAK+iG,EAChD,CACF,CAEA,SAASumD,EAAa1iE,EAAa2iE,EAAYC,GAM7C,OALID,GAAYF,EAAkBziE,EAAYj/E,UAAW4hJ,GACrDC,GAAaH,EAAkBziE,EAAa4iE,GAChDh/H,OAAO45F,eAAex9B,EAAa,YAAa,CAC9C0N,UAAU,IAEL1N,CACT,CAMA,IAAIyK,EAAO,MACP3iC,EAAU,QACVg7F,EAAW,SACXC,EAAY,IAAMD,EAClBE,EAAe,YACfC,EAAqBV,EAAW,WAAW90I,GAAGg9E,GAC9CgjE,EAA2B,gBAC3BC,EAAoB,SACpBC,EAAsB,WACtBzF,EAAkB,OAClBhF,EAAkB,OAClBQ,EAAa,OAASX,EACtBY,EAAe,SAAWZ,EAC1BS,EAAa,OAAST,EACtBU,EAAc,QAAUV,EACxBa,EAAuB,QAAUb,EAAYC,EAC7C4K,EAAoB,YACpBC,EAA0B,oBAC1BC,EAAkB,UAClBC,EAAqB,iBACrBjK,EAAuB,kEACvBkK,EAA2B,mBAC3BC,EAAiC,2BAKjCC,EAAmB,WACrB,SAASA,EAAI/J,GACXpwJ,KAAKswJ,SAAWF,CAClB,CAGA,IAAIY,EAASmJ,EAAIntJ,UAmKjB,OAhKAgkJ,EAAOG,KAAO,WACZ,IAAIxpJ,EAAQ3H,KAEZ,KAAIA,KAAKswJ,SAAS5sC,YAAc1jH,KAAKswJ,SAAS5sC,WAAWK,WAAamzC,KAAKC,cAAgB3I,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS0I,IAAsBnL,EAAW,WAAWxuJ,KAAKswJ,UAAUW,SAAS2I,IAAwB55J,KAAKswJ,SAAS1sH,aAAa,aAAhQ,CAIA,IAAI1zB,EACAkqJ,EACAC,EAAc7L,EAAW,WAAWxuJ,KAAKswJ,UAAUgK,QAAQR,GAAyB,GACpFzhB,EAAWoW,EAAc,WAAWiC,uBAAuB1wJ,KAAKswJ,UAEpE,GAAI+J,EAAa,CACf,IAAIE,EAAwC,OAAzBF,EAAYG,UAA8C,OAAzBH,EAAYG,SAAoBR,EAAqBD,EACzGK,EAAW5L,EAAW,WAAWiM,UAAUjM,EAAW,WAAW6L,GAAa5pD,KAAK8pD,IACnFH,EAAWA,EAASA,EAASv+I,OAAS,EACxC,CAEA,IAAIu6I,EAAY5H,EAAW,WAAWrmJ,MAAMwnJ,EAAY,CACtDgG,cAAe31J,KAAKswJ,WAElBsF,EAAYpH,EAAW,WAAWrmJ,MAAMsnJ,EAAY,CACtDkG,cAAeyE,IASjB,GANIA,GACF5L,EAAW,WAAW4L,GAAUxuD,QAAQwqD,GAG1C5H,EAAW,WAAWxuJ,KAAKswJ,UAAU1kD,QAAQgqD,IAEzCA,EAAUnE,uBAAwB2E,EAAU3E,qBAAhD,CAIIpZ,IACFnoI,EAAS27E,SAASq1B,cAAcm3B,IAGlCr4I,KAAK06J,UAAU16J,KAAKswJ,SAAU+J,GAE9B,IAAIpI,EAAW,WACb,IAAI0I,EAAcnM,EAAW,WAAWrmJ,MAAMynJ,EAAc,CAC1D+F,cAAehuJ,EAAM2oJ,WAEnBgH,EAAa9I,EAAW,WAAWrmJ,MAAMunJ,EAAa,CACxDiG,cAAeyE,IAEjB5L,EAAW,WAAW4L,GAAUxuD,QAAQ+uD,GACxCnM,EAAW,WAAW7mJ,EAAM2oJ,UAAU1kD,QAAQ0rD,EAChD,EAEIpnJ,EACFlQ,KAAK06J,UAAUxqJ,EAAQA,EAAOwzG,WAAYuuC,GAE1CA,GAtBF,CA5BA,CAoDF,EAEAjB,EAAO6B,QAAU,WACfrE,EAAW,WAAWsE,WAAW9yJ,KAAKswJ,SAAUvB,GAChD/uJ,KAAKswJ,SAAW,IAClB,EAGAU,EAAO0J,UAAY,SAAmBtK,EAASp5E,EAAWr4D,GACxD,IAAI6zI,EAASxyJ,KAET46J,GAAiB5jF,GAAqC,OAAvBA,EAAUwjF,UAA4C,OAAvBxjF,EAAUwjF,SAAiFhM,EAAW,WAAWx3E,GAAWp8C,SAASm/H,GAAtGvL,EAAW,WAAWx3E,GAAWy5B,KAAKupD,GACnItvD,EAASkwD,EAAe,GACxBhI,EAAkBj0I,GAAY+rF,GAAU8jD,EAAW,WAAW9jD,GAAQumD,SAASkD,GAE/ElC,EAAW,WACb,OAAOO,EAAOqI,oBAAoBzK,EAAS1lD,EAAQ/rF,EACrD,EAEA,GAAI+rF,GAAUkoD,EAAiB,CAC7B,IAAIvN,EAAqBoJ,EAAc,WAAW2D,iCAAiC1nD,GACnF8jD,EAAW,WAAW9jD,GAAQmnD,YAAY1C,GAAiBkD,IAAI5D,EAAc,WAAW6D,eAAgBL,GAAUM,qBAAqBlN,EACzI,MACE4M,GAEJ,EAEAjB,EAAO6J,oBAAsB,SAA6BzK,EAAS1lD,EAAQ/rF,GACzE,GAAI+rF,EAAQ,CACV8jD,EAAW,WAAW9jD,GAAQmnD,YAAY8H,GAC1C,IAAImB,EAAgBtM,EAAW,WAAW9jD,EAAOgZ,YAAYjT,KAAKypD,GAAgC,GAE9FY,GACFtM,EAAW,WAAWsM,GAAejJ,YAAY8H,GAGf,QAAhCjvD,EAAOqkB,aAAa,SACtBrkB,EAAOwZ,aAAa,iBAAiB,EAEzC,CAEAsqC,EAAW,WAAW4B,GAAS0B,SAAS6H,GAEH,QAAjCvJ,EAAQrhC,aAAa,SACvBqhC,EAAQlsC,aAAa,iBAAiB,GAGxCuqC,EAAc,WAAWgE,OAAOrC,GAE5BA,EAAQpV,UAAUsW,SAAS6C,IAC7B/D,EAAQpV,UAAUx9H,IAAI2xI,GAGxB,IAAI3kD,EAAS4lD,EAAQ1sC,WAMrB,GAJIlZ,GAA8B,OAApBA,EAAOgwD,WACnBhwD,EAASA,EAAOkZ,YAGdlZ,GAAUgkD,EAAW,WAAWhkD,GAAQymD,SAASyI,GAA2B,CAC9E,IAAIqB,EAAkBvM,EAAW,WAAW4B,GAASkK,QAAQT,GAAmB,GAEhF,GAAIkB,EAAiB,CACnB,IAAIC,EAAqB,GAAGtnH,MAAM3zC,KAAKg7J,EAAgBtd,iBAAiBwc,IACxEzL,EAAW,WAAWwM,GAAoBlJ,SAAS6H,EACrD,CAEAvJ,EAAQlsC,aAAa,iBAAiB,EACxC,CAEIvlG,GACFA,GAEJ,EAGAw7I,EAAIzI,iBAAmB,SAA0Bv/I,GAC/C,OAAOnS,KAAKozJ,MAAK,WACf,IAAI6H,EAAQzM,EAAW,WAAWxuJ,MAC9BgF,EAAOi2J,EAAMj2J,KAAK+pJ,GAOtB,GALK/pJ,IACHA,EAAO,IAAIm1J,EAAIn6J,MACfi7J,EAAMj2J,KAAK+pJ,EAAU/pJ,IAGD,kBAAXmN,EAAqB,CAC9B,GAA4B,qBAAjBnN,EAAKmN,GACd,MAAM,IAAIqoF,UAAU,oBAAuBroF,EAAS,KAGtDnN,EAAKmN,IACP,CACF,GACF,EAEAw8I,EAAawL,EAAK,KAAM,CAAC,CACvB90J,IAAK,UACL4W,IAAK,WACH,OAAO83C,CACT,KAGKomG,CACT,CA1KuB,GAiMvB,OAjBA3L,EAAW,WAAW3iE,UAAU0d,GAAGsmD,EAAsBE,GAAsB,SAAU7kI,GACvFA,EAAMu9H,iBAEN0R,EAAIzI,iBAAiB3xJ,KAAKyuJ,EAAW,WAAWxuJ,MAAO,OACzD,IAKAwuJ,EAAW,WAAW90I,GAAGg9E,GAAQyjE,EAAIzI,iBACrClD,EAAW,WAAW90I,GAAGg9E,GAAMzK,YAAckuE,EAE7C3L,EAAW,WAAW90I,GAAGg9E,GAAMm9D,WAAa,WAE1C,OADArF,EAAW,WAAW90I,GAAGg9E,GAAQw4D,EAC1BiL,EAAIzI,gBACb,EAEOyI,CAER,G;;;;;;CChQD,SAAW1uI,EAAQ2rF,GAC8Cg3C,EAAOC,QAAUj3C,EAAQ,EAAQ,OAAW,EAAQ,OAAc,EAAQ,OAG1I,EAJD,CAIGp3G,GAAM,SAAWi4H,EAAGijC,EAAQ5M,GAAQ,aAErC,SAASC,EAAuBznJ,GAAK,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAI0nJ,EAA0BD,EAAsBt2B,GAChDkjC,EAA+B5M,EAAsB2M,GACrDzM,EAA6BF,EAAsBD,GAEvD,SAASI,EAAkBx+I,EAAQ0gD,GACjC,IAAK,IAAIlrD,EAAI,EAAGA,EAAIkrD,EAAM/0C,OAAQnW,IAAK,CACrC,IAAI0iG,EAAax3C,EAAMlrD,GACvB0iG,EAAWtO,WAAasO,EAAWtO,aAAc,EACjDsO,EAAW7J,cAAe,EACtB,UAAW6J,IAAYA,EAAWzO,UAAW,GACjD9pE,OAAO45F,eAAev5G,EAAQk4F,EAAW/iG,IAAK+iG,EAChD,CACF,CAEA,SAASumD,EAAa1iE,EAAa2iE,EAAYC,GAM7C,OALID,GAAYF,EAAkBziE,EAAYj/E,UAAW4hJ,GACrDC,GAAaH,EAAkBziE,EAAa4iE,GAChDh/H,OAAO45F,eAAex9B,EAAa,YAAa,CAC9C0N,UAAU,IAEL1N,CACT,CAEA,SAAS6iE,IAcP,OAbAA,EAAWj/H,OAAOq5E,OAASr5E,OAAOq5E,OAAOrqF,OAAS,SAAU3O,GAC1D,IAAK,IAAIxK,EAAI,EAAGA,EAAIkW,UAAUC,OAAQnW,IAAK,CACzC,IAAI6Z,EAAS3D,UAAUlW,GAEvB,IAAK,IAAIL,KAAOka,EACVsQ,OAAO7iB,UAAU4rF,eAAe74F,KAAKwf,EAAQla,KAC/C6K,EAAO7K,GAAOka,EAAOla,GAG3B,CAEA,OAAO6K,CACT,EACO4+I,EAASjiF,MAAM7sE,KAAM4b,UAC9B,CAQA,IAAIw/I,EAAW,CAAC,aAAc,OAAQ,OAAQ,WAAY,WAAY,SAAU,MAAO,cACnFC,EAAyB,iBACzBC,EAAmB,CAErB,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAAQD,GAC5C/pJ,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BiqJ,KAAM,GACN9yH,EAAG,GACH+yH,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJliB,GAAI,GACJmiB,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJx2J,EAAG,GACHy2J,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDC,GAAI,GACJC,GAAI,GACJh0H,EAAG,GACHi0H,IAAK,GACL70J,EAAG,GACH80J,MAAO,GACPC,KAAM,GACN1vD,IAAK,GACL2vD,IAAK,GACLC,OAAQ,GACRv0B,EAAG,GACHw0B,GAAI,IAQFC,EAAmB,iEAOnBC,EAAmB,qIAEvB,SAASC,EAAiB/K,EAAMgL,GAC9B,IAAI5d,EAAW4S,EAAKyI,SAASznJ,cAE7B,IAAgD,IAA5CgqJ,EAAqBhoI,QAAQoqH,GAC/B,OAAoC,IAAhCic,EAASrmI,QAAQoqH,IACZ91H,QAAQuzI,EAAiB1xJ,KAAK6mJ,EAAK3Z,YAAcykB,EAAiB3xJ,KAAK6mJ,EAAK3Z,YAUvF,IAJA,IAAI4kB,EAASD,EAAqB3+F,QAAO,SAAU6+F,GACjD,OAAOA,aAAqBnqJ,MAC9B,IAESpN,EAAI,EAAGk9B,EAAMo6H,EAAOnhJ,OAAQnW,EAAIk9B,EAAKl9B,IAC5C,GAAIs3J,EAAOt3J,GAAGwF,KAAKi0I,GACjB,OAAO,EAIX,OAAO,CACT,CAEA,SAAS+d,EAAaC,EAAYC,EAAWC,GAC3C,GAA0B,IAAtBF,EAAWthJ,OACb,OAAOshJ,EAGT,GAAIE,GAAoC,oBAAfA,EACvB,OAAOA,EAAWF,GA2BpB,IAxBA,IAAIG,EAAY,IAAIt/G,OAAOu/G,UACvBC,EAAkBF,EAAUG,gBAAgBN,EAAY,aACxDO,EAAgB7tI,OAAO8lC,KAAKynG,GAC5BjE,EAAW,GAAGzlH,MAAM3zC,KAAKy9J,EAAgBx3G,KAAKy3F,iBAAiB,MAE/DkgB,EAAQ,SAAej4J,EAAGk9B,GAC5B,IAAIw8E,EAAK+5C,EAASzzJ,GACdk4J,EAASx+C,EAAGo7C,SAASznJ,cAEzB,IAA0D,IAAtD2qJ,EAAc3oI,QAAQqqF,EAAGo7C,SAASznJ,eAEpC,OADAqsG,EAAGsE,WAAWq0B,YAAY34B,GACnB,WAGT,IAAIy+C,EAAgB,GAAGnqH,MAAM3zC,KAAKq/G,EAAG0jC,YAEjCgb,EAAwB,GAAGttJ,OAAO4sJ,EAAU,MAAQ,GAAIA,EAAUQ,IAAW,IACjFC,EAAcpjF,SAAQ,SAAUs3E,GACzB+K,EAAiB/K,EAAM+L,IAC1B1+C,EAAGy9B,gBAAgBkV,EAAKyI,SAE5B,GACF,EAES90J,EAAI,EAAGk9B,EAAMu2H,EAASt9I,OAAQnW,EAAIk9B,EAAKl9B,IACnCi4J,EAAMj4J,GAKnB,OAAO83J,EAAgBx3G,KAAKknE,SAC9B,CAMA,IAAIx2B,EAAO,UACP3iC,EAAU,QACVg7F,EAAW,aACXC,EAAY,IAAMD,EAClBG,EAAqBV,EAAW,WAAW90I,GAAGg9E,GAC9CqnE,EAAe,aACfC,EAAqB,IAAIlrJ,OAAO,UAAYirJ,EAAe,OAAQ,KACnEE,EAAwB,CAAC,WAAY,YAAa,cAClD9J,EAAkB,OAClBhF,EAAkB,OAClB+O,EAAmB,OACnBC,EAAkB,MAClBC,EAAyB,iBACzBC,EAAiB,SACjBC,EAAgB,QAChBC,EAAgB,QAChBC,EAAgB,QAChBC,EAAiB,SACjBC,EAAgB,CAClBC,KAAM,OACNC,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,KAAM,QAEJ/O,EAAU,CACZgP,WAAW,EACXjpB,SAAU,uGACVnqC,QAAS,cACT73D,MAAO,GACPk9E,MAAO,EACPguC,MAAM,EACN5mB,UAAU,EACV6mB,UAAW,MACXC,OAAQ,EACRnoF,WAAW,EACXooF,kBAAmB,OACnBC,SAAU,eACVC,YAAa,GACbC,UAAU,EACVlC,WAAY,KACZD,UAAW9B,EACXkE,aAAc,MAEZtP,EAAc,CAChB8O,UAAW,UACXjpB,SAAU,SACVhiG,MAAO,4BACP63D,QAAS,SACTqlB,MAAO,kBACPguC,KAAM,UACN5mB,SAAU,mBACV6mB,UAAW,oBACXC,OAAQ,2BACRnoF,UAAW,2BACXooF,kBAAmB,iBACnBC,SAAU,mBACVC,YAAa,oBACbC,SAAU,UACVlC,WAAY,kBACZD,UAAW,SACXoC,aAAc,iBAEZr3J,EAAQ,CACVs3J,KAAM,OAASzQ,EACf0Q,OAAQ,SAAW1Q,EACnB2Q,KAAM,OAAS3Q,EACf4Q,MAAO,QAAU5Q,EACjB6Q,SAAU,WAAa7Q,EACvB8Q,MAAO,QAAU9Q,EACjB+Q,QAAS,UAAY/Q,EACrBgR,SAAU,WAAahR,EACvBiR,WAAY,aAAejR,EAC3BkR,WAAY,aAAelR,GAMzBmR,EAAuB,WACzB,SAASA,EAAQ/P,EAASj+I,GACxB,GAA0C,qBAA/BgpJ,EAAgB,WACzB,MAAM,IAAI3gE,UAAU,+DAItBx6F,KAAKogK,YAAa,EAClBpgK,KAAKqgK,SAAW,EAChBrgK,KAAKsgK,YAAc,GACnBtgK,KAAKugK,eAAiB,CAAC,EACvBvgK,KAAKwgK,QAAU,KAEfxgK,KAAKowJ,QAAUA,EACfpwJ,KAAKmS,OAASnS,KAAKi8B,WAAW9pB,GAC9BnS,KAAKygK,IAAM,KAEXzgK,KAAK0gK,eACP,CAGA,IAAI1P,EAASmP,EAAQnzJ,UA+kBrB,OA5kBAgkJ,EAAO2P,OAAS,WACd3gK,KAAKogK,YAAa,CACpB,EAEApP,EAAO4P,QAAU,WACf5gK,KAAKogK,YAAa,CACpB,EAEApP,EAAO6P,cAAgB,WACrB7gK,KAAKogK,YAAcpgK,KAAKogK,UAC1B,EAEApP,EAAOf,OAAS,SAAgB/kI,GAC9B,GAAKlrB,KAAKogK,WAIV,GAAIl1I,EAAO,CACT,IAAI41I,EAAU9gK,KAAKmM,YAAY4iJ,SAC3BrzH,EAAU8yH,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,GAEzDplI,IACHA,EAAU,IAAI17B,KAAKmM,YAAY+e,EAAMw9H,cAAe1oJ,KAAK+gK,sBACzDvS,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,EAASplI,IAG3DA,EAAQ6kI,eAAeS,OAAStlI,EAAQ6kI,eAAeS,MAEnDtlI,EAAQulI,uBACVvlI,EAAQwlI,OAAO,KAAMxlI,GAErBA,EAAQylI,OAAO,KAAMzlI,EAEzB,KAAO,CACL,GAAI8yH,EAAW,WAAWxuJ,KAAKohK,iBAAiBnQ,SAAS9B,GAGvD,YAFAnvJ,KAAKmhK,OAAO,KAAMnhK,MAKpBA,KAAKkhK,OAAO,KAAMlhK,KACpB,CACF,EAEAgxJ,EAAO6B,QAAU,WACfxrD,aAAarnG,KAAKqgK,UAClB7R,EAAW,WAAWsE,WAAW9yJ,KAAKowJ,QAASpwJ,KAAKmM,YAAY4iJ,UAChEP,EAAW,WAAWxuJ,KAAKowJ,SAASxlD,IAAI5qG,KAAKmM,YAAY6iJ,WACzDR,EAAW,WAAWxuJ,KAAKowJ,SAASkK,QAAQ,UAAU1vD,IAAI,gBAAiB5qG,KAAKqhK,mBAE5ErhK,KAAKygK,KACPjS,EAAW,WAAWxuJ,KAAKygK,KAAKp+H,SAGlCriC,KAAKogK,WAAa,KAClBpgK,KAAKqgK,SAAW,KAChBrgK,KAAKsgK,YAAc,KACnBtgK,KAAKugK,eAAiB,KAElBvgK,KAAKwgK,SACPxgK,KAAKwgK,QAAQc,UAGfthK,KAAKwgK,QAAU,KACfxgK,KAAKowJ,QAAU,KACfpwJ,KAAKmS,OAAS,KACdnS,KAAKygK,IAAM,IACb,EAEAzP,EAAOG,KAAO,WACZ,IAAIxpJ,EAAQ3H,KAEZ,GAA2D,SAAvDwuJ,EAAW,WAAWxuJ,KAAKowJ,SAAStX,IAAI,WAC1C,MAAM,IAAIx+C,MAAM,uCAGlB,IAAIs7D,EAAYpH,EAAW,WAAWrmJ,MAAMnI,KAAKmM,YAAYhE,MAAMw3J,MAEnE,GAAI3/J,KAAKuhK,iBAAmBvhK,KAAKogK,WAAY,CAC3C5R,EAAW,WAAWxuJ,KAAKowJ,SAASxkD,QAAQgqD,GAC5C,IAAI3T,EAAawM,EAAc,WAAW+S,eAAexhK,KAAKowJ,SAC1DqR,EAAajT,EAAW,WAAW8C,SAAwB,OAAfrP,EAAsBA,EAAajiJ,KAAKowJ,QAAQsR,cAAc9K,gBAAiB52J,KAAKowJ,SAEpI,GAAIwF,EAAUnE,uBAAyBgQ,EACrC,OAGF,IAAIhB,EAAMzgK,KAAKohK,gBACXO,EAAQlT,EAAc,WAAWmT,OAAO5hK,KAAKmM,YAAYuqF,MAC7D+pE,EAAIv8C,aAAa,KAAMy9C,GACvB3hK,KAAKowJ,QAAQlsC,aAAa,mBAAoBy9C,GAC9C3hK,KAAK6hK,aAED7hK,KAAKmS,OAAO6sJ,WACdxQ,EAAW,WAAWiS,GAAK3O,SAASqC,GAGtC,IAAI+K,EAA6C,oBAA1Bl/J,KAAKmS,OAAO+sJ,UAA2Bl/J,KAAKmS,OAAO+sJ,UAAUn/J,KAAKC,KAAMygK,EAAKzgK,KAAKowJ,SAAWpwJ,KAAKmS,OAAO+sJ,UAE5H4C,EAAa9hK,KAAK+hK,eAAe7C,GAErCl/J,KAAKgiK,mBAAmBF,GAExB,IAAI9qF,EAAYh3E,KAAKiiK,gBAErBzT,EAAW,WAAWiS,GAAKz7J,KAAKhF,KAAKmM,YAAY4iJ,SAAU/uJ,MAEtDwuJ,EAAW,WAAW8C,SAAStxJ,KAAKowJ,QAAQsR,cAAc9K,gBAAiB52J,KAAKygK,MACnFjS,EAAW,WAAWiS,GAAKvI,SAASlhF,GAGtCw3E,EAAW,WAAWxuJ,KAAKowJ,SAASxkD,QAAQ5rG,KAAKmM,YAAYhE,MAAM03J,UACnE7/J,KAAKwgK,QAAU,IAAIrF,EAAgB,WAAWn7J,KAAKowJ,QAASqQ,EAAKzgK,KAAKkiK,iBAAiBJ,IACvFtT,EAAW,WAAWiS,GAAK3O,SAAS3C,GACpCX,EAAW,WAAWiS,GAAK3O,SAAS9xJ,KAAKmS,OAAOmtJ,aAK5C,iBAAkBzzE,SAAS+qE,iBAC7BpI,EAAW,WAAW3iE,SAAS7lC,MAAMprB,WAAW2uE,GAAG,YAAa,KAAMilD,EAAW,WAAW2T,MAG9F,IAAIlQ,EAAW,WACTtqJ,EAAMwK,OAAO6sJ,WACfr3J,EAAMy6J,iBAGR,IAAIC,EAAiB16J,EAAM24J,YAC3B34J,EAAM24J,YAAc,KACpB9R,EAAW,WAAW7mJ,EAAMyoJ,SAASxkD,QAAQjkG,EAAMwE,YAAYhE,MAAMy3J,OAEjEyC,IAAmBlE,GACrBx2J,EAAMw5J,OAAO,KAAMx5J,EAEvB,EAEA,GAAI6mJ,EAAW,WAAWxuJ,KAAKygK,KAAKxP,SAASkD,GAAkB,CAC7D,IAAI9O,EAAqBoJ,EAAc,WAAW2D,iCAAiCpyJ,KAAKygK,KACxFjS,EAAW,WAAWxuJ,KAAKygK,KAAKpO,IAAI5D,EAAc,WAAW6D,eAAgBL,GAAUM,qBAAqBlN,EAC9G,MACE4M,GAEJ,CACF,EAEAjB,EAAOE,KAAO,SAAcvyI,GAC1B,IAAI6zI,EAASxyJ,KAETygK,EAAMzgK,KAAKohK,gBACXhL,EAAY5H,EAAW,WAAWrmJ,MAAMnI,KAAKmM,YAAYhE,MAAMs3J,MAE/DxN,EAAW,WACTO,EAAO8N,cAAgBpC,GAAoBuC,EAAI/8C,YACjD+8C,EAAI/8C,WAAWq0B,YAAY0oB,GAG7BjO,EAAO8P,iBAEP9P,EAAOpC,QAAQvT,gBAAgB,oBAE/B2R,EAAW,WAAWgE,EAAOpC,SAASxkD,QAAQ4mD,EAAOrmJ,YAAYhE,MAAMu3J,QAEhD,OAAnBlN,EAAOgO,SACThO,EAAOgO,QAAQc,UAGb3iJ,GACFA,GAEJ,EAIA,GAFA6vI,EAAW,WAAWxuJ,KAAKowJ,SAASxkD,QAAQwqD,IAExCA,EAAU3E,qBAAd,CAeA,GAXAjD,EAAW,WAAWiS,GAAK5O,YAAY1C,GAGnC,iBAAkBtjE,SAAS+qE,iBAC7BpI,EAAW,WAAW3iE,SAAS7lC,MAAMprB,WAAWgwE,IAAI,YAAa,KAAM4jD,EAAW,WAAW2T,MAG/FniK,KAAKugK,eAAe/B,IAAiB,EACrCx+J,KAAKugK,eAAehC,IAAiB,EACrCv+J,KAAKugK,eAAejC,IAAiB,EAEjC9P,EAAW,WAAWxuJ,KAAKygK,KAAKxP,SAASkD,GAAkB,CAC7D,IAAI9O,EAAqBoJ,EAAc,WAAW2D,iCAAiCqO,GACnFjS,EAAW,WAAWiS,GAAKpO,IAAI5D,EAAc,WAAW6D,eAAgBL,GAAUM,qBAAqBlN,EACzG,MACE4M,IAGFjyJ,KAAKsgK,YAAc,EApBnB,CAqBF,EAEAtP,EAAOtyH,OAAS,WACO,OAAjB1+B,KAAKwgK,SACPxgK,KAAKwgK,QAAQ+B,gBAEjB,EAGAvR,EAAOuQ,cAAgB,WACrB,OAAOl4I,QAAQrpB,KAAKwiK,WACtB,EAEAxR,EAAOgR,mBAAqB,SAA4BF,GACtDtT,EAAW,WAAWxuJ,KAAKohK,iBAAiBtP,SAASiM,EAAe,IAAM+D,EAC5E,EAEA9Q,EAAOoQ,cAAgB,WAErB,OADAphK,KAAKygK,IAAMzgK,KAAKygK,KAAOjS,EAAW,WAAWxuJ,KAAKmS,OAAO4jI,UAAU,GAC5D/1I,KAAKygK,GACd,EAEAzP,EAAO6Q,WAAa,WAClB,IAAIpB,EAAMzgK,KAAKohK,gBACfphK,KAAKyiK,kBAAkBjU,EAAW,WAAWiS,EAAIhjB,iBAAiB2gB,IAA0Bp+J,KAAKwiK,YACjGhU,EAAW,WAAWiS,GAAK5O,YAAYsC,EAAkB,IAAMhF,EACjE,EAEA6B,EAAOyR,kBAAoB,SAA2BhP,EAAUvnC,GACvC,kBAAZA,IAAyBA,EAAQnI,WAAYmI,EAAQinC,OAa5DnzJ,KAAKmS,OAAO8sJ,MACVj/J,KAAKmS,OAAOotJ,WACdrzC,EAAUgxC,EAAahxC,EAASlsH,KAAKmS,OAAOirJ,UAAWp9J,KAAKmS,OAAOkrJ,aAGrE5J,EAASwL,KAAK/yC,IAEdunC,EAASvuI,KAAKgnG,GAlBVlsH,KAAKmS,OAAO8sJ,KACTzQ,EAAW,WAAWtiC,GAAS1hB,SAAS87B,GAAGmtB,IAC9CA,EAASiP,QAAQ33G,OAAOmhE,GAG1BunC,EAASvuI,KAAKspI,EAAW,WAAWtiC,GAAShnG,OAenD,EAEA8rI,EAAOwR,SAAW,WAChB,IAAIzuH,EAAQ/zC,KAAKowJ,QAAQrhC,aAAa,uBAMtC,OAJKh7E,IACHA,EAAqC,oBAAtB/zC,KAAKmS,OAAO4hC,MAAuB/zC,KAAKmS,OAAO4hC,MAAMh0C,KAAKC,KAAKowJ,SAAWpwJ,KAAKmS,OAAO4hC,OAGhGA,CACT,EAGAi9G,EAAOkR,iBAAmB,SAA0BJ,GAClD,IAAI7O,EAASjzJ,KAET2iK,EAAkB,CACpBzD,UAAW4C,EACXjjD,UAAW,CACTsgD,OAAQn/J,KAAK4iK,aACbC,KAAM,CACJC,SAAU9iK,KAAKmS,OAAOitJ,mBAExB2D,MAAO,CACL3S,QAASiO,GAEX2E,gBAAiB,CACfC,kBAAmBjjK,KAAKmS,OAAOktJ,WAGnC6D,SAAU,SAAkBl+J,GACtBA,EAAKm+J,oBAAsBn+J,EAAKk6J,WAClCjM,EAAOmQ,6BAA6Bp+J,EAExC,EACAq+J,SAAU,SAAkBr+J,GAC1B,OAAOiuJ,EAAOmQ,6BAA6Bp+J,EAC7C,GAEF,OAAO8pJ,EAAS,CAAC,EAAG6T,EAAiB3iK,KAAKmS,OAAOqtJ,aACnD,EAEAxO,EAAO4R,WAAa,WAClB,IAAI5L,EAASh3J,KAETm/J,EAAS,CAAC,EAWd,MATkC,oBAAvBn/J,KAAKmS,OAAOgtJ,OACrBA,EAAOzlJ,GAAK,SAAU1U,GAEpB,OADAA,EAAKs+J,QAAUxU,EAAS,CAAC,EAAG9pJ,EAAKs+J,QAAStM,EAAO7kJ,OAAOgtJ,OAAOn6J,EAAKs+J,QAAStM,EAAO5G,UAC7EprJ,CACT,EAEAm6J,EAAOA,OAASn/J,KAAKmS,OAAOgtJ,OAGvBA,CACT,EAEAnO,EAAOiR,cAAgB,WACrB,OAA8B,IAA1BjiK,KAAKmS,OAAO6kE,UACP6U,SAAS7lC,KAGdyoG,EAAc,WAAWyE,UAAUlzJ,KAAKmS,OAAO6kE,WAC1Cw3E,EAAW,WAAWxuJ,KAAKmS,OAAO6kE,WAGpCw3E,EAAW,WAAW3iE,UAAU4kB,KAAKzwG,KAAKmS,OAAO6kE,UAC1D,EAEAg6E,EAAO+Q,eAAiB,SAAwB7C,GAC9C,OAAOR,EAAcQ,EAAU1tJ,cACjC,EAEAw/I,EAAO0P,cAAgB,WACrB,IAAIlJ,EAASx3J,KAETujK,EAAWvjK,KAAKmS,OAAOy5F,QAAQzvB,MAAM,KACzConF,EAAS9oF,SAAQ,SAAUmxB,GACzB,GAAgB,UAAZA,EACF4iD,EAAW,WAAWgJ,EAAOpH,SAAS7mD,GAAGiuD,EAAOrrJ,YAAYhE,MAAM23J,MAAOtI,EAAOrlJ,OAAOkmI,UAAU,SAAUntH,GACzG,OAAOssI,EAAOvH,OAAO/kI,EACvB,SACK,GAAI0gF,IAAY6yD,EAAgB,CACrC,IAAI+E,EAAU53D,IAAY0yD,EAAgB9G,EAAOrrJ,YAAYhE,MAAM83J,WAAazI,EAAOrrJ,YAAYhE,MAAM43J,QACrG0D,EAAW73D,IAAY0yD,EAAgB9G,EAAOrrJ,YAAYhE,MAAM+3J,WAAa1I,EAAOrrJ,YAAYhE,MAAM63J,SAC1GxR,EAAW,WAAWgJ,EAAOpH,SAAS7mD,GAAGi6D,EAAShM,EAAOrlJ,OAAOkmI,UAAU,SAAUntH,GAClF,OAAOssI,EAAO0J,OAAOh2I,EACvB,IAAGq+E,GAAGk6D,EAAUjM,EAAOrlJ,OAAOkmI,UAAU,SAAUntH,GAChD,OAAOssI,EAAO2J,OAAOj2I,EACvB,GACF,CACF,IAEAlrB,KAAKqhK,kBAAoB,WACnB7J,EAAOpH,SACToH,EAAOtG,MAEX,EAEA1C,EAAW,WAAWxuJ,KAAKowJ,SAASkK,QAAQ,UAAU/wD,GAAG,gBAAiBvpG,KAAKqhK,mBAE3ErhK,KAAKmS,OAAOkmI,SACdr4I,KAAKmS,OAAS28I,EAAS,CAAC,EAAG9uJ,KAAKmS,OAAQ,CACtCy5F,QAAS,SACTysC,SAAU,KAGZr4I,KAAK0jK,WAET,EAEA1S,EAAO0S,UAAY,WACjB,IAAIC,SAAmB3jK,KAAKowJ,QAAQrhC,aAAa,wBAE7C/uH,KAAKowJ,QAAQrhC,aAAa,UAA0B,WAAd40C,KACxC3jK,KAAKowJ,QAAQlsC,aAAa,sBAAuBlkH,KAAKowJ,QAAQrhC,aAAa,UAAY,IACvF/uH,KAAKowJ,QAAQlsC,aAAa,QAAS,IAEvC,EAEA8sC,EAAOkQ,OAAS,SAAgBh2I,EAAOwQ,GACrC,IAAIolI,EAAU9gK,KAAKmM,YAAY4iJ,SAC/BrzH,EAAUA,GAAW8yH,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,GAEhEplI,IACHA,EAAU,IAAI17B,KAAKmM,YAAY+e,EAAMw9H,cAAe1oJ,KAAK+gK,sBACzDvS,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,EAASplI,IAGvDxQ,IACFwQ,EAAQ6kI,eAA8B,YAAfr1I,EAAM/a,KAAqBouJ,EAAgBD,IAAiB,GAGjF9P,EAAW,WAAW9yH,EAAQ0lI,iBAAiBnQ,SAAS9B,IAAoBzzH,EAAQ4kI,cAAgBpC,EACtGxiI,EAAQ4kI,YAAcpC,GAIxB72D,aAAa3rE,EAAQ2kI,UACrB3kI,EAAQ4kI,YAAcpC,EAEjBxiI,EAAQvpB,OAAO8+G,OAAUv1F,EAAQvpB,OAAO8+G,MAAMkgC,KAKnDz1H,EAAQ2kI,SAAWl5D,YAAW,WACxBzrE,EAAQ4kI,cAAgBpC,GAC1BxiI,EAAQy1H,MAEZ,GAAGz1H,EAAQvpB,OAAO8+G,MAAMkgC,MARtBz1H,EAAQy1H,OASZ,EAEAH,EAAOmQ,OAAS,SAAgBj2I,EAAOwQ,GACrC,IAAIolI,EAAU9gK,KAAKmM,YAAY4iJ,SAC/BrzH,EAAUA,GAAW8yH,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,GAEhEplI,IACHA,EAAU,IAAI17B,KAAKmM,YAAY+e,EAAMw9H,cAAe1oJ,KAAK+gK,sBACzDvS,EAAW,WAAWtjI,EAAMw9H,eAAe1jJ,KAAK87J,EAASplI,IAGvDxQ,IACFwQ,EAAQ6kI,eAA8B,aAAfr1I,EAAM/a,KAAsBouJ,EAAgBD,IAAiB,GAGlF5iI,EAAQulI,yBAIZ55D,aAAa3rE,EAAQ2kI,UACrB3kI,EAAQ4kI,YAAcnC,EAEjBziI,EAAQvpB,OAAO8+G,OAAUv1F,EAAQvpB,OAAO8+G,MAAMigC,KAKnDx1H,EAAQ2kI,SAAWl5D,YAAW,WACxBzrE,EAAQ4kI,cAAgBnC,GAC1BziI,EAAQw1H,MAEZ,GAAGx1H,EAAQvpB,OAAO8+G,MAAMigC,MARtBx1H,EAAQw1H,OASZ,EAEAF,EAAOiQ,qBAAuB,WAC5B,IAAK,IAAIr1D,KAAW5rG,KAAKugK,eACvB,GAAIvgK,KAAKugK,eAAe30D,GACtB,OAAO,EAIX,OAAO,CACT,EAEAolD,EAAO/0H,WAAa,SAAoB9pB,GACtC,IAAIyxJ,EAAiBpV,EAAW,WAAWxuJ,KAAKowJ,SAASprJ,OA6BzD,OA5BA6qB,OAAO8lC,KAAKiuG,GAAgBnpF,SAAQ,SAAUopF,IACK,IAA7C5F,EAAsBlpI,QAAQ8uI,WACzBD,EAAeC,EAE1B,IACA1xJ,EAAS28I,EAAS,CAAC,EAAG9uJ,KAAKmM,YAAY6jJ,QAAS4T,EAAkC,kBAAXzxJ,GAAuBA,EAASA,EAAS,CAAC,GAErF,kBAAjBA,EAAO8+G,QAChB9+G,EAAO8+G,MAAQ,CACbkgC,KAAMh/I,EAAO8+G,MACbigC,KAAM/+I,EAAO8+G,QAIW,kBAAjB9+G,EAAO4hC,QAChB5hC,EAAO4hC,MAAQ5hC,EAAO4hC,MAAMxlC,YAGA,kBAAnB4D,EAAO+5G,UAChB/5G,EAAO+5G,QAAU/5G,EAAO+5G,QAAQ39G,YAGlCkgJ,EAAc,WAAWsE,gBAAgBr8D,EAAMvkF,EAAQnS,KAAKmM,YAAY+jJ,aAEpE/9I,EAAOotJ,WACTptJ,EAAO4jI,SAAWmnB,EAAa/qJ,EAAO4jI,SAAU5jI,EAAOirJ,UAAWjrJ,EAAOkrJ,aAGpElrJ,CACT,EAEA6+I,EAAO+P,mBAAqB,WAC1B,IAAI5uJ,EAAS,CAAC,EAEd,GAAInS,KAAKmS,OACP,IAAK,IAAI9M,KAAOrF,KAAKmS,OACfnS,KAAKmM,YAAY6jJ,QAAQ3qJ,KAASrF,KAAKmS,OAAO9M,KAChD8M,EAAO9M,GAAOrF,KAAKmS,OAAO9M,IAKhC,OAAO8M,CACT,EAEA6+I,EAAOsR,eAAiB,WACtB,IAAIwB,EAAOtV,EAAW,WAAWxuJ,KAAKohK,iBAClC2C,EAAWD,EAAK/R,KAAK,SAAS5jJ,MAAM6vJ,GAEvB,OAAb+F,GAAqBA,EAASloJ,QAChCioJ,EAAKjS,YAAYkS,EAAS/2I,KAAK,IAEnC,EAEAgkI,EAAOoS,6BAA+B,SAAsCY,GAC1EhkK,KAAKygK,IAAMuD,EAAWjpD,SAASkpD,OAE/BjkK,KAAKsiK,iBAELtiK,KAAKgiK,mBAAmBhiK,KAAK+hK,eAAeiC,EAAW9E,WACzD,EAEAlO,EAAOoR,eAAiB,WACtB,IAAI3B,EAAMzgK,KAAKohK,gBACX8C,EAAsBlkK,KAAKmS,OAAO6sJ,UAEE,OAApCyB,EAAI1xC,aAAa,iBAIrBy/B,EAAW,WAAWiS,GAAK5O,YAAYsC,GACvCn0J,KAAKmS,OAAO6sJ,WAAY,EACxBh/J,KAAKkxJ,OACLlxJ,KAAKmxJ,OACLnxJ,KAAKmS,OAAO6sJ,UAAYkF,EAC1B,EAGA/D,EAAQzO,iBAAmB,SAA0Bv/I,GACnD,OAAOnS,KAAKozJ,MAAK,WACf,IAAIK,EAAWjF,EAAW,WAAWxuJ,MACjCgF,EAAOyuJ,EAASzuJ,KAAK+pJ,GAErBnvF,EAA4B,kBAAXztD,GAAuBA,EAE5C,IAAKnN,IAAQ,eAAekG,KAAKiH,MAI5BnN,IACHA,EAAO,IAAIm7J,EAAQngK,KAAM4/D,GACzB6zF,EAASzuJ,KAAK+pJ,EAAU/pJ,IAGJ,kBAAXmN,GAAqB,CAC9B,GAA4B,qBAAjBnN,EAAKmN,GACd,MAAM,IAAIqoF,UAAU,oBAAuBroF,EAAS,KAGtDnN,EAAKmN,IACP,CACF,GACF,EAEAw8I,EAAawR,EAAS,KAAM,CAAC,CAC3B96J,IAAK,UACL4W,IAAK,WACH,OAAO83C,CACT,GACC,CACD1uD,IAAK,UACL4W,IAAK,WACH,OAAO+zI,CACT,GACC,CACD3qJ,IAAK,OACL4W,IAAK,WACH,OAAOy6E,CACT,GACC,CACDrxF,IAAK,WACL4W,IAAK,WACH,OAAO8yI,CACT,GACC,CACD1pJ,IAAK,QACL4W,IAAK,WACH,OAAO9T,CACT,GACC,CACD9C,IAAK,YACL4W,IAAK,WACH,OAAO+yI,CACT,GACC,CACD3pJ,IAAK,cACL4W,IAAK,WACH,OAAOi0I,CACT,KAGKiQ,CACT,CArmB2B,GAmnB3B,OARA3R,EAAW,WAAW90I,GAAGg9E,GAAQypE,EAAQzO,iBACzClD,EAAW,WAAW90I,GAAGg9E,GAAMzK,YAAck0E,EAE7C3R,EAAW,WAAW90I,GAAGg9E,GAAMm9D,WAAa,WAE1C,OADArF,EAAW,WAAW90I,GAAGg9E,GAAQw4D,EAC1BiR,EAAQzO,gBACjB,EAEOyO,CAER,G;;;;;;CCl3BD,SAAW10I,EAAQ2rF,GAC8Cg3C,EAAOC,QAAUj3C,EAAQ,EAAQ,OAGjG,EAJD,CAIGp3G,GAAM,SAAWi4H,GAAK,aAEvB,SAASs2B,EAAuBznJ,GAAK,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAI0nJ,EAA0BD,EAAsBt2B,GAYhDq6B,EAAiB,gBACjB6R,EAAU,IACVC,EAA0B,IAE9B,SAASC,EAAO36J,GACd,OAAY,OAARA,GAA+B,qBAARA,EAClB,GAAKA,EAGP,CAAC,EAAE6E,SAASxO,KAAK2J,GAAKyE,MAAM,eAAe,GAAG4E,aACvD,CAEA,SAASuxJ,IACP,MAAO,CACLC,SAAUjS,EACVkS,aAAclS,EACdmS,OAAQ,SAAgBv5I,GACtB,GAAIsjI,EAAW,WAAWtjI,EAAMhb,QAAQo2H,GAAGtmI,MACzC,OAAOkrB,EAAMw5I,UAAUjrJ,QAAQozD,MAAM7sE,KAAM4b,UAI/C,EAEJ,CAEA,SAAS+oJ,EAAsBz1J,GAC7B,IAAIvH,EAAQ3H,KAERkoH,GAAS,EASb,OARAsmC,EAAW,WAAWxuJ,MAAMqyJ,IAAI/D,EAAKgE,gBAAgB,WACnDpqC,GAAS,CACX,IACA/gB,YAAW,WACJ+gB,GACHomC,EAAKsW,qBAAqBj9J,EAE9B,GAAGuH,GACIlP,IACT,CAEA,SAAS6kK,IACPrW,EAAW,WAAW90I,GAAG64I,qBAAuBoS,EAChDnW,EAAW,WAAWtjI,MAAM45I,QAAQxW,EAAKgE,gBAAkBgS,GAC7D,CAMA,IAAIhW,EAAO,CACTgE,eAAgB,kBAChBsP,OAAQ,SAAgB7+F,GACtB,GAEEA,MAAa5kE,KAAKiiC,SAAW+jI,SACtBt4E,SAASk5E,eAAehiG,IAEjC,OAAOA,CACT,EACA2tF,uBAAwB,SAAgCN,GACtD,IAAI/X,EAAW+X,EAAQrhC,aAAa,eAEpC,IAAKspB,GAAyB,MAAbA,EAAkB,CACjC,IAAI2sB,EAAW5U,EAAQrhC,aAAa,QACpCspB,EAAW2sB,GAAyB,MAAbA,EAAmBA,EAAS/2B,OAAS,EAC9D,CAEA,IACE,OAAOpiD,SAASq1B,cAAcm3B,GAAYA,EAAW,IACvD,CAAE,MAAO5gB,GACP,OAAO,IACT,CACF,EACA26B,iCAAkC,SAA0ChC,GAC1E,IAAKA,EACH,OAAO,EAIT,IAAI/K,EAAqBmJ,EAAW,WAAW4B,GAAStX,IAAI,uBACxDmsB,EAAkBzW,EAAW,WAAW4B,GAAStX,IAAI,oBACrDosB,EAA0BlwG,WAAWqwF,GACrC8f,EAAuBnwG,WAAWiwG,GAEtC,OAAKC,GAA4BC,GAKjC9f,EAAqBA,EAAmBlpE,MAAM,KAAK,GACnD8oF,EAAkBA,EAAgB9oF,MAAM,KAAK,IACrCnnB,WAAWqwF,GAAsBrwF,WAAWiwG,IAAoBb,GAN/D,CAOX,EACA3R,OAAQ,SAAgBrC,GACtB,OAAOA,EAAQ3T,YACjB,EACAmoB,qBAAsB,SAA8BxU,GAClD5B,EAAW,WAAW4B,GAASxkD,QAAQ0mD,EACzC,EACA8S,sBAAuB,WACrB,OAAO/7I,QAAQipI,EACjB,EACAY,UAAW,SAAmBxpJ,GAC5B,OAAQA,EAAI,IAAMA,GAAKq6G,QACzB,EACAgvC,gBAAiB,SAAyBsS,EAAelzJ,EAAQmzJ,GAC/D,IAAK,IAAI38I,KAAY28I,EACnB,GAAIz1I,OAAO7iB,UAAU4rF,eAAe74F,KAAKulK,EAAa38I,GAAW,CAC/D,IAAI48I,EAAgBD,EAAY38I,GAC5B3iB,EAAQmM,EAAOwW,GACf8wE,EAAYzzF,GAASsoJ,EAAK4E,UAAUltJ,GAAS,UAAYq+J,EAAOr+J,GAEpE,IAAK,IAAI8M,OAAOyyJ,GAAer6J,KAAKuuF,GAClC,MAAM,IAAIa,MAAM+qE,EAAc7zJ,cAAd6zJ,aAAoD18I,EAAW,oBAAwB8wE,EAAvF4rE,wBAAsIE,EAAgB,KAE1K,CAEJ,EACA/D,eAAgB,SAAwBpR,GACtC,IAAKvkE,SAAS+qE,gBAAgBzU,aAC5B,OAAO,KAIT,GAAmC,oBAAxBiO,EAAQoV,YAA4B,CAC7C,IAAI7sC,EAAOy3B,EAAQoV,cACnB,OAAO7sC,aAAgB8sC,WAAa9sC,EAAO,IAC7C,CAEA,OAAIy3B,aAAmBqV,WACdrV,EAIJA,EAAQ1sC,WAIN4qC,EAAKkT,eAAepR,EAAQ1sC,YAH1B,IAIX,EACAgiD,gBAAiB,WACf,GAAqC,qBAA1BlX,EAAW,WACpB,MAAM,IAAIh0D,UAAU,kGAGtB,IAAIv3E,EAAUurI,EAAW,WAAW90I,GAAGy5I,OAAOh3E,MAAM,KAAK,GAAGA,MAAM,KAC9DwpF,EAAW,EACXC,EAAU,EACVC,EAAW,EACXC,EAAW,EACXC,EAAW,EAEf,GAAI9iJ,EAAQ,GAAK2iJ,GAAW3iJ,EAAQ,GAAK4iJ,GAAY5iJ,EAAQ,KAAO0iJ,GAAY1iJ,EAAQ,KAAO4iJ,GAAY5iJ,EAAQ,GAAK6iJ,GAAY7iJ,EAAQ,IAAM8iJ,EAChJ,MAAM,IAAIzrE,MAAM,8EAEpB,GAKF,OAHAg0D,EAAKoX,kBACLb,IAEOvW,CAER,G,sBC5LD;;;;;;;;;;IAUA,SAAY7iI,EAAQ2rF,GAEnB,aAE6D,kBAAnBg3C,EAAOC,QAShDD,EAAOC,QAAU5iI,EAAOogE,SACvBurB,EAAS3rF,GAAQ,GACjB,SAAUzQ,GACT,IAAMA,EAAE6wE,SACP,MAAM,IAAIyO,MAAO,4CAElB,OAAO8c,EAASp8F,EACjB,EAEDo8F,EAAS3rF,EAIT,EA1BF,CA0BuB,qBAAXuyB,OAAyBA,OAASh+C,MAAM,SAAUg+C,EAAQgoH,GAMtE,aAEA,IAAIpwI,EAAM,GAENq+E,EAAWpkF,OAAOkjF,eAElBr/D,EAAQ9d,EAAI8d,MAEZuyH,EAAOrwI,EAAIqwI,KAAO,SAAUh2D,GAC/B,OAAOr6E,EAAIqwI,KAAKlmK,KAAMkwG,EACvB,EAAI,SAAUA,GACb,OAAOr6E,EAAIplB,OAAOq8D,MAAO,GAAIojC,EAC9B,EAGIr8D,EAAOhe,EAAIge,KAEX7e,EAAUa,EAAIb,QAEdmxI,EAAa,CAAC,EAEd33J,EAAW23J,EAAW33J,SAEtBy8I,EAASkb,EAAWttE,eAEpButE,EAAanb,EAAOz8I,SAEpB63J,EAAuBD,EAAWpmK,KAAM8vB,QAExCw2I,EAAU,CAAC,EAEXnuE,EAAa,SAAqBxuF,GASpC,MAAsB,oBAARA,GAA8C,kBAAjBA,EAAIq6G,UAC1B,oBAAbr6G,EAAI21B,IACb,EAGGinI,EAAW,SAAmB58J,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAIs0C,MACnC,EAGG6tC,EAAW7tC,EAAO6tC,SAIjB06E,EAA4B,CAC/Bp2J,MAAM,EACN1G,KAAK,EACLk4I,OAAO,EACP6kB,UAAU,GAGX,SAASC,EAAS/K,EAAM77D,EAAM51E,GAC7BA,EAAMA,GAAO4hE,EAEb,IAAInmF,EAAG26C,EACN5c,EAASxZ,EAAIhZ,cAAe,UAG7B,GADAwyB,EAAOve,KAAOw2I,EACT77D,EACJ,IAAMn6F,KAAK6gK,EAYVlmH,EAAMw/C,EAAMn6F,IAAOm6F,EAAKkvB,cAAgBlvB,EAAKkvB,aAAcrpH,GACtD26C,GACJ5c,EAAOygF,aAAcx+G,EAAG26C,GAI3Bp2B,EAAIojF,KAAKorC,YAAah1G,GAASigF,WAAWq0B,YAAat0G,EACxD,CAGD,SAAS4gI,EAAQ36J,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,kBAARA,GAAmC,oBAARA,EACxCw8J,EAAY33J,EAASxO,KAAM2J,KAAW,gBAC/BA,CACT,CAOA,IAAIuZ,EAAU,QAEbyjJ,EAAc,SAGdC,EAAS,SAAUtuB,EAAU38G,GAI5B,OAAO,IAAIirI,EAAOjtJ,GAAGgqC,KAAM20F,EAAU38G,EACtC,EAkYD,SAASkrI,EAAal9J,GAMrB,IAAImS,IAAWnS,GAAO,WAAYA,GAAOA,EAAImS,OAC5C1L,EAAOk0J,EAAQ36J,GAEhB,OAAKwuF,EAAYxuF,KAAS48J,EAAU58J,KAIpB,UAATyG,GAA+B,IAAX0L,GACR,kBAAXA,GAAuBA,EAAS,GAAOA,EAAS,KAAOnS,EAChE,CAGA,SAAS8wJ,EAAU/J,EAAMrxJ,GAExB,OAAOqxJ,EAAK+J,UAAY/J,EAAK+J,SAASznJ,gBAAkB3T,EAAK2T,aAE9D,CAtZA4zJ,EAAOjtJ,GAAKitJ,EAAO35J,UAAY,CAG9BmmJ,OAAQlwI,EAER9W,YAAaw6J,EAGb9qJ,OAAQ,EAERgrJ,QAAS,WACR,OAAOnzH,EAAM3zC,KAAMC,KACpB,EAIAic,IAAK,SAAUzU,GAGd,OAAY,MAAPA,EACGksC,EAAM3zC,KAAMC,MAIbwH,EAAM,EAAIxH,KAAMwH,EAAMxH,KAAK6b,QAAW7b,KAAMwH,EACpD,EAIAs/J,UAAW,SAAUC,GAGpB,IAAItvD,EAAMkvD,EAAOlgG,MAAOzmE,KAAKmM,cAAe46J,GAM5C,OAHAtvD,EAAIuvD,WAAahnK,KAGVy3G,CACR,EAGA27C,KAAM,SAAUz0I,GACf,OAAOgoJ,EAAOvT,KAAMpzJ,KAAM2e,EAC3B,EAEArZ,IAAK,SAAUqZ,GACd,OAAO3e,KAAK8mK,UAAWH,EAAOrhK,IAAKtF,MAAM,SAAUywJ,EAAM/qJ,GACxD,OAAOiZ,EAAS5e,KAAM0wJ,EAAM/qJ,EAAG+qJ,EAChC,IACD,EAEA/8G,MAAO,WACN,OAAO1zC,KAAK8mK,UAAWpzH,EAAMm5B,MAAO7sE,KAAM4b,WAC3C,EAEAqrJ,MAAO,WACN,OAAOjnK,KAAKknK,GAAI,EACjB,EAEAp8D,KAAM,WACL,OAAO9qG,KAAKknK,IAAK,EAClB,EAEAC,KAAM,WACL,OAAOnnK,KAAK8mK,UAAWH,EAAOS,KAAMpnK,MAAM,SAAUqnK,EAAO3hK,GAC1D,OAASA,EAAI,GAAM,CACpB,IACD,EAEA4hK,IAAK,WACJ,OAAOtnK,KAAK8mK,UAAWH,EAAOS,KAAMpnK,MAAM,SAAUqnK,EAAO3hK,GAC1D,OAAOA,EAAI,CACZ,IACD,EAEAwhK,GAAI,SAAUxhK,GACb,IAAIk9B,EAAM5iC,KAAK6b,OACdqtB,GAAKxjC,GAAMA,EAAI,EAAIk9B,EAAM,GAC1B,OAAO5iC,KAAK8mK,UAAW59H,GAAK,GAAKA,EAAItG,EAAM,CAAE5iC,KAAMkpC,IAAQ,GAC5D,EAEA70B,IAAK,WACJ,OAAOrU,KAAKgnK,YAAchnK,KAAKmM,aAChC,EAIAynC,KAAMA,EACN7mB,KAAM6I,EAAI7I,KACVlhB,OAAQ+pB,EAAI/pB,QAGb86J,EAAO5b,OAAS4b,EAAOjtJ,GAAGqxI,OAAS,WAClC,IAAI76D,EAAS9wF,EAAMqK,EAAK+6F,EAAM+iE,EAAaz0I,EAC1C5iB,EAAS0L,UAAW,IAAO,CAAC,EAC5BlW,EAAI,EACJmW,EAASD,UAAUC,OACnB2W,GAAO,EAsBR,IAnBuB,mBAAXtiB,IACXsiB,EAAOtiB,EAGPA,EAAS0L,UAAWlW,IAAO,CAAC,EAC5BA,KAIsB,kBAAXwK,GAAwBgoF,EAAYhoF,KAC/CA,EAAS,CAAC,GAINxK,IAAMmW,IACV3L,EAASlQ,KACT0F,KAGOA,EAAImW,EAAQnW,IAGnB,GAAqC,OAA9BwqF,EAAUt0E,UAAWlW,IAG3B,IAAMtG,KAAQ8wF,EACbsU,EAAOtU,EAAS9wF,GAIF,cAATA,GAAwB8Q,IAAWs0F,IAKnChyE,GAAQgyE,IAAUmiE,EAAOpjE,cAAeiB,KAC1C+iE,EAAcj6J,MAAMqnD,QAAS6vC,MAC/B/6F,EAAMyG,EAAQ9Q,GAIb0zB,EADIy0I,IAAgBj6J,MAAMqnD,QAASlrD,GAC3B,GACI89J,GAAgBZ,EAAOpjE,cAAe95F,GAG1CA,EAFA,CAAC,EAIV89J,GAAc,EAGdr3J,EAAQ9Q,GAASunK,EAAO5b,OAAQv4H,EAAMM,EAAO0xE,SAGzB5+F,IAAT4+F,IACXt0F,EAAQ9Q,GAASolG,IAOrB,OAAOt0F,CACR,EAEAy2J,EAAO5b,OAAQ,CAGdyc,QAAS,UAAavkJ,EAAU9kB,KAAKiiC,UAAWptB,QAAS,MAAO,IAGhE4wD,SAAS,EAET5kE,MAAO,SAAUymB,GAChB,MAAM,IAAI60E,MAAO70E,EAClB,EAEA08I,KAAM,WAAY,EAElB5+D,cAAe,SAAU75F,GACxB,IAAImf,EAAO4+I,EAIX,SAAM/9J,GAAgC,oBAAzB6E,EAASxO,KAAM2J,MAI5Bmf,EAAQorF,EAAUvqG,IAGZmf,IAKN4+I,EAAOzc,EAAOjrJ,KAAM8oB,EAAO,gBAAmBA,EAAM1c,YAC7B,oBAATs7J,GAAuBtB,EAAWpmK,KAAM0nK,KAAWrB,GAClE,EAEAsB,cAAe,SAAUh+J,GACxB,IAAItK,EAEJ,IAAMA,KAAQsK,EACb,OAAO,EAER,OAAO,CACR,EAIAi+J,WAAY,SAAUjM,EAAMxrE,EAASjmE,GACpCw8I,EAAS/K,EAAM,CAAE/Z,MAAOzxD,GAAWA,EAAQyxD,OAAS13H,EACrD,EAEAmpI,KAAM,SAAU1pJ,EAAKiV,GACpB,IAAI9C,EAAQnW,EAAI,EAEhB,GAAKkhK,EAAal9J,IAEjB,IADAmS,EAASnS,EAAImS,OACLnW,EAAImW,EAAQnW,IACnB,IAAgD,IAA3CiZ,EAAS5e,KAAM2J,EAAKhE,GAAKA,EAAGgE,EAAKhE,IACrC,WAIF,IAAMA,KAAKgE,EACV,IAAgD,IAA3CiV,EAAS5e,KAAM2J,EAAKhE,GAAKA,EAAGgE,EAAKhE,IACrC,MAKH,OAAOgE,CACR,EAIAwb,KAAM,SAAUurI,GACf,IAAI5wD,EACH4X,EAAM,GACN/xG,EAAI,EACJq+G,EAAW0sC,EAAK1sC,SAEjB,IAAMA,EAGL,MAAUlkB,EAAO4wD,EAAM/qJ,KAGtB+xG,GAAOkvD,EAAOzhJ,KAAM26E,GAGtB,OAAkB,IAAbkkB,GAA+B,KAAbA,EACf0sC,EAAKtjC,YAEK,IAAbpJ,EACG0sC,EAAKmG,gBAAgBzpC,YAEX,IAAbpJ,GAA+B,IAAbA,EACf0sC,EAAKrY,UAKN3gC,CACR,EAGAgjD,UAAW,SAAU7kI,EAAK3pB,GACzB,IAAIwrG,EAAMxrG,GAAW,GAarB,OAXY,MAAP2pB,IACCgxI,EAAa/2I,OAAQ+F,IACzB+wI,EAAOlgG,MAAOgxC,EACE,kBAAR7hF,EACN,CAAEA,GAAQA,GAGZge,EAAK7zC,KAAM03G,EAAK7hF,IAIX6hF,CACR,EAEAmwD,QAAS,SAAUnX,EAAM76H,EAAKlwB,GAC7B,OAAc,MAAPkwB,GAAe,EAAIb,EAAQh1B,KAAM61B,EAAK66H,EAAM/qJ,EACpD,EAEAmiK,SAAU,SAAUpX,GACnB,IAAIlwC,EAAYkwC,GAAQA,EAAK7lC,aAC5Bk9C,EAAUrX,IAAUA,EAAKiR,eAAiBjR,GAAOmG,gBAIlD,OAAQ8P,EAAYx7J,KAAMq1G,GAAaunD,GAAWA,EAAQtN,UAAY,OACvE,EAIA/zF,MAAO,SAAUwgG,EAAOc,GAKvB,IAJA,IAAInlI,GAAOmlI,EAAOlsJ,OACjBqtB,EAAI,EACJxjC,EAAIuhK,EAAMprJ,OAEHqtB,EAAItG,EAAKsG,IAChB+9H,EAAOvhK,KAAQqiK,EAAQ7+H,GAKxB,OAFA+9H,EAAMprJ,OAASnW,EAERuhK,CACR,EAEAG,KAAM,SAAUL,EAAOpoJ,EAAUqpJ,GAShC,IARA,IAAIC,EACH/5J,EAAU,GACVxI,EAAI,EACJmW,EAASkrJ,EAAMlrJ,OACfqsJ,GAAkBF,EAIXtiK,EAAImW,EAAQnW,IACnBuiK,GAAmBtpJ,EAAUooJ,EAAOrhK,GAAKA,GACpCuiK,IAAoBC,GACxBh6J,EAAQ0lC,KAAMmzH,EAAOrhK,IAIvB,OAAOwI,CACR,EAGA5I,IAAK,SAAUyhK,EAAOpoJ,EAAU8T,GAC/B,IAAI5W,EAAQ7V,EACXN,EAAI,EACJ+xG,EAAM,GAGP,GAAKmvD,EAAaG,GAEjB,IADAlrJ,EAASkrJ,EAAMlrJ,OACPnW,EAAImW,EAAQnW,IACnBM,EAAQ2Y,EAAUooJ,EAAOrhK,GAAKA,EAAG+sB,GAEnB,MAATzsB,GACJyxG,EAAI7jE,KAAM5tC,QAMZ,IAAMN,KAAKqhK,EACV/gK,EAAQ2Y,EAAUooJ,EAAOrhK,GAAKA,EAAG+sB,GAEnB,MAATzsB,GACJyxG,EAAI7jE,KAAM5tC,GAMb,OAAOigK,EAAMxuD,EACd,EAGAppF,KAAM,EAINg4I,QAASA,IAGa,oBAAXn3D,SACXy3D,EAAOjtJ,GAAIw1F,OAAOvT,UAAa/lE,EAAKs5E,OAAOvT,WAI5CgrE,EAAOvT,KAAM,uEAAuEj3E,MAAO,MAC1F,SAAUxgE,EAAIvc,GACb8mK,EAAY,WAAa9mK,EAAO,KAAQA,EAAK2T,aAC9C,IAyBD,IAAIsgF,EAAMz9D,EAAIy9D,IAGVtmE,EAAO6I,EAAI7I,KAGXlhB,EAAS+pB,EAAI/pB,OAGbs8J,EAAa,sBAGbC,EAAW,IAAIt1J,OAClB,IAAMq1J,EAAa,8BAAgCA,EAAa,KAChE,KAODxB,EAAOrV,SAAW,SAAUhgJ,EAAGm3B,GAC9B,IAAI4/H,EAAM5/H,GAAKA,EAAEi7E,WAEjB,OAAOpyG,IAAM+2J,MAAWA,GAAwB,IAAjBA,EAAItkD,YAIlCzyG,EAAEggJ,SACDhgJ,EAAEggJ,SAAU+W,GACZ/2J,EAAEg3J,yBAA8D,GAAnCh3J,EAAEg3J,wBAAyBD,IAE3D,EAOA,IAAIE,EAAa,+CAEjB,SAASC,EAAYC,EAAIC,GACxB,OAAKA,EAGQ,OAAPD,EACG,IAIDA,EAAG/0H,MAAO,GAAI,GAAM,KAAO+0H,EAAGlzG,WAAYkzG,EAAG5sJ,OAAS,GAAItN,SAAU,IAAO,IAI5E,KAAOk6J,CACf,CAEA9B,EAAOgC,eAAiB,SAAUC,GACjC,OAASA,EAAM,IAAK51J,QAASu1J,EAAYC,EAC1C,EAKA,IAAIK,EAAeh9E,EAClBi9E,EAAal1H,GAEd,WAEA,IAAIluC,EACHqjK,EACAC,EACAC,EACAC,EAIAr9E,EACA+qE,EACAuS,EACAC,EACAl7J,EAPA0lC,EAAOk1H,EAUPtB,EAAUb,EAAOa,QACjB6B,EAAU,EACVr8G,EAAO,EACPs8G,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAUr4J,EAAGm3B,GAIxB,OAHKn3B,IAAMm3B,IACVygI,GAAe,GAET,CACR,EAEAU,EAAW,6HAMX5jJ,EAAa,0BAA4BmiJ,EACxC,0CAGDrlB,EAAa,MAAQqlB,EAAa,KAAOniJ,EAAa,OAASmiJ,EAG9D,gBAAkBA,EAGlB,2DAA6DniJ,EAAa,OAC1EmiJ,EAAa,OAEd0B,EAAU,KAAO7jJ,EAAP,wFAOoB88H,EAPpB,eAcVgnB,EAAc,IAAIh3J,OAAQq1J,EAAa,IAAK,KAE5C4B,EAAS,IAAIj3J,OAAQ,IAAMq1J,EAAa,KAAOA,EAAa,KAC5D6B,EAAqB,IAAIl3J,OAAQ,IAAMq1J,EAAa,WAAaA,EAAa,IAC7EA,EAAa,KACd8B,EAAW,IAAIn3J,OAAQq1J,EAAa,MAEpC+B,EAAU,IAAIp3J,OAAQ+2J,GACtBM,EAAc,IAAIr3J,OAAQ,IAAMkT,EAAa,KAE7CokJ,EAAY,CACXC,GAAI,IAAIv3J,OAAQ,MAAQkT,EAAa,KACrCskJ,MAAO,IAAIx3J,OAAQ,QAAUkT,EAAa,KAC1CukJ,IAAK,IAAIz3J,OAAQ,KAAOkT,EAAa,SACrCwkJ,KAAM,IAAI13J,OAAQ,IAAMgwI,GACxB2nB,OAAQ,IAAI33J,OAAQ,IAAM+2J,GAC1Ba,MAAO,IAAI53J,OACV,yDACCq1J,EAAa,+BAAiCA,EAAa,cAC3DA,EAAa,aAAeA,EAAa,SAAU,KACrDwC,KAAM,IAAI73J,OAAQ,OAAS82J,EAAW,KAAM,KAI5CgB,aAAc,IAAI93J,OAAQ,IAAMq1J,EAC/B,mDAAqDA,EACrD,mBAAqBA,EAAa,mBAAoB,MAGxD0C,EAAU,sCACVC,EAAU,SAGVC,EAAa,mCAEbC,EAAW,OAIXC,EAAY,IAAIn4J,OAAQ,uBAAyBq1J,EAChD,uBAAwB,KACzB+C,EAAY,SAAUC,EAAQC,GAC7B,IAAIC,EAAO,KAAOF,EAAOz3H,MAAO,GAAM,MAEtC,OAAK03H,IAUEC,EAAO,EACbxiI,OAAOyiI,aAAcD,EAAO,OAC5BxiI,OAAOyiI,aAAcD,GAAQ,GAAK,MAAe,KAAPA,EAAe,OAC3D,EAMA98H,EAAgB,WACfg9H,IACD,EAEAC,EAAqBC,IACpB,SAAUhb,GACT,OAAyB,IAAlBA,EAAKr8H,UAAqBomI,EAAU/J,EAAM,WAClD,GACA,CAAE7xC,IAAK,aAAcn8F,KAAM,WAM7B,SAASipJ,IACR,IACC,OAAO7/E,EAAS06D,aACjB,CAAE,MAAQhwH,GAAQ,CACnB,CAGA,IACCqd,EAAKi5B,MACFj3C,EAAM8d,EAAM3zC,KAAM8oK,EAAa8C,YACjC9C,EAAa8C,YAMd/1I,EAAKizI,EAAa8C,WAAW9vJ,QAASkoG,QACvC,CAAE,MAAQj9G,IACT8sC,EAAO,CACNi5B,MAAO,SAAU38D,EAAQ07J,GACxB9C,EAAWj8F,MAAO38D,EAAQwjC,EAAM3zC,KAAM6rK,GACvC,EACA7rK,KAAM,SAAUmQ,GACf44J,EAAWj8F,MAAO38D,EAAQwjC,EAAM3zC,KAAM6b,UAAW,GAClD,EAEF,CAEA,SAAS60F,GAAM4nC,EAAU38G,EAASzvB,EAAS4/J,GAC1C,IAAIvoD,EAAG59G,EAAG+qJ,EAAMqb,EAAK39J,EAAO49J,EAAQC,EACnCC,EAAavwI,GAAWA,EAAQgmI,cAGhC39C,EAAWroF,EAAUA,EAAQqoF,SAAW,EAKzC,GAHA93G,EAAUA,GAAW,GAGI,kBAAbosI,IAA0BA,GACxB,IAAbt0B,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAO93G,EAIR,IAAM4/J,IACLN,GAAa7vI,GACbA,EAAUA,GAAWmwD,EAEhBs9E,GAAiB,CAIrB,GAAkB,KAAbplD,IAAqB51G,EAAQ48J,EAAW7+J,KAAMmsI,IAGlD,GAAO/0B,EAAIn1G,EAAO,IAGjB,GAAkB,IAAb41G,EAAiB,CACrB,KAAO0sC,EAAO/0H,EAAQqpI,eAAgBzhD,IASrC,OAAOr3G,EALP,GAAKwkJ,EAAKrpJ,KAAOk8G,EAEhB,OADA1vE,EAAK7zC,KAAMkM,EAASwkJ,GACbxkJ,CAOV,MAIC,GAAKggK,IAAgBxb,EAAOwb,EAAWlH,eAAgBzhD,KACtD7S,GAAK6gD,SAAU51H,EAAS+0H,IACxBA,EAAKrpJ,KAAOk8G,EAGZ,OADA1vE,EAAK7zC,KAAMkM,EAASwkJ,GACbxkJ,MAKH,IAAKkC,EAAO,GAElB,OADAylC,EAAKi5B,MAAO5gE,EAASyvB,EAAQ8H,qBAAsB60G,IAC5CpsI,EAGD,IAAOq3G,EAAIn1G,EAAO,KAASutB,EAAQwwI,uBAEzC,OADAt4H,EAAKi5B,MAAO5gE,EAASyvB,EAAQwwI,uBAAwB5oD,IAC9Cr3G,CACR,CAID,IAAMy9J,EAAwBrxB,EAAW,QACrC+wB,IAAcA,EAAUl+J,KAAMmtI,IAAe,CAYhD,GAVA2zB,EAAc3zB,EACd4zB,EAAavwI,EASK,IAAbqoF,IACFkmD,EAAS/+J,KAAMmtI,IAAc2xB,EAAmB9+J,KAAMmtI,IAAe,CAGvE4zB,EAAajB,EAAS9/J,KAAMmtI,IAAc8zB,GAAazwI,EAAQgoF,aAC9DhoF,EAQIuwI,GAAcvwI,GAAY2qI,EAAQxsD,SAG/BiyD,EAAMpwI,EAAQqzF,aAAc,OAClC+8C,EAAMnF,EAAOgC,eAAgBmD,GAE7BpwI,EAAQwoF,aAAc,KAAQ4nD,EAAMtE,IAKtCuE,EAASK,GAAU/zB,GACnB3yI,EAAIqmK,EAAOlwJ,OACX,MAAQnW,IACPqmK,EAAQrmK,IAAQomK,EAAM,IAAMA,EAAM,UAAa,IAC9CO,GAAYN,EAAQrmK,IAEtBsmK,EAAcD,EAAO/+I,KAAM,IAC5B,CAEA,IAIC,OAHA4mB,EAAKi5B,MAAO5gE,EACXggK,EAAWxuB,iBAAkBuuB,IAEvB//J,CACR,CAAE,MAAQqgK,GACT5C,EAAwBrxB,GAAU,EACnC,CAAE,QACIyzB,IAAQtE,GACZ9rI,EAAQmhH,gBAAiB,KAE3B,CACD,CACD,CAID,OAAO98B,GAAQs4B,EAASrlI,QAASo1J,EAAU,MAAQ1sI,EAASzvB,EAAS4/J,EACtE,CAQA,SAAStC,KACR,IAAI5zG,EAAO,GAEX,SAASm9D,EAAOztH,EAAKW,GASpB,OALK2vD,EAAK/hB,KAAMvuC,EAAM,KAAQ0jK,EAAKwD,oBAG3Bz5C,EAAOn9D,EAAK0mB,SAEXy2C,EAAOztH,EAAM,KAAQW,CAC/B,CACA,OAAO8sH,CACR,CAMA,SAAS05C,GAAc9yJ,GAEtB,OADAA,EAAI8tJ,IAAY,EACT9tJ,CACR,CAMA,SAAS+yJ,GAAQ/yJ,GAChB,IAAI0lG,EAAKvzB,EAAS56E,cAAe,YAEjC,IACC,QAASyI,EAAI0lG,EACd,CAAE,MAAQt4G,IACT,OAAO,CACR,CAAE,QAGIs4G,EAAGsE,YACPtE,EAAGsE,WAAWq0B,YAAa34B,GAI5BA,EAAK,IACN,CACD,CAMA,SAASstD,GAAmBv8J,GAC3B,OAAO,SAAUsgJ,GAChB,OAAO+J,EAAU/J,EAAM,UAAaA,EAAKtgJ,OAASA,CACnD,CACD,CAMA,SAASw8J,GAAoBx8J,GAC5B,OAAO,SAAUsgJ,GAChB,OAAS+J,EAAU/J,EAAM,UAAa+J,EAAU/J,EAAM,YACrDA,EAAKtgJ,OAASA,CAChB,CACD,CAMA,SAASy8J,GAAsBx4I,GAG9B,OAAO,SAAUq8H,GAKhB,MAAK,SAAUA,EASTA,EAAK/sC,aAAgC,IAAlB+sC,EAAKr8H,SAGvB,UAAWq8H,EACV,UAAWA,EAAK/sC,WACb+sC,EAAK/sC,WAAWtvF,WAAaA,EAE7Bq8H,EAAKr8H,WAAaA,EAMpBq8H,EAAKv1E,aAAe9mD,GAG1Bq8H,EAAKv1E,cAAgB9mD,GACpBo3I,EAAoB/a,KAAWr8H,EAG3Bq8H,EAAKr8H,WAAaA,EAKd,UAAWq8H,GACfA,EAAKr8H,WAAaA,CAK3B,CACD,CAMA,SAASy4I,GAAwBnzJ,GAChC,OAAO8yJ,IAAc,SAAUM,GAE9B,OADAA,GAAYA,EACLN,IAAc,SAAUX,EAAM39J,GACpC,IAAIg7B,EACH6jI,EAAerzJ,EAAI,GAAImyJ,EAAKhwJ,OAAQixJ,GACpCpnK,EAAIqnK,EAAalxJ,OAGlB,MAAQnW,IACFmmK,EAAQ3iI,EAAI6jI,EAAcrnK,MAC9BmmK,EAAM3iI,KAASh7B,EAASg7B,GAAM2iI,EAAM3iI,IAGvC,GACD,GACD,CAOA,SAASijI,GAAazwI,GACrB,OAAOA,GAAmD,qBAAjCA,EAAQ8H,sBAAwC9H,CAC1E,CAOA,SAAS6vI,GAAa1rE,GACrB,IAAImtE,EACH/iJ,EAAM41E,EAAOA,EAAK6hE,eAAiB7hE,EAAOgpE,EAO3C,OAAK5+I,GAAO4hE,GAA6B,IAAjB5hE,EAAI85F,UAAmB95F,EAAI2sI,iBAKnD/qE,EAAW5hE,EACX2sI,EAAkB/qE,EAAS+qE,gBAC3BuS,GAAkBxC,EAAOkB,SAAUh8E,GAInC39E,EAAU0oJ,EAAgB1oJ,SACzB0oJ,EAAgBqW,uBAChBrW,EAAgBsW,kBAOZtW,EAAgBsW,mBAMpBrE,GAAgBh9E,IACdmhF,EAAYnhF,EAASshF,cAAiBH,EAAU59C,MAAQ49C,GAG1DA,EAAU38C,iBAAkB,SAAU9hF,GAOvC83H,EAAQ+G,QAAUX,IAAQ,SAAUrtD,GAEnC,OADAw3C,EAAgBne,YAAar5B,GAAKh4G,GAAKu/J,EAAOa,SACtC37E,EAASwhF,oBACfxhF,EAASwhF,kBAAmB1G,EAAOa,SAAU3rJ,MAChD,IAKAwqJ,EAAQiH,kBAAoBb,IAAQ,SAAUrtD,GAC7C,OAAOlxG,EAAQnO,KAAMq/G,EAAI,IAC1B,IAIAinD,EAAQxsD,MAAQ4yD,IAAQ,WACvB,OAAO5gF,EAAS4xD,iBAAkB,SACnC,IAWA4oB,EAAQkH,OAASd,IAAQ,WACxB,IAEC,OADA5gF,EAASq1B,cAAe,oBACjB,CACR,CAAE,MAAQp6G,IACT,OAAO,CACR,CACD,IAGKu/J,EAAQ+G,SACZrE,EAAK3qG,OAAOisG,GAAK,SAAUjjK,GAC1B,IAAIomK,EAASpmK,EAAG4L,QAASi4J,EAAWC,GACpC,OAAO,SAAUza,GAChB,OAAOA,EAAK1hC,aAAc,QAAWy+C,CACtC,CACD,EACAzE,EAAKt4D,KAAK45D,GAAK,SAAUjjK,EAAIs0B,GAC5B,GAAuC,qBAA3BA,EAAQqpI,gBAAkCoE,EAAiB,CACtE,IAAI1Y,EAAO/0H,EAAQqpI,eAAgB39J,GACnC,OAAOqpJ,EAAO,CAAEA,GAAS,EAC1B,CACD,IAEAsY,EAAK3qG,OAAOisG,GAAM,SAAUjjK,GAC3B,IAAIomK,EAASpmK,EAAG4L,QAASi4J,EAAWC,GACpC,OAAO,SAAUza,GAChB,IAAI5wD,EAAwC,qBAA1B4wD,EAAKgd,kBACtBhd,EAAKgd,iBAAkB,MACxB,OAAO5tE,GAAQA,EAAK75F,QAAUwnK,CAC/B,CACD,EAIAzE,EAAKt4D,KAAK45D,GAAK,SAAUjjK,EAAIs0B,GAC5B,GAAuC,qBAA3BA,EAAQqpI,gBAAkCoE,EAAiB,CACtE,IAAItpE,EAAMn6F,EAAGqhK,EACZtW,EAAO/0H,EAAQqpI,eAAgB39J,GAEhC,GAAKqpJ,EAAO,CAIX,GADA5wD,EAAO4wD,EAAKgd,iBAAkB,MACzB5tE,GAAQA,EAAK75F,QAAUoB,EAC3B,MAAO,CAAEqpJ,GAIVsW,EAAQrrI,EAAQ2xI,kBAAmBjmK,GACnC1B,EAAI,EACJ,MAAU+qJ,EAAOsW,EAAOrhK,KAEvB,GADAm6F,EAAO4wD,EAAKgd,iBAAkB,MACzB5tE,GAAQA,EAAK75F,QAAUoB,EAC3B,MAAO,CAAEqpJ,EAGZ,CAEA,MAAO,EACR,CACD,GAIDsY,EAAKt4D,KAAK85D,IAAM,SAAUvyB,EAAKt8G,GAC9B,MAA6C,qBAAjCA,EAAQ8H,qBACZ9H,EAAQ8H,qBAAsBw0G,GAI9Bt8G,EAAQ+hH,iBAAkBzF,EAEnC,EAGA+wB,EAAKt4D,KAAK65D,MAAQ,SAAUh7E,EAAW5zD,GACtC,GAA+C,qBAAnCA,EAAQwwI,wBAA0C/C,EAC7D,OAAOztI,EAAQwwI,uBAAwB58E,EAEzC,EAOA85E,EAAY,GAIZqD,IAAQ,SAAUrtD,GAEjB,IAAI/3G,EAEJuvJ,EAAgBne,YAAar5B,GAAK8N,UACjC,UAAYs6C,EAAZ,iDACiBA,EADjB,oEAMKpoD,EAAGq+B,iBAAkB,cAAe5hI,QACzCutJ,EAAUx1H,KAAM,MAAQu0H,EAAa,aAAeyB,EAAW,KAI1DxqD,EAAGq+B,iBAAkB,QAAU+pB,EAAU,MAAO3rJ,QACrDutJ,EAAUx1H,KAAM,MAMXwrE,EAAGq+B,iBAAkB,KAAO+pB,EAAU,MAAO3rJ,QAClDutJ,EAAUx1H,KAAM,YAOXwrE,EAAGq+B,iBAAkB,YAAa5hI,QACvCutJ,EAAUx1H,KAAM,YAKjBvsC,EAAQwkF,EAAS56E,cAAe,SAChC5J,EAAM68G,aAAc,OAAQ,UAC5B9E,EAAGq5B,YAAapxI,GAAQ68G,aAAc,OAAQ,KAQ9C0yC,EAAgBne,YAAar5B,GAAKhrF,UAAW,EACM,IAA9CgrF,EAAGq+B,iBAAkB,aAAc5hI,QACvCutJ,EAAUx1H,KAAM,WAAY,aAQ7BvsC,EAAQwkF,EAAS56E,cAAe,SAChC5J,EAAM68G,aAAc,OAAQ,IAC5B9E,EAAGq5B,YAAapxI,GACV+3G,EAAGq+B,iBAAkB,aAAc5hI,QACxCutJ,EAAUx1H,KAAM,MAAQu0H,EAAa,QAAUA,EAAa,KAC3DA,EAAa,eAEhB,IAEM9B,EAAQkH,QAQbnE,EAAUx1H,KAAM,QAGjBw1H,EAAYA,EAAUvtJ,QAAU,IAAI/I,OAAQs2J,EAAUp8I,KAAM,MAM5D28I,EAAY,SAAUr4J,EAAGm3B,GAGxB,GAAKn3B,IAAMm3B,EAEV,OADAygI,GAAe,EACR,EAIR,IAAIwE,GAAWp8J,EAAEg3J,yBAA2B7/H,EAAE6/H,wBAC9C,OAAKoF,IASLA,GAAYp8J,EAAEowJ,eAAiBpwJ,KAASm3B,EAAEi5H,eAAiBj5H,GAC1Dn3B,EAAEg3J,wBAAyB7/H,GAG3B,EAGc,EAAVilI,IACDrH,EAAQsH,cAAgBllI,EAAE6/H,wBAAyBh3J,KAAQo8J,EAOzDp8J,IAAMu6E,GAAYv6E,EAAEowJ,eAAiBmH,GACzCp4D,GAAK6gD,SAAUuX,EAAcv3J,IACrB,EAOJm3B,IAAMojD,GAAYpjD,EAAEi5H,eAAiBmH,GACzCp4D,GAAK6gD,SAAUuX,EAAcpgI,GACtB,EAIDwgI,EACJl0I,EAAQh1B,KAAMkpK,EAAW33J,GAAMyjB,EAAQh1B,KAAMkpK,EAAWxgI,GAC1D,EAGe,EAAVilI,GAAe,EAAI,EAC3B,EAEO7hF,GAvSCA,CAwST,CAopBA,IAAMnmF,KAlpBN+qG,GAAKviG,QAAU,SAAU0/J,EAAMzU,GAC9B,OAAO1oD,GAAMm9D,EAAM,KAAM,KAAMzU,EAChC,EAEA1oD,GAAKo9D,gBAAkB,SAAUpd,EAAMmd,GAGtC,GAFArC,GAAa9a,GAER0Y,IACHO,EAAwBkE,EAAO,QAC7BxE,IAAcA,EAAUl+J,KAAM0iK,IAEjC,IACC,IAAIn2D,EAAMvpG,EAAQnO,KAAM0wJ,EAAMmd,GAG9B,GAAKn2D,GAAO4uD,EAAQiH,mBAIlB7c,EAAK5kE,UAAuC,KAA3B4kE,EAAK5kE,SAASk4B,SAChC,OAAOtM,CAET,CAAE,MAAQ3wG,IACT4iK,EAAwBkE,GAAM,EAC/B,CAGD,OAAOn9D,GAAMm9D,EAAM/hF,EAAU,KAAM,CAAE4kE,IAAS50I,OAAS,CACxD,EAEA40F,GAAK6gD,SAAW,SAAU51H,EAAS+0H,GAUlC,OAHO/0H,EAAQgmI,eAAiBhmI,IAAamwD,GAC5C0/E,GAAa7vI,GAEPirI,EAAOrV,SAAU51H,EAAS+0H,EAClC,EAGAhgD,GAAKshD,KAAO,SAAUtB,EAAMrxJ,IAOpBqxJ,EAAKiR,eAAiBjR,IAAU5kE,GACtC0/E,GAAa9a,GAGd,IAAI/2I,EAAKqvJ,EAAK+E,WAAY1uK,EAAK2T,eAG9BstC,EAAM3mC,GAAMsxI,EAAOjrJ,KAAMgpK,EAAK+E,WAAY1uK,EAAK2T,eAC9C2G,EAAI+2I,EAAMrxJ,GAAO+pK,QACjBvjK,EAEF,YAAaA,IAARy6C,EACGA,EAGDowG,EAAK1hC,aAAc3vH,EAC3B,EAEAqxG,GAAKzxG,MAAQ,SAAUymB,GACtB,MAAM,IAAI60E,MAAO,0CAA4C70E,EAC9D,EAMAkhJ,EAAOoH,WAAa,SAAU9hK,GAC7B,IAAIwkJ,EACHud,EAAa,GACb9kI,EAAI,EACJxjC,EAAI,EAWL,GAJAwjK,GAAgB7C,EAAQ4H,WACxBhF,GAAa5C,EAAQ4H,YAAcv6H,EAAM3zC,KAAMkM,EAAS,GACxD8gB,EAAKhtB,KAAMkM,EAAS09J,GAEfT,EAAe,CACnB,MAAUzY,EAAOxkJ,EAASvG,KACpB+qJ,IAASxkJ,EAASvG,KACtBwjC,EAAI8kI,EAAWp6H,KAAMluC,IAGvB,MAAQwjC,IACPr9B,EAAO9L,KAAMkM,EAAS+hK,EAAY9kI,GAAK,EAEzC,CAMA,OAFA+/H,EAAY,KAELh9J,CACR,EAEA06J,EAAOjtJ,GAAGq0J,WAAa,WACtB,OAAO/tK,KAAK8mK,UAAWH,EAAOoH,WAAYr6H,EAAMm5B,MAAO7sE,OACxD,EAEA+oK,EAAOpC,EAAOiH,KAAO,CAGpBrB,YAAa,GAEb2B,aAAc1B,GAEdr+J,MAAOi8J,EAEP0D,WAAY,CAAC,EAEbr9D,KAAM,CAAC,EAEP09D,SAAU,CACT,IAAK,CAAEvvD,IAAK,aAAcqoD,OAAO,GACjC,IAAK,CAAEroD,IAAK,cACZ,IAAK,CAAEA,IAAK,kBAAmBqoD,OAAO,GACtC,IAAK,CAAEroD,IAAK,oBAGbwvD,UAAW,CACV5D,KAAM,SAAUr8J,GAWf,OAVAA,EAAO,GAAMA,EAAO,GAAI6E,QAASi4J,EAAWC,GAG5C/8J,EAAO,IAAQA,EAAO,IAAOA,EAAO,IAAOA,EAAO,IAAO,IACvD6E,QAASi4J,EAAWC,GAEF,OAAf/8J,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAMulC,MAAO,EAAG,EACxB,EAEAg3H,MAAO,SAAUv8J,GAkChB,OAtBAA,EAAO,GAAMA,EAAO,GAAI4E,cAEU,QAA7B5E,EAAO,GAAIulC,MAAO,EAAG,IAGnBvlC,EAAO,IACZsiG,GAAKzxG,MAAOmP,EAAO,IAKpBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KAEvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBsiG,GAAKzxG,MAAOmP,EAAO,IAGbA,CACR,EAEAs8J,OAAQ,SAAUt8J,GACjB,IAAIkgK,EACHC,GAAYngK,EAAO,IAAOA,EAAO,GAElC,OAAKi8J,EAAUM,MAAMx/J,KAAMiD,EAAO,IAC1B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9BmgK,GAAYpE,EAAQh/J,KAAMojK,KAGnCD,EAASjC,GAAUkC,GAAU,MAG7BD,EAASC,EAASv5I,QAAS,IAAKu5I,EAASzyJ,OAASwyJ,GAAWC,EAASzyJ,UAGxE1N,EAAO,GAAMA,EAAO,GAAIulC,MAAO,EAAG26H,GAClClgK,EAAO,GAAMmgK,EAAS56H,MAAO,EAAG26H,IAI1BlgK,EAAMulC,MAAO,EAAG,GACxB,GAGD0qB,OAAQ,CAEPmsG,IAAK,SAAUgE,GACd,IAAIC,EAAmBD,EAAiBv7J,QAASi4J,EAAWC,GAAYn4J,cACxE,MAA4B,MAArBw7J,EACN,WACC,OAAO,CACR,EACA,SAAU9d,GACT,OAAO+J,EAAU/J,EAAM+d,EACxB,CACF,EAEAlE,MAAO,SAAUh7E,GAChB,IAAIilC,EAAU+0C,EAAYh6E,EAAY,KAEtC,OAAOilC,IACJA,EAAU,IAAIzhH,OAAQ,MAAQq1J,EAAa,IAAM74E,EAClD,IAAM64E,EAAa,SACpBmB,EAAYh6E,GAAW,SAAUmhE,GAChC,OAAOl8B,EAAQrpH,KACY,kBAAnBulJ,EAAKnhE,WAA0BmhE,EAAKnhE,WACb,qBAAtBmhE,EAAK1hC,cACX0hC,EAAK1hC,aAAc,UACpB,GAEH,GACF,EAEAy7C,KAAM,SAAUprK,EAAMqvK,EAAUC,GAC/B,OAAO,SAAUje,GAChB,IAAI1nJ,EAAS0nG,GAAKshD,KAAMtB,EAAMrxJ,GAE9B,OAAe,MAAV2J,EACgB,OAAb0lK,GAEFA,IAIN1lK,GAAU,GAEQ,MAAb0lK,EACG1lK,IAAW2lK,EAED,OAAbD,EACG1lK,IAAW2lK,EAED,OAAbD,EACGC,GAAqC,IAA5B3lK,EAAOgsB,QAAS25I,GAEf,OAAbD,EACGC,GAAS3lK,EAAOgsB,QAAS25I,IAAW,EAE1B,OAAbD,EACGC,GAAS3lK,EAAO2qC,OAAQg7H,EAAM7yJ,UAAa6yJ,EAEjC,OAAbD,GACK,IAAM1lK,EAAOiK,QAAS82J,EAAa,KAAQ,KAClD/0I,QAAS25I,IAAW,EAEL,OAAbD,IACG1lK,IAAW2lK,GAAS3lK,EAAO2qC,MAAO,EAAGg7H,EAAM7yJ,OAAS,KAAQ6yJ,EAAQ,KAI7E,CACD,EAEAhE,MAAO,SAAUv6J,EAAMw+J,EAAMC,EAAW3H,EAAOn8D,GAC9C,IAAI+jE,EAAgC,QAAvB1+J,EAAKujC,MAAO,EAAG,GAC3Bo7H,EAA+B,SAArB3+J,EAAKujC,OAAQ,GACvBq7H,EAAkB,YAATJ,EAEV,OAAiB,IAAV1H,GAAwB,IAATn8D,EAGrB,SAAU2lD,GACT,QAASA,EAAK/sC,UACf,EAEA,SAAU+sC,EAAMr4E,EAAU42F,GACzB,IAAIl8C,EAAOm8C,EAAYpvE,EAAMqvE,EAAW96J,EACvCwqG,EAAMiwD,IAAWC,EAAU,cAAgB,kBAC3CtkE,EAASimD,EAAK/sC,WACdtkH,EAAO2vK,GAAUte,EAAK+J,SAASznJ,cAC/Bo8J,GAAYH,IAAQD,EACpBK,GAAO,EAER,GAAK5kE,EAAS,CAGb,GAAKqkE,EAAS,CACb,MAAQjwD,EAAM,CACb/e,EAAO4wD,EACP,MAAU5wD,EAAOA,EAAM+e,GACtB,GAAKmwD,EACJvU,EAAU36D,EAAMzgG,GACE,IAAlBygG,EAAKkkB,SAEL,OAAO,EAKT3vG,EAAQwqG,EAAe,SAATzuG,IAAoBiE,GAAS,aAC5C,CACA,OAAO,CACR,CAKA,GAHAA,EAAQ,CAAE06J,EAAUtkE,EAAOsZ,WAAatZ,EAAOoiB,WAG1CkiD,GAAWK,EAAW,CAG1BF,EAAazkE,EAAQg9D,KAAeh9D,EAAQg9D,GAAY,CAAC,GACzD10C,EAAQm8C,EAAY9+J,IAAU,GAC9B++J,EAAYp8C,EAAO,KAAQu2C,GAAWv2C,EAAO,GAC7Cs8C,EAAOF,GAAap8C,EAAO,GAC3BjzB,EAAOqvE,GAAa1kE,EAAOmhE,WAAYuD,GAEvC,MAAUrvE,IAASqvE,GAAarvE,GAAQA,EAAM+e,KAG3CwwD,EAAOF,EAAY,IAAO96J,EAAMi/E,MAGlC,GAAuB,IAAlBwM,EAAKkkB,YAAoBqrD,GAAQvvE,IAAS4wD,EAAO,CACrDwe,EAAY9+J,GAAS,CAAEk5J,EAAS6F,EAAWE,GAC3C,KACD,CAGF,MAYC,GATKD,IACJF,EAAaxe,EAAM+W,KAAe/W,EAAM+W,GAAY,CAAC,GACrD10C,EAAQm8C,EAAY9+J,IAAU,GAC9B++J,EAAYp8C,EAAO,KAAQu2C,GAAWv2C,EAAO,GAC7Cs8C,EAAOF,IAKM,IAATE,EAGJ,MAAUvvE,IAASqvE,GAAarvE,GAAQA,EAAM+e,KAC3CwwD,EAAOF,EAAY,IAAO96J,EAAMi/E,MAElC,IAAO07E,EACNvU,EAAU36D,EAAMzgG,GACE,IAAlBygG,EAAKkkB,aACHqrD,IAGGD,IACJF,EAAapvE,EAAM2nE,KAChB3nE,EAAM2nE,GAAY,CAAC,GACtByH,EAAY9+J,GAAS,CAAEk5J,EAAS+F,IAG5BvvE,IAAS4wD,GACb,MASL,OADA2e,GAAQtkE,EACDskE,IAASnI,GAAWmI,EAAOnI,IAAU,GAAKmI,EAAOnI,GAAS,CAClE,CACD,CACF,EAEAwD,OAAQ,SAAU4E,EAAQvC,GAMzB,IAAIpxJ,EACHhC,EAAKqvJ,EAAKc,QAASwF,IAAYtG,EAAKuG,WAAYD,EAAOt8J,gBACtD09F,GAAKzxG,MAAO,uBAAyBqwK,GAKvC,OAAK31J,EAAI8tJ,GACD9tJ,EAAIozJ,GAIPpzJ,EAAGmC,OAAS,GAChBH,EAAO,CAAE2zJ,EAAQA,EAAQ,GAAIvC,GACtB/D,EAAKuG,WAAW12E,eAAgBy2E,EAAOt8J,eAC7Cy5J,IAAc,SAAUX,EAAM39J,GAC7B,IAAIsO,EACH+yJ,EAAU71J,EAAImyJ,EAAMiB,GACpBpnK,EAAI6pK,EAAQ1zJ,OACb,MAAQnW,IACP8W,EAAMuY,EAAQh1B,KAAM8rK,EAAM0D,EAAS7pK,IACnCmmK,EAAMrvJ,KAAWtO,EAASsO,GAAQ+yJ,EAAS7pK,GAE7C,IACA,SAAU+qJ,GACT,OAAO/2I,EAAI+2I,EAAM,EAAG/0I,EACrB,GAGKhC,CACR,GAGDmwJ,QAAS,CAGRtY,IAAKib,IAAc,SAAUn0B,GAK5B,IAAIhxI,EAAQ,GACX4E,EAAU,GACVujK,EAAUv6B,GAASoD,EAASrlI,QAASo1J,EAAU,OAEhD,OAAOoH,EAAShI,GACfgF,IAAc,SAAUX,EAAM39J,EAASkqE,EAAU42F,GAChD,IAAIve,EACHgf,EAAYD,EAAS3D,EAAM,KAAMmD,EAAK,IACtCtpK,EAAImmK,EAAKhwJ,OAGV,MAAQnW,KACA+qJ,EAAOgf,EAAW/pK,MACxBmmK,EAAMnmK,KAASwI,EAASxI,GAAM+qJ,GAGjC,IACA,SAAUA,EAAMr4E,EAAU42F,GAOzB,OANA3nK,EAAO,GAAMopJ,EACb+e,EAASnoK,EAAO,KAAM2nK,EAAK/iK,GAI3B5E,EAAO,GAAM,MACL4E,EAAQonF,KACjB,CACF,IAEAqY,IAAK8gE,IAAc,SAAUn0B,GAC5B,OAAO,SAAUoY,GAChB,OAAOhgD,GAAM4nC,EAAUoY,GAAO50I,OAAS,CACxC,CACD,IAEAy1I,SAAUkb,IAAc,SAAUtnJ,GAEjC,OADAA,EAAOA,EAAKlS,QAASi4J,EAAWC,GACzB,SAAUza,GAChB,OAASA,EAAKtjC,aAAew5C,EAAOzhJ,KAAMurI,IAAS17H,QAAS7P,IAAU,CACvE,CACD,IASAwqJ,KAAMlD,IAAc,SAAUkD,GAO7B,OAJMvF,EAAYj/J,KAAMwkK,GAAQ,KAC/Bj/D,GAAKzxG,MAAO,qBAAuB0wK,GAEpCA,EAAOA,EAAK18J,QAASi4J,EAAWC,GAAYn4J,cACrC,SAAU09I,GAChB,IAAIkf,EACJ,GACC,GAAOA,EAAWxG,EACjB1Y,EAAKif,KACLjf,EAAK1hC,aAAc,aAAgB0hC,EAAK1hC,aAAc,QAGtD,OADA4gD,EAAWA,EAAS58J,cACb48J,IAAaD,GAA2C,IAAnCC,EAAS56I,QAAS26I,EAAO,YAE3Cjf,EAAOA,EAAK/sC,aAAkC,IAAlB+sC,EAAK1sC,UAC7C,OAAO,CACR,CACD,IAGA7zG,OAAQ,SAAUugJ,GACjB,IAAIv0G,EAAO8B,EAAO/0B,UAAY+0B,EAAO/0B,SAASizB,KAC9C,OAAOA,GAAQA,EAAKxI,MAAO,KAAQ+8G,EAAKrpJ,EACzC,EAEAuxH,KAAM,SAAU83B,GACf,OAAOA,IAASmG,CACjB,EAEAzB,MAAO,SAAU1E,GAChB,OAAOA,IAASib,KACf7/E,EAAS+jF,eACLnf,EAAKtgJ,MAAQsgJ,EAAKr/I,OAASq/I,EAAKof,SACtC,EAGA5iI,QAAS2/H,IAAsB,GAC/Bx4I,SAAUw4I,IAAsB,GAEhC/lB,QAAS,SAAU4J,GAIlB,OAAS+J,EAAU/J,EAAM,YAAeA,EAAK5J,SAC1C2T,EAAU/J,EAAM,aAAgBA,EAAKnJ,QACzC,EAEAA,SAAU,SAAUmJ,GAWnB,OALKA,EAAK/sC,YAET+sC,EAAK/sC,WAAWqkC,eAGQ,IAAlB0I,EAAKnJ,QACb,EAGAob,MAAO,SAAUjS,GAMhB,IAAMA,EAAOA,EAAK3sC,WAAY2sC,EAAMA,EAAOA,EAAKhtC,YAC/C,GAAKgtC,EAAK1sC,SAAW,EACpB,OAAO,EAGT,OAAO,CACR,EAEAvZ,OAAQ,SAAUimD,GACjB,OAAQsY,EAAKc,QAAQnH,MAAOjS,EAC7B,EAGAz7H,OAAQ,SAAUy7H,GACjB,OAAOqa,EAAQ5/J,KAAMulJ,EAAK+J,SAC3B,EAEAnzJ,MAAO,SAAUopJ,GAChB,OAAOoa,EAAQ3/J,KAAMulJ,EAAK+J,SAC3B,EAEAtR,OAAQ,SAAUuH,GACjB,OAAO+J,EAAU/J,EAAM,UAA2B,WAAdA,EAAKtgJ,MACxCqqJ,EAAU/J,EAAM,SAClB,EAEAvrI,KAAM,SAAUurI,GACf,IAAIsB,EACJ,OAAOyI,EAAU/J,EAAM,UAA2B,SAAdA,EAAKtgJ,OAKI,OAAxC4hJ,EAAOtB,EAAK1hC,aAAc,UACN,SAAvBgjC,EAAKh/I,cACR,EAGAk0J,MAAO4F,IAAwB,WAC9B,MAAO,CAAE,EACV,IAEA/hE,KAAM+hE,IAAwB,SAAUiD,EAAej0J,GACtD,MAAO,CAAEA,EAAS,EACnB,IAEAqrJ,GAAI2F,IAAwB,SAAUiD,EAAej0J,EAAQixJ,GAC5D,MAAO,CAAEA,EAAW,EAAIA,EAAWjxJ,EAASixJ,EAC7C,IAEA3F,KAAM0F,IAAwB,SAAUE,EAAclxJ,GAErD,IADA,IAAInW,EAAI,EACAA,EAAImW,EAAQnW,GAAK,EACxBqnK,EAAan5H,KAAMluC,GAEpB,OAAOqnK,CACR,IAEAzF,IAAKuF,IAAwB,SAAUE,EAAclxJ,GAEpD,IADA,IAAInW,EAAI,EACAA,EAAImW,EAAQnW,GAAK,EACxBqnK,EAAan5H,KAAMluC,GAEpB,OAAOqnK,CACR,IAEAgD,GAAIlD,IAAwB,SAAUE,EAAclxJ,EAAQixJ,GAC3D,IAAIpnK,EAUJ,IAPCA,EADIonK,EAAW,EACXA,EAAWjxJ,EACJixJ,EAAWjxJ,EAClBA,EAEAixJ,IAGKpnK,GAAK,GACdqnK,EAAan5H,KAAMluC,GAEpB,OAAOqnK,CACR,IAEAiD,GAAInD,IAAwB,SAAUE,EAAclxJ,EAAQixJ,GAE3D,IADA,IAAIpnK,EAAIonK,EAAW,EAAIA,EAAWjxJ,EAASixJ,IACjCpnK,EAAImW,GACbkxJ,EAAan5H,KAAMluC,GAEpB,OAAOqnK,CACR,MAIFhE,EAAKc,QAAQoG,IAAMlH,EAAKc,QAAQ3C,GAGrB,CAAEgJ,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5EvH,EAAKc,QAASnkK,GAAMgnK,GAAmBhnK,GAExC,IAAMA,IAAK,CAAE6qK,QAAQ,EAAMlmI,OAAO,GACjC0+H,EAAKc,QAASnkK,GAAMinK,GAAoBjnK,GAIzC,SAAS4pK,KAAc,CAIvB,SAASlD,GAAU/zB,EAAUm4B,GAC5B,IAAIjB,EAASphK,EAAOuzE,EAAQvxE,EAC3BsgK,EAAO1E,EAAQ2E,EACfr9C,EAASm2C,EAAYnxB,EAAW,KAEjC,GAAKhlB,EACJ,OAAOm9C,EAAY,EAAIn9C,EAAO3/E,MAAO,GAGtC+8H,EAAQp4B,EACR0zB,EAAS,GACT2E,EAAa3H,EAAKqF,UAElB,MAAQqC,EAAQ,CA2Bf,IAAMtgK,KAxBAo/J,KAAaphK,EAAQ47J,EAAO79J,KAAMukK,MAClCtiK,IAGJsiK,EAAQA,EAAM/8H,MAAOvlC,EAAO,GAAI0N,SAAY40J,GAE7C1E,EAAOn4H,KAAQ8tC,EAAS,KAGzB6tF,GAAU,GAGHphK,EAAQ67J,EAAmB99J,KAAMukK,MACvClB,EAAUphK,EAAMkuE,QAChBqF,EAAO9tC,KAAM,CACZ5tC,MAAOupK,EAGPp/J,KAAMhC,EAAO,GAAI6E,QAASo1J,EAAU,OAErCqI,EAAQA,EAAM/8H,MAAO67H,EAAQ1zJ,SAIhBktJ,EAAK3qG,SACXjwD,EAAQi8J,EAAWj6J,GAAOjE,KAAMukK,KAAgBC,EAAYvgK,MAChEhC,EAAQuiK,EAAYvgK,GAAQhC,MAC9BohK,EAAUphK,EAAMkuE,QAChBqF,EAAO9tC,KAAM,CACZ5tC,MAAOupK,EACPp/J,KAAMA,EACNjC,QAASC,IAEVsiK,EAAQA,EAAM/8H,MAAO67H,EAAQ1zJ,SAI/B,IAAM0zJ,EACL,KAEF,CAKA,OAAKiB,EACGC,EAAM50J,OAGP40J,EACNhgE,GAAKzxG,MAAOq5I,GAGZmxB,EAAYnxB,EAAU0zB,GAASr4H,MAAO,EACxC,CAEA,SAAS24H,GAAY3qF,GAIpB,IAHA,IAAIh8E,EAAI,EACPk9B,EAAM8+C,EAAO7lE,OACbw8H,EAAW,GACJ3yI,EAAIk9B,EAAKl9B,IAChB2yI,GAAY32D,EAAQh8E,GAAIM,MAEzB,OAAOqyI,CACR,CAEA,SAASozB,GAAe+D,EAASmB,EAAY1yC,GAC5C,IAAIrf,EAAM+xD,EAAW/xD,IACpBgyD,EAAOD,EAAWluJ,KAClBpd,EAAMurK,GAAQhyD,EACdiyD,EAAmB5yC,GAAgB,eAAR54H,EAC3ByrK,EAAW9jH,IAEZ,OAAO2jH,EAAW1J,MAGjB,SAAUxW,EAAM/0H,EAASszI,GACxB,MAAUve,EAAOA,EAAM7xC,GACtB,GAAuB,IAAlB6xC,EAAK1sC,UAAkB8sD,EAC3B,OAAOrB,EAAS/e,EAAM/0H,EAASszI,GAGjC,OAAO,CACR,EAGA,SAAUve,EAAM/0H,EAASszI,GACxB,IAAI+B,EAAU9B,EACb+B,EAAW,CAAE3H,EAASyH,GAGvB,GAAK9B,GACJ,MAAUve,EAAOA,EAAM7xC,GACtB,IAAuB,IAAlB6xC,EAAK1sC,UAAkB8sD,IACtBrB,EAAS/e,EAAM/0H,EAASszI,GAC5B,OAAO,OAKV,MAAUve,EAAOA,EAAM7xC,GACtB,GAAuB,IAAlB6xC,EAAK1sC,UAAkB8sD,EAG3B,GAFA5B,EAAaxe,EAAM+W,KAAe/W,EAAM+W,GAAY,CAAC,GAEhDoJ,GAAQpW,EAAU/J,EAAMmgB,GAC5BngB,EAAOA,EAAM7xC,IAAS6xC,MAChB,KAAOsgB,EAAW9B,EAAY5pK,KACpC0rK,EAAU,KAAQ1H,GAAW0H,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,GAHA9B,EAAY5pK,GAAQ2rK,EAGbA,EAAU,GAAMxB,EAAS/e,EAAM/0H,EAASszI,GAC9C,OAAO,CAET,CAIH,OAAO,CACR,CACF,CAEA,SAASiC,GAAgBC,GACxB,OAAOA,EAASr1J,OAAS,EACxB,SAAU40I,EAAM/0H,EAASszI,GACxB,IAAItpK,EAAIwrK,EAASr1J,OACjB,MAAQnW,IACP,IAAMwrK,EAAUxrK,GAAK+qJ,EAAM/0H,EAASszI,GACnC,OAAO,EAGT,OAAO,CACR,EACAkC,EAAU,EACZ,CAEA,SAASC,GAAkB94B,EAAU+4B,EAAUnlK,GAG9C,IAFA,IAAIvG,EAAI,EACPk9B,EAAMwuI,EAASv1J,OACRnW,EAAIk9B,EAAKl9B,IAChB+qG,GAAM4nC,EAAU+4B,EAAU1rK,GAAKuG,GAEhC,OAAOA,CACR,CAEA,SAASolK,GAAU5B,EAAWnqK,EAAK84D,EAAQ1iC,EAASszI,GAOnD,IANA,IAAIve,EACH6gB,EAAe,GACf5rK,EAAI,EACJk9B,EAAM6sI,EAAU5zJ,OAChB01J,EAAgB,MAAPjsK,EAEFI,EAAIk9B,EAAKl9B,KACT+qJ,EAAOgf,EAAW/pK,MAClB04D,IAAUA,EAAQqyF,EAAM/0H,EAASszI,KACtCsC,EAAa19H,KAAM68G,GACd8gB,GACJjsK,EAAIsuC,KAAMluC,KAMd,OAAO4rK,CACR,CAEA,SAASE,GAAYpD,EAAW/1B,EAAUm3B,EAASiC,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAYjK,KAC/BiK,EAAaD,GAAYC,IAErBC,IAAeA,EAAYlK,KAC/BkK,EAAaF,GAAYE,EAAYC,IAE/BnF,IAAc,SAAUX,EAAM5/J,EAASyvB,EAASszI,GACtD,IAAI4C,EAAMlsK,EAAG+qJ,EAAMohB,EAClBC,EAAS,GACTC,EAAU,GACVC,EAAc/lK,EAAQ4P,OAGtBkrJ,EAAQ8E,GACPsF,GAAkB94B,GAAY,IAC7B38G,EAAQqoF,SAAW,CAAEroF,GAAYA,EAAS,IAG5Cu2I,GAAY7D,IAAevC,GAASxzB,EAEnC0uB,EADAsK,GAAUtK,EAAO+K,EAAQ1D,EAAW1yI,EAASszI,GAsB/C,GAnBKQ,GAIJqC,EAAaH,IAAgB7F,EAAOuC,EAAY4D,GAAeP,GAG9D,GAGAxlK,EAGDujK,EAASyC,EAAWJ,EAAYn2I,EAASszI,IAEzC6C,EAAaI,EAITR,EAAa,CACjBG,EAAOP,GAAUQ,EAAYE,GAC7BN,EAAYG,EAAM,GAAIl2I,EAASszI,GAG/BtpK,EAAIksK,EAAK/1J,OACT,MAAQnW,KACA+qJ,EAAOmhB,EAAMlsK,MACnBmsK,EAAYE,EAASrsK,MAAWusK,EAAWF,EAASrsK,IAAQ+qJ,GAG/D,CAEA,GAAKob,GACJ,GAAK6F,GAActD,EAAY,CAC9B,GAAKsD,EAAa,CAGjBE,EAAO,GACPlsK,EAAImsK,EAAWh2J,OACf,MAAQnW,KACA+qJ,EAAOohB,EAAYnsK,KAGzBksK,EAAKh+H,KAAQq+H,EAAWvsK,GAAM+qJ,GAGhCihB,EAAY,KAAQG,EAAa,GAAMD,EAAM5C,EAC9C,CAGAtpK,EAAImsK,EAAWh2J,OACf,MAAQnW,KACA+qJ,EAAOohB,EAAYnsK,MACvBksK,EAAOF,EAAa38I,EAAQh1B,KAAM8rK,EAAMpb,GAASqhB,EAAQpsK,KAAS,IAEpEmmK,EAAM+F,KAAY3lK,EAAS2lK,GAASnhB,GAGvC,OAIAohB,EAAaR,GACZQ,IAAe5lK,EACd4lK,EAAWhmK,OAAQmmK,EAAaH,EAAWh2J,QAC3Cg2J,GAEGH,EACJA,EAAY,KAAMzlK,EAAS4lK,EAAY7C,GAEvCp7H,EAAKi5B,MAAO5gE,EAAS4lK,EAGxB,GACD,CAEA,SAASK,GAAmBxwF,GA+B3B,IA9BA,IAAIywF,EAAc3C,EAAStmI,EAC1BtG,EAAM8+C,EAAO7lE,OACbu2J,EAAkBrJ,EAAKoF,SAAUzsF,EAAQ,GAAIvxE,MAC7CkiK,EAAmBD,GAAmBrJ,EAAKoF,SAAU,KACrDzoK,EAAI0sK,EAAkB,EAAI,EAG1BE,EAAe7G,IAAe,SAAUhb,GACvC,OAAOA,IAAS0hB,CACjB,GAAGE,GAAkB,GACrBE,EAAkB9G,IAAe,SAAUhb,GAC1C,OAAO17H,EAAQh1B,KAAMoyK,EAAc1hB,IAAU,CAC9C,GAAG4hB,GAAkB,GACrBnB,EAAW,CAAE,SAAUzgB,EAAM/0H,EAASszI,GAMrC,IAAIv3D,GAAS26D,IAAqBpD,GAAOtzI,GAAWstI,MACjDmJ,EAAez2I,GAAUqoF,SAC1BuuD,EAAc7hB,EAAM/0H,EAASszI,GAC7BuD,EAAiB9hB,EAAM/0H,EAASszI,IAKlC,OADAmD,EAAe,KACR16D,CACR,GAEO/xG,EAAIk9B,EAAKl9B,IAChB,GAAO8pK,EAAUzG,EAAKoF,SAAUzsF,EAAQh8E,GAAIyK,MAC3C+gK,EAAW,CAAEzF,GAAewF,GAAgBC,GAAY1B,QAClD,CAIN,GAHAA,EAAUzG,EAAK3qG,OAAQsjB,EAAQh8E,GAAIyK,MAAO08D,MAAO,KAAM6U,EAAQh8E,GAAIwI,SAG9DshK,EAAShI,GAAY,CAIzB,IADAt+H,IAAMxjC,EACEwjC,EAAItG,EAAKsG,IAChB,GAAK6/H,EAAKoF,SAAUzsF,EAAQx4C,GAAI/4B,MAC/B,MAGF,OAAOqhK,GACN9rK,EAAI,GAAKurK,GAAgBC,GACzBxrK,EAAI,GAAK2mK,GAGR3qF,EAAOhuC,MAAO,EAAGhuC,EAAI,GACnB8K,OAAQ,CAAExK,MAAgC,MAAzB07E,EAAQh8E,EAAI,GAAIyK,KAAe,IAAM,MACvD6C,QAASo1J,EAAU,MACrBoH,EACA9pK,EAAIwjC,GAAKgpI,GAAmBxwF,EAAOhuC,MAAOhuC,EAAGwjC,IAC7CA,EAAItG,GAAOsvI,GAAqBxwF,EAASA,EAAOhuC,MAAOxK,IACvDA,EAAItG,GAAOypI,GAAY3qF,GAEzB,CACAwvF,EAASt9H,KAAM47H,EAChB,CAGD,OAAOyB,GAAgBC,EACxB,CAEA,SAASsB,GAA0BC,EAAiBC,GACnD,IAAIC,EAAQD,EAAY72J,OAAS,EAChC+2J,EAAYH,EAAgB52J,OAAS,EACrCg3J,EAAe,SAAUhH,EAAMnwI,EAASszI,EAAK/iK,EAAS6mK,GACrD,IAAIriB,EAAMvnH,EAAGsmI,EACZuD,EAAe,EACfrtK,EAAI,IACJ+pK,EAAY5D,GAAQ,GACpBmH,EAAa,GACbC,EAAgBjK,EAGhBjC,EAAQ8E,GAAQ+G,GAAa7J,EAAKt4D,KAAK85D,IAAK,IAAKuI,GAGjDI,EAAkB7J,GAA4B,MAAjB4J,EAAwB,EAAI90K,KAAKiiC,UAAY,GAC1EwC,EAAMmkI,EAAMlrJ,OAeb,IAbKi3J,IAMJ9J,EAAmBttI,GAAWmwD,GAAYnwD,GAAWo3I,GAO9CptK,IAAMk9B,GAAgC,OAAvB6tH,EAAOsW,EAAOrhK,IAAeA,IAAM,CACzD,GAAKktK,GAAaniB,EAAO,CACxBvnH,EAAI,EAMExN,GAAW+0H,EAAKiR,eAAiB71E,IACtC0/E,GAAa9a,GACbue,GAAO7F,GAER,MAAUqG,EAAUiD,EAAiBvpI,KACpC,GAAKsmI,EAAS/e,EAAM/0H,GAAWmwD,EAAUmjF,GAAQ,CAChDp7H,EAAK7zC,KAAMkM,EAASwkJ,GACpB,KACD,CAEIqiB,IACJzJ,EAAU6J,EAEZ,CAGKP,KAGGliB,GAAQ+e,GAAW/e,IACzBsiB,IAIIlH,GACJ4D,EAAU77H,KAAM68G,GAGnB,CAaA,GATAsiB,GAAgBrtK,EASXitK,GAASjtK,IAAMqtK,EAAe,CAClC7pI,EAAI,EACJ,MAAUsmI,EAAUkD,EAAaxpI,KAChCsmI,EAASC,EAAWuD,EAAYt3I,EAASszI,GAG1C,GAAKnD,EAAO,CAGX,GAAKkH,EAAe,EACnB,MAAQrtK,IACC+pK,EAAW/pK,IAAOstK,EAAYttK,KACrCstK,EAAYttK,GAAM2tF,EAAItzF,KAAMkM,IAM/B+mK,EAAa3B,GAAU2B,EACxB,CAGAp/H,EAAKi5B,MAAO5gE,EAAS+mK,GAGhBF,IAAcjH,GAAQmH,EAAWn3J,OAAS,GAC5Ck3J,EAAeL,EAAY72J,OAAW,GAExC8qJ,EAAOoH,WAAY9hK,EAErB,CAQA,OALK6mK,IACJzJ,EAAU6J,EACVlK,EAAmBiK,GAGbxD,CACR,EAED,OAAOkD,EACNnG,GAAcqG,GACdA,CACF,CAEA,SAAS59B,GAASoD,EAAUlqI,GAC3B,IAAIzI,EACHgtK,EAAc,GACdD,EAAkB,GAClBp/C,EAASo2C,EAAepxB,EAAW,KAEpC,IAAMhlB,EAAS,CAGRllH,IACLA,EAAQi+J,GAAU/zB,IAEnB3yI,EAAIyI,EAAM0N,OACV,MAAQnW,IACP2tH,EAAS6+C,GAAmB/jK,EAAOzI,IAC9B2tH,EAAQm0C,GACZkL,EAAY9+H,KAAMy/E,GAElBo/C,EAAgB7+H,KAAMy/E,GAKxBA,EAASo2C,EAAepxB,EACvBm6B,GAA0BC,EAAiBC,IAG5Cr/C,EAAOglB,SAAWA,CACnB,CACA,OAAOhlB,CACR,CAWA,SAAStT,GAAQs4B,EAAU38G,EAASzvB,EAAS4/J,GAC5C,IAAInmK,EAAGg8E,EAAQyxF,EAAOhjK,EAAMsgG,EAC3B2iE,EAA+B,oBAAb/6B,GAA2BA,EAC7ClqI,GAAS09J,GAAQO,GAAY/zB,EAAW+6B,EAAS/6B,UAAYA,GAM9D,GAJApsI,EAAUA,GAAW,GAIC,IAAjBkC,EAAM0N,OAAe,CAIzB,GADA6lE,EAASvzE,EAAO,GAAMA,EAAO,GAAIulC,MAAO,GACnCguC,EAAO7lE,OAAS,GAAsC,QAA/Bs3J,EAAQzxF,EAAQ,IAAMvxE,MAC3B,IAArBurB,EAAQqoF,UAAkBolD,GAAkBJ,EAAKoF,SAAUzsF,EAAQ,GAAIvxE,MAAS,CAMjF,GAJAurB,GAAYqtI,EAAKt4D,KAAK45D,GACrB8I,EAAMjlK,QAAS,GAAI8E,QAASi4J,EAAWC,GACvCxvI,IACI,IAAM,IACLA,EACL,OAAOzvB,EAGImnK,IACX13I,EAAUA,EAAQgoF,YAGnB20B,EAAWA,EAAS3kG,MAAOguC,EAAOrF,QAAQr2E,MAAM6V,OACjD,CAGAnW,EAAI0kK,EAAUQ,aAAa1/J,KAAMmtI,GAAa,EAAI32D,EAAO7lE,OACzD,MAAQnW,IAAM,CAIb,GAHAytK,EAAQzxF,EAAQh8E,GAGXqjK,EAAKoF,SAAYh+J,EAAOgjK,EAAMhjK,MAClC,MAED,IAAOsgG,EAAOs4D,EAAKt4D,KAAMtgG,MAGjB07J,EAAOp7D,EACb0iE,EAAMjlK,QAAS,GAAI8E,QAASi4J,EAAWC,GACvCF,EAAS9/J,KAAMw2E,EAAQ,GAAIvxE,OAC1Bg8J,GAAazwI,EAAQgoF,aAAgBhoF,IACjC,CAKL,GAFAgmD,EAAO71E,OAAQnG,EAAG,GAClB2yI,EAAWwzB,EAAKhwJ,QAAUwwJ,GAAY3qF,IAChC22D,EAEL,OADAzkG,EAAKi5B,MAAO5gE,EAAS4/J,GACd5/J,EAGR,KACD,CAEF,CACD,CAWA,OAPEmnK,GAAYn+B,GAASoD,EAAUlqI,IAChC09J,EACAnwI,GACCytI,EACDl9J,GACCyvB,GAAWsvI,EAAS9/J,KAAMmtI,IAAc8zB,GAAazwI,EAAQgoF,aAAgBhoF,GAExEzvB,CACR,CAtlBAqjK,GAAWtiK,UAAY+7J,EAAKzrC,QAAUyrC,EAAKc,QAC3Cd,EAAKuG,WAAa,IAAIA,GA2lBtBjJ,EAAQ4H,WAAazG,EAAQrrF,MAAO,IAAKpvD,KAAM48I,GAAY38I,KAAM,MAASw6I,EAG1E+D,KAIAlF,EAAQsH,aAAelB,IAAQ,SAAUrtD,GAGxC,OAA4E,EAArEA,EAAGkpD,wBAAyBz8E,EAAS56E,cAAe,YAC5D,IAEA01J,EAAOl2D,KAAOA,GAGdk2D,EAAOiH,KAAM,KAAQjH,EAAOiH,KAAK/D,QACjClD,EAAO0M,OAAS1M,EAAOoH,WAIvBt9D,GAAKwkC,QAAUA,GACfxkC,GAAKsP,OAASA,GACdtP,GAAK86D,YAAcA,GACnB96D,GAAK27D,SAAWA,GAEhB37D,GAAK06D,OAASxE,EAAOgC,eACrBl4D,GAAK6iE,QAAU3M,EAAOzhJ,KACtBurF,GAAK8iE,MAAQ5M,EAAOkB,SACpBp3D,GAAKkjD,UAAYgT,EAAOiH,KACxBn9D,GAAK41D,QAAUM,EAAON,QACtB51D,GAAKs9D,WAAapH,EAAOoH,UAIvB,EAviEF,GA0iEA,IAAInvD,EAAM,SAAU6xC,EAAM7xC,EAAK40D,GAC9B,IAAIjE,EAAU,GACbkE,OAAqB7tK,IAAV4tK,EAEZ,OAAU/iB,EAAOA,EAAM7xC,KAA6B,IAAlB6xC,EAAK1sC,SACtC,GAAuB,IAAlB0sC,EAAK1sC,SAAiB,CAC1B,GAAK0vD,GAAY9M,EAAQlW,GAAOnqB,GAAIktC,GACnC,MAEDjE,EAAQ37H,KAAM68G,EACf,CAED,OAAO8e,CACR,EAGImE,EAAW,SAAUt3J,EAAGq0I,GAG3B,IAFA,IAAI8e,EAAU,GAENnzJ,EAAGA,EAAIA,EAAEqnG,YACI,IAAfrnG,EAAE2nG,UAAkB3nG,IAAMq0I,GAC9B8e,EAAQ37H,KAAMx3B,GAIhB,OAAOmzJ,CACR,EAGIoE,EAAgBhN,EAAOiH,KAAKz/J,MAAMy8J,aAElCgJ,EAAa,kEAKjB,SAASC,EAAQ1a,EAAU2a,EAAWviB,GACrC,OAAKr5D,EAAY47E,GACTnN,EAAOS,KAAMjO,GAAU,SAAU1I,EAAM/qJ,GAC7C,QAASouK,EAAU/zK,KAAM0wJ,EAAM/qJ,EAAG+qJ,KAAWc,CAC9C,IAIIuiB,EAAU/vD,SACP4iD,EAAOS,KAAMjO,GAAU,SAAU1I,GACvC,OAASA,IAASqjB,IAAgBviB,CACnC,IAIyB,kBAAduiB,EACJnN,EAAOS,KAAMjO,GAAU,SAAU1I,GACvC,OAAS17H,EAAQh1B,KAAM+zK,EAAWrjB,IAAU,IAAQc,CACrD,IAIMoV,EAAOvoG,OAAQ01G,EAAW3a,EAAU5H,EAC5C,CAEAoV,EAAOvoG,OAAS,SAAUwvG,EAAM7G,EAAOxV,GACtC,IAAId,EAAOsW,EAAO,GAMlB,OAJKxV,IACJqc,EAAO,QAAUA,EAAO,KAGH,IAAjB7G,EAAMlrJ,QAAkC,IAAlB40I,EAAK1sC,SACxB4iD,EAAOl2D,KAAKo9D,gBAAiBpd,EAAMmd,GAAS,CAAEnd,GAAS,GAGxDkW,EAAOl2D,KAAKviG,QAAS0/J,EAAMjH,EAAOS,KAAML,GAAO,SAAUtW,GAC/D,OAAyB,IAAlBA,EAAK1sC,QACb,IACD,EAEA4iD,EAAOjtJ,GAAGqxI,OAAQ,CACjBt6C,KAAM,SAAU4nC,GACf,IAAI3yI,EAAG+xG,EACN70E,EAAM5iC,KAAK6b,OACXsE,EAAOngB,KAER,GAAyB,kBAAbq4I,EACX,OAAOr4I,KAAK8mK,UAAWH,EAAQtuB,GAAWj6E,QAAQ,WACjD,IAAM14D,EAAI,EAAGA,EAAIk9B,EAAKl9B,IACrB,GAAKihK,EAAOrV,SAAUnxI,EAAMza,GAAK1F,MAChC,OAAO,CAGV,KAKD,IAFAy3G,EAAMz3G,KAAK8mK,UAAW,IAEhBphK,EAAI,EAAGA,EAAIk9B,EAAKl9B,IACrBihK,EAAOl2D,KAAM4nC,EAAUl4H,EAAMza,GAAK+xG,GAGnC,OAAO70E,EAAM,EAAI+jI,EAAOoH,WAAYt2D,GAAQA,CAC7C,EACAr5C,OAAQ,SAAUi6E,GACjB,OAAOr4I,KAAK8mK,UAAW+M,EAAQ7zK,KAAMq4I,GAAY,IAAI,GACtD,EACAkZ,IAAK,SAAUlZ,GACd,OAAOr4I,KAAK8mK,UAAW+M,EAAQ7zK,KAAMq4I,GAAY,IAAI,GACtD,EACA/R,GAAI,SAAU+R,GACb,QAASw7B,EACR7zK,KAIoB,kBAAbq4I,GAAyBs7B,EAAczoK,KAAMmtI,GACnDsuB,EAAQtuB,GACRA,GAAY,IACb,GACCx8H,MACH,IAQD,IAAIk4J,EAMHhJ,EAAa,sCAEbrnH,EAAOijH,EAAOjtJ,GAAGgqC,KAAO,SAAU20F,EAAU38G,EAASi9F,GACpD,IAAIxqH,EAAOsiJ,EAGX,IAAMpY,EACL,OAAOr4I,KAQR,GAHA24H,EAAOA,GAAQo7C,EAGU,kBAAb17B,EAAwB,CAanC,GAPClqI,EALsB,MAAlBkqI,EAAU,IACsB,MAApCA,EAAUA,EAASx8H,OAAS,IAC5Bw8H,EAASx8H,QAAU,EAGX,CAAE,KAAMw8H,EAAU,MAGlB0yB,EAAW7+J,KAAMmsI,IAIrBlqI,IAAWA,EAAO,IAAQutB,EA6CxB,OAAMA,GAAWA,EAAQy3H,QACtBz3H,GAAWi9F,GAAOloB,KAAM4nC,GAK1Br4I,KAAKmM,YAAauvB,GAAU+0E,KAAM4nC,GAhDzC,GAAKlqI,EAAO,GAAM,CAYjB,GAXAutB,EAAUA,aAAmBirI,EAASjrI,EAAS,GAAMA,EAIrDirI,EAAOlgG,MAAOzmE,KAAM2mK,EAAOqN,UAC1B7lK,EAAO,GACPutB,GAAWA,EAAQqoF,SAAWroF,EAAQgmI,eAAiBhmI,EAAUmwD,GACjE,IAII+nF,EAAW1oK,KAAMiD,EAAO,KAASw4J,EAAOpjE,cAAe7nE,GAC3D,IAAMvtB,KAASutB,EAGTw8D,EAAYl4F,KAAMmO,IACtBnO,KAAMmO,GAASutB,EAASvtB,IAIxBnO,KAAK+xJ,KAAM5jJ,EAAOutB,EAASvtB,IAK9B,OAAOnO,IAGR,CASC,OARAywJ,EAAO5kE,EAASk5E,eAAgB52J,EAAO,IAElCsiJ,IAGJzwJ,KAAM,GAAMywJ,EACZzwJ,KAAK6b,OAAS,GAER7b,IAcV,CAAO,OAAKq4I,EAASt0B,UACpB/jH,KAAM,GAAMq4I,EACZr4I,KAAK6b,OAAS,EACP7b,MAIIk4F,EAAYmgD,QACDzyI,IAAf+yH,EAAKs7C,MACXt7C,EAAKs7C,MAAO57B,GAGZA,EAAUsuB,GAGLA,EAAOlM,UAAWpiB,EAAUr4I,KACpC,EAGD0jD,EAAK12C,UAAY25J,EAAOjtJ,GAGxBq6J,EAAapN,EAAQ96E,GAGrB,IAAIqoF,EAAe,iCAGlBC,EAAmB,CAClBv5I,UAAU,EACVw5I,UAAU,EACV3xJ,MAAM,EACN8qF,MAAM,GAoFR,SAAS8mE,EAAS94D,EAAKqD,GACtB,OAAUrD,EAAMA,EAAKqD,KAA4B,IAAjBrD,EAAIwI,UACpC,OAAOxI,CACR,CApFAorD,EAAOjtJ,GAAGqxI,OAAQ,CACjBr/C,IAAK,SAAUx7F,GACd,IAAI68C,EAAU45G,EAAQz2J,EAAQlQ,MAC7B6mE,EAAI9Z,EAAQlxC,OAEb,OAAO7b,KAAKo+D,QAAQ,WAEnB,IADA,IAAI14D,EAAI,EACAA,EAAImhE,EAAGnhE,IACd,GAAKihK,EAAOrV,SAAUtxJ,KAAM+sD,EAASrnD,IACpC,OAAO,CAGV,GACD,EAEA40J,QAAS,SAAU3G,EAAWj4H,GAC7B,IAAI6/E,EACH71G,EAAI,EACJmhE,EAAI7mE,KAAK6b,OACT0zJ,EAAU,GACVxiH,EAA+B,kBAAd4mG,GAA0BgT,EAAQhT,GAGpD,IAAMggB,EAAczoK,KAAMyoJ,GACzB,KAAQjuJ,EAAImhE,EAAGnhE,IACd,IAAM61G,EAAMv7G,KAAM0F,GAAK61G,GAAOA,IAAQ7/E,EAAS6/E,EAAMA,EAAImI,WAGxD,GAAKnI,EAAIwI,SAAW,KAAQh3D,EAC3BA,EAAQnG,MAAO20D,IAAS,EAGP,IAAjBA,EAAIwI,UACH4iD,EAAOl2D,KAAKo9D,gBAAiBtyD,EAAKo4C,IAAgB,CAEnD4b,EAAQ37H,KAAM2nE,GACd,KACD,CAKH,OAAOv7G,KAAK8mK,UAAWyI,EAAQ1zJ,OAAS,EAAI8qJ,EAAOoH,WAAYwB,GAAYA,EAC5E,EAGA3oH,MAAO,SAAU6pG,GAGhB,OAAMA,EAKe,kBAATA,EACJ17H,EAAQh1B,KAAM4mK,EAAQlW,GAAQzwJ,KAAM,IAIrC+0B,EAAQh1B,KAAMC,KAGpBywJ,EAAK0C,OAAS1C,EAAM,GAAMA,GAZjBzwJ,KAAM,IAAOA,KAAM,GAAI0jH,WAAe1jH,KAAKinK,QAAQqN,UAAUz4J,QAAU,CAclF,EAEA2B,IAAK,SAAU66H,EAAU38G,GACxB,OAAO17B,KAAK8mK,UACXH,EAAOoH,WACNpH,EAAOlgG,MAAOzmE,KAAKic,MAAO0qJ,EAAQtuB,EAAU38G,KAG/C,EAEA64I,QAAS,SAAUl8B,GAClB,OAAOr4I,KAAKwd,IAAiB,MAAZ66H,EAChBr4I,KAAKgnK,WAAahnK,KAAKgnK,WAAW5oG,OAAQi6E,GAE5C,IAQDsuB,EAAOvT,KAAM,CACZ5oD,OAAQ,SAAUimD,GACjB,IAAIjmD,EAASimD,EAAK/sC,WAClB,OAAOlZ,GAA8B,KAApBA,EAAOuZ,SAAkBvZ,EAAS,IACpD,EACAgqE,QAAS,SAAU/jB,GAClB,OAAO7xC,EAAK6xC,EAAM,aACnB,EACAgkB,aAAc,SAAUhkB,EAAM90I,EAAI63J,GACjC,OAAO50D,EAAK6xC,EAAM,aAAc+iB,EACjC,EACA/wJ,KAAM,SAAUguI,GACf,OAAO4jB,EAAS5jB,EAAM,cACvB,EACAljD,KAAM,SAAUkjD,GACf,OAAO4jB,EAAS5jB,EAAM,kBACvB,EACAikB,QAAS,SAAUjkB,GAClB,OAAO7xC,EAAK6xC,EAAM,cACnB,EACA6jB,QAAS,SAAU7jB,GAClB,OAAO7xC,EAAK6xC,EAAM,kBACnB,EACAkkB,UAAW,SAAUlkB,EAAM90I,EAAI63J,GAC9B,OAAO50D,EAAK6xC,EAAM,cAAe+iB,EAClC,EACAoB,UAAW,SAAUnkB,EAAM90I,EAAI63J,GAC9B,OAAO50D,EAAK6xC,EAAM,kBAAmB+iB,EACtC,EACAE,SAAU,SAAUjjB,GACnB,OAAOijB,GAAYjjB,EAAK/sC,YAAc,CAAC,GAAII,WAAY2sC,EACxD,EACA71H,SAAU,SAAU61H,GACnB,OAAOijB,EAAUjjB,EAAK3sC,WACvB,EACAswD,SAAU,SAAU3jB,GACnB,OAA6B,MAAxBA,EAAKokB,iBAKT5gE,EAAUw8C,EAAKokB,iBAERpkB,EAAKokB,iBAMRra,EAAU/J,EAAM,cACpBA,EAAOA,EAAKvkC,SAAWukC,GAGjBkW,EAAOlgG,MAAO,GAAIgqF,EAAKkb,YAC/B,IACE,SAAUvsK,EAAMsa,GAClBitJ,EAAOjtJ,GAAIta,GAAS,SAAUo0K,EAAOn7B,GACpC,IAAIk3B,EAAU5I,EAAOrhK,IAAKtF,KAAM0Z,EAAI85J,GAuBpC,MArB0B,UAArBp0K,EAAKs0C,OAAQ,KACjB2kG,EAAWm7B,GAGPn7B,GAAgC,kBAAbA,IACvBk3B,EAAU5I,EAAOvoG,OAAQi6E,EAAUk3B,IAG/BvvK,KAAK6b,OAAS,IAGZs4J,EAAkB/0K,IACvBunK,EAAOoH,WAAYwB,GAIf2E,EAAahpK,KAAM9L,IACvBmwK,EAAQl2G,WAIHr5D,KAAK8mK,UAAWyI,EACxB,CACD,IACA,IAAIuF,EAAgB,oBAKpB,SAASC,EAAe7kF,GACvB,IAAI3/D,EAAS,CAAC,EAId,OAHAo2I,EAAOvT,KAAMljE,EAAQ/hF,MAAO2mK,IAAmB,IAAI,SAAUr9C,EAAGqc,GAC/DvjH,EAAQujH,IAAS,CAClB,IACOvjH,CACR,CA2NA,SAASykJ,EAAU58J,GAClB,OAAOA,CACR,CACA,SAAS68J,EAASnoK,GACjB,MAAMA,CACP,CAEA,SAASooK,EAAYlvK,EAAO+jD,EAASC,EAAQmrH,GAC5C,IAAIlnK,EAEJ,IAGMjI,GAASkyF,EAAcjqF,EAASjI,EAAMovK,SAC1CnnK,EAAOlO,KAAMiG,GAAQgnD,KAAMjD,GAAUlgB,KAAMmgB,GAGhChkD,GAASkyF,EAAcjqF,EAASjI,EAAMo0E,MACjDnsE,EAAOlO,KAAMiG,EAAO+jD,EAASC,GAQ7BD,EAAQ8iB,WAAOjnE,EAAW,CAAEI,GAAQ0tC,MAAOyhI,GAM7C,CAAE,MAAQnvK,GAITgkD,EAAO6iB,WAAOjnE,EAAW,CAAEI,GAC5B,CACD,CAzOA2gK,EAAO0O,UAAY,SAAUnlF,GAI5BA,EAA6B,kBAAZA,EAChB6kF,EAAe7kF,GACfy2E,EAAO5b,OAAQ,CAAC,EAAG76D,GAEpB,IACColF,EAGAC,EAGAC,EAGAC,EAGAjtE,EAAO,GAGPviF,EAAQ,GAGRyvJ,GAAe,EAGfv7I,EAAO,WAQN,IALAs7I,EAASA,GAAUvlF,EAAQ+oB,KAI3Bu8D,EAAQF,GAAS,EACTrvJ,EAAMpK,OAAQ65J,GAAe,EAAI,CACxCH,EAAStvJ,EAAMo2D,QACf,QAAUq5F,EAAcltE,EAAK3sF,QAGmC,IAA1D2sF,EAAMktE,GAAc7oG,MAAO0oG,EAAQ,GAAKA,EAAQ,KACpDrlF,EAAQylF,cAGRD,EAAcltE,EAAK3sF,OACnB05J,GAAS,EAGZ,CAGMrlF,EAAQqlF,SACbA,GAAS,GAGVD,GAAS,EAGJG,IAIHjtE,EADI+sE,EACG,GAIA,GAGV,EAGAp1J,EAAO,CAGN3C,IAAK,WA2BJ,OA1BKgrF,IAGC+sE,IAAWD,IACfI,EAAcltE,EAAK3sF,OAAS,EAC5BoK,EAAM2tB,KAAM2hI,IAGb,SAAW/3J,EAAK9B,GACfirJ,EAAOvT,KAAM13I,GAAM,SAAU+7G,EAAGhlG,GAC1BylE,EAAYzlE,GACVy9D,EAAQmjF,QAAWlzJ,EAAKurF,IAAKj5E,IAClC+1E,EAAK50D,KAAMnhB,GAEDA,GAAOA,EAAI5W,QAA4B,WAAlBwoJ,EAAQ5xI,IAGxCjV,EAAKiV,EAEP,GACC,CAZF,CAYK7W,WAEA25J,IAAWD,GACfn7I,KAGKn6B,IACR,EAGAqiC,OAAQ,WAYP,OAXAskI,EAAOvT,KAAMx3I,WAAW,SAAU67G,EAAGhlG,GACpC,IAAIm0B,EACJ,OAAUA,EAAQ+/G,EAAOiB,QAASn1I,EAAK+1E,EAAM5hD,KAAa,EACzD4hD,EAAK38F,OAAQ+6C,EAAO,GAGfA,GAAS8uH,GACbA,GAGH,IACO11K,IACR,EAIA0rG,IAAK,SAAUhyF,GACd,OAAOA,EACNitJ,EAAOiB,QAASluJ,EAAI8uF,IAAU,EAC9BA,EAAK3sF,OAAS,CAChB,EAGA6mJ,MAAO,WAIN,OAHKl6D,IACJA,EAAO,IAEDxoG,IACR,EAKA4gK,QAAS,WAGR,OAFA6U,EAASxvJ,EAAQ,GACjBuiF,EAAO+sE,EAAS,GACTv1K,IACR,EACAo0B,SAAU,WACT,OAAQo0E,CACT,EAKAotE,KAAM,WAKL,OAJAH,EAASxvJ,EAAQ,GACXsvJ,GAAWD,IAChB9sE,EAAO+sE,EAAS,IAEVv1K,IACR,EACAy1K,OAAQ,WACP,QAASA,CACV,EAGAI,SAAU,SAAUn6I,EAAShgB,GAS5B,OARM+5J,IACL/5J,EAAOA,GAAQ,GACfA,EAAO,CAAEggB,EAAShgB,EAAKg4B,MAAQh4B,EAAKg4B,QAAUh4B,GAC9CuK,EAAM2tB,KAAMl4B,GACN45J,GACLn7I,KAGKn6B,IACR,EAGAm6B,KAAM,WAEL,OADAha,EAAK01J,SAAU71K,KAAM4b,WACd5b,IACR,EAGAw1K,MAAO,WACN,QAASA,CACV,GAGF,OAAOr1J,CACR,EA2CAwmJ,EAAO5b,OAAQ,CAEd+qB,SAAU,SAAU1wJ,GACnB,IAAI2wJ,EAAS,CAIX,CAAE,SAAU,WAAYpP,EAAO0O,UAAW,UACzC1O,EAAO0O,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQ1O,EAAO0O,UAAW,eACtC1O,EAAO0O,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQ1O,EAAO0O,UAAW,eACrC1O,EAAO0O,UAAW,eAAiB,EAAG,aAExC97J,EAAQ,UACR67J,EAAU,CACT77J,MAAO,WACN,OAAOA,CACR,EACAy8J,OAAQ,WAEP,OADAC,EAASjpH,KAAMpxC,WAAYiuB,KAAMjuB,WAC1B5b,IACR,EACA,MAAS,SAAU0Z,GAClB,OAAO07J,EAAQh7F,KAAM,KAAM1gE,EAC5B,EAGAw8J,KAAM,WACL,IAAI9pB,EAAMxwI,UAEV,OAAO+qJ,EAAOmP,UAAU,SAAUK,GACjCxP,EAAOvT,KAAM2iB,GAAQ,SAAUp6J,EAAIy6J,GAGlC,IAAI18J,EAAKw+E,EAAYk0D,EAAKgqB,EAAO,MAAWhqB,EAAKgqB,EAAO,IAKxDH,EAAUG,EAAO,KAAO,WACvB,IAAIC,EAAW38J,GAAMA,EAAGmzD,MAAO7sE,KAAM4b,WAChCy6J,GAAYn+E,EAAYm+E,EAASjB,SACrCiB,EAASjB,UACPkB,SAAUH,EAAStqE,QACnB7+C,KAAMmpH,EAASpsH,SACflgB,KAAMssI,EAASnsH,QAEjBmsH,EAAUC,EAAO,GAAM,QACtBp2K,KACA0Z,EAAK,CAAE28J,GAAaz6J,UAGvB,GACD,IACAwwI,EAAM,IACP,IAAIgpB,SACL,EACAh7F,KAAM,SAAUm8F,EAAarjF,EAAYsjF,GACxC,IAAIC,EAAW,EACf,SAAS1sH,EAAS4vD,EAAOs8D,EAAUx8J,EAASqrJ,GAC3C,OAAO,WACN,IAAIroI,EAAOz8B,KACV0b,EAAOE,UACP86J,EAAa,WACZ,IAAIL,EAAUj8F,EAKd,KAAKu/B,EAAQ88D,GAAb,CAQA,GAJAJ,EAAW58J,EAAQozD,MAAOpwC,EAAM/gB,GAI3B26J,IAAaJ,EAASb,UAC1B,MAAM,IAAI56E,UAAW,4BAOtBpgB,EAAOi8F,IAKgB,kBAAbA,GACY,oBAAbA,IACRA,EAASj8F,KAGL8d,EAAY9d,GAGX0qF,EACJ1qF,EAAKr6E,KACJs2K,EACAtsH,EAAS0sH,EAAUR,EAAUjB,EAAUlQ,GACvC/6G,EAAS0sH,EAAUR,EAAUhB,EAASnQ,KAOvC2R,IAEAr8F,EAAKr6E,KACJs2K,EACAtsH,EAAS0sH,EAAUR,EAAUjB,EAAUlQ,GACvC/6G,EAAS0sH,EAAUR,EAAUhB,EAASnQ,GACtC/6G,EAAS0sH,EAAUR,EAAUjB,EAC5BiB,EAASU,eASPl9J,IAAYu7J,IAChBv4I,OAAO72B,EACP8V,EAAO,CAAE26J,KAKRvR,GAAWmR,EAASW,aAAen6I,EAAM/gB,GA7D5C,CA+DD,EAGAs4E,EAAU8wE,EACT4R,EACA,WACC,IACCA,GACD,CAAE,MAAQ5vK,GAEJ6/J,EAAOmP,SAASe,eACpBlQ,EAAOmP,SAASe,cAAe/vK,EAC9BktF,EAAQh1F,OAML26G,EAAQ,GAAK88D,IAIZh9J,IAAYw7J,IAChBx4I,OAAO72B,EACP8V,EAAO,CAAE5U,IAGVmvK,EAASa,WAAYr6I,EAAM/gB,GAE7B,CACD,EAMGi+F,EACJ3lB,KAKK2yE,EAAOmP,SAASiB,aACpB/iF,EAAQh1F,MAAQ2nK,EAAOmP,SAASiB,eAMrBpQ,EAAOmP,SAASkB,eAC3BhjF,EAAQh1F,MAAQ2nK,EAAOmP,SAASkB,gBAEjCh5H,EAAOmpD,WAAYnT,GAErB,CACD,CAEA,OAAO2yE,EAAOmP,UAAU,SAAUK,GAGjCJ,EAAQ,GAAK,GAAIv4J,IAChBusC,EACC,EACAosH,EACAj+E,EAAYs+E,GACXA,EACAxB,EACDmB,EAASQ,aAKXZ,EAAQ,GAAK,GAAIv4J,IAChBusC,EACC,EACAosH,EACAj+E,EAAYq+E,GACXA,EACAvB,IAKHe,EAAQ,GAAK,GAAIv4J,IAChBusC,EACC,EACAosH,EACAj+E,EAAYhF,GACXA,EACA+hF,GAGJ,IAAIG,SACL,EAIAA,QAAS,SAAU1rK,GAClB,OAAc,MAAPA,EAAci9J,EAAO5b,OAAQrhJ,EAAK0rK,GAAYA,CACtD,GAEDa,EAAW,CAAC,EAkEb,OA/DAtP,EAAOvT,KAAM2iB,GAAQ,SAAUrwK,EAAG0wK,GACjC,IAAI5tE,EAAO4tE,EAAO,GACjBa,EAAcb,EAAO,GAKtBhB,EAASgB,EAAO,IAAQ5tE,EAAKhrF,IAGxBy5J,GACJzuE,EAAKhrF,KACJ,WAICjE,EAAQ09J,CACT,GAIAlB,EAAQ,EAAIrwK,GAAK,GAAIk7J,QAIrBmV,EAAQ,EAAIrwK,GAAK,GAAIk7J,QAGrBmV,EAAQ,GAAK,GAAIH,KAGjBG,EAAQ,GAAK,GAAIH,MAOnBptE,EAAKhrF,IAAK44J,EAAO,GAAIj8I,MAKrB87I,EAAUG,EAAO,IAAQ,WAExB,OADAH,EAAUG,EAAO,GAAM,QAAUp2K,OAASi2K,OAAWrwK,EAAY5F,KAAM4b,WAChE5b,IACR,EAKAi2K,EAAUG,EAAO,GAAM,QAAW5tE,EAAKqtE,QACxC,IAGAT,EAAQA,QAASa,GAGZ7wJ,GACJA,EAAKrlB,KAAMk2K,EAAUA,GAIfA,CACR,EAGAiB,KAAM,SAAUC,GACf,IAGCnkH,EAAYp3C,UAAUC,OAGtBnW,EAAIstD,EAGJokH,EAAkB9pK,MAAO5H,GACzB2xK,EAAgB3jI,EAAM3zC,KAAM6b,WAG5B07J,EAAU3Q,EAAOmP,WAGjByB,EAAa,SAAU7xK,GACtB,OAAO,SAAUM,GAChBoxK,EAAiB1xK,GAAM1F,KACvBq3K,EAAe3xK,GAAMkW,UAAUC,OAAS,EAAI63B,EAAM3zC,KAAM6b,WAAc5V,IAC5DgtD,GACTskH,EAAQV,YAAaQ,EAAiBC,EAExC,CACD,EAGD,GAAKrkH,GAAa,IACjBkiH,EAAYiC,EAAaG,EAAQtqH,KAAMuqH,EAAY7xK,IAAMqkD,QAASutH,EAAQttH,QACxEgJ,GAGuB,YAApBskH,EAAQ/9J,SACZ2+E,EAAYm/E,EAAe3xK,IAAO2xK,EAAe3xK,GAAI00E,OAErD,OAAOk9F,EAAQl9F,OAKjB,MAAQ10E,IACPwvK,EAAYmC,EAAe3xK,GAAK6xK,EAAY7xK,GAAK4xK,EAAQttH,QAG1D,OAAOstH,EAAQlC,SAChB,IAMD,IAAIoC,GAAc,yDAKlB7Q,EAAOmP,SAASe,cAAgB,SAAU73K,EAAOy4K,GAI3Cz5H,EAAO70B,SAAW60B,EAAO70B,QAAQwtH,MAAQ33I,GAASw4K,GAAYtsK,KAAMlM,EAAMI,OAC9E4+C,EAAO70B,QAAQwtH,KAAM,8BAAgC33I,EAAMJ,QAC1DI,EAAMgL,MAAOytK,EAEhB,EAKA9Q,EAAO+Q,eAAiB,SAAU14K,GACjCg/C,EAAOmpD,YAAY,WAClB,MAAMnoG,CACP,GACD,EAMA,IAAI24K,GAAYhR,EAAOmP,WAkDvB,SAASpiG,KACRmY,EAASykC,oBAAqB,mBAAoB58C,IAClD11B,EAAOsyE,oBAAqB,OAAQ58C,IACpCizF,EAAOsN,OACR,CApDAtN,EAAOjtJ,GAAGu6J,MAAQ,SAAUv6J,GAY3B,OAVAi+J,GACEv9F,KAAM1gE,GAKNghE,OAAO,SAAU17E,GACjB2nK,EAAO+Q,eAAgB14K,EACxB,IAEMgB,IACR,EAEA2mK,EAAO5b,OAAQ,CAGdnnF,SAAS,EAITg0G,UAAW,EAGX3D,MAAO,SAAU4D,KAGF,IAATA,IAAkBlR,EAAOiR,UAAYjR,EAAO/iG,WAKjD+iG,EAAO/iG,SAAU,GAGH,IAATi0G,KAAmBlR,EAAOiR,UAAY,GAK3CD,GAAUf,YAAa/qF,EAAU,CAAE86E,IACpC,IAGDA,EAAOsN,MAAM75F,KAAOu9F,GAAUv9F,KAaD,aAAxByR,EAAS1nC,YACa,YAAxB0nC,EAAS1nC,aAA6B0nC,EAAS+qE,gBAAgBkhB,SAGjE95H,EAAOmpD,WAAYw/D,EAAOsN,QAK1BpoF,EAASwkC,iBAAkB,mBAAoB38C,IAG/C11B,EAAOqyE,iBAAkB,OAAQ38C,KAQlC,IAAIqkG,GAAS,SAAUhR,EAAOrtJ,EAAIrU,EAAKW,EAAOgyK,EAAWC,EAAU9uE,GAClE,IAAIzjG,EAAI,EACPk9B,EAAMmkI,EAAMlrJ,OACZq8J,EAAc,MAAP7yK,EAGR,GAAuB,WAAlBg/J,EAAQh/J,GAEZ,IAAMK,KADNsyK,GAAY,EACD3yK,EACV0yK,GAAQhR,EAAOrtJ,EAAIhU,EAAGL,EAAKK,IAAK,EAAMuyK,EAAU9uE,QAI3C,QAAevjG,IAAVI,IACXgyK,GAAY,EAEN9/E,EAAYlyF,KACjBmjG,GAAM,GAGF+uE,IAGC/uE,GACJzvF,EAAG3Z,KAAMgnK,EAAO/gK,GAChB0T,EAAK,OAILw+J,EAAOx+J,EACPA,EAAK,SAAU+2I,EAAM54C,EAAM7xG,GAC1B,OAAOkyK,EAAKn4K,KAAM4mK,EAAQlW,GAAQzqJ,EACnC,IAIG0T,GACJ,KAAQhU,EAAIk9B,EAAKl9B,IAChBgU,EACCqtJ,EAAOrhK,GAAKL,EAAK8jG,EAChBnjG,EACAA,EAAMjG,KAAMgnK,EAAOrhK,GAAKA,EAAGgU,EAAIqtJ,EAAOrhK,GAAKL,KAMhD,OAAK2yK,EACGjR,EAIHmR,EACGx+J,EAAG3Z,KAAMgnK,GAGVnkI,EAAMlpB,EAAIqtJ,EAAO,GAAK1hK,GAAQ4yK,CACtC,EAIIE,GAAY,QACfC,GAAa,YAGd,SAASC,GAAYroJ,EAAMC,GAC1B,OAAOA,EAAOze,aACf,CAKA,SAAS8mK,GAAWC,GACnB,OAAOA,EAAOvlK,QAASmlK,GAAW,OAAQnlK,QAASolK,GAAYC,GAChE,CACA,IAAIG,GAAa,SAAUlhJ,GAQ1B,OAA0B,IAAnBA,EAAMysF,UAAqC,IAAnBzsF,EAAMysF,YAAsBzsF,EAAMysF,QAClE,EAKA,SAASj/G,KACR9E,KAAKwnK,QAAUb,EAAOa,QAAU1iK,GAAKkV,KACtC,CAEAlV,GAAKkV,IAAM,EAEXlV,GAAKkI,UAAY,CAEhB8lH,MAAO,SAAUx7F,GAGhB,IAAItxB,EAAQsxB,EAAOt3B,KAAKwnK,SA4BxB,OAzBMxhK,IACLA,EAAQ,CAAC,EAKJwyK,GAAYlhJ,KAIXA,EAAMysF,SACVzsF,EAAOt3B,KAAKwnK,SAAYxhK,EAMxB6pB,OAAO45F,eAAgBnyF,EAAOt3B,KAAKwnK,QAAS,CAC3CxhK,MAAOA,EACPu4F,cAAc,MAMXv4F,CACR,EACAwR,IAAK,SAAU8f,EAAOtyB,EAAMgB,GAC3B,IAAIa,EACHisH,EAAQ9yH,KAAK8yH,MAAOx7F,GAIrB,GAAqB,kBAATtyB,EACX8tH,EAAOwlD,GAAWtzK,IAAWgB,OAM7B,IAAMa,KAAQ7B,EACb8tH,EAAOwlD,GAAWzxK,IAAW7B,EAAM6B,GAGrC,OAAOisH,CACR,EACA72G,IAAK,SAAUqb,EAAOjyB,GACrB,YAAeO,IAARP,EACNrF,KAAK8yH,MAAOx7F,GAGZA,EAAOt3B,KAAKwnK,UAAalwI,EAAOt3B,KAAKwnK,SAAW8Q,GAAWjzK,GAC7D,EACA0yK,OAAQ,SAAUzgJ,EAAOjyB,EAAKW,GAa7B,YAAaJ,IAARP,GACCA,GAAsB,kBAARA,QAAgCO,IAAVI,EAElChG,KAAKic,IAAKqb,EAAOjyB,IASzBrF,KAAKwX,IAAK8f,EAAOjyB,EAAKW,QAILJ,IAAVI,EAAsBA,EAAQX,EACtC,EACAg9B,OAAQ,SAAU/K,EAAOjyB,GACxB,IAAIK,EACHotH,EAAQx7F,EAAOt3B,KAAKwnK,SAErB,QAAe5hK,IAAVktH,EAAL,CAIA,QAAaltH,IAARP,EAAoB,CAGnBiI,MAAMqnD,QAAStvD,GAInBA,EAAMA,EAAIC,IAAKgzK,KAEfjzK,EAAMizK,GAAWjzK,GAIjBA,EAAMA,KAAOytH,EACZ,CAAEztH,GACAA,EAAI8I,MAAO2mK,IAAmB,IAGlCpvK,EAAIL,EAAIwW,OAER,MAAQnW,WACAotH,EAAOztH,EAAKK,GAErB,OAGaE,IAARP,GAAqBshK,EAAOe,cAAe50C,MAM1Cx7F,EAAMysF,SACVzsF,EAAOt3B,KAAKwnK,cAAY5hK,SAEjB0xB,EAAOt3B,KAAKwnK,SArCrB,CAwCD,EACAiR,QAAS,SAAUnhJ,GAClB,IAAIw7F,EAAQx7F,EAAOt3B,KAAKwnK,SACxB,YAAiB5hK,IAAVktH,IAAwB6zC,EAAOe,cAAe50C,EACtD,GAED,IAAI4lD,GAAW,IAAI5zK,GAEf6zK,GAAW,IAAI7zK,GAcf8zK,GAAS,gCACZC,GAAa,SAEd,SAASC,GAAS9zK,GACjB,MAAc,SAATA,GAIS,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJ4zK,GAAO1tK,KAAMlG,GACVgE,KAAK+tC,MAAO/xC,GAGbA,EACR,CAEA,SAAS6+J,GAAUpT,EAAMprJ,EAAKL,GAC7B,IAAI5F,EAIJ,QAAcwG,IAATZ,GAAwC,IAAlByrJ,EAAK1sC,SAI/B,GAHA3kH,EAAO,QAAUiG,EAAI2N,QAAS6lK,GAAY,OAAQ9lK,cAClD/N,EAAOyrJ,EAAK1hC,aAAc3vH,GAEL,kBAAT4F,EAAoB,CAC/B,IACCA,EAAO8zK,GAAS9zK,EACjB,CAAE,MAAQ8B,GAAK,CAGf6xK,GAASnhK,IAAKi5I,EAAMprJ,EAAKL,EAC1B,MACCA,OAAOY,EAGT,OAAOZ,CACR,CAEA2hK,EAAO5b,OAAQ,CACd0tB,QAAS,SAAUhoB,GAClB,OAAOkoB,GAASF,QAAShoB,IAAUioB,GAASD,QAAShoB,EACtD,EAEAzrJ,KAAM,SAAUyrJ,EAAMrxJ,EAAM4F,GAC3B,OAAO2zK,GAASZ,OAAQtnB,EAAMrxJ,EAAM4F,EACrC,EAEA8tJ,WAAY,SAAUrC,EAAMrxJ,GAC3Bu5K,GAASt2I,OAAQouH,EAAMrxJ,EACxB,EAIA25K,MAAO,SAAUtoB,EAAMrxJ,EAAM4F,GAC5B,OAAO0zK,GAASX,OAAQtnB,EAAMrxJ,EAAM4F,EACrC,EAEAg0K,YAAa,SAAUvoB,EAAMrxJ,GAC5Bs5K,GAASr2I,OAAQouH,EAAMrxJ,EACxB,IAGDunK,EAAOjtJ,GAAGqxI,OAAQ,CACjB/lJ,KAAM,SAAUK,EAAKW,GACpB,IAAIN,EAAGtG,EAAM4F,EACZyrJ,EAAOzwJ,KAAM,GACbs4H,EAAQm4B,GAAQA,EAAK3N,WAGtB,QAAal9I,IAARP,EAAoB,CACxB,GAAKrF,KAAK6b,SACT7W,EAAO2zK,GAAS18J,IAAKw0I,GAEE,IAAlBA,EAAK1sC,WAAmB20D,GAASz8J,IAAKw0I,EAAM,iBAAmB,CACnE/qJ,EAAI4yH,EAAMz8G,OACV,MAAQnW,IAIF4yH,EAAO5yH,KACXtG,EAAOk5H,EAAO5yH,GAAItG,KACe,IAA5BA,EAAK21B,QAAS,WAClB31B,EAAOk5K,GAAWl5K,EAAKs0C,MAAO,IAC9BmwH,GAAUpT,EAAMrxJ,EAAM4F,EAAM5F,MAI/Bs5K,GAASlhK,IAAKi5I,EAAM,gBAAgB,EACrC,CAGD,OAAOzrJ,CACR,CAGA,MAAoB,kBAARK,EACJrF,KAAKozJ,MAAM,WACjBulB,GAASnhK,IAAKxX,KAAMqF,EACrB,IAGM0yK,GAAQ/3K,MAAM,SAAUgG,GAC9B,IAAIhB,EAOJ,GAAKyrJ,QAAkB7qJ,IAAVI,EAKZ,OADAhB,EAAO2zK,GAAS18J,IAAKw0I,EAAMprJ,QACbO,IAATZ,EACGA,GAKRA,EAAO6+J,GAAUpT,EAAMprJ,QACTO,IAATZ,EACGA,OAIR,GAIDhF,KAAKozJ,MAAM,WAGVulB,GAASnhK,IAAKxX,KAAMqF,EAAKW,EAC1B,GACD,GAAG,KAAMA,EAAO4V,UAAUC,OAAS,EAAG,MAAM,EAC7C,EAEAi3I,WAAY,SAAUztJ,GACrB,OAAOrF,KAAKozJ,MAAM,WACjBulB,GAASt2I,OAAQriC,KAAMqF,EACxB,GACD,IAIDshK,EAAO5b,OAAQ,CACd9kI,MAAO,SAAUwqI,EAAMtgJ,EAAMnL,GAC5B,IAAIihB,EAEJ,GAAKwqI,EAYJ,OAXAtgJ,GAASA,GAAQ,MAAS,QAC1B8V,EAAQyyJ,GAASz8J,IAAKw0I,EAAMtgJ,GAGvBnL,KACEihB,GAAS3Y,MAAMqnD,QAAS3vD,GAC7BihB,EAAQyyJ,GAASX,OAAQtnB,EAAMtgJ,EAAMw2J,EAAOlM,UAAWz1J,IAEvDihB,EAAM2tB,KAAM5uC,IAGPihB,GAAS,EAElB,EAEAgzJ,QAAS,SAAUxoB,EAAMtgJ,GACxBA,EAAOA,GAAQ,KAEf,IAAI8V,EAAQ0gJ,EAAO1gJ,MAAOwqI,EAAMtgJ,GAC/B+oK,EAAcjzJ,EAAMpK,OACpBnC,EAAKuM,EAAMo2D,QACXvmD,EAAQ6wI,EAAOwS,YAAa1oB,EAAMtgJ,GAClCsS,EAAO,WACNkkJ,EAAOsS,QAASxoB,EAAMtgJ,EACvB,EAGW,eAAPuJ,IACJA,EAAKuM,EAAMo2D,QACX68F,KAGIx/J,IAIU,OAATvJ,GACJ8V,EAAMsrF,QAAS,qBAITz7E,EAAMwhB,KACb59B,EAAG3Z,KAAM0wJ,EAAMhuI,EAAMqT,KAGhBojJ,GAAepjJ,GACpBA,EAAM4sI,MAAMvoI,MAEd,EAGAg/I,YAAa,SAAU1oB,EAAMtgJ,GAC5B,IAAI9K,EAAM8K,EAAO,aACjB,OAAOuoK,GAASz8J,IAAKw0I,EAAMprJ,IAASqzK,GAASX,OAAQtnB,EAAMprJ,EAAK,CAC/Dq9J,MAAOiE,EAAO0O,UAAW,eAAgB73J,KAAK,WAC7Ck7J,GAASr2I,OAAQouH,EAAM,CAAEtgJ,EAAO,QAAS9K,GAC1C,KAEF,IAGDshK,EAAOjtJ,GAAGqxI,OAAQ,CACjB9kI,MAAO,SAAU9V,EAAMnL,GACtB,IAAI2mC,EAAS,EAQb,MANqB,kBAATx7B,IACXnL,EAAOmL,EACPA,EAAO,KACPw7B,KAGI/vB,UAAUC,OAAS8vB,EAChBg7H,EAAO1gJ,MAAOjmB,KAAM,GAAKmQ,QAGjBvK,IAATZ,EACNhF,KACAA,KAAKozJ,MAAM,WACV,IAAIntI,EAAQ0gJ,EAAO1gJ,MAAOjmB,KAAMmQ,EAAMnL,GAGtC2hK,EAAOwS,YAAan5K,KAAMmQ,GAEZ,OAATA,GAAgC,eAAf8V,EAAO,IAC5B0gJ,EAAOsS,QAASj5K,KAAMmQ,EAExB,GACF,EACA8oK,QAAS,SAAU9oK,GAClB,OAAOnQ,KAAKozJ,MAAM,WACjBuT,EAAOsS,QAASj5K,KAAMmQ,EACvB,GACD,EACAipK,WAAY,SAAUjpK,GACrB,OAAOnQ,KAAKimB,MAAO9V,GAAQ,KAAM,GAClC,EAIAilK,QAAS,SAAUjlK,EAAMzG,GACxB,IAAImZ,EACHnU,EAAQ,EACRm1B,EAAQ8iI,EAAOmP,WACf3c,EAAWn5J,KACX0F,EAAI1F,KAAK6b,OACTkuC,EAAU,aACCr7C,GACTm1B,EAAM+yI,YAAazd,EAAU,CAAEA,GAEjC,EAEoB,kBAAThpJ,IACXzG,EAAMyG,EACNA,OAAOvK,GAERuK,EAAOA,GAAQ,KAEf,MAAQzK,IACPmd,EAAM61J,GAASz8J,IAAKk9I,EAAUzzJ,GAAKyK,EAAO,cACrC0S,GAAOA,EAAI6/I,QACfh0J,IACAmU,EAAI6/I,MAAMllJ,IAAKusC,IAIjB,OADAA,IACOlmB,EAAMuxI,QAAS1rK,EACvB,IAED,IAAI2vK,GAAO,sCAA0C95J,OAEjD+5J,GAAU,IAAIxmK,OAAQ,iBAAmBumK,GAAO,cAAe,KAG/DE,GAAY,CAAE,MAAO,QAAS,SAAU,QAExC3iB,GAAkB/qE,EAAS+qE,gBAI1B4iB,GAAa,SAAU/oB,GACzB,OAAOkW,EAAOrV,SAAUb,EAAKiR,cAAejR,EAC7C,EACAgpB,GAAW,CAAEA,UAAU,GAOnB7iB,GAAgB4O,cACpBgU,GAAa,SAAU/oB,GACtB,OAAOkW,EAAOrV,SAAUb,EAAKiR,cAAejR,IAC3CA,EAAK+U,YAAaiU,MAAehpB,EAAKiR,aACxC,GAEF,IAAIgY,GAAqB,SAAUjpB,EAAMrxC,GAOvC,OAHAqxC,EAAOrxC,GAAMqxC,EAGiB,SAAvBA,EAAKhjC,MAAMwvB,SACM,KAAvBwT,EAAKhjC,MAAMwvB,SAMXu8B,GAAY/oB,IAEsB,SAAlCkW,EAAO7tB,IAAK2X,EAAM,UACpB,EAID,SAASkpB,GAAWlpB,EAAM5pJ,EAAM+yK,EAAYC,GAC3C,IAAIC,EAAUC,EACbC,EAAgB,GAChBC,EAAeJ,EACd,WACC,OAAOA,EAAMt+D,KACd,EACA,WACC,OAAOorD,EAAO7tB,IAAK2X,EAAM5pJ,EAAM,GAChC,EACDqzK,EAAUD,IACVE,EAAOP,GAAcA,EAAY,KAASjT,EAAOyT,UAAWvzK,GAAS,GAAK,MAG1EwzK,EAAgB5pB,EAAK1sC,WAClB4iD,EAAOyT,UAAWvzK,IAAmB,OAATszK,IAAkBD,IAChDZ,GAAQptK,KAAMy6J,EAAO7tB,IAAK2X,EAAM5pJ,IAElC,GAAKwzK,GAAiBA,EAAe,KAAQF,EAAO,CAInDD,GAAoB,EAGpBC,EAAOA,GAAQE,EAAe,GAG9BA,GAAiBH,GAAW,EAE5B,MAAQF,IAIPrT,EAAOl5C,MAAOgjC,EAAM5pJ,EAAMwzK,EAAgBF,IACnC,EAAIJ,IAAY,GAAMA,EAAQE,IAAiBC,GAAW,MAAW,IAC3EF,EAAgB,GAEjBK,GAAgCN,EAIjCM,GAAgC,EAChC1T,EAAOl5C,MAAOgjC,EAAM5pJ,EAAMwzK,EAAgBF,GAG1CP,EAAaA,GAAc,EAC5B,CAeA,OAbKA,IACJS,GAAiBA,IAAkBH,GAAW,EAG9CJ,EAAWF,EAAY,GACtBS,GAAkBT,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTC,IACJA,EAAMM,KAAOA,EACbN,EAAMzlK,MAAQimK,EACdR,EAAMxlK,IAAMylK,IAGPA,CACR,CAGA,IAAIQ,GAAoB,CAAC,EAEzB,SAASC,GAAmB9pB,GAC3B,IAAImhB,EACH3nJ,EAAMwmI,EAAKiR,cACXlH,EAAW/J,EAAK+J,SAChBvd,EAAUq9B,GAAmB9f,GAE9B,OAAKvd,IAIL20B,EAAO3nJ,EAAI+7B,KAAKyyF,YAAaxuH,EAAIhZ,cAAeupJ,IAChDvd,EAAU0pB,EAAO7tB,IAAK84B,EAAM,WAE5BA,EAAKluD,WAAWq0B,YAAa65B,GAEZ,SAAZ30B,IACJA,EAAU,SAEXq9B,GAAmB9f,GAAavd,EAEzBA,EACR,CAEA,SAASu9B,GAAUrhB,EAAUhI,GAO5B,IANA,IAAIlU,EAASwT,EACZphH,EAAS,GACTuX,EAAQ,EACR/qC,EAASs9I,EAASt9I,OAGX+qC,EAAQ/qC,EAAQ+qC,IACvB6pG,EAAO0I,EAAUvyG,GACX6pG,EAAKhjC,QAIXwvB,EAAUwT,EAAKhjC,MAAMwvB,QAChBkU,GAKa,SAAZlU,IACJ5tG,EAAQuX,GAAU8xH,GAASz8J,IAAKw0I,EAAM,YAAe,KAC/CphH,EAAQuX,KACb6pG,EAAKhjC,MAAMwvB,QAAU,KAGK,KAAvBwT,EAAKhjC,MAAMwvB,SAAkBy8B,GAAoBjpB,KACrDphH,EAAQuX,GAAU2zH,GAAmB9pB,KAGrB,SAAZxT,IACJ5tG,EAAQuX,GAAU,OAGlB8xH,GAASlhK,IAAKi5I,EAAM,UAAWxT,KAMlC,IAAMr2F,EAAQ,EAAGA,EAAQ/qC,EAAQ+qC,IACR,MAAnBvX,EAAQuX,KACZuyG,EAAUvyG,GAAQ6mE,MAAMwvB,QAAU5tG,EAAQuX,IAI5C,OAAOuyG,CACR,CAEAwN,EAAOjtJ,GAAGqxI,OAAQ,CACjBoG,KAAM,WACL,OAAOqpB,GAAUx6K,MAAM,EACxB,EACAkxJ,KAAM,WACL,OAAOspB,GAAUx6K,KAClB,EACAiwJ,OAAQ,SAAU12I,GACjB,MAAsB,mBAAVA,EACJA,EAAQvZ,KAAKmxJ,OAASnxJ,KAAKkxJ,OAG5BlxJ,KAAKozJ,MAAM,WACZsmB,GAAoB15K,MACxB2mK,EAAQ3mK,MAAOmxJ,OAEfwV,EAAQ3mK,MAAOkxJ,MAEjB,GACD,IAED,IAAIupB,GAAiB,wBAEjBC,GAAW,iCAEXC,GAAc,sCAIlB,WACC,IAAIC,EAAW/uF,EAASgvF,yBACvBlf,EAAMif,EAASniC,YAAa5sD,EAAS56E,cAAe,QACpD5J,EAAQwkF,EAAS56E,cAAe,SAMjC5J,EAAM68G,aAAc,OAAQ,SAC5B78G,EAAM68G,aAAc,UAAW,WAC/B78G,EAAM68G,aAAc,OAAQ,KAE5By3C,EAAIljB,YAAapxI,GAIjBg/J,EAAQyU,WAAanf,EAAIpjB,WAAW,GAAOA,WAAW,GAAO3rB,UAAUi6B,QAIvE8U,EAAIzuC,UAAY,yBAChBm5C,EAAQ0U,iBAAmBpf,EAAIpjB,WAAW,GAAO3rB,UAAUn0G,aAK3DkjJ,EAAIzuC,UAAY,oBAChBm5C,EAAQze,SAAW+T,EAAI/uC,SACtB,EA7BF,GAiCA,IAAIouD,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBxf,IAAK,CAAE,EAAG,oBAAqB,uBAC/Byf,GAAI,CAAE,EAAG,iBAAkB,oBAC3BC,GAAI,CAAE,EAAG,qBAAsB,yBAE/BC,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASC,GAAQ3/I,EAASs8G,GAIzB,IAAIvgC,EAYJ,OATCA,EAD4C,qBAAjC/7E,EAAQ8H,qBACb9H,EAAQ8H,qBAAsBw0G,GAAO,KAEI,qBAA7Bt8G,EAAQ+hH,iBACpB/hH,EAAQ+hH,iBAAkBzF,GAAO,KAGjC,QAGMpyI,IAARoyI,GAAqBA,GAAOwiB,EAAU9+H,EAASs8G,GAC5C2uB,EAAOlgG,MAAO,CAAE/qC,GAAW+7E,GAG5BA,CACR,CAIA,SAAS6jE,GAAevU,EAAOwU,GAI9B,IAHA,IAAI71K,EAAI,EACPmhE,EAAIkgG,EAAMlrJ,OAEHnW,EAAImhE,EAAGnhE,IACdgzK,GAASlhK,IACRuvJ,EAAOrhK,GACP,cACC61K,GAAe7C,GAASz8J,IAAKs/J,EAAa71K,GAAK,cAGnD,CA7CAs1K,GAAQQ,MAAQR,GAAQS,MAAQT,GAAQU,SAAWV,GAAQW,QAAUX,GAAQC,MAC7ED,GAAQY,GAAKZ,GAAQG,GAGf9U,EAAQze,SACbozB,GAAQa,SAAWb,GAAQpzB,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAIk0B,GAAQ,YAEZ,SAASC,GAAehV,EAAOrrI,EAAS6H,EAASy4I,EAAWC,GAO3D,IANA,IAAIxrB,EAAM5tI,EAAKm1H,EAAKxjC,EAAM2rC,EAAUj3G,EACnC0xI,EAAWl/I,EAAQm/I,yBACnBqB,EAAQ,GACRx2K,EAAI,EACJmhE,EAAIkgG,EAAMlrJ,OAEHnW,EAAImhE,EAAGnhE,IAGd,GAFA+qJ,EAAOsW,EAAOrhK,GAET+qJ,GAAiB,IAATA,EAGZ,GAAwB,WAAnB4T,EAAQ5T,GAIZkW,EAAOlgG,MAAOy1G,EAAOzrB,EAAK1sC,SAAW,CAAE0sC,GAASA,QAG1C,GAAMqrB,GAAM5wK,KAAMulJ,GAIlB,CACN5tI,EAAMA,GAAO+3J,EAASniC,YAAa/8G,EAAQzqB,cAAe,QAG1D+mI,GAAQ0iC,GAASxuK,KAAMukJ,IAAU,CAAE,GAAI,KAAQ,GAAI19I,cACnDyhG,EAAOwmE,GAAShjC,IAASgjC,GAAQI,SACjCv4J,EAAIqqG,UAAY1Y,EAAM,GAAMmyD,EAAOwV,cAAe1rB,GAASj8C,EAAM,GAGjEtrE,EAAIsrE,EAAM,GACV,MAAQtrE,IACPrmB,EAAMA,EAAI+pG,UAKX+5C,EAAOlgG,MAAOy1G,EAAOr5J,EAAI8oJ,YAGzB9oJ,EAAM+3J,EAAS92D,WAGfjhG,EAAIsqG,YAAc,EACnB,MA1BC+uD,EAAMtoI,KAAMlY,EAAQy8G,eAAgBsY,IA+BvCmqB,EAASztD,YAAc,GAEvBznH,EAAI,EACJ,MAAU+qJ,EAAOyrB,EAAOx2K,KAGvB,GAAKs2K,GAAarV,EAAOiB,QAASnX,EAAMurB,IAAe,EACjDC,GACJA,EAAQroI,KAAM68G,QAgBhB,GAXAtQ,EAAWq5B,GAAY/oB,GAGvB5tI,EAAMw4J,GAAQT,EAASniC,YAAagY,GAAQ,UAGvCtQ,GACJm7B,GAAez4J,GAIX0gB,EAAU,CACd2F,EAAI,EACJ,MAAUunH,EAAO5tI,EAAKqmB,KAChByxI,GAAYzvK,KAAMulJ,EAAKtgJ,MAAQ,KACnCozB,EAAQqQ,KAAM68G,EAGjB,CAGD,OAAOmqB,CACR,CAGA,IAAIwB,GAAiB,sBAErB,SAASC,KACR,OAAO,CACR,CAEA,SAASC,KACR,OAAO,CACR,CAEA,SAAS/yE,GAAIknD,EAAM8rB,EAAOlkC,EAAUrzI,EAAM0U,EAAI24I,GAC7C,IAAImqB,EAAQrsK,EAGZ,GAAsB,kBAAVosK,EAAqB,CAShC,IAAMpsK,IANmB,kBAAbkoI,IAGXrzI,EAAOA,GAAQqzI,EACfA,OAAWzyI,GAEE22K,EACbhzE,GAAIknD,EAAMtgJ,EAAMkoI,EAAUrzI,EAAMu3K,EAAOpsK,GAAQkiJ,GAEhD,OAAO5B,CACR,CAqBA,GAnBa,MAARzrJ,GAAsB,MAAN0U,GAGpBA,EAAK2+H,EACLrzI,EAAOqzI,OAAWzyI,GACD,MAAN8T,IACc,kBAAb2+H,GAGX3+H,EAAK1U,EACLA,OAAOY,IAIP8T,EAAK1U,EACLA,EAAOqzI,EACPA,OAAWzyI,KAGD,IAAP8T,EACJA,EAAK4iK,QACC,IAAM5iK,EACZ,OAAO+2I,EAeR,OAZa,IAAR4B,IACJmqB,EAAS9iK,EACTA,EAAK,SAAUwR,GAId,OADAy7I,IAAS/7D,IAAK1/E,GACPsxJ,EAAO3vG,MAAO7sE,KAAM4b,UAC5B,EAGAlC,EAAG2U,KAAOmuJ,EAAOnuJ,OAAUmuJ,EAAOnuJ,KAAOs4I,EAAOt4I,SAE1CoiI,EAAK2C,MAAM,WACjBuT,EAAOz7I,MAAM1N,IAAKxd,KAAMu8K,EAAO7iK,EAAI1U,EAAMqzI,EAC1C,GACD,CA6aA,SAASokC,GAAgBr9D,EAAIjvG,EAAMusK,GAG5BA,GAQNhE,GAASlhK,IAAK4nG,EAAIjvG,GAAM,GACxBw2J,EAAOz7I,MAAM1N,IAAK4hG,EAAIjvG,EAAM,CAC3BowG,WAAW,EACX9mG,QAAS,SAAUyR,GAClB,IAAIniB,EACH4zK,EAAQjE,GAASz8J,IAAKjc,KAAMmQ,GAE7B,GAAyB,EAAlB+a,EAAMw4C,WAAmB1jE,KAAMmQ,IAGrC,GAAMwsK,GA4BQhW,EAAOz7I,MAAM45I,QAAS30J,IAAU,CAAC,GAAIq0J,cAClDt5I,EAAMq9H,uBAhBN,GARAo0B,EAAQjpI,EAAM3zC,KAAM6b,WACpB88J,GAASlhK,IAAKxX,KAAMmQ,EAAMwsK,GAG1B38K,KAAMmQ,KACNpH,EAAS2vK,GAASz8J,IAAKjc,KAAMmQ,GAC7BuoK,GAASlhK,IAAKxX,KAAMmQ,GAAM,GAErBwsK,IAAU5zK,EAMd,OAHAmiB,EAAMo1H,2BACNp1H,EAAMu9H,iBAEC1/I,OAeE4zK,IAGXjE,GAASlhK,IAAKxX,KAAMmQ,EAAMw2J,EAAOz7I,MAAM0gF,QACtC+wE,EAAO,GACPA,EAAMjpI,MAAO,GACb1zC,OAWDkrB,EAAMq9H,kBACNr9H,EAAM0xJ,8BAAgCP,GAExC,UAvEkCz2K,IAA7B8yK,GAASz8J,IAAKmjG,EAAIjvG,IACtBw2J,EAAOz7I,MAAM1N,IAAK4hG,EAAIjvG,EAAMksK,GAwE/B,CApfA1V,EAAOz7I,MAAQ,CAEdO,OAAQ,CAAC,EAETjO,IAAK,SAAUizI,EAAM8rB,EAAO9iK,EAASzU,EAAMqzI,GAE1C,IAAIwkC,EAAaC,EAAaj6J,EAC7B4K,EAAQ2a,EAAGs8H,EACXI,EAASljI,EAAUzxB,EAAM8d,EAAY8uJ,EACrCC,EAAWtE,GAASz8J,IAAKw0I,GAG1B,GAAM+nB,GAAY/nB,GAAlB,CAKKh3I,EAAQA,UACZojK,EAAcpjK,EACdA,EAAUojK,EAAYpjK,QACtB4+H,EAAWwkC,EAAYxkC,UAKnBA,GACJsuB,EAAOl2D,KAAKo9D,gBAAiBjX,GAAiBve,GAIzC5+H,EAAQ4U,OACb5U,EAAQ4U,KAAOs4I,EAAOt4I,SAIfZ,EAASuvJ,EAASvvJ,UACzBA,EAASuvJ,EAASvvJ,OAASoC,OAAOqK,OAAQ,QAEnC4iJ,EAAcE,EAASvY,UAC9BqY,EAAcE,EAASvY,OAAS,SAAU39J,GAIzC,MAAyB,qBAAX6/J,GAA0BA,EAAOz7I,MAAM+xJ,YAAcn2K,EAAEqJ,KACpEw2J,EAAOz7I,MAAMy4H,SAAS92E,MAAO4jF,EAAM70I,gBAAchW,CACnD,GAID22K,GAAUA,GAAS,IAAKpuK,MAAO2mK,IAAmB,CAAE,IACpD1sI,EAAIm0I,EAAM1gK,OACV,MAAQusB,IACPvlB,EAAMu5J,GAAelwK,KAAMqwK,EAAOn0I,KAAS,GAC3Cj4B,EAAO4sK,EAAWl6J,EAAK,GACvBoL,GAAepL,EAAK,IAAO,IAAKs5D,MAAO,KAAMpvD,OAGvC5c,IAKN20J,EAAU6B,EAAOz7I,MAAM45I,QAAS30J,IAAU,CAAC,EAG3CA,GAASkoI,EAAWysB,EAAQN,aAAeM,EAAQP,WAAcp0J,EAGjE20J,EAAU6B,EAAOz7I,MAAM45I,QAAS30J,IAAU,CAAC,EAG3Cu0J,EAAYiC,EAAO5b,OAAQ,CAC1B56I,KAAMA,EACN4sK,SAAUA,EACV/3K,KAAMA,EACNyU,QAASA,EACT4U,KAAM5U,EAAQ4U,KACdgqH,SAAUA,EACVuyB,aAAcvyB,GAAYsuB,EAAOiH,KAAKz/J,MAAMy8J,aAAa1/J,KAAMmtI,GAC/D93B,UAAWtyF,EAAWjB,KAAM,MAC1B6vJ,IAGKj7I,EAAWnU,EAAQtd,MAC1ByxB,EAAWnU,EAAQtd,GAAS,GAC5ByxB,EAASs7I,cAAgB,EAGnBpY,EAAQ9+C,QACiD,IAA9D8+C,EAAQ9+C,MAAMjmH,KAAM0wJ,EAAMzrJ,EAAMipB,EAAY6uJ,IAEvCrsB,EAAKpgC,kBACTogC,EAAKpgC,iBAAkBlgH,EAAM2sK,IAK3BhY,EAAQtnJ,MACZsnJ,EAAQtnJ,IAAIzd,KAAM0wJ,EAAMiU,GAElBA,EAAUjrJ,QAAQ4U,OACvBq2I,EAAUjrJ,QAAQ4U,KAAO5U,EAAQ4U,OAK9BgqH,EACJz2G,EAAS/1B,OAAQ+1B,EAASs7I,gBAAiB,EAAGxY,GAE9C9iI,EAASgS,KAAM8wH,GAIhBiC,EAAOz7I,MAAMO,OAAQtb,IAAS,EAnG/B,CAsGD,EAGAkyB,OAAQ,SAAUouH,EAAM8rB,EAAO9iK,EAAS4+H,EAAU8kC,GAEjD,IAAIj0I,EAAGk0I,EAAWv6J,EACjB4K,EAAQ2a,EAAGs8H,EACXI,EAASljI,EAAUzxB,EAAM8d,EAAY8uJ,EACrCC,EAAWtE,GAASD,QAAShoB,IAAUioB,GAASz8J,IAAKw0I,GAEtD,GAAMusB,IAAevvJ,EAASuvJ,EAASvvJ,QAAvC,CAKA8uJ,GAAUA,GAAS,IAAKpuK,MAAO2mK,IAAmB,CAAE,IACpD1sI,EAAIm0I,EAAM1gK,OACV,MAAQusB,IAMP,GALAvlB,EAAMu5J,GAAelwK,KAAMqwK,EAAOn0I,KAAS,GAC3Cj4B,EAAO4sK,EAAWl6J,EAAK,GACvBoL,GAAepL,EAAK,IAAO,IAAKs5D,MAAO,KAAMpvD,OAGvC5c,EAAN,CAOA20J,EAAU6B,EAAOz7I,MAAM45I,QAAS30J,IAAU,CAAC,EAC3CA,GAASkoI,EAAWysB,EAAQN,aAAeM,EAAQP,WAAcp0J,EACjEyxB,EAAWnU,EAAQtd,IAAU,GAC7B0S,EAAMA,EAAK,IACV,IAAI/P,OAAQ,UAAYmb,EAAWjB,KAAM,iBAAoB,WAG9DowJ,EAAYl0I,EAAItH,EAAS/lB,OACzB,MAAQqtB,IACPw7H,EAAY9iI,EAAUsH,IAEfi0I,GAAeJ,IAAarY,EAAUqY,UACzCtjK,GAAWA,EAAQ4U,OAASq2I,EAAUr2I,MACtCxL,IAAOA,EAAI3X,KAAMw5J,EAAUnkD,YAC3B83B,GAAYA,IAAaqsB,EAAUrsB,WACxB,OAAbA,IAAqBqsB,EAAUrsB,YAChCz2G,EAAS/1B,OAAQq9B,EAAG,GAEfw7H,EAAUrsB,UACdz2G,EAASs7I,gBAELpY,EAAQziI,QACZyiI,EAAQziI,OAAOtiC,KAAM0wJ,EAAMiU,IAOzB0Y,IAAcx7I,EAAS/lB,SACrBipJ,EAAQnwH,WACkD,IAA/DmwH,EAAQnwH,SAAS50C,KAAM0wJ,EAAMxiI,EAAY+uJ,EAASvY,SAElDkC,EAAO0W,YAAa5sB,EAAMtgJ,EAAM6sK,EAASvY,eAGnCh3I,EAAQtd,GAtChB,MAJC,IAAMA,KAAQsd,EACbk5I,EAAOz7I,MAAMmX,OAAQouH,EAAMtgJ,EAAOosK,EAAOn0I,GAAK3uB,EAAS4+H,GAAU,GA8C/DsuB,EAAOe,cAAej6I,IAC1BirJ,GAASr2I,OAAQouH,EAAM,gBA5DxB,CA8DD,EAEA9M,SAAU,SAAU25B,GAEnB,IAAI53K,EAAGwjC,EAAGuuE,EAAK83D,EAAS7K,EAAW6Y,EAClC7hK,EAAO,IAAIpO,MAAOsO,UAAUC,QAG5BqP,EAAQy7I,EAAOz7I,MAAM83C,IAAKs6G,GAE1B17I,GACC82I,GAASz8J,IAAKjc,KAAM,WAAc6vB,OAAOqK,OAAQ,OAC/ChP,EAAM/a,OAAU,GACnB20J,EAAU6B,EAAOz7I,MAAM45I,QAAS55I,EAAM/a,OAAU,CAAC,EAKlD,IAFAuL,EAAM,GAAMwP,EAENxlB,EAAI,EAAGA,EAAIkW,UAAUC,OAAQnW,IAClCgW,EAAMhW,GAAMkW,UAAWlW,GAMxB,GAHAwlB,EAAMsyJ,eAAiBx9K,MAGlB8kK,EAAQ2Y,cAA2D,IAA5C3Y,EAAQ2Y,YAAY19K,KAAMC,KAAMkrB,GAA5D,CAKAqyJ,EAAe5W,EAAOz7I,MAAM0W,SAAS7hC,KAAMC,KAAMkrB,EAAO0W,GAGxDl8B,EAAI,EACJ,OAAU6pK,EAAUgO,EAAc73K,QAAYwlB,EAAMwyJ,uBAAyB,CAC5ExyJ,EAAMw9H,cAAgB6mB,EAAQ9e,KAE9BvnH,EAAI,EACJ,OAAUw7H,EAAY6K,EAAQ3tI,SAAUsH,QACtChe,EAAM0xJ,gCAID1xJ,EAAMyyJ,aAAsC,IAAxBjZ,EAAUnkD,YACnCr1F,EAAMyyJ,WAAWzyK,KAAMw5J,EAAUnkD,aAEjCr1F,EAAMw5I,UAAYA,EAClBx5I,EAAMlmB,KAAO0/J,EAAU1/J,KAEvByyG,IAAUkvD,EAAOz7I,MAAM45I,QAASJ,EAAUqY,WAAc,CAAC,GAAItY,QAC5DC,EAAUjrJ,SAAUozD,MAAO0iG,EAAQ9e,KAAM/0I,QAE7B9V,IAAR6xG,IAC4B,KAAzBvsF,EAAMniB,OAAS0uG,KACrBvsF,EAAMu9H,iBACNv9H,EAAMq9H,mBAKX,CAOA,OAJKuc,EAAQ8Y,cACZ9Y,EAAQ8Y,aAAa79K,KAAMC,KAAMkrB,GAG3BA,EAAMniB,MAxCb,CAyCD,EAEA64B,SAAU,SAAU1W,EAAO0W,GAC1B,IAAIl8B,EAAGg/J,EAAWkE,EAAKiV,EAAiBC,EACvCP,EAAe,GACfL,EAAgBt7I,EAASs7I,cACzB3hE,EAAMrwF,EAAMhb,OAGb,GAAKgtK,GAIJ3hE,EAAIwI,YAOc,UAAf74F,EAAM/a,MAAoB+a,EAAMg+H,QAAU,GAE7C,KAAQ3tC,IAAQv7G,KAAMu7G,EAAMA,EAAImI,YAAc1jH,KAI7C,GAAsB,IAAjBu7G,EAAIwI,WAAoC,UAAf74F,EAAM/a,OAAqC,IAAjBorG,EAAInnF,UAAsB,CAGjF,IAFAypJ,EAAkB,GAClBC,EAAmB,CAAC,EACdp4K,EAAI,EAAGA,EAAIw3K,EAAex3K,IAC/Bg/J,EAAY9iI,EAAUl8B,GAGtBkjK,EAAMlE,EAAUrsB,SAAW,SAEMzyI,IAA5Bk4K,EAAkBlV,KACtBkV,EAAkBlV,GAAQlE,EAAUkG,aACnCjE,EAAQiC,EAAK5oK,MAAO4mD,MAAO20D,IAAS,EACpCorD,EAAOl2D,KAAMm4D,EAAK5oK,KAAM,KAAM,CAAEu7G,IAAQ1/F,QAErCiiK,EAAkBlV,IACtBiV,EAAgBjqI,KAAM8wH,GAGnBmZ,EAAgBhiK,QACpB0hK,EAAa3pI,KAAM,CAAE68G,KAAMl1C,EAAK35E,SAAUi8I,GAE5C,CAUF,OALAtiE,EAAMv7G,KACDk9K,EAAgBt7I,EAAS/lB,QAC7B0hK,EAAa3pI,KAAM,CAAE68G,KAAMl1C,EAAK35E,SAAUA,EAAS8R,MAAOwpI,KAGpDK,CACR,EAEAQ,QAAS,SAAU3+K,EAAM82B,GACxBrG,OAAO45F,eAAgBk9C,EAAOx+J,MAAM6E,UAAW5N,EAAM,CACpD06F,YAAY,EACZyE,cAAc,EAEdtiF,IAAKi8E,EAAYhiE,GAChB,WACC,GAAKl2B,KAAKg+K,cACT,OAAO9nJ,EAAMl2B,KAAKg+K,cAEpB,EACA,WACC,GAAKh+K,KAAKg+K,cACT,OAAOh+K,KAAKg+K,cAAe5+K,EAE7B,EAEDoY,IAAK,SAAUxR,GACd6pB,OAAO45F,eAAgBzpH,KAAMZ,EAAM,CAClC06F,YAAY,EACZyE,cAAc,EACd5E,UAAU,EACV3zF,MAAOA,GAET,GAEF,EAEAg9D,IAAK,SAAUg7G,GACd,OAAOA,EAAerX,EAAOa,SAC5BwW,EACA,IAAIrX,EAAOx+J,MAAO61K,EACpB,EAEAlZ,QAAS,CACRrzC,KAAM,CAGLwsD,UAAU,GAEXjd,MAAO,CAGNh7C,MAAO,SAAUhhH,GAIhB,IAAIo6G,EAAKp/G,MAAQgF,EAWjB,OARKy1K,GAAevvK,KAAMk0G,EAAGjvG,OAC5BivG,EAAG4hD,OAASxG,EAAUp7C,EAAI,UAG1Bq9D,GAAgBr9D,EAAI,SAAS,IAIvB,CACR,EACAxT,QAAS,SAAU5mG,GAIlB,IAAIo6G,EAAKp/G,MAAQgF,EAUjB,OAPKy1K,GAAevvK,KAAMk0G,EAAGjvG,OAC5BivG,EAAG4hD,OAASxG,EAAUp7C,EAAI,UAE1Bq9D,GAAgBr9D,EAAI,UAId,CACR,EAIAg8D,SAAU,SAAUlwJ,GACnB,IAAIhb,EAASgb,EAAMhb,OACnB,OAAOuqK,GAAevvK,KAAMgF,EAAOC,OAClCD,EAAO8wJ,OAASxG,EAAUtqJ,EAAQ,UAClCwoK,GAASz8J,IAAK/L,EAAQ,UACtBsqJ,EAAUtqJ,EAAQ,IACpB,GAGDguK,aAAc,CACbN,aAAc,SAAU1yJ,QAIDtlB,IAAjBslB,EAAMniB,QAAwBmiB,EAAM8yJ,gBACxC9yJ,EAAM8yJ,cAAcG,YAAcjzJ,EAAMniB,OAE1C,KAwFH49J,EAAO0W,YAAc,SAAU5sB,EAAMtgJ,EAAMs0J,GAGrChU,EAAKngC,qBACTmgC,EAAKngC,oBAAqBngH,EAAMs0J,EAElC,EAEAkC,EAAOx+J,MAAQ,SAAUsB,EAAKmnD,GAG7B,KAAQ5wD,gBAAgB2mK,EAAOx+J,OAC9B,OAAO,IAAIw+J,EAAOx+J,MAAOsB,EAAKmnD,GAI1BnnD,GAAOA,EAAI0G,MACfnQ,KAAKg+K,cAAgBv0K,EACrBzJ,KAAKmQ,KAAO1G,EAAI0G,KAIhBnQ,KAAKyxJ,mBAAqBhoJ,EAAI20K,uBACHx4K,IAAzB6D,EAAI20K,mBAGgB,IAApB30K,EAAI00K,YACL9B,GACAC,GAKDt8K,KAAKkQ,OAAWzG,EAAIyG,QAAkC,IAAxBzG,EAAIyG,OAAO6zG,SACxCt6G,EAAIyG,OAAOwzG,WACXj6G,EAAIyG,OAELlQ,KAAK0oJ,cAAgBj/I,EAAIi/I,cACzB1oJ,KAAK21J,cAAgBlsJ,EAAIksJ,eAIzB31J,KAAKmQ,KAAO1G,EAIRmnD,GACJ+1G,EAAO5b,OAAQ/qJ,KAAM4wD,GAItB5wD,KAAKq+K,UAAY50K,GAAOA,EAAI40K,WAAap2K,KAAK+L,MAG9ChU,KAAM2mK,EAAOa,UAAY,CAC1B,EAIAb,EAAOx+J,MAAM6E,UAAY,CACxBb,YAAaw6J,EAAOx+J,MACpBspJ,mBAAoB6qB,GACpBoB,qBAAsBpB,GACtBM,8BAA+BN,GAC/BgC,aAAa,EAEb71B,eAAgB,WACf,IAAI3hJ,EAAI9G,KAAKg+K,cAEbh+K,KAAKyxJ,mBAAqB4qB,GAErBv1K,IAAM9G,KAAKs+K,aACfx3K,EAAE2hJ,gBAEJ,EACAF,gBAAiB,WAChB,IAAIzhJ,EAAI9G,KAAKg+K,cAEbh+K,KAAK09K,qBAAuBrB,GAEvBv1K,IAAM9G,KAAKs+K,aACfx3K,EAAEyhJ,iBAEJ,EACAjI,yBAA0B,WACzB,IAAIx5I,EAAI9G,KAAKg+K,cAEbh+K,KAAK48K,8BAAgCP,GAEhCv1K,IAAM9G,KAAKs+K,aACfx3K,EAAEw5I,2BAGHtgJ,KAAKuoJ,iBACN,GAIDoe,EAAOvT,KAAM,CACZrK,QAAQ,EACRw1B,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChB71B,SAAS,EACTzsI,QAAQ,EACRuiK,YAAY,EACZz1B,SAAS,EACT01B,OAAO,EACPC,OAAO,EACP/1B,UAAU,EACVg2B,MAAM,EACN,MAAQ,EACRnjB,MAAM,EACNojB,UAAU,EACVz5K,KAAK,EACL05K,SAAS,EACT71B,QAAQ,EACR81B,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTjoB,OAAO,GACLiP,EAAOz7I,MAAM6yJ,SAEhBpX,EAAOvT,KAAM,CAAE+B,MAAO,UAAWyqB,KAAM,aAAc,SAAUzvK,EAAMq0J,GAEpE,SAASqb,EAAoBvC,GAC5B,GAAKzxF,EAASi0F,aAAe,CAS5B,IAAIrb,EAASiU,GAASz8J,IAAKjc,KAAM,UAChCkrB,EAAQy7I,EAAOz7I,MAAM83C,IAAKs6G,GAC3BpyJ,EAAM/a,KAA4B,YAArBmtK,EAAYntK,KAAqB,QAAU,OACxD+a,EAAMozJ,aAAc,EAGpB7Z,EAAQ6Y,GAMHpyJ,EAAMhb,SAAWgb,EAAMw9H,eAK3B+b,EAAQv5I,EAEV,MAICy7I,EAAOz7I,MAAM60J,SAAUvb,EAAc8Y,EAAYptK,OAChDy2J,EAAOz7I,MAAM83C,IAAKs6G,GAErB,CAEA3W,EAAOz7I,MAAM45I,QAAS30J,GAAS,CAG9B61G,MAAO,WAEN,IAAIg6D,EAOJ,GAFAvD,GAAgBz8K,KAAMmQ,GAAM,IAEvB07E,EAASi0F,aAcb,OAAO,EARPE,EAAWtH,GAASz8J,IAAKjc,KAAMwkK,GACzBwb,GACLhgL,KAAKqwH,iBAAkBm0C,EAAcqb,GAEtCnH,GAASlhK,IAAKxX,KAAMwkK,GAAgBwb,GAAY,GAAM,EAMxD,EACAp0E,QAAS,WAMR,OAHA6wE,GAAgBz8K,KAAMmQ,IAGf,CACR,EAEAwkC,SAAU,WACT,IAAIqrI,EAEJ,IAAKn0F,EAASi0F,aAWb,OAAO,EAVPE,EAAWtH,GAASz8J,IAAKjc,KAAMwkK,GAAiB,EAC1Cwb,EAILtH,GAASlhK,IAAKxX,KAAMwkK,EAAcwb,IAHlChgL,KAAKswH,oBAAqBk0C,EAAcqb,GACxCnH,GAASr2I,OAAQriC,KAAMwkK,GAS1B,EAIA4W,SAAU,SAAUlwJ,GACnB,OAAOwtJ,GAASz8J,IAAKiP,EAAMhb,OAAQC,EACpC,EAEAq0J,aAAcA,GAefmC,EAAOz7I,MAAM45I,QAASN,GAAiB,CACtCx+C,MAAO,WAIN,IAAI/7F,EAAMjqB,KAAK0hK,eAAiB1hK,KAAK6rF,UAAY7rF,KAChDigL,EAAap0F,EAASi0F,aAAe9/K,KAAOiqB,EAC5C+1J,EAAWtH,GAASz8J,IAAKgkK,EAAYzb,GAMhCwb,IACAn0F,EAASi0F,aACb9/K,KAAKqwH,iBAAkBm0C,EAAcqb,GAErC51J,EAAIomG,iBAAkBlgH,EAAM0vK,GAAoB,IAGlDnH,GAASlhK,IAAKyoK,EAAYzb,GAAgBwb,GAAY,GAAM,EAC7D,EACArrI,SAAU,WACT,IAAI1qB,EAAMjqB,KAAK0hK,eAAiB1hK,KAAK6rF,UAAY7rF,KAChDigL,EAAap0F,EAASi0F,aAAe9/K,KAAOiqB,EAC5C+1J,EAAWtH,GAASz8J,IAAKgkK,EAAYzb,GAAiB,EAEjDwb,EAQLtH,GAASlhK,IAAKyoK,EAAYzb,EAAcwb,IAPnCn0F,EAASi0F,aACb9/K,KAAKswH,oBAAqBk0C,EAAcqb,GAExC51J,EAAIqmG,oBAAqBngH,EAAM0vK,GAAoB,GAEpDnH,GAASr2I,OAAQ49I,EAAYzb,GAI/B,EAEF,IAUAmC,EAAOvT,KAAM,CACZ8sB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,eACZ,SAAUvhH,EAAMkE,GAClB2jG,EAAOz7I,MAAM45I,QAAShmG,GAAS,CAC9B0lG,aAAcxhG,EACduhG,SAAUvhG,EAEVyhG,OAAQ,SAAUv5I,GACjB,IAAIusF,EACHvnG,EAASlQ,KACTsgL,EAAUp1J,EAAMyqI,cAChB+O,EAAYx5I,EAAMw5I,UASnB,OALM4b,IAAaA,IAAYpwK,GAAWy2J,EAAOrV,SAAUphJ,EAAQowK,MAClEp1J,EAAM/a,KAAOu0J,EAAUqY,SACvBtlE,EAAMitD,EAAUjrJ,QAAQozD,MAAO7sE,KAAM4b,WACrCsP,EAAM/a,KAAO6yD,GAEPy0C,CACR,EAEF,IAEAkvD,EAAOjtJ,GAAGqxI,OAAQ,CAEjBxhD,GAAI,SAAUgzE,EAAOlkC,EAAUrzI,EAAM0U,GACpC,OAAO6vF,GAAIvpG,KAAMu8K,EAAOlkC,EAAUrzI,EAAM0U,EACzC,EACA24I,IAAK,SAAUkqB,EAAOlkC,EAAUrzI,EAAM0U,GACrC,OAAO6vF,GAAIvpG,KAAMu8K,EAAOlkC,EAAUrzI,EAAM0U,EAAI,EAC7C,EACAkxF,IAAK,SAAU2xE,EAAOlkC,EAAU3+H,GAC/B,IAAIgrJ,EAAWv0J,EACf,GAAKosK,GAASA,EAAM9zB,gBAAkB8zB,EAAM7X,UAW3C,OARAA,EAAY6X,EAAM7X,UAClBiC,EAAQ4V,EAAMiB,gBAAiB5yE,IAC9B85D,EAAUnkD,UACTmkD,EAAUqY,SAAW,IAAMrY,EAAUnkD,UACrCmkD,EAAUqY,SACXrY,EAAUrsB,SACVqsB,EAAUjrJ,SAEJzZ,KAER,GAAsB,kBAAVu8K,EAAqB,CAGhC,IAAMpsK,KAAQosK,EACbv8K,KAAK4qG,IAAKz6F,EAAMkoI,EAAUkkC,EAAOpsK,IAElC,OAAOnQ,IACR,CAUA,OATkB,IAAbq4I,GAA0C,oBAAbA,IAGjC3+H,EAAK2+H,EACLA,OAAWzyI,IAEA,IAAP8T,IACJA,EAAK4iK,IAECt8K,KAAKozJ,MAAM,WACjBuT,EAAOz7I,MAAMmX,OAAQriC,KAAMu8K,EAAO7iK,EAAI2+H,EACvC,GACD,IAID,IAKCkoC,GAAe,wBAGfC,GAAW,oCAEXC,GAAe,6BAGhB,SAASC,GAAoBjwB,EAAMvkC,GAClC,OAAKsuC,EAAU/J,EAAM,UACpB+J,EAA+B,KAArBtuC,EAAQnI,SAAkBmI,EAAUA,EAAQpI,WAAY,OAE3D6iD,EAAQlW,GAAO71H,SAAU,SAAW,IAGrC61H,CACR,CAGA,SAASkwB,GAAelwB,GAEvB,OADAA,EAAKtgJ,MAAyC,OAAhCsgJ,EAAK1hC,aAAc,SAAsB,IAAM0hC,EAAKtgJ,KAC3DsgJ,CACR,CACA,SAASmwB,GAAenwB,GAOvB,MAN2C,WAApCA,EAAKtgJ,MAAQ,IAAKujC,MAAO,EAAG,GAClC+8G,EAAKtgJ,KAAOsgJ,EAAKtgJ,KAAKujC,MAAO,GAE7B+8G,EAAK5T,gBAAiB,QAGhB4T,CACR,CAEA,SAASowB,GAAgBp3K,EAAKq3K,GAC7B,IAAIp7K,EAAGmhE,EAAG12D,EAAM4wK,EAAUC,EAAUC,EAAUxzJ,EAE9C,GAAuB,IAAlBqzJ,EAAK/8D,SAAV,CAKA,GAAK20D,GAASD,QAAShvK,KACtBs3K,EAAWrI,GAASz8J,IAAKxS,GACzBgkB,EAASszJ,EAAStzJ,OAEbA,GAGJ,IAAMtd,KAFNuoK,GAASr2I,OAAQy+I,EAAM,iBAETrzJ,EACb,IAAM/nB,EAAI,EAAGmhE,EAAIp5C,EAAQtd,GAAO0L,OAAQnW,EAAImhE,EAAGnhE,IAC9CihK,EAAOz7I,MAAM1N,IAAKsjK,EAAM3wK,EAAMsd,EAAQtd,GAAQzK,IAO7CizK,GAASF,QAAShvK,KACtBu3K,EAAWrI,GAASZ,OAAQtuK,GAC5Bw3K,EAAWta,EAAO5b,OAAQ,CAAC,EAAGi2B,GAE9BrI,GAASnhK,IAAKspK,EAAMG,GAvBrB,CAyBD,CAGA,SAASC,GAAUz3K,EAAKq3K,GACvB,IAAItmB,EAAWsmB,EAAKtmB,SAASznJ,cAGX,UAAbynJ,GAAwBigB,GAAevvK,KAAMzB,EAAI0G,MACrD2wK,EAAKj6B,QAAUp9I,EAAIo9I,QAGK,UAAb2T,GAAqC,aAAbA,IACnCsmB,EAAKroK,aAAehP,EAAIgP,aAE1B,CAEA,SAAS0oK,GAAUC,EAAY1lK,EAAMiD,EAAUs9J,GAG9CvgK,EAAOuqJ,EAAMvqJ,GAEb,IAAIk/J,EAAU3T,EAAO1jI,EAAS89I,EAAYxhF,EAAM51E,EAC/CvkB,EAAI,EACJmhE,EAAIu6G,EAAWvlK,OACfylK,EAAWz6G,EAAI,EACf7gE,EAAQ0V,EAAM,GACd6lK,EAAkBrpF,EAAYlyF,GAG/B,GAAKu7K,GACD16G,EAAI,GAAsB,kBAAV7gE,IAChBqgK,EAAQyU,YAAc0F,GAASt1K,KAAMlF,GACxC,OAAOo7K,EAAWhuB,MAAM,SAAUxsG,GACjC,IAAIzmC,EAAOihK,EAAWla,GAAItgH,GACrB26H,IACJ7lK,EAAM,GAAM1V,EAAMjG,KAAMC,KAAM4mD,EAAOzmC,EAAK8+I,SAE3CkiB,GAAUhhK,EAAMzE,EAAMiD,EAAUs9J,EACjC,IAGD,GAAKp1G,IACJ+zG,EAAWmB,GAAergK,EAAM0lK,EAAY,GAAI1f,eAAe,EAAO0f,EAAYnF,GAClFhV,EAAQ2T,EAAS92D,WAEmB,IAA/B82D,EAASjP,WAAW9vJ,SACxB++J,EAAW3T,GAIPA,GAASgV,GAAU,CAOvB,IANA14I,EAAUojI,EAAOrhK,IAAK+1K,GAAQT,EAAU,UAAY+F,IACpDU,EAAa99I,EAAQ1nB,OAKbnW,EAAImhE,EAAGnhE,IACdm6F,EAAO+6E,EAEFl1K,IAAM47K,IACVzhF,EAAO8mE,EAAO7zI,MAAO+sE,GAAM,GAAM,GAG5BwhF,GAIJ1a,EAAOlgG,MAAOljC,EAAS83I,GAAQx7E,EAAM,YAIvClhF,EAAS5e,KAAMqhL,EAAY17K,GAAKm6F,EAAMn6F,GAGvC,GAAK27K,EAOJ,IANAp3J,EAAMsZ,EAASA,EAAQ1nB,OAAS,GAAI6lJ,cAGpCiF,EAAOrhK,IAAKi+B,EAASq9I,IAGfl7K,EAAI,EAAGA,EAAI27K,EAAY37K,IAC5Bm6F,EAAOt8D,EAAS79B,GACXi1K,GAAYzvK,KAAM20F,EAAK1vF,MAAQ,MAClCuoK,GAASX,OAAQl4E,EAAM,eACxB8mE,EAAOrV,SAAUrnI,EAAK41E,KAEjBA,EAAKp2F,KAA8C,YAArCo2F,EAAK1vF,MAAQ,IAAK4C,cAG/B4zJ,EAAO6a,WAAa3hF,EAAK2mE,UAC7BG,EAAO6a,SAAU3hF,EAAKp2F,IAAK,CAC1Bk4I,MAAO9hD,EAAK8hD,OAAS9hD,EAAKkvB,aAAc,UACtC9kG,GASJw8I,EAAS5mE,EAAKstB,YAAYn6G,QAASytK,GAAc,IAAM5gF,EAAM51E,GAKlE,CAGD,OAAOm3J,CACR,CAEA,SAAS/+I,GAAQouH,EAAMpY,EAAUopC,GAKhC,IAJA,IAAI5hF,EACHq8E,EAAQ7jC,EAAWsuB,EAAOvoG,OAAQi6E,EAAUoY,GAASA,EACrD/qJ,EAAI,EAE4B,OAAvBm6F,EAAOq8E,EAAOx2K,IAAeA,IAChC+7K,GAA8B,IAAlB5hF,EAAKkkB,UACtB4iD,EAAO+a,UAAWrG,GAAQx7E,IAGtBA,EAAK6jB,aACJ+9D,GAAYjI,GAAY35E,IAC5By7E,GAAeD,GAAQx7E,EAAM,WAE9BA,EAAK6jB,WAAWq0B,YAAal4C,IAI/B,OAAO4wD,CACR,CAEAkW,EAAO5b,OAAQ,CACdoxB,cAAe,SAAUld,GACxB,OAAOA,CACR,EAEAnsI,MAAO,SAAU29H,EAAMkxB,EAAeC,GACrC,IAAIl8K,EAAGmhE,EAAGg7G,EAAaC,EACtBhvJ,EAAQ29H,EAAKlY,WAAW,GACxBwpC,EAASvI,GAAY/oB,GAGtB,IAAM4V,EAAQ0U,iBAAsC,IAAlBtqB,EAAK1sC,UAAoC,KAAlB0sC,EAAK1sC,YAC3D4iD,EAAOkB,SAAUpX,GAOnB,IAHAqxB,EAAezG,GAAQvoJ,GACvB+uJ,EAAcxG,GAAQ5qB,GAEhB/qJ,EAAI,EAAGmhE,EAAIg7G,EAAYhmK,OAAQnW,EAAImhE,EAAGnhE,IAC3Cw7K,GAAUW,EAAan8K,GAAKo8K,EAAcp8K,IAK5C,GAAKi8K,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAexG,GAAQ5qB,GACrCqxB,EAAeA,GAAgBzG,GAAQvoJ,GAEjCptB,EAAI,EAAGmhE,EAAIg7G,EAAYhmK,OAAQnW,EAAImhE,EAAGnhE,IAC3Cm7K,GAAgBgB,EAAan8K,GAAKo8K,EAAcp8K,SAGjDm7K,GAAgBpwB,EAAM39H,GAWxB,OANAgvJ,EAAezG,GAAQvoJ,EAAO,UACzBgvJ,EAAajmK,OAAS,GAC1By/J,GAAewG,GAAeC,GAAU1G,GAAQ5qB,EAAM,WAIhD39H,CACR,EAEA4uJ,UAAW,SAAU3a,GAKpB,IAJA,IAAI/hK,EAAMyrJ,EAAMtgJ,EACf20J,EAAU6B,EAAOz7I,MAAM45I,QACvBp/J,EAAI,OAE6BE,KAAxB6qJ,EAAOsW,EAAOrhK,IAAqBA,IAC5C,GAAK8yK,GAAY/nB,GAAS,CACzB,GAAOzrJ,EAAOyrJ,EAAMioB,GAASlR,SAAc,CAC1C,GAAKxiK,EAAKyoB,OACT,IAAMtd,KAAQnL,EAAKyoB,OACbq3I,EAAS30J,GACbw2J,EAAOz7I,MAAMmX,OAAQouH,EAAMtgJ,GAI3Bw2J,EAAO0W,YAAa5sB,EAAMtgJ,EAAMnL,EAAKy/J,QAOxChU,EAAMioB,GAASlR,cAAY5hK,CAC5B,CACK6qJ,EAAMkoB,GAASnR,WAInB/W,EAAMkoB,GAASnR,cAAY5hK,EAE7B,CAEF,IAGD+gK,EAAOjtJ,GAAGqxI,OAAQ,CACjBi3B,OAAQ,SAAU3pC,GACjB,OAAOh2G,GAAQriC,KAAMq4I,GAAU,EAChC,EAEAh2G,OAAQ,SAAUg2G,GACjB,OAAOh2G,GAAQriC,KAAMq4I,EACtB,EAEAnzH,KAAM,SAAUlf,GACf,OAAO+xK,GAAQ/3K,MAAM,SAAUgG,GAC9B,YAAiBJ,IAAVI,EACN2gK,EAAOzhJ,KAAMllB,MACbA,KAAK0iK,QAAQtP,MAAM,WACK,IAAlBpzJ,KAAK+jH,UAAoC,KAAlB/jH,KAAK+jH,UAAqC,IAAlB/jH,KAAK+jH,WACxD/jH,KAAKmtH,YAAcnnH,EAErB,GACF,GAAG,KAAMA,EAAO4V,UAAUC,OAC3B,EAEAkvC,OAAQ,WACP,OAAOo2H,GAAUnhL,KAAM4b,WAAW,SAAU60I,GAC3C,GAAuB,IAAlBzwJ,KAAK+jH,UAAoC,KAAlB/jH,KAAK+jH,UAAqC,IAAlB/jH,KAAK+jH,SAAiB,CACzE,IAAI7zG,EAASwwK,GAAoB1gL,KAAMywJ,GACvCvgJ,EAAOuoI,YAAagY,EACrB,CACD,GACD,EAEAt7B,QAAS,WACR,OAAOgsD,GAAUnhL,KAAM4b,WAAW,SAAU60I,GAC3C,GAAuB,IAAlBzwJ,KAAK+jH,UAAoC,KAAlB/jH,KAAK+jH,UAAqC,IAAlB/jH,KAAK+jH,SAAiB,CACzE,IAAI7zG,EAASwwK,GAAoB1gL,KAAMywJ,GACvCvgJ,EAAO4nI,aAAc2Y,EAAMvgJ,EAAO4zG,WACnC,CACD,GACD,EAEAw0B,OAAQ,WACP,OAAO6oC,GAAUnhL,KAAM4b,WAAW,SAAU60I,GACtCzwJ,KAAK0jH,YACT1jH,KAAK0jH,WAAWo0B,aAAc2Y,EAAMzwJ,KAEtC,GACD,EAEAiiL,MAAO,WACN,OAAOd,GAAUnhL,KAAM4b,WAAW,SAAU60I,GACtCzwJ,KAAK0jH,YACT1jH,KAAK0jH,WAAWo0B,aAAc2Y,EAAMzwJ,KAAKyjH,YAE3C,GACD,EAEAi/C,MAAO,WAIN,IAHA,IAAIjS,EACH/qJ,EAAI,EAE2B,OAAtB+qJ,EAAOzwJ,KAAM0F,IAAeA,IACd,IAAlB+qJ,EAAK1sC,WAGT4iD,EAAO+a,UAAWrG,GAAQ5qB,GAAM,IAGhCA,EAAKtjC,YAAc,IAIrB,OAAOntH,IACR,EAEA8yB,MAAO,SAAU6uJ,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzD5hL,KAAKsF,KAAK,WAChB,OAAOqhK,EAAO7zI,MAAO9yB,KAAM2hL,EAAeC,EAC3C,GACD,EAEA3iB,KAAM,SAAUj5J,GACf,OAAO+xK,GAAQ/3K,MAAM,SAAUgG,GAC9B,IAAIyqJ,EAAOzwJ,KAAM,IAAO,CAAC,EACxB0F,EAAI,EACJmhE,EAAI7mE,KAAK6b,OAEV,QAAejW,IAAVI,GAAyC,IAAlByqJ,EAAK1sC,SAChC,OAAO0sC,EAAKvjC,UAIb,GAAsB,kBAAVlnH,IAAuBu6K,GAAar1K,KAAMlF,KACpDg1K,IAAWN,GAASxuK,KAAMlG,IAAW,CAAE,GAAI,KAAQ,GAAI+M,eAAkB,CAE1E/M,EAAQ2gK,EAAOwV,cAAen2K,GAE9B,IACC,KAAQN,EAAImhE,EAAGnhE,IACd+qJ,EAAOzwJ,KAAM0F,IAAO,CAAC,EAGE,IAAlB+qJ,EAAK1sC,WACT4iD,EAAO+a,UAAWrG,GAAQ5qB,GAAM,IAChCA,EAAKvjC,UAAYlnH,GAInByqJ,EAAO,CAGR,CAAE,MAAQ3pJ,GAAK,CAChB,CAEK2pJ,GACJzwJ,KAAK0iK,QAAQ33G,OAAQ/kD,EAEvB,GAAG,KAAMA,EAAO4V,UAAUC,OAC3B,EAEAqmK,YAAa,WACZ,IAAIjG,EAAU,GAGd,OAAOkF,GAAUnhL,KAAM4b,WAAW,SAAU60I,GAC3C,IAAIjmD,EAASxqG,KAAK0jH,WAEbijD,EAAOiB,QAAS5nK,KAAMi8K,GAAY,IACtCtV,EAAO+a,UAAWrG,GAAQr7K,OACrBwqG,GACJA,EAAOkkB,aAAc+hC,EAAMzwJ,MAK9B,GAAGi8K,EACJ,IAGDtV,EAAOvT,KAAM,CACZ8E,SAAU,SACViqB,UAAW,UACXrqC,aAAc,SACdsqC,YAAa,QACbC,WAAY,gBACV,SAAUjjL,EAAMkjL,GAClB3b,EAAOjtJ,GAAIta,GAAS,SAAUi5I,GAO7B,IANA,IAAI0uB,EACHtvD,EAAM,GACNwJ,EAAS0lD,EAAQtuB,GACjBvtC,EAAOmW,EAAOplG,OAAS,EACvBnW,EAAI,EAEGA,GAAKolG,EAAMplG,IAClBqhK,EAAQrhK,IAAMolG,EAAO9qG,KAAOA,KAAK8yB,OAAO,GACxC6zI,EAAQ1lD,EAAQv7G,IAAO48K,GAAYvb,GAInCnzH,EAAKi5B,MAAO4qC,EAAKsvD,EAAM9qJ,OAGxB,OAAOjc,KAAK8mK,UAAWrvD,EACxB,CACD,IACA,IAAI8qE,GAAY,IAAIzvK,OAAQ,KAAOumK,GAAO,kBAAmB,KAEzDmJ,GAAc,MAGdC,GAAY,SAAUhyB,GAKxB,IAAIouB,EAAOpuB,EAAKiR,cAAcyL,YAM9B,OAJM0R,GAASA,EAAK6D,SACnB7D,EAAO7gI,GAGD6gI,EAAKhjC,iBAAkB4U,EAC/B,EAEGkyB,GAAO,SAAUlyB,EAAMvgE,EAASvxE,GACnC,IAAI84F,EAAKr4G,EACRwjL,EAAM,CAAC,EAGR,IAAMxjL,KAAQ8wF,EACb0yF,EAAKxjL,GAASqxJ,EAAKhjC,MAAOruH,GAC1BqxJ,EAAKhjC,MAAOruH,GAAS8wF,EAAS9wF,GAM/B,IAAMA,KAHNq4G,EAAM94F,EAAS5e,KAAM0wJ,GAGPvgE,EACbugE,EAAKhjC,MAAOruH,GAASwjL,EAAKxjL,GAG3B,OAAOq4G,CACR,EAGIorE,GAAY,IAAI/vK,OAAQymK,GAAUvsJ,KAAM,KAAO,KAiJnD,SAAS81J,GAAQryB,EAAMrxJ,EAAMsuG,GAC5B,IAAI6rD,EAAOwpB,EAAUC,EAAUvrE,EAC9BwrE,EAAeT,GAAYt3K,KAAM9L,GAMjCquH,EAAQgjC,EAAKhjC,MAoEd,OAlEA/f,EAAWA,GAAY+0E,GAAWhyB,GAK7B/iD,IAWJ+J,EAAM/J,EAASw1E,iBAAkB9jL,IAAUsuG,EAAUtuG,GAEhD6jL,GAAgBxrE,IAkBpBA,EAAMA,EAAIzkG,QAASo1J,EAAU,YAAUxiK,GAG3B,KAAR6xG,GAAe+hE,GAAY/oB,KAC/Bh5C,EAAMkvD,EAAOl5C,MAAOgjC,EAAMrxJ,KAQrBinK,EAAQ8c,kBAAoBZ,GAAUr3K,KAAMusG,IAASorE,GAAU33K,KAAM9L,KAG1Em6J,EAAQ9rC,EAAM8rC,MACdwpB,EAAWt1D,EAAMs1D,SACjBC,EAAWv1D,EAAMu1D,SAGjBv1D,EAAMs1D,SAAWt1D,EAAMu1D,SAAWv1D,EAAM8rC,MAAQ9hD,EAChDA,EAAM/J,EAAS6rD,MAGf9rC,EAAM8rC,MAAQA,EACd9rC,EAAMs1D,SAAWA,EACjBt1D,EAAMu1D,SAAWA,SAIJp9K,IAAR6xG,EAINA,EAAM,GACNA,CACF,CAGA,SAAS2rE,GAAcC,EAAaC,GAGnC,MAAO,CACNrnK,IAAK,WACJ,IAAKonK,IASL,OAASrjL,KAAKic,IAAMqnK,GAASz2G,MAAO7sE,KAAM4b,kBALlC5b,KAAKic,GAMd,EAEF,EAnPA,WAIC,SAASsnK,IAGR,GAAM5nB,EAAN,CAIA3kF,EAAUy2C,MAAMswB,QAAU,+EAE1B4d,EAAIluC,MAAMswB,QACT,4HAGD6Y,GAAgBne,YAAazhE,GAAYyhE,YAAakjB,GAEtD,IAAI6nB,EAAWxlI,EAAO69F,iBAAkB8f,GACxC8nB,EAAoC,OAAjBD,EAASp0D,IAG5Bs0D,EAAsE,KAA9CC,EAAoBH,EAASI,YAIrDjoB,EAAIluC,MAAMniH,MAAQ,MAClBu4K,EAA6D,KAAzCF,EAAoBH,EAASl4K,OAIjDw4K,EAAgE,KAAzCH,EAAoBH,EAASjqB,OAMpDoC,EAAIluC,MAAMs2D,SAAW,WACrBC,EAAiE,KAA9CL,EAAoBhoB,EAAIsoB,YAAc,GAEzDrtB,GAAgB7e,YAAa/gE,GAI7B2kF,EAAM,IApCN,CAqCD,CAEA,SAASgoB,EAAoBz8K,GAC5B,OAAO/I,KAAKC,MAAO42D,WAAY9tD,GAChC,CAEA,IAAIu8K,EAAkBK,EAAsBE,EAAkBH,EAC7DK,EAAyBR,EACzB1sG,EAAY6U,EAAS56E,cAAe,OACpC0qJ,EAAM9vE,EAAS56E,cAAe,OAGzB0qJ,EAAIluC,QAMVkuC,EAAIluC,MAAM02D,eAAiB,cAC3BxoB,EAAIpjB,WAAW,GAAO9qB,MAAM02D,eAAiB,GAC7C9d,EAAQ+d,gBAA+C,gBAA7BzoB,EAAIluC,MAAM02D,eAEpCxd,EAAO5b,OAAQsb,EAAS,CACvBge,kBAAmB,WAElB,OADAd,IACOO,CACR,EACAX,eAAgB,WAEf,OADAI,IACOM,CACR,EACAS,cAAe,WAEd,OADAf,IACOE,CACR,EACAc,mBAAoB,WAEnB,OADAhB,IACOG,CACR,EACAc,cAAe,WAEd,OADAjB,IACOS,CACR,EAWAS,qBAAsB,WACrB,IAAIC,EAAOxJ,EAAIyJ,EAASC,EAmCxB,OAlCgC,MAA3BV,IACJQ,EAAQ74F,EAAS56E,cAAe,SAChCiqK,EAAKrvF,EAAS56E,cAAe,MAC7B0zK,EAAU94F,EAAS56E,cAAe,OAElCyzK,EAAMj3D,MAAMswB,QAAU,2DACtBm9B,EAAGztD,MAAMswB,QAAU,0CAKnBm9B,EAAGztD,MAAMo3D,OAAS,MAClBF,EAAQl3D,MAAMo3D,OAAS,MAQvBF,EAAQl3D,MAAMwvB,QAAU,QAExB2Z,GACEne,YAAaisC,GACbjsC,YAAayiC,GACbziC,YAAaksC,GAEfC,EAAU5mI,EAAO69F,iBAAkBq/B,GACnCgJ,EAA4B91K,SAAUw2K,EAAQC,OAAQ,IACrDz2K,SAAUw2K,EAAQE,eAAgB,IAClC12K,SAAUw2K,EAAQG,kBAAmB,MAAW7J,EAAGz+B,aAEpDma,GAAgB7e,YAAa2sC,IAEvBR,CACR,IAEA,EA1IF,GAsPA,IAAIc,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAap5F,EAAS56E,cAAe,OAAQw8G,MAC7Cy3D,GAAc,CAAC,EAGhB,SAASC,GAAgB/lL,GAGxB,IAAIgmL,EAAUhmL,EAAM,GAAIoS,cAAgBpS,EAAKs0C,MAAO,GACnDhuC,EAAIs/K,GAAYnpK,OAEjB,MAAQnW,IAEP,GADAtG,EAAO4lL,GAAat/K,GAAM0/K,EACrBhmL,KAAQ6lL,GACZ,OAAO7lL,CAGV,CAGA,SAASimL,GAAejmL,GACvB,IAAIkmL,EAAQ3e,EAAO4e,SAAUnmL,IAAU8lL,GAAa9lL,GAEpD,OAAKkmL,IAGAlmL,KAAQ6lL,GACL7lL,EAED8lL,GAAa9lL,GAAS+lL,GAAgB/lL,IAAUA,EACxD,CAGA,IAKComL,GAAe,4BACfC,GAAU,CAAE1B,SAAU,WAAY2B,WAAY,SAAUzoC,QAAS,SACjE0oC,GAAqB,CACpBC,cAAe,IACfC,WAAY,OAGd,SAASC,GAAmBze,EAAOrhK,EAAO+/K,GAIzC,IAAI73K,EAAUorK,GAAQptK,KAAMlG,GAC5B,OAAOkI,EAGN/P,KAAKwQ,IAAK,EAAGT,EAAS,IAAQ63K,GAAY,KAAU73K,EAAS,IAAO,MACpElI,CACF,CAEA,SAASggL,GAAoBv1B,EAAMkB,EAAWs0B,EAAKC,EAAatqC,EAAQuqC,GACvE,IAAIzgL,EAAkB,UAAdisJ,EAAwB,EAAI,EACnCy0B,EAAQ,EACRC,EAAQ,EACRC,EAAc,EAGf,GAAKL,KAAUC,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQxgL,EAAI,EAAGA,GAAK,EAKN,WAARugL,IACJK,GAAe3f,EAAO7tB,IAAK2X,EAAMw1B,EAAM1M,GAAW7zK,IAAK,EAAMk2I,IAIxDsqC,GAmBQ,YAARD,IACJI,GAAS1f,EAAO7tB,IAAK2X,EAAM,UAAY8oB,GAAW7zK,IAAK,EAAMk2I,IAIjD,WAARqqC,IACJI,GAAS1f,EAAO7tB,IAAK2X,EAAM,SAAW8oB,GAAW7zK,GAAM,SAAS,EAAMk2I,MAtBvEyqC,GAAS1f,EAAO7tB,IAAK2X,EAAM,UAAY8oB,GAAW7zK,IAAK,EAAMk2I,GAGhD,YAARqqC,EACJI,GAAS1f,EAAO7tB,IAAK2X,EAAM,SAAW8oB,GAAW7zK,GAAM,SAAS,EAAMk2I,GAItEwqC,GAASzf,EAAO7tB,IAAK2X,EAAM,SAAW8oB,GAAW7zK,GAAM,SAAS,EAAMk2I,IAoCzE,OAhBMsqC,GAAeC,GAAe,IAInCE,GAASloL,KAAKwQ,IAAK,EAAGxQ,KAAKooL,KAC1B91B,EAAM,SAAWkB,EAAW,GAAIngJ,cAAgBmgJ,EAAUj+G,MAAO,IACjEyyI,EACAE,EACAD,EACA,MAIM,GAGDC,EAAQC,CAChB,CAEA,SAASE,GAAkB/1B,EAAMkB,EAAWy0B,GAG3C,IAAIxqC,EAAS6mC,GAAWhyB,GAIvBg2B,GAAmBpgB,EAAQge,qBAAuB+B,EAClDF,EAAcO,GACsC,eAAnD9f,EAAO7tB,IAAK2X,EAAM,aAAa,EAAO7U,GACvC8qC,EAAmBR,EAEnB7lI,EAAMyiI,GAAQryB,EAAMkB,EAAW/V,GAC/B+qC,EAAa,SAAWh1B,EAAW,GAAIngJ,cAAgBmgJ,EAAUj+G,MAAO,GAIzE,GAAK6uI,GAAUr3K,KAAMm1C,GAAQ,CAC5B,IAAM+lI,EACL,OAAO/lI,EAERA,EAAM,MACP,CAwCA,QAlCQgmH,EAAQge,qBAAuB6B,IAMrC7f,EAAQoe,wBAA0BjqB,EAAU/J,EAAM,OAI3C,SAARpwG,IAIC2U,WAAY3U,IAA0D,WAAjDsmH,EAAO7tB,IAAK2X,EAAM,WAAW,EAAO7U,KAG1D6U,EAAKm2B,iBAAiB/qK,SAEtBqqK,EAAiE,eAAnDvf,EAAO7tB,IAAK2X,EAAM,aAAa,EAAO7U,GAKpD8qC,EAAmBC,KAAcl2B,EAC5Bi2B,IACJrmI,EAAMowG,EAAMk2B,KAKdtmI,EAAM2U,WAAY3U,IAAS,EAGlBA,EACR2lI,GACCv1B,EACAkB,EACAy0B,IAAWF,EAAc,SAAW,WACpCQ,EACA9qC,EAGAv7F,GAEE,IACL,CAuTA,SAASwmI,GAAOp2B,EAAMvgE,EAASrpF,EAAMwN,EAAKyyK,GACzC,OAAO,IAAID,GAAM75K,UAAU02C,KAAM+sG,EAAMvgE,EAASrpF,EAAMwN,EAAKyyK,EAC5D,CAvTAngB,EAAO5b,OAAQ,CAIdg8B,SAAU,CACTC,QAAS,CACR/qK,IAAK,SAAUw0I,EAAM/iD,GACpB,GAAKA,EAAW,CAGf,IAAI+J,EAAMqrE,GAAQryB,EAAM,WACxB,MAAe,KAARh5C,EAAa,IAAMA,CAC3B,CACD,IAKF2iE,UAAW,CACV6M,yBAAyB,EACzBC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,UAAU,EACVC,YAAY,EACZzB,YAAY,EACZ0B,UAAU,EACVC,YAAY,EACZC,eAAe,EACfC,iBAAiB,EACjBC,SAAS,EACTC,YAAY,EACZC,cAAc,EACdC,YAAY,EACZd,SAAS,EACTe,OAAO,EACPC,SAAS,EACTjO,OAAO,EACPkO,QAAQ,EACRC,QAAQ,EACRC,MAAM,EAGNC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,kBAAkB,EAClBC,eAAe,GAKhBjD,SAAU,CAAC,EAGX93D,MAAO,SAAUgjC,EAAMrxJ,EAAM4G,EAAOogL,GAGnC,GAAM31B,GAA0B,IAAlBA,EAAK1sC,UAAoC,IAAlB0sC,EAAK1sC,UAAmB0sC,EAAKhjC,MAAlE,CAKA,IAAIhW,EAAKtnG,EAAM2lB,EACd2yJ,EAAWnQ,GAAWl5K,GACtB6jL,EAAeT,GAAYt3K,KAAM9L,GACjCquH,EAAQgjC,EAAKhjC,MAad,GARMw1D,IACL7jL,EAAOimL,GAAeoD,IAIvB3yJ,EAAQ6wI,EAAOogB,SAAU3nL,IAAUunK,EAAOogB,SAAU0B,QAGrC7iL,IAAVI,EA0CJ,OAAK8vB,GAAS,QAASA,QACwBlwB,KAA5C6xG,EAAM3hF,EAAM7Z,IAAKw0I,GAAM,EAAO21B,IAEzB3uE,EAIDgW,EAAOruH,GAhDd+Q,SAAcnK,EAGA,WAATmK,IAAuBsnG,EAAM6hE,GAAQptK,KAAMlG,KAAayxG,EAAK,KACjEzxG,EAAQ2zK,GAAWlpB,EAAMrxJ,EAAMq4G,GAG/BtnG,EAAO,UAIM,MAATnK,GAAiBA,IAAUA,IAOlB,WAATmK,GAAsB8yK,IAC1Bj9K,GAASyxG,GAAOA,EAAK,KAASkvD,EAAOyT,UAAWqO,GAAa,GAAK,OAI7DpiB,EAAQ+d,iBAA6B,KAAVp+K,GAAiD,IAAjC5G,EAAK21B,QAAS,gBAC9D04F,EAAOruH,GAAS,WAIX02B,GAAY,QAASA,QACsBlwB,KAA9CI,EAAQ8vB,EAAMte,IAAKi5I,EAAMzqJ,EAAOogL,MAE7BnD,EACJx1D,EAAMuwB,YAAa5+I,EAAM4G,GAEzBynH,EAAOruH,GAAS4G,GAtDnB,CAsED,EAEA8yI,IAAK,SAAU2X,EAAMrxJ,EAAMgnL,EAAOxqC,GACjC,IAAIv7F,EAAK74C,EAAKsuB,EACb2yJ,EAAWnQ,GAAWl5K,GACtB6jL,EAAeT,GAAYt3K,KAAM9L,GA4BlC,OAvBM6jL,IACL7jL,EAAOimL,GAAeoD,IAIvB3yJ,EAAQ6wI,EAAOogB,SAAU3nL,IAAUunK,EAAOogB,SAAU0B,GAG/C3yJ,GAAS,QAASA,IACtBuqB,EAAMvqB,EAAM7Z,IAAKw0I,GAAM,EAAM21B,SAIjBxgL,IAARy6C,IACJA,EAAMyiI,GAAQryB,EAAMrxJ,EAAMw8I,IAId,WAARv7F,GAAoBjhD,KAAQumL,KAChCtlI,EAAMslI,GAAoBvmL,IAIZ,KAAVgnL,GAAgBA,GACpB5+K,EAAMwtD,WAAY3U,IACD,IAAV+lI,GAAkBsC,SAAUlhL,GAAQA,GAAO,EAAI64C,GAGhDA,CACR,IAGDsmH,EAAOvT,KAAM,CAAE,SAAU,UAAW,SAAUz3I,EAAIg2I,GACjDgV,EAAOogB,SAAUp1B,GAAc,CAC9B11I,IAAK,SAAUw0I,EAAM/iD,EAAU04E,GAC9B,GAAK14E,EAIJ,OAAO83E,GAAat6K,KAAMy7J,EAAO7tB,IAAK2X,EAAM,aAQxCA,EAAKm2B,iBAAiB/qK,QAAW40I,EAAKnhC,wBAAwBiqC,MAIjEitB,GAAkB/1B,EAAMkB,EAAWy0B,GAHnCzD,GAAMlyB,EAAMg1B,IAAS,WACpB,OAAOe,GAAkB/1B,EAAMkB,EAAWy0B,EAC3C,GAGH,EAEA5uK,IAAK,SAAUi5I,EAAMzqJ,EAAOogL,GAC3B,IAAIl4K,EACH0tI,EAAS6mC,GAAWhyB,GAIpBk4B,GAAsBtiB,EAAQme,iBACT,aAApB5oC,EAAOmoC,SAGR0C,EAAkBkC,GAAsBvC,EACxCF,EAAcO,GACsC,eAAnD9f,EAAO7tB,IAAK2X,EAAM,aAAa,EAAO7U,GACvCmqC,EAAWK,EACVJ,GACCv1B,EACAkB,EACAy0B,EACAF,EACAtqC,GAED,EAqBF,OAjBKsqC,GAAeyC,IACnB5C,GAAY5nL,KAAKooL,KAChB91B,EAAM,SAAWkB,EAAW,GAAIngJ,cAAgBmgJ,EAAUj+G,MAAO,IACjEshB,WAAY4mF,EAAQ+V,IACpBq0B,GAAoBv1B,EAAMkB,EAAW,UAAU,EAAO/V,GACtD,KAKGmqC,IAAc73K,EAAUorK,GAAQptK,KAAMlG,KACb,QAA3BkI,EAAS,IAAO,QAElBuiJ,EAAKhjC,MAAOkkC,GAAc3rJ,EAC1BA,EAAQ2gK,EAAO7tB,IAAK2X,EAAMkB,IAGpBm0B,GAAmBr1B,EAAMzqJ,EAAO+/K,EACxC,EAEF,IAEApf,EAAOogB,SAASnD,WAAaR,GAAc/c,EAAQke,oBAClD,SAAU9zB,EAAM/iD,GACf,GAAKA,EACJ,OAAS14C,WAAY8tH,GAAQryB,EAAM,gBAClCA,EAAKnhC,wBAAwBjkH,KAC5Bs3K,GAAMlyB,EAAM,CAAEmzB,WAAY,IAAK,WAC9B,OAAOnzB,EAAKnhC,wBAAwBjkH,IACrC,KACE,IAEN,IAIDs7J,EAAOvT,KAAM,CACZgG,OAAQ,GACRF,QAAS,GACT0vB,OAAQ,UACN,SAAU7lH,EAAQ8lH,GACpBliB,EAAOogB,SAAUhkH,EAAS8lH,GAAW,CACpCC,OAAQ,SAAU9iL,GAOjB,IANA,IAAIN,EAAI,EACPqjL,EAAW,CAAC,EAGZ74I,EAAyB,kBAAVlqC,EAAqBA,EAAMm2E,MAAO,KAAQ,CAAEn2E,GAEpDN,EAAI,EAAGA,IACdqjL,EAAUhmH,EAASw2G,GAAW7zK,GAAMmjL,GACnC34I,EAAOxqC,IAAOwqC,EAAOxqC,EAAI,IAAOwqC,EAAO,GAGzC,OAAO64I,CACR,GAGe,WAAXhmH,IACJ4jG,EAAOogB,SAAUhkH,EAAS8lH,GAASrxK,IAAMsuK,GAE3C,IAEAnf,EAAOjtJ,GAAGqxI,OAAQ,CACjBjS,IAAK,SAAU15I,EAAM4G,GACpB,OAAO+xK,GAAQ/3K,MAAM,SAAUywJ,EAAMrxJ,EAAM4G,GAC1C,IAAI41I,EAAQh5G,EACXt9B,EAAM,CAAC,EACPI,EAAI,EAEL,GAAK4H,MAAMqnD,QAASv1D,GAAS,CAI5B,IAHAw8I,EAAS6mC,GAAWhyB,GACpB7tH,EAAMxjC,EAAKyc,OAEHnW,EAAIk9B,EAAKl9B,IAChBJ,EAAKlG,EAAMsG,IAAQihK,EAAO7tB,IAAK2X,EAAMrxJ,EAAMsG,IAAK,EAAOk2I,GAGxD,OAAOt2I,CACR,CAEA,YAAiBM,IAAVI,EACN2gK,EAAOl5C,MAAOgjC,EAAMrxJ,EAAM4G,GAC1B2gK,EAAO7tB,IAAK2X,EAAMrxJ,EACpB,GAAGA,EAAM4G,EAAO4V,UAAUC,OAAS,EACpC,IAOD8qJ,EAAOkgB,MAAQA,GAEfA,GAAM75K,UAAY,CACjBb,YAAa06K,GACbnjI,KAAM,SAAU+sG,EAAMvgE,EAASrpF,EAAMwN,EAAKyyK,EAAQ3M,GACjDn6K,KAAKywJ,KAAOA,EACZzwJ,KAAK6G,KAAOA,EACZ7G,KAAK8mL,OAASA,GAAUngB,EAAOmgB,OAAO1L,SACtCp7K,KAAKkwF,QAAUA,EACflwF,KAAKoU,MAAQpU,KAAKgU,IAAMhU,KAAKu7G,MAC7Bv7G,KAAKqU,IAAMA,EACXrU,KAAKm6K,KAAOA,IAAUxT,EAAOyT,UAAWvzK,GAAS,GAAK,KACvD,EACA00G,IAAK,WACJ,IAAIzlF,EAAQ+wJ,GAAMmC,UAAWhpL,KAAK6G,MAElC,OAAOivB,GAASA,EAAM7Z,IACrB6Z,EAAM7Z,IAAKjc,MACX6mL,GAAMmC,UAAU5N,SAASn/J,IAAKjc,KAChC,EACA8hB,IAAK,SAAUmnK,GACd,IAAIC,EACHpzJ,EAAQ+wJ,GAAMmC,UAAWhpL,KAAK6G,MAoB/B,OAlBK7G,KAAKkwF,QAAQhhF,SACjBlP,KAAKmpL,IAAMD,EAAQviB,EAAOmgB,OAAQ9mL,KAAK8mL,QACtCmC,EAASjpL,KAAKkwF,QAAQhhF,SAAW+5K,EAAS,EAAG,EAAGjpL,KAAKkwF,QAAQhhF,UAG9DlP,KAAKmpL,IAAMD,EAAQD,EAEpBjpL,KAAKgU,KAAQhU,KAAKqU,IAAMrU,KAAKoU,OAAU80K,EAAQlpL,KAAKoU,MAE/CpU,KAAKkwF,QAAQk5F,MACjBppL,KAAKkwF,QAAQk5F,KAAKrpL,KAAMC,KAAKywJ,KAAMzwJ,KAAKgU,IAAKhU,MAGzC81B,GAASA,EAAMte,IACnBse,EAAMte,IAAKxX,MAEX6mL,GAAMmC,UAAU5N,SAAS5jK,IAAKxX,MAExBA,IACR,GAGD6mL,GAAM75K,UAAU02C,KAAK12C,UAAY65K,GAAM75K,UAEvC65K,GAAMmC,UAAY,CACjB5N,SAAU,CACTn/J,IAAK,SAAU49J,GACd,IAAI9wK,EAIJ,OAA6B,IAAxB8wK,EAAMppB,KAAK1sC,UACa,MAA5B81D,EAAMppB,KAAMopB,EAAMhzK,OAAoD,MAAlCgzK,EAAMppB,KAAKhjC,MAAOosD,EAAMhzK,MACrDgzK,EAAMppB,KAAMopB,EAAMhzK,OAO1BkC,EAAS49J,EAAO7tB,IAAK+gC,EAAMppB,KAAMopB,EAAMhzK,KAAM,IAGrCkC,GAAqB,SAAXA,EAAwBA,EAAJ,EACvC,EACAyO,IAAK,SAAUqiK,GAKTlT,EAAO0iB,GAAGD,KAAMvP,EAAMhzK,MAC1B8/J,EAAO0iB,GAAGD,KAAMvP,EAAMhzK,MAAQgzK,GACK,IAAxBA,EAAMppB,KAAK1sC,WACtB4iD,EAAOogB,SAAUlN,EAAMhzK,OAC6B,MAAnDgzK,EAAMppB,KAAKhjC,MAAO43D,GAAexL,EAAMhzK,OAGxCgzK,EAAMppB,KAAMopB,EAAMhzK,MAASgzK,EAAM7lK,IAFjC2yJ,EAAOl5C,MAAOosD,EAAMppB,KAAMopB,EAAMhzK,KAAMgzK,EAAM7lK,IAAM6lK,EAAMM,KAI1D,IAMF0M,GAAMmC,UAAU5xB,UAAYyvB,GAAMmC,UAAUM,WAAa,CACxD9xK,IAAK,SAAUqiK,GACTA,EAAMppB,KAAK1sC,UAAY81D,EAAMppB,KAAK/sC,aACtCm2D,EAAMppB,KAAMopB,EAAMhzK,MAASgzK,EAAM7lK,IAEnC,GAGD2yJ,EAAOmgB,OAAS,CACfyC,OAAQ,SAAUlhJ,GACjB,OAAOA,CACR,EACAmhJ,MAAO,SAAUnhJ,GAChB,MAAO,GAAMlqC,KAAKsrL,IAAKphJ,EAAIlqC,KAAKurL,IAAO,CACxC,EACAtO,SAAU,SAGXzU,EAAO0iB,GAAKxC,GAAM75K,UAAU02C,KAG5BijH,EAAO0iB,GAAGD,KAAO,CAAC,EAKlB,IACCO,GAAOC,GACPC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHH,MACqB,IAApB/9F,EAASm+F,QAAoBhsI,EAAOk9F,sBACxCl9F,EAAOk9F,sBAAuB6uC,IAE9B/rI,EAAOmpD,WAAY4iF,GAAUpjB,EAAO0iB,GAAGpnH,UAGxC0kG,EAAO0iB,GAAGY,OAEZ,CAGA,SAASC,KAIR,OAHAlsI,EAAOmpD,YAAY,WAClBwiF,QAAQ/jL,CACT,IACS+jL,GAAQ1hL,KAAK+L,KACvB,CAGA,SAASm2K,GAAOh6K,EAAMi6K,GACrB,IAAI1yB,EACHhyJ,EAAI,EACJ4yH,EAAQ,CAAEusD,OAAQ10K,GAKnB,IADAi6K,EAAeA,EAAe,EAAI,EAC1B1kL,EAAI,EAAGA,GAAK,EAAI0kL,EACvB1yB,EAAQ6hB,GAAW7zK,GACnB4yH,EAAO,SAAWo/B,GAAUp/B,EAAO,UAAYo/B,GAAUvnJ,EAO1D,OAJKi6K,IACJ9xD,EAAM0uD,QAAU1uD,EAAMihC,MAAQppJ,GAGxBmoH,CACR,CAEA,SAAS+xD,GAAarkL,EAAOa,EAAMm4J,GAKlC,IAJA,IAAI6a,EACHuH,GAAekJ,GAAUC,SAAU1jL,IAAU,IAAK2J,OAAQ85K,GAAUC,SAAU,MAC9E3jI,EAAQ,EACR/qC,EAASulK,EAAWvlK,OACb+qC,EAAQ/qC,EAAQ+qC,IACvB,GAAOizH,EAAQuH,EAAYx6H,GAAQ7mD,KAAMi/J,EAAWn4J,EAAMb,GAGzD,OAAO6zK,CAGV,CAEA,SAAS2Q,GAAkB/5B,EAAM7/F,EAAO8+D,GACvC,IAAI7oH,EAAMb,EAAOiqJ,EAAQn6H,EAAO20J,EAASC,EAAWC,EAAgB1tC,EACnE2tC,EAAQ,UAAWh6H,GAAS,WAAYA,EACxCi6H,EAAO7qL,KACP8+D,EAAO,CAAC,EACR2uD,EAAQgjC,EAAKhjC,MACbu8D,EAASv5B,EAAK1sC,UAAY21D,GAAoBjpB,GAC9Cq6B,EAAWpS,GAASz8J,IAAKw0I,EAAM,UA6BhC,IAAM5pJ,KA1BA6oH,EAAKzpG,QACV6P,EAAQ6wI,EAAOwS,YAAa1oB,EAAM,MACX,MAAlB36H,EAAMi1J,WACVj1J,EAAMi1J,SAAW,EACjBN,EAAU30J,EAAM4sI,MAAMvoI,KACtBrE,EAAM4sI,MAAMvoI,KAAO,WACZrE,EAAMi1J,UACXN,GAEF,GAED30J,EAAMi1J,WAENF,EAAK7U,QAAQ,WAGZ6U,EAAK7U,QAAQ,WACZlgJ,EAAMi1J,WACApkB,EAAO1gJ,MAAOwqI,EAAM,MAAO50I,QAChCia,EAAM4sI,MAAMvoI,MAEd,GACD,KAIay2B,EAEb,GADA5qD,EAAQ4qD,EAAO/pD,GACVgjL,GAAS3+K,KAAMlF,GAAU,CAG7B,UAFO4qD,EAAO/pD,GACdopJ,EAASA,GAAoB,WAAVjqJ,EACdA,KAAYgkL,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAVhkL,IAAoB8kL,QAAiCllL,IAArBklL,EAAUjkL,GAK9C,SAJAmjL,GAAS,CAMX,CACAlrH,EAAMj4D,GAASikL,GAAYA,EAAUjkL,IAAU8/J,EAAOl5C,MAAOgjC,EAAM5pJ,EACpE,CAKD,GADA6jL,GAAa/jB,EAAOe,cAAe92G,GAC7B85H,IAAa/jB,EAAOe,cAAe5oG,GA8DzC,IAAMj4D,KAzDD+jL,GAA2B,IAAlBn6B,EAAK1sC,WAMlB2L,EAAKs7D,SAAW,CAAEv9D,EAAMu9D,SAAUv9D,EAAMw9D,UAAWx9D,EAAMqpC,WAGzD6zB,EAAiBG,GAAYA,EAAS7tC,QACf,MAAlB0tC,IACJA,EAAiBjS,GAASz8J,IAAKw0I,EAAM,YAEtCxT,EAAU0pB,EAAO7tB,IAAK2X,EAAM,WACX,SAAZxT,IACC0tC,EACJ1tC,EAAU0tC,GAIVnQ,GAAU,CAAE/pB,IAAQ,GACpBk6B,EAAiBl6B,EAAKhjC,MAAMwvB,SAAW0tC,EACvC1tC,EAAU0pB,EAAO7tB,IAAK2X,EAAM,WAC5B+pB,GAAU,CAAE/pB,OAKG,WAAZxT,GAAoC,iBAAZA,GAAgD,MAAlB0tC,IACrB,SAAhChkB,EAAO7tB,IAAK2X,EAAM,WAGhBi6B,IACLG,EAAK79H,MAAM,WACVygE,EAAMwvB,QAAU0tC,CACjB,IACuB,MAAlBA,IACJ1tC,EAAUxvB,EAAMwvB,QAChB0tC,EAA6B,SAAZ1tC,EAAqB,GAAKA,IAG7CxvB,EAAMwvB,QAAU,iBAKdvtB,EAAKs7D,WACTv9D,EAAMu9D,SAAW,SACjBH,EAAK7U,QAAQ,WACZvoD,EAAMu9D,SAAWt7D,EAAKs7D,SAAU,GAChCv9D,EAAMw9D,UAAYv7D,EAAKs7D,SAAU,GACjCv9D,EAAMqpC,UAAYpnC,EAAKs7D,SAAU,EAClC,KAIDN,GAAY,EACE5rH,EAGP4rH,IACAI,EACC,WAAYA,IAChBd,EAASc,EAASd,QAGnBc,EAAWpS,GAASX,OAAQtnB,EAAM,SAAU,CAAExT,QAAS0tC,IAInD16B,IACJ66B,EAASd,QAAUA,GAIfA,GACJxP,GAAU,CAAE/pB,IAAQ,GAKrBo6B,EAAK79H,MAAM,WASV,IAAMnmD,KAJAmjL,GACLxP,GAAU,CAAE/pB,IAEbioB,GAASr2I,OAAQouH,EAAM,UACT3xF,EACb6nG,EAAOl5C,MAAOgjC,EAAM5pJ,EAAMi4D,EAAMj4D,GAElC,KAID6jL,EAAYL,GAAaL,EAASc,EAAUjkL,GAAS,EAAGA,EAAMgkL,GACtDhkL,KAAQikL,IACfA,EAAUjkL,GAAS6jL,EAAUt2K,MACxB41K,IACJU,EAAUr2K,IAAMq2K,EAAUt2K,MAC1Bs2K,EAAUt2K,MAAQ,GAItB,CAEA,SAAS82K,GAAYt6H,EAAOu6H,GAC3B,IAAIvkI,EAAOxnD,EAAM0nL,EAAQ9gL,EAAO8vB,EAGhC,IAAM8wB,KAASgK,EAed,GAdAxxD,EAAOk5K,GAAW1xH,GAClBkgI,EAASqE,EAAe/rL,GACxB4G,EAAQ4qD,EAAOhK,GACVt5C,MAAMqnD,QAAS3uD,KACnB8gL,EAAS9gL,EAAO,GAChBA,EAAQ4qD,EAAOhK,GAAU5gD,EAAO,IAG5B4gD,IAAUxnD,IACdwxD,EAAOxxD,GAAS4G,SACT4qD,EAAOhK,IAGf9wB,EAAQ6wI,EAAOogB,SAAU3nL,GACpB02B,GAAS,WAAYA,EAMzB,IAAM8wB,KALN5gD,EAAQ8vB,EAAMgzJ,OAAQ9iL,UACf4qD,EAAOxxD,GAIC4G,EACN4gD,KAASgK,IAChBA,EAAOhK,GAAU5gD,EAAO4gD,GACxBukI,EAAevkI,GAAUkgI,QAI3BqE,EAAe/rL,GAAS0nL,CAG3B,CAEA,SAASwD,GAAW75B,EAAM9pJ,EAAYupF,GACrC,IAAInnF,EACHqiL,EACAxkI,EAAQ,EACR/qC,EAASyuK,GAAUe,WAAWxvK,OAC9Bo6J,EAAWtP,EAAOmP,WAAWE,QAAQ,kBAG7BiU,EAAKx5B,IACb,IACAw5B,EAAO,WACN,GAAKmB,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAc3B,IAASO,KAC1Bl3H,EAAY70D,KAAKwQ,IAAK,EAAGqwJ,EAAUjvG,UAAYivG,EAAU9vJ,SAAWo8K,GAIpE1Z,EAAO5+G,EAAYgsG,EAAU9vJ,UAAY,EACzC+5K,EAAU,EAAIrX,EACdhrH,EAAQ,EACR/qC,EAASmjJ,EAAUusB,OAAO1vK,OAEnB+qC,EAAQ/qC,EAAQ+qC,IACvBo4G,EAAUusB,OAAQ3kI,GAAQ9kC,IAAKmnK,GAMhC,OAHAhT,EAASU,WAAYlmB,EAAM,CAAEuO,EAAWiqB,EAASj2H,IAG5Ci2H,EAAU,GAAKptK,EACZm3C,GAIFn3C,GACLo6J,EAASU,WAAYlmB,EAAM,CAAEuO,EAAW,EAAG,IAI5CiX,EAASW,YAAanmB,EAAM,CAAEuO,KACvB,EACR,EACAA,EAAYiX,EAASb,QAAS,CAC7B3kB,KAAMA,EACN7/F,MAAO+1G,EAAO5b,OAAQ,CAAC,EAAGpkJ,GAC1B+oH,KAAMi3C,EAAO5b,QAAQ,EAAM,CAC1BogC,cAAe,CAAC,EAChBrE,OAAQngB,EAAOmgB,OAAO1L,UACpBlrF,GACHs7F,mBAAoB7kL,EACpB8kL,gBAAiBv7F,EACjBngC,UAAW45H,IAASO,KACpBh7K,SAAUghF,EAAQhhF,SAClBq8K,OAAQ,GACRlB,YAAa,SAAUxjL,EAAMwN,GAC5B,IAAIwlK,EAAQlT,EAAOkgB,MAAOp2B,EAAMuO,EAAUtvC,KAAM7oH,EAAMwN,EACrD2qJ,EAAUtvC,KAAKy7D,cAAetkL,IAAUm4J,EAAUtvC,KAAKo3D,QAExD,OADA9nB,EAAUusB,OAAO33I,KAAMimI,GAChBA,CACR,EACAviI,KAAM,SAAUo0I,GACf,IAAI9kI,EAAQ,EAIX/qC,EAAS6vK,EAAU1sB,EAAUusB,OAAO1vK,OAAS,EAC9C,GAAKuvK,EACJ,OAAOprL,KAGR,IADAorL,GAAU,EACFxkI,EAAQ/qC,EAAQ+qC,IACvBo4G,EAAUusB,OAAQ3kI,GAAQ9kC,IAAK,GAUhC,OANK4pK,GACJzV,EAASU,WAAYlmB,EAAM,CAAEuO,EAAW,EAAG,IAC3CiX,EAASW,YAAanmB,EAAM,CAAEuO,EAAW0sB,KAEzCzV,EAASa,WAAYrmB,EAAM,CAAEuO,EAAW0sB,IAElC1rL,IACR,IAED4wD,EAAQouG,EAAUpuG,MAInB,IAFAs6H,GAAYt6H,EAAOouG,EAAUtvC,KAAKy7D,eAE1BvkI,EAAQ/qC,EAAQ+qC,IAEvB,GADA79C,EAASuhL,GAAUe,WAAYzkI,GAAQ7mD,KAAMi/J,EAAWvO,EAAM7/F,EAAOouG,EAAUtvC,MAC1E3mH,EAKJ,OAJKmvF,EAAYnvF,EAAOuuC,QACvBqvH,EAAOwS,YAAana,EAAUvO,KAAMuO,EAAUtvC,KAAKzpG,OAAQqxB,KAC1DvuC,EAAOuuC,KAAKz4B,KAAM9V,IAEbA,EAyBT,OArBA49J,EAAOrhK,IAAKsrD,EAAOy5H,GAAarrB,GAE3B9mE,EAAY8mE,EAAUtvC,KAAKt7G,QAC/B4qJ,EAAUtvC,KAAKt7G,MAAMrU,KAAM0wJ,EAAMuO,GAIlCA,EACEsX,SAAUtX,EAAUtvC,KAAK4mD,UACzBtpH,KAAMgyG,EAAUtvC,KAAK1iE,KAAMgyG,EAAUtvC,KAAKuiC,UAC1CpoH,KAAMm1H,EAAUtvC,KAAK7lF,MACrBmsI,OAAQhX,EAAUtvC,KAAKsmD,QAEzBrP,EAAO0iB,GAAGsC,MACThlB,EAAO5b,OAAQk/B,EAAM,CACpBx5B,KAAMA,EACNo6B,KAAM7rB,EACN/4I,MAAO+4I,EAAUtvC,KAAKzpG,SAIjB+4I,CACR,CAEA2H,EAAO2jB,UAAY3jB,EAAO5b,OAAQu/B,GAAW,CAE5CC,SAAU,CACT,IAAK,CAAE,SAAU1jL,EAAMb,GACtB,IAAI6zK,EAAQ75K,KAAKqqL,YAAaxjL,EAAMb,GAEpC,OADA2zK,GAAWE,EAAMppB,KAAM5pJ,EAAMyyK,GAAQptK,KAAMlG,GAAS6zK,GAC7CA,CACR,IAGD+R,QAAS,SAAUh7H,EAAOjyC,GACpBu5E,EAAYtnC,IAChBjyC,EAAWiyC,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAMziD,MAAO2mK,GAOtB,IAJA,IAAIjuK,EACH+/C,EAAQ,EACR/qC,EAAS+0C,EAAM/0C,OAER+qC,EAAQ/qC,EAAQ+qC,IACvB//C,EAAO+pD,EAAOhK,GACd0jI,GAAUC,SAAU1jL,GAASyjL,GAAUC,SAAU1jL,IAAU,GAC3DyjL,GAAUC,SAAU1jL,GAAO0qG,QAAS5yF,EAEtC,EAEA0sK,WAAY,CAAEb,IAEdqB,UAAW,SAAUltK,EAAUw2G,GACzBA,EACJm1D,GAAUe,WAAW95E,QAAS5yF,GAE9B2rK,GAAUe,WAAWz3I,KAAMj1B,EAE7B,IAGDgoJ,EAAOmlB,MAAQ,SAAUA,EAAOhF,EAAQptK,GACvC,IAAIuhH,EAAM6wD,GAA0B,kBAAVA,EAAqBnlB,EAAO5b,OAAQ,CAAC,EAAG+gC,GAAU,CAC3E75B,SAAUv4I,IAAOA,GAAMotK,GACtB5uF,EAAY4zF,IAAWA,EACxB58K,SAAU48K,EACVhF,OAAQptK,GAAMotK,GAAUA,IAAW5uF,EAAY4uF,IAAYA,GAoC5D,OAhCKngB,EAAO0iB,GAAGz+E,IACdqwB,EAAI/rH,SAAW,EAGc,kBAAjB+rH,EAAI/rH,WACV+rH,EAAI/rH,YAAYy3J,EAAO0iB,GAAG0C,OAC9B9wD,EAAI/rH,SAAWy3J,EAAO0iB,GAAG0C,OAAQ9wD,EAAI/rH,UAGrC+rH,EAAI/rH,SAAWy3J,EAAO0iB,GAAG0C,OAAO3Q,UAMjB,MAAbngD,EAAIh1G,QAA+B,IAAdg1G,EAAIh1G,QAC7Bg1G,EAAIh1G,MAAQ,MAIbg1G,EAAI2nD,IAAM3nD,EAAIg3B,SAEdh3B,EAAIg3B,SAAW,WACT/5D,EAAY+iC,EAAI2nD,MACpB3nD,EAAI2nD,IAAI7iL,KAAMC,MAGVi7H,EAAIh1G,OACR0gJ,EAAOsS,QAASj5K,KAAMi7H,EAAIh1G,MAE5B,EAEOg1G,CACR,EAEA0rC,EAAOjtJ,GAAGqxI,OAAQ,CACjBihC,OAAQ,SAAUF,EAAO/iJ,EAAI+9I,EAAQnoK,GAGpC,OAAO3e,KAAKo+D,OAAQs7G,IAAqB5gC,IAAK,UAAW,GAAIqY,OAG3D98I,MAAM4jJ,QAAS,CAAE+uB,QAASj+I,GAAM+iJ,EAAOhF,EAAQnoK,EAClD,EACAs5I,QAAS,SAAUpxJ,EAAMilL,EAAOhF,EAAQnoK,GACvC,IAAI+jJ,EAAQiE,EAAOe,cAAe7gK,GACjColL,EAAStlB,EAAOmlB,MAAOA,EAAOhF,EAAQnoK,GACtCutK,EAAc,WAGb,IAAIrB,EAAOP,GAAWtqL,KAAM2mK,EAAO5b,OAAQ,CAAC,EAAGlkJ,GAAQolL,IAGlDvpB,GAASgW,GAASz8J,IAAKjc,KAAM,YACjC6qL,EAAKvzI,MAAM,EAEb,EAID,OAFA40I,EAAYC,OAASD,EAEdxpB,IAA0B,IAAjBupB,EAAOhmK,MACtBjmB,KAAKozJ,KAAM84B,GACXlsL,KAAKimB,MAAOgmK,EAAOhmK,MAAOimK,EAC5B,EACA50I,KAAM,SAAUnnC,EAAMipK,EAAYsS,GACjC,IAAIU,EAAY,SAAUt2J,GACzB,IAAIwhB,EAAOxhB,EAAMwhB,YACVxhB,EAAMwhB,KACbA,EAAMo0I,EACP,EAWA,MATqB,kBAATv7K,IACXu7K,EAAUtS,EACVA,EAAajpK,EACbA,OAAOvK,GAEHwzK,GACJp5K,KAAKimB,MAAO9V,GAAQ,KAAM,IAGpBnQ,KAAKozJ,MAAM,WACjB,IAAI6lB,GAAU,EACbryH,EAAgB,MAARz2C,GAAgBA,EAAO,aAC/Bk8K,EAAS1lB,EAAO0lB,OAChBrnL,EAAO0zK,GAASz8J,IAAKjc,MAEtB,GAAK4mD,EACC5hD,EAAM4hD,IAAW5hD,EAAM4hD,GAAQtP,MACnC80I,EAAWpnL,EAAM4hD,SAGlB,IAAMA,KAAS5hD,EACTA,EAAM4hD,IAAW5hD,EAAM4hD,GAAQtP,MAAQwyI,GAAK5+K,KAAM07C,IACtDwlI,EAAWpnL,EAAM4hD,IAKpB,IAAMA,EAAQylI,EAAOxwK,OAAQ+qC,KACvBylI,EAAQzlI,GAAQ6pG,OAASzwJ,MACnB,MAARmQ,GAAgBk8K,EAAQzlI,GAAQ3gC,QAAU9V,IAE5Ck8K,EAAQzlI,GAAQikI,KAAKvzI,KAAMo0I,GAC3BzS,GAAU,EACVoT,EAAOxgL,OAAQ+6C,EAAO,KAOnBqyH,GAAYyS,GAChB/kB,EAAOsS,QAASj5K,KAAMmQ,EAExB,GACD,EACAg8K,OAAQ,SAAUh8K,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAETnQ,KAAKozJ,MAAM,WACjB,IAAIxsG,EACH5hD,EAAO0zK,GAASz8J,IAAKjc,MACrBimB,EAAQjhB,EAAMmL,EAAO,SACrB2lB,EAAQ9wB,EAAMmL,EAAO,cACrBk8K,EAAS1lB,EAAO0lB,OAChBxwK,EAASoK,EAAQA,EAAMpK,OAAS,EAajC,IAVA7W,EAAKmnL,QAAS,EAGdxlB,EAAO1gJ,MAAOjmB,KAAMmQ,EAAM,IAErB2lB,GAASA,EAAMwhB,MACnBxhB,EAAMwhB,KAAKv3C,KAAMC,MAAM,GAIlB4mD,EAAQylI,EAAOxwK,OAAQ+qC,KACvBylI,EAAQzlI,GAAQ6pG,OAASzwJ,MAAQqsL,EAAQzlI,GAAQ3gC,QAAU9V,IAC/Dk8K,EAAQzlI,GAAQikI,KAAKvzI,MAAM,GAC3B+0I,EAAOxgL,OAAQ+6C,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQ/qC,EAAQ+qC,IAC3B3gC,EAAO2gC,IAAW3gC,EAAO2gC,GAAQulI,QACrClmK,EAAO2gC,GAAQulI,OAAOpsL,KAAMC,aAKvBgF,EAAKmnL,MACb,GACD,IAGDxlB,EAAOvT,KAAM,CAAE,SAAU,OAAQ,SAAU,SAAUz3I,EAAIvc,GACxD,IAAIktL,EAAQ3lB,EAAOjtJ,GAAIta,GACvBunK,EAAOjtJ,GAAIta,GAAS,SAAU0sL,EAAOhF,EAAQnoK,GAC5C,OAAgB,MAATmtK,GAAkC,mBAAVA,EAC9BQ,EAAMz/G,MAAO7sE,KAAM4b,WACnB5b,KAAKi4J,QAASkyB,GAAO/qL,GAAM,GAAQ0sL,EAAOhF,EAAQnoK,EACpD,CACD,IAGAgoJ,EAAOvT,KAAM,CACZm5B,UAAWpC,GAAO,QAClBqC,QAASrC,GAAO,QAChBsC,YAAatC,GAAO,UACpBuC,OAAQ,CAAE1F,QAAS,QACnB2F,QAAS,CAAE3F,QAAS,QACpB4F,WAAY,CAAE5F,QAAS,YACrB,SAAU5nL,EAAMwxD,GAClB+1G,EAAOjtJ,GAAIta,GAAS,SAAU0sL,EAAOhF,EAAQnoK,GAC5C,OAAO3e,KAAKi4J,QAASrnG,EAAOk7H,EAAOhF,EAAQnoK,EAC5C,CACD,IAEAgoJ,EAAO0lB,OAAS,GAChB1lB,EAAO0iB,GAAGY,KAAO,WAChB,IAAI0B,EACHjmL,EAAI,EACJ2mL,EAAS1lB,EAAO0lB,OAIjB,IAFA1C,GAAQ1hL,KAAK+L,MAELtO,EAAI2mL,EAAOxwK,OAAQnW,IAC1BimL,EAAQU,EAAQ3mL,GAGVimL,KAAWU,EAAQ3mL,KAAQimL,GAChCU,EAAOxgL,OAAQnG,IAAK,GAIhB2mL,EAAOxwK,QACZ8qJ,EAAO0iB,GAAG/xI,OAEXqyI,QAAQ/jL,CACT,EAEA+gK,EAAO0iB,GAAGsC,MAAQ,SAAUA,GAC3BhlB,EAAO0lB,OAAOz4I,KAAM+3I,GACpBhlB,EAAO0iB,GAAGj1K,OACX,EAEAuyJ,EAAO0iB,GAAGpnH,SAAW,GACrB0kG,EAAO0iB,GAAGj1K,MAAQ,WACZw1K,KAILA,IAAa,EACbG,KACD,EAEApjB,EAAO0iB,GAAG/xI,KAAO,WAChBsyI,GAAa,IACd,EAEAjjB,EAAO0iB,GAAG0C,OAAS,CAClBc,KAAM,IACNC,KAAM,IAGN1R,SAAU,KAKXzU,EAAOjtJ,GAAGu3G,MAAQ,SAAUjpH,EAAMmI,GAIjC,OAHAnI,EAAO2+J,EAAO0iB,IAAK1iB,EAAO0iB,GAAG0C,OAAQ/jL,IAAiBA,EACtDmI,EAAOA,GAAQ,KAERnQ,KAAKimB,MAAO9V,GAAM,SAAUsS,EAAMqT,GACxC,IAAIxB,EAAU0pB,EAAOmpD,WAAY1kF,EAAMza,GACvC8tB,EAAMwhB,KAAO,WACZ0G,EAAOqpD,aAAc/yE,EACtB,CACD,GACD,EAGA,WACC,IAAIjtB,EAAQwkF,EAAS56E,cAAe,SACnC8uG,EAASl0B,EAAS56E,cAAe,UACjCgqH,EAAMlb,EAAO04B,YAAa5sD,EAAS56E,cAAe,WAEnD5J,EAAM8I,KAAO,WAIbk2J,EAAQ0mB,QAA0B,KAAhB1lL,EAAMrB,MAIxBqgK,EAAQ2mB,YAAc/xD,EAAIqsB,SAI1BjgJ,EAAQwkF,EAAS56E,cAAe,SAChC5J,EAAMrB,MAAQ,IACdqB,EAAM8I,KAAO,QACbk2J,EAAQ4mB,WAA6B,MAAhB5lL,EAAMrB,KAC1B,CArBF,GAwBA,IAAIknL,GACHpf,GAAanH,EAAOiH,KAAKE,WAE1BnH,EAAOjtJ,GAAGqxI,OAAQ,CACjBgH,KAAM,SAAU3yJ,EAAM4G,GACrB,OAAO+xK,GAAQ/3K,KAAM2mK,EAAO5U,KAAM3yJ,EAAM4G,EAAO4V,UAAUC,OAAS,EACnE,EAEAsxK,WAAY,SAAU/tL,GACrB,OAAOY,KAAKozJ,MAAM,WACjBuT,EAAOwmB,WAAYntL,KAAMZ,EAC1B,GACD,IAGDunK,EAAO5b,OAAQ,CACdgH,KAAM,SAAUtB,EAAMrxJ,EAAM4G,GAC3B,IAAIyxG,EAAK3hF,EACRs3J,EAAQ38B,EAAK1sC,SAGd,GAAe,IAAVqpE,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,qBAAtB38B,EAAK1hC,aACT43C,EAAO9/J,KAAM4pJ,EAAMrxJ,EAAM4G,IAKlB,IAAVonL,GAAgBzmB,EAAOkB,SAAUpX,KACrC36H,EAAQ6wI,EAAO0mB,UAAWjuL,EAAK2T,iBAC5B4zJ,EAAOiH,KAAKz/J,MAAMw8J,KAAKz/J,KAAM9L,GAAS8tL,QAAWtnL,SAGtCA,IAAVI,EACW,OAAVA,OACJ2gK,EAAOwmB,WAAY18B,EAAMrxJ,GAIrB02B,GAAS,QAASA,QACuBlwB,KAA3C6xG,EAAM3hF,EAAMte,IAAKi5I,EAAMzqJ,EAAO5G,IACzBq4G,GAGRg5C,EAAKvsC,aAAc9kH,EAAM4G,EAAQ,IAC1BA,GAGH8vB,GAAS,QAASA,GAA+C,QAApC2hF,EAAM3hF,EAAM7Z,IAAKw0I,EAAMrxJ,IACjDq4G,GAGRA,EAAMkvD,EAAOl2D,KAAKshD,KAAMtB,EAAMrxJ,GAGhB,MAAPq4G,OAAc7xG,EAAY6xG,GAClC,EAEA41E,UAAW,CACVl9K,KAAM,CACLqH,IAAK,SAAUi5I,EAAMzqJ,GACpB,IAAMqgK,EAAQ4mB,YAAwB,UAAVjnL,GAC3Bw0J,EAAU/J,EAAM,SAAY,CAC5B,IAAIpwG,EAAMowG,EAAKzqJ,MAKf,OAJAyqJ,EAAKvsC,aAAc,OAAQl+G,GACtBq6C,IACJowG,EAAKzqJ,MAAQq6C,GAEPr6C,CACR,CACD,IAIFmnL,WAAY,SAAU18B,EAAMzqJ,GAC3B,IAAI5G,EACHsG,EAAI,EAIJ4nL,EAAYtnL,GAASA,EAAMmI,MAAO2mK,GAEnC,GAAKwY,GAA+B,IAAlB78B,EAAK1sC,SACtB,MAAU3kH,EAAOkuL,EAAW5nL,KAC3B+qJ,EAAK5T,gBAAiBz9I,EAGzB,IAID8tL,GAAW,CACV11K,IAAK,SAAUi5I,EAAMzqJ,EAAO5G,GAQ3B,OAPe,IAAV4G,EAGJ2gK,EAAOwmB,WAAY18B,EAAMrxJ,GAEzBqxJ,EAAKvsC,aAAc9kH,EAAMA,GAEnBA,CACR,GAGDunK,EAAOvT,KAAMuT,EAAOiH,KAAKz/J,MAAMw8J,KAAKprJ,OAAOpR,MAAO,SAAU,SAAUwN,EAAIvc,GACzE,IAAIge,EAAS0wJ,GAAY1uK,IAAUunK,EAAOl2D,KAAKshD,KAE/C+b,GAAY1uK,GAAS,SAAUqxJ,EAAMrxJ,EAAMm0K,GAC1C,IAAI97D,EAAKgtD,EACR8oB,EAAgBnuL,EAAK2T,cAYtB,OAVMwgK,IAGL9O,EAASqJ,GAAYyf,GACrBzf,GAAYyf,GAAkB91E,EAC9BA,EAAqC,MAA/Br6F,EAAQqzI,EAAMrxJ,EAAMm0K,GACzBga,EACA,KACDzf,GAAYyf,GAAkB9oB,GAExBhtD,CACR,CACD,IAKA,IAAI+1E,GAAa,sCAChBC,GAAa,gBAwIb,SAASC,GAAkB1nL,GAC1B,IAAI07E,EAAS17E,EAAMmI,MAAO2mK,IAAmB,GAC7C,OAAOpzF,EAAO10D,KAAM,IACrB,CAGD,SAAS2gK,GAAUl9B,GAClB,OAAOA,EAAK1hC,cAAgB0hC,EAAK1hC,aAAc,UAAa,EAC7D,CAEA,SAAS6+D,GAAgB5nL,GACxB,OAAKsH,MAAMqnD,QAAS3uD,GACZA,EAEc,kBAAVA,GACJA,EAAMmI,MAAO2mK,IAEd,EACR,CAxJAnO,EAAOjtJ,GAAGqxI,OAAQ,CACjBlkJ,KAAM,SAAUzH,EAAM4G,GACrB,OAAO+xK,GAAQ/3K,KAAM2mK,EAAO9/J,KAAMzH,EAAM4G,EAAO4V,UAAUC,OAAS,EACnE,EAEAgyK,WAAY,SAAUzuL,GACrB,OAAOY,KAAKozJ,MAAM,kBACVpzJ,KAAM2mK,EAAOmnB,QAAS1uL,IAAUA,EACxC,GACD,IAGDunK,EAAO5b,OAAQ,CACdlkJ,KAAM,SAAU4pJ,EAAMrxJ,EAAM4G,GAC3B,IAAIyxG,EAAK3hF,EACRs3J,EAAQ38B,EAAK1sC,SAGd,GAAe,IAAVqpE,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgBzmB,EAAOkB,SAAUpX,KAGrCrxJ,EAAOunK,EAAOmnB,QAAS1uL,IAAUA,EACjC02B,EAAQ6wI,EAAOqiB,UAAW5pL,SAGZwG,IAAVI,EACC8vB,GAAS,QAASA,QACuBlwB,KAA3C6xG,EAAM3hF,EAAMte,IAAKi5I,EAAMzqJ,EAAO5G,IACzBq4G,EAGCg5C,EAAMrxJ,GAAS4G,EAGpB8vB,GAAS,QAASA,GAA+C,QAApC2hF,EAAM3hF,EAAM7Z,IAAKw0I,EAAMrxJ,IACjDq4G,EAGDg5C,EAAMrxJ,EACd,EAEA4pL,UAAW,CACVnZ,SAAU,CACT5zJ,IAAK,SAAUw0I,GAMd,IAAIs9B,EAAWpnB,EAAOl2D,KAAKshD,KAAMtB,EAAM,YAEvC,OAAKs9B,EACG3/K,SAAU2/K,EAAU,IAI3BP,GAAWtiL,KAAMulJ,EAAK+J,WACtBizB,GAAWviL,KAAMulJ,EAAK+J,WACtB/J,EAAKr/I,KAEE,GAGA,CACT,IAIF08K,QAAS,CACR,IAAO,UACP,MAAS,eAYLznB,EAAQ2mB,cACbrmB,EAAOqiB,UAAU1hC,SAAW,CAC3BrrI,IAAK,SAAUw0I,GAId,IAAIjmD,EAASimD,EAAK/sC,WAIlB,OAHKlZ,GAAUA,EAAOkZ,YACrBlZ,EAAOkZ,WAAWqkC,cAEZ,IACR,EACAvwI,IAAK,SAAUi5I,GAId,IAAIjmD,EAASimD,EAAK/sC,WACblZ,IACJA,EAAOu9C,cAEFv9C,EAAOkZ,YACXlZ,EAAOkZ,WAAWqkC,cAGrB,IAIF4e,EAAOvT,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,oBACE,WACFuT,EAAOmnB,QAAS9tL,KAAK+S,eAAkB/S,IACxC,IA2BA2mK,EAAOjtJ,GAAGqxI,OAAQ,CACjB+G,SAAU,SAAU9rJ,GACnB,IAAIgoL,EAAYzyE,EAAK0yE,EAAU3+F,EAAW5pF,EAAGwoL,EAE7C,OAAKh2F,EAAYlyF,GACThG,KAAKozJ,MAAM,SAAUlqH,GAC3By9H,EAAQ3mK,MAAO8xJ,SAAU9rJ,EAAMjG,KAAMC,KAAMkpC,EAAGykJ,GAAU3tL,OACzD,KAGDguL,EAAaJ,GAAgB5nL,GAExBgoL,EAAWnyK,OACR7b,KAAKozJ,MAAM,WAIjB,GAHA66B,EAAWN,GAAU3tL,MACrBu7G,EAAwB,IAAlBv7G,KAAK+jH,UAAoB,IAAM2pE,GAAkBO,GAAa,IAE/D1yE,EAAM,CACV,IAAM71G,EAAI,EAAGA,EAAIsoL,EAAWnyK,OAAQnW,IACnC4pF,EAAY0+F,EAAYtoL,GACnB61G,EAAIxmF,QAAS,IAAMu6D,EAAY,KAAQ,IAC3CisB,GAAOjsB,EAAY,KAKrB4+F,EAAaR,GAAkBnyE,GAC1B0yE,IAAaC,GACjBluL,KAAKkkH,aAAc,QAASgqE,EAE9B,CACD,IAGMluL,KACR,EAEA6xJ,YAAa,SAAU7rJ,GACtB,IAAIgoL,EAAYzyE,EAAK0yE,EAAU3+F,EAAW5pF,EAAGwoL,EAE7C,OAAKh2F,EAAYlyF,GACThG,KAAKozJ,MAAM,SAAUlqH,GAC3By9H,EAAQ3mK,MAAO6xJ,YAAa7rJ,EAAMjG,KAAMC,KAAMkpC,EAAGykJ,GAAU3tL,OAC5D,IAGK4b,UAAUC,QAIhBmyK,EAAaJ,GAAgB5nL,GAExBgoL,EAAWnyK,OACR7b,KAAKozJ,MAAM,WAMjB,GALA66B,EAAWN,GAAU3tL,MAGrBu7G,EAAwB,IAAlBv7G,KAAK+jH,UAAoB,IAAM2pE,GAAkBO,GAAa,IAE/D1yE,EAAM,CACV,IAAM71G,EAAI,EAAGA,EAAIsoL,EAAWnyK,OAAQnW,IAAM,CACzC4pF,EAAY0+F,EAAYtoL,GAGxB,MAAQ61G,EAAIxmF,QAAS,IAAMu6D,EAAY,MAAS,EAC/CisB,EAAMA,EAAIvoG,QAAS,IAAMs8E,EAAY,IAAK,IAE5C,CAGA4+F,EAAaR,GAAkBnyE,GAC1B0yE,IAAaC,GACjBluL,KAAKkkH,aAAc,QAASgqE,EAE9B,CACD,IAGMluL,MA/BCA,KAAK+xJ,KAAM,QAAS,GAgC7B,EAEAyB,YAAa,SAAUxtJ,EAAOmoL,GAC7B,IAAIH,EAAY1+F,EAAW5pF,EAAGya,EAC7BhQ,SAAcnK,EACdooL,EAAwB,WAATj+K,GAAqB7C,MAAMqnD,QAAS3uD,GAEpD,OAAKkyF,EAAYlyF,GACThG,KAAKozJ,MAAM,SAAU1tJ,GAC3BihK,EAAQ3mK,MAAOwzJ,YACdxtJ,EAAMjG,KAAMC,KAAM0F,EAAGioL,GAAU3tL,MAAQmuL,GACvCA,EAEF,IAGwB,mBAAbA,GAA0BC,EAC9BD,EAAWnuL,KAAK8xJ,SAAU9rJ,GAAUhG,KAAK6xJ,YAAa7rJ,IAG9DgoL,EAAaJ,GAAgB5nL,GAEtBhG,KAAKozJ,MAAM,WACjB,GAAKg7B,EAKJ,IAFAjuK,EAAOwmJ,EAAQ3mK,MAET0F,EAAI,EAAGA,EAAIsoL,EAAWnyK,OAAQnW,IACnC4pF,EAAY0+F,EAAYtoL,GAGnBya,EAAK8wI,SAAU3hE,GACnBnvE,EAAK0xI,YAAaviE,GAElBnvE,EAAK2xI,SAAUxiE,aAKI1pF,IAAVI,GAAgC,YAATmK,IAClCm/E,EAAYq+F,GAAU3tL,MACjBsvF,GAGJopF,GAASlhK,IAAKxX,KAAM,gBAAiBsvF,GAOjCtvF,KAAKkkH,cACTlkH,KAAKkkH,aAAc,QAClB50B,IAAuB,IAAVtpF,EACZ,GACA0yK,GAASz8J,IAAKjc,KAAM,kBAAqB,IAI9C,IACD,EAEAixJ,SAAU,SAAU5Y,GACnB,IAAI/oD,EAAWmhE,EACd/qJ,EAAI,EAEL4pF,EAAY,IAAM+oD,EAAW,IAC7B,MAAUoY,EAAOzwJ,KAAM0F,KACtB,GAAuB,IAAlB+qJ,EAAK1sC,WACP,IAAM2pE,GAAkBC,GAAUl9B,IAAW,KAAM17H,QAASu6D,IAAe,EAC7E,OAAO,EAIT,OAAO,CACR,IAMD,IAAI++F,GAAU,MAEd1nB,EAAOjtJ,GAAGqxI,OAAQ,CACjB1qG,IAAK,SAAUr6C,GACd,IAAI8vB,EAAO2hF,EAAK8pE,EACf9wB,EAAOzwJ,KAAM,GAEd,OAAM4b,UAAUC,QA0BhB0lK,EAAkBrpF,EAAYlyF,GAEvBhG,KAAKozJ,MAAM,SAAU1tJ,GAC3B,IAAI26C,EAEmB,IAAlBrgD,KAAK+jH,WAKT1jE,EADIkhI,EACEv7K,EAAMjG,KAAMC,KAAM0F,EAAGihK,EAAQ3mK,MAAOqgD,OAEpCr6C,EAIK,MAAPq6C,EACJA,EAAM,GAEoB,kBAARA,EAClBA,GAAO,GAEI/yC,MAAMqnD,QAAStU,KAC1BA,EAAMsmH,EAAOrhK,IAAK+6C,GAAK,SAAUr6C,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,EACrC,KAGD8vB,EAAQ6wI,EAAO2nB,SAAUtuL,KAAKmQ,OAAUw2J,EAAO2nB,SAAUtuL,KAAKw6J,SAASznJ,eAGjE+iB,GAAY,QAASA,QAA+ClwB,IAApCkwB,EAAMte,IAAKxX,KAAMqgD,EAAK,WAC3DrgD,KAAKgG,MAAQq6C,GAEf,KA3DMowG,GACJ36H,EAAQ6wI,EAAO2nB,SAAU79B,EAAKtgJ,OAC7Bw2J,EAAO2nB,SAAU79B,EAAK+J,SAASznJ,eAE3B+iB,GACJ,QAASA,QACgClwB,KAAvC6xG,EAAM3hF,EAAM7Z,IAAKw0I,EAAM,UAElBh5C,GAGRA,EAAMg5C,EAAKzqJ,MAGS,kBAARyxG,EACJA,EAAIzkG,QAASq7K,GAAS,IAIhB,MAAP52E,EAAc,GAAKA,SAG3B,CAsCF,IAGDkvD,EAAO5b,OAAQ,CACdujC,SAAU,CACT1mC,OAAQ,CACP3rI,IAAK,SAAUw0I,GAEd,IAAIpwG,EAAMsmH,EAAOl2D,KAAKshD,KAAMtB,EAAM,SAClC,OAAc,MAAPpwG,EACNA,EAMAqtI,GAAkB/mB,EAAOzhJ,KAAMurI,GACjC,GAED1wC,OAAQ,CACP9jG,IAAK,SAAUw0I,GACd,IAAIzqJ,EAAO4hJ,EAAQliJ,EAClBwqF,EAAUugE,EAAKvgE,QACftpC,EAAQ6pG,EAAK1I,cACbsK,EAAoB,eAAd5B,EAAKtgJ,KACXk/B,EAASgjH,EAAM,KAAO,GACtB1jJ,EAAM0jJ,EAAMzrG,EAAQ,EAAIspC,EAAQr0E,OAUjC,IAPCnW,EADIkhD,EAAQ,EACRj4C,EAGA0jJ,EAAMzrG,EAAQ,EAIXlhD,EAAIiJ,EAAKjJ,IAKhB,GAJAkiJ,EAAS13D,EAASxqF,IAIXkiJ,EAAON,UAAY5hJ,IAAMkhD,KAG7BghG,EAAOxzH,YACLwzH,EAAOlkC,WAAWtvF,WACnBomI,EAAU5S,EAAOlkC,WAAY,aAAiB,CAMjD,GAHA19G,EAAQ2gK,EAAQ/e,GAASvnG,MAGpBgyG,EACJ,OAAOrsJ,EAIRqpC,EAAOuE,KAAM5tC,EACd,CAGD,OAAOqpC,CACR,EAEA73B,IAAK,SAAUi5I,EAAMzqJ,GACpB,IAAIuoL,EAAW3mC,EACd13D,EAAUugE,EAAKvgE,QACf7gD,EAASs3H,EAAOlM,UAAWz0J,GAC3BN,EAAIwqF,EAAQr0E,OAEb,MAAQnW,IACPkiJ,EAAS13D,EAASxqF,IAIbkiJ,EAAON,SACXqf,EAAOiB,QAASjB,EAAO2nB,SAAS1mC,OAAO3rI,IAAK2rI,GAAUv4G,IAAY,KAElEk/I,GAAY,GAUd,OAHMA,IACL99B,EAAK1I,eAAiB,GAEhB14G,CACR,MAMHs3H,EAAOvT,KAAM,CAAE,QAAS,aAAc,WACrCuT,EAAO2nB,SAAUtuL,MAAS,CACzBwX,IAAK,SAAUi5I,EAAMzqJ,GACpB,GAAKsH,MAAMqnD,QAAS3uD,GACnB,OAASyqJ,EAAK5J,QAAU8f,EAAOiB,QAASjB,EAAQlW,GAAOpwG,MAAOr6C,IAAW,CAE3E,GAEKqgK,EAAQ0mB,UACbpmB,EAAO2nB,SAAUtuL,MAAOic,IAAM,SAAUw0I,GACvC,OAAwC,OAAjCA,EAAK1hC,aAAc,SAAqB,KAAO0hC,EAAKzqJ,KAC5D,EAEF,IAMA,IAAIijB,GAAW+0B,EAAO/0B,SAElB04H,GAAQ,CAAEtzH,KAAMpmB,KAAK+L,OAErBw6K,GAAS,KAKb7nB,EAAO8nB,SAAW,SAAUzpL,GAC3B,IAAIgqK,EAAK0f,EACT,IAAM1pL,GAAwB,kBAATA,EACpB,OAAO,KAKR,IACCgqK,GAAM,IAAMhxH,EAAOu/G,WAAcE,gBAAiBz4J,EAAM,WACzD,CAAE,MAAQ8B,GAAK,CAYf,OAVA4nL,EAAkB1f,GAAOA,EAAIxrI,qBAAsB,eAAiB,GAC9DwrI,IAAO0f,GACZ/nB,EAAO3nK,MAAO,iBACb0vL,EACC/nB,EAAOrhK,IAAKopL,EAAgB/iB,YAAY,SAAUvsD,GACjD,OAAOA,EAAG+N,WACX,IAAIngG,KAAM,MACVhoB,IAGIgqK,CACR,EAGA,IAAI2f,GAAc,kCACjBC,GAA0B,SAAU9nL,GACnCA,EAAEyhJ,iBACH,EAEDoe,EAAO5b,OAAQ4b,EAAOz7I,MAAO,CAE5B0gF,QAAS,SAAU1gF,EAAOlmB,EAAMyrJ,EAAMo+B,GAErC,IAAInpL,EAAG61G,EAAK14F,EAAKisK,EAAYC,EAAQtqB,EAAQK,EAASkqB,EACrDC,EAAY,CAAEx+B,GAAQ5kE,GACtB17E,EAAO66I,EAAOjrJ,KAAMmrB,EAAO,QAAWA,EAAM/a,KAAO+a,EACnD+C,EAAa+8H,EAAOjrJ,KAAMmrB,EAAO,aAAgBA,EAAMq1F,UAAUpkC,MAAO,KAAQ,GAKjF,GAHAo/B,EAAMyzE,EAAcnsK,EAAM4tI,EAAOA,GAAQ5kE,EAGlB,IAAlB4kE,EAAK1sC,UAAoC,IAAlB0sC,EAAK1sC,WAK5B4qE,GAAYzjL,KAAMiF,EAAOw2J,EAAOz7I,MAAM+xJ,aAItC9sK,EAAK4kB,QAAS,MAAS,IAG3B9G,EAAa9d,EAAKgsE,MAAO,KACzBhsE,EAAO8d,EAAWouD,QAClBpuD,EAAWlB,QAEZgiK,EAAS5+K,EAAK4kB,QAAS,KAAQ,GAAK,KAAO5kB,EAG3C+a,EAAQA,EAAOy7I,EAAOa,SACrBt8I,EACA,IAAIy7I,EAAOx+J,MAAOgI,EAAuB,kBAAV+a,GAAsBA,GAGtDA,EAAMw4C,UAAYmrH,EAAe,EAAI,EACrC3jK,EAAMq1F,UAAYtyF,EAAWjB,KAAM,KACnC9B,EAAMyyJ,WAAazyJ,EAAMq1F,UACxB,IAAIztG,OAAQ,UAAYmb,EAAWjB,KAAM,iBAAoB,WAC7D,KAGD9B,EAAMniB,YAASnD,EACTslB,EAAMhb,SACXgb,EAAMhb,OAASugJ,GAIhBzrJ,EAAe,MAARA,EACN,CAAEkmB,GACFy7I,EAAOlM,UAAWz1J,EAAM,CAAEkmB,IAG3B45I,EAAU6B,EAAOz7I,MAAM45I,QAAS30J,IAAU,CAAC,EACrC0+K,IAAgB/pB,EAAQl5D,UAAmD,IAAxCk5D,EAAQl5D,QAAQ/+B,MAAO4jF,EAAMzrJ,IAAtE,CAMA,IAAM6pL,IAAiB/pB,EAAQmZ,WAAa3X,EAAU7V,GAAS,CAM9D,IAJAq+B,EAAahqB,EAAQN,cAAgBr0J,EAC/Bw+K,GAAYzjL,KAAM4jL,EAAa3+K,KACpCorG,EAAMA,EAAImI,YAEHnI,EAAKA,EAAMA,EAAImI,WACtBurE,EAAUr7I,KAAM2nE,GAChB14F,EAAM04F,EAIF14F,KAAU4tI,EAAKiR,eAAiB71E,IACpCojG,EAAUr7I,KAAM/wB,EAAIsqJ,aAAetqJ,EAAIqsK,cAAgBlxI,EAEzD,CAGAt4C,EAAI,EACJ,OAAU61G,EAAM0zE,EAAWvpL,QAAYwlB,EAAMwyJ,uBAC5CsR,EAAczzE,EACdrwF,EAAM/a,KAAOzK,EAAI,EAChBopL,EACAhqB,EAAQP,UAAYp0J,EAGrBs0J,GAAWiU,GAASz8J,IAAKs/F,EAAK,WAAc1rF,OAAOqK,OAAQ,OAAUhP,EAAM/a,OAC1EuoK,GAASz8J,IAAKs/F,EAAK,UACfkpD,GACJA,EAAO53F,MAAO0uC,EAAKv2G,GAIpBy/J,EAASsqB,GAAUxzE,EAAKwzE,GACnBtqB,GAAUA,EAAO53F,OAAS2rG,GAAYj9D,KAC1CrwF,EAAMniB,OAAS07J,EAAO53F,MAAO0uC,EAAKv2G,IACZ,IAAjBkmB,EAAMniB,QACVmiB,EAAMu9H,kBA8CT,OA1CAv9H,EAAM/a,KAAOA,EAGP0+K,GAAiB3jK,EAAMumI,sBAEpBqT,EAAQsW,WACqC,IAApDtW,EAAQsW,SAASvuG,MAAOoiH,EAAU57F,MAAOruF,KACzCwzK,GAAY/nB,IAIPs+B,GAAU72F,EAAYu4D,EAAMtgJ,MAAam2J,EAAU7V,KAGvD5tI,EAAM4tI,EAAMs+B,GAEPlsK,IACJ4tI,EAAMs+B,GAAW,MAIlBpoB,EAAOz7I,MAAM+xJ,UAAY9sK,EAEpB+a,EAAMwyJ,wBACVsR,EAAY3+D,iBAAkBlgH,EAAMy+K,IAGrCn+B,EAAMtgJ,KAED+a,EAAMwyJ,wBACVsR,EAAY1+D,oBAAqBngH,EAAMy+K,IAGxCjoB,EAAOz7I,MAAM+xJ,eAAYr3K,EAEpBid,IACJ4tI,EAAMs+B,GAAWlsK,IAMdqI,EAAMniB,MAvFb,CAwFD,EAIAg3K,SAAU,SAAU5vK,EAAMsgJ,EAAMvlI,GAC/B,IAAIpkB,EAAI6/J,EAAO5b,OACd,IAAI4b,EAAOx+J,MACX+iB,EACA,CACC/a,KAAMA,EACNmuK,aAAa,IAIf3X,EAAOz7I,MAAM0gF,QAAS9kG,EAAG,KAAM2pJ,EAChC,IAIDkW,EAAOjtJ,GAAGqxI,OAAQ,CAEjBn/C,QAAS,SAAUz7F,EAAMnL,GACxB,OAAOhF,KAAKozJ,MAAM,WACjBuT,EAAOz7I,MAAM0gF,QAASz7F,EAAMnL,EAAMhF,KACnC,GACD,EACAmvL,eAAgB,SAAUh/K,EAAMnL,GAC/B,IAAIyrJ,EAAOzwJ,KAAM,GACjB,GAAKywJ,EACJ,OAAOkW,EAAOz7I,MAAM0gF,QAASz7F,EAAMnL,EAAMyrJ,GAAM,EAEjD,IAID,IACC2+B,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAazsH,EAAQr5D,EAAK+lL,EAAajyK,GAC/C,IAAIpe,EAEJ,GAAKkO,MAAMqnD,QAASjrD,GAGnBi9J,EAAOvT,KAAM1pJ,GAAK,SAAUhE,EAAG0S,GACzBq3K,GAAeL,GAASlkL,KAAM63D,GAGlCvlD,EAAKulD,EAAQ3qD,GAKbo3K,GACCzsH,EAAS,KAAqB,kBAAN3qD,GAAuB,MAALA,EAAY1S,EAAI,IAAO,IACjE0S,EACAq3K,EACAjyK,EAGH,SAEM,GAAMiyK,GAAiC,WAAlBprB,EAAQ36J,GAUnC8T,EAAKulD,EAAQr5D,QAPb,IAAMtK,KAAQsK,EACb8lL,GAAazsH,EAAS,IAAM3jE,EAAO,IAAKsK,EAAKtK,GAAQqwL,EAAajyK,EAQrE,CAIAmpJ,EAAO+oB,MAAQ,SAAUp+K,EAAGm+K,GAC3B,IAAI1sH,EACHt7D,EAAI,GACJ+V,EAAM,SAAUnY,EAAKsqL,GAGpB,IAAI3pL,EAAQkyF,EAAYy3F,GACvBA,IACAA,EAEDloL,EAAGA,EAAEoU,QAAW+zK,mBAAoBvqL,GAAQ,IAC3CuqL,mBAA6B,MAAT5pL,EAAgB,GAAKA,EAC3C,EAED,GAAU,MAALsL,EACJ,MAAO,GAIR,GAAKhE,MAAMqnD,QAASrjD,IAASA,EAAE6hJ,SAAWwT,EAAOpjE,cAAejyF,GAG/Dq1J,EAAOvT,KAAM9hJ,GAAG,WACfkM,EAAKxd,KAAKZ,KAAMY,KAAKgG,MACtB,SAMA,IAAM+8D,KAAUzxD,EACfk+K,GAAazsH,EAAQzxD,EAAGyxD,GAAU0sH,EAAajyK,GAKjD,OAAO/V,EAAEulB,KAAM,IAChB,EAEA25I,EAAOjtJ,GAAGqxI,OAAQ,CACjB8kC,UAAW,WACV,OAAOlpB,EAAO+oB,MAAO1vL,KAAK8vL,iBAC3B,EACAA,eAAgB,WACf,OAAO9vL,KAAKsF,KAAK,WAGhB,IAAI6zJ,EAAWwN,EAAO9/J,KAAM7G,KAAM,YAClC,OAAOm5J,EAAWwN,EAAOlM,UAAWtB,GAAan5J,IAClD,IAAIo+D,QAAQ,WACX,IAAIjuD,EAAOnQ,KAAKmQ,KAGhB,OAAOnQ,KAAKZ,OAASunK,EAAQ3mK,MAAOsmI,GAAI,cACvCipD,GAAarkL,KAAMlL,KAAKw6J,YAAe80B,GAAgBpkL,KAAMiF,KAC3DnQ,KAAK6mJ,UAAY4zB,GAAevvK,KAAMiF,GAC1C,IAAI7K,KAAK,SAAUqW,EAAI80I,GACtB,IAAIpwG,EAAMsmH,EAAQ3mK,MAAOqgD,MAEzB,OAAY,MAAPA,EACG,KAGH/yC,MAAMqnD,QAAStU,GACZsmH,EAAOrhK,IAAK+6C,GAAK,SAAUA,GACjC,MAAO,CAAEjhD,KAAMqxJ,EAAKrxJ,KAAM4G,MAAOq6C,EAAIrtC,QAASq8K,GAAO,QACtD,IAGM,CAAEjwL,KAAMqxJ,EAAKrxJ,KAAM4G,MAAOq6C,EAAIrtC,QAASq8K,GAAO,QACtD,IAAIpzK,KACL,IAID,IACC8zK,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAGXC,GAAiB,4DACjBC,GAAa,iBACbC,GAAY,QAWZhF,GAAa,CAAC,EAOdziI,GAAa,CAAC,EAGd0nI,GAAW,KAAK9/K,OAAQ,KAGxB+/K,GAAe1kG,EAAS56E,cAAe,KAKxC,SAASu/K,GAA6BC,GAGrC,OAAO,SAAUC,EAAoBtrK,GAED,kBAAvBsrK,IACXtrK,EAAOsrK,EACPA,EAAqB,KAGtB,IAAIroL,EACH3C,EAAI,EACJirL,EAAYD,EAAmB39K,cAAc5E,MAAO2mK,IAAmB,GAExE,GAAK58E,EAAY9yE,GAGhB,MAAU/c,EAAWsoL,EAAWjrL,KAGR,MAAlB2C,EAAU,IACdA,EAAWA,EAASqrC,MAAO,IAAO,KAChC+8I,EAAWpoL,GAAaooL,EAAWpoL,IAAc,IAAKkpG,QAASnsF,KAI/DqrK,EAAWpoL,GAAaooL,EAAWpoL,IAAc,IAAKurC,KAAMxuB,EAIlE,CACD,CAGA,SAASwrK,GAA+BH,EAAWvgG,EAASu7F,EAAiBoF,GAE5E,IAAIC,EAAY,CAAC,EAChBC,EAAqBN,IAAc7nI,GAEpC,SAASooI,EAAS3oL,GACjB,IAAIi/I,EAcJ,OAbAwpC,EAAWzoL,IAAa,EACxBs+J,EAAOvT,KAAMq9B,EAAWpoL,IAAc,IAAI,SAAUovH,EAAGw5D,GACtD,IAAIC,EAAsBD,EAAoB/gG,EAASu7F,EAAiBoF,GACxE,MAAoC,kBAAxBK,GACVH,GAAqBD,EAAWI,GAKtBH,IACDzpC,EAAW4pC,QADf,GAHNhhG,EAAQygG,UAAUp/E,QAAS2/E,GAC3BF,EAASE,IACF,EAIT,IACO5pC,CACR,CAEA,OAAO0pC,EAAS9gG,EAAQygG,UAAW,MAAUG,EAAW,MAASE,EAAS,IAC3E,CAKA,SAASG,GAAYjhL,EAAQzG,GAC5B,IAAIpE,EAAKmtB,EACR4+J,EAAczqB,EAAO0qB,aAAaD,aAAe,CAAC,EAEnD,IAAM/rL,KAAOoE,OACQ7D,IAAf6D,EAAKpE,MACP+rL,EAAa/rL,GAAQ6K,EAAWsiB,IAAUA,EAAO,CAAC,IAASntB,GAAQoE,EAAKpE,IAO5E,OAJKmtB,GACJm0I,EAAO5b,QAAQ,EAAM76I,EAAQsiB,GAGvBtiB,CACR,CAMA,SAASohL,GAAqB7pL,EAAGopL,EAAOU,GAEvC,IAAIC,EAAIrhL,EAAMshL,EAAeC,EAC5Btd,EAAW3sK,EAAE2sK,SACbuc,EAAYlpL,EAAEkpL,UAGf,MAA2B,MAAnBA,EAAW,GAClBA,EAAUt0G,aACEz2E,IAAP4rL,IACJA,EAAK/pL,EAAEkqL,UAAYd,EAAMp0G,kBAAmB,iBAK9C,GAAK+0G,EACJ,IAAMrhL,KAAQikK,EACb,GAAKA,EAAUjkK,IAAUikK,EAAUjkK,GAAOjF,KAAMsmL,GAAO,CACtDb,EAAUp/E,QAASphG,GACnB,KACD,CAKF,GAAKwgL,EAAW,KAAOY,EACtBE,EAAgBd,EAAW,OACrB,CAGN,IAAMxgL,KAAQohL,EAAY,CACzB,IAAMZ,EAAW,IAAOlpL,EAAEmqL,WAAYzhL,EAAO,IAAMwgL,EAAW,IAAQ,CACrEc,EAAgBthL,EAChB,KACD,CACMuhL,IACLA,EAAgBvhL,EAElB,CAGAshL,EAAgBA,GAAiBC,CAClC,CAKA,GAAKD,EAIJ,OAHKA,IAAkBd,EAAW,IACjCA,EAAUp/E,QAASkgF,GAEbF,EAAWE,EAEpB,CAKA,SAASI,GAAapqL,EAAGsuC,EAAU86I,EAAOiB,GACzC,IAAIC,EAAOtuH,EAASuuH,EAAMnvK,EAAK0qF,EAC9BqkF,EAAa,CAAC,EAGdjB,EAAYlpL,EAAEkpL,UAAUj9I,QAGzB,GAAKi9I,EAAW,GACf,IAAMqB,KAAQvqL,EAAEmqL,WACfA,EAAYI,EAAKj/K,eAAkBtL,EAAEmqL,WAAYI,GAInDvuH,EAAUktH,EAAUt0G,QAGpB,MAAQ5Y,EAcP,GAZKh8D,EAAEwqL,eAAgBxuH,KACtBotH,EAAOppL,EAAEwqL,eAAgBxuH,IAAc1tB,IAIlCw3D,GAAQukF,GAAarqL,EAAEyqL,aAC5Bn8I,EAAWtuC,EAAEyqL,WAAYn8I,EAAUtuC,EAAEY,WAGtCklG,EAAO9pC,EACPA,EAAUktH,EAAUt0G,QAEf5Y,EAGJ,GAAiB,MAAZA,EAEJA,EAAU8pC,OAGJ,GAAc,MAATA,GAAgBA,IAAS9pC,EAAU,CAM9C,GAHAuuH,EAAOJ,EAAYrkF,EAAO,IAAM9pC,IAAamuH,EAAY,KAAOnuH,IAG1DuuH,EACL,IAAMD,KAASH,EAId,GADA/uK,EAAMkvK,EAAM51G,MAAO,KACdt5D,EAAK,KAAQ4gD,IAGjBuuH,EAAOJ,EAAYrkF,EAAO,IAAM1qF,EAAK,KACpC+uK,EAAY,KAAO/uK,EAAK,IACpBmvK,GAAO,EAGG,IAATA,EACJA,EAAOJ,EAAYG,IAGgB,IAAxBH,EAAYG,KACvBtuH,EAAU5gD,EAAK,GACf8tK,EAAUp/E,QAAS1uF,EAAK,KAEzB,KACD,CAMH,IAAc,IAATmvK,EAGJ,GAAKA,GAAQvqL,EAAE0qL,OACdp8I,EAAWi8I,EAAMj8I,QAEjB,IACCA,EAAWi8I,EAAMj8I,EAClB,CAAE,MAAQjvC,GACT,MAAO,CACNyS,MAAO,cACPva,MAAOgzL,EAAOlrL,EAAI,sBAAwBymG,EAAO,OAAS9pC,EAE5D,CAGH,CAIF,MAAO,CAAElqD,MAAO,UAAWvU,KAAM+wC,EAClC,CA9OAw6I,GAAan/K,KAAO6X,GAAS7X,KAgP7Bu1J,EAAO5b,OAAQ,CAGdrgD,OAAQ,EAGR0nF,aAAc,CAAC,EACfC,KAAM,CAAC,EAEPhB,aAAc,CACbxyL,IAAKoqB,GAAS7X,KACdjB,KAAM,MACNmiL,QAASnC,GAAejlL,KAAM+d,GAASrX,UACvC6Z,QAAQ,EACR8mK,aAAa,EACb5uJ,OAAO,EACP6uJ,YAAa,mDAcbC,QAAS,CACR,IAAKnC,GACLprK,KAAM,aACN+5I,KAAM,YACN+P,IAAK,4BACL0jB,KAAM,qCAGPte,SAAU,CACTpF,IAAK,UACL/P,KAAM,SACNyzB,KAAM,YAGPT,eAAgB,CACfjjB,IAAK,cACL9pJ,KAAM,eACNwtK,KAAM,gBAKPd,WAAY,CAGX,SAAU/oJ,OAGV,aAAa,EAGb,YAAa7/B,KAAK+tC,MAGlB,WAAY4vH,EAAO8nB,UAOpB2C,YAAa,CACZvyL,KAAK,EACL68B,SAAS,IAOXi3J,UAAW,SAAUziL,EAAQ64F,GAC5B,OAAOA,EAGNooF,GAAYA,GAAYjhL,EAAQy2J,EAAO0qB,cAAgBtoF,GAGvDooF,GAAYxqB,EAAO0qB,aAAcnhL,EACnC,EAEA0iL,cAAepC,GAA6BnF,IAC5CwH,cAAerC,GAA6B5nI,IAG5CkqI,KAAM,SAAUj0L,EAAKqxF,GAGA,kBAARrxF,IACXqxF,EAAUrxF,EACVA,OAAM+G,GAIPsqF,EAAUA,GAAW,CAAC,EAEtB,IAAIn0B,EAGHg3H,EAGAv2G,EACA3H,EAGAm+G,EAGAC,EAGAv/G,EAGAw/G,EAGAxtL,EAGAytL,EAGA1rL,EAAIk/J,EAAOgsB,UAAW,CAAC,EAAGziG,GAG1BkjG,EAAkB3rL,EAAEi0B,SAAWj0B,EAG/B4rL,EAAqB5rL,EAAEi0B,UACpB03J,EAAgBrvE,UAAYqvE,EAAgBjgC,QAC9CwT,EAAQysB,GACRzsB,EAAOz7I,MAGR+qJ,EAAWtP,EAAOmP,WAClBwd,EAAmB3sB,EAAO0O,UAAW,eAGrC57G,EAAahyD,EAAEgyD,YAAc,CAAC,EAG9B/O,EAAiB,CAAC,EAClB6oI,EAAsB,CAAC,EAGvBC,EAAW,WAGX3C,EAAQ,CACP1sI,WAAY,EAGZs4B,kBAAmB,SAAUp3E,GAC5B,IAAI8I,EACJ,GAAKulE,EAAY,CAChB,IAAMmB,EAAkB,CACvBA,EAAkB,CAAC,EACnB,MAAU1mE,EAAQ+hL,GAAShkL,KAAMswE,GAChC3H,EAAiB1mE,EAAO,GAAI4E,cAAgB,MACzC8hE,EAAiB1mE,EAAO,GAAI4E,cAAgB,MAAS,IACrDvC,OAAQrC,EAAO,GAEpB,CACAA,EAAQ0mE,EAAiBxvE,EAAI0N,cAAgB,IAC9C,CACA,OAAgB,MAAT5E,EAAgB,KAAOA,EAAM6e,KAAM,KAC3C,EAGAymK,sBAAuB,WACtB,OAAO//G,EAAY8I,EAAwB,IAC5C,EAGAk3G,iBAAkB,SAAUt0L,EAAM4G,GAMjC,OALkB,MAAb0tE,IACJt0E,EAAOm0L,EAAqBn0L,EAAK2T,eAChCwgL,EAAqBn0L,EAAK2T,gBAAmB3T,EAC9CsrD,EAAgBtrD,GAAS4G,GAEnBhG,IACR,EAGA2zL,iBAAkB,SAAUxjL,GAI3B,OAHkB,MAAbujE,IACJjsE,EAAEkqL,SAAWxhL,GAEPnQ,IACR,EAGAy5D,WAAY,SAAUn0D,GACrB,IAAIo2J,EACJ,GAAKp2J,EACJ,GAAKouE,EAGJm9G,EAAM7a,OAAQ1wK,EAAKurL,EAAM7sI,cAIzB,IAAM03G,KAAQp2J,EACbm0D,EAAYiiG,GAAS,CAAEjiG,EAAYiiG,GAAQp2J,EAAKo2J,IAInD,OAAO17J,IACR,EAGAi2E,MAAO,SAAU1qB,GAChB,IAAIqoI,EAAYroI,GAAcioI,EAK9B,OAJKz3H,GACJA,EAAUka,MAAO29G,GAElB5mI,EAAM,EAAG4mI,GACF5zL,IACR,GAmBF,GAfAi2K,EAASb,QAASyb,GAKlBppL,EAAE5I,MAAUA,GAAO4I,EAAE5I,KAAOoqB,GAAS7X,MAAS,IAC5C4B,QAASq9K,GAAWpnK,GAASrX,SAAW,MAG1CnK,EAAE0I,KAAO+/E,EAAQjiF,QAAUiiF,EAAQ//E,MAAQ1I,EAAEwG,QAAUxG,EAAE0I,KAGzD1I,EAAEkpL,WAAclpL,EAAEY,UAAY,KAAM0K,cAAc5E,MAAO2mK,IAAmB,CAAE,IAGxD,MAAjBrtK,EAAEosL,YAAsB,CAC5BZ,EAAYpnG,EAAS56E,cAAe,KAKpC,IACCgiL,EAAU7hL,KAAO3J,EAAE5I,IAInBo0L,EAAU7hL,KAAO6hL,EAAU7hL,KAC3B3J,EAAEosL,YAActD,GAAa3+K,SAAW,KAAO2+K,GAAar/K,OAC3D+hL,EAAUrhL,SAAW,KAAOqhL,EAAU/hL,IACxC,CAAE,MAAQpK,GAITW,EAAEosL,aAAc,CACjB,CACD,CAWA,GARKpsL,EAAEzC,MAAQyC,EAAE8qL,aAAiC,kBAAX9qL,EAAEzC,OACxCyC,EAAEzC,KAAO2hK,EAAO+oB,MAAOjoL,EAAEzC,KAAMyC,EAAEgoL,cAIlCmB,GAA+BvF,GAAY5jL,EAAGyoF,EAAS2gG,GAGlDn9G,EACJ,OAAOm9G,EA8ER,IAAMnrL,KAzENwtL,EAAcvsB,EAAOz7I,OAASzjB,EAAEgkB,OAG3BynK,GAAmC,IAApBvsB,EAAOj8D,UAC1Bi8D,EAAOz7I,MAAM0gF,QAAS,aAIvBnkG,EAAE0I,KAAO1I,EAAE0I,KAAKqB,cAGhB/J,EAAEqsL,YAAc1D,GAAWllL,KAAMzD,EAAE0I,MAKnC4iL,EAAWtrL,EAAE5I,IAAImU,QAASg9K,GAAO,IAG3BvoL,EAAEqsL,WAwBIrsL,EAAEzC,MAAQyC,EAAE8qL,aACoD,KAAzE9qL,EAAE+qL,aAAe,IAAKz9J,QAAS,uCACjCttB,EAAEzC,KAAOyC,EAAEzC,KAAKgO,QAAS+8K,GAAK,OAvB9BoD,EAAW1rL,EAAE5I,IAAI60C,MAAOq/I,EAASl3K,QAG5BpU,EAAEzC,OAAUyC,EAAE8qL,aAAiC,kBAAX9qL,EAAEzC,QAC1C+tL,IAAcvE,GAAOtjL,KAAM6nL,GAAa,IAAM,KAAQtrL,EAAEzC,YAGjDyC,EAAEzC,OAIO,IAAZyC,EAAEqrH,QACNigE,EAAWA,EAAS//K,QAASi9K,GAAY,MACzCkD,GAAa3E,GAAOtjL,KAAM6nL,GAAa,IAAM,KAAQ,KAASpxC,GAAMtzH,OACnE8kK,GAIF1rL,EAAE5I,IAAMk0L,EAAWI,GASf1rL,EAAEssL,aACDptB,EAAOyrB,aAAcW,IACzBlC,EAAM6C,iBAAkB,oBAAqB/sB,EAAOyrB,aAAcW,IAE9DpsB,EAAO0rB,KAAMU,IACjBlC,EAAM6C,iBAAkB,gBAAiB/sB,EAAO0rB,KAAMU,MAKnDtrL,EAAEzC,MAAQyC,EAAEqsL,aAAgC,IAAlBrsL,EAAE+qL,aAAyBtiG,EAAQsiG,cACjE3B,EAAM6C,iBAAkB,eAAgBjsL,EAAE+qL,aAI3C3B,EAAM6C,iBACL,SACAjsL,EAAEkpL,UAAW,IAAOlpL,EAAEgrL,QAAShrL,EAAEkpL,UAAW,IAC3ClpL,EAAEgrL,QAAShrL,EAAEkpL,UAAW,KACA,MAArBlpL,EAAEkpL,UAAW,GAAc,KAAOL,GAAW,WAAa,IAC7D7oL,EAAEgrL,QAAS,MAIFhrL,EAAEmtB,QACZi8J,EAAM6C,iBAAkBhuL,EAAG+B,EAAEmtB,QAASlvB,IAIvC,GAAK+B,EAAEusL,cAC+C,IAAnDvsL,EAAEusL,WAAWj0L,KAAMqzL,EAAiBvC,EAAOppL,IAAiBisE,GAG9D,OAAOm9G,EAAM56G,QAed,GAXAu9G,EAAW,QAGXF,EAAiB91K,IAAK/V,EAAEwqJ,UACxB4+B,EAAM7jI,KAAMvlD,EAAEqI,SACd+gL,EAAMhnJ,KAAMpiC,EAAEzI,OAGd+8D,EAAY60H,GAA+BhoI,GAAYnhD,EAAGyoF,EAAS2gG,GAG7D90H,EAEC,CASN,GARA80H,EAAM1sI,WAAa,EAGd+uI,GACJG,EAAmBznF,QAAS,WAAY,CAAEilF,EAAOppL,IAI7CisE,EACJ,OAAOm9G,EAIHppL,EAAEk8B,OAASl8B,EAAE6sB,QAAU,IAC3B0+J,EAAeh1I,EAAOmpD,YAAY,WACjC0pF,EAAM56G,MAAO,UACd,GAAGxuE,EAAE6sB,UAGN,IACCo/C,GAAY,EACZ3X,EAAUxX,KAAMmG,EAAgBsC,EACjC,CAAE,MAAQlmD,GAGT,GAAK4sE,EACJ,MAAM5sE,EAIPkmD,GAAO,EAAGlmD,EACX,CACD,MAlCCkmD,GAAO,EAAG,gBAqCX,SAASA,EAAMhJ,EAAQiwI,EAAkB1C,EAAW38J,GACnD,IAAIk9J,EAAWhiL,EAAS9Q,EAAO+2C,EAAUm+I,EACxC3oI,EAAa0oI,EAGTvgH,IAILA,GAAY,EAGPs/G,GACJh1I,EAAOqpD,aAAc2rF,GAKtBj3H,OAAYn2D,EAGZ42E,EAAwB5nD,GAAW,GAGnCi8J,EAAM1sI,WAAaH,EAAS,EAAI,EAAI,EAGpC8tI,EAAY9tI,GAAU,KAAOA,EAAS,KAAkB,MAAXA,EAGxCutI,IACJx7I,EAAWu7I,GAAqB7pL,EAAGopL,EAAOU,KAIrCO,GACLnrB,EAAOiB,QAAS,SAAUngK,EAAEkpL,YAAe,GAC3ChqB,EAAOiB,QAAS,OAAQngK,EAAEkpL,WAAc,IACxClpL,EAAEmqL,WAAY,eAAkB,WAAY,GAI7C77I,EAAW87I,GAAapqL,EAAGsuC,EAAU86I,EAAOiB,GAGvCA,GAGCrqL,EAAEssL,aACNG,EAAWrD,EAAMp0G,kBAAmB,iBAC/By3G,IACJvtB,EAAOyrB,aAAcW,GAAamB,GAEnCA,EAAWrD,EAAMp0G,kBAAmB,QAC/By3G,IACJvtB,EAAO0rB,KAAMU,GAAamB,IAKZ,MAAXlwI,GAA6B,SAAXv8C,EAAE0I,KACxBo7C,EAAa,YAGS,MAAXvH,EACXuH,EAAa,eAIbA,EAAaxV,EAASx8B,MACtBzJ,EAAUimC,EAAS/wC,KACnBhG,EAAQ+2C,EAAS/2C,MACjB8yL,GAAa9yL,KAKdA,EAAQusD,GACHvH,GAAWuH,IACfA,EAAa,QACRvH,EAAS,IACbA,EAAS,KAMZ6sI,EAAM7sI,OAASA,EACf6sI,EAAMtlI,YAAe0oI,GAAoB1oI,GAAe,GAGnDumI,EACJ7b,EAASW,YAAawc,EAAiB,CAAEtjL,EAASy7C,EAAYslI,IAE9D5a,EAASa,WAAYsc,EAAiB,CAAEvC,EAAOtlI,EAAYvsD,IAI5D6xL,EAAMp3H,WAAYA,GAClBA,OAAa7zD,EAERstL,GACJG,EAAmBznF,QAASkmF,EAAY,cAAgB,YACvD,CAAEjB,EAAOppL,EAAGqqL,EAAYhiL,EAAU9Q,IAIpCs0L,EAAiBzd,SAAUud,EAAiB,CAAEvC,EAAOtlI,IAEhD2nI,IACJG,EAAmBznF,QAAS,eAAgB,CAAEilF,EAAOppL,MAG3Ck/J,EAAOj8D,QAChBi8D,EAAOz7I,MAAM0gF,QAAS,aAGzB,CAEA,OAAOilF,CACR,EAEAvnK,QAAS,SAAUzqB,EAAKmG,EAAM2Z,GAC7B,OAAOgoJ,EAAO1qJ,IAAKpd,EAAKmG,EAAM2Z,EAAU,OACzC,EAEAw1K,UAAW,SAAUt1L,EAAK8f,GACzB,OAAOgoJ,EAAO1qJ,IAAKpd,OAAK+G,EAAW+Y,EAAU,SAC9C,IAGDgoJ,EAAOvT,KAAM,CAAE,MAAO,SAAU,SAAUz3I,EAAI1N,GAC7C04J,EAAQ14J,GAAW,SAAUpP,EAAKmG,EAAM2Z,EAAUxO,GAUjD,OAPK+nF,EAAYlzF,KAChBmL,EAAOA,GAAQwO,EACfA,EAAW3Z,EACXA,OAAOY,GAID+gK,EAAOmsB,KAAMnsB,EAAO5b,OAAQ,CAClClsJ,IAAKA,EACLsR,KAAMlC,EACN5F,SAAU8H,EACVnL,KAAMA,EACN8K,QAAS6O,GACPgoJ,EAAOpjE,cAAe1kG,IAASA,GACnC,CACD,IAEA8nK,EAAOisB,eAAe,SAAUnrL,GAC/B,IAAI/B,EACJ,IAAMA,KAAK+B,EAAEmtB,QACa,iBAApBlvB,EAAEqN,gBACNtL,EAAE+qL,YAAc/qL,EAAEmtB,QAASlvB,IAAO,GAGrC,IAGAihK,EAAO6a,SAAW,SAAU3iL,EAAKqxF,EAASjmE,GACzC,OAAO08I,EAAOmsB,KAAM,CACnBj0L,IAAKA,EAGLsR,KAAM,MACN9H,SAAU,SACVyqH,OAAO,EACPnvF,OAAO,EACPlY,QAAQ,EAKRmmK,WAAY,CACX,cAAe,WAAY,GAE5BM,WAAY,SAAUn8I,GACrB4wH,EAAOgB,WAAY5xH,EAAUm6C,EAASjmE,EACvC,GAEF,EAGA08I,EAAOjtJ,GAAGqxI,OAAQ,CACjBqpC,QAAS,SAAUn1B,GAClB,IAAIzqD,EAyBJ,OAvBKx0G,KAAM,KACLk4F,EAAY+mE,KAChBA,EAAOA,EAAKl/J,KAAMC,KAAM,KAIzBw0G,EAAOmyD,EAAQ1H,EAAMj/J,KAAM,GAAI0hK,eAAgBwF,GAAI,GAAIp0I,OAAO,GAEzD9yB,KAAM,GAAI0jH,YACdlP,EAAKsjC,aAAc93I,KAAM,IAG1Bw0G,EAAKlvG,KAAK,WACT,IAAImrJ,EAAOzwJ,KAEX,MAAQywJ,EAAK4jC,kBACZ5jC,EAAOA,EAAK4jC,kBAGb,OAAO5jC,CACR,IAAI1lG,OAAQ/qD,OAGNA,IACR,EAEAs0L,UAAW,SAAUr1B,GACpB,OAAK/mE,EAAY+mE,GACTj/J,KAAKozJ,MAAM,SAAU1tJ,GAC3BihK,EAAQ3mK,MAAOs0L,UAAWr1B,EAAKl/J,KAAMC,KAAM0F,GAC5C,IAGM1F,KAAKozJ,MAAM,WACjB,IAAIjzI,EAAOwmJ,EAAQ3mK,MAClBo0K,EAAWj0J,EAAKi0J,WAEZA,EAASv4J,OACbu4J,EAASggB,QAASn1B,GAGlB9+I,EAAK4qC,OAAQk0G,EAEf,GACD,EAEAzqD,KAAM,SAAUyqD,GACf,IAAIs1B,EAAiBr8F,EAAY+mE,GAEjC,OAAOj/J,KAAKozJ,MAAM,SAAU1tJ,GAC3BihK,EAAQ3mK,MAAOo0L,QAASG,EAAiBt1B,EAAKl/J,KAAMC,KAAM0F,GAAMu5J,EACjE,GACD,EAEAu1B,OAAQ,SAAUn8C,GAIjB,OAHAr4I,KAAKwqG,OAAQ6tC,GAAWkZ,IAAK,QAAS6B,MAAM,WAC3CuT,EAAQ3mK,MAAOkiL,YAAaliL,KAAK2rK,WAClC,IACO3rK,IACR,IAID2mK,EAAOiH,KAAK/D,QAAQmgB,OAAS,SAAUv5B,GACtC,OAAQkW,EAAOiH,KAAK/D,QAAQ4qB,QAAShkC,EACtC,EACAkW,EAAOiH,KAAK/D,QAAQ4qB,QAAU,SAAUhkC,GACvC,SAAWA,EAAKwzB,aAAexzB,EAAKhU,cAAgBgU,EAAKm2B,iBAAiB/qK,OAC3E,EAKA8qJ,EAAO0qB,aAAa/9J,IAAM,WACzB,IACC,OAAO,IAAI0qB,EAAOxpB,cACnB,CAAE,MAAQ1tB,GAAK,CAChB,EAEA,IAAI4tL,GAAmB,CAGrB,EAAG,IAIH,KAAM,KAEPC,GAAehuB,EAAO0qB,aAAa/9J,MAEpC+yI,EAAQuuB,OAASD,IAAkB,oBAAqBA,GACxDtuB,EAAQysB,KAAO6B,KAAiBA,GAEhChuB,EAAOksB,eAAe,SAAU3iG,GAC/B,IAAIvxE,EAAUk2K,EAGd,GAAKxuB,EAAQuuB,MAAQD,KAAiBzkG,EAAQ2jG,YAC7C,MAAO,CACNtvI,KAAM,SAAU3vB,EAASq9H,GACxB,IAAIvsJ,EACH4tB,EAAM48D,EAAQ58D,MAWf,GATAA,EAAImB,KACHy7D,EAAQ//E,KACR+/E,EAAQrxF,IACRqxF,EAAQvsD,MACRusD,EAAQ4kG,SACR5kG,EAAQmgF,UAIJngF,EAAQ6kG,UACZ,IAAMrvL,KAAKwqF,EAAQ6kG,UAClBzhK,EAAK5tB,GAAMwqF,EAAQ6kG,UAAWrvL,GAmBhC,IAAMA,KAdDwqF,EAAQyhG,UAAYr+J,EAAIqgK,kBAC5BrgK,EAAIqgK,iBAAkBzjG,EAAQyhG,UAQzBzhG,EAAQ2jG,aAAgBj/J,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACVtB,EAAIogK,iBAAkBhuL,EAAGkvB,EAASlvB,IAInCiZ,EAAW,SAAUxO,GACpB,OAAO,WACDwO,IACJA,EAAWk2K,EAAgBvhK,EAAIk3B,OAC9Bl3B,EAAI+wB,QAAU/wB,EAAI0hK,QAAU1hK,EAAIgxB,UAC/BhxB,EAAI4wB,mBAAqB,KAEb,UAAT/zC,EACJmjB,EAAI2iD,QACgB,UAAT9lE,EAKgB,kBAAfmjB,EAAI0wB,OACfiuG,EAAU,EAAG,SAEbA,EAGC3+H,EAAI0wB,OACJ1wB,EAAIi4B,YAIN0mG,EACCyiC,GAAkBphK,EAAI0wB,SAAY1wB,EAAI0wB,OACtC1wB,EAAIi4B,WAK+B,UAAjCj4B,EAAIwhD,cAAgB,SACM,kBAArBxhD,EAAIC,aACV,CAAE0hK,OAAQ3hK,EAAIyiB,UACd,CAAE7wB,KAAMoO,EAAIC,cACbD,EAAImgK,yBAIR,CACD,EAGAngK,EAAIk3B,OAAS7rC,IACbk2K,EAAgBvhK,EAAI+wB,QAAU/wB,EAAIgxB,UAAY3lC,EAAU,cAKnC/Y,IAAhB0tB,EAAI0hK,QACR1hK,EAAI0hK,QAAUH,EAEdvhK,EAAI4wB,mBAAqB,WAGA,IAAnB5wB,EAAI6wB,YAMRnG,EAAOmpD,YAAY,WACbxoF,GACJk2K,GAEF,GAEF,EAIDl2K,EAAWA,EAAU,SAErB,IAGC2U,EAAIixB,KAAM2rC,EAAQ4jG,YAAc5jG,EAAQlrF,MAAQ,KACjD,CAAE,MAAQ8B,GAGT,GAAK6X,EACJ,MAAM7X,CAER,CACD,EAEAmvE,MAAO,WACDt3D,GACJA,GAEF,EAGH,IAMAgoJ,EAAOisB,eAAe,SAAUnrL,GAC1BA,EAAEosL,cACNpsL,EAAE2sK,SAAS3wI,QAAS,EAEtB,IAGAkjI,EAAOgsB,UAAW,CACjBF,QAAS,CACRhvJ,OAAQ,6FAGT2wI,SAAU,CACT3wI,OAAQ,2BAETmuJ,WAAY,CACX,cAAe,SAAU1sK,GAExB,OADAyhJ,EAAOgB,WAAYziJ,GACZA,CACR,KAKFyhJ,EAAOisB,cAAe,UAAU,SAAUnrL,QACxB7B,IAAZ6B,EAAEqrH,QACNrrH,EAAEqrH,OAAQ,GAENrrH,EAAEosL,cACNpsL,EAAE0I,KAAO,MAEX,IAGAw2J,EAAOksB,cAAe,UAAU,SAAUprL,GAIxC,IAAIg8B,EAAQ9kB,EADb,GAAKlX,EAAEosL,aAAepsL,EAAEytL,YAEvB,MAAO,CACN3wI,KAAM,SAAUkzE,EAAGw6B,GAClBxuH,EAASkjI,EAAQ,YACf5U,KAAMtqJ,EAAEytL,aAAe,CAAC,GACxBruL,KAAM,CAAEsuL,QAAS1tL,EAAE2tL,cAAe3rL,IAAKhC,EAAE5I,MACzC0qG,GAAI,aAAc5qF,EAAW,SAAUjS,GACvC+2B,EAAOpB,SACP1jB,EAAW,KACNjS,GACJulJ,EAAuB,UAAbvlJ,EAAIyD,KAAmB,IAAM,IAAKzD,EAAIyD,KAElD,GAGD07E,EAASwhB,KAAKorC,YAAah1G,EAAQ,GACpC,EACAwyC,MAAO,WACDt3D,GACJA,GAEF,EAGH,IAKA,IAAI02K,GAAe,GAClBC,GAAS,oBAGV3uB,EAAOgsB,UAAW,CACjB4C,MAAO,WACPC,cAAe,WACd,IAAI72K,EAAW02K,GAAahiG,OAAWszE,EAAOa,QAAU,IAAQ7lB,GAAMtzH,OAEtE,OADAruB,KAAM2e,IAAa,EACZA,CACR,IAIDgoJ,EAAOisB,cAAe,cAAc,SAAUnrL,EAAGguL,EAAkB5E,GAElE,IAAI6E,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZpuL,EAAE8tL,QAAqBD,GAAOpqL,KAAMzD,EAAE5I,KAChD,MACkB,kBAAX4I,EAAEzC,MAE6C,KADnDyC,EAAE+qL,aAAe,IACjBz9J,QAAS,sCACXugK,GAAOpqL,KAAMzD,EAAEzC,OAAU,QAI5B,GAAK6wL,GAAiC,UAArBpuL,EAAEkpL,UAAW,GA8D7B,OA3DA+E,EAAejuL,EAAE+tL,cAAgBt9F,EAAYzwF,EAAE+tL,eAC9C/tL,EAAE+tL,gBACF/tL,EAAE+tL,cAGEK,EACJpuL,EAAGouL,GAAapuL,EAAGouL,GAAW7iL,QAASsiL,GAAQ,KAAOI,IAC/B,IAAZjuL,EAAE8tL,QACb9tL,EAAE5I,MAAS2vL,GAAOtjL,KAAMzD,EAAE5I,KAAQ,IAAM,KAAQ4I,EAAE8tL,MAAQ,IAAMG,GAIjEjuL,EAAEmqL,WAAY,eAAkB,WAI/B,OAHMgE,GACLjvB,EAAO3nK,MAAO02L,EAAe,mBAEvBE,EAAmB,EAC3B,EAGAnuL,EAAEkpL,UAAW,GAAM,OAGnBgF,EAAc33I,EAAQ03I,GACtB13I,EAAQ03I,GAAiB,WACxBE,EAAoBh6K,SACrB,EAGAi1K,EAAM7a,QAAQ,gBAGQpwK,IAAhB+vL,EACJhvB,EAAQ3oH,GAAS6vI,WAAY6H,GAI7B13I,EAAQ03I,GAAiBC,EAIrBluL,EAAGiuL,KAGPjuL,EAAE+tL,cAAgBC,EAAiBD,cAGnCH,GAAazhJ,KAAM8hJ,IAIfE,GAAqB19F,EAAYy9F,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAc/vL,CACnC,IAGO,QAET,IAUAygK,EAAQyvB,mBAAqB,WAC5B,IAAI9vI,EAAO6lC,EAASkqG,eAAeD,mBAAoB,IAAK9vI,KAE5D,OADAA,EAAKknE,UAAY,6BACiB,IAA3BlnE,EAAK2lH,WAAW9vJ,MACtB,CAJ2B,GAW7B8qJ,EAAOqN,UAAY,SAAUhvK,EAAM02B,EAASs6J,GAC3C,MAAqB,kBAAThxL,EACJ,IAEgB,mBAAZ02B,IACXs6J,EAAct6J,EACdA,GAAU,GAKLA,IAIA2qI,EAAQyvB,oBACZp6J,EAAUmwD,EAASkqG,eAAeD,mBAAoB,IAKtD73D,EAAOviG,EAAQzqB,cAAe,QAC9BgtH,EAAK7sH,KAAOy6E,EAAS5iE,SAAS7X,KAC9BsqB,EAAQ2xE,KAAKorC,YAAaxa,IAE1BviG,EAAUmwD,GAIZoqG,EAASriB,EAAW1nK,KAAMlH,GAC1Bu+B,GAAWyyJ,GAAe,GAGrBC,EACG,CAAEv6J,EAAQzqB,cAAeglL,EAAQ,MAGzCA,EAASla,GAAe,CAAE/2K,GAAQ02B,EAAS6H,GAEtCA,GAAWA,EAAQ1nB,QACvB8qJ,EAAQpjI,GAAUlB,SAGZskI,EAAOlgG,MAAO,GAAIwvH,EAAOtqB,cAlChC,IAAI1tC,EAAMg4D,EAAQ1yJ,CAmCnB,EAMAojI,EAAOjtJ,GAAG+3G,KAAO,SAAU5yH,EAAKskF,EAAQxkE,GACvC,IAAI05H,EAAUloI,EAAM4lC,EACnB51B,EAAOngB,KACP4qG,EAAM/rG,EAAIk2B,QAAS,KAsDpB,OApDK61E,GAAO,IACXytC,EAAWq1C,GAAkB7uL,EAAI60C,MAAOk3D,IACxC/rG,EAAMA,EAAI60C,MAAO,EAAGk3D,IAIhB1S,EAAY/U,IAGhBxkE,EAAWwkE,EACXA,OAASv9E,GAGEu9E,GAA4B,kBAAXA,IAC5BhzE,EAAO,QAIHgQ,EAAKtE,OAAS,GAClB8qJ,EAAOmsB,KAAM,CACZj0L,IAAKA,EAKLsR,KAAMA,GAAQ,MACd9H,SAAU,OACVrD,KAAMm+E,IACHn2B,MAAM,SAAUz5B,GAGnBwiB,EAAWn6B,UAEXuE,EAAK8+I,KAAM5mB,EAIVsuB,EAAQ,SAAU57G,OAAQ47G,EAAOqN,UAAWzgJ,IAAiBk9E,KAAM4nC,GAGnE9kH,EAKF,IAAIyiJ,OAAQr3J,GAAY,SAAUkyK,EAAO7sI,GACxC7jC,EAAKizI,MAAM,WACVz0I,EAASkuD,MAAO7sE,KAAM+1C,GAAY,CAAE86I,EAAMt9J,aAAcywB,EAAQ6sI,GACjE,GACD,GAGM7wL,IACR,EAKA2mK,EAAOiH,KAAK/D,QAAQqsB,SAAW,SAAUzlC,GACxC,OAAOkW,EAAOS,KAAMT,EAAO0lB,QAAQ,SAAU3yK,GAC5C,OAAO+2I,IAAS/2I,EAAG+2I,IACpB,IAAI50I,MACL,EAKA8qJ,EAAOxH,OAAS,CACfg3B,UAAW,SAAU1lC,EAAMvgE,EAASxqF,GACnC,IAAI0wL,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EAAYC,EACnE3S,EAAWpd,EAAO7tB,IAAK2X,EAAM,YAC7BkmC,EAAUhwB,EAAQlW,GAClB7/F,EAAQ,CAAC,EAGQ,WAAbmzH,IACJtzB,EAAKhjC,MAAMs2D,SAAW,YAGvByS,EAAYG,EAAQx3B,SACpBm3B,EAAY3vB,EAAO7tB,IAAK2X,EAAM,OAC9BgmC,EAAa9vB,EAAO7tB,IAAK2X,EAAM,QAC/BimC,GAAmC,aAAb3S,GAAwC,UAAbA,KAC9CuS,EAAYG,GAAa1hK,QAAS,SAAY,EAI5C2hK,GACJN,EAAcO,EAAQ5S,WACtBwS,EAASH,EAAYhnE,IACrBinE,EAAUD,EAAY/qL,OAGtBkrL,EAASvhI,WAAYshI,IAAe,EACpCD,EAAUrhI,WAAYyhI,IAAgB,GAGlCv+F,EAAYhI,KAGhBA,EAAUA,EAAQnwF,KAAM0wJ,EAAM/qJ,EAAGihK,EAAO5b,OAAQ,CAAC,EAAGyrC,KAGjC,MAAftmG,EAAQk/B,MACZx+D,EAAMw+D,IAAQl/B,EAAQk/B,IAAMonE,EAAUpnE,IAAQmnE,GAE1B,MAAhBrmG,EAAQ7kF,OACZulD,EAAMvlD,KAAS6kF,EAAQ7kF,KAAOmrL,EAAUnrL,KAASgrL,GAG7C,UAAWnmG,EACfA,EAAQ0mG,MAAM72L,KAAM0wJ,EAAM7/F,GAG1B+lI,EAAQ79C,IAAKloF,EAEf,GAGD+1G,EAAOjtJ,GAAGqxI,OAAQ,CAGjBoU,OAAQ,SAAUjvE,GAGjB,GAAKt0E,UAAUC,OACd,YAAmBjW,IAAZsqF,EACNlwF,KACAA,KAAKozJ,MAAM,SAAU1tJ,GACpBihK,EAAOxH,OAAOg3B,UAAWn2L,KAAMkwF,EAASxqF,EACzC,IAGF,IAAI8yJ,EAAMl9G,EACTm1G,EAAOzwJ,KAAM,GAEd,OAAMywJ,EAQAA,EAAKm2B,iBAAiB/qK,QAK5B28I,EAAO/H,EAAKnhC,wBACZh0E,EAAMm1G,EAAKiR,cAAcyL,YAClB,CACN/9C,IAAKopC,EAAKppC,IAAM9zE,EAAIu7I,YACpBxrL,KAAMmtJ,EAAKntJ,KAAOiwC,EAAIw7I,cARf,CAAE1nE,IAAK,EAAG/jH,KAAM,QATxB,CAmBD,EAIA04K,SAAU,WACT,GAAM/jL,KAAM,GAAZ,CAIA,IAAI+2L,EAAc53B,EAAQl1I,EACzBwmI,EAAOzwJ,KAAM,GACbg3L,EAAe,CAAE5nE,IAAK,EAAG/jH,KAAM,GAGhC,GAAwC,UAAnCs7J,EAAO7tB,IAAK2X,EAAM,YAGtB0O,EAAS1O,EAAKnhC,4BAER,CACN6vC,EAASn/J,KAAKm/J,SAIdl1I,EAAMwmI,EAAKiR,cACXq1B,EAAetmC,EAAKsmC,cAAgB9sK,EAAI2sI,gBACxC,MAAQmgC,IACLA,IAAiB9sK,EAAI+7B,MAAQ+wI,IAAiB9sK,EAAI2sI,kBACT,WAA3C+P,EAAO7tB,IAAKi+C,EAAc,YAE1BA,EAAeA,EAAarzE,WAExBqzE,GAAgBA,IAAiBtmC,GAAkC,IAA1BsmC,EAAahzE,WAG1DizE,EAAerwB,EAAQowB,GAAe53B,SACtC63B,EAAa5nE,KAAOu3C,EAAO7tB,IAAKi+C,EAAc,kBAAkB,GAChEC,EAAa3rL,MAAQs7J,EAAO7tB,IAAKi+C,EAAc,mBAAmB,GAEpE,CAGA,MAAO,CACN3nE,IAAK+vC,EAAO/vC,IAAM4nE,EAAa5nE,IAAMu3C,EAAO7tB,IAAK2X,EAAM,aAAa,GACpEplJ,KAAM8zJ,EAAO9zJ,KAAO2rL,EAAa3rL,KAAOs7J,EAAO7tB,IAAK2X,EAAM,cAAc,GArCzE,CAuCD,EAYAsmC,aAAc,WACb,OAAO/2L,KAAKsF,KAAK,WAChB,IAAIyxL,EAAe/2L,KAAK+2L,aAExB,MAAQA,GAA2D,WAA3CpwB,EAAO7tB,IAAKi+C,EAAc,YACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBngC,EACxB,GACD,IAID+P,EAAOvT,KAAM,CAAEk2B,WAAY,cAAelyB,UAAW,gBAAiB,SAAUnpJ,EAAQpH,GACvF,IAAIuoH,EAAM,gBAAkBvoH,EAE5B8/J,EAAOjtJ,GAAIzL,GAAW,SAAUoyC,GAC/B,OAAO03H,GAAQ/3K,MAAM,SAAUywJ,EAAMxiJ,EAAQoyC,GAG5C,IAAI/E,EAOJ,GANKgrH,EAAU7V,GACdn1G,EAAMm1G,EACuB,IAAlBA,EAAK1sC,WAChBzoE,EAAMm1G,EAAK0c,kBAGCvnK,IAARy6C,EACJ,OAAO/E,EAAMA,EAAKz0C,GAAS4pJ,EAAMxiJ,GAG7BqtC,EACJA,EAAI27I,SACF7nE,EAAY9zE,EAAIw7I,YAAVz2I,EACP+uE,EAAM/uE,EAAM/E,EAAIu7I,aAIjBpmC,EAAMxiJ,GAAWoyC,CAEnB,GAAGpyC,EAAQoyC,EAAKzkC,UAAUC,OAC3B,CACD,IAQA8qJ,EAAOvT,KAAM,CAAE,MAAO,SAAU,SAAUz3I,EAAI9U,GAC7C8/J,EAAOogB,SAAUlgL,GAASu8K,GAAc/c,EAAQie,eAC/C,SAAU7zB,EAAM/iD,GACf,GAAKA,EAIJ,OAHAA,EAAWo1E,GAAQryB,EAAM5pJ,GAGlB07K,GAAUr3K,KAAMwiG,GACtBi5D,EAAQlW,GAAOszB,WAAYl9K,GAAS,KACpC6mG,CAEH,GAEF,IAIAi5D,EAAOvT,KAAM,CAAE8jC,OAAQ,SAAUC,MAAO,UAAW,SAAU/3L,EAAM+Q,GAClEw2J,EAAOvT,KAAM,CACZ8F,QAAS,QAAU95J,EACnB8sH,QAAS/7G,EACT,GAAI,QAAU/Q,IACZ,SAAUg4L,EAAcvmK,GAG1B81I,EAAOjtJ,GAAImX,GAAa,SAAUuoI,EAAQpzJ,GACzC,IAAIgyK,EAAYp8J,UAAUC,SAAYu7K,GAAkC,mBAAXh+B,GAC5DgtB,EAAQgR,KAA6B,IAAXh+B,IAA6B,IAAVpzJ,EAAiB,SAAW,UAE1E,OAAO+xK,GAAQ/3K,MAAM,SAAUywJ,EAAMtgJ,EAAMnK,GAC1C,IAAIikB,EAEJ,OAAKq8I,EAAU7V,GAGyB,IAAhC5/H,EAASkE,QAAS,SACxB07H,EAAM,QAAUrxJ,GAChBqxJ,EAAK5kE,SAAS+qE,gBAAiB,SAAWx3J,GAIrB,IAAlBqxJ,EAAK1sC,UACT95F,EAAMwmI,EAAKmG,gBAIJz4J,KAAKwQ,IACX8hJ,EAAKzqG,KAAM,SAAW5mD,GAAQ6qB,EAAK,SAAW7qB,GAC9CqxJ,EAAKzqG,KAAM,SAAW5mD,GAAQ6qB,EAAK,SAAW7qB,GAC9C6qB,EAAK,SAAW7qB,UAIDwG,IAAVI,EAGN2gK,EAAO7tB,IAAK2X,EAAMtgJ,EAAMi2K,GAGxBzf,EAAOl5C,MAAOgjC,EAAMtgJ,EAAMnK,EAAOogL,EACnC,GAAGj2K,EAAM6nK,EAAY5e,OAASxzJ,EAAWoyK,EAC1C,CACD,GACD,IAGArR,EAAOvT,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,aACE,SAAUz3I,EAAIxL,GAChBw2J,EAAOjtJ,GAAIvJ,GAAS,SAAUuJ,GAC7B,OAAO1Z,KAAKupG,GAAIp5F,EAAMuJ,EACvB,CACD,IAKAitJ,EAAOjtJ,GAAGqxI,OAAQ,CAEjBlsI,KAAM,SAAU09J,EAAOv3K,EAAM0U,GAC5B,OAAO1Z,KAAKupG,GAAIgzE,EAAO,KAAMv3K,EAAM0U,EACpC,EACA29K,OAAQ,SAAU9a,EAAO7iK,GACxB,OAAO1Z,KAAK4qG,IAAK2xE,EAAO,KAAM7iK,EAC/B,EAEA49K,SAAU,SAAUj/C,EAAUkkC,EAAOv3K,EAAM0U,GAC1C,OAAO1Z,KAAKupG,GAAIgzE,EAAOlkC,EAAUrzI,EAAM0U,EACxC,EACA69K,WAAY,SAAUl/C,EAAUkkC,EAAO7iK,GAGtC,OAA4B,IAArBkC,UAAUC,OAChB7b,KAAK4qG,IAAKytC,EAAU,MACpBr4I,KAAK4qG,IAAK2xE,EAAOlkC,GAAY,KAAM3+H,EACrC,EAEA89K,MAAO,SAAUC,EAAQC,GACxB,OAAO13L,KACLupG,GAAI,aAAckuF,GAClBluF,GAAI,aAAcmuF,GAASD,EAC9B,IAGD9wB,EAAOvT,KACN,wLAE4Dj3E,MAAO,MACnE,SAAUxgE,EAAIvc,GAGbunK,EAAOjtJ,GAAIta,GAAS,SAAU4F,EAAM0U,GACnC,OAAOkC,UAAUC,OAAS,EACzB7b,KAAKupG,GAAInqG,EAAM,KAAM4F,EAAM0U,GAC3B1Z,KAAK4rG,QAASxsG,EAChB,CACD,IAUD,IAAIu4L,GAAQ,sDAMZhxB,EAAOxrI,MAAQ,SAAUzhB,EAAIgiB,GAC5B,IAAI7Y,EAAKnH,EAAMyf,EAUf,GARwB,kBAAZO,IACX7Y,EAAMnJ,EAAIgiB,GACVA,EAAUhiB,EACVA,EAAKmJ,GAKAq1E,EAAYx+E,GAalB,OARAgC,EAAOg4B,EAAM3zC,KAAM6b,UAAW,GAC9Buf,EAAQ,WACP,OAAOzhB,EAAGmzD,MAAOnxC,GAAW17B,KAAM0b,EAAKlL,OAAQkjC,EAAM3zC,KAAM6b,YAC5D,EAGAuf,EAAM9M,KAAO3U,EAAG2U,KAAO3U,EAAG2U,MAAQs4I,EAAOt4I,OAElC8M,CACR,EAEAwrI,EAAOixB,UAAY,SAAUC,GACvBA,EACJlxB,EAAOiR,YAEPjR,EAAOsN,OAAO,EAEhB,EACAtN,EAAOhyG,QAAUrnD,MAAMqnD,QACvBgyG,EAAOmxB,UAAY9uL,KAAK+tC,MACxB4vH,EAAOnM,SAAWA,EAClBmM,EAAOzuE,WAAaA,EACpByuE,EAAOL,SAAWA,EAClBK,EAAO2R,UAAYA,GACnB3R,EAAOx2J,KAAOk0J,EAEdsC,EAAO3yJ,IAAM/L,KAAK+L,IAElB2yJ,EAAOoxB,UAAY,SAAUruL,GAK5B,IAAIyG,EAAOw2J,EAAOx2J,KAAMzG,GACxB,OAAkB,WAATyG,GAA8B,WAATA,KAK5BjS,MAAOwL,EAAMsrD,WAAYtrD,GAC5B,EAEAi9J,EAAO14B,KAAO,SAAU/oH,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAKlS,QAAS2kL,GAAO,KAChC,EAkBC,EAAkB,GAAI,EAAF,WACnB,OAAOhxB,CACP,uCAMF,IAGCqxB,GAAUh6I,EAAO2oH,OAGjBsxB,GAAKj6I,EAAOi6E,EAwBb,OAtBA0uC,EAAO9S,WAAa,SAAUrhI,GAS7B,OARKwrB,EAAOi6E,IAAM0uC,IACjB3oH,EAAOi6E,EAAIggE,IAGPzlK,GAAQwrB,EAAO2oH,SAAWA,IAC9B3oH,EAAO2oH,OAASqxB,IAGVrxB,CACR,EAKyB,qBAAbX,IACXhoH,EAAO2oH,OAAS3oH,EAAOi6E,EAAI0uC,GAMrBA,CACP,G,kBC39UA;;;;;;;IAOE,SAAUvvD,GACX,IAAI8gF,EASJ,GAPC,IAAc,oEACdA,GAA2B,EAG3B9pC,EAAOC,QAAUj3C,IACjB8gF,GAA2B,GAEvBA,EAA0B,CAC9B,IAAIC,EAAan6I,OAAOo6I,QACpBC,EAAMr6I,OAAOo6I,QAAUhhF,IAC3BihF,EAAIxkC,WAAa,WAEhB,OADA71G,OAAOo6I,QAAUD,EACVE,CACR,CACD,CACD,EAlBC,EAkBC,WACD,SAASttC,IAGR,IAFA,IAAIrlJ,EAAI,EACJqD,EAAS,CAAC,EACPrD,EAAIkW,UAAUC,OAAQnW,IAAK,CACjC,IAAIo9I,EAAalnI,UAAWlW,GAC5B,IAAK,IAAIL,KAAOy9I,EACf/5I,EAAO1D,GAAOy9I,EAAWz9I,EAE3B,CACA,OAAO0D,CACR,CAEA,SAASuvL,EAAQ7wL,GAChB,OAAOA,EAAEuL,QAAQ,mBAAoBulL,mBACtC,CAEA,SAAS70I,EAAM80I,GACd,SAASH,IAAO,CAEhB,SAAS7gL,EAAKnS,EAAKW,EAAO88I,GACzB,GAAwB,qBAAbj3D,SAAX,CAIAi3D,EAAaiI,EAAO,CACnB/9G,KAAM,KACJqrJ,EAAI3mK,SAAUoxH,GAEiB,kBAAvBA,EAAW21C,UACrB31C,EAAW21C,QAAU,IAAIxwL,KAAkB,EAAb,IAAIA,KAAkC,MAArB66I,EAAW21C,UAI3D31C,EAAW21C,QAAU31C,EAAW21C,QAAU31C,EAAW21C,QAAQC,cAAgB,GAE7E,IACC,IAAI3vL,EAASC,KAAK4c,UAAU5f,GACxB,UAAUkF,KAAKnC,KAClB/C,EAAQ+C,EAEV,CAAE,MAAOjC,GAAI,CAEbd,EAAQwyL,EAAUG,MACjBH,EAAUG,MAAM3yL,EAAOX,GACvBuqL,mBAAmB/mJ,OAAO7iC,IACxBgN,QAAQ,4DAA6DulL,oBAExElzL,EAAMuqL,mBAAmB/mJ,OAAOxjC,IAC9B2N,QAAQ,2BAA4BulL,oBACpCvlL,QAAQ,UAAWm4J,QAErB,IAAIytB,EAAwB,GAC5B,IAAK,IAAI31C,KAAiBH,EACpBA,EAAWG,KAGhB21C,GAAyB,KAAO31C,GACE,IAA9BH,EAAWG,KAWf21C,GAAyB,IAAM91C,EAAWG,GAAe9mE,MAAM,KAAK,KAGrE,OAAQ0P,SAASzJ,OAAS/8E,EAAM,IAAMW,EAAQ4yL,CAjD9C,CAkDD,CAEA,SAAS38K,EAAK5W,EAAKqtL,GAClB,GAAwB,qBAAb7mG,SAAX,CAUA,IANA,IAAIgtG,EAAM,CAAC,EAGPC,EAAUjtG,SAASzJ,OAASyJ,SAASzJ,OAAOjG,MAAM,MAAQ,GAC1Dz2E,EAAI,EAEDA,EAAIozL,EAAQj9K,OAAQnW,IAAK,CAC/B,IAAIwqC,EAAQ4oJ,EAAQpzL,GAAGy2E,MAAM,KACzBiG,EAASlyC,EAAMwD,MAAM,GAAG1mB,KAAK,KAE5B0lK,GAA6B,MAArBtwG,EAAOvuE,OAAO,KAC1BuuE,EAASA,EAAO1uC,MAAM,GAAI,IAG3B,IACC,IAAIt0C,EAAOk5L,EAAOpoJ,EAAM,IAIxB,GAHAkyC,GAAUo2G,EAAUO,MAAQP,GAAWp2G,EAAQhjF,IAC9Ck5L,EAAOl2G,GAEJswG,EACH,IACCtwG,EAASp5E,KAAK+tC,MAAMqrC,EACrB,CAAE,MAAOt7E,GAAI,CAKd,GAFA+xL,EAAIz5L,GAAQgjF,EAER/8E,IAAQjG,EACX,KAEF,CAAE,MAAO0H,GAAI,CACd,CAEA,OAAOzB,EAAMwzL,EAAIxzL,GAAOwzL,CAnCxB,CAoCD,CAmBA,OAjBAR,EAAI7gL,IAAMA,EACV6gL,EAAIp8K,IAAM,SAAU5W,GACnB,OAAO4W,EAAI5W,GAAK,EACjB,EACAgzL,EAAI/uK,QAAU,SAAUjkB,GACvB,OAAO4W,EAAI5W,GAAK,EACjB,EACAgzL,EAAIh2J,OAAS,SAAUh9B,EAAKy9I,GAC3BtrI,EAAInS,EAAK,GAAI0lJ,EAAOjI,EAAY,CAC/B21C,SAAU,IAEZ,EAEAJ,EAAI3mK,SAAW,CAAC,EAEhB2mK,EAAIW,cAAgBt1I,EAEb20I,CACR,CAEA,OAAO30I,GAAK,WAAa,GAC1B,G;;;;;;;;;;;;;;;;;;;;;;;;;AC1IA,IAAIu1I,EAA8B,qBAAXj7I,QAA8C,qBAAb6tC,UAAiD,qBAAdic,UAEvFoxF,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvCzzL,EAAI,EAAGA,EAAIyzL,EAAsBt9K,OAAQnW,GAAK,EACrD,GAAIuzL,GAAanxF,UAAUtlG,UAAUuyB,QAAQokK,EAAsBzzL,KAAO,EACxE,OAAO,EAGX,OAAO,CACT,CARsB,GAUtB,SAAS0zL,EAAkB1/K,GACzB,IAAIwuG,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTlqE,OAAO4rD,QAAQ7/C,UAAUqwB,MAAK,WAC5B8tC,GAAS,EACTxuG,GACF,IACF,CACF,CAEA,SAAS2/K,EAAa3/K,GACpB,IAAI4/K,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZnyF,YAAW,WACTmyF,GAAY,EACZ5/K,GACF,GAAGw/K,GAEP,CACF,CAEA,IAAIK,EAAqBN,GAAaj7I,OAAO4rD,QAWzC4vF,EAAWD,EAAqBH,EAAoBC,EASxD,SAASnhG,EAAWuhG,GAClB,IAAIC,EAAU,CAAC,EACf,OAAOD,GAA8D,sBAA3CC,EAAQnrL,SAASxO,KAAK05L,EAClD,CASA,SAASE,EAAyBvpC,EAASznI,GACzC,GAAyB,IAArBynI,EAAQrsC,SACV,MAAO,GAGT,IAAI/lE,EAASoyG,EAAQsR,cAAcyL,YAC/Br0B,EAAM96F,EAAO69F,iBAAiBuU,EAAS,MAC3C,OAAOznI,EAAWmwH,EAAInwH,GAAYmwH,CACpC,CASA,SAAS8gD,EAAcxpC,GACrB,MAAyB,SAArBA,EAAQoK,SACHpK,EAEFA,EAAQ1sC,YAAc0sC,EAAQl/I,IACvC,CASA,SAAS2oL,EAAgBzpC,GAEvB,IAAKA,EACH,OAAOvkE,SAAS7lC,KAGlB,OAAQoqG,EAAQoK,UACd,IAAK,OACL,IAAK,OACH,OAAOpK,EAAQsR,cAAc17G,KAC/B,IAAK,YACH,OAAOoqG,EAAQpqG,KAKnB,IAAI8zI,EAAwBH,EAAyBvpC,GACjD46B,EAAW8O,EAAsB9O,SACjCC,EAAY6O,EAAsB7O,UAClCn0B,EAAYgjC,EAAsBhjC,UAEtC,MAAI,wBAAwB5rJ,KAAK8/K,EAAWl0B,EAAYm0B,GAC/C76B,EAGFypC,EAAgBD,EAAcxpC,GACvC,CASA,SAAS2pC,EAAiBlhL,GACxB,OAAOA,GAAaA,EAAUmhL,cAAgBnhL,EAAUmhL,cAAgBnhL,CAC1E,CAEA,IAAIohL,EAAShB,MAAgBj7I,OAAOk8I,uBAAwBruG,SAASi0F,cACjEqa,EAASlB,GAAa,UAAU/tL,KAAK48F,UAAUtlG,WASnD,SAASonB,EAAK3G,GACZ,OAAgB,KAAZA,EACKg3K,EAEO,KAAZh3K,EACKk3K,EAEFF,GAAUE,CACnB,CASA,SAASC,EAAgBhqC,GACvB,IAAKA,EACH,OAAOvkE,SAAS+qE,gBAGlB,IAAIyjC,EAAiBzwK,EAAK,IAAMiiE,SAAS7lC,KAAO,KAG5C+wI,EAAe3mC,EAAQ2mC,cAAgB,KAE3C,MAAOA,IAAiBsD,GAAkBjqC,EAAQkqC,mBAChDvD,GAAgB3mC,EAAUA,EAAQkqC,oBAAoBvD,aAGxD,IAAIv8B,EAAWu8B,GAAgBA,EAAav8B,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAASzlI,QAAQgiK,EAAav8B,WAA2E,WAAvDm/B,EAAyB5C,EAAc,YACjGqD,EAAgBrD,GAGlBA,EATE3mC,EAAUA,EAAQsR,cAAc9K,gBAAkB/qE,SAAS+qE,eAUtE,CAEA,SAAS2jC,EAAkBnqC,GACzB,IAAIoK,EAAWpK,EAAQoK,SAEvB,MAAiB,SAAbA,IAGgB,SAAbA,GAAuB4/B,EAAgBhqC,EAAQikC,qBAAuBjkC,EAC/E,CASA,SAASoqC,EAAQ36F,GACf,OAAwB,OAApBA,EAAK6jB,WACA82E,EAAQ36F,EAAK6jB,YAGf7jB,CACT,CAUA,SAAS46F,EAAuBC,EAAUC,GAExC,IAAKD,IAAaA,EAAS32E,WAAa42E,IAAaA,EAAS52E,SAC5D,OAAOl4B,SAAS+qE,gBAIlB,IAAImxB,EAAQ2S,EAASpyB,wBAAwBqyB,GAAYzjC,KAAK0jC,4BAC1DxmL,EAAQ2zK,EAAQ2S,EAAWC,EAC3BtmL,EAAM0zK,EAAQ4S,EAAWD,EAGzBG,EAAQhvG,SAASivG,cACrBD,EAAME,SAAS3mL,EAAO,GACtBymL,EAAMG,OAAO3mL,EAAK,GAClB,IAAI4mL,EAA0BJ,EAAMI,wBAIpC,GAAIP,IAAaO,GAA2BN,IAAaM,GAA2B7mL,EAAMk9I,SAASj9I,GACjG,OAAIkmL,EAAkBU,GACbA,EAGFb,EAAgBa,GAIzB,IAAIC,EAAeV,EAAQE,GAC3B,OAAIQ,EAAahqL,KACRupL,EAAuBS,EAAahqL,KAAMypL,GAE1CF,EAAuBC,EAAUF,EAAQG,GAAUzpL,KAE9D,CAUA,SAASiqL,EAAU/qC,GACjB,IAAIgrC,EAAOx/K,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,MAE3Ey/K,EAAqB,QAATD,EAAiB,YAAc,aAC3C5gC,EAAWpK,EAAQoK,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAIyE,EAAO7O,EAAQsR,cAAc9K,gBAC7B0kC,EAAmBlrC,EAAQsR,cAAc45B,kBAAoBr8B,EACjE,OAAOq8B,EAAiBD,EAC1B,CAEA,OAAOjrC,EAAQirC,EACjB,CAWA,SAASE,EAAc/iC,EAAMpI,GAC3B,IAAI21B,EAAWnqK,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,IAAmBA,UAAU,GAE1Ew7I,EAAY+jC,EAAU/qC,EAAS,OAC/Bk5B,EAAa6R,EAAU/qC,EAAS,QAChCorC,EAAWzV,GAAY,EAAI,EAK/B,OAJAvtB,EAAKppC,KAAOgoC,EAAYokC,EACxBhjC,EAAKnpC,QAAU+nC,EAAYokC,EAC3BhjC,EAAKntJ,MAAQi+K,EAAakS,EAC1BhjC,EAAKltJ,OAASg+K,EAAakS,EACpBhjC,CACT,CAYA,SAASijC,EAAe7/C,EAAQ8/C,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAO3mI,WAAW4mF,EAAO,SAAW+/C,EAAQ,UAAY3mI,WAAW4mF,EAAO,SAAWggD,EAAQ,SAC/F,CAEA,SAASC,EAAQH,EAAM11I,EAAMi5G,EAAM68B,GACjC,OAAO39L,KAAKwQ,IAAIq3C,EAAK,SAAW01I,GAAO11I,EAAK,SAAW01I,GAAOz8B,EAAK,SAAWy8B,GAAOz8B,EAAK,SAAWy8B,GAAOz8B,EAAK,SAAWy8B,GAAO9xK,EAAK,IAAMxb,SAAS6wJ,EAAK,SAAWy8B,IAASttL,SAAS0tL,EAAc,UAAqB,WAATJ,EAAoB,MAAQ,UAAYttL,SAAS0tL,EAAc,UAAqB,WAATJ,EAAoB,SAAW,WAAa,EAC5U,CAEA,SAASK,EAAelwG,GACtB,IAAI7lC,EAAO6lC,EAAS7lC,KAChBi5G,EAAOpzE,EAAS+qE,gBAChBklC,EAAgBlyK,EAAK,KAAOiyH,iBAAiBojB,GAEjD,MAAO,CACL4lB,OAAQgX,EAAQ,SAAU71I,EAAMi5G,EAAM68B,GACtCviC,MAAOsiC,EAAQ,QAAS71I,EAAMi5G,EAAM68B,GAExC,CAEA,IAAIE,EAAiB,SAAUjhF,EAAU9uB,GACvC,KAAM8uB,aAAoB9uB,GACxB,MAAM,IAAIuO,UAAU,oCAExB,EAEIyhG,EAAc,WAChB,SAASC,EAAiBhsL,EAAQ0gD,GAChC,IAAK,IAAIlrD,EAAI,EAAGA,EAAIkrD,EAAM/0C,OAAQnW,IAAK,CACrC,IAAI0iG,EAAax3C,EAAMlrD,GACvB0iG,EAAWtO,WAAasO,EAAWtO,aAAc,EACjDsO,EAAW7J,cAAe,EACtB,UAAW6J,IAAYA,EAAWzO,UAAW,GACjD9pE,OAAO45F,eAAev5G,EAAQk4F,EAAW/iG,IAAK+iG,EAChD,CACF,CAEA,OAAO,SAAUnc,EAAa2iE,EAAYC,GAGxC,OAFID,GAAYstC,EAAiBjwG,EAAYj/E,UAAW4hJ,GACpDC,GAAaqtC,EAAiBjwG,EAAa4iE,GACxC5iE,CACT,CACF,CAhBkB,GAsBdw9B,EAAiB,SAAU//G,EAAKrE,EAAKW,GAYvC,OAXIX,KAAOqE,EACTmmB,OAAO45F,eAAe//G,EAAKrE,EAAK,CAC9BW,MAAOA,EACP8zF,YAAY,EACZyE,cAAc,EACd5E,UAAU,IAGZjwF,EAAIrE,GAAOW,EAGN0D,CACT,EAEIolJ,EAAWj/H,OAAOq5E,QAAU,SAAUh5F,GACxC,IAAK,IAAIxK,EAAI,EAAGA,EAAIkW,UAAUC,OAAQnW,IAAK,CACzC,IAAI6Z,EAAS3D,UAAUlW,GAEvB,IAAK,IAAIL,KAAOka,EACVsQ,OAAO7iB,UAAU4rF,eAAe74F,KAAKwf,EAAQla,KAC/C6K,EAAO7K,GAAOka,EAAOla,GAG3B,CAEA,OAAO6K,CACT,EASA,SAASisL,EAAc74B,GACrB,OAAOxU,EAAS,CAAC,EAAGwU,EAAS,CAC3Bh4J,MAAOg4J,EAAQj4J,KAAOi4J,EAAQ/J,MAC9BlqC,OAAQi0C,EAAQl0C,IAAMk0C,EAAQuhB,QAElC,CASA,SAASv1D,EAAsB8gC,GAC7B,IAAIoI,EAAO,CAAC,EAKZ,IACE,GAAI5uI,EAAK,IAAK,CACZ4uI,EAAOpI,EAAQ9gC,wBACf,IAAI8nC,EAAY+jC,EAAU/qC,EAAS,OAC/Bk5B,EAAa6R,EAAU/qC,EAAS,QACpCoI,EAAKppC,KAAOgoC,EACZoB,EAAKntJ,MAAQi+K,EACb9wB,EAAKnpC,QAAU+nC,EACfoB,EAAKltJ,OAASg+K,CAChB,MACE9wB,EAAOpI,EAAQ9gC,uBAEnB,CAAE,MAAOxoH,GAAI,CAEb,IAAIiC,EAAS,CACXsC,KAAMmtJ,EAAKntJ,KACX+jH,IAAKopC,EAAKppC,IACVmqC,MAAOf,EAAKltJ,MAAQktJ,EAAKntJ,KACzBw5K,OAAQrsB,EAAKnpC,OAASmpC,EAAKppC,KAIzBgtE,EAA6B,SAArBhsC,EAAQoK,SAAsBuhC,EAAe3rC,EAAQsR,eAAiB,CAAC,EAC/EnI,EAAQ6iC,EAAM7iC,OAASnJ,EAAQoJ,aAAezwJ,EAAOwwJ,MACrDsrB,EAASuX,EAAMvX,QAAUz0B,EAAQyG,cAAgB9tJ,EAAO87K,OAExDwX,EAAiBjsC,EAAQ6zB,YAAc1qB,EACvC+iC,EAAgBlsC,EAAQ3T,aAAeooC,EAI3C,GAAIwX,GAAkBC,EAAe,CACnC,IAAI1gD,EAAS+9C,EAAyBvpC,GACtCisC,GAAkBZ,EAAe7/C,EAAQ,KACzC0gD,GAAiBb,EAAe7/C,EAAQ,KAExC7yI,EAAOwwJ,OAAS8iC,EAChBtzL,EAAO87K,QAAUyX,CACnB,CAEA,OAAOH,EAAcpzL,EACvB,CAEA,SAASwzL,EAAqC3hK,EAAU4vE,GACtD,IAAIgyF,EAAgB5gL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,IAAmBA,UAAU,GAE/Eu+K,EAASvwK,EAAK,IACd6yK,EAA6B,SAApBjyF,EAAOgwD,SAChBkiC,EAAeptE,EAAsB10F,GACrC+hK,EAAartE,EAAsB9kB,GACnCoyF,EAAe/C,EAAgBj/J,GAE/BghH,EAAS+9C,EAAyBnvF,GAClCs6E,EAAiB9vH,WAAW4mF,EAAOkpC,gBACnC+X,EAAkB7nI,WAAW4mF,EAAOihD,iBAGpCL,GAAiBC,IACnBE,EAAWvtE,IAAMjxH,KAAKwQ,IAAIguL,EAAWvtE,IAAK,GAC1CutE,EAAWtxL,KAAOlN,KAAKwQ,IAAIguL,EAAWtxL,KAAM,IAE9C,IAAIi4J,EAAU64B,EAAc,CAC1B/sE,IAAKstE,EAAattE,IAAMutE,EAAWvtE,IAAM01D,EACzCz5K,KAAMqxL,EAAarxL,KAAOsxL,EAAWtxL,KAAOwxL,EAC5CtjC,MAAOmjC,EAAanjC,MACpBsrB,OAAQ6X,EAAa7X,SASvB,GAPAvhB,EAAQw5B,UAAY,EACpBx5B,EAAQsgB,WAAa,GAMhBuW,GAAUsC,EAAQ,CACrB,IAAIK,EAAY9nI,WAAW4mF,EAAOkhD,WAC9BlZ,EAAa5uH,WAAW4mF,EAAOgoC,YAEnCtgB,EAAQl0C,KAAO01D,EAAiBgY,EAChCx5B,EAAQj0C,QAAUy1D,EAAiBgY,EACnCx5B,EAAQj4J,MAAQwxL,EAAkBjZ,EAClCtgB,EAAQh4J,OAASuxL,EAAkBjZ,EAGnCtgB,EAAQw5B,UAAYA,EACpBx5B,EAAQsgB,WAAaA,CACvB,CAMA,OAJIuW,IAAWqC,EAAgBhyF,EAAO8mD,SAASsrC,GAAgBpyF,IAAWoyF,GAA0C,SAA1BA,EAAapiC,YACrG8I,EAAUi4B,EAAcj4B,EAAS94D,IAG5B84D,CACT,CAEA,SAASy5B,EAA8C3sC,GACrD,IAAI4sC,EAAgBphL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,IAAmBA,UAAU,GAE/EqjJ,EAAO7O,EAAQsR,cAAc9K,gBAC7BqmC,EAAiBV,EAAqCnsC,EAAS6O,GAC/D1F,EAAQp7J,KAAKwQ,IAAIswJ,EAAKzF,YAAax7G,OAAOwxE,YAAc,GACxDq1D,EAAS1mL,KAAKwQ,IAAIswJ,EAAKpI,aAAc74G,OAAOuxE,aAAe,GAE3D6nC,EAAa4lC,EAAkC,EAAlB7B,EAAUl8B,GACvCqqB,EAAc0T,EAA0C,EAA1B7B,EAAUl8B,EAAM,QAE9CE,EAAS,CACX/vC,IAAKgoC,EAAY6lC,EAAe7tE,IAAM6tE,EAAeH,UACrDzxL,KAAMi+K,EAAa2T,EAAe5xL,KAAO4xL,EAAerZ,WACxDrqB,MAAOA,EACPsrB,OAAQA,GAGV,OAAOsX,EAAch9B,EACvB,CAUA,SAAS+9B,EAAQ9sC,GACf,IAAIoK,EAAWpK,EAAQoK,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDm/B,EAAyBvpC,EAAS,YACpC,OAAO,EAET,IAAI1sC,EAAak2E,EAAcxpC,GAC/B,QAAK1sC,GAGEw5E,EAAQx5E,EACjB,CAUA,SAASy5E,EAA6B/sC,GAEpC,IAAKA,IAAYA,EAAQjiC,eAAiBvkG,IACxC,OAAOiiE,SAAS+qE,gBAElB,IAAIx3C,EAAKgxC,EAAQjiC,cACjB,MAAO/O,GAAoD,SAA9Cu6E,EAAyBv6E,EAAI,aACxCA,EAAKA,EAAG+O,cAEV,OAAO/O,GAAMvzB,SAAS+qE,eACxB,CAaA,SAASwmC,EAAcn5B,EAAQprJ,EAAWqgJ,EAAS+J,GACjD,IAAIu5B,EAAgB5gL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,IAAmBA,UAAU,GAI/EyhL,EAAa,CAAEjuE,IAAK,EAAG/jH,KAAM,GAC7B0rL,EAAeyF,EAAgBW,EAA6Bl5B,GAAUw2B,EAAuBx2B,EAAQ81B,EAAiBlhL,IAG1H,GAA0B,aAAtBoqJ,EACFo6B,EAAaN,EAA8ChG,EAAcyF,OACpE,CAEL,IAAIc,OAAiB,EACK,iBAAtBr6B,GACFq6B,EAAiBzD,EAAgBD,EAAc/gL,IACf,SAA5BykL,EAAe9iC,WACjB8iC,EAAiBr5B,EAAOvC,cAAc9K,kBAGxC0mC,EAD+B,WAAtBr6B,EACQgB,EAAOvC,cAAc9K,gBAErBqM,EAGnB,IAAIK,EAAUi5B,EAAqCe,EAAgBvG,EAAcyF,GAGjF,GAAgC,SAA5Bc,EAAe9iC,UAAwB0iC,EAAQnG,GAWjDsG,EAAa/5B,MAXmD,CAChE,IAAIi6B,EAAkBxB,EAAe93B,EAAOvC,eACxCmjB,EAAS0Y,EAAgB1Y,OACzBtrB,EAAQgkC,EAAgBhkC,MAE5B8jC,EAAWjuE,KAAOk0C,EAAQl0C,IAAMk0C,EAAQw5B,UACxCO,EAAWhuE,OAASw1D,EAASvhB,EAAQl0C,IACrCiuE,EAAWhyL,MAAQi4J,EAAQj4J,KAAOi4J,EAAQsgB,WAC1CyZ,EAAW/xL,MAAQiuJ,EAAQ+J,EAAQj4J,IACrC,CAIF,CAGA6tJ,EAAUA,GAAW,EACrB,IAAIskC,EAAqC,kBAAZtkC,EAM7B,OALAmkC,EAAWhyL,MAAQmyL,EAAkBtkC,EAAUA,EAAQ7tJ,MAAQ,EAC/DgyL,EAAWjuE,KAAOouE,EAAkBtkC,EAAUA,EAAQ9pC,KAAO,EAC7DiuE,EAAW/xL,OAASkyL,EAAkBtkC,EAAUA,EAAQ5tJ,OAAS,EACjE+xL,EAAWhuE,QAAUmuE,EAAkBtkC,EAAUA,EAAQ7pC,QAAU,EAE5DguE,CACT,CAEA,SAASI,EAAQhjL,GACf,IAAI8+I,EAAQ9+I,EAAK8+I,MACbsrB,EAASpqK,EAAKoqK,OAElB,OAAOtrB,EAAQsrB,CACjB,CAWA,SAAS6Y,EAAqBx+B,EAAWy+B,EAAS15B,EAAQprJ,EAAWoqJ,GACnE,IAAI/J,EAAUt9I,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/BsjJ,EAAUnqI,QAAQ,QACpB,OAAOmqI,EAGT,IAAIm+B,EAAaD,EAAcn5B,EAAQprJ,EAAWqgJ,EAAS+J,GAEvD26B,EAAQ,CACVxuE,IAAK,CACHmqC,MAAO8jC,EAAW9jC,MAClBsrB,OAAQ8Y,EAAQvuE,IAAMiuE,EAAWjuE,KAEnC9jH,MAAO,CACLiuJ,MAAO8jC,EAAW/xL,MAAQqyL,EAAQryL,MAClCu5K,OAAQwY,EAAWxY,QAErBx1D,OAAQ,CACNkqC,MAAO8jC,EAAW9jC,MAClBsrB,OAAQwY,EAAWhuE,OAASsuE,EAAQtuE,QAEtChkH,KAAM,CACJkuJ,MAAOokC,EAAQtyL,KAAOgyL,EAAWhyL,KACjCw5K,OAAQwY,EAAWxY,SAInBgZ,EAAchuK,OAAO8lC,KAAKioI,GAAOt4L,KAAI,SAAUD,GACjD,OAAOypJ,EAAS,CACdzpJ,IAAKA,GACJu4L,EAAMv4L,GAAM,CACbk2J,KAAMkiC,EAAQG,EAAMv4L,KAExB,IAAG0nB,MAAK,SAAUzb,EAAGm3B,GACnB,OAAOA,EAAE8yH,KAAOjqJ,EAAEiqJ,IACpB,IAEIuiC,EAAgBD,EAAYz/H,QAAO,SAAU2/H,GAC/C,IAAIxkC,EAAQwkC,EAAMxkC,MACdsrB,EAASkZ,EAAMlZ,OACnB,OAAOtrB,GAAS0K,EAAOzK,aAAeqrB,GAAU5gB,EAAOpN,YACzD,IAEImnC,EAAoBF,EAAcjiL,OAAS,EAAIiiL,EAAc,GAAGz4L,IAAMw4L,EAAY,GAAGx4L,IAErF44L,EAAY/+B,EAAU/iF,MAAM,KAAK,GAErC,OAAO6hH,GAAqBC,EAAY,IAAMA,EAAY,GAC5D,CAYA,SAASC,EAAoB3kL,EAAO0qJ,EAAQprJ,GAC1C,IAAI2jL,EAAgB5gL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,KAEpFuiL,EAAqB3B,EAAgBW,EAA6Bl5B,GAAUw2B,EAAuBx2B,EAAQ81B,EAAiBlhL,IAChI,OAAO0jL,EAAqC1jL,EAAWslL,EAAoB3B,EAC7E,CASA,SAAS4B,EAAchuC,GACrB,IAAIpyG,EAASoyG,EAAQsR,cAAcyL,YAC/BvxB,EAAS59F,EAAO69F,iBAAiBuU,GACjC7/C,EAAIv7C,WAAW4mF,EAAOkhD,WAAa,GAAK9nI,WAAW4mF,EAAOyiD,cAAgB,GAC1EC,EAAItpI,WAAW4mF,EAAOgoC,YAAc,GAAK5uH,WAAW4mF,EAAOod,aAAe,GAC1EjwJ,EAAS,CACXwwJ,MAAOnJ,EAAQ6zB,YAAcqa,EAC7BzZ,OAAQz0B,EAAQ3T,aAAelsC,GAEjC,OAAOxnG,CACT,CASA,SAASw1L,EAAqBr/B,GAC5B,IAAIhjH,EAAO,CAAE7wC,KAAM,QAASC,MAAO,OAAQ+jH,OAAQ,MAAOD,IAAK,UAC/D,OAAO8vC,EAAUlsJ,QAAQ,0BAA0B,SAAUu8J,GAC3D,OAAOrzH,EAAKqzH,EACd,GACF,CAYA,SAASivB,EAAiBv6B,EAAQw6B,EAAkBv/B,GAClDA,EAAYA,EAAU/iF,MAAM,KAAK,GAGjC,IAAIuiH,EAAaN,EAAcn6B,GAG3B06B,EAAgB,CAClBplC,MAAOmlC,EAAWnlC,MAClBsrB,OAAQ6Z,EAAW7Z,QAIjB+Z,GAAoD,IAA1C,CAAC,QAAS,QAAQ7pK,QAAQmqI,GACpC2/B,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnC1hJ,EAAc0hJ,EAAU,SAAW,QACnCG,EAAwBH,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBvhJ,GAAe,EAAIwhJ,EAAWxhJ,GAAe,EAEnHyhJ,EAAcG,GADZ5/B,IAAc4/B,EACeL,EAAiBK,GAAiBJ,EAAWK,GAE7CN,EAAiBF,EAAqBO,IAGhEH,CACT,CAWA,SAASluF,EAAK76E,EAAK84I,GAEjB,OAAIphK,MAAMN,UAAUyjG,KACX76E,EAAI66E,KAAKi+D,GAIX94I,EAAIwoC,OAAOswG,GAAO,EAC3B,CAWA,SAASh+D,EAAU96E,EAAK/uB,EAAMb,GAE5B,GAAIsH,MAAMN,UAAU0jG,UAClB,OAAO96E,EAAI86E,WAAU,SAAU6K,GAC7B,OAAOA,EAAI10G,KAAUb,CACvB,IAIF,IAAImI,EAAQsiG,EAAK76E,GAAK,SAAUlsB,GAC9B,OAAOA,EAAI7C,KAAUb,CACvB,IACA,OAAO4vB,EAAIb,QAAQ5mB,EACrB,CAYA,SAAS6wL,EAAangF,EAAW75G,EAAMi6L,GACrC,IAAIC,OAA0Bt5L,IAATq5L,EAAqBpgF,EAAYA,EAAUnrE,MAAM,EAAGg9D,EAAUmO,EAAW,OAAQogF,IAmBtG,OAjBAC,EAAezkH,SAAQ,SAAU+gH,GAC3BA,EAAS,aAEXryK,QAAQwtH,KAAK,yDAEf,IAAIj9H,EAAK8hL,EAAS,aAAeA,EAAS9hL,GACtC8hL,EAASvuJ,SAAWirD,EAAWx+E,KAIjC1U,EAAKs+J,QAAQW,OAASk4B,EAAcn3L,EAAKs+J,QAAQW,QACjDj/J,EAAKs+J,QAAQzqJ,UAAYsjL,EAAcn3L,EAAKs+J,QAAQzqJ,WAEpD7T,EAAO0U,EAAG1U,EAAMw2L,GAEpB,IAEOx2L,CACT,CASA,SAAS05B,IAEP,IAAI1+B,KAAKuZ,MAAM4lL,YAAf,CAIA,IAAIn6L,EAAO,CACT+1G,SAAU/6G,KACV47I,OAAQ,CAAC,EACTwjD,YAAa,CAAC,EACdt8C,WAAY,CAAC,EACbu8C,SAAS,EACT/7B,QAAS,CAAC,GAIZt+J,EAAKs+J,QAAQzqJ,UAAYqlL,EAAoBl+L,KAAKuZ,MAAOvZ,KAAKikK,OAAQjkK,KAAK6Y,UAAW7Y,KAAKkwF,QAAQovG,eAKnGt6L,EAAKk6J,UAAYw+B,EAAqB19L,KAAKkwF,QAAQgvE,UAAWl6J,EAAKs+J,QAAQzqJ,UAAW7Y,KAAKikK,OAAQjkK,KAAK6Y,UAAW7Y,KAAKkwF,QAAQ2uB,UAAUgkD,KAAKI,kBAAmBjjK,KAAKkwF,QAAQ2uB,UAAUgkD,KAAK3J,SAG9Ll0J,EAAKm+J,kBAAoBn+J,EAAKk6J,UAE9Bl6J,EAAKs6L,cAAgBt/L,KAAKkwF,QAAQovG,cAGlCt6L,EAAKs+J,QAAQW,OAASu6B,EAAiBx+L,KAAKikK,OAAQj/J,EAAKs+J,QAAQzqJ,UAAW7T,EAAKk6J,WAEjFl6J,EAAKs+J,QAAQW,OAAO8f,SAAW/jL,KAAKkwF,QAAQovG,cAAgB,QAAU,WAGtEt6L,EAAOg6L,EAAah/L,KAAK6+G,UAAW75G,GAI/BhF,KAAKuZ,MAAMgmL,UAIdv/L,KAAKkwF,QAAQmzE,SAASr+J,IAHtBhF,KAAKuZ,MAAMgmL,WAAY,EACvBv/L,KAAKkwF,QAAQgzE,SAASl+J,GApCxB,CAwCF,CAQA,SAASw6L,EAAkB3gF,EAAW4gF,GACpC,OAAO5gF,EAAU3N,MAAK,SAAUz2F,GAC9B,IAAIrb,EAAOqb,EAAKrb,KACZ6tC,EAAUxyB,EAAKwyB,QACnB,OAAOA,GAAW7tC,IAASqgM,CAC7B,GACF,CASA,SAASC,EAAyB/2K,GAIhC,IAHA,IAAIg2H,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CghD,EAAYh3K,EAAS9U,OAAO,GAAGrC,cAAgBmX,EAAS+qB,MAAM,GAEzDhuC,EAAI,EAAGA,EAAIi5I,EAAS9iI,OAAQnW,IAAK,CACxC,IAAIq9D,EAAS47E,EAASj5I,GAClBk6L,EAAU78H,EAAS,GAAKA,EAAS48H,EAAYh3K,EACjD,GAA4C,qBAAjCkjE,SAAS7lC,KAAKynE,MAAMmyE,GAC7B,OAAOA,CAEX,CACA,OAAO,IACT,CAOA,SAASt+B,IAsBP,OArBAthK,KAAKuZ,MAAM4lL,aAAc,EAGrBK,EAAkBx/L,KAAK6+G,UAAW,gBACpC7+G,KAAKikK,OAAOpnB,gBAAgB,eAC5B78I,KAAKikK,OAAOx2C,MAAMs2D,SAAW,GAC7B/jL,KAAKikK,OAAOx2C,MAAM2B,IAAM,GACxBpvH,KAAKikK,OAAOx2C,MAAMpiH,KAAO,GACzBrL,KAAKikK,OAAOx2C,MAAMniH,MAAQ,GAC1BtL,KAAKikK,OAAOx2C,MAAM4B,OAAS,GAC3BrvH,KAAKikK,OAAOx2C,MAAMoyE,WAAa,GAC/B7/L,KAAKikK,OAAOx2C,MAAMiyE,EAAyB,cAAgB,IAG7D1/L,KAAK8/L,wBAID9/L,KAAKkwF,QAAQ6vG,iBACf//L,KAAKikK,OAAOvgD,WAAWq0B,YAAY/3I,KAAKikK,QAEnCjkK,IACT,CAOA,SAASo/F,EAAUgxD,GACjB,IAAIsR,EAAgBtR,EAAQsR,cAC5B,OAAOA,EAAgBA,EAAcyL,YAAcnvH,MACrD,CAEA,SAASgiJ,EAAsBpD,EAAc1xK,EAAOvM,EAAUshL,GAC5D,IAAIC,EAAmC,SAA1BtD,EAAapiC,SACtBtqJ,EAASgwL,EAAStD,EAAal7B,cAAcyL,YAAcyvB,EAC/D1sL,EAAOmgH,iBAAiBnlG,EAAOvM,EAAU,CAAEwhL,SAAS,IAE/CD,GACHF,EAAsBnG,EAAgB3pL,EAAOwzG,YAAax4F,EAAOvM,EAAUshL,GAE7EA,EAAcrsJ,KAAK1jC,EACrB,CAQA,SAASkwL,EAAoBvnL,EAAWq3E,EAAS32E,EAAO8mL,GAEtD9mL,EAAM8mL,YAAcA,EACpBjhG,EAAUvmF,GAAWw3G,iBAAiB,SAAU92G,EAAM8mL,YAAa,CAAEF,SAAS,IAG9E,IAAIG,EAAgBzG,EAAgBhhL,GAKpC,OAJAmnL,EAAsBM,EAAe,SAAU/mL,EAAM8mL,YAAa9mL,EAAM0mL,eACxE1mL,EAAM+mL,cAAgBA,EACtB/mL,EAAMgnL,eAAgB,EAEfhnL,CACT,CAQA,SAASinL,IACFxgM,KAAKuZ,MAAMgnL,gBACdvgM,KAAKuZ,MAAQ6mL,EAAoBpgM,KAAK6Y,UAAW7Y,KAAKkwF,QAASlwF,KAAKuZ,MAAOvZ,KAAKuiK,gBAEpF,CAQA,SAASvzI,GAAqBnW,EAAWU,GAcvC,OAZA6lF,EAAUvmF,GAAWy3G,oBAAoB,SAAU/2G,EAAM8mL,aAGzD9mL,EAAM0mL,cAAcxlH,SAAQ,SAAUvqE,GACpCA,EAAOogH,oBAAoB,SAAU/2G,EAAM8mL,YAC7C,IAGA9mL,EAAM8mL,YAAc,KACpB9mL,EAAM0mL,cAAgB,GACtB1mL,EAAM+mL,cAAgB,KACtB/mL,EAAMgnL,eAAgB,EACfhnL,CACT,CASA,SAASumL,KACH9/L,KAAKuZ,MAAMgnL,gBACbE,qBAAqBzgM,KAAKuiK,gBAC1BviK,KAAKuZ,MAAQyV,GAAqBhvB,KAAK6Y,UAAW7Y,KAAKuZ,OAE3D,CASA,SAASw+K,GAAU37K,GACjB,MAAa,KAANA,IAAale,MAAM82D,WAAW54C,KAAOssK,SAAStsK,EACvD,CAUA,SAASskL,GAAUtwC,EAASxU,GAC1B/rH,OAAO8lC,KAAKimF,GAAQnhE,SAAQ,SAAU5zE,GACpC,IAAIszK,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQplJ,QAAQluB,IAAgBkxL,GAAUn8C,EAAO/0I,MACjGszK,EAAO,MAET/pB,EAAQ3iC,MAAM5mH,GAAQ+0I,EAAO/0I,GAAQszK,CACvC,GACF,CAUA,SAASwmB,GAAcvwC,EAAStN,GAC9BjzH,OAAO8lC,KAAKmtF,GAAYroE,SAAQ,SAAU5zE,GACxC,IAAIb,EAAQ88I,EAAWj8I,IACT,IAAVb,EACFoqJ,EAAQlsC,aAAar9G,EAAMi8I,EAAWj8I,IAEtCupJ,EAAQvT,gBAAgBh2I,EAE5B,GACF,CAWA,SAAS+5L,GAAW57L,GAgBlB,OAXA07L,GAAU17L,EAAK+1G,SAASkpD,OAAQj/J,EAAK42I,QAIrC+kD,GAAc37L,EAAK+1G,SAASkpD,OAAQj/J,EAAK89I,YAGrC99I,EAAK67L,cAAgBhxK,OAAO8lC,KAAK3wD,EAAKo6L,aAAavjL,QACrD6kL,GAAU17L,EAAK67L,aAAc77L,EAAKo6L,aAG7Bp6L,CACT,CAYA,SAAS87L,GAAiBjoL,EAAWorJ,EAAQ/zE,EAAS6wG,EAAiBxnL,GAErE,IAAIklL,EAAmBP,EAAoB3kL,EAAO0qJ,EAAQprJ,EAAWq3E,EAAQovG,eAKzEpgC,EAAYw+B,EAAqBxtG,EAAQgvE,UAAWu/B,EAAkBx6B,EAAQprJ,EAAWq3E,EAAQ2uB,UAAUgkD,KAAKI,kBAAmB/yE,EAAQ2uB,UAAUgkD,KAAK3J,SAQ9J,OANA+K,EAAO//C,aAAa,cAAeg7C,GAInCwhC,GAAUz8B,EAAQ,CAAE8f,SAAU7zF,EAAQovG,cAAgB,QAAU,aAEzDpvG,CACT,CAqBA,SAAS8wG,GAAkBh8L,EAAMi8L,GAC/B,IAAIC,EAAgBl8L,EAAKs+J,QACrBW,EAASi9B,EAAcj9B,OACvBprJ,EAAYqoL,EAAcroL,UAC1Bza,EAAQD,KAAKC,MACbG,EAAQJ,KAAKI,MAEb4iM,EAAU,SAAiB/oL,GAC7B,OAAOA,CACT,EAEIgpL,EAAiBhjM,EAAMya,EAAU0gJ,OACjC8nC,EAAcjjM,EAAM6lK,EAAO1K,OAE3B+nC,GAA4D,IAA/C,CAAC,OAAQ,SAASvsK,QAAQ/vB,EAAKk6J,WAC5CqiC,GAA+C,IAAjCv8L,EAAKk6J,UAAUnqI,QAAQ,KACrCysK,EAAkBJ,EAAiB,IAAMC,EAAc,EACvDI,EAAeL,EAAiB,IAAM,GAAKC,EAAc,IAAM,EAE/DK,EAAuBT,EAAwBK,GAAcC,GAAeC,EAAkBpjM,EAAQG,EAAjE4iM,EACrCQ,EAAqBV,EAAwB7iM,EAAV+iM,EAEvC,MAAO,CACL91L,KAAMq2L,EAAoBD,IAAiBF,GAAeN,EAAch9B,EAAO54J,KAAO,EAAI44J,EAAO54J,MACjG+jH,IAAKuyE,EAAkB19B,EAAO70C,KAC9BC,OAAQsyE,EAAkB19B,EAAO50C,QACjC/jH,MAAOo2L,EAAoBz9B,EAAO34J,OAEtC,CAEA,IAAIs2L,GAAY3I,GAAa,WAAW/tL,KAAK48F,UAAUtlG,WASvD,SAASq/L,GAAa78L,EAAMkrF,GAC1B,IAAIqgB,EAAIrgB,EAAQqgB,EACZ+tF,EAAIpuG,EAAQouG,EACZr6B,EAASj/J,EAAKs+J,QAAQW,OAItB69B,EAA8BrxF,EAAKzrG,EAAK+1G,SAAS8D,WAAW,SAAU28E,GACxE,MAAyB,eAAlBA,EAASp8L,IAClB,IAAG2iM,qBACiCn8L,IAAhCk8L,GACF34K,QAAQwtH,KAAK,iIAEf,IAAIorD,OAAkDn8L,IAAhCk8L,EAA4CA,EAA8B5xG,EAAQ6xG,gBAEpGhL,EAAeqD,EAAgBp1L,EAAK+1G,SAASkpD,QAC7C+9B,EAAmB1yE,EAAsBynE,GAGzCn7C,EAAS,CACXmoC,SAAU9f,EAAO8f,UAGfzgB,EAAU09B,GAAkBh8L,EAAMg5C,OAAOikJ,iBAAmB,IAAML,IAElEjG,EAAc,WAANprF,EAAiB,MAAQ,SACjCqrF,EAAc,UAAN0C,EAAgB,OAAS,QAKjC4D,EAAmBxC,EAAyB,aAW5Cr0L,OAAO,EACP+jH,OAAM,EAqBV,GAhBIA,EAJU,WAAVusE,EAG4B,SAA1B5E,EAAav8B,UACRu8B,EAAalgC,aAAeyM,EAAQj0C,QAEpC2yE,EAAiBnd,OAASvhB,EAAQj0C,OAGrCi0C,EAAQl0C,IAIZ/jH,EAFU,UAAVuwL,EAC4B,SAA1B7E,EAAav8B,UACPu8B,EAAav9B,YAAc8J,EAAQh4J,OAEnC02L,EAAiBzoC,MAAQ+J,EAAQh4J,MAGpCg4J,EAAQj4J,KAEb02L,GAAmBG,EACrBtmD,EAAOsmD,GAAoB,eAAiB72L,EAAO,OAAS+jH,EAAM,SAClEwsB,EAAO+/C,GAAS,EAChB//C,EAAOggD,GAAS,EAChBhgD,EAAOikD,WAAa,gBACf,CAEL,IAAIsC,EAAsB,WAAVxG,GAAsB,EAAI,EACtCyG,EAAuB,UAAVxG,GAAqB,EAAI,EAC1ChgD,EAAO+/C,GAASvsE,EAAM+yE,EACtBvmD,EAAOggD,GAASvwL,EAAO+2L,EACvBxmD,EAAOikD,WAAalE,EAAQ,KAAOC,CACrC,CAGA,IAAI94C,EAAa,CACf,cAAe99I,EAAKk6J,WAQtB,OAJAl6J,EAAK89I,WAAagM,EAAS,CAAC,EAAGhM,EAAY99I,EAAK89I,YAChD99I,EAAK42I,OAASkT,EAAS,CAAC,EAAGlT,EAAQ52I,EAAK42I,QACxC52I,EAAKo6L,YAActwC,EAAS,CAAC,EAAG9pJ,EAAKs+J,QAAQP,MAAO/9J,EAAKo6L,aAElDp6L,CACT,CAYA,SAASq9L,GAAmBxjF,EAAWyjF,EAAgBC,GACrD,IAAIC,EAAa/xF,EAAKoO,GAAW,SAAUpkG,GACzC,IAAIrb,EAAOqb,EAAKrb,KAChB,OAAOA,IAASkjM,CAClB,IAEI7tI,IAAe+tI,GAAc3jF,EAAU3N,MAAK,SAAUsqF,GACxD,OAAOA,EAASp8L,OAASmjM,GAAiB/G,EAASvuJ,SAAWuuJ,EAASzT,MAAQya,EAAWza,KAC5F,IAEA,IAAKtzH,EAAY,CACf,IAAIguI,EAAc,IAAMH,EAAiB,IACrCI,EAAY,IAAMH,EAAgB,IACtCp5K,QAAQwtH,KAAK+rD,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,IACnJ,CACA,OAAOhuI,CACT,CASA,SAASsuG,GAAM/9J,EAAMkrF,GACnB,IAAIyyG,EAGJ,IAAKN,GAAmBr9L,EAAK+1G,SAAS8D,UAAW,QAAS,gBACxD,OAAO75G,EAGT,IAAI67L,EAAe3wG,EAAQkgE,QAG3B,GAA4B,kBAAjBywC,GAIT,GAHAA,EAAe77L,EAAK+1G,SAASkpD,OAAO/iD,cAAc2/E,IAG7CA,EACH,OAAO77L,OAKT,IAAKA,EAAK+1G,SAASkpD,OAAO3S,SAASuvC,GAEjC,OADA13K,QAAQwtH,KAAK,iEACN3xI,EAIX,IAAIk6J,EAAYl6J,EAAKk6J,UAAU/iF,MAAM,KAAK,GACtC+kH,EAAgBl8L,EAAKs+J,QACrBW,EAASi9B,EAAcj9B,OACvBprJ,EAAYqoL,EAAcroL,UAE1ByoL,GAAuD,IAA1C,CAAC,OAAQ,SAASvsK,QAAQmqI,GAEvCt8H,EAAM0+J,EAAa,SAAW,QAC9BsB,EAAkBtB,EAAa,MAAQ,OACvClG,EAAOwH,EAAgB7vL,cACvB8vL,EAAUvB,EAAa,OAAS,MAChCwB,EAASxB,EAAa,SAAW,QACjCyB,EAAmB3E,EAAcyC,GAAcj+J,GAQ/C/pB,EAAUiqL,GAAUC,EAAmB9+B,EAAOm3B,KAChDp2L,EAAKs+J,QAAQW,OAAOm3B,IAASn3B,EAAOm3B,IAASviL,EAAUiqL,GAAUC,IAG/DlqL,EAAUuiL,GAAQ2H,EAAmB9+B,EAAO6+B,KAC9C99L,EAAKs+J,QAAQW,OAAOm3B,IAASviL,EAAUuiL,GAAQ2H,EAAmB9+B,EAAO6+B,IAE3E99L,EAAKs+J,QAAQW,OAASk4B,EAAcn3L,EAAKs+J,QAAQW,QAGjD,IAAI++B,EAASnqL,EAAUuiL,GAAQviL,EAAU+pB,GAAO,EAAImgK,EAAmB,EAInEjqD,EAAM6gD,EAAyB30L,EAAK+1G,SAASkpD,QAC7Cg/B,EAAmBjuI,WAAW8jF,EAAI,SAAW8pD,IAC7CM,EAAmBluI,WAAW8jF,EAAI,SAAW8pD,EAAkB,UAC/DO,EAAYH,EAASh+L,EAAKs+J,QAAQW,OAAOm3B,GAAQ6H,EAAmBC,EAQxE,OALAC,EAAYhlM,KAAKwQ,IAAIxQ,KAAKK,IAAIylK,EAAOrhI,GAAOmgK,EAAkBI,GAAY,GAE1En+L,EAAK67L,aAAeA,EACpB77L,EAAKs+J,QAAQP,OAAS4/B,EAAsB,CAAC,EAAGl5E,EAAek5E,EAAqBvH,EAAMj9L,KAAKC,MAAM+kM,IAAa15E,EAAek5E,EAAqBE,EAAS,IAAKF,GAE7J39L,CACT,CASA,SAASo+L,GAAqBnF,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,CACT,CAiCA,IAAIoF,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAW3vJ,MAAM,GAYvC,SAAS6vJ,GAAUrkC,GACjB,IAAIskC,EAAU5nL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,IAAmBA,UAAU,GAEzEgrC,EAAQ08I,GAAgBvuK,QAAQmqI,GAChCtpI,EAAM0tK,GAAgB5vJ,MAAMkT,EAAQ,GAAGp2C,OAAO8yL,GAAgB5vJ,MAAM,EAAGkT,IAC3E,OAAO48I,EAAU5tK,EAAIyjC,UAAYzjC,CACnC,CAEA,IAAI6tK,GAAY,CACdC,KAAM,OACNC,UAAW,YACXC,iBAAkB,oBAUpB,SAAS/gC,GAAK79J,EAAMkrF,GAElB,GAAIsvG,EAAkBx6L,EAAK+1G,SAAS8D,UAAW,SAC7C,OAAO75G,EAGT,GAAIA,EAAKq6L,SAAWr6L,EAAKk6J,YAAcl6J,EAAKm+J,kBAE1C,OAAOn+J,EAGT,IAAIq4L,EAAaD,EAAcp4L,EAAK+1G,SAASkpD,OAAQj/J,EAAK+1G,SAASliG,UAAWq3E,EAAQgpE,QAAShpE,EAAQ+yE,kBAAmBj+J,EAAKs6L,eAE3HpgC,EAAYl6J,EAAKk6J,UAAU/iF,MAAM,KAAK,GACtC0nH,EAAoBtF,EAAqBr/B,GACzC++B,EAAYj5L,EAAKk6J,UAAU/iF,MAAM,KAAK,IAAM,GAE5C2nH,EAAY,GAEhB,OAAQ5zG,EAAQ4yE,UACd,KAAK2gC,GAAUC,KACbI,EAAY,CAAC5kC,EAAW2kC,GACxB,MACF,KAAKJ,GAAUE,UACbG,EAAYP,GAAUrkC,GACtB,MACF,KAAKukC,GAAUG,iBACbE,EAAYP,GAAUrkC,GAAW,GACjC,MACF,QACE4kC,EAAY5zG,EAAQ4yE,SAyDxB,OAtDAghC,EAAUrpH,SAAQ,SAAU2uG,EAAMxiI,GAChC,GAAIs4G,IAAckqB,GAAQ0a,EAAUjoL,SAAW+qC,EAAQ,EACrD,OAAO5hD,EAGTk6J,EAAYl6J,EAAKk6J,UAAU/iF,MAAM,KAAK,GACtC0nH,EAAoBtF,EAAqBr/B,GAEzC,IAAIy/B,EAAgB35L,EAAKs+J,QAAQW,OAC7B8/B,EAAa/+L,EAAKs+J,QAAQzqJ,UAG1Bta,EAAQJ,KAAKI,MACbylM,EAA4B,SAAd9kC,GAAwB3gK,EAAMogM,EAAcrzL,OAAS/M,EAAMwlM,EAAW14L,OAAuB,UAAd6zJ,GAAyB3gK,EAAMogM,EAActzL,MAAQ9M,EAAMwlM,EAAWz4L,QAAwB,QAAd4zJ,GAAuB3gK,EAAMogM,EAActvE,QAAU9wH,EAAMwlM,EAAW30E,MAAsB,WAAd8vC,GAA0B3gK,EAAMogM,EAAcvvE,KAAO7wH,EAAMwlM,EAAW10E,QAEjU40E,EAAgB1lM,EAAMogM,EAActzL,MAAQ9M,EAAM8+L,EAAWhyL,MAC7D64L,EAAiB3lM,EAAMogM,EAAcrzL,OAAS/M,EAAM8+L,EAAW/xL,OAC/D64L,EAAe5lM,EAAMogM,EAAcvvE,KAAO7wH,EAAM8+L,EAAWjuE,KAC3Dg1E,EAAkB7lM,EAAMogM,EAActvE,QAAU9wH,EAAM8+L,EAAWhuE,QAEjEg1E,EAAoC,SAAdnlC,GAAwB+kC,GAA+B,UAAd/kC,GAAyBglC,GAAgC,QAAdhlC,GAAuBilC,GAA8B,WAAdjlC,GAA0BklC,EAG3K9C,GAAuD,IAA1C,CAAC,MAAO,UAAUvsK,QAAQmqI,GAGvColC,IAA0Bp0G,EAAQq0G,iBAAmBjD,GAA4B,UAAdrD,GAAyBgG,GAAiB3C,GAA4B,QAAdrD,GAAuBiG,IAAmB5C,GAA4B,UAAdrD,GAAyBkG,IAAiB7C,GAA4B,QAAdrD,GAAuBmG,GAGlQI,IAA8Bt0G,EAAQu0G,0BAA4BnD,GAA4B,UAAdrD,GAAyBiG,GAAkB5C,GAA4B,QAAdrD,GAAuBgG,IAAkB3C,GAA4B,UAAdrD,GAAyBmG,IAAoB9C,GAA4B,QAAdrD,GAAuBkG,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExC1/L,EAAKq6L,SAAU,GAEX2E,GAAeK,KACjBnlC,EAAY4kC,EAAUl9I,EAAQ,IAG5B89I,IACFzG,EAAYmF,GAAqBnF,IAGnCj5L,EAAKk6J,UAAYA,GAAa++B,EAAY,IAAMA,EAAY,IAI5Dj5L,EAAKs+J,QAAQW,OAASnV,EAAS,CAAC,EAAG9pJ,EAAKs+J,QAAQW,OAAQu6B,EAAiBx5L,EAAK+1G,SAASkpD,OAAQj/J,EAAKs+J,QAAQzqJ,UAAW7T,EAAKk6J,YAE5Hl6J,EAAOg6L,EAAah6L,EAAK+1G,SAAS8D,UAAW75G,EAAM,QAEvD,IACOA,CACT,CASA,SAAS2/L,GAAa3/L,GACpB,IAAIk8L,EAAgBl8L,EAAKs+J,QACrBW,EAASi9B,EAAcj9B,OACvBprJ,EAAYqoL,EAAcroL,UAE1BqmJ,EAAYl6J,EAAKk6J,UAAU/iF,MAAM,KAAK,GACtC59E,EAAQJ,KAAKI,MACb+iM,GAAuD,IAA1C,CAAC,MAAO,UAAUvsK,QAAQmqI,GACvCk8B,EAAOkG,EAAa,QAAU,SAC9BwB,EAASxB,EAAa,OAAS,MAC/BpkJ,EAAcokJ,EAAa,QAAU,SASzC,OAPIr9B,EAAOm3B,GAAQ78L,EAAMsa,EAAUiqL,MACjC99L,EAAKs+J,QAAQW,OAAO6+B,GAAUvkM,EAAMsa,EAAUiqL,IAAW7+B,EAAO/mH,IAE9D+mH,EAAO6+B,GAAUvkM,EAAMsa,EAAUuiL,MACnCp2L,EAAKs+J,QAAQW,OAAO6+B,GAAUvkM,EAAMsa,EAAUuiL,KAGzCp2L,CACT,CAcA,SAAS+xG,GAAQ2zC,EAAKxtG,EAAayhJ,EAAeF,GAEhD,IAAItiH,EAAQuuE,EAAIv8I,MAAM,6BAClBnI,GAASm2E,EAAM,GACfg+F,EAAOh+F,EAAM,GAGjB,IAAKn2E,EACH,OAAO0kJ,EAGT,GAA0B,IAAtByvB,EAAKplJ,QAAQ,KAAY,CAC3B,IAAIq7H,OAAU,EACd,OAAQ+pB,GACN,IAAK,KACH/pB,EAAUuuC,EACV,MACF,IAAK,IACL,IAAK,KACL,QACEvuC,EAAUquC,EAGd,IAAIjmC,EAAO2jC,EAAc/rC,GACzB,OAAOoI,EAAKt7G,GAAe,IAAMl3C,CACnC,CAAO,GAAa,OAATm0K,GAA0B,OAATA,EAAe,CAEzC,IAAI5uK,OAAO,EAMX,OAJEA,EADW,OAAT4uK,EACKh8K,KAAKwQ,IAAIk9E,SAAS+qE,gBAAgBC,aAAc74G,OAAOuxE,aAAe,GAEtEpxH,KAAKwQ,IAAIk9E,SAAS+qE,gBAAgB4C,YAAax7G,OAAOwxE,YAAc,GAEtEjkH,EAAO,IAAMvF,CACtB,CAGE,OAAOA,CAEX,CAaA,SAAS4+L,GAAYzlC,EAAQw/B,EAAeF,EAAkBoG,GAC5D,IAAIvhC,EAAU,CAAC,EAAG,GAKdwhC,GAA0D,IAA9C,CAAC,QAAS,QAAQ/vK,QAAQ8vK,GAItCE,EAAY5lC,EAAOhjF,MAAM,WAAW72E,KAAI,SAAU0/L,GACpD,OAAOA,EAAK/2D,MACd,IAIIg3D,EAAUF,EAAUhwK,QAAQ07E,EAAKs0F,GAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAK70K,OAAO,OACrB,KAEI40K,EAAUE,KAAiD,IAArCF,EAAUE,GAASlwK,QAAQ,MACnD5L,QAAQwtH,KAAK,gFAKf,IAAIuuD,EAAa,cACbC,GAAmB,IAAbF,EAAiB,CAACF,EAAUrxJ,MAAM,EAAGuxJ,GAASz0L,OAAO,CAACu0L,EAAUE,GAAS9oH,MAAM+oH,GAAY,KAAM,CAACH,EAAUE,GAAS9oH,MAAM+oH,GAAY,IAAI10L,OAAOu0L,EAAUrxJ,MAAMuxJ,EAAU,KAAO,CAACF,GAqC9L,OAlCAI,EAAMA,EAAI7/L,KAAI,SAAU8/L,EAAIx+I,GAE1B,IAAI1J,GAAyB,IAAV0J,GAAek+I,EAAYA,GAAa,SAAW,QAClEO,GAAoB,EACxB,OAAOD,EAGNp0F,QAAO,SAAU1/F,EAAGm3B,GACnB,MAAwB,KAApBn3B,EAAEA,EAAEuK,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKkZ,QAAQ0T,IAC/Cn3B,EAAEA,EAAEuK,OAAS,GAAK4sB,EAClB48J,GAAoB,EACb/zL,GACE+zL,GACT/zL,EAAEA,EAAEuK,OAAS,IAAM4sB,EACnB48J,GAAoB,EACb/zL,GAEAA,EAAEd,OAAOi4B,EAEpB,GAAG,IAEFnjC,KAAI,SAAUolJ,GACb,OAAO3zC,GAAQ2zC,EAAKxtG,EAAayhJ,EAAeF,EAClD,GACF,IAGA0G,EAAI1qH,SAAQ,SAAU2qH,EAAIx+I,GACxBw+I,EAAG3qH,SAAQ,SAAUuqH,EAAMM,GACrBvN,GAAUiN,KACZ1hC,EAAQ18G,IAAUo+I,GAA2B,MAAnBI,EAAGE,EAAS,IAAc,EAAI,GAE5D,GACF,IACOhiC,CACT,CAWA,SAASnE,GAAOn6J,EAAMyV,GACpB,IAAI0kJ,EAAS1kJ,EAAK0kJ,OACdD,EAAYl6J,EAAKk6J,UACjBgiC,EAAgBl8L,EAAKs+J,QACrBW,EAASi9B,EAAcj9B,OACvBprJ,EAAYqoL,EAAcroL,UAE1BgsL,EAAgB3lC,EAAU/iF,MAAM,KAAK,GAErCmnF,OAAU,EAsBd,OApBEA,EADEy0B,IAAW54B,GACH,EAAEA,EAAQ,GAEVylC,GAAYzlC,EAAQ8E,EAAQprJ,EAAWgsL,GAG7B,SAAlBA,GACF5gC,EAAO70C,KAAOk0C,EAAQ,GACtBW,EAAO54J,MAAQi4J,EAAQ,IACI,UAAlBuhC,GACT5gC,EAAO70C,KAAOk0C,EAAQ,GACtBW,EAAO54J,MAAQi4J,EAAQ,IACI,QAAlBuhC,GACT5gC,EAAO54J,MAAQi4J,EAAQ,GACvBW,EAAO70C,KAAOk0C,EAAQ,IACK,WAAlBuhC,IACT5gC,EAAO54J,MAAQi4J,EAAQ,GACvBW,EAAO70C,KAAOk0C,EAAQ,IAGxBt+J,EAAKi/J,OAASA,EACPj/J,CACT,CASA,SAASg+J,GAAgBh+J,EAAMkrF,GAC7B,IAAI+yE,EAAoB/yE,EAAQ+yE,mBAAqBm3B,EAAgBp1L,EAAK+1G,SAASkpD,QAK/Ej/J,EAAK+1G,SAASliG,YAAcoqJ,IAC9BA,EAAoBm3B,EAAgBn3B,IAMtC,IAAIsiC,EAAgB7F,EAAyB,aACzC8F,EAAexgM,EAAK+1G,SAASkpD,OAAOx2C,MACpC2B,EAAMo2E,EAAap2E,IACnB/jH,EAAOm6L,EAAan6L,KACpB85I,EAAYqgD,EAAaD,GAE7BC,EAAap2E,IAAM,GACnBo2E,EAAan6L,KAAO,GACpBm6L,EAAaD,GAAiB,GAE9B,IAAIlI,EAAaD,EAAcp4L,EAAK+1G,SAASkpD,OAAQj/J,EAAK+1G,SAASliG,UAAWq3E,EAAQgpE,QAAS+J,EAAmBj+J,EAAKs6L,eAIvHkG,EAAap2E,IAAMA,EACnBo2E,EAAan6L,KAAOA,EACpBm6L,EAAaD,GAAiBpgD,EAE9Bj1D,EAAQmtG,WAAaA,EAErB,IAAItV,EAAQ73F,EAAQt2C,SAChBqqH,EAASj/J,EAAKs+J,QAAQW,OAEtByK,EAAQ,CACV4I,QAAS,SAAiBpY,GACxB,IAAIl5J,EAAQi+J,EAAO/E,GAInB,OAHI+E,EAAO/E,GAAam+B,EAAWn+B,KAAehvE,EAAQu1G,sBACxDz/L,EAAQ7H,KAAKwQ,IAAIs1J,EAAO/E,GAAYm+B,EAAWn+B,KAE1Cz1C,EAAe,CAAC,EAAGy1C,EAAWl5J,EACvC,EACA0/L,UAAW,SAAmBxmC,GAC5B,IAAI2/B,EAAyB,UAAd3/B,EAAwB,OAAS,MAC5Cl5J,EAAQi+J,EAAO46B,GAInB,OAHI56B,EAAO/E,GAAam+B,EAAWn+B,KAAehvE,EAAQu1G,sBACxDz/L,EAAQ7H,KAAKK,IAAIylK,EAAO46B,GAAWxB,EAAWn+B,IAA4B,UAAdA,EAAwB+E,EAAO1K,MAAQ0K,EAAO4gB,UAErGp7D,EAAe,CAAC,EAAGo1E,EAAU74L,EACtC,GAUF,OAPA+hL,EAAMttG,SAAQ,SAAUykF,GACtB,IAAIk8B,GAA+C,IAAxC,CAAC,OAAQ,OAAOrmK,QAAQmqI,GAAoB,UAAY,YACnE+E,EAASnV,EAAS,CAAC,EAAGmV,EAAQyK,EAAM0sB,GAAMl8B,GAC5C,IAEAl6J,EAAKs+J,QAAQW,OAASA,EAEfj/J,CACT,CASA,SAASq3E,GAAMr3E,GACb,IAAIk6J,EAAYl6J,EAAKk6J,UACjB2lC,EAAgB3lC,EAAU/iF,MAAM,KAAK,GACrCwpH,EAAiBzmC,EAAU/iF,MAAM,KAAK,GAG1C,GAAIwpH,EAAgB,CAClB,IAAIzE,EAAgBl8L,EAAKs+J,QACrBzqJ,EAAYqoL,EAAcroL,UAC1BorJ,EAASi9B,EAAcj9B,OAEvBq9B,GAA2D,IAA9C,CAAC,SAAU,OAAOvsK,QAAQ8vK,GACvCzJ,EAAOkG,EAAa,OAAS,MAC7BpkJ,EAAcokJ,EAAa,QAAU,SAErCsE,EAAe,CACjBxxL,MAAOq1G,EAAe,CAAC,EAAG2xE,EAAMviL,EAAUuiL,IAC1C/mL,IAAKo1G,EAAe,CAAC,EAAG2xE,EAAMviL,EAAUuiL,GAAQviL,EAAUqkC,GAAe+mH,EAAO/mH,KAGlFl4C,EAAKs+J,QAAQW,OAASnV,EAAS,CAAC,EAAGmV,EAAQ2hC,EAAaD,GAC1D,CAEA,OAAO3gM,CACT,CASA,SAASksJ,GAAKlsJ,GACZ,IAAKq9L,GAAmBr9L,EAAK+1G,SAAS8D,UAAW,OAAQ,mBACvD,OAAO75G,EAGT,IAAI24L,EAAU34L,EAAKs+J,QAAQzqJ,UACvBgtL,EAAQp1F,EAAKzrG,EAAK+1G,SAAS8D,WAAW,SAAU28E,GAClD,MAAyB,oBAAlBA,EAASp8L,IAClB,IAAGi+L,WAEH,GAAIM,EAAQtuE,OAASw2E,EAAMz2E,KAAOuuE,EAAQtyL,KAAOw6L,EAAMv6L,OAASqyL,EAAQvuE,IAAMy2E,EAAMx2E,QAAUsuE,EAAQryL,MAAQu6L,EAAMx6L,KAAM,CAExH,IAAkB,IAAdrG,EAAKksJ,KACP,OAAOlsJ,EAGTA,EAAKksJ,MAAO,EACZlsJ,EAAK89I,WAAW,uBAAyB,EAC3C,KAAO,CAEL,IAAkB,IAAd99I,EAAKksJ,KACP,OAAOlsJ,EAGTA,EAAKksJ,MAAO,EACZlsJ,EAAK89I,WAAW,wBAAyB,CAC3C,CAEA,OAAO99I,CACT,CASA,SAAS8gM,GAAM9gM,GACb,IAAIk6J,EAAYl6J,EAAKk6J,UACjB2lC,EAAgB3lC,EAAU/iF,MAAM,KAAK,GACrC+kH,EAAgBl8L,EAAKs+J,QACrBW,EAASi9B,EAAcj9B,OACvBprJ,EAAYqoL,EAAcroL,UAE1B+lL,GAAwD,IAA9C,CAAC,OAAQ,SAAS7pK,QAAQ8vK,GAEpCkB,GAA6D,IAA5C,CAAC,MAAO,QAAQhxK,QAAQ8vK,GAO7C,OALA5gC,EAAO26B,EAAU,OAAS,OAAS/lL,EAAUgsL,IAAkBkB,EAAiB9hC,EAAO26B,EAAU,QAAU,UAAY,GAEvH55L,EAAKk6J,UAAYq/B,EAAqBr/B,GACtCl6J,EAAKs+J,QAAQW,OAASk4B,EAAcl4B,GAE7Bj/J,CACT,CAuBA,IAAI65G,GAAY,CASdxiC,MAAO,CAEL0rG,MAAO,IAEP96I,SAAS,EAETvzB,GAAI2iE,IAyCN8iF,OAAQ,CAEN4oB,MAAO,IAEP96I,SAAS,EAETvzB,GAAIylJ,GAIJA,OAAQ,GAoBV6D,gBAAiB,CAEf+kB,MAAO,IAEP96I,SAAS,EAETvzB,GAAIspJ,GAMJppH,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnCs/G,QAAS,EAMT+J,kBAAmB,gBAYrB0hC,aAAc,CAEZ5c,MAAO,IAEP96I,SAAS,EAETvzB,GAAIirL,IAaN5hC,MAAO,CAELglB,MAAO,IAEP96I,SAAS,EAETvzB,GAAIqpJ,GAEJ3S,QAAS,aAcXyS,KAAM,CAEJklB,MAAO,IAEP96I,SAAS,EAETvzB,GAAImpJ,GAOJC,SAAU,OAKV5J,QAAS,EAOT+J,kBAAmB,WAQnBshC,gBAAgB,EAQhBE,yBAAyB,GAU3BqB,MAAO,CAEL/d,MAAO,IAEP96I,SAAS,EAETvzB,GAAIosL,IAaN50C,KAAM,CAEJ62B,MAAO,IAEP96I,SAAS,EAETvzB,GAAIw3I,IAkBN2wC,aAAc,CAEZ9Z,MAAO,IAEP96I,SAAS,EAETvzB,GAAImoL,GAMJE,iBAAiB,EAMjBxxF,EAAG,SAMH+tF,EAAG,SAkBLsC,WAAY,CAEV7Y,MAAO,IAEP96I,SAAS,EAETvzB,GAAIknL,GAEJoF,OAAQlF,GAORiB,qBAAiBn8L,IAuCjBqgM,GAAW,CAKb/mC,UAAW,SAMXogC,eAAe,EAMfiB,eAAe,EAOfR,iBAAiB,EAQjB78B,SAAU,WAAqB,EAU/BG,SAAU,WAAqB,EAO/BxkD,UAAWA,IAeTq8C,GAAS,WASX,SAASA,EAAOriJ,EAAWorJ,GACzB,IAAIt8J,EAAQ3H,KAERkwF,EAAUt0E,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFogL,EAAeh8L,KAAMk7J,GAErBl7J,KAAKuiK,eAAiB,WACpB,OAAOrnB,sBAAsBvzI,EAAM+2B,OACrC,EAGA1+B,KAAK0+B,OAAS86J,EAASx5L,KAAK0+B,OAAO7f,KAAK7e,OAGxCA,KAAKkwF,QAAU4+D,EAAS,CAAC,EAAGoM,EAAO+qC,SAAU/1G,GAG7ClwF,KAAKuZ,MAAQ,CACX4lL,aAAa,EACbI,WAAW,EACXU,cAAe,IAIjBjgM,KAAK6Y,UAAYA,GAAaA,EAAUs6I,OAASt6I,EAAU,GAAKA,EAChE7Y,KAAKikK,OAASA,GAAUA,EAAO9Q,OAAS8Q,EAAO,GAAKA,EAGpDjkK,KAAKkwF,QAAQ2uB,UAAY,CAAC,EAC1BhvF,OAAO8lC,KAAKm5F,EAAS,CAAC,EAAGoM,EAAO+qC,SAASpnF,UAAW3uB,EAAQ2uB,YAAYpkC,SAAQ,SAAUr7E,GACxFuI,EAAMuoF,QAAQ2uB,UAAUz/G,GAAQ0vJ,EAAS,CAAC,EAAGoM,EAAO+qC,SAASpnF,UAAUz/G,IAAS,CAAC,EAAG8wF,EAAQ2uB,UAAY3uB,EAAQ2uB,UAAUz/G,GAAQ,CAAC,EACrI,IAGAY,KAAK6+G,UAAYhvF,OAAO8lC,KAAK31D,KAAKkwF,QAAQ2uB,WAAWv5G,KAAI,SAAUlG,GACjE,OAAO0vJ,EAAS,CACd1vJ,KAAMA,GACLuI,EAAMuoF,QAAQ2uB,UAAUz/G,GAC7B,IAEC2tB,MAAK,SAAUzb,EAAGm3B,GACjB,OAAOn3B,EAAEy2K,MAAQt/I,EAAEs/I,KACrB,IAMA/nL,KAAK6+G,UAAUpkC,SAAQ,SAAUsmH,GAC3BA,EAAgB9zJ,SAAWirD,EAAW6oG,EAAgBiF,SACxDjF,EAAgBiF,OAAOr+L,EAAMkR,UAAWlR,EAAMs8J,OAAQt8J,EAAMuoF,QAAS6wG,EAAiBp5L,EAAM4R,MAEhG,IAGAvZ,KAAK0+B,SAEL,IAAI6hK,EAAgBvgM,KAAKkwF,QAAQqwG,cAC7BA,GAEFvgM,KAAKwgM,uBAGPxgM,KAAKuZ,MAAMgnL,cAAgBA,CAC7B,CAoDA,OA9CAtE,EAAY/gC,EAAQ,CAAC,CACnB71J,IAAK,SACLW,MAAO,WACL,OAAO04B,EAAO3+B,KAAKC,KACrB,GACC,CACDqF,IAAK,UACLW,MAAO,WACL,OAAOs7J,EAAQvhK,KAAKC,KACtB,GACC,CACDqF,IAAK,uBACLW,MAAO,WACL,OAAOw6L,EAAqBzgM,KAAKC,KACnC,GACC,CACDqF,IAAK,wBACLW,MAAO,WACL,OAAO85L,GAAsB//L,KAAKC,KACpC,KA2BKk7J,CACT,CA9Ha,GAqJbA,GAAOgrC,OAA2B,qBAAXloJ,OAAyBA,OAAS,EAAAvgC,GAAQ0oL,YACjEjrC,GAAOmoC,WAAaA,GACpBnoC,GAAO+qC,SAAWA,GAElB,SAAe,+BAAM,KAAN,E,+BCrjFf,IAAIG,EAAa,EAAQ,OACrBC,EAAc,EAAQ,OAEtBC,EAAa9rG,UAGjB4zD,EAAOC,QAAU,SAAUye,GACzB,GAAIs5B,EAAWt5B,GAAW,OAAOA,EACjC,MAAM,IAAIw5B,EAAWD,EAAYv5B,GAAY,qBAC/C,C,+BCTA,IAAIy5B,EAAsB,EAAQ,OAE9BC,EAAU39J,OACVy9J,EAAa9rG,UAEjB4zD,EAAOC,QAAU,SAAUye,GACzB,GAAIy5B,EAAoBz5B,GAAW,OAAOA,EAC1C,MAAM,IAAIw5B,EAAW,aAAeE,EAAQ15B,GAAY,kBAC1D,C,+BCRA,IAAIphE,EAAM,aAGV0iD,EAAOC,QAAU,SAAUo4C,GAEzB,OADA/6F,EAAI+6F,GACGA,CACT,C,+BCNA,IAAIC,EAAgB,EAAQ,MAExBJ,EAAa9rG,UAEjB4zD,EAAOC,QAAU,SAAUo4C,EAAIv6G,GAC7B,GAAIw6G,EAAcx6G,EAAWu6G,GAAK,OAAOA,EACzC,MAAM,IAAIH,EAAW,uBACvB,C,8BCPA,IAAInuG,EAAW,EAAQ,OAEnBquG,EAAU39J,OACVy9J,EAAa9rG,UAGjB4zD,EAAOC,QAAU,SAAUye,GACzB,GAAI30E,EAAS20E,GAAW,OAAOA,EAC/B,MAAM,IAAIw5B,EAAWE,EAAQ15B,GAAY,oBAC3C,C,+BCTA,IAAI65B,EAAkB,EAAQ,OAC1BC,EAAkB,EAAQ,OAC1BC,EAAoB,EAAQ,OAG5BC,EAAe,SAAUC,GAC3B,OAAO,SAAU9rC,EAAO77C,EAAI4nF,GAC1B,IAAIC,EAAIN,EAAgB1rC,GACpBp/I,EAASgrL,EAAkBI,GAC/B,GAAe,IAAXprL,EAAc,OAAQkrL,IAAgB,EAC1C,IACI/gM,EADA4gD,EAAQggJ,EAAgBI,EAAWnrL,GAIvC,GAAIkrL,GAAe3nF,IAAOA,GAAI,MAAOvjG,EAAS+qC,EAG5C,GAFA5gD,EAAQihM,EAAErgJ,KAEN5gD,IAAUA,EAAO,OAAO,OAEvB,KAAM6V,EAAS+qC,EAAOA,IAC3B,IAAKmgJ,GAAengJ,KAASqgJ,IAAMA,EAAErgJ,KAAWw4D,EAAI,OAAO2nF,GAAengJ,GAAS,EACnF,OAAQmgJ,IAAgB,CAC5B,CACF,EAEA34C,EAAOC,QAAU,CAGf1kD,SAAUm9F,GAAa,GAGvB/xK,QAAS+xK,GAAa,G,+BC/BxB,IAAII,EAAc,EAAQ,OACtBvyI,EAAU,EAAQ,OAElB2xI,EAAa9rG,UAEb2sG,EAA2Bt3K,OAAOs3K,yBAGlCC,EAAoCF,IAAgB,WAEtD,QAAathM,IAAT5F,KAAoB,OAAO,EAC/B,IAEE6vB,OAAO45F,eAAe,GAAI,SAAU,CAAE9vB,UAAU,IAAS99E,OAAS,CACpE,CAAE,MAAO7c,GACP,OAAOA,aAAiBw7F,SAC1B,CACF,CATwD,GAWxD4zD,EAAOC,QAAU+4C,EAAoC,SAAUH,EAAGprL,GAChE,GAAI84C,EAAQsyI,KAAOE,EAAyBF,EAAG,UAAUttG,SACvD,MAAM,IAAI2sG,EAAW,gCACrB,OAAOW,EAAEprL,OAASA,CACtB,EAAI,SAAUorL,EAAGprL,GACf,OAAOorL,EAAEprL,OAASA,CACpB,C,+BCzBA,IAAIwrL,EAAc,EAAQ,OAEtB94L,EAAW84L,EAAY,CAAC,EAAE94L,UAC1B+4L,EAAcD,EAAY,GAAG3zJ,OAEjC06G,EAAOC,QAAU,SAAUo4C,GACzB,OAAOa,EAAY/4L,EAASk4L,GAAK,GAAI,EACvC,C,+BCPA,IAAIc,EAAwB,EAAQ,OAChCnB,EAAa,EAAQ,OACrBoB,EAAa,EAAQ,OACrBC,EAAkB,EAAQ,MAE1BC,EAAgBD,EAAgB,eAChCE,EAAU93K,OAGV+3K,EAAwE,cAApDJ,EAAW,WAAc,OAAO5rL,SAAW,CAAhC,IAG/BisL,EAAS,SAAUpB,EAAIphM,GACzB,IACE,OAAOohM,EAAGphM,EACZ,CAAE,MAAOrG,GAAqB,CAChC,EAGAovJ,EAAOC,QAAUk5C,EAAwBC,EAAa,SAAUf,GAC9D,IAAIQ,EAAGjvD,EAAKjvI,EACZ,YAAcnD,IAAP6gM,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDzuD,EAAM6vD,EAAOZ,EAAIU,EAAQlB,GAAKiB,IAA8B1vD,EAEpE4vD,EAAoBJ,EAAWP,GAEF,YAA5Bl+L,EAASy+L,EAAWP,KAAoBb,EAAWa,EAAEa,QAAU,YAAc/+L,CACpF,C,+BC5BA,IAAIiiJ,EAAS,EAAQ,OACjBt3C,EAAU,EAAQ,OAClBq0F,EAAiC,EAAQ,MACzCC,EAAuB,EAAQ,OAEnC55C,EAAOC,QAAU,SAAUn+I,EAAQqP,EAAQhT,GAIzC,IAHA,IAAIopD,EAAO+9C,EAAQn0F,GACfkqG,EAAiBu+E,EAAqB/wK,EACtCkwK,EAA2BY,EAA+B9wK,EACrDvxB,EAAI,EAAGA,EAAIiwD,EAAK95C,OAAQnW,IAAK,CACpC,IAAIL,EAAMswD,EAAKjwD,GACVslJ,EAAO96I,EAAQ7K,IAAUkH,GAAcy+I,EAAOz+I,EAAYlH,IAC7DokH,EAAev5G,EAAQ7K,EAAK8hM,EAAyB5nL,EAAQla,GAEjE,CACF,C,+BCfA,IAAI6hM,EAAc,EAAQ,OACtBc,EAAuB,EAAQ,OAC/BC,EAA2B,EAAQ,OAEvC75C,EAAOC,QAAU64C,EAAc,SAAU32K,EAAQlrB,EAAKW,GACpD,OAAOgiM,EAAqB/wK,EAAE1G,EAAQlrB,EAAK4iM,EAAyB,EAAGjiM,GACzE,EAAI,SAAUuqB,EAAQlrB,EAAKW,GAEzB,OADAuqB,EAAOlrB,GAAOW,EACPuqB,CACT,C,yBCTA69H,EAAOC,QAAU,SAAU65C,EAAQliM,GACjC,MAAO,CACL8zF,aAAuB,EAATouG,GACd3pG,eAAyB,EAAT2pG,GAChBvuG,WAAqB,EAATuuG,GACZliM,MAAOA,EAEX,C,+BCPA,IAAImiM,EAAc,EAAQ,OACtB1+E,EAAiB,EAAQ,OAE7B2kC,EAAOC,QAAU,SAAUn+I,EAAQ9Q,EAAMgpG,GAGvC,OAFIA,EAAWnsF,KAAKksL,EAAY//F,EAAWnsF,IAAK7c,EAAM,CAAEge,QAAQ,IAC5DgrF,EAAW5wF,KAAK2wL,EAAY//F,EAAW5wF,IAAKpY,EAAM,CAAEusC,QAAQ,IACzD89E,EAAexyF,EAAE/mB,EAAQ9Q,EAAMgpG,EACxC,C,+BCPA,IAAIg+F,EAAa,EAAQ,OACrB4B,EAAuB,EAAQ,OAC/BG,EAAc,EAAQ,OACtBC,EAAuB,EAAQ,OAEnCh6C,EAAOC,QAAU,SAAU44C,EAAG5hM,EAAKW,EAAOkqF,GACnCA,IAASA,EAAU,CAAC,GACzB,IAAI2+E,EAAS3+E,EAAQ4J,WACjB16F,OAAwBwG,IAAjBsqF,EAAQ9wF,KAAqB8wF,EAAQ9wF,KAAOiG,EAEvD,GADI+gM,EAAWpgM,IAAQmiM,EAAYniM,EAAO5G,EAAM8wF,GAC5CA,EAAQzkE,OACNojJ,EAAQo4B,EAAE5hM,GAAOW,EAChBoiM,EAAqB/iM,EAAKW,OAC1B,CACL,IACOkqF,EAAQm4G,OACJpB,EAAE5hM,KAAMwpK,GAAS,UADEo4B,EAAE5hM,EAEhC,CAAE,MAAOrG,GAAqB,CAC1B6vK,EAAQo4B,EAAE5hM,GAAOW,EAChBgiM,EAAqB/wK,EAAEgwK,EAAG5hM,EAAK,CAClCW,MAAOA,EACP8zF,YAAY,EACZyE,cAAerO,EAAQo4G,gBACvB3uG,UAAWzJ,EAAQq4G,aAEvB,CAAE,OAAOtB,CACX,C,+BC1BA,IAAI9qG,EAAa,EAAQ,OAGrBstB,EAAiB55F,OAAO45F,eAE5B2kC,EAAOC,QAAU,SAAUhpJ,EAAKW,GAC9B,IACEyjH,EAAettB,EAAY92F,EAAK,CAAEW,MAAOA,EAAOu4F,cAAc,EAAM5E,UAAU,GAChF,CAAE,MAAO36F,GACPm9F,EAAW92F,GAAOW,CACpB,CAAE,OAAOA,CACX,C,+BCXA,IAAIwiM,EAAQ,EAAQ,MAGpBp6C,EAAOC,SAAWm6C,GAAM,WAEtB,OAA+E,IAAxE34K,OAAO45F,eAAe,CAAC,EAAG,EAAG,CAAExtG,IAAK,WAAc,OAAO,CAAG,IAAK,EAC1E,G,+BCNA,IAAIkgF,EAAa,EAAQ,OACrBhE,EAAW,EAAQ,OAEnBtM,EAAWsQ,EAAWtQ,SAEtB48G,EAAStwG,EAAStM,IAAasM,EAAStM,EAAS56E,eAErDm9I,EAAOC,QAAU,SAAUo4C,GACzB,OAAOgC,EAAS58G,EAAS56E,cAAcw1L,GAAM,CAAC,CAChD,C,yBCTA,IAAIH,EAAa9rG,UACbkuG,EAAmB,iBAEvBt6C,EAAOC,QAAU,SAAUo4C,GACzB,GAAIA,EAAKiC,EAAkB,MAAMpC,EAAW,kCAC5C,OAAOG,CACT,C,yBCNAr4C,EAAOC,QAAU,CACfs6C,eAAgB,CAAElhM,EAAG,iBAAkBsT,EAAG,EAAGuoG,EAAG,GAChDslF,mBAAoB,CAAEnhM,EAAG,qBAAsBsT,EAAG,EAAGuoG,EAAG,GACxDulF,sBAAuB,CAAEphM,EAAG,wBAAyBsT,EAAG,EAAGuoG,EAAG,GAC9DwlF,mBAAoB,CAAErhM,EAAG,qBAAsBsT,EAAG,EAAGuoG,EAAG,GACxDylF,sBAAuB,CAAEthM,EAAG,wBAAyBsT,EAAG,EAAGuoG,EAAG,GAC9D0lF,mBAAoB,CAAEvhM,EAAG,sBAAuBsT,EAAG,EAAGuoG,EAAG,GACzD2lF,2BAA4B,CAAExhM,EAAG,8BAA+BsT,EAAG,EAAGuoG,EAAG,GACzE4lF,cAAe,CAAEzhM,EAAG,gBAAiBsT,EAAG,EAAGuoG,EAAG,GAC9C6lF,kBAAmB,CAAE1hM,EAAG,oBAAqBsT,EAAG,EAAGuoG,EAAG,GACtD8lF,oBAAqB,CAAE3hM,EAAG,sBAAuBsT,EAAG,GAAIuoG,EAAG,GAC3D+lF,kBAAmB,CAAE5hM,EAAG,oBAAqBsT,EAAG,GAAIuoG,EAAG,GACvDgmF,YAAa,CAAE7hM,EAAG,aAAcsT,EAAG,GAAIuoG,EAAG,GAC1CimF,yBAA0B,CAAE9hM,EAAG,2BAA4BsT,EAAG,GAAIuoG,EAAG,GACrEkmF,eAAgB,CAAE/hM,EAAG,gBAAiBsT,EAAG,GAAIuoG,EAAG,GAChDmmF,mBAAoB,CAAEhiM,EAAG,qBAAsBsT,EAAG,GAAIuoG,EAAG,GACzDomF,gBAAiB,CAAEjiM,EAAG,iBAAkBsT,EAAG,GAAIuoG,EAAG,GAClDqmF,kBAAmB,CAAEliM,EAAG,oBAAqBsT,EAAG,GAAIuoG,EAAG,GACvDsmF,cAAe,CAAEniM,EAAG,eAAgBsT,EAAG,GAAIuoG,EAAG,GAC9CumF,aAAc,CAAEpiM,EAAG,cAAesT,EAAG,GAAIuoG,EAAG,GAC5CwmF,WAAY,CAAEriM,EAAG,YAAasT,EAAG,GAAIuoG,EAAG,GACxCymF,iBAAkB,CAAEtiM,EAAG,mBAAoBsT,EAAG,GAAIuoG,EAAG,GACrD0mF,mBAAoB,CAAEviM,EAAG,qBAAsBsT,EAAG,GAAIuoG,EAAG,GACzD2mF,aAAc,CAAExiM,EAAG,cAAesT,EAAG,GAAIuoG,EAAG,GAC5C4mF,qBAAsB,CAAEziM,EAAG,wBAAyBsT,EAAG,GAAIuoG,EAAG,GAC9D6mF,eAAgB,CAAE1iM,EAAG,iBAAkBsT,EAAG,GAAIuoG,EAAG,G,yBCxBnD8qC,EAAOC,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,U,+BCRF,IAAIlyD,EAAa,EAAQ,OAErB2L,EAAY3L,EAAW2L,UACvBtlG,EAAYslG,GAAaA,EAAUtlG,UAEvC4rJ,EAAOC,QAAU7rJ,EAAYqmC,OAAOrmC,GAAa,E,+BCLjD,IAOI2L,EAAO8U,EAPPk5E,EAAa,EAAQ,OACrB35F,EAAY,EAAQ,OAEpBwxF,EAAUmI,EAAWnI,QACrBo2G,EAAOjuG,EAAWiuG,KAClBxqG,EAAW5L,GAAWA,EAAQ4L,UAAYwqG,GAAQA,EAAKnnL,QACvDonL,EAAKzqG,GAAYA,EAASyqG,GAG1BA,IACFl8L,EAAQk8L,EAAGluH,MAAM,KAGjBl5D,EAAU9U,EAAM,GAAK,GAAKA,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7D8U,GAAWzgB,IACd2L,EAAQ3L,EAAU2L,MAAM,iBACnBA,GAASA,EAAM,IAAM,MACxBA,EAAQ3L,EAAU2L,MAAM,iBACpBA,IAAO8U,GAAW9U,EAAM,MAIhCigJ,EAAOC,QAAUprI,C,+BC1BjB,IAAIokL,EAAc,EAAQ,OAEtBiD,EAAShwG,MACTtnF,EAAUq0L,EAAY,GAAGr0L,SAEzBu3L,EAAO,SAAW93K,GAAO,OAAOoW,OAAO,IAAIyhK,EAAO73K,GAAKzoB,MAAS,CAAzD,CAA2D,UAElEwgM,EAA2B,uBAC3BC,EAAwBD,EAAyBt/L,KAAKq/L,GAE1Dn8C,EAAOC,QAAU,SAAUrkJ,EAAO0gM,GAChC,GAAID,GAAyC,iBAATzgM,IAAsBsgM,EAAOK,kBAC/D,MAAOD,IAAe1gM,EAAQgJ,EAAQhJ,EAAOwgM,EAA0B,IACvE,OAAOxgM,CACX,C,8BCdA,IAAImyF,EAAa,EAAQ,OACrBgrG,EAA2B,UAC3ByD,EAA8B,EAAQ,OACtCC,EAAgB,EAAQ,OACxBzC,EAAuB,EAAQ,OAC/B0C,EAA4B,EAAQ,OACpCC,EAAW,EAAQ,OAiBvB38C,EAAOC,QAAU,SAAUn+D,EAAS3wE,GAClC,IAGIyrL,EAAQ96L,EAAQ7K,EAAK4lM,EAAgBC,EAAgB9iG,EAHrD+iG,EAASj7G,EAAQhgF,OACjBk7L,EAASl7G,EAAQzkE,OACjB4/K,EAASn7G,EAAQo7G,KASrB,GANEp7L,EADEk7L,EACOjvG,EACAkvG,EACAlvG,EAAWgvG,IAAW/C,EAAqB+C,EAAQ,CAAC,GAEpDhvG,EAAWgvG,IAAWhvG,EAAWgvG,GAAQn+L,UAEhDkD,EAAQ,IAAK7K,KAAOka,EAAQ,CAQ9B,GAPA2rL,EAAiB3rL,EAAOla,GACpB6qF,EAAQq7G,gBACVnjG,EAAa++F,EAAyBj3L,EAAQ7K,GAC9C4lM,EAAiB7iG,GAAcA,EAAWpiG,OACrCilM,EAAiB/6L,EAAO7K,GAC/B2lM,EAASD,EAASK,EAAS/lM,EAAM8lM,GAAUE,EAAS,IAAM,KAAOhmM,EAAK6qF,EAAQs7G,SAEzER,QAA6BplM,IAAnBqlM,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDH,EAA0BI,EAAgBD,EAC5C,EAEI/6G,EAAQu7G,MAASR,GAAkBA,EAAeQ,OACpDb,EAA4BM,EAAgB,QAAQ,GAEtDL,EAAc36L,EAAQ7K,EAAK6lM,EAAgBh7G,EAC7C,CACF,C,wBCrDAk+D,EAAOC,QAAU,SAAUniJ,GACzB,IACE,QAASA,GACX,CAAE,MAAOlN,GACP,OAAO,CACT,CACF,C,+BCNA,IAAIwpM,EAAQ,EAAQ,MAEpBp6C,EAAOC,SAAWm6C,GAAM,WAEtB,IAAIt9L,EAAO,WAA4B,EAAE2T,OAEzC,MAAsB,mBAAR3T,GAAsBA,EAAK0tF,eAAe,YAC1D,G,+BCPA,IAAI8yG,EAAc,EAAQ,OAEtB3rM,EAAO2tF,SAAS1gF,UAAUjN,KAE9BquJ,EAAOC,QAAUq9C,EAAc3rM,EAAK8e,KAAK9e,GAAQ,WAC/C,OAAOA,EAAK8sE,MAAM9sE,EAAM6b,UAC1B,C,+BCNA,IAAIsrL,EAAc,EAAQ,OACtBl8C,EAAS,EAAQ,OAEjB2gD,EAAoBj+G,SAAS1gF,UAE7B4+L,EAAgB1E,GAAer3K,OAAOs3K,yBAEtCsB,EAASz9C,EAAO2gD,EAAmB,QAEnCE,EAASpD,GAA0D,cAAhD,WAAqC,EAAErpM,KAC1D0sM,EAAerD,KAAYvB,GAAgBA,GAAe0E,EAAcD,EAAmB,QAAQptG,cAEvG6vD,EAAOC,QAAU,CACfo6C,OAAQA,EACRoD,OAAQA,EACRC,aAAcA,E,+BCfhB,IAAIzE,EAAc,EAAQ,OACtB0E,EAAY,EAAQ,OAExB39C,EAAOC,QAAU,SAAU99H,EAAQlrB,EAAK4I,GACtC,IAEE,OAAOo5L,EAAY0E,EAAUl8K,OAAOs3K,yBAAyB52K,EAAQlrB,GAAK4I,IAC5E,CAAE,MAAOjP,GAAqB,CAChC,C,+BCRA,IAAI0sM,EAAc,EAAQ,OAEtBC,EAAoBj+G,SAAS1gF,UAC7BjN,EAAO4rM,EAAkB5rM,KACzBisM,EAAsBN,GAAeC,EAAkB9sL,KAAKA,KAAK9e,EAAMA,GAE3EquJ,EAAOC,QAAUq9C,EAAcM,EAAsB,SAAUtyL,GAC7D,OAAO,WACL,OAAO3Z,EAAK8sE,MAAMnzD,EAAIkC,UACxB,CACF,C,8BCVA,IAAIugF,EAAa,EAAQ,OACrBiqG,EAAa,EAAQ,OAErB6F,EAAY,SAAUn/B,GACxB,OAAOs5B,EAAWt5B,GAAYA,OAAWlnK,CAC3C,EAEAwoJ,EAAOC,QAAU,SAAU9tC,EAAWtyG,GACpC,OAAO2N,UAAUC,OAAS,EAAIowL,EAAU9vG,EAAWokB,IAAcpkB,EAAWokB,IAAcpkB,EAAWokB,GAAWtyG,EAClH,C,yBCPAmgJ,EAAOC,QAAU,SAAU3kJ,GACzB,MAAO,CACLiyF,SAAUjyF,EACV+Y,KAAM/Y,EAAI+Y,KACVuqC,MAAM,EAEV,C,+BCRA,IAAI++I,EAAY,EAAQ,OACpBj0G,EAAoB,EAAQ,OAIhCs2D,EAAOC,QAAU,SAAU69C,EAAGC,GAC5B,IAAI/mL,EAAO8mL,EAAEC,GACb,OAAOr0G,EAAkB1yE,QAAQxf,EAAYmmM,EAAU3mL,EACzD,C,+BCRA,IAAI2mL,EAAY,EAAQ,OACpBK,EAAW,EAAQ,MACnBrsM,EAAO,EAAQ,OACfssM,EAAsB,EAAQ,OAC9BC,EAAoB,EAAQ,OAE5BC,EAAe,eACfC,EAAcC,WACdnG,EAAa9rG,UACb7rF,EAAMxQ,KAAKwQ,IAEX+9L,EAAY,SAAUl1L,EAAKm1L,GAC7B3sM,KAAKwX,IAAMA,EACXxX,KAAKuL,KAAOoD,EAAIg+L,EAAS,GACzB3sM,KAAK0rG,IAAMqgG,EAAUv0L,EAAIk0F,KACzB1rG,KAAK21D,KAAOo2I,EAAUv0L,EAAIm+C,KAC5B,EAEA+2I,EAAU1/L,UAAY,CACpB4/L,YAAa,WACX,OAAON,EAAkBF,EAASrsM,EAAKC,KAAK21D,KAAM31D,KAAKwX,MACzD,EACAmyF,SAAU,SAAU88F,GAClB,OAAO1mM,EAAKC,KAAK0rG,IAAK1rG,KAAKwX,IAAKivL,EAClC,GAKFr4C,EAAOC,QAAU,SAAU3kJ,GACzB0iM,EAAS1iM,GACT,IAAImjM,GAAWnjM,EAAI6B,KAGnB,GAAIshM,IAAYA,EAAS,MAAM,IAAIvG,EAAWiG,GAC9C,IAAII,EAAUN,EAAoBQ,GAClC,GAAIF,EAAU,EAAG,MAAM,IAAIH,EAAYD,GACvC,OAAO,IAAIG,EAAUhjM,EAAKijM,EAC5B,C,qCCtCA,IAAIj+B,EAAQ,SAAU+3B,GACpB,OAAOA,GAAMA,EAAGtoM,OAASA,MAAQsoM,CACnC,EAGAr4C,EAAOC,QAELqgB,EAA2B,iBAAdvyE,YAA0BA,aACvCuyE,EAAuB,iBAAV1wH,QAAsBA,SAEnC0wH,EAAqB,iBAARvuJ,MAAoBA,OACjCuuJ,EAAuB,iBAAV,EAAAjxJ,GAAsB,EAAAA,IACnCixJ,EAAqB,iBAAR1uK,MAAoBA,OAEjC,WAAe,OAAOA,IAAO,CAA7B,IAAoC0tF,SAAS,cAATA,E,+BCdtC,IAAI25G,EAAc,EAAQ,OACtByF,EAAW,EAAQ,OAEnBl0G,EAAiByuG,EAAY,CAAC,EAAEzuG,gBAKpCw1D,EAAOC,QAAUx+H,OAAOm7H,QAAU,SAAgBy7C,EAAIphM,GACpD,OAAOuzF,EAAek0G,EAASrG,GAAKphM,EACtC,C,yBCVA+oJ,EAAOC,QAAU,CAAC,C,+BCAlB,IAAI64C,EAAc,EAAQ,OACtBsB,EAAQ,EAAQ,MAChBv3L,EAAgB,EAAQ,OAG5Bm9I,EAAOC,SAAW64C,IAAgBsB,GAAM,WAEtC,OAES,IAFF34K,OAAO45F,eAAex4G,EAAc,OAAQ,IAAK,CACtDgL,IAAK,WAAc,OAAO,CAAG,IAC5B3K,CACL,G,+BCVA,IAAI+1L,EAAc,EAAQ,OACtBmB,EAAQ,EAAQ,MAChBuE,EAAU,EAAQ,OAElBpF,EAAU93K,OACVssD,EAAQkrH,EAAY,GAAGlrH,OAG3BiyE,EAAOC,QAAUm6C,GAAM,WAGrB,OAAQb,EAAQ,KAAKptF,qBAAqB,EAC5C,IAAK,SAAUksF,GACb,MAAuB,WAAhBsG,EAAQtG,GAAmBtqH,EAAMsqH,EAAI,IAAMkB,EAAQlB,EAC5D,EAAIkB,C,+BCdJ,IAAIvB,EAAa,EAAQ,OACrBjuG,EAAW,EAAQ,OACnB60G,EAAiB,EAAQ,MAG7B5+C,EAAOC,QAAU,SAAU4M,EAAOgyC,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPEJ,GAEA5G,EAAW+G,EAAYF,EAAM9gM,cAC7BghM,IAAcD,GACd/0G,EAASi1G,EAAqBD,EAAUngM,YACxCogM,IAAuBF,EAAQlgM,WAC/BggM,EAAe/xC,EAAOmyC,GACjBnyC,CACT,C,+BCjBA,IAAIosC,EAAc,EAAQ,OACtBjB,EAAa,EAAQ,OACrBiH,EAAQ,EAAQ,OAEhBC,EAAmBjG,EAAY35G,SAASn/E,UAGvC63L,EAAWiH,EAAME,iBACpBF,EAAME,cAAgB,SAAU9G,GAC9B,OAAO6G,EAAiB7G,EAC1B,GAGFr4C,EAAOC,QAAUg/C,EAAME,a,+BCbvB,IAYI/1L,EAAKyE,EAAKyvF,EAZV8hG,EAAkB,EAAQ,OAC1BrxG,EAAa,EAAQ,OACrBhE,EAAW,EAAQ,OACnByyG,EAA8B,EAAQ,OACtC5/C,EAAS,EAAQ,OACjByiD,EAAS,EAAQ,OACjBC,EAAY,EAAQ,OACpBC,EAAa,EAAQ,OAErBC,EAA6B,6BAC7BpzG,EAAY2B,EAAW3B,UACvBwU,EAAU7S,EAAW6S,QAGrB6+F,EAAU,SAAUpH,GACtB,OAAO/6F,EAAI+6F,GAAMxqL,EAAIwqL,GAAMjvL,EAAIivL,EAAI,CAAC,EACtC,EAEIqH,EAAY,SAAUC,GACxB,OAAO,SAAUtH,GACf,IAAIltL,EACJ,IAAK4+E,EAASsuG,KAAQltL,EAAQ0C,EAAIwqL,IAAKt2L,OAAS49L,EAC9C,MAAM,IAAIvzG,EAAU,0BAA4BuzG,EAAO,aACvD,OAAOx0L,CACX,CACF,EAEA,GAAIi0L,GAAmBC,EAAOl0L,MAAO,CACnC,IAAI8zL,EAAQI,EAAOl0L,QAAUk0L,EAAOl0L,MAAQ,IAAIy1F,GAEhDq+F,EAAMpxL,IAAMoxL,EAAMpxL,IAClBoxL,EAAM3hG,IAAM2hG,EAAM3hG,IAClB2hG,EAAM71L,IAAM61L,EAAM71L,IAElBA,EAAM,SAAUivL,EAAIuH,GAClB,GAAIX,EAAM3hG,IAAI+6F,GAAK,MAAM,IAAIjsG,EAAUozG,GAGvC,OAFAI,EAASC,OAASxH,EAClB4G,EAAM71L,IAAIivL,EAAIuH,GACPA,CACT,EACA/xL,EAAM,SAAUwqL,GACd,OAAO4G,EAAMpxL,IAAIwqL,IAAO,CAAC,CAC3B,EACA/6F,EAAM,SAAU+6F,GACd,OAAO4G,EAAM3hG,IAAI+6F,EACnB,CACF,KAAO,CACL,IAAIyH,EAAQR,EAAU,SACtBC,EAAWO,IAAS,EACpB12L,EAAM,SAAUivL,EAAIuH,GAClB,GAAIhjD,EAAOy7C,EAAIyH,GAAQ,MAAM,IAAI1zG,EAAUozG,GAG3C,OAFAI,EAASC,OAASxH,EAClBmE,EAA4BnE,EAAIyH,EAAOF,GAChCA,CACT,EACA/xL,EAAM,SAAUwqL,GACd,OAAOz7C,EAAOy7C,EAAIyH,GAASzH,EAAGyH,GAAS,CAAC,CAC1C,EACAxiG,EAAM,SAAU+6F,GACd,OAAOz7C,EAAOy7C,EAAIyH,EACpB,CACF,CAEA9/C,EAAOC,QAAU,CACf72I,IAAKA,EACLyE,IAAKA,EACLyvF,IAAKA,EACLmiG,QAASA,EACTC,UAAWA,E,+BCpEb,IAAIf,EAAU,EAAQ,OAKtB3+C,EAAOC,QAAU/gJ,MAAMqnD,SAAW,SAAiBm4G,GACjD,MAA6B,UAAtBigC,EAAQjgC,EACjB,C,yBCNA,IAAIqhC,EAAiC,iBAAZtiH,UAAwBA,SAASuiH,IAK1DhgD,EAAOC,QAAgC,oBAAf8/C,QAA8CvoM,IAAhBuoM,EAA4B,SAAUrhC,GAC1F,MAA0B,mBAAZA,GAA0BA,IAAaqhC,CACvD,EAAI,SAAUrhC,GACZ,MAA0B,mBAAZA,CAChB,C,+BCVA,IAAI07B,EAAQ,EAAQ,MAChBpC,EAAa,EAAQ,OAErBiI,EAAc,kBAEdtD,EAAW,SAAU/3K,EAASs7K,GAChC,IAAItoM,EAAQhB,EAAK8qI,EAAU98G,IAC3B,OAAOhtB,IAAUuoM,GACbvoM,IAAUwoM,IACVpI,EAAWkI,GAAa9F,EAAM8F,KAC5BA,EACR,EAEIx+D,EAAYi7D,EAASj7D,UAAY,SAAUyoC,GAC7C,OAAO1vI,OAAO0vI,GAAQvlK,QAAQq7L,EAAa,KAAKt7L,aAClD,EAEI/N,EAAO+lM,EAAS/lM,KAAO,CAAC,EACxBwpM,EAASzD,EAASyD,OAAS,IAC3BD,EAAWxD,EAASwD,SAAW,IAEnCngD,EAAOC,QAAU08C,C,yBCnBjB38C,EAAOC,QAAU,SAAUo4C,GACzB,OAAc,OAAPA,QAAsB7gM,IAAP6gM,CACxB,C,+BCJA,IAAIL,EAAa,EAAQ,OAEzBh4C,EAAOC,QAAU,SAAUo4C,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAcL,EAAWK,EAC1D,C,+BCJA,IAAItuG,EAAW,EAAQ,OAEvBi2D,EAAOC,QAAU,SAAUye,GACzB,OAAO30E,EAAS20E,IAA0B,OAAbA,CAC/B,C,wBCJA1e,EAAOC,SAAU,C,8BCAjB,IAAIogD,EAAa,EAAQ,MACrBrI,EAAa,EAAQ,OACrBM,EAAgB,EAAQ,MACxBgI,EAAoB,EAAQ,OAE5B/G,EAAU93K,OAEdu+H,EAAOC,QAAUqgD,EAAoB,SAAUjI,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIkI,EAAUF,EAAW,UACzB,OAAOrI,EAAWuI,IAAYjI,EAAciI,EAAQ3hM,UAAW26L,EAAQlB,GACzE,C,+BCZA,IAAI1mM,EAAO,EAAQ,OAEnBquJ,EAAOC,QAAU,SAAUugD,EAAQl1L,EAAIm1L,GACrC,IAEIzlB,EAAMrgL,EAFN4yF,EAAWkzG,EAA6BD,EAASA,EAAOjzG,SACxDl5E,EAAOmsL,EAAOnsL,KAElB,QAAS2mK,EAAOrpL,EAAK0iB,EAAMk5E,IAAW3uC,KAEpC,GADAjkD,EAAS2Q,EAAG0vK,EAAKpjL,YACFJ,IAAXmD,EAAsB,OAAOA,CAErC,C,+BCVA,IAAIhJ,EAAO,EAAQ,OACfqsM,EAAW,EAAQ,MACnB0C,EAAY,EAAQ,OAExB1gD,EAAOC,QAAU,SAAU1yD,EAAUltF,EAAMzI,GACzC,IAAI+oM,EAAaC,EACjB5C,EAASzwG,GACT,IAEE,GADAozG,EAAcD,EAAUnzG,EAAU,WAC7BozG,EAAa,CAChB,GAAa,UAATtgM,EAAkB,MAAMzI,EAC5B,OAAOA,CACT,CACA+oM,EAAchvM,EAAKgvM,EAAapzG,EAClC,CAAE,MAAO38F,GACPgwM,GAAa,EACbD,EAAc/vM,CAChB,CACA,GAAa,UAATyP,EAAkB,MAAMzI,EAC5B,GAAIgpM,EAAY,MAAMD,EAEtB,OADA3C,EAAS2C,GACF/oM,CACT,C,+BCtBA,IAAIipM,EAAW,EAAQ,OAIvB7gD,EAAOC,QAAU,SAAU3kJ,GACzB,OAAOulM,EAASvlM,EAAImS,OACtB,C,+BCNA,IAAIwrL,EAAc,EAAQ,OACtBmB,EAAQ,EAAQ,MAChBpC,EAAa,EAAQ,OACrBp7C,EAAS,EAAQ,OACjBk8C,EAAc,EAAQ,OACtBgI,EAA6B,sBAC7B3B,EAAgB,EAAQ,OACxB4B,EAAsB,EAAQ,OAE9BC,EAAuBD,EAAoBtB,QAC3CwB,EAAmBF,EAAoBlzL,IACvCuqL,EAAU39J,OAEV4gF,EAAiB55F,OAAO45F,eACxB69E,EAAcD,EAAY,GAAG3zJ,OAC7B1gC,EAAUq0L,EAAY,GAAGr0L,SACzBga,EAAOq6K,EAAY,GAAGr6K,MAEtBsiL,EAAsBpI,IAAgBsB,GAAM,WAC9C,OAAsF,IAA/E/+E,GAAe,WAA0B,GAAG,SAAU,CAAEzjH,MAAO,IAAK6V,MAC7E,IAEI0zL,EAAW1mK,OAAOA,QAAQszC,MAAM,UAEhCgsH,EAAc/5C,EAAOC,QAAU,SAAUroJ,EAAO5G,EAAM8wF,GACf,YAArCo3G,EAAYd,EAAQpnM,GAAO,EAAG,KAChCA,EAAO,IAAM4T,EAAQwzL,EAAQpnM,GAAO,wBAAyB,MAAQ,KAEnE8wF,GAAWA,EAAQ9yE,SAAQhe,EAAO,OAASA,GAC3C8wF,GAAWA,EAAQvkD,SAAQvsC,EAAO,OAASA,KAC1C4rJ,EAAOhlJ,EAAO,SAAYkpM,GAA8BlpM,EAAM5G,OAASA,KACtE8nM,EAAaz9E,EAAezjH,EAAO,OAAQ,CAAEA,MAAO5G,EAAMm/F,cAAc,IACvEv4F,EAAM5G,KAAOA,GAEhBkwM,GAAuBp/G,GAAW86D,EAAO96D,EAAS,UAAYlqF,EAAM6V,SAAWq0E,EAAQs/G,OACzF/lF,EAAezjH,EAAO,SAAU,CAAEA,MAAOkqF,EAAQs/G,QAEnD,IACMt/G,GAAW86D,EAAO96D,EAAS,gBAAkBA,EAAQ/jF,YACnD+6L,GAAaz9E,EAAezjH,EAAO,YAAa,CAAE2zF,UAAU,IAEvD3zF,EAAMgH,YAAWhH,EAAMgH,eAAYpH,EAChD,CAAE,MAAO5G,GAAqB,CAC9B,IAAIua,EAAQ61L,EAAqBppM,GAG/B,OAFGglJ,EAAOzxI,EAAO,YACjBA,EAAMgG,OAASyN,EAAKuiL,EAAyB,iBAARnwM,EAAmBA,EAAO,KACxD4G,CACX,EAIA0nF,SAAS1gF,UAAUuB,SAAW45L,GAAY,WACxC,OAAO/B,EAAWpmM,OAASqvM,EAAiBrvM,MAAMuf,QAAUguL,EAAcvtM,KAC5E,GAAG,W,yBCrDH,IAAIumL,EAAOpoL,KAAKooL,KACZhoL,EAAQJ,KAAKI,MAKjB6vJ,EAAOC,QAAUlwJ,KAAKsxM,OAAS,SAAel/F,GAC5C,IAAIn0F,GAAKm0F,EACT,OAAQn0F,EAAI,EAAI7d,EAAQgoL,GAAMnqK,EAChC,C,+BCTA,IAAI7N,EAAW,EAAQ,OAEvB6/I,EAAOC,QAAU,SAAUye,EAAU4iC,GACnC,YAAoB9pM,IAAbknK,EAAyBlxJ,UAAUC,OAAS,EAAI,GAAK6zL,EAAWnhM,EAASu+J,EAClF,C,+BCJA,IAAIo6B,EAAc,EAAQ,OACtByI,EAAiB,EAAQ,OACzBC,EAA0B,EAAQ,OAClCxD,EAAW,EAAQ,MACnByD,EAAgB,EAAQ,OAExBvJ,EAAa9rG,UAEbs1G,EAAkBjgL,OAAO45F,eAEzBsmF,EAA4BlgL,OAAOs3K,yBACnC6I,EAAa,aACblE,EAAe,eACfmE,EAAW,WAIf5hD,EAAQp3H,EAAIiwK,EAAc0I,EAA0B,SAAwB3I,EAAGkF,EAAG+D,GAIhF,GAHA9D,EAASnF,GACTkF,EAAI0D,EAAc1D,GAClBC,EAAS8D,GACQ,oBAANjJ,GAA0B,cAANkF,GAAqB,UAAW+D,GAAcD,KAAYC,IAAeA,EAAWD,GAAW,CAC5H,IAAIxsI,EAAUssI,EAA0B9I,EAAGkF,GACvC1oI,GAAWA,EAAQwsI,KACrBhJ,EAAEkF,GAAK+D,EAAWlqM,MAClBkqM,EAAa,CACX3xG,aAAcutG,KAAgBoE,EAAaA,EAAWpE,GAAgBroI,EAAQqoI,GAC9EhyG,WAAYk2G,KAAcE,EAAaA,EAAWF,GAAcvsI,EAAQusI,GACxEr2G,UAAU,GAGhB,CAAE,OAAOm2G,EAAgB7I,EAAGkF,EAAG+D,EACjC,EAAIJ,EAAkB,SAAwB7I,EAAGkF,EAAG+D,GAIlD,GAHA9D,EAASnF,GACTkF,EAAI0D,EAAc1D,GAClBC,EAAS8D,GACLP,EAAgB,IAClB,OAAOG,EAAgB7I,EAAGkF,EAAG+D,EAC/B,CAAE,MAAOlxM,GAAqB,CAC9B,GAAI,QAASkxM,GAAc,QAASA,EAAY,MAAM,IAAI5J,EAAW,2BAErE,MADI,UAAW4J,IAAYjJ,EAAEkF,GAAK+D,EAAWlqM,OACtCihM,CACT,C,8BC1CA,IAAIC,EAAc,EAAQ,OACtBnnM,EAAO,EAAQ,OACfowM,EAA6B,EAAQ,OACrClI,EAA2B,EAAQ,OACnCtB,EAAkB,EAAQ,OAC1BkJ,EAAgB,EAAQ,OACxB7kD,EAAS,EAAQ,OACjB2kD,EAAiB,EAAQ,OAGzBI,EAA4BlgL,OAAOs3K,yBAIvC94C,EAAQp3H,EAAIiwK,EAAc6I,EAA4B,SAAkC9I,EAAGkF,GAGzF,GAFAlF,EAAIN,EAAgBM,GACpBkF,EAAI0D,EAAc1D,GACdwD,EAAgB,IAClB,OAAOI,EAA0B9I,EAAGkF,EACtC,CAAE,MAAOntM,GAAqB,CAC9B,GAAIgsJ,EAAOi8C,EAAGkF,GAAI,OAAOlE,GAA0BloM,EAAKowM,EAA2Bl5K,EAAGgwK,EAAGkF,GAAIlF,EAAEkF,GACjG,C,+BCrBA,IAAIiE,EAAqB,EAAQ,OAC7BC,EAAc,EAAQ,OAEtB1C,EAAa0C,EAAY7/L,OAAO,SAAU,aAK9C69I,EAAQp3H,EAAIpH,OAAOuiF,qBAAuB,SAA6B60F,GACrE,OAAOmJ,EAAmBnJ,EAAG0G,EAC/B,C,6BCTAt/C,EAAQp3H,EAAIpH,OAAOyqF,qB,8BCDnB,IAAI+sF,EAAc,EAAQ,OAE1Bj5C,EAAOC,QAAUg5C,EAAY,CAAC,EAAEX,c,+BCFhC,IAAIW,EAAc,EAAQ,OACtBr8C,EAAS,EAAQ,OACjB27C,EAAkB,EAAQ,OAC1B5xK,EAAU,iBACV44K,EAAa,EAAQ,OAErB/5J,EAAOyzJ,EAAY,GAAGzzJ,MAE1Bw6G,EAAOC,QAAU,SAAU99H,EAAQ+/K,GACjC,IAGIjrM,EAHA4hM,EAAIN,EAAgBp2K,GACpB7qB,EAAI,EACJqD,EAAS,GAEb,IAAK1D,KAAO4hM,GAAIj8C,EAAO2iD,EAAYtoM,IAAQ2lJ,EAAOi8C,EAAG5hM,IAAQuuC,EAAK7qC,EAAQ1D,GAE1E,MAAOirM,EAAMz0L,OAASnW,EAAOslJ,EAAOi8C,EAAG5hM,EAAMirM,EAAM5qM,SAChDqvB,EAAQhsB,EAAQ1D,IAAQuuC,EAAK7qC,EAAQ1D,IAExC,OAAO0D,CACT,C,6BCnBA,IAAIwnM,EAAwB,CAAC,EAAEh2F,qBAE3B4sF,EAA2Bt3K,OAAOs3K,yBAGlCqJ,EAAcrJ,IAA6BoJ,EAAsBxwM,KAAK,CAAE,EAAG,GAAK,GAIpFsuJ,EAAQp3H,EAAIu5K,EAAc,SAA8BtE,GACtD,IAAI9jG,EAAa++F,EAAyBnnM,KAAMksM,GAChD,QAAS9jG,GAAcA,EAAWtO,UACpC,EAAIy2G,C,8BCXJ,IAAIE,EAAsB,EAAQ,OAC9Bt4G,EAAW,EAAQ,OACnBu4G,EAAyB,EAAQ,OACjCC,EAAqB,EAAQ,OAMjCviD,EAAOC,QAAUx+H,OAAOm9K,iBAAmB,aAAe,CAAC,EAAI,WAC7D,IAEIrhK,EAFAilK,GAAiB,EACjB1lM,EAAO,CAAC,EAEZ,IACEygC,EAAS8kK,EAAoB5gL,OAAO7iB,UAAW,YAAa,OAC5D2+B,EAAOzgC,EAAM,IACb0lM,EAAiB1lM,aAAgBoC,KACnC,CAAE,MAAOtO,GAAqB,CAC9B,OAAO,SAAwBioM,EAAGp+K,GAGhC,OAFA6nL,EAAuBzJ,GACvB0J,EAAmB9nL,GACdsvE,EAAS8uG,IACV2J,EAAgBjlK,EAAOs7J,EAAGp+K,GACzBo+K,EAAEv+J,UAAY7f,EACZo+K,GAHkBA,CAI3B,CACF,CAjB+D,QAiBzDrhM,E,8BC3BN,IAAI7F,EAAO,EAAQ,OACfqmM,EAAa,EAAQ,OACrBjuG,EAAW,EAAQ,OAEnBmuG,EAAa9rG,UAIjB4zD,EAAOC,QAAU,SAAUhnJ,EAAOwpM,GAChC,IAAIn3L,EAAI2mC,EACR,GAAa,WAATwwJ,GAAqBzK,EAAW1sL,EAAKrS,EAAMkH,YAAc4pF,EAAS93C,EAAMtgD,EAAK2Z,EAAIrS,IAAS,OAAOg5C,EACrG,GAAI+lJ,EAAW1sL,EAAKrS,EAAMypM,WAAa34G,EAAS93C,EAAMtgD,EAAK2Z,EAAIrS,IAAS,OAAOg5C,EAC/E,GAAa,WAATwwJ,GAAqBzK,EAAW1sL,EAAKrS,EAAMkH,YAAc4pF,EAAS93C,EAAMtgD,EAAK2Z,EAAIrS,IAAS,OAAOg5C,EACrG,MAAM,IAAIimJ,EAAW,0CACvB,C,+BCdA,IAAImI,EAAa,EAAQ,MACrBpH,EAAc,EAAQ,OACtB0J,EAA4B,EAAQ,OACpCC,EAA8B,EAAQ,OACtC5E,EAAW,EAAQ,MAEnB57L,EAAS62L,EAAY,GAAG72L,QAG5B49I,EAAOC,QAAUogD,EAAW,UAAW,YAAc,SAAiBhI,GACpE,IAAI9wI,EAAOo7I,EAA0B95K,EAAEm1K,EAAS3F,IAC5CnsF,EAAwB02F,EAA4B/5K,EACxD,OAAOqjF,EAAwB9pG,EAAOmlD,EAAM2kD,EAAsBmsF,IAAO9wI,CAC3E,C,+BCbA,IAAImiC,EAAoB,EAAQ,OAE5BwuG,EAAa9rG,UAIjB4zD,EAAOC,QAAU,SAAUo4C,GACzB,GAAI3uG,EAAkB2uG,GAAK,MAAM,IAAIH,EAAW,wBAA0BG,GAC1E,OAAOA,CACT,C,6BCTA,IAAIwK,EAAa,EAAQ,OACrB50K,EAAU,EAAQ,OAElB81E,EAAM8+F,EAAW9+F,IACjB30F,EAAMyzL,EAAWzzL,IAErB4wI,EAAOC,QAAU,SAAU72I,GACzB,IAAIzO,EAAS,IAAIopG,EAIjB,OAHA91E,EAAQ7kB,GAAK,SAAUivL,GACrBjpL,EAAIzU,EAAQ09L,EACd,IACO19L,CACT,C,+BCZA,IAAImoM,EAAO,EAAQ,OACfD,EAAa,EAAQ,OACrBn+K,EAAQ,EAAQ,KAChBvnB,EAAO,EAAQ,OACf4lM,EAAe,EAAQ,OACvBC,EAAa,EAAQ,OACrBC,EAAgB,EAAQ,OAExB3lG,EAAMulG,EAAWvlG,IACjBrpE,EAAS4uK,EAAW5uK,OAIxB+rH,EAAOC,QAAU,SAAoBijD,GACnC,IAAIrK,EAAIiK,EAAKlxM,MACTuxM,EAAWJ,EAAaG,GACxBvoM,EAAS+pB,EAAMm0K,GAOnB,OANI17L,EAAK07L,IAAMsK,EAAShmM,KAAM6lM,EAAWnK,GAAG,SAAUngM,GAChDyqM,EAAS5nG,SAAS7iG,IAAIu7B,EAAOt5B,EAAQjC,EAC3C,IACKuqM,EAAcE,EAAS3E,eAAe,SAAU9lM,GAC/C4kG,EAAIu7F,EAAGngM,IAAIu7B,EAAOt5B,EAAQjC,EAChC,IACOiC,CACT,C,+BCxBA,IAAIs+L,EAAc,EAAQ,OAGtBmK,EAAer/F,IAAInlG,UAEvBohJ,EAAOC,QAAU,CAEfl8C,IACA30F,IAAK6pL,EAAYmK,EAAah0L,KAC9BkuF,IAAK27F,EAAYmK,EAAa9lG,KAC9BrpE,OAAQglK,EAAYmK,EAAa,WACjC3oL,MAAO2oL,E,+BCXT,IAAIN,EAAO,EAAQ,OACfD,EAAa,EAAQ,OACrB1lM,EAAO,EAAQ,OACf4lM,EAAe,EAAQ,OACvBC,EAAa,EAAQ,OACrBC,EAAgB,EAAQ,OAExBl/F,EAAM8+F,EAAW9+F,IACjB30F,EAAMyzL,EAAWzzL,IACjBkuF,EAAMulG,EAAWvlG,IAIrB0iD,EAAOC,QAAU,SAAsBijD,GACrC,IAAIrK,EAAIiK,EAAKlxM,MACTuxM,EAAWJ,EAAaG,GACxBvoM,EAAS,IAAIopG,EAYjB,OAVI5mG,EAAK07L,GAAKsK,EAAShmM,KACrB8lM,EAAcE,EAAS3E,eAAe,SAAU9lM,GAC1C4kG,EAAIu7F,EAAGngM,IAAI0W,EAAIzU,EAAQjC,EAC7B,IAEAsqM,EAAWnK,GAAG,SAAUngM,GAClByqM,EAAS5nG,SAAS7iG,IAAI0W,EAAIzU,EAAQjC,EACxC,IAGKiC,CACT,C,+BC7BA,IAAImoM,EAAO,EAAQ,OACfxlG,EAAM,aACNngG,EAAO,EAAQ,OACf4lM,EAAe,EAAQ,OACvBC,EAAa,EAAQ,OACrBC,EAAgB,EAAQ,OACxBI,EAAgB,EAAQ,OAI5BrjD,EAAOC,QAAU,SAAwBijD,GACvC,IAAIrK,EAAIiK,EAAKlxM,MACTuxM,EAAWJ,EAAaG,GAC5B,GAAI/lM,EAAK07L,IAAMsK,EAAShmM,KAAM,OAEjB,IAFwB6lM,EAAWnK,GAAG,SAAUngM,GAC3D,GAAIyqM,EAAS5nG,SAAS7iG,GAAI,OAAO,CACnC,IAAG,GACH,IAAI60F,EAAW41G,EAAS3E,cACxB,OAEO,IAFAyE,EAAc11G,GAAU,SAAU70F,GACvC,GAAI4kG,EAAIu7F,EAAGngM,GAAI,OAAO2qM,EAAc91G,EAAU,UAAU,EAC1D,GACF,C,+BCpBA,IAAIu1G,EAAO,EAAQ,OACf3lM,EAAO,EAAQ,OACf8wB,EAAU,EAAQ,OAClB80K,EAAe,EAAQ,OAI3B/iD,EAAOC,QAAU,SAAoBijD,GACnC,IAAIrK,EAAIiK,EAAKlxM,MACTuxM,EAAWJ,EAAaG,GAC5B,QAAI/lM,EAAK07L,GAAKsK,EAAShmM,QAGV,IAFN8wB,EAAQ4qK,GAAG,SAAUngM,GAC1B,IAAKyqM,EAAS5nG,SAAS7iG,GAAI,OAAO,CACpC,IAAG,EACL,C,+BCdA,IAAIoqM,EAAO,EAAQ,OACfxlG,EAAM,aACNngG,EAAO,EAAQ,OACf4lM,EAAe,EAAQ,OACvBE,EAAgB,EAAQ,OACxBI,EAAgB,EAAQ,OAI5BrjD,EAAOC,QAAU,SAAsBijD,GACrC,IAAIrK,EAAIiK,EAAKlxM,MACTuxM,EAAWJ,EAAaG,GAC5B,GAAI/lM,EAAK07L,GAAKsK,EAAShmM,KAAM,OAAO,EACpC,IAAIowF,EAAW41G,EAAS3E,cACxB,OAEO,IAFAyE,EAAc11G,GAAU,SAAU70F,GACvC,IAAK4kG,EAAIu7F,EAAGngM,GAAI,OAAO2qM,EAAc91G,EAAU,UAAU,EAC3D,GACF,C,+BCjBA,IAAI0rG,EAAc,EAAQ,OACtBgK,EAAgB,EAAQ,OACxBJ,EAAa,EAAQ,OAErB9+F,EAAM8+F,EAAW9+F,IACjBq/F,EAAeP,EAAWpoL,MAC1B4xD,EAAU4sH,EAAYmK,EAAa/2H,SACnC9kB,EAAO0xI,EAAYmK,EAAa77I,MAChClzC,EAAOkzC,EAAK,IAAIw8C,GAAO1vF,KAE3B2rI,EAAOC,QAAU,SAAU72I,EAAKkC,EAAIg4L,GAClC,OAAOA,EAAgBL,EAAc,CAAE11G,SAAUhmC,EAAKn+C,GAAMiL,KAAMA,GAAQ/I,GAAM+gE,EAAQjjE,EAAKkC,EAC/F,C,+BCZA,IAAI+0L,EAAa,EAAQ,MAErBkD,EAAgB,SAAUpmM,GAC5B,MAAO,CACLA,KAAMA,EACNmgG,IAAK,WACH,OAAO,CACT,EACA/1C,KAAM,WACJ,MAAO,CACLlzC,KAAM,WACJ,MAAO,CAAEuqC,MAAM,EACjB,EAEJ,EAEJ,EAEAohG,EAAOC,QAAU,SAAUjvJ,GACzB,IAAI+yG,EAAMs8F,EAAW,OACrB,KACE,IAAIt8F,GAAM/yG,GAAMuyM,EAAc,IAC9B,IAIE,OADA,IAAIx/F,GAAM/yG,GAAMuyM,GAAe,KACxB,CACT,CAAE,MAAOC,GACP,OAAO,CACT,CACF,CAAE,MAAO5yM,GACP,OAAO,CACT,CACF,C,+BCjCA,IAAIyxM,EAAsB,EAAQ,OAC9BQ,EAAa,EAAQ,OAEzB7iD,EAAOC,QAAUoiD,EAAoBQ,EAAWpoL,MAAO,OAAQ,QAAU,SAAUrR,GACjF,OAAOA,EAAIjM,IACb,C,+BCLA,IAAI2lM,EAAO,EAAQ,OACfD,EAAa,EAAQ,OACrBn+K,EAAQ,EAAQ,KAChBq+K,EAAe,EAAQ,OACvBE,EAAgB,EAAQ,OAExB7zL,EAAMyzL,EAAWzzL,IACjBkuF,EAAMulG,EAAWvlG,IACjBrpE,EAAS4uK,EAAW5uK,OAIxB+rH,EAAOC,QAAU,SAA6BijD,GAC5C,IAAIrK,EAAIiK,EAAKlxM,MACT6xM,EAAWV,EAAaG,GAAO1E,cAC/B7jM,EAAS+pB,EAAMm0K,GAKnB,OAJAoK,EAAcQ,GAAU,SAAU/qM,GAC5B4kG,EAAIu7F,EAAGngM,GAAIu7B,EAAOt5B,EAAQjC,GACzB0W,EAAIzU,EAAQjC,EACnB,IACOiC,CACT,C,+BCrBA,IAAImoM,EAAO,EAAQ,OACf1zL,EAAM,aACNsV,EAAQ,EAAQ,KAChBq+K,EAAe,EAAQ,OACvBE,EAAgB,EAAQ,OAI5BjjD,EAAOC,QAAU,SAAeijD,GAC9B,IAAIrK,EAAIiK,EAAKlxM,MACT6xM,EAAWV,EAAaG,GAAO1E,cAC/B7jM,EAAS+pB,EAAMm0K,GAInB,OAHAoK,EAAcQ,GAAU,SAAUpL,GAChCjpL,EAAIzU,EAAQ09L,EACd,IACO19L,CACT,C,+BChBA,IAAI0kM,EAAS,EAAQ,OACjBzzL,EAAM,EAAQ,OAEd27C,EAAO83I,EAAO,QAElBr/C,EAAOC,QAAU,SAAUhpJ,GACzB,OAAOswD,EAAKtwD,KAASswD,EAAKtwD,GAAO2U,EAAI3U,GACvC,C,+BCPA,IAAIysM,EAAU,EAAQ,MAClB31G,EAAa,EAAQ,OACrBisG,EAAuB,EAAQ,OAE/B2J,EAAS,qBACT1E,EAAQj/C,EAAOC,QAAUlyD,EAAW41G,IAAW3J,EAAqB2J,EAAQ,CAAC,IAEhF1E,EAAMztG,WAAaytG,EAAMztG,SAAW,KAAKhsD,KAAK,CAC7C3wB,QAAS,SACTmQ,KAAM0+K,EAAU,OAAS,SACzBE,UAAW,4CACXC,QAAS,2DACT1yL,OAAQ,uC,+BCZV,IAAI8tL,EAAQ,EAAQ,OAEpBj/C,EAAOC,QAAU,SAAUhpJ,EAAKW,GAC9B,OAAOqnM,EAAMhoM,KAASgoM,EAAMhoM,GAAOW,GAAS,CAAC,EAC/C,C,+BCHA,IAAIksM,EAAa,EAAQ,OACrB1J,EAAQ,EAAQ,MAChBrsG,EAAa,EAAQ,OAErBqqG,EAAUrqG,EAAWtzD,OAGzBulH,EAAOC,UAAYx+H,OAAOyqF,wBAA0BkuF,GAAM,WACxD,IAAI2J,EAASjjG,OAAO,oBAKpB,OAAQs3F,EAAQ2L,MAAatiL,OAAOsiL,aAAmBjjG,UAEpDA,OAAOu8F,MAAQyG,GAAcA,EAAa,EAC/C,G,+BCjBA,IAAI7F,EAAsB,EAAQ,OAE9B19L,EAAMxQ,KAAKwQ,IACXnQ,EAAML,KAAKK,IAKf4vJ,EAAOC,QAAU,SAAUznG,EAAO/qC,GAChC,IAAIu2L,EAAU/F,EAAoBzlJ,GAClC,OAAOwrJ,EAAU,EAAIzjM,EAAIyjM,EAAUv2L,EAAQ,GAAKrd,EAAI4zM,EAASv2L,EAC/D,C,+BCVA,IAAIw2L,EAAgB,EAAQ,OACxB3B,EAAyB,EAAQ,OAErCtiD,EAAOC,QAAU,SAAUo4C,GACzB,OAAO4L,EAAc3B,EAAuBjK,GAC9C,C,+BCNA,IAAIgJ,EAAQ,EAAQ,OAIpBrhD,EAAOC,QAAU,SAAUye,GACzB,IAAIhsI,GAAUgsI,EAEd,OAAOhsI,IAAWA,GAAqB,IAAXA,EAAe,EAAI2uK,EAAM3uK,EACvD,C,+BCRA,IAAIurK,EAAsB,EAAQ,OAE9B7tM,EAAML,KAAKK,IAIf4vJ,EAAOC,QAAU,SAAUye,GACzB,IAAIlqI,EAAMypK,EAAoBv/B,GAC9B,OAAOlqI,EAAM,EAAIpkC,EAAIokC,EAAK,kBAAoB,CAChD,C,+BCTA,IAAI8tK,EAAyB,EAAQ,OAEjC/I,EAAU93K,OAIdu+H,EAAOC,QAAU,SAAUye,GACzB,OAAO66B,EAAQ+I,EAAuB5jC,GACxC,C,+BCRA,IAAI/sK,EAAO,EAAQ,OACfo4F,EAAW,EAAQ,OACnBgI,EAAW,EAAQ,MACnB2uG,EAAY,EAAQ,OACpBwD,EAAsB,EAAQ,MAC9B7K,EAAkB,EAAQ,MAE1BnB,EAAa9rG,UACb+3G,EAAe9K,EAAgB,eAInCr5C,EAAOC,QAAU,SAAUhnJ,EAAOwpM,GAChC,IAAK14G,EAAS9wF,IAAU84F,EAAS94F,GAAQ,OAAOA,EAChD,IACI0B,EADAypM,EAAe1D,EAAUznM,EAAOkrM,GAEpC,GAAIC,EAAc,CAGhB,QAFa5sM,IAATirM,IAAoBA,EAAO,WAC/B9nM,EAAShJ,EAAKyyM,EAAcnrM,EAAOwpM,IAC9B14G,EAASpvF,IAAWo3F,EAASp3F,GAAS,OAAOA,EAClD,MAAM,IAAIu9L,EAAW,0CACvB,CAEA,YADa1gM,IAATirM,IAAoBA,EAAO,UACxByB,EAAoBjrM,EAAOwpM,EACpC,C,+BCxBA,IAAI/0G,EAAc,EAAQ,OACtBqE,EAAW,EAAQ,MAIvBiuD,EAAOC,QAAU,SAAUye,GACzB,IAAIznK,EAAMy2F,EAAYgxE,EAAU,UAChC,OAAO3sE,EAAS96F,GAAOA,EAAMA,EAAM,EACrC,C,+BCRA,IAAIoiM,EAAkB,EAAQ,MAE1BC,EAAgBD,EAAgB,eAChCv8L,EAAO,CAAC,EAEZA,EAAKw8L,GAAiB,IAEtBt5C,EAAOC,QAA2B,eAAjBxlH,OAAO39B,E,+BCPxB,IAAI6hM,EAAU,EAAQ,OAElBvG,EAAU39J,OAEdulH,EAAOC,QAAU,SAAUye,GACzB,GAA0B,WAAtBigC,EAAQjgC,GAAwB,MAAM,IAAItyE,UAAU,6CACxD,OAAOgsG,EAAQ15B,EACjB,C,yBCPA,IAAI05B,EAAU39J,OAEdulH,EAAOC,QAAU,SAAUye,GACzB,IACE,OAAO05B,EAAQ15B,EACjB,CAAE,MAAO9tK,GACP,MAAO,QACT,CACF,C,+BCRA,IAAIqoM,EAAc,EAAQ,OAEtBjgM,EAAK,EACLqrM,EAAUt0M,KAAKiiC,SACf7xB,EAAW84L,EAAY,GAAI94L,UAE/B6/I,EAAOC,QAAU,SAAUhpJ,GACzB,MAAO,gBAAqBO,IAARP,EAAoB,GAAKA,GAAO,KAAOkJ,IAAWnH,EAAKqrM,EAAS,GACtF,C,+BCPA,IAAIC,EAAgB,EAAQ,OAE5BtkD,EAAOC,QAAUqkD,IACXxjG,OAAOu8F,MACkB,iBAAnBv8F,OAAOvT,Q,+BCLnB,IAAIurG,EAAc,EAAQ,OACtBsB,EAAQ,EAAQ,MAIpBp6C,EAAOC,QAAU64C,GAAesB,GAAM,WAEpC,OAGiB,KAHV34K,OAAO45F,gBAAe,WAA0B,GAAG,YAAa,CACrEzjH,MAAO,GACP2zF,UAAU,IACT3sF,SACL,G,yBCXA,IAAIs5L,EAAa9rG,UAEjB4zD,EAAOC,QAAU,SAAUskD,EAAQC,GACjC,GAAID,EAASC,EAAU,MAAM,IAAItM,EAAW,wBAC5C,OAAOqM,CACT,C,+BCLA,IAAIx2G,EAAa,EAAQ,OACrBiqG,EAAa,EAAQ,OAErBp3F,EAAU7S,EAAW6S,QAEzBo/C,EAAOC,QAAU+3C,EAAWp3F,IAAY,cAAc9jG,KAAK29B,OAAOmmE,G,8BCLlE,IAAI7S,EAAa,EAAQ,OACrBsxG,EAAS,EAAQ,OACjBziD,EAAS,EAAQ,OACjBhxI,EAAM,EAAQ,OACd04L,EAAgB,EAAQ,OACxBhE,EAAoB,EAAQ,OAE5Bx/F,EAAS/S,EAAW+S,OACpB2jG,EAAwBpF,EAAO,OAC/BqF,EAAwBpE,EAAoBx/F,EAAO,QAAUA,EAASA,GAAUA,EAAO6jG,eAAiB/4L,EAE5Go0I,EAAOC,QAAU,SAAUjvJ,GAKvB,OAJG4rJ,EAAO6nD,EAAuBzzM,KACjCyzM,EAAsBzzM,GAAQszM,GAAiB1nD,EAAO97C,EAAQ9vG,GAC1D8vG,EAAO9vG,GACP0zM,EAAsB,UAAY1zM,IAC/ByzM,EAAsBzzM,EACjC,C,+BCjBA,IAAI64H,EAAI,EAAQ,MACZ60E,EAAW,EAAQ,OACnBjG,EAAoB,EAAQ,OAC5BmM,EAAiB,EAAQ,OACzBC,EAA2B,EAAQ,OACnCzK,EAAQ,EAAQ,MAEhB0K,EAAsB1K,GAAM,WAC9B,OAAoD,aAA7C,GAAG50J,KAAK7zC,KAAK,CAAE8b,OAAQ,YAAe,EAC/C,IAIIs3L,EAAiC,WACnC,IAEEtjL,OAAO45F,eAAe,GAAI,SAAU,CAAE9vB,UAAU,IAAS/lD,MAC3D,CAAE,MAAO50C,GACP,OAAOA,aAAiBw7F,SAC1B,CACF,EAEIwwG,EAASkI,IAAwBC,IAIrCl7E,EAAE,CAAE/nH,OAAQ,QAAS2Y,OAAO,EAAM2mL,MAAO,EAAGhE,OAAQR,GAAU,CAE5Dp3J,KAAM,SAAcvU,GAClB,IAAI4nK,EAAI6F,EAAS9sM,MACb4iC,EAAMikK,EAAkBI,GACxBmM,EAAWx3L,UAAUC,OACzBo3L,EAAyBrwK,EAAMwwK,GAC/B,IAAK,IAAI1tM,EAAI,EAAGA,EAAI0tM,EAAU1tM,IAC5BuhM,EAAErkK,GAAOhnB,UAAUlW,GACnBk9B,IAGF,OADAowK,EAAe/L,EAAGrkK,GACXA,CACT,G,+BCvCF,IAAIq1F,EAAI,EAAQ,MACZo7E,EAAa,EAAQ,OACrBC,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,eAAiB,CAC3FD,WAAYA,G,+BCPd,IAAIp7E,EAAI,EAAQ,MACZuwE,EAAQ,EAAQ,MAChBgL,EAAe,EAAQ,OACvBF,EAAyB,EAAQ,OAEjCG,GAAaH,EAAuB,iBAAmB9K,GAAM,WAE/D,MAAgF,QAAzE3/J,OAAOv7B,MAAM07B,KAAK,IAAImpE,IAAI,CAAC,EAAG,EAAG,IAAIqhG,aAAa,IAAIrhG,IAAI,CAAC,EAAG,MACvE,IAIA8lB,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,OAAQiI,GAAa,CAC/DD,aAAcA,G,+BCbhB,IAAIv7E,EAAI,EAAQ,MACZy7E,EAAiB,EAAQ,OACzBJ,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,mBAAqB,CAC/FI,eAAgBA,G,8BCPlB,IAAIz7E,EAAI,EAAQ,MACZ07E,EAAa,EAAQ,OACrBL,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,eAAiB,CAC3FK,WAAYA,G,8BCPd,IAAI17E,EAAI,EAAQ,MACZ27E,EAAe,EAAQ,OACvBN,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,iBAAmB,CAC7FM,aAAcA,G,+BCPhB,IAAI37E,EAAI,EAAQ,MACZ47E,EAAsB,EAAQ,OAC9BP,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,wBAA0B,CACpGO,oBAAqBA,G,+BCPvB,IAAI57E,EAAI,EAAQ,MACZ67E,EAAQ,EAAQ,OAChBR,EAAyB,EAAQ,OAIrCr7E,EAAE,CAAE/nH,OAAQ,MAAO2Y,OAAO,EAAM0qL,MAAM,EAAM/H,QAAS8H,EAAuB,UAAY,CACtFQ,MAAOA,G,+BCPT,IAAI77E,EAAI,EAAQ,MACZ97B,EAAa,EAAQ,OACrBsyG,EAAa,EAAQ,MACrBxG,EAA2B,EAAQ,OACnCx+E,EAAiB,WACjBuhC,EAAS,EAAQ,OACjB+oD,EAAa,EAAQ,OACrBC,EAAoB,EAAQ,OAC5BC,EAA0B,EAAQ,OAClCC,EAAwB,EAAQ,OAChCC,EAAkB,EAAQ,OAC1BjN,EAAc,EAAQ,OACtB4K,EAAU,EAAQ,MAElBsC,EAAgB,eAChB95G,EAAQm0G,EAAW,SACnB4F,EAAqB5F,EAAW2F,GAEhCE,EAAgB,WAClBP,EAAW/zM,KAAMu0M,GACjB,IAAIC,EAAkB54L,UAAUC,OAC5Bjd,EAAUq1M,EAAwBO,EAAkB,OAAI5uM,EAAYgW,UAAU,IAC9Exc,EAAO60M,EAAwBO,EAAkB,OAAI5uM,EAAYgW,UAAU,GAAI,SAC/E6gB,EAAO,IAAI43K,EAAmBz1M,EAASQ,GACvCJ,EAAQ,IAAIs7F,EAAM17F,GAItB,OAHAI,EAAMI,KAAOg1M,EACb3qF,EAAehtF,EAAM,QAASwrK,EAAyB,EAAGkM,EAAgBn1M,EAAMgL,MAAO,KACvFgqM,EAAkBv3K,EAAMz8B,KAAMs0M,GACvB73K,CACT,EAEI83K,EAAwBD,EAActnM,UAAYqnM,EAAmBrnM,UAErEynM,EAAkB,UAAW,IAAIn6G,EAAM85G,GACvCM,EAA0B,UAAW,IAAIL,EAAmB,EAAG,GAG/DjsG,EAAaisG,GAAsBnN,GAAer3K,OAAOs3K,yBAAyBhrG,EAAYi4G,GAI9FO,IAAqBvsG,KAAgBA,EAAWzO,UAAYyO,EAAW7J,cAEvEq2G,EAAqBH,IAAoBE,IAAqBD,EAIlEz8E,EAAE,CAAExsG,QAAQ,EAAMtf,aAAa,EAAMq/L,OAAQsG,GAAW8C,GAAsB,CAC5EC,aAAcD,EAAqBN,EAAgBD,IAGrD,IAAIS,EAAyBrG,EAAW2F,GACpCW,EAAkCD,EAAuB9nM,UAE7D,GAAI+nM,EAAgC5oM,cAAgB2oM,EAKlD,IAAK,IAAIzvM,KAJJysM,GACHroF,EAAesrF,EAAiC,cAAe9M,EAAyB,EAAG6M,IAG7EZ,EAAuB,GAAIlpD,EAAOkpD,EAAuB7uM,GAAM,CAC7E,IAAI2vM,EAAWd,EAAsB7uM,GACjC4vM,EAAeD,EAASvtM,EACvBujJ,EAAO8pD,EAAwBG,IAClCxrF,EAAeqrF,EAAwBG,EAAchN,EAAyB,EAAG+M,EAASj6L,GAE9F,C,+BCjEF,IAAI8vL,EAAgB,EAAQ,OACxBxD,EAAc,EAAQ,OACtB94L,EAAW,EAAQ,OACnB2mM,EAA0B,EAAQ,OAElCC,EAAmBC,gBACnBC,EAA2BF,EAAiBnoM,UAC5C+9C,EAASs8I,EAAYgO,EAAyBtqJ,QAC9CuqJ,EAAUjO,EAAYgO,EAAyB,WAC/C56H,EAAU4sH,EAAYgO,EAAyB56H,SAC/C7mC,EAAOyzJ,EAAY,GAAGzzJ,MACtBuvC,EAAS,IAAIgyH,EAAiB,eAElChyH,EAAO,UAAU,IAAK,GAGtBA,EAAO,UAAU,SAAKv9E,GAElBu9E,EAAS,KAAO,OAClB0nH,EAAcwK,EAA0B,UAAU,SAAUj2M,GAC1D,IAAIyc,EAASD,UAAUC,OACnB05L,EAAS15L,EAAS,OAAIjW,EAAYgW,UAAU,GAChD,GAAIC,QAAqBjW,IAAX2vM,EAAsB,OAAOD,EAAQt1M,KAAMZ,GACzD,IAAIy9E,EAAU,GACdpC,EAAQz6E,MAAM,SAAUoY,EAAGqlF,GACzB7pD,EAAKipC,EAAS,CAAEx3E,IAAKo4F,EAAGz3F,MAAOoS,GACjC,IACA88L,EAAwBr5L,EAAQ,GAChC,IAMI1R,EANA9E,EAAMkJ,EAASnP,GACf4G,EAAQuI,EAASgnM,GACjB3uJ,EAAQ,EACR4uJ,EAAS,EACT1uD,GAAQ,EACR2uD,EAAgB54H,EAAQhhE,OAE5B,MAAO+qC,EAAQ6uJ,EACbtrM,EAAQ0yE,EAAQj2B,KACZkgG,GAAS38I,EAAM9E,MAAQA,GACzByhJ,GAAQ,EACRwuD,EAAQt1M,KAAMmK,EAAM9E,MACfmwM,IAET,MAAOA,EAASC,EACdtrM,EAAQ0yE,EAAQ24H,KACVrrM,EAAM9E,MAAQA,GAAO8E,EAAMnE,QAAUA,GAAQ+kD,EAAO/qD,KAAMmK,EAAM9E,IAAK8E,EAAMnE,MAErF,GAAG,CAAE8zF,YAAY,EAAMuuG,QAAQ,G,+BC9CjC,IAAIwC,EAAgB,EAAQ,OACxBxD,EAAc,EAAQ,OACtB94L,EAAW,EAAQ,OACnB2mM,EAA0B,EAAQ,OAElCC,EAAmBC,gBACnBC,EAA2BF,EAAiBnoM,UAC5CquK,EAASgsB,EAAYgO,EAAyBh6B,QAC9Cq6B,EAAOrO,EAAYgO,EAAyB3pG,KAC5CvoB,EAAS,IAAIgyH,EAAiB,QAI9BhyH,EAAOuoB,IAAI,IAAK,IAAOvoB,EAAOuoB,IAAI,SAAK9lG,IACzCilM,EAAcwK,EAA0B,OAAO,SAAaj2M,GAC1D,IAAIyc,EAASD,UAAUC,OACnB05L,EAAS15L,EAAS,OAAIjW,EAAYgW,UAAU,GAChD,GAAIC,QAAqBjW,IAAX2vM,EAAsB,OAAOG,EAAK11M,KAAMZ,GACtD,IAAIiwC,EAASgsI,EAAOr7K,KAAMZ,GAC1B81M,EAAwBr5L,EAAQ,GAChC,IAAI7V,EAAQuI,EAASgnM,GACjB3uJ,EAAQ,EACZ,MAAOA,EAAQvX,EAAOxzB,OACpB,GAAIwzB,EAAOuX,OAAa5gD,EAAO,OAAO,EACtC,OAAO,CACX,GAAG,CAAE8zF,YAAY,EAAMuuG,QAAQ,G,+BCzBjC,IAAInB,EAAc,EAAQ,OACtBG,EAAc,EAAQ,OACtBsO,EAAwB,EAAQ,OAEhCN,EAA2BD,gBAAgBpoM,UAC3CytE,EAAU4sH,EAAYgO,EAAyB56H,SAI/CysH,KAAiB,SAAUmO,IAC7BM,EAAsBN,EAA0B,OAAQ,CACtDp5L,IAAK,WACH,IAAIvN,EAAQ,EAEZ,OADA+rE,EAAQz6E,MAAM,WAAc0O,GAAS,IAC9BA,CACT,EACA6vF,cAAc,EACdzE,YAAY,G,8BCjBhB,SAAS3B,EAAS//E,GAChB,MAAoB,kBAANA,GAAwB,OAANA,CAClC,CACA,SAASw9L,EAAiB1lH,EAAS2lH,GAEjC,OADA3lH,EAAUiI,EAASjI,GAAWA,EAA0BrgE,OAAOqK,OAAO,MAC/D,IAAI8tE,MAAM9X,EAAS,CACxB,GAAAj0E,CAAI/L,EAAQ7K,EAAKmtG,GACf,OAAOQ,QAAQ/2F,IAAI/L,EAAQ7K,EAAKmtG,IAAaQ,QAAQ/2F,IAAI45L,EAAgBxwM,EAAKmtG,EAChF,GAEJ,CAGA,SAASsjG,EAAU9vM,GACjB,OAAiB,OAAVA,GAAmC,kBAAVA,CAClC,CACA,SAASygE,EAAMsvI,EAAax2L,GAC1B,MAAMy2L,EAAgB1oM,MAAMqnD,QAAQohJ,IAAgBzoM,MAAMqnD,QAAQp1C,GAC5D02L,EAAiBH,EAAUC,IAAgBD,EAAUv2L,GAC3D,IAAKy2L,IAAkBC,EACrB,MAAM,IAAI37G,MAAM,yDAElB,MAAMvxF,EAASitM,EAAgB,GAAK,CAAC,EAC/BrgJ,EAAO,IAAI9lC,OAAO8lC,KAAKogJ,MAAiBlmL,OAAO8lC,KAAKp2C,IAmB1D,OAlBAo2C,EAAK8kB,SAASp1E,IACRiI,MAAMqnD,QAAQohJ,EAAY1wM,KAASiI,MAAMqnD,QAAQp1C,EAAOla,IAC1D0D,EAAO1D,GAAO,IACTwqB,OAAOwf,OACRo3B,EAAMsvI,EAAY1wM,GAAMka,EAAOla,MAGV,OAAhBka,EAAOla,IAAwC,kBAAhBka,EAAOla,IAAiD,kBAArB0wM,EAAY1wM,GACvF0D,EAAO1D,GAAOohE,EACZsvI,EAAY1wM,GACZka,EAAOla,SAEqB,IAArB0wM,EAAY1wM,SAAmC,IAAhBka,EAAOla,GAC/C0D,EAAO1D,GAAO0wM,EAAY1wM,QACI,IAArB0wM,EAAY1wM,SAAmC,IAAhBka,EAAOla,KAC/C0D,EAAO1D,GAAOka,EAAOla,GACvB,IAEK0D,CACT,CACA,SAASkT,EAAI1C,EAAOyzB,GAClB,OAAOA,EAAKgkE,QAAO,CAACtnG,EAAK2+B,IACb,OAANA,GAAc/6B,MAAMqnD,QAAQjrD,GACvBA,EACK,MAAPA,OAAc,EAASA,EAAI2+B,IACjC9uB,EACL,CACA,SAAS/B,EAAI+B,EAAOyzB,EAAMqT,GACxB,MAAM61J,EAAgBlpK,EAAK0G,MAAM,GAAI,GAAGs9D,QAAO,CAACtnG,EAAK2+B,IAC9C,gBAAgBn9B,KAAKm9B,GAGjB,CAAC,EAFD3+B,EAAI2+B,GAAK3+B,EAAI2+B,IAAM,CAAC,GAG5B9uB,GACH,GAAIjM,MAAMqnD,QAAQuhJ,EAAclpK,EAAKA,EAAKnxB,OAAS,MAAQvO,MAAMqnD,QAAQtU,GAAM,CAC7E,MAAM++E,EAAS82E,EAAclpK,EAAKA,EAAKnxB,OAAS,IAAIvW,KAClD,CAAC+5B,EAAMunB,IACDt5C,MAAMqnD,QAAQt1B,IAAyB,kBAATA,EACzB,IAAIA,KAASghB,EAAIuG,IAEN,kBAATvnB,GAA8B,OAATA,GAAiBxP,OAAO8lC,KAAKt2B,GAAM6xE,MAAM7rG,GAAQiI,MAAMqnD,QAAQt1B,EAAKh6B,MAC3FohE,EAAMpnC,EAAMghB,EAAIuG,IAElB,IACFvnB,KACAghB,EAAIuG,MAIbsvJ,EAAclpK,EAAKA,EAAKnxB,OAAS,IAAMujH,CACzC,WAAqC,IAA1BpyF,EAAKA,EAAKnxB,OAAS,IAAiBvO,MAAMqnD,QAAQuhJ,IAAkB5oM,MAAMqnD,QAAQtU,GAC3F61J,EAActiK,QAAQyM,GAEtB61J,EAAclpK,EAAKA,EAAKnxB,OAAS,IAAMwkC,EAEzC,OAAO9mC,CACT,CACA,SAAS48L,EAAKC,EAAWC,GACvB,OAAOA,EAAMrlG,QACX,CAACslG,EAAUtpK,KACT,MAAMupK,EAAYvpK,EAAKmvC,MAAM,KAC7B,IAAKo6H,EAAU5sG,SAAS,MACtB,OAAOnyF,EAAI8+L,EAAUC,EAAWt6L,EAAIm6L,EAAWG,IAEjD,MAAMC,EAAaD,EAAUxhL,QAAQ,MAC/B0hL,EAAuBF,EAAU7iK,MAAM,EAAG8iK,GAC1CE,EAAsBH,EAAU7iK,MAAM,EAAG8iK,EAAa,GACtDG,EAAsBJ,EAAU7iK,MAAM8iK,EAAa,GACnDI,EAAkB36L,EACtBm6L,EACAM,GAEIG,EAA0B,GAChC,IAAK,MAAMx3K,KAAQu3K,EACkB,IAA/BD,EAAoB96L,SAAiBvO,MAAMqnD,QAAQt1B,IAAyB,kBAATA,EAKrEw3K,EAAwBjjK,KAAKvU,GAJ7Bw3K,EAAwBjjK,KACtBuiK,EAAK92K,EAAM,CAACs3K,EAAoB3pL,KAAK,QAM3C,OAAOxV,EAAI8+L,EAAUG,EAAsBI,EAAwB,GAErEvpM,MAAMqnD,QAAQyhJ,GAAa,GAAK,CAAC,EAErC,CAGA,SAASU,EAAazJ,EAAO3jK,EAASqtK,EAAY1xM,EAAK2xM,GACrD,IACE,MAAMC,EAAyB,MAAXvtK,OAAkB,EAASA,EAAQI,QAAQzkC,GAC3D4xM,GACF5J,EAAM6J,OAAqB,MAAdH,OAAqB,EAASA,EAAWI,YAAYF,GACtE,CAAE,MAAOj4M,GACHg4M,GACF7tL,QAAQnqB,MAAMA,EAClB,CACF,CACA,SAASo4M,EAAqBvB,EAAiB,CAAC,GAC9C,OAAQn6K,IACN,MACEw0D,SAAS,QAAEmnH,GAAS,MACpBhK,GACE3xK,EACJ,IAAK27K,EACH,OACF,MAAMC,GAAgBhqM,MAAMqnD,QAAQ0iJ,GAAWA,EAAQ/xM,KAAK+iC,GAAMutK,EAAiBvtK,EAAGwtK,KAAmB,CAACD,EAAiByB,EAASxB,KAAkBvwM,KACpJ,EACEokC,UAAU0/D,aACVmuG,gBAAgB,KAChBC,eAAe,KACfT,aAAa,CACXlnB,UAAW7mL,KAAK4c,UAChBuxL,YAAanuM,KAAK+tC,OAEpB1xC,MAAMgoM,EAAMoK,IACZpB,QAAQ,KACRW,SAAQ,MACJ,CACJttK,UACA6tK,gBACAC,eACAT,aACA1xM,MACAgxM,QACAW,YAGJM,EAAa78H,SAASi9H,IACpB,MAAM,QACJhuK,EAAO,WACPqtK,EAAU,IACV1xM,EAAG,MACHgxM,EAAK,cACLkB,EAAa,aACbC,EAAY,MACZR,GACEU,EACa,MAAjBH,GAAiCA,EAAc77K,GAC/Co7K,EAAazJ,EAAO3jK,EAASqtK,EAAY1xM,EAAK2xM,GAC9B,MAAhBQ,GAAgCA,EAAa97K,GAC7C2xK,EAAMsK,YACJ,CAACC,EAAWr+L,KACV,IACE,MAAMs+L,EAAUvqM,MAAMqnD,QAAQ0hJ,GAASF,EAAK58L,EAAO88L,GAAS98L,EAC5DmwB,EAAQE,QAAQvkC,EAAK0xM,EAAWlnB,UAAUgoB,GAC5C,CAAE,MAAO74M,GACHg4M,GACF7tL,QAAQnqB,MAAMA,EAClB,IAEF,CACEmrG,UAAU,GAEb,IAEHkjG,EAAMyK,SAAW,EAAGC,YAAW,GAAS,CAAC,KACvCT,EAAa78H,SAASi9H,IACpB,MAAM,cAAEH,EAAa,aAAEC,EAAY,QAAE9tK,EAAO,WAAEqtK,EAAU,IAAE1xM,EAAG,MAAE2xM,GAAUU,EACrEK,IACe,MAAjBR,GAAiCA,EAAc77K,IACjDo7K,EAAazJ,EAAO3jK,EAASqtK,EAAY1xM,EAAK2xM,GAC1Ce,IACc,MAAhBP,GAAgCA,EAAa97K,GAAQ,GACvD,CACH,CAEL,C,iBC5LA,IAAIs8K,EAAcZ,G;;;;;GCOlB,IAAIa,EAQJ,MAAMC,EAAkBC,GAAWF,EAAcE,EAK3CC,EAAsGlpG,SAE5G,SAAS3L,EAEThW,GACI,OAAQA,GACS,kBAANA,GAC+B,oBAAtC19D,OAAO7iB,UAAUuB,SAASxO,KAAKwtF,IACX,oBAAbA,EAAEkR,MACjB,CAMA,IAAI45G,GACJ,SAAWA,GAQPA,EAAa,UAAY,SAMzBA,EAAa,eAAiB,eAM9BA,EAAa,iBAAmB,gBAEnC,EAtBD,CAsBGA,IAAiBA,EAAe,CAAC,IAEpC,MAAMC,EAA8B,qBAAXt6J,OAOnBu6J,IAAe,2BAAuK,KAYtL1iI,EAAwB,KAAyB,kBAAX73B,QAAuBA,OAAOA,SAAWA,OAC/EA,OACgB,kBAAT79B,MAAqBA,KAAKA,OAASA,KACtCA,KACkB,kBAAXsL,QAAuBA,OAAOA,SAAWA,OAC5CA,OACsB,kBAAf0wE,WACHA,WACA,CAAEmhB,YAAa,MARH,GAS9B,SAASk7F,EAAIC,GAAM,QAAEC,GAAU,GAAU,CAAC,GAGtC,OAAIA,GACA,6EAA6ExtM,KAAKutM,EAAKtoM,MAChF,IAAIq5C,KAAK,CAAC3gB,OAAOyiI,aAAa,OAASmtC,GAAO,CAAEtoM,KAAMsoM,EAAKtoM,OAE/DsoM,CACX,CACA,SAASE,EAAS95M,EAAKO,EAAMswH,GACzB,MAAMp8F,EAAM,IAAIkB,eAChBlB,EAAImB,KAAK,MAAO51B,GAChBy0B,EAAIwhD,aAAe,OACnBxhD,EAAIk3B,OAAS,WACTouJ,EAAOtlL,EAAIyiB,SAAU32C,EAAMswH,EAC/B,EACAp8F,EAAI+wB,QAAU,WACVl7B,QAAQnqB,MAAM,0BAClB,EACAs0B,EAAIixB,MACR,CACA,SAASs0J,EAAYh6M,GACjB,MAAMy0B,EAAM,IAAIkB,eAEhBlB,EAAImB,KAAK,OAAQ51B,GAAK,GACtB,IACIy0B,EAAIixB,MACR,CACA,MAAOz9C,GAAK,CACZ,OAAOwsB,EAAI0wB,QAAU,KAAO1wB,EAAI0wB,QAAU,GAC9C,CAEA,SAASg9G,EAAMnhE,GACX,IACIA,EAAK/0E,cAAc,IAAIguL,WAAW,SACtC,CACA,MAAOhyM,GACH,MAAM4F,EAAMm/E,SAASzgE,YAAY,eACjC1e,EAAIqsM,eAAe,SAAS,GAAM,EAAM/6J,OAAQ,EAAG,EAAG,EAAG,GAAI,IAAI,GAAO,GAAO,GAAO,EAAO,EAAG,MAChG6hD,EAAK/0E,cAAcpe,EACvB,CACJ,CACA,MAAM+oC,EACgB,kBAAdqyD,UAAyBA,UAAY,CAAEtlG,UAAW,IAIpDw2M,EAA+B,KAAO,YAAY9tM,KAAKuqC,EAAWjzC,YACpE,cAAc0I,KAAKuqC,EAAWjzC,aAC7B,SAAS0I,KAAKuqC,EAAWjzC,WAFO,GAG/Bo2M,EAAUN,EAGqB,qBAAtBW,mBACH,aAAcA,kBAAkBjsM,YAC/BgsM,EACCE,EAEE,qBAAsBzjK,EAChB0jK,EAEEC,EAVlB,OAWN,SAASF,EAAeT,EAAMr5M,EAAO,WAAYswH,GAC7C,MAAMp+G,EAAIu6E,SAAS56E,cAAc,KACjCK,EAAEqnM,SAAWv5M,EACbkS,EAAE+nM,IAAM,WAGY,kBAATZ,GAEPnnM,EAAEF,KAAOqnM,EACLnnM,EAAEizF,SAAWt7E,SAASs7E,OAClBs0G,EAAYvnM,EAAEF,MACdunM,EAASF,EAAMr5M,EAAMswH,IAGrBp+G,EAAEpB,OAAS,SACX8wJ,EAAM1vJ,IAIV0vJ,EAAM1vJ,KAKVA,EAAEF,KAAOqsC,IAAI67J,gBAAgBb,GAC7BtxG,YAAW,WACP1pD,IAAI87J,gBAAgBjoM,EAAEF,KAC1B,GAAG,KACH+1F,YAAW,WACP65D,EAAM1vJ,EACV,GAAG,GAEX,CACA,SAAS6nM,EAASV,EAAMr5M,EAAO,WAAYswH,GACvC,GAAoB,kBAAT+oF,EACP,GAAII,EAAYJ,GACZE,EAASF,EAAMr5M,EAAMswH,OAEpB,CACD,MAAMp+G,EAAIu6E,SAAS56E,cAAc,KACjCK,EAAEF,KAAOqnM,EACTnnM,EAAEpB,OAAS,SACXi3F,YAAW,WACP65D,EAAM1vJ,EACV,GACJ,MAIAw2F,UAAU0xG,iBAAiBhB,EAAIC,EAAM/oF,GAAOtwH,EAEpD,CACA,SAASg6M,EAAgBX,EAAMr5M,EAAMswH,EAAM+pF,GAOvC,GAJAA,EAAQA,GAAShlL,KAAK,GAAI,UACtBglL,IACAA,EAAM5tH,SAAS93C,MAAQ0lK,EAAM5tH,SAAS7lC,KAAK0zJ,UAAY,kBAEvC,kBAATjB,EACP,OAAOE,EAASF,EAAMr5M,EAAMswH,GAChC,MAAMiqF,EAAsB,6BAAdlB,EAAKtoM,KACbypM,EAAW,eAAe1uM,KAAK29B,OAAOgtC,EAAQynC,eAAiB,WAAYznC,EAC3EgkI,EAAc,eAAe3uM,KAAK48F,UAAUtlG,WAClD,IAAKq3M,GAAgBF,GAASC,GAAaZ,IACjB,qBAAfc,WAA4B,CAEnC,MAAMC,EAAS,IAAID,WACnBC,EAAOC,UAAY,WACf,IAAIn7M,EAAMk7M,EAAOhxM,OACjB,GAAmB,kBAARlK,EAEP,MADA46M,EAAQ,KACF,IAAIn/G,MAAM,4BAEpBz7F,EAAMg7M,EACAh7M,EACAA,EAAImU,QAAQ,eAAgB,yBAC9BymM,EACAA,EAAMxwL,SAAS7X,KAAOvS,EAGtBoqB,SAASigF,OAAOrqG,GAEpB46M,EAAQ,IACZ,EACAM,EAAOE,cAAcxB,EACzB,KACK,CACD,MAAM55M,EAAM4+C,IAAI67J,gBAAgBb,GAC5BgB,EACAA,EAAMxwL,SAASigF,OAAOrqG,GAEtBoqB,SAAS7X,KAAOvS,EACpB46M,EAAQ,KACRtyG,YAAW,WACP1pD,IAAI87J,gBAAgB16M,EACxB,GAAG,IACP,CACJ,CAQA,SAASq7M,EAAat7M,EAASuR,GAC3B,MAAMgqM,EAAe,MAAQv7M,EACS,oBAA3Bw7M,uBAEPA,uBAAuBD,EAAchqM,GAEvB,UAATA,EACLgZ,QAAQnqB,MAAMm7M,GAEA,SAAThqM,EACLgZ,QAAQwtH,KAAKwjE,GAGbhxL,QAAQkxL,IAAIF,EAEpB,CACA,SAASG,EAAQ/sH,GACb,MAAO,OAAQA,GAAK,YAAaA,CACrC,CAMA,SAASgtH,IACL,KAAM,cAAezyG,WAEjB,OADAoyG,EAAa,iDAAkD,UACxD,CAEf,CACA,SAASM,EAAqBx7M,GAC1B,SAAIA,aAAiBs7F,OACjBt7F,EAAMJ,QAAQmU,cAAc42F,SAAS,8BACrCuwG,EAAa,kGAAmG,SACzG,EAGf,CACAv2K,eAAe82K,EAAsBtC,GACjC,IAAIoC,IAEJ,UACUzyG,UAAU4yG,UAAUC,UAAU3xM,KAAK4c,UAAUuyL,EAAM5+L,MAAMvT,QAC/Dk0M,EAAa,oCACjB,CACA,MAAOl7M,GACH,GAAIw7M,EAAqBx7M,GACrB,OACJk7M,EAAa,qEAAsE,SACnF/wL,QAAQnqB,MAAMA,EAClB,CACJ,CACA2kC,eAAei3K,EAAuBzC,GAClC,IAAIoC,IAEJ,IACIM,EAAgB1C,EAAOnvM,KAAK+tC,YAAY+wD,UAAU4yG,UAAUI,aAC5DZ,EAAa,sCACjB,CACA,MAAOl7M,GACH,GAAIw7M,EAAqBx7M,GACrB,OACJk7M,EAAa,sFAAuF,SACpG/wL,QAAQnqB,MAAMA,EAClB,CACJ,CACA2kC,eAAeo3K,EAAsB5C,GACjC,IACIS,EAAO,IAAIpvJ,KAAK,CAACxgD,KAAK4c,UAAUuyL,EAAM5+L,MAAMvT,QAAS,CACjDmK,KAAM,6BACN,mBACR,CACA,MAAOnR,GACHk7M,EAAa,0EAA2E,SACxF/wL,QAAQnqB,MAAMA,EAClB,CACJ,CACA,IAAIg8M,EACJ,SAASC,IAML,SAASC,IACL,OAAO,IAAItxG,SAAQ,CAAC7/C,EAASC,KACzBgxJ,EAAUG,SAAWx3K,UACjB,MAAMy3K,EAAQJ,EAAUI,MACxB,IAAKA,EACD,OAAOrxJ,EAAQ,MACnB,MAAMqmH,EAAOgrC,EAAM/7K,KAAK,GACxB,OAEO0qB,EAFFqmH,EAEU,CAAElrJ,WAAYkrJ,EAAKlrJ,OAAQkrJ,QADvB,KAC8B,EAGrD4qC,EAAUK,SAAW,IAAMtxJ,EAAQ,MACnCixJ,EAAU32J,QAAU2F,EACpBgxJ,EAAUh6C,OAAO,GAEzB,CACA,OAtBKg6C,IACDA,EAAYnvH,SAAS56E,cAAc,SACnC+pM,EAAU7qM,KAAO,OACjB6qM,EAAUt3L,OAAS,SAmBhBw3L,CACX,CACAv3K,eAAe23K,EAA0BnD,GACrC,IACI,MAAM1jL,EAAOwmL,IACPlyM,QAAe0rB,IACrB,IAAK1rB,EACD,OACJ,MAAM,KAAEmc,EAAI,KAAEkrJ,GAASrnK,EACvB8xM,EAAgB1C,EAAOnvM,KAAK+tC,MAAM7xB,IAClCg1L,EAAa,+BAA+B9pC,EAAKhxK,SACrD,CACA,MAAOJ,GACHk7M,EAAa,4EAA6E,SAC1F/wL,QAAQnqB,MAAMA,EAClB,CACJ,CACA,SAAS67M,EAAgB1C,EAAO5+L,GAC5B,IAAK,MAAMlU,KAAOkU,EAAO,CACrB,MAAMgiM,EAAapD,EAAM5+L,MAAMvT,MAAMX,GAEjCk2M,EACA1rL,OAAOq5E,OAAOqyG,EAAYhiM,EAAMlU,IAIhC8yM,EAAM5+L,MAAMvT,MAAMX,GAAOkU,EAAMlU,EAEvC,CACJ,CAEA,SAASm2M,EAAcv+D,GACnB,MAAO,CACHw+D,QAAS,CACLx+D,WAGZ,CACA,MAAMy+D,EAAmB,kBACnBC,EAAgB,QACtB,SAASC,EAA4BvO,GACjC,OAAOiN,EAAQjN,GACT,CACEjmM,GAAIu0M,EACJE,MAAOH,GAET,CACEt0M,GAAIimM,EAAMoK,IACVoE,MAAOxO,EAAMoK,IAEzB,CACA,SAASqE,EAA6BzO,GAClC,GAAIiN,EAAQjN,GAAQ,CAChB,MAAM0O,EAAazuM,MAAM07B,KAAKqkK,EAAM2O,GAAGrmJ,QACjCsmJ,EAAW5O,EAAM2O,GACjBziM,EAAQ,CACVA,MAAOwiM,EAAWz2M,KAAK42M,IAAY,CAC/BC,UAAU,EACV92M,IAAK62M,EACLl2M,MAAOqnM,EAAM9zL,MAAMvT,MAAMk2M,OAE7BE,QAASL,EACJ39I,QAAQh3D,GAAO60M,EAAShgM,IAAI7U,GAAIi1M,WAChC/2M,KAAK8B,IACN,MAAMimM,EAAQ4O,EAAShgM,IAAI7U,GAC3B,MAAO,CACH+0M,UAAU,EACV92M,IAAK+B,EACLpB,MAAOqnM,EAAMgP,SAASrrG,QAAO,CAACorG,EAAS/2M,KACnC+2M,EAAQ/2M,GAAOgoM,EAAMhoM,GACd+2M,IACR,CAAC,GACP,KAGT,OAAO7iM,CACX,CACA,MAAMA,EAAQ,CACVA,MAAOsW,OAAO8lC,KAAK03I,EAAMiP,QAAQh3M,KAAKD,IAAQ,CAC1C82M,UAAU,EACV92M,MACAW,MAAOqnM,EAAMiP,OAAOj3M,QAkB5B,OAdIgoM,EAAMgP,UAAYhP,EAAMgP,SAASxgM,SACjCtC,EAAM6iM,QAAU/O,EAAMgP,SAAS/2M,KAAKi3M,IAAe,CAC/CJ,UAAU,EACV92M,IAAKk3M,EACLv2M,MAAOqnM,EAAMkP,QAGjBlP,EAAMmP,kBAAkBjxM,OACxBgO,EAAM0xB,iBAAmB39B,MAAM07B,KAAKqkK,EAAMmP,mBAAmBl3M,KAAKD,IAAQ,CACtE82M,UAAU,EACV92M,MACAW,MAAOqnM,EAAMhoM,QAGdkU,CACX,CACA,SAASkjM,EAAgBhvL,GACrB,OAAKA,EAEDngB,MAAMqnD,QAAQlnC,GAEPA,EAAOujF,QAAO,CAAChsG,EAAMkmB,KACxBlmB,EAAK2wD,KAAK/hB,KAAK1oB,EAAM7lB,KACrBL,EAAK03M,WAAW9oK,KAAK1oB,EAAM/a,MAC3BnL,EAAKuqG,SAASrkF,EAAM7lB,KAAO6lB,EAAMqkF,SACjCvqG,EAAK4P,SAASsW,EAAM7lB,KAAO6lB,EAAMtW,SAC1B5P,IACR,CACCuqG,SAAU,CAAC,EACX55C,KAAM,GACN+mJ,WAAY,GACZ9nM,SAAU,CAAC,IAIR,CACH+nM,UAAWnB,EAAc/tL,EAAOtd,MAChC9K,IAAKm2M,EAAc/tL,EAAOpoB,KAC1BkqG,SAAU9hF,EAAO8hF,SACjB36F,SAAU6Y,EAAO7Y,UArBd,CAAC,CAwBhB,CACA,SAASgoM,EAAmBzsM,GACxB,OAAQA,GACJ,KAAKkoM,EAAawE,OACd,MAAO,WACX,KAAKxE,EAAayE,cACd,MAAO,SACX,KAAKzE,EAAa0E,YACd,MAAO,SACX,QACI,MAAO,UAEnB,CAGA,IAAIC,GAAmB,EACvB,MAAMC,EAAsB,0BAAE,KAAF,GACtBC,EAAqB,kBACrBC,EAAe,SACbj0G,OAAQk0G,GAAavtL,OAOvBwtL,EAAgBj2M,GAAO,MAAQA,EAQrC,SAASk2M,EAAsBnvJ,EAAKgqJ,IAChC,QAAoB,CAChB/wM,GAAI,gBACJy0M,MAAO,WACP0B,KAAM,mCACNC,YAAa,QACbC,SAAU,0BACVR,sBACA9uJ,QACAkqI,IACuB,oBAAZA,EAAIrkL,KACXkmM,EAAa,2MAEjB7hB,EAAIqlB,iBAAiB,CACjBt2M,GAAI81M,EACJrB,MAAO,WACP8B,MAAO,WAEXtlB,EAAIulB,aAAa,CACbx2M,GAAI+1M,EACJtB,MAAO,WACPgC,KAAM,UACNC,sBAAuB,gBACvBC,QAAS,CACL,CACIF,KAAM,eACNtmK,OAAQ,KACJkjK,EAAsBtC,EAAM,EAEhC6F,QAAS,gCAEb,CACIH,KAAM,gBACNtmK,OAAQ5T,gBACEi3K,EAAuBzC,GAC7B9f,EAAI4lB,kBAAkBd,GACtB9kB,EAAI6lB,mBAAmBf,EAAa,EAExCa,QAAS,wDAEb,CACIH,KAAM,OACNtmK,OAAQ,KACJwjK,EAAsB5C,EAAM,EAEhC6F,QAAS,iCAEb,CACIH,KAAM,cACNtmK,OAAQ5T,gBACE23K,EAA0BnD,GAChC9f,EAAI4lB,kBAAkBd,GACtB9kB,EAAI6lB,mBAAmBf,EAAa,EAExCa,QAAS,sCAGjBG,YAAa,CACT,CACIN,KAAM,UACNG,QAAS,kCACTzmK,OAAS6mK,IACL,MAAM/Q,EAAQ8K,EAAM6D,GAAG//L,IAAImiM,GACtB/Q,EAG4B,oBAAjBA,EAAMgR,OAClBnE,EAAa,iBAAiBkE,kEAAwE,SAGtG/Q,EAAMgR,SACNnE,EAAa,UAAUkE,cAPvBlE,EAAa,iBAAiBkE,oCAA0C,OAQ5E,MAKhB/lB,EAAI9uF,GAAG+0G,kBAAiB,CAACh1J,EAASjzB,KAC9B,MAAM8E,EAASmuB,EAAQi1J,mBACnBj1J,EAAQi1J,kBAAkBpjL,MAC9B,GAAIA,GAASA,EAAMqjL,SAAU,CACzB,MAAMC,EAAcn1J,EAAQi1J,kBAAkBpjL,MAAMqjL,SACpD3uL,OAAOwf,OAAOovK,GAAahkI,SAAS4yH,IAChC/jJ,EAAQo1J,aAAanlM,MAAMq6B,KAAK,CAC5BzjC,KAAMktM,EAAahQ,EAAMoK,KACzBpyM,IAAK,QACL82M,UAAU,EACVn2M,MAAOqnM,EAAMsR,cACP,CACElD,QAAS,CACLz1M,OAAO,QAAMqnM,EAAMiP,QACnByB,QAAS,CACL,CACIF,KAAM,UACNG,QAAS,gCACTzmK,OAAQ,IAAM81J,EAAMgR,aAMhCxuL,OAAO8lC,KAAK03I,EAAMiP,QAAQtrG,QAAO,CAACz3F,EAAOlU,KACrCkU,EAAMlU,GAAOgoM,EAAMiP,OAAOj3M,GACnBkU,IACR,CAAC,KAEZ8zL,EAAMgP,UAAYhP,EAAMgP,SAASxgM,QACjCytC,EAAQo1J,aAAanlM,MAAMq6B,KAAK,CAC5BzjC,KAAMktM,EAAahQ,EAAMoK,KACzBpyM,IAAK,UACL82M,UAAU,EACVn2M,MAAOqnM,EAAMgP,SAASrrG,QAAO,CAACorG,EAAS/2M,KACnC,IACI+2M,EAAQ/2M,GAAOgoM,EAAMhoM,EACzB,CACA,MAAOrG,GAEHo9M,EAAQ/2M,GAAOrG,CACnB,CACA,OAAOo9M,CAAO,GACf,CAAC,IAEZ,GAER,KAEJ/jB,EAAI9uF,GAAGq1G,kBAAkBt1J,IACrB,GAAIA,EAAQ6E,MAAQA,GAAO7E,EAAQu1J,cAAgB1B,EAAc,CAC7D,IAAI2B,EAAS,CAAC3G,GACd2G,EAASA,EAAOtuM,OAAOlD,MAAM07B,KAAKmvK,EAAM6D,GAAG3sK,WAC3Cia,EAAQy1J,WAAaz1J,EAAQ8U,OACvB0gJ,EAAO1gJ,QAAQivI,GAAU,QAASA,EAC9BA,EAAMoK,IACH1kM,cACA42F,SAASrgD,EAAQ8U,OAAOrrD,eAC3B2oM,EAAiB3oM,cAAc42F,SAASrgD,EAAQ8U,OAAOrrD,iBAC3D+rM,GAAQx5M,IAAIs2M,EACtB,KAEJvjB,EAAI9uF,GAAGy1G,mBAAmB11J,IACtB,GAAIA,EAAQ6E,MAAQA,GAAO7E,EAAQu1J,cAAgB1B,EAAc,CAC7D,MAAM8B,EAAiB31J,EAAQ80J,SAAWzC,EACpCxD,EACAA,EAAM6D,GAAG//L,IAAIqtC,EAAQ80J,QAC3B,IAAKa,EAGD,OAEAA,IACA31J,EAAQ/vC,MAAQuiM,EAA6BmD,GAErD,KAEJ5mB,EAAI9uF,GAAG21G,oBAAmB,CAAC51J,EAASjzB,KAChC,GAAIizB,EAAQ6E,MAAQA,GAAO7E,EAAQu1J,cAAgB1B,EAAc,CAC7D,MAAM8B,EAAiB31J,EAAQ80J,SAAWzC,EACpCxD,EACAA,EAAM6D,GAAG//L,IAAIqtC,EAAQ80J,QAC3B,IAAKa,EACD,OAAO/E,EAAa,UAAU5wJ,EAAQ80J,oBAAqB,SAE/D,MAAM,KAAEpxK,GAASsc,EACZgxJ,EAAQ2E,GAUTjyK,EAAKukE,QAAQ,SARO,IAAhBvkE,EAAKnxB,QACJojM,EAAezC,kBAAkB9wG,IAAI1+D,EAAK,OAC3CA,EAAK,KAAMiyK,EAAe3C,SAC1BtvK,EAAKukE,QAAQ,UAOrByrG,GAAmB,EACnB1zJ,EAAQ9xC,IAAIynM,EAAgBjyK,EAAMsc,EAAQ/vC,MAAMvT,OAChDg3M,GAAmB,CACvB,KAEJ3kB,EAAI9uF,GAAG41G,oBAAoB71J,IACvB,GAAIA,EAAQn5C,KAAK6qH,WAAW,MAAO,CAC/B,MAAMkhF,EAAU5yJ,EAAQn5C,KAAK6C,QAAQ,SAAU,IACzCq6L,EAAQ8K,EAAM6D,GAAG//L,IAAIigM,GAC3B,IAAK7O,EACD,OAAO6M,EAAa,UAAUgC,eAAsB,SAExD,MAAM,KAAElvK,GAASsc,EACjB,GAAgB,UAAZtc,EAAK,GACL,OAAOktK,EAAa,2BAA2BgC,QAAclvK,kCAIjEA,EAAK,GAAK,SACVgwK,GAAmB,EACnB1zJ,EAAQ9xC,IAAI61L,EAAOrgK,EAAMsc,EAAQ/vC,MAAMvT,OACvCg3M,GAAmB,CACvB,IACF,GAEV,CACA,SAASoC,EAAmBjxJ,EAAKk/I,GACxB4P,EAAoBtzG,SAAS0zG,EAAahQ,EAAMoK,OACjDwF,EAAoBrpK,KAAKypK,EAAahQ,EAAMoK,OAEhD,QAAoB,CAChBrwM,GAAI,gBACJy0M,MAAO,WACP0B,KAAM,mCACNC,YAAa,QACbC,SAAU,0BACVR,sBACA9uJ,MACA46C,SAAU,CACNs2G,gBAAiB,CACbxD,MAAO,kCACP1rM,KAAM,UACNsI,cAAc,MAQtB4/K,IAEA,MAAMrkL,EAAyB,oBAAZqkL,EAAIrkL,IAAqBqkL,EAAIrkL,IAAI6K,KAAKw5K,GAAOpwL,KAAK+L,IACrEq5L,EAAMiS,WAAU,EAAGr9B,QAAO7wD,UAAShyH,OAAMsc,WACrC,MAAM6jM,EAAUC,IAChBnnB,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAO,CACHljB,KAAMgM,IACN+/B,MAAO,MAAQ30C,EACfugN,SAAU,QACV36M,KAAM,CACFqoM,MAAOmO,EAAcnO,EAAMoK,KAC3BlgK,OAAQikK,EAAcp8M,GACtBsc,QAEJ6jM,aAGRt9B,GAAOl5K,IACH62M,OAAeh6M,EACfyyL,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAO,CACHljB,KAAMgM,IACN+/B,MAAO,MAAQ30C,EACfugN,SAAU,MACV36M,KAAM,CACFqoM,MAAOmO,EAAcnO,EAAMoK,KAC3BlgK,OAAQikK,EAAcp8M,GACtBsc,OACA3S,UAEJw2M,YAEN,IAENnuF,GAASpyH,IACL4gN,OAAeh6M,EACfyyL,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAO,CACHljB,KAAMgM,IACN6rM,QAAS,QACT9rK,MAAO,MAAQ30C,EACfugN,SAAU,MACV36M,KAAM,CACFqoM,MAAOmO,EAAcnO,EAAMoK,KAC3BlgK,OAAQikK,EAAcp8M,GACtBsc,OACA1c,SAEJugN,YAEN,GACJ,IACH,GACHlS,EAAMmP,kBAAkB/hI,SAASr7E,KAC7B,SAAM,KAAM,QAAMiuM,EAAMjuM,MAAQ,CAACwV,EAAU26F,KACvC8oF,EAAIynB,wBACJznB,EAAI6lB,mBAAmBf,GACnBH,GACA3kB,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAO,CACHljB,KAAMgM,IACN+/B,MAAO,SACP4rK,SAAUvgN,EACV4F,KAAM,CACF4P,WACA26F,YAEJgwG,QAASK,IAGrB,GACD,CAAEptL,MAAM,GAAO,IAEtB66K,EAAMsK,YAAW,EAAGlqL,SAAQtd,QAAQoJ,KAGhC,GAFA8+K,EAAIynB,wBACJznB,EAAI6lB,mBAAmBf,IAClBH,EACD,OAEJ,MAAMxsJ,EAAY,CACdxoD,KAAMgM,IACN+/B,MAAO6oK,EAAmBzsM,GAC1BnL,KAAMo4M,EAAS,CAAE/P,MAAOmO,EAAcnO,EAAMoK,MAAQgF,EAAgBhvL,IACpE8xL,QAASK,GAETzvM,IAASkoM,EAAayE,cACtBtsJ,EAAUmvJ,SAAW,KAEhBxvM,IAASkoM,EAAa0E,YAC3BvsJ,EAAUmvJ,SAAW,KAEhBlyL,IAAWngB,MAAMqnD,QAAQlnC,KAC9B+iC,EAAUmvJ,SAAWlyL,EAAOtd,MAE5Bsd,IACA+iC,EAAUxrD,KAAK,eAAiB,CAC5By2M,QAAS,CACLx+D,QAAS,gBACT9sI,KAAM,SACN6tM,QAAS,sBACTh4M,MAAOynB,KAInB4qK,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAOslC,GACT,GACH,CAAE25C,UAAU,EAAM52D,MAAO,SAC5B,MAAMwsK,EAAY1S,EAAM2S,WACxB3S,EAAM2S,YAAa,SAASC,IACxBF,EAAUE,GACV5nB,EAAIonB,iBAAiB,CACjBC,QAASxC,EACThyL,MAAO,CACHljB,KAAMgM,IACN+/B,MAAO,MAAQs5J,EAAMoK,IACrBkI,SAAU,aACV36M,KAAM,CACFqoM,MAAOmO,EAAcnO,EAAMoK,KAC3B1zK,KAAMy3K,EAAc,kBAKhCnjB,EAAIynB,wBACJznB,EAAI4lB,kBAAkBd,GACtB9kB,EAAI6lB,mBAAmBf,EAAa,IAExC,MAAM,SAAE+C,GAAa7S,EACrBA,EAAM6S,SAAW,KACbA,IACA7nB,EAAIynB,wBACJznB,EAAI4lB,kBAAkBd,GACtB9kB,EAAI6lB,mBAAmBf,GACvB9kB,EAAIhvF,cAAcg2G,iBACdnF,EAAa,aAAa7M,EAAMoK,gBAAgB,EAGxDpf,EAAIynB,wBACJznB,EAAI4lB,kBAAkBd,GACtB9kB,EAAI6lB,mBAAmBf,GACvB9kB,EAAIhvF,cAAcg2G,iBACdnF,EAAa,IAAI7M,EAAMoK,0BAA0B,GAE7D,CACA,IACImI,EADAJ,EAAkB,EAUtB,SAASW,EAAuB9S,EAAO+S,EAAaC,GAEhD,MAAMtC,EAAUqC,EAAYpvG,QAAO,CAACsvG,EAAcC,KAE9CD,EAAaC,IAAc,QAAMlT,GAAOkT,GACjCD,IACR,CAAC,GACJ,IAAK,MAAMC,KAAcxC,EACrB1Q,EAAMkT,GAAc,WAEhB,MAAMC,EAAYhB,EACZiB,EAAeJ,EACf,IAAIr4G,MAAMqlG,EAAO,CACf,GAAApxL,IAAOP,GAEH,OADAkkM,EAAeY,EACRxtG,QAAQ/2F,OAAOP,EAC1B,EACA,GAAAlE,IAAOkE,GAEH,OADAkkM,EAAeY,EACRxtG,QAAQx7F,OAAOkE,EAC1B,IAEF2xL,EAENuS,EAAeY,EACf,MAAME,EAAW3C,EAAQwC,GAAY1zI,MAAM4zI,EAAc7kM,WAGzD,OADAgkM,OAAeh6M,EACR86M,CACX,CAER,CAIA,SAASC,IAAe,IAAExyJ,EAAG,MAAEk/I,EAAK,QAAEn9G,IAElC,GAAIm9G,EAAMoK,IAAIz8E,WAAW,UACrB,OAGJqyE,EAAMsR,gBAAkBzuH,EAAQ32E,MAChC4mM,EAAuB9S,EAAOx9K,OAAO8lC,KAAKu6B,EAAQ6tH,SAAU1Q,EAAMsR,eAElE,MAAMiC,EAAoBvT,EAAM2S,YAChC,QAAM3S,GAAO2S,WAAa,SAAUC,GAChCW,EAAkB/zI,MAAM7sE,KAAM4b,WAC9BukM,EAAuB9S,EAAOx9K,OAAO8lC,KAAKsqJ,EAASY,YAAY9C,WAAY1Q,EAAMsR,cACrF,EACAS,EAAmBjxJ,EAEnBk/I,EACJ,CAKA,SAASyT,KACL,MAAMjnG,GAAQ,SAAY,GAGpBtgG,EAAQsgG,EAAM/3F,KAAI,KAAM,QAAI,CAAC,KACnC,IAAIi/L,EAAK,GAELC,EAAgB,GACpB,MAAM7I,GAAQ,QAAQ,CAClB,OAAA53E,CAAQpyE,GAGJ+pJ,EAAeC,GACV,QACDA,EAAMvrM,GAAKuhD,EACXA,EAAI8tE,QAAQm8E,EAAaD,GACzBhqJ,EAAIh8C,OAAO0nH,iBAAiBonF,OAAS9I,EAEjCI,GACA+E,EAAsBnvJ,EAAKgqJ,GAE/B6I,EAAcvmI,SAASt9C,GAAW4jL,EAAGntK,KAAKzW,KAC1C6jL,EAAgB,GAExB,EACA,GAAApnM,CAAIujB,GAOA,OANKn9B,KAAK4M,IAAO,MAIbm0M,EAAGntK,KAAKzW,GAHR6jL,EAAcptK,KAAKzW,GAKhBn9B,IACX,EACA+gN,KAGAn0M,GAAI,KACJs0M,GAAIrnG,EACJmiG,GAAI,IAAI1sG,IACR/1F,UAOJ,OAHIg/L,GAAiC,qBAAVvwG,OACvBmwG,EAAMv+L,IAAI+mM,IAEPxI,CACX,CAkGA,MAAMh2C,GAAO,OACb,SAASg/C,GAAgBC,EAAeziM,EAAUwrF,EAAUk3G,EAAYl/C,IACpEi/C,EAAcxtK,KAAKj1B,GACnB,MAAM2iM,EAAqB,KACvB,MAAM9kM,EAAM4kM,EAAcrsL,QAAQpW,GAC9BnC,GAAO,IACP4kM,EAAcv1M,OAAO2Q,EAAK,GAC1B6kM,IACJ,EAKJ,OAHKl3G,IAAY,YACb,QAAem3G,GAEZA,CACX,CACA,SAASC,GAAqBH,KAAkB1lM,GAC5C0lM,EAAc1tK,QAAQ+mC,SAAS97D,IAC3BA,KAAYjD,EAAK,GAEzB,CAEA,MAAM8lM,GAA0B9nM,GAAOA,IACvC,SAAS+nM,GAAqBvxM,EAAQwxM,GAE9BxxM,aAAkBo/F,KAAOoyG,aAAwBpyG,KACjDoyG,EAAajnI,SAAQ,CAACz0E,EAAOX,IAAQ6K,EAAOsH,IAAInS,EAAKW,KAGrDkK,aAAkBiiG,KAAOuvG,aAAwBvvG,KACjDuvG,EAAajnI,QAAQvqE,EAAOsN,IAAKtN,GAGrC,IAAK,MAAM7K,KAAOq8M,EAAc,CAC5B,IAAKA,EAAa9oH,eAAevzF,GAC7B,SACJ,MAAMs8M,EAAWD,EAAar8M,GACxBu8M,EAAc1xM,EAAO7K,GACvBk+F,EAAcq+G,IACdr+G,EAAco+G,IACdzxM,EAAO0oF,eAAevzF,MACrB,QAAMs8M,MACN,QAAWA,GAIZzxM,EAAO7K,GAAOo8M,GAAqBG,EAAaD,GAIhDzxM,EAAO7K,GAAOs8M,CAEtB,CACA,OAAOzxM,CACX,CACA,MAAM2xM,GAE2B3yG,SAC3B4yG,GAA+B,IAAI9yG,QAoBzC,SAAS+yG,GAAcr4M,GACnB,OAAO,OAC2Bo4M,GAAep2G,IAAIhiG,IAC9C65F,EAAc75F,KAASA,EAAIkvF,eAAeipH,GACrD,CACA,MAAM,OAAE34G,IAAWr5E,OACnB,SAASk9E,GAAWxf,GAChB,UAAU,QAAMA,KAAMA,EAAE8gB,OAC5B,CACA,SAAS2zG,GAAmB56M,EAAI8oF,EAASioH,EAAO8J,GAC5C,MAAM,MAAE1oM,EAAK,QAAEwkM,EAAO,QAAE3B,GAAYlsH,EAC9BgyH,EAAe/J,EAAM5+L,MAAMvT,MAAMoB,GACvC,IAAIimM,EACJ,SAASrnF,IACAk8F,IAEG,OACA,SAAI/J,EAAM5+L,MAAMvT,MAAOoB,EAAImS,EAAQA,IAAU,CAAC,GAG9C4+L,EAAM5+L,MAAMvT,MAAMoB,GAAMmS,EAAQA,IAAU,CAAC,GAInD,MAAM4oM,GAGA,QAAOhK,EAAM5+L,MAAMvT,MAAMoB,IAC/B,OAAO8hG,GAAOi5G,EAAYpE,EAASluL,OAAO8lC,KAAKymJ,GAAW,CAAC,GAAGprG,QAAO,CAACoxG,EAAiBhjN,KAInFgjN,EAAgBhjN,IAAQ,SAAQ,SAAS,KACrC84M,EAAeC,GAEf,MAAM9K,EAAQ8K,EAAM6D,GAAG//L,IAAI7U,GAG3B,IAAI,OAAWimM,EAAMgV,GAKrB,OAAOjG,EAAQh9M,GAAMW,KAAKstM,EAAOA,EAAM,KAEpC+U,IACR,CAAC,GACR,CAEA,OADA/U,EAAQiV,GAAiBl7M,EAAI4+G,EAAO91B,EAASioH,EAAO8J,GAAK,GAClD5U,CACX,CACA,SAASiV,GAAiB7K,EAAKzxF,EAAO91B,EAAU,CAAC,EAAGioH,EAAO8J,EAAKM,GAC5D,IAAI1oG,EACJ,MAAM2oG,EAAmBt5G,GAAO,CAAE60G,QAAS,CAAC,GAAK7tH,GAMjD,MAAMuyH,EAAoB,CACtBjwL,MAAM,GAwBV,IAAIq0B,EACA67J,EACJ,IAEIC,EAFAvB,EAAgB,GAChBwB,EAAsB,GAE1B,MAAMV,EAAe/J,EAAM5+L,MAAMvT,MAAMyxM,GAGlC8K,GAAmBL,IAEhB,OACA,SAAI/J,EAAM5+L,MAAMvT,MAAOyxM,EAAK,CAAC,GAG7BU,EAAM5+L,MAAMvT,MAAMyxM,GAAO,CAAC,GAGlC,MAAMoL,GAAW,QAAI,CAAC,GAGtB,IAAIC,EACJ,SAAS5L,EAAO6L,GACZ,IAAIC,EACJn8J,EAAc67J,GAAkB,EAMK,oBAA1BK,GACPA,EAAsB5K,EAAM5+L,MAAMvT,MAAMyxM,IACxCuL,EAAuB,CACnB7yM,KAAMkoM,EAAayE,cACnBZ,QAASzE,EACThqL,OAAQk1L,KAIZlB,GAAqBtJ,EAAM5+L,MAAMvT,MAAMyxM,GAAMsL,GAC7CC,EAAuB,CACnB7yM,KAAMkoM,EAAa0E,YACnBzzJ,QAASy5J,EACT7G,QAASzE,EACThqL,OAAQk1L,IAGhB,MAAMM,EAAgBH,EAAiB5zG,UACvC,UAAW90B,MAAK,KACR0oI,IAAmBG,IACnBp8J,GAAc,EAClB,IAEJ67J,GAAkB,EAElBnB,GAAqBH,EAAe4B,EAAsB7K,EAAM5+L,MAAMvT,MAAMyxM,GAChF,CACA,MAAM4G,EAASkE,EACT,WACE,MAAM,MAAEhpM,GAAU22E,EACZ5pC,EAAW/sC,EAAQA,IAAU,CAAC,EAEpCvZ,KAAKk3M,QAAQoF,IACTpzG,GAAOozG,EAAQh2J,EAAS,GAEhC,EAMU67G,GACd,SAAS+9C,IACLrmG,EAAMviE,OACN8pK,EAAgB,GAChBwB,EAAsB,GACtBzK,EAAM6D,GAAGrwG,OAAO8rG,EACpB,CAQA,SAASyL,EAAW9jN,EAAMm4C,GACtB,OAAO,WACH2gK,EAAeC,GACf,MAAMz8L,EAAOpO,MAAM07B,KAAKptB,WAClBunM,EAAoB,GACpBC,EAAsB,GAC5B,SAASnhC,EAAMtjK,GACXwkM,EAAkBvvK,KAAKj1B,EAC3B,CACA,SAASyyG,EAAQzyG,GACbykM,EAAoBxvK,KAAKj1B,EAC7B,CASA,IAAI84F,EAPJ8pG,GAAqBqB,EAAqB,CACtClnM,OACAtc,OACAiuM,QACAprB,QACA7wD,YAGJ,IACI3Z,EAAMlgE,EAAOs1B,MAAM7sE,MAAQA,KAAKy3M,MAAQA,EAAMz3M,KAAOqtM,EAAO3xL,EAEhE,CACA,MAAO1c,GAEH,MADAuiN,GAAqB6B,EAAqBpkN,GACpCA,CACV,CACA,OAAIy4G,aAAe7N,QACR6N,EACFr9B,MAAMp0E,IACPu7M,GAAqB4B,EAAmBn9M,GACjCA,KAEN00E,OAAO17E,IACRuiN,GAAqB6B,EAAqBpkN,GACnC4qG,QAAQ5/C,OAAOhrD,OAI9BuiN,GAAqB4B,EAAmB1rG,GACjCA,EACX,CACJ,CACA,MAAMopG,GAA4B,QAAQ,CACtC9C,QAAS,CAAC,EACV3B,QAAS,CAAC,EACV7iM,MAAO,GACPspM,aAEEQ,EAAe,CACjBtC,GAAI5I,EAEJV,MACA6H,UAAW6B,GAAgBtiM,KAAK,KAAM+jM,GACtC1L,SACAmH,SACA,UAAA1G,CAAWh5L,EAAUuxE,EAAU,CAAC,GAC5B,MAAMoxH,EAAqBH,GAAgBC,EAAeziM,EAAUuxE,EAAQia,UAAU,IAAMm5G,MACtFA,EAAczpG,EAAM/3F,KAAI,KAAM,SAAM,IAAMq2L,EAAM5+L,MAAMvT,MAAMyxM,KAAOl+L,KAC/C,SAAlB22E,EAAQ38C,MAAmBmvK,EAAkB77J,IAC7CloC,EAAS,CACLu9L,QAASzE,EACTtnM,KAAMkoM,EAAawE,OACnBpvL,OAAQk1L,GACTppM,EACP,GACD2vF,GAAO,CAAC,EAAGu5G,EAAmBvyH,MACjC,OAAOoxH,CACX,EACApB,YAGA,QAEAmD,EAAahB,IAAK,GAEtB,MAAMhV,GAAQ,QAAoDkL,EAC5DrvG,GAAO,CACL23G,cACArE,mBAAmB,QAAQ,IAAIrqG,MAChCkxG,GAIDA,GAGNlL,EAAM6D,GAAGxkM,IAAIigM,EAAKpK,GAClB,MAAMtsE,EAAkBo3E,EAAMvrM,IAAMurM,EAAMvrM,GAAGm0H,gBAAmBygF,GAE1D+B,EAAaxiF,GAAe,IAAMo3E,EAAM+I,GAAGp/L,KAAI,KAAO+3F,GAAQ,WAAe/3F,IAAIkkG,OAEvF,IAAK,MAAM3gH,KAAOk+M,EAAY,CAC1B,MAAM18M,EAAO08M,EAAWl+M,GACxB,IAAK,QAAMwB,KAAUkmG,GAAWlmG,KAAU,QAAWA,GAOvC07M,IAEFL,GAAgBH,GAAcl7M,MAC1B,QAAMA,GACNA,EAAKb,MAAQk8M,EAAa78M,GAK1Bo8M,GAAqB56M,EAAMq7M,EAAa78M,KAK5C,OACA,SAAI8yM,EAAM5+L,MAAMvT,MAAMyxM,GAAMpyM,EAAKwB,GAGjCsxM,EAAM5+L,MAAMvT,MAAMyxM,GAAKpyM,GAAOwB,QASrC,GAAoB,oBAATA,EAAqB,CAEjC,MAAM28M,EAAsEN,EAAW79M,EAAKwB,GAIxF,OACA,SAAI08M,EAAYl+M,EAAKm+M,GAIrBD,EAAWl+M,GAAOm+M,EAQtBhB,EAAiBzE,QAAQ14M,GAAOwB,CACpC,MACS,CAeb,CAoGA,GAjGI,MACAgpB,OAAO8lC,KAAK4tJ,GAAY9oI,SAASp1E,KAC7B,SAAIgoM,EAAOhoM,EAAKk+M,EAAWl+M,GAAK,KAIpC6jG,GAAOmkG,EAAOkW,GAGdr6G,IAAO,QAAMmkG,GAAQkW,IAKzB1zL,OAAO45F,eAAe4jF,EAAO,SAAU,CACnCpxL,IAAK,IAAyEk8L,EAAM5+L,MAAMvT,MAAMyxM,GAChGjgM,IAAM+B,IAKF29L,GAAQoF,IACJpzG,GAAOozG,EAAQ/iM,EAAM,GACvB,IA0ENg/L,EAAc,CACd,MAAMkL,EAAgB,CAClB9pH,UAAU,EACV4E,cAAc,EAEdzE,YAAY,GAEhB,CAAC,KAAM,cAAe,WAAY,qBAAqBrf,SAASpyC,IAC5DxY,OAAO45F,eAAe4jF,EAAOhlK,EAAG6gE,GAAO,CAAEljG,MAAOqnM,EAAMhlK,IAAMo7K,GAAe,GAEnF,CA6CA,OA3CI,QAEApW,EAAMgV,IAAK,GAGflK,EAAM4I,GAAGtmI,SAASipI,IAEd,GAAInL,EAAc,CACd,MAAMh3L,EAAas4F,EAAM/3F,KAAI,IAAM4hM,EAAS,CACxCrW,QACAl/I,IAAKgqJ,EAAMvrM,GACXurM,QACAjoH,QAASsyH,MAEb3yL,OAAO8lC,KAAKp0C,GAAc,CAAC,GAAGk5D,SAASp1E,GAAQgoM,EAAMmP,kBAAkBh/L,IAAInY,KAC3E6jG,GAAOmkG,EAAO9rL,EAClB,MAEI2nF,GAAOmkG,EAAOxzF,EAAM/3F,KAAI,IAAM4hM,EAAS,CACnCrW,QACAl/I,IAAKgqJ,EAAMvrM,GACXurM,QACAjoH,QAASsyH,MAEjB,IAYAN,GACAK,GACAryH,EAAQizB,SACRjzB,EAAQizB,QAAQkqF,EAAMiP,OAAQ4F,GAElCr7J,GAAc,EACd67J,GAAkB,EACXrV,CACX,CACA,SAASsW,GAETC,EAAa59F,EAAO69F,GAChB,IAAIz8M,EACA8oF,EACJ,MAAM4zH,EAAgC,oBAAV99F,EAa5B,SAAS+9F,EAAS5L,EAAO8J,GACrB,MAAM+B,GAAa,UACnB7L,EAGuFA,IAC9E6L,GAAa,QAAO5L,EAAa,MAAQ,MAC9CD,GACAD,EAAeC,GAMnBA,EAAQF,EACHE,EAAM6D,GAAGtwG,IAAItkG,KAEV08M,EACAxB,GAAiBl7M,EAAI4+G,EAAO91B,EAASioH,GAGrC6J,GAAmB56M,EAAI8oF,EAASioH,IAQxC,MAAM9K,EAAQ8K,EAAM6D,GAAG//L,IAAI7U,GAwB3B,OAAOimM,CACX,CAEA,MApE2B,kBAAhBuW,GACPx8M,EAAKw8M,EAEL1zH,EAAU4zH,EAAeD,EAAe79F,IAGxC91B,EAAU0zH,EACVx8M,EAAKw8M,EAAYx8M,IA4DrB28M,EAAStM,IAAMrwM,EACR28M,CACX,CAgKA,SAASE,GAAY5W,GAGjB,GAAI,MAEA,OAAO,QAAOA,GAEb,CACDA,GAAQ,QAAMA,GACd,MAAM7jF,EAAO,CAAC,EACd,IAAK,MAAMnkH,KAAOgoM,EAAO,CACrB,MAAMrnM,EAAQqnM,EAAMhoM,KAChB,QAAMW,KAAU,QAAWA,MAE3BwjH,EAAKnkH,IAED,QAAMgoM,EAAOhoM,GAEzB,CACA,OAAOmkH,CACX,CACJ,C,4EC/4DA,SAAS06F,EAAgBp9M,EAAGwvG,EAAGluE,GAC7B,OAAQkuE,GAAIu5F,EAAAA,EAAAA,GAAcv5F,MAAOxvG,EAAI+oB,OAAO45F,eAAe3iH,EAAGwvG,EAAG,CAC/DtwG,MAAOoiC,EACP0xD,YAAY,EACZyE,cAAc,EACd5E,UAAU,IACP7yF,EAAEwvG,GAAKluE,EAAGthC,CACjB,C,4ECPA,SAASg1F,EAAY1zD,EAAGkuE,GACtB,GAAI,WAAY6tG,EAAAA,EAAAA,GAAQ/7K,KAAOA,EAAG,OAAOA,EACzC,IAAIthC,EAAIshC,EAAE8mE,OAAOpT,aACjB,QAAI,IAAWh1F,EAAG,CAChB,IAAIpB,EAAIoB,EAAE/G,KAAKqoC,EAAGkuE,GAAK,WACvB,GAAI,WAAY6tG,EAAAA,EAAAA,GAAQz+M,GAAI,OAAOA,EACnC,MAAM,IAAI80F,UAAU,+CACtB,CACA,OAAQ,WAAa8b,EAAIztE,OAAS+mE,QAAQxnE,EAC5C,C,wGCRA,SAASynK,EAAcznK,GACrB,IAAI1iC,GAAIo2F,EAAAA,EAAAA,GAAY1zD,EAAG,UACvB,MAAO,WAAY+7K,EAAAA,EAAAA,GAAQz+M,GAAKA,EAAIA,EAAI,EAC1C,C,+BCLA,SAASy+M,EAAQ52H,GAGf,OAAO42H,EAAU,mBAAqBj1G,QAAU,iBAAmBA,OAAOvT,SAAW,SAAUpO,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqB2hB,QAAU3hB,EAAEphF,cAAgB+iG,QAAU3hB,IAAM2hB,OAAOliG,UAAY,gBAAkBugF,CACpH,EAAG42H,EAAQ52H,EACb,C,yECRe,SAAS,EAAC2C,GACvBA,EAAUA,GAAW,CAAC,EAGtB,MAAMk0H,EAAYl0H,EAAQk0H,WAAa,OACjCC,EAAsBn0H,EAAQm0H,qBAAuB,UACrDC,EAAkB,oBAAqBp0H,EAAUA,EAAQo0H,gBAAkB,IAC3EC,EAAiBr0H,EAAQq0H,iBAAkB,EAC3C92L,EAASyiE,EAAQziE,QAAU,CAAC,EAC5B+2L,EAAat0H,EAAQs0H,aAAc,EAGnClpK,EAAM0C,OACNymK,EAAM,sBACNC,EAAK,uBACLC,EAAYD,KAAMppK,GAAO,GAAGopK,WAAappK,EAGzCspK,EAAU,4CAA4C15M,KAAK48F,UAAUtlG,WACrEqiN,EAAY,CAAC,SAAU,MAAO,UAC9BjvL,EAAM,GACNkvL,EAAWA,CAACzsE,EAAU1f,IAAS/iG,EAAI8d,MAAM3zC,MAAM44H,GAAQ9sC,UAAU4xD,iBAAiBpF,GAAY,OAAO+rE,WAAmBA,YAAoBA,MAAcC,MAG1JU,EAAW30D,IACf,MAAM1sC,EAAa0sC,EAAQ1sC,WAEA,WAAvBA,EAAW82C,UACbwqD,EAAYF,EAAS,SAAUphG,GAAauhG,GAGtB,SAApB70D,EAAQoK,UACVwqD,EAAYF,EAAS,SAAU10D,GAAU60D,GAG3CA,EAAkB70D,GAElB,MAAMpV,EAAYoV,EAAQpV,UAGtBA,EAAUsW,SAAS+yD,KACrBrpE,EAAU34G,OAAOgiL,GACjBrpE,EAAUx9H,IAAI0yE,EAAQg1H,sBAAwB,kBAChD,EAGIC,EAAiB/0D,IACrB,IAAK,IAAIg1D,KAAc33L,EACrB2iI,EAAQ//B,iBAAiB+0F,EAAY33L,EAAO23L,GAAYjhM,UAAYsJ,EAAO23L,GAAa33L,EAAO23L,GAAYl1H,cAAWtqF,EACxH,EAMIq/M,EAAoB70D,IACxB,IAAK,IAAIi1D,KAAiBR,EACxB,GAAIA,EAAUQ,KAAkBj1D,EAAQk1D,QAAS,CAC/Cl1D,EAAQlsC,aAAa2gG,EAAUQ,GAAgBj1D,EAAQk1D,QAAQT,EAAUQ,KACzE,MAAM3hG,EAAa0sC,EAAQ1sC,WAEF,WAArB0sC,EAAQoK,UAAyB92C,EAAW6hG,WAC9C7hG,EAAW+N,OAIP,UAAUvmH,KAAK48F,UAAUtlG,YAC3BkhH,EAAW8hG,OAGb9hG,EAAWs3B,UAAU34G,OAAO+hL,IAG9Bh0D,EAAQpV,UAAU34G,OAAO+hL,EAC3B,CACF,EAKIY,EAAcA,CAACn7M,EAAO6P,KAC1B,IAAK,IAAI+rM,EAAY,EAAGA,EAAY57M,EAAMgS,OAAQ4pM,IAChDnqK,EAAIopK,IAAOhrM,aAAc4hC,EAAIopK,GAAMhrM,EAAGs2G,QAAQnmH,EAAM47M,IAAc/rM,EAAG7P,EAAM47M,GAC7E,EAGIC,EAA6Bv7M,IACjC,IAAI0zI,kBAAiB,KACnBmnE,EAAYF,KAAYa,IAClBC,EAAa7wL,QAAQ4wL,GAAc,IACrCC,EAAahyK,KAAK+xK,GAClBR,EAAeQ,GAEXhB,IAAcC,EAChBiB,EAAqB71F,QAAQ21F,IACpBnB,GAAcI,IACvBI,EAAYY,EAAcb,GAE9B,GACA,IACD/0F,QAAQ7lH,EAAO+lF,EAAQ41H,yBAA2B,CACnDhoE,WAAW,EACXioE,SAAS,GACT,EAGJ,IAAIH,EAAed,IAOnB,GALAE,EAAYY,EAAcT,GAKtBR,IAAcC,EAAS,CACzB,IAAIiB,EAAuB,IAAIvqK,EAAIopK,IAAI7nI,IACrCmoI,EAAYnoI,GAAS1yE,IACnB,GAAIA,EAAM0lH,gBAAkB1lH,EAAM67M,kBAAmB,CACnD,MAAM51D,EAAUjmJ,EAAM+F,OAElBu0M,KAAOnpK,GAAOgpK,EAChBhpK,EAAImpK,IAAK,KACPM,EAAS30D,EAAQ,GAChB,CACD97H,QAASgwL,IAGXS,EAAS30D,GAGXy1D,EAAqBI,UAAU71D,GAC/Bw1D,EAAeA,EAAaxnJ,QAAO8nJ,GAAeA,GAAe91D,IAI5Dw1D,EAAa/pM,QAAW0oM,GAC3BsB,EAAqB/1F,YAEzB,IACA,GACD,CACDq2F,WAAY,GAAG,cAAej2H,EAAUA,EAAQk2H,UAAY,aAG9DpB,EAAYY,EAAcC,GAEtBtB,GACFS,EAAYF,EAAS50H,EAAQm2H,qBAAuB,QAASX,EAEjE,MAAWlB,GAAcI,IACvBI,EAAYY,EAAcb,EAE9B,C,4FCvJIuB,EAAYz2L,OAAO45F,eACnB88F,EAAa12L,OAAOqsK,iBACpBsqB,EAAoB32L,OAAO42L,0BAC3BC,EAAsB72L,OAAOyqF,sBAC7BqsG,EAAe92L,OAAO7iB,UAAU4rF,eAChCguH,EAAe/2L,OAAO7iB,UAAUutG,qBAChCssG,EAAkB,CAACn9M,EAAKrE,EAAKW,IAAUX,KAAOqE,EAAM48M,EAAU58M,EAAKrE,EAAK,CAAEy0F,YAAY,EAAMyE,cAAc,EAAM5E,UAAU,EAAM3zF,UAAW0D,EAAIrE,GAAOW,EACtJ8gN,EAAiB,CAACx1M,EAAGm3B,KACvB,IAAK,IAAI5hC,KAAQ4hC,IAAMA,EAAI,CAAC,GACtBk+K,EAAa5mN,KAAK0oC,EAAG5hC,IACvBggN,EAAgBv1M,EAAGzK,EAAM4hC,EAAE5hC,IAC/B,GAAI6/M,EACF,IAAK,IAAI7/M,KAAQ6/M,EAAoBj+K,GAC/Bm+K,EAAa7mN,KAAK0oC,EAAG5hC,IACvBggN,EAAgBv1M,EAAGzK,EAAM4hC,EAAE5hC,IAEjC,OAAOyK,CAAC,EAENy1M,EAAgB,CAACz1M,EAAGm3B,IAAM89K,EAAWj1M,EAAGk1M,EAAkB/9K,IAC1Du+K,EAAY,CAACznM,EAAQozG,KACvB,IAAIziH,EAAS,CAAC,EACd,IAAK,IAAIrJ,KAAQ0Y,EACXonM,EAAa5mN,KAAKwf,EAAQ1Y,IAAS8rH,EAAQ59F,QAAQluB,GAAQ,IAC7DqJ,EAAOrJ,GAAQ0Y,EAAO1Y,IAC1B,GAAc,MAAV0Y,GAAkBmnM,EACpB,IAAK,IAAI7/M,KAAQ6/M,EAAoBnnM,GAC/BozG,EAAQ59F,QAAQluB,GAAQ,GAAK+/M,EAAa7mN,KAAKwf,EAAQ1Y,KACzDqJ,EAAOrJ,GAAQ0Y,EAAO1Y,IAE5B,OAAOqJ,CAAM,EAcf,IAAI+2M,GAAe,SACfC,EAAkBD,EAOtB,SAASxgJ,EAAM0gJ,EAAQC,IACjB,QAAQD,GACVA,EAAOvzK,QAAQwzK,GAAU,KAChB,QAASD,IAClBt3L,OAAOq5E,OAAOi+G,EAAQC,EAE1B,CACA,SAASrwG,EAAQ/wG,GACf,OAAO,QAASA,IAAUA,EAAM4yF,eAAe,UAAY5yF,EAAM4yF,eAAe,QAAU5yF,EAAMA,MAAQA,CAC1G,CACA,SAASqhN,EAAOrhN,EAAOshN,EAAW,IAChC,MAAMC,EAAqB,CAAC,UAAW,UAAW,cAAe,cAAe,OAAQ,YAAa,cAAe,SACpH,IAAKA,EAAmBr2G,MAAMvoF,GAAa2+L,EAAS/5F,SAAS5kG,KAAY,CACvE,MAAM03B,EAAM,GAAGr6C,IAAQioI,OACjBu5E,EAASnnK,EAAI87B,MAAM,KACzB,OAAOqrI,EAAOliN,KAAK8S,IAAM,QAASA,GAAK,GAAGA,MAAQA,IAAG4U,KAAK,IAC5D,CACA,OAAOhnB,CACT,CACA,SAASyhN,EAAkB1kJ,GACzB,OAAOA,EAAOs/G,WAAW,KAAM,IAAIrvK,QAAQ,SAAU,IACvD,CACA,SAAS00M,EAAoB3kJ,EAAS,GAAIukJ,EAAW,IACnD,OAAOG,EAAkB,IAAG,QAAS1kJ,GAAQ,KAAU,QAASukJ,GAAU,GAAS,GAAGvkJ,KAAYA,IAASukJ,IAC7G,CACA,SAASK,EAAgB5kJ,EAAS,GAAIukJ,EAAW,IAC/C,MAAO,KAAKI,EAAoB3kJ,EAAQukJ,IAC1C,CACA,SAASM,EAAiB5hN,EAAOshN,EAAW,GAAIvkJ,EAAS,GAAI8kJ,EAAqB,GAAI5vM,GACpF,IAAI,QAASjS,GAAQ,CACnB,MAAMiF,EAAQ,aACRo1C,EAAMr6C,EAAMioI,OAClB,IAAI,QAAW5tF,EAAKp1C,GAAQ,CAC1B,MAAM68M,EAAOznK,EAAIgiI,WAAWp3K,GAAQmN,IAClC,MAAM40B,EAAO50B,EAAEpF,QAAQ,OAAQ,IACzB2iD,EAAO3oB,EAAKmvC,MAAM,KAAK/d,QAAQ2pJ,IAAQF,EAAmB32G,MAAMmxG,IAAO,QAAW0F,EAAI1F,OAC5F,MAAO,OAAOsF,EAAgB5kJ,GAAQ,QAAYpN,EAAK3oC,KAAK,UAAS,QAAW/U,GAAY,KAAKA,IAAa,KAAK,IAE/G+vM,EAAmB,4BACnBC,EAAkB,gBACxB,OAAO,QAAWH,EAAK90M,QAAQi1M,EAAiB,KAAMD,GAAoB,QAAQF,KAAUA,CAC9F,CACA,OAAOT,EAAOhnK,EAAKinK,EACrB,CAAO,IAAI,QAASthN,GAClB,OAAOqhN,EAAOrhN,EAAOshN,EAGzB,CAWA,SAAStpE,EAAYr3I,EAAYtB,EAAKW,IAChC,QAASX,GAAK,IAChBsB,EAAWitC,KAAK,GAAGvuC,KAAOW,KAE9B,CACA,SAASkiN,EAAQ7vE,EAAU1xI,GACzB,OAAI0xI,EACK,GAAGA,KAAY1xI,KAEjB,EACT,CAsBA,IAgDIwhN,EAAK,IAAIzsM,IACJ0sM,EAAKC,EAAeC,cAAe5sM,GAExC0sM,EAAO,CAACG,EAAQ,CAAC,EAAGC,EAAWvwM,EAAU9H,KAC3C,GAAIq4M,EAAW,CACb,MAAQlB,SAAUmB,EAAUv4H,QAASw4H,GAAYL,EAAe32L,UAAY,CAAC,GACvE,OAAEqxC,EAAM,UAAEoiF,IAAwB,MAATojE,OAAgB,EAASA,EAAMr4H,UAAYw4H,GAAW,CAAC,EAChFz9M,EAAQ,aACRkoK,GAAQ,QAAYq1C,EAAWv9M,GAASu9M,EAAY,IAAIA,KACxDG,EAA6B,UAATx4M,IAAoB,QAAQA,IAAuB,WAAdg1I,EAC/D,OAAOwjE,EAAoBN,EAAeO,cAAcJ,GAAaZ,EAAiBz0C,OAAO,EAAQpwG,EAAQ,CAAC0lJ,EAASI,kBAAmB5wM,EAC5I,CACA,MAAO,EAAE,EAkEX,SAAS6wM,EAAoBP,EAAOr4H,EAAU,CAAC,GAC7C,MAAMu4H,EAAWJ,EAAe32L,SAAS41L,UACnC,OAAEvkJ,EAAS0lJ,EAAS1lJ,OAAM,SAAEs1E,EAAWowE,EAASpwE,SAAQ,iBAAEwwE,EAAmBJ,EAASI,kBAAqB34H,EAC3G64H,EAAe,CAACC,EAAQC,EAAU,KAC/Bp5L,OAAOgtD,QAAQmsI,GAAQh4G,QAC5B,CAACe,GAAM1sG,EAAKW,MACV,MAAMkjN,GAAK,QAAY7jN,EAAKwjN,GAAoBnB,EAAoBuB,GAAWvB,EAAoBuB,GAAS,QAAa5jN,IACnH+S,EAAI2+F,EAAQ/wG,GAClB,IAAI,QAAUoS,GAAI,CAChB,MAAQ+wM,UAAWC,EAAY1nI,OAAQ2nI,GAAYN,EAAa3wM,EAAG8wM,GACnEziJ,EAAMsrC,EAAI,UAAWs3G,GACrB5iJ,EAAMsrC,EAAI,aAAcq3G,EAC1B,MACEr3G,EAAI,UAAUn+D,MAAMmvB,EAASmmJ,EAAGl2M,QAAQ,GAAG+vD,KAAW,IAAMmmJ,GAAI7mC,WAAW,IAAK,MAChFrkC,EAAYjsC,EAAI,aAAc41G,EAAgBuB,GAAKtB,EAAiBxvM,EAAG8wM,EAAInmJ,EAAQ,CAAC8lJ,KAEtF,OAAO92G,CAAG,GAEZ,CAAEo3G,UAAW,GAAIznI,OAAQ,MAGvB,UAAEynI,EAAS,OAAEznI,GAAWqnI,EAAaR,EAAOxlJ,GAClD,MAAO,CACL/8D,MAAOmjN,EACPznI,SACA4nI,aAAcH,EAAUn8L,KAAK,IAC7B8rH,IAAKovE,EAAQ7vE,EAAU8wE,EAAUn8L,KAAK,KAE1C,CAGA,IAAIu8L,EAAqB,CACvBt+M,MAAO,CACLu+M,MAAO,CACL1iF,MAAO,CACLvS,QAAS,uBACT,OAAAxqE,CAAQ/jD,GACN,MAAO,CAAEmK,KAAM,QAASkoI,SAAUryI,EAAOupK,QAASvvK,KAAKu0H,QAAQrpH,KAAKlF,EAAMioI,QAC5E,GAEF8jB,KAAM,CACJx9B,QAAS,aACT,OAAAxqE,CAAQ/jD,GACN,MAAO,CAAEmK,KAAM,OAAQkoI,SAAU,QAAQryI,IAASupK,QAASvvK,KAAKu0H,QAAQrpH,KAAKlF,EAAMioI,QACrF,GAEFw7E,MAAO,CACLl1F,QAAS,gBACT,OAAAxqE,CAAQ/jD,GACN,MAAO,CAAEmK,KAAM,QAASkoI,SAAU,GAAGryI,kBAAuBupK,QAASvvK,KAAKu0H,QAAQrpH,KAAKlF,EAAMioI,QAC/F,GAEFy7E,OAAQ,CACNn1F,QAAS,WACT,OAAAxqE,CAAQ/jD,GACN,MAAO,CAAEmK,KAAM,SAAUkoI,SAAU,oDAAqDk3B,QAASvvK,KAAKu0H,QAAQrpH,KAAKlF,EAAMioI,QAC3H,GAEF07E,OAAQ,CACN,OAAA5/J,CAAQ/jD,GACN,MAAO,CAAEmK,KAAM,SAAUkoI,SAAUryI,EAAOupK,SAAS,EACrD,IAGJ,OAAAxlH,CAAQ/jD,GACN,MAAMwjN,EAAQ35L,OAAO8lC,KAAK31D,KAAKwpN,OAAOprJ,QAAQq/B,GAAY,WAANA,IAAgBn4F,KAAKgxG,GAAMt2G,KAAKwpN,MAAMlzG,KAC1F,MAAO,CAACtwG,GAAOigK,OAAO3gK,KAAK8S,IACzB,IAAIxL,EACJ,OAAyE,OAAjEA,EAAK48M,EAAMlkN,KAAKgxG,GAAMA,EAAEvsD,QAAQ3xC,KAAIq4F,MAAMm5G,GAAOA,EAAGr6C,WAAoB3iK,EAAK5M,KAAKwpN,MAAMG,OAAO5/J,QAAQ3xC,EAAE,GAErH,GAEF,YAAA2wM,CAAaR,EAAOr4H,GAClB,OAAO44H,EAAoBP,EAAO,CAAExlJ,OAAmB,MAAXmtB,OAAkB,EAASA,EAAQntB,QACjF,EACA,SAAA8mJ,EAAU,KAAEzqN,EAAO,GAAE,MAAEmpN,EAAQ,CAAC,EAAC,OAAEplI,EAAM,IAAE3rE,EAAG,SAAEka,IAC9C,IAAIwvL,EAAI4I,EAAIC,EAAIC,EAAIruM,EAAIsuM,EAAIC,EAC5B,MAAM,OAAEC,EAAM,QAAEj6H,GAAYq4H,EAC5B,IAAI6B,EAAeC,EAAkBC,EAAcC,EAAiBC,EAAYC,EAAeh9F,EAC/F,IAAI,QAAY08F,IAAiC,WAAtBj6H,EAAQi1D,UAAwB,CACzD,MAAM,UAAEulE,EAAS,SAAEC,EAAQ,OAAE5/D,GAAWo/D,EAClCv9M,EAAK+9M,GAAY,CAAC,GAAG,YAAEC,GAAgBh+M,EAAIi+M,EAAQ7D,EAAUp6M,EAAI,CAAC,gBAClEM,EAAK69I,GAAU,CAAC,GAAK6/D,YAAaE,GAAiB59M,EAAI69M,EAAQ/D,EAAU95M,EAAI,CAAC,gBAC9Em5E,EAAKukI,GAAe,CAAC,GAAG,KAAEI,GAAS3kI,EAAI4kI,EAASjE,EAAU3gI,EAAI,CAAC,SAC/DC,EAAKwkI,GAAgB,CAAC,GAAKE,KAAME,GAAU5kI,EAAI6kI,EAAUnE,EAAU1gI,EAAI,CAAC,SACxE8kI,GAAW,QAAYV,GAAa1qN,KAAK+oN,aAAa,CAAE2B,aAAax6H,GAAW,CAAC,EACjFm7H,GAAY,QAAYR,GAAS7qN,KAAK+oN,aAAa,CAAE4B,SAAUE,GAAS36H,GAAW,CAAC,EACpFo7H,GAAa,QAAYL,GAAUjrN,KAAK+oN,aAAa,CAAEwC,MAAON,GAAU/6H,GAAW,CAAC,EACpFs7H,GAAa,QAAYR,GAAQhrN,KAAK+oN,aAAa,CAAEiC,QAAQ96H,GAAW,CAAC,EACzEu7H,GAAY,QAAYV,GAAS/qN,KAAK+oN,aAAa,CAAE4B,SAAUI,GAAS76H,GAAW,CAAC,EACpFw7H,GAAc,QAAYP,GAAWnrN,KAAK+oN,aAAa,CAAEwC,MAAOJ,GAAWj7H,GAAW,CAAC,EACvFy7H,GAAc,QAAYT,GAASlrN,KAAK+oN,aAAa,CAAEiC,KAAME,GAASh7H,GAAW,CAAC,GACjF07H,EAAUC,GAAe,CAAiC,OAA/B3K,EAAKkK,EAAS9B,cAAwBpI,EAAK,GAAIkK,EAAS1pI,SACnFoqI,EAAWC,GAAgB,CAAkC,OAAhCjC,EAAKuB,EAAU/B,cAAwBQ,EAAK,GAAIuB,EAAU3pI,QAAU,KACjGsqI,EAAYC,GAAiB,CAAmC,OAAjClC,EAAKuB,EAAWhC,cAAwBS,EAAK,GAAIuB,EAAW5pI,QAAU,KACrGwqI,EAAYC,GAAiB,CAAmC,OAAjCnC,EAAKwB,EAAWlC,cAAwBU,EAAK,GAAIwB,EAAW9pI,QAAU,KACrG0qI,EAAWC,GAAgB,CAAkC,OAAhC1wM,EAAK8vM,EAAUnC,cAAwB3tM,EAAK,GAAI8vM,EAAU/pI,QAAU,KACjG4qI,GAAaC,IAAkB,CAAoC,OAAlCtC,EAAKyB,EAAYpC,cAAwBW,EAAK,GAAIyB,EAAYhqI,QAAU,KACzG8qI,GAAaC,IAAkB,CAAoC,OAAlCvC,EAAKyB,EAAYrC,cAAwBY,EAAK,GAAIyB,EAAYjqI,QAAU,IAChH0oI,EAAgBpqN,KAAK0sN,aAAattN,EAAMwsN,EAAU,QAAS,WAAY17H,EAAS14E,EAAKka,GACrF24L,EAAmBwB,EACnB,MAAMc,GAAqB3sN,KAAK0sN,aAAattN,EAAM,GAAG0sN,IAAYE,IAAc,QAAS,WAAY97H,EAAS14E,EAAKka,GAC7Gk7L,GAAoB5sN,KAAK0sN,aAAattN,EAAM,GAAG8sN,IAAc,OAAQ,WAAYh8H,EAAS14E,EAAKka,GACrG44L,EAAe,GAAGqC,KAAqBC,KACvCrC,EAAkB,IAAoB,IAAIp4G,IAAI,IAAI45G,KAAiBE,KAAkBE,KACrF,MAAMU,GAAmB7sN,KAAK0sN,aAAattN,EAAM,GAAGgtN,IAAYE,uBAAiC,QAAS,WAAYp8H,EAAS14E,EAAKka,GAC9Ho7L,GAAkB9sN,KAAK0sN,aAAattN,EAAM,GAAGotN,sBAAgC,OAAQ,WAAYt8H,EAAS14E,EAAKka,GACrH84L,EAAa,GAAGqC,KAAmBC,KACnCrC,EAAgB,IAAoB,IAAIt4G,IAAI,IAAIk6G,KAAiBE,MAAmBE,MACpFh/F,GAAQ,QAAS08F,EAAOrxE,IAAK,CAAEqvE,MACjC,CACA,MAAO,CACLuC,UAAW,CACT5xE,IAAKsxE,EACL1oI,OAAQ2oI,GAEVM,SAAU,CACR7xE,IAAKwxE,EACL5oI,OAAQ6oI,GAEV9+L,OAAQ,CACNqtH,IAAK0xE,EACL9oI,OAAQ+oI,GAEVh9F,QAEJ,EACA,SAAAs/F,EAAU,KAAE3tN,EAAO,GAAE,OAAE+qN,EAAS,CAAC,EAAC,QAAEj6H,EAAO,OAAE/M,EAAM,IAAE3rE,EAAG,SAAEka,EAAQ,SAAE2mH,IAClE,IAAI6oE,EAAI4I,EAAIC,EACZ,IAAIiD,EAAOC,EAAUC,EACrB,IAAI,QAAY/C,IAAiC,WAAtBj6H,EAAQi1D,UAAwB,CACzD,MAAMgoE,EAAQ/tN,EAAK4T,QAAQ,aAAc,IACnCpG,EAAKu9M,GAAQ,YAAES,EAAW,OAAE7/D,EAAQjS,IAAKs0E,GAASxgN,EAAIygN,EAAQrG,EAAUp6M,EAAI,CAAC,cAAe,SAAU,QACtGM,EAAK69I,GAAU,CAAC,GAAK6/D,YAAaE,GAAiB59M,EAAIogN,EAAStG,EAAU95M,EAAI,CAAC,gBAC/Em5E,EAAKukI,GAAe,CAAC,GAAG,KAAEI,GAAS3kI,EAAI4kI,EAASjE,EAAU3gI,EAAI,CAAC,SAC/DC,EAAKwkI,GAAgB,CAAC,GAAKE,KAAMuC,GAAYjnI,EAAI6kI,EAAUnE,EAAU1gI,EAAI,CAAC,SAC1EknI,GAAY,QAAYH,GAASrtN,KAAK+oN,aAAa,CAAE,CAACoE,GAAQrG,EAAeA,EAAe,CAAC,EAAGuG,GAAQC,IAAWp9H,GAAW,CAAC,EAC/Ho7H,GAAa,QAAYL,GAAUjrN,KAAK+oN,aAAa,CAAE,CAACoE,GAAQrG,EAAeA,EAAe,CAAC,EAAGmE,GAASE,IAAYj7H,GAAW,CAAC,EACnIs7H,GAAa,QAAYR,GAAQhrN,KAAK+oN,aAAa,CAAE,CAACoE,GAAQrG,EAAeA,EAAe,CAAC,EAAGkE,GAAOuC,IAAYr9H,GAAW,CAAC,GAC9Hu9H,EAAWC,GAAgB,CAAkC,OAAhCxM,EAAKsM,EAAUlE,cAAwBpI,EAAK,GAAIsM,EAAU9rI,QAAU,KACjGsqI,EAAYC,GAAiB,CAAmC,OAAjCnC,EAAKwB,EAAWhC,cAAwBQ,EAAK,GAAIwB,EAAW5pI,QAAU,KACrGwqI,EAAYC,GAAiB,CAAmC,OAAjCpC,EAAKyB,EAAWlC,cAAwBS,EAAK,GAAIyB,EAAW9pI,QAAU,IACtGisI,EAAqB3tN,KAAK0sN,aAAaS,EAAO,GAAGM,IAAYzB,IAAc,QAAS,WAAY97H,EAAS14E,EAAKka,EAAU2mH,GACxHu1E,EAAoB5tN,KAAK0sN,aAAaS,EAAOjB,EAAY,OAAQ,WAAYh8H,EAAS14E,EAAKka,EAAU2mH,GAC3G20E,EAAQ,GAAGW,IAAqBC,IAChCX,EAAW,IAAoB,IAAI96G,IAAI,IAAIu7G,KAAiBzB,KAAkBE,KAC9Ee,GAAU,QAASE,EAAM,CAAEjF,MAC7B,CACA,MAAO,CACLrvE,IAAKk0E,EACLtrI,OAAQurI,EACRx/F,MAAOy/F,EAEX,EACA,UAAAW,EAAW,KAAEzuN,EAAO,GAAE,MAAEmpN,EAAQ,CAAC,EAAC,OAAEplI,EAAM,IAAE3rE,EAAG,SAAEka,IAC/C,IAAI9kB,EACJ,MAAM,OAAEu9M,EAAM,QAAEj6H,GAAYq4H,EACtBuF,EAAgE,OAArDlhN,EAAe,MAAVu9M,OAAiB,EAASA,EAAO9sF,iBAAsB,EAASzwH,EAAGxN,GACzF,OAAOY,KAAK+sN,UAAU,CAAE3tN,OAAM+qN,OAAQ2D,EAAS59H,UAAS/M,SAAQ3rE,MAAKka,YACvE,EACA,UAAAq8L,EAAW,KAAE3uN,EAAO,GAAE,MAAEmpN,EAAQ,CAAC,EAAC,OAAEplI,EAAM,IAAE3rE,EAAG,SAAEka,IAC/C,IAAI9kB,EACJ,MAAMohN,EAAQ5uN,EAAK4T,QAAQ,aAAc,KACnC,OAAEm3M,EAAM,QAAEj6H,GAAYq4H,EACtB0F,EAAgE,OAArDrhN,EAAe,MAAVu9M,OAAiB,EAASA,EAAO3rG,iBAAsB,EAAS5xG,EAAGohN,GACzF,OAAOhuN,KAAK+sN,UAAU,CAAE3tN,KAAM4uN,EAAO7D,OAAQ8D,EAAS/9H,UAAS/M,SAAQ3rE,MAAKka,YAC9E,EACA,oBAAAw8L,CAAqBh+H,GACnB,QAAsC,SAA7BA,EAAQi+H,mBAA4D,IAA7Bj+H,EAAQi+H,iBAC1D,EACA,oBAAAC,CAAqBl+H,EAASx+D,GAC5B,IAAI9kB,EACJ,OAAO5M,KAAKkuN,qBAAqBh+H,GAAWlwF,KAAKiL,MAAM8+C,SAAqC,IAA7BmmC,EAAQi+H,iBAA4Bz8L,EAASw+D,QAAQi+H,iBAAsD,OAAlCvhN,EAAKsjF,EAAQi+H,kBAA4BvhN,EAAK8kB,EAASw+D,QAAQi+H,kBAAoB,EAC7N,EACA,aAAAE,CAAcjvN,EAAM8wF,EAAU,CAAC,EAAG/M,EAAQzxD,GACxC,MAAM,SAAE48L,GAAap+H,EACrB,GAAIo+H,EAAU,CACZ,MAAMvmC,GAAQ,QAASumC,EAASvmC,OAAS,UAAW5kG,GACpD,MAAO,UAAU4kG,GACnB,CACA,MAAO,EACT,EACA,mBAAAwmC,EAAoB,KAAEnvN,EAAO,GAAE,MAAEmpN,EAAQ,CAAC,EAAC,OAAEplI,EAAM,MAAEvyB,EAAQ,CAAC,EAAC,IAAEp5C,EAAG,SAAEka,IACpE,MAAM88L,EAASxuN,KAAK6pN,UAAU,CAAEzqN,OAAMmpN,QAAOplI,SAAQ3rE,MAAKka,aACpD0uG,EAASvwG,OAAOgtD,QAAQjsB,GAAOogD,QAAO,CAACe,GAAMtU,EAAGrlF,KAAO25F,EAAIn+D,KAAK,GAAG6pD,MAAMrlF,OAAS25F,GAAK,IAAI/kF,KAAK,KACtG,OAAO6C,OAAOgtD,QAAQ2xI,GAAU,CAAC,GAAGx9G,QAAO,CAACe,GAAM1sG,EAAKW,MACrD,GAAa,MAATA,OAAgB,EAASA,EAAM8yI,IAAK,CACtC,MAAM21E,GAAO,QAAmB,MAATzoN,OAAgB,EAASA,EAAM8yI,KAChD1xI,EAAK,GAAG/B,cACd0sG,EAAIn+D,KAAK,kDAAkDxsC,MAAOg5H,KAAUquF,YAC9E,CACA,OAAO18G,CAAG,GACT,IAAI/kF,KAAK,GACd,EACA,aAAA0hM,EAAc,KAAEtvN,EAAO,GAAE,MAAEmpN,EAAQ,CAAC,EAAC,OAAEplI,EAAM,MAAEvyB,EAAQ,CAAC,EAAC,IAAEp5C,EAAG,SAAEka,IAC9D,IAAI9kB,EACJ,MAAMsjF,EAAU,CAAE9wF,OAAMmpN,QAAOplI,SAAQ3rE,MAAKka,YACtCi9L,EAAyG,OAA3F/hN,EAAKxN,EAAKuqG,SAAS,cAAgB3pG,KAAK+tN,WAAW79H,GAAWlwF,KAAK6tN,WAAW39H,SAAoB,EAAStjF,EAAGksI,IAC5H1Y,EAASvwG,OAAOgtD,QAAQjsB,GAAOogD,QAAO,CAACe,GAAMtU,EAAGrlF,KAAO25F,EAAIn+D,KAAK,GAAG6pD,MAAMrlF,OAAS25F,GAAK,IAAI/kF,KAAK,KACtG,OAAO2hM,EAAa,kDAAkDvvN,gBAAmBghI,MAAU,QAAUuuF,aAAwB,EACvI,EACA,YAAAC,CAAallN,EAAM,CAAC,EAAGgoB,EAAUm3F,EAAY,GAAIgmG,EAAa,GAAIntI,EAAS,CAAC,GAmD1E,OAlDA7xD,OAAOgtD,QAAQnzE,GAAK+wE,SAAQ,EAAEp1E,EAAKW,MACjC,MAAM8oN,GAAa,QAAYzpN,EAAKqsB,EAAS41L,SAASuB,kBAAoBhgG,EAAYA,EAAY,GAAGA,MAAa,QAAYxjH,MAAS,QAAYA,GAC7I0pN,EAAcF,EAAa,GAAGA,KAAcxpN,IAAQA,GACtD,QAAUW,GACZhG,KAAK4uN,aAAa5oN,EAAO0rB,EAAUo9L,EAAYC,EAAartI,IAE5DA,EAAOotI,KAAgBptI,EAAOotI,GAAc,CAC1CzY,MAAO,GACP,QAAA3oG,CAASk9G,EAAaoE,EAAe,CAAC,GACpC,IAAIpiN,EAAIM,EACR,OAA0B,IAAtBlN,KAAKq2M,MAAMx6L,OACkB,OAAvBjP,EAAK5M,KAAKq2M,MAAM,SAAc,EAASzpM,EAAG8gG,SAAS1tG,KAAKq2M,MAAM,GAAG4Y,OAAQD,EAAa,YACrFpE,GAA+B,SAAhBA,EAC0C,OAA1D19M,EAAKlN,KAAKq2M,MAAM5lG,MAAMpoE,GAAMA,EAAE4mL,SAAWrE,UAAwB,EAAS19M,EAAGwgG,SAASk9G,EAAaoE,EAAa,YAEnHhvN,KAAKq2M,MAAM/wM,KAAK+iC,GAAMA,EAAEqlE,SAASrlE,EAAE4mL,OAAQD,EAAa3mL,EAAE4mL,UACnE,IAEFvtI,EAAOotI,GAAYzY,MAAMziK,KAAK,CAC5B5G,KAAM+hL,EACN/oN,QACAipN,OAAQF,EAAYplH,SAAS,qBAAuB,QAAUolH,EAAYplH,SAAS,oBAAsB,OAAS,OAClH,QAAA+D,CAASk9G,EAAaoE,EAAe,CAAC,GACpC,MAAM/jN,EAAQ,aACd,IAAIikN,EAAgBlpN,EAGpB,GAFAgpN,EAAa,QAAUhvN,KAAKgtC,KAC5BgiL,EAAa,aAAeA,EAAa,WAAa,CAAC,IACnD,QAAYhpN,EAAOiF,GAAQ,CAC7B,MAAMo1C,EAAMr6C,EAAMioI,OACZ65E,EAAOznK,EAAIgiI,WAAWp3K,GAAQmN,IAClC,IAAIxL,EACJ,MAAMogC,EAAO50B,EAAEpF,QAAQ,OAAQ,IACzB06F,EAAkC,OAAtB9gG,EAAK80E,EAAO10C,SAAiB,EAASpgC,EAAG8gG,SAASk9G,EAAaoE,GACjF,OAAO,QAASthH,IAAiC,IAApBA,EAAS7xF,OAAe,cAAc6xF,EAAS,GAAG1nG,SAAS0nG,EAAS,GAAG1nG,SAAuB,MAAZ0nG,OAAmB,EAASA,EAAS1nG,KAAK,IAErJgiN,EAAmB,kCACnBC,EAAkB,gBACxBiH,GAAgB,QAAYpH,EAAK90M,QAAQi1M,EAAiB,KAAMD,GAAoB,QAAQF,KAAUA,CACxG,CAEA,OADA,QAASkH,EAAa,oBAAsBA,EAAa,WAClD,CACLpE,cACA59K,KAAMhtC,KAAKgtC,KACXqpK,MAAO2Y,EACPhpN,MAAOkpN,EAAcvlH,SAAS,kBAAe,EAASulH,EAE1D,IAEJ,IAEKxtI,CACT,EACA,aAAAknI,CAAclnI,EAAQ10C,EAAMtb,GAC1B,IAAI9kB,EACJ,MAAMuiN,EAAiBzkE,IACrB,MAAM0kE,EAAS1kE,EAAIvuE,MAAM,KACzB,OAAOizI,EAAOhxJ,QAAQ32D,KAAO,QAAYA,EAAEsL,cAAe2e,EAAS41L,SAASuB,oBAAmB77L,KAAK,IAAI,EAEpGmmJ,EAAQg8C,EAAcniL,GACtB49K,EAAc59K,EAAK28D,SAAS,qBAAuB,QAAU38D,EAAK28D,SAAS,oBAAsB,YAAS,EAC1G0lH,EAAiB,CAAyB,OAAvBziN,EAAK80E,EAAOyxF,SAAkB,EAASvmK,EAAG8gG,SAASk9G,IAAc3kD,OAAO7nG,QAAQsvC,GAAaA,IACtH,OAAiC,IAA1B2hH,EAAexzM,OAAewzM,EAAe,GAAGrpN,MAAQqpN,EAAer+G,QAAO,CAACe,EAAM,CAAC,EAAGrE,KAC9F,MAAM4hH,EAAM5hH,GAAYk9G,YAAavgI,GAAOilI,EAAKC,EAAOvI,EAAUsI,EAAK,CAAC,gBAExE,OADAv9G,EAAI1nB,GAAMklI,EACHx9G,CAAG,QACT,EACL,EACA,eAAAy9G,CAAgBC,EAAWC,EAAWv/M,EAAMi9M,GAC1C,MAAgB,UAATj9M,GAA6B,SAATA,EAAkB+3M,GAAQ,QAAYwH,GAAa,GAAGD,IAAYC,KAAaD,KAAaC,IAAcD,EAAWrC,GAAQlF,EAAQuH,GAAW,QAAYC,GAAaxH,EAAQwH,EAAWtC,GAAQA,EACjO,EACA,YAAAV,CAAattN,EAAMguN,EAAMh6L,EAAMjjB,EAAM+/E,EAAU,CAAC,EAAG14E,EAAKka,EAAU2mH,GAChE,IAAI,QAAY+0E,GAAO,CACrB,MAAM,SAAEkB,GAAap+H,EACrB,GAAa,UAAT//E,EAAkB,CACpB,MAAMw/M,EAAoB3vN,KAAKouN,qBAAqBl+H,EAASx+D,GAC7D07L,EAAgB,SAATh6L,EAAkBu8L,EAAkB3+G,QAAO,CAACe,GAAO5hG,KAAMy/M,EAAOv3E,SAAUwY,OAC3E,QAAYA,KACd9+C,GAAO8+C,EAAUlnD,SAAS,SAAWknD,EAAU79I,QAAQ,QAASo6M,GAAQptN,KAAKwvN,gBAAgB3+D,EAAWxY,EAAUu3E,EAAOxC,IAEpHr7G,IACN,IAAMm2G,EAAoB,MAAZ7vE,EAAmBA,EAAW,QAAS+0E,EAC1D,CACA,GAAIkB,EAAU,CACZ,MAAMuB,EAAe,CACnBzwN,KAAM,UACN2oL,MAAO,YAET,QAAUumC,KAAcuB,EAAazwN,MAAO,QAASkvN,EAASlvN,KAAM,CAAEA,OAAM+Q,WACxE,QAAY0/M,EAAazwN,QAC3BguN,EAAOlF,EAAQ,UAAU2H,EAAazwN,OAAQguN,GACvC,MAAP51M,GAAuBA,EAAIs4M,WAAWD,EAAazwN,MAEvD,CACA,OAAOguN,CACT,CACA,MAAO,EACT,GAIE/E,EAAiB,CACnB32L,SAAU,CACR41L,SAAU,CACRvkJ,OAAQ,IACRs1E,SAAU,QACVwwE,iBAAkB,iHAEpB34H,QAAS,CACPntB,OAAQ,IACRorJ,iBAAkB,SAClBG,UAAU,IAGdtF,YAAQ,EACR+G,YAA6B,IAAI59G,IACjC69G,kBAAmC,IAAI79G,IACvC89G,eAAgC,IAAI99G,IACpC+9G,QAAS,CAAC,EACV,MAAAxxL,CAAO8nC,EAAY,CAAC,GAClB,MAAM,MAAE+hJ,GAAU/hJ,EACd+hJ,IACFvoN,KAAKgpN,OAASjC,EAAcD,EAAe,CAAC,EAAGyB,GAAQ,CACrDr4H,QAAS42H,EAAeA,EAAe,CAAC,EAAG9mN,KAAK0xB,SAASw+D,SAAUq4H,EAAMr4H,WAE3ElwF,KAAKkwN,QAAU3G,EAAmBqF,aAAa5uN,KAAKmqN,OAAQnqN,KAAK0xB,UACjE1xB,KAAKmwN,wBAET,EACA,SAAI5H,GACF,OAAOvoN,KAAKgpN,MACd,EACA,UAAImB,GACF,IAAIv9M,EACJ,OAA6B,OAApBA,EAAK5M,KAAKuoN,YAAiB,EAAS37M,EAAGu9M,SAAW,CAAC,CAC9D,EACA,WAAIj6H,GACF,IAAItjF,EACJ,OAA6B,OAApBA,EAAK5M,KAAKuoN,YAAiB,EAAS37M,EAAGsjF,UAAY,CAAC,CAC/D,EACA,UAAIxO,GACF,OAAO1hF,KAAKkwN,OACd,EACA,QAAA5H,GACE,OAAOtoN,KAAKuoN,KACd,EACA,QAAA6H,CAASx7M,GACP5U,KAAK0+B,OAAO,CAAE6pL,MAAO3zM,IACrBsyM,EAAgBjzH,KAAK,eAAgBr/E,EACvC,EACA,SAAAm4M,GACE,OAAO/sN,KAAKmqN,MACd,EACA,SAAAkG,CAAUz7M,GACR5U,KAAKgpN,OAASjC,EAAcD,EAAe,CAAC,EAAG9mN,KAAKuoN,OAAQ,CAAE4B,OAAQv1M,IACtE5U,KAAKkwN,QAAU3G,EAAmBqF,aAAah6M,EAAU5U,KAAK0xB,UAC9D1xB,KAAKmwN,wBACLjJ,EAAgBjzH,KAAK,gBAAiBr/E,GACtCsyM,EAAgBjzH,KAAK,eAAgBj0F,KAAKuoN,MAC5C,EACA,UAAA+H,GACE,OAAOtwN,KAAKkwF,OACd,EACA,UAAAqgI,CAAW37M,GACT5U,KAAKgpN,OAASjC,EAAcD,EAAe,CAAC,EAAG9mN,KAAKuoN,OAAQ,CAAEr4H,QAASt7E,IACvE5U,KAAKmwN,wBACLjJ,EAAgBjzH,KAAK,iBAAkBr/E,GACvCsyM,EAAgBjzH,KAAK,eAAgBj0F,KAAKuoN,MAC5C,EACA,aAAAiI,GACE,MAAO,IAAIxwN,KAAK+vN,YAClB,EACA,aAAAU,CAAcC,GACZ1wN,KAAK+vN,YAAYvyM,IAAIkzM,EACvB,EACA,mBAAAC,GACE,OAAO3wN,KAAKgwN,iBACd,EACA,iBAAAY,CAAkBxxN,GAChB,OAAOY,KAAKgwN,kBAAkBtkH,IAAItsG,EACpC,EACA,kBAAAyxN,CAAmBzxN,GACjBY,KAAKgwN,kBAAkBxyM,IAAIpe,EAC7B,EACA,qBAAA0xN,CAAsB1xN,GACpBY,KAAKgwN,kBAAkBrkH,OAAOvsG,EAChC,EACA,qBAAA+wN,GACEnwN,KAAKgwN,kBAAkBh7G,OACzB,EACA,aAAA4zG,CAAcJ,GACZ,OAAOe,EAAmBX,cAAc5oN,KAAK0hF,OAAQ8mI,EAAWxoN,KAAK0xB,SACvE,EACA,SAAAm4L,CAAUzqN,EAAO,GAAI+jF,GACnB,OAAOomI,EAAmBM,UAAU,CAAEzqN,OAAMmpN,MAAOvoN,KAAKuoN,MAAOplI,SAAQzxD,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QAC7I,EACA,YAAA+wN,CAAa3xN,EAAO,GAAI+jF,GACtB,MAAM+M,EAAU,CAAE9wF,OAAMmpN,MAAOvoN,KAAKuoN,MAAOplI,SAAQzxD,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QACvH,OAAOupN,EAAmBsE,WAAW39H,EACvC,EACA,YAAA8gI,CAAa5xN,EAAO,GAAI+jF,GACtB,MAAM+M,EAAU,CAAE9wF,OAAMmpN,MAAOvoN,KAAKuoN,MAAOplI,SAAQzxD,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QACvH,OAAOupN,EAAmBwE,WAAW79H,EACvC,EACA,eAAA+gI,CAAgB7xN,EAAO,GAAI+qN,EAAQ9xE,EAAUl1D,GAC3C,MAAM+M,EAAU,CAAE9wF,OAAM+qN,SAAQj6H,QAASlwF,KAAKkwF,QAASmoD,WAAUl1D,SAAQzxD,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QAC7I,OAAOupN,EAAmBwD,UAAU78H,EACtC,EACA,gBAAAghI,CAAiB9xN,EAAO,IACtB,OAAOmqN,EAAmB8E,cAAcjvN,EAAMY,KAAKkwF,QAAS,CAAEogH,MAAOtwM,KAAKwwN,iBAAmBxwN,KAAK0xB,SACpG,EACA,YAAAg7L,CAAattN,EAAO,GAAIguN,EAAMj9M,EAAO,QAASijB,GAC5C,OAAOm2L,EAAmBmD,aAAattN,EAAMguN,EAAMh6L,EAAMjjB,EAAMnQ,KAAKkwF,QAAS,CAAE4/H,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,OAASA,KAAK0xB,SACnI,EACA,mBAAA68L,CAAoBnvN,EAAO,GAAI+jF,EAAQvyB,EAAQ,CAAC,GAC9C,OAAO24J,EAAmBgF,oBAAoB,CAAEnvN,OAAMmpN,MAAOvoN,KAAKuoN,MAAOplI,SAAQvyB,QAAOl/B,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QAC9J,EACA,aAAA0uN,CAActvN,EAAM+jF,EAAQvyB,EAAQ,CAAC,GACnC,OAAO24J,EAAmBmF,cAAc,CAAEtvN,OAAMmpN,MAAOvoN,KAAKuoN,MAAOplI,SAAQvyB,QAAOl/B,SAAU1xB,KAAK0xB,SAAUla,IAAK,CAAEs4M,WAAY9vN,KAAKywN,cAAc5xM,KAAK7e,QACxJ,EACA,cAAAmxN,CAAe/xN,GACbY,KAAKiwN,eAAezyM,IAAIpe,EAC1B,EACA,cAAAgyN,CAAehyN,GACbY,KAAKiwN,eAAezyM,IAAIpe,EAC1B,EACA,aAAAiyN,CAAcnmM,GAAO,KAAE9rB,IACjBY,KAAKiwN,eAAe1kN,OACtBvL,KAAKiwN,eAAetkH,OAAOvsG,GAC3B8nN,EAAgBjzH,KAAK,SAAS70F,SAAa8rB,IAC1ClrB,KAAKiwN,eAAe1kN,MAAQ27M,EAAgBjzH,KAAK,cAEtD,E,+BC3rBF,SAASg9D,EAASb,EAAS9gE,GACzB,QAAI8gE,IACEA,EAAQpV,UAAkBoV,EAAQpV,UAAUsW,SAAShiE,GAC7C,IAAIx8E,OAAO,QAAUw8E,EAAY,QAAS,MAAMpkF,KAAKklJ,EAAQ9gE,WAG7E,CAGA,SAASwiE,EAAS1B,EAAS9gE,GACzB,GAAI8gE,GAAW9gE,EAAW,CACxB,MAAM51E,EAAM43M,IACLrgE,EAASb,EAASkhE,KACjBlhE,EAAQpV,UAAWoV,EAAQpV,UAAUx9H,IAAI8zM,GACxClhE,EAAQ9gE,WAAa,IAAMgiI,EAClC,EAEF,CAAChiI,GAAW22E,OAAO7nG,OAAO/0C,SAASoxD,SAAS82I,GAAgBA,EAAYp1I,MAAM,KAAK1B,QAAQ/gE,IAC7F,CACF,CAQA,SAAS83M,EAAsBC,GAC7B,IAAK,MAAMC,KAAqB,MAAZ7lI,cAAmB,EAASA,SAAS8lI,YACvD,IACE,IAAK,MAAMC,KAAiB,MAATF,OAAgB,EAASA,EAAMG,SAChD,IAAK,MAAMlpM,KAAoB,MAARipM,OAAe,EAASA,EAAKnkG,MAClD,GAAIgkG,EAAcvmN,KAAKyd,GACrB,MAAO,CAAEvpB,KAAMupB,EAAU3iB,MAAO4rN,EAAKnkG,MAAMy1D,iBAAiBv6J,GAAUslH,OAI9E,CAAE,MAAOnnI,GACT,CAEF,OAAO,IACT,CA4CA,SAAS+qJ,EAAYzB,EAAS9gE,GAC5B,GAAI8gE,GAAW9gE,EAAW,CACxB,MAAM51E,EAAM43M,IACNlhE,EAAQpV,UAAWoV,EAAQpV,UAAU34G,OAAOivL,GAC3ClhE,EAAQ9gE,UAAY8gE,EAAQ9gE,UAAUt8E,QAAQ,IAAIF,OAAO,UAAYw+M,EAAWn1I,MAAM,KAAKnvD,KAAK,KAAO,UAAW,MAAO,IAAI,EAEpI,CAACsiE,GAAW22E,OAAO7nG,OAAO/0C,SAASoxD,SAAS82I,GAAgBA,EAAYp1I,MAAM,KAAK1B,QAAQ/gE,IAC7F,CACF,CAUA,SAASo4M,EAA2B1hE,GAClC,IAAI2hE,EAAa,CAAEx4D,MAAO,EAAGsrB,OAAQ,GASrC,OARIz0B,IACFA,EAAQ3iC,MAAMi4D,WAAa,SAC3Bt1B,EAAQ3iC,MAAMwvB,QAAU,QACxB80E,EAAWx4D,MAAQnJ,EAAQ6zB,YAC3B8tC,EAAWltC,OAASz0B,EAAQ3T,aAC5B2T,EAAQ3iC,MAAMwvB,QAAU,OACxBmT,EAAQ3iC,MAAMi4D,WAAa,WAEtBqsC,CACT,CAGA,SAASC,IACP,IAAI12K,EAAM0C,OAAQxV,EAAIqjD,SAAU/kF,EAAI0hC,EAAEouH,gBAAiBn5I,EAAI+qB,EAAEhF,qBAAqB,QAAQ,GAAIxoB,EAAIsgC,EAAIk0E,YAAc1oH,EAAE0yJ,aAAe/7I,EAAE+7I,YAAan9I,EAAIi/B,EAAIi0E,aAAezoH,EAAE+vJ,cAAgBp5I,EAAEo5I,aAC/L,MAAO,CAAE0C,MAAOv+I,EAAG6pK,OAAQxoK,EAC7B,CAGA,SAAS41M,IACP,IAAIhoM,EAAM4hE,SAAS+qE,gBACnB,OAAQ54G,OAAO84I,aAAe7sK,EAAIq/J,aAAer/J,EAAIioM,YAAc,EACrE,CAGA,SAASC,IACP,IAAIloM,EAAM4hE,SAAS+qE,gBACnB,OAAQ54G,OAAO64I,aAAe5sK,EAAImtI,YAAcntI,EAAImoM,WAAa,EACnE,CAGA,SAASC,EAAiBjiE,EAASlgJ,EAAQoiN,GAAS,GAClD,IAAI1lN,EAAIM,EAAIm5E,EAAIC,EAChB,GAAI8pE,EAAS,CACX,MAAMmiE,EAAoBniE,EAAQ2mC,aAAe,CAAEx9B,MAAOnJ,EAAQ6zB,YAAaY,OAAQz0B,EAAQ3T,cAAiBq1E,EAA2B1hE,GACrIoiE,EAAqBD,EAAkB1tC,OACvC4tC,EAAoBF,EAAkBh5D,MACtCm5D,EAAoBxiN,EAAOusI,aAC3Bk2E,EAAmBziN,EAAO+zK,YAC1B2uC,EAAe1iN,EAAOo/G,wBACtBujG,EAAkBV,IAClBW,EAAmBb,IACnBc,EAAWf,IACjB,IAAI5iG,EAAK/jH,EAAMk5F,EAAS,MACpBquH,EAAaxjG,IAAMsjG,EAAoBF,EAAqBO,EAASluC,QACvEz1D,EAAMwjG,EAAaxjG,IAAMyjG,EAAkBL,EAC3CjuH,EAAS,SACL6qB,EAAM,IACRA,EAAMyjG,IAGRzjG,EAAMsjG,EAAoBE,EAAaxjG,IAAMyjG,EAEaxnN,EAAxDunN,EAAavnN,KAAOonN,EAAoBM,EAASx5D,MAAcp7J,KAAKwQ,IAAI,EAAGikN,EAAavnN,KAAOynN,EAAmBH,EAAmBF,GAC7HG,EAAavnN,KAAOynN,EAChC1iE,EAAQ3iC,MAAM2B,IAAMA,EAAM,KAC1BghC,EAAQ3iC,MAAMpiH,KAAOA,EAAO,KAC5B+kJ,EAAQ3iC,MAAMulG,gBAAkBzuH,EAChC+tH,IAAWliE,EAAQ3iC,MAAMqvE,UAAuB,WAAXv4F,EAAsB,QAA8F,OAArFr3F,EAAwD,OAAlDN,EAAK4kN,EAAsB,yBAA8B,EAAS5kN,EAAG5G,OAAiBkH,EAAK,cAAsG,OAArFo5E,EAAwD,OAAlDD,EAAKmrI,EAAsB,yBAA8B,EAASnrI,EAAGrgF,OAAiBsgF,EAAK,GACzR,CACF,CAGA,SAAS2sI,EAAS7iE,EAAS3iC,GACrB2iC,IACmB,kBAAV3iC,EACT2iC,EAAQ3iC,MAAMswB,QAAUtwB,EAExB59F,OAAOgtD,QAAQ4wC,GAAS,CAAC,GAAGhzC,SAAQ,EAAEp1E,EAAKW,KAAWoqJ,EAAQ3iC,MAAMpoH,GAAOW,IAGjF,CAGA,SAASktN,EAAc9iE,EAASgJ,GAC9B,GAAIhJ,aAAmB9yC,YAAa,CAClC,IAAIi8C,EAAQnJ,EAAQ6zB,YACpB,GAAI7qB,EAAQ,CACV,IAAI3rC,EAAQouB,iBAAiBuU,GAC7BmJ,GAASvkG,WAAWy4D,EAAMm2D,YAAc5uH,WAAWy4D,EAAMurC,YAC3D,CACA,OAAOO,CACT,CACA,OAAO,CACT,CAGA,SAAS45D,EAAiB/iE,EAASlgJ,EAAQoiN,GAAS,GAClD,IAAI1lN,EAAIM,EAAIm5E,EAAIC,EAChB,GAAI8pE,EAAS,CACX,MAAMmiE,EAAoBniE,EAAQ2mC,aAAe,CAAEx9B,MAAOnJ,EAAQ6zB,YAAaY,OAAQz0B,EAAQ3T,cAAiBq1E,EAA2B1hE,GACrIgjE,EAAeljN,EAAOusI,aACtBm2E,EAAe1iN,EAAOo/G,wBACtByjG,EAAWf,IACjB,IAAI5iG,EAAK/jH,EAAMk5F,EAAS,MACpBquH,EAAaxjG,IAAMgkG,EAAeb,EAAkB1tC,OAASkuC,EAASluC,QACxEz1D,GAAO,EAAImjG,EAAkB1tC,OAC7BtgF,EAAS,SACLquH,EAAaxjG,IAAMA,EAAM,IAC3BA,GAAO,EAAIwjG,EAAaxjG,MAG1BA,EAAMgkG,EAGN/nN,EADEknN,EAAkBh5D,MAAQw5D,EAASx5D,OACT,EAArBq5D,EAAavnN,KACXunN,EAAavnN,KAAOknN,EAAkBh5D,MAAQw5D,EAASx5D,OACS,GAAjEq5D,EAAavnN,KAAOknN,EAAkBh5D,MAAQw5D,EAASx5D,OAExD,EAETnJ,EAAQ3iC,MAAM2B,IAAMA,EAAM,KAC1BghC,EAAQ3iC,MAAMpiH,KAAOA,EAAO,KAC5B+kJ,EAAQ3iC,MAAMulG,gBAAkBzuH,EAChC+tH,IAAWliE,EAAQ3iC,MAAMqvE,UAAuB,WAAXv4F,EAAsB,QAA8F,OAArFr3F,EAAwD,OAAlDN,EAAK4kN,EAAsB,yBAA8B,EAAS5kN,EAAG5G,OAAiBkH,EAAK,cAAsG,OAArFo5E,EAAwD,OAAlDD,EAAKmrI,EAAsB,yBAA8B,EAASnrI,EAAGrgF,OAAiBsgF,EAAK,GACzR,CACF,CAeA,SAAS4sE,EAAU9C,GACjB,MAA8B,kBAAhB9yC,YAA2B8yC,aAAmB9yC,YAAc8yC,GAA8B,kBAAZA,GAAoC,OAAZA,GAAyC,IAArBA,EAAQrsC,UAA8C,kBAArBqsC,EAAQoK,QACnL,C,2PAuFA,SAASmmC,EAAcvwC,EAAStN,EAAa,CAAC,GAC5C,GAAIoQ,EAAU9C,GAAU,CACtB,MAAMijE,EAAiB,CAACzB,EAAM5rN,KAC5B,IAAI4G,EAAIM,EACR,MAAM0uI,GAA8D,OAAnDhvI,EAAgB,MAAXwjJ,OAAkB,EAASA,EAAQ/3B,aAAkB,EAASzrH,EAAGglN,IAAS,CAAqD,OAAnD1kN,EAAgB,MAAXkjJ,OAAkB,EAASA,EAAQ/3B,aAAkB,EAASnrH,EAAG0kN,IAAS,GACjL,MAAO,CAAC5rN,GAAOigK,OAAOj1D,QAAO,CAACsiH,EAAIl7M,KAChC,GAAU,OAANA,QAAoB,IAANA,EAAc,CAC9B,MAAMjI,SAAciI,EACpB,GAAa,WAATjI,GAA8B,WAATA,EACvBmjN,EAAG1/K,KAAKx7B,QACH,GAAa,WAATjI,EAAmB,CAC5B,MAAMojN,EAAMjmN,MAAMqnD,QAAQv8C,GAAKi7M,EAAezB,EAAMx5M,GAAKyX,OAAOgtD,QAAQzkE,GAAG9S,KAAI,EAAE4kN,EAAInC,KAAiB,UAAT6J,IAAuB7J,GAAa,IAAPA,EAAgFA,EAAKmC,OAAK,EAA9E,GAAGA,EAAGl3M,QAAQ,kBAAmB,SAASD,iBAAiBg1M,MACjMuL,EAAKC,EAAI13M,OAASy3M,EAAG9iN,OAAO+iN,EAAIn1J,QAAQrjD,KAAQA,KAAMu4M,CACxD,CACF,CACA,OAAOA,CAAE,GACR13E,EAAO,EAEZ/rH,OAAOgtD,QAAQimE,GAAYroE,SAAQ,EAAEp1E,EAAKW,MACxC,QAAc,IAAVA,GAA8B,OAAVA,EAAgB,CACtC,MAAMwtN,EAAenuN,EAAI8I,MAAM,WAC3BqlN,EACFpjE,EAAQ//B,iBAAiBmjG,EAAa,GAAGzgN,cAAe/M,GACvC,WAARX,EACTs7L,EAAcvwC,EAASpqJ,IAEvBA,EAAgB,UAARX,EAAkB,IAAI,IAAI8sG,IAAIkhH,EAAe,QAASrtN,KAASgnB,KAAK,KAAKihH,OAAiB,UAAR5oI,EAAkBguN,EAAe,QAASrtN,GAAOgnB,KAAK,KAAKihH,OAASjoI,GAC7JoqJ,EAAQ/3B,OAAS+3B,EAAQ/3B,QAAU,CAAC,KAAO+3B,EAAQ/3B,OAAOhzH,GAAOW,GAClEoqJ,EAAQlsC,aAAa7+G,EAAKW,GAE9B,IAEJ,CACF,CAGA,SAASiL,EAAcd,EAAM2yI,EAAa,CAAC,KAAMloH,GAC/C,GAAIzqB,EAAM,CACR,MAAMigJ,EAAUvkE,SAAS56E,cAAcd,GAGvC,OAFAwwL,EAAcvwC,EAAStN,GACvBsN,EAAQrlG,UAAUnwB,GACXw1H,CACT,CAEF,CAoDA,SAAS3/C,EAAK2/C,EAAS/X,GACrB,OAAO6a,EAAU9C,GAAW9iJ,MAAM07B,KAAKonH,EAAQ3S,iBAAiBpF,IAAa,EAC/E,CAGA,SAASo7E,EAAWrjE,EAAS/X,GAC3B,OAAO6a,EAAU9C,GAAWA,EAAQliJ,QAAQmqI,GAAY+X,EAAUA,EAAQlvC,cAAcm3B,GAAY,IACtG,CAGA,SAAS8c,EAAM/E,EAASlgE,GACtBkgE,GAAWvkE,SAAS06D,gBAAkB6J,GAAWA,EAAQ+E,MAAMjlE,EACjE,CAGA,SAAS6+B,EAAaqhC,EAAShxJ,GAC7B,GAAI8zJ,EAAU9C,GAAU,CACtB,MAAMpqJ,EAAQoqJ,EAAQrhC,aAAa3vH,GACnC,OAAKlB,MAAM8H,GAGG,SAAVA,GAA8B,UAAVA,EACL,SAAVA,EAEFA,GALGA,CAMZ,CAEF,CA2EA,SAAS0tN,EAAqBtjE,EAAS/X,EAAW,IAChD,IAAIs7E,EAAoBljH,EACtB2/C,EACA,2FAA2F/X,sIACkCA,0GAC5BA,2GACCA,6GACEA,+GACEA,sHACOA,KAE3Gu7E,EAA2B,GAC/B,IAAK,IAAIC,KAAoBF,EACuB,QAA9C93E,iBAAiBg4E,GAAkB52E,SAAsE,UAAjDpB,iBAAiBg4E,GAAkBnuC,YAAwBkuC,EAAyBhgL,KAAKigL,GAEvJ,OAAOD,CACT,CAGA,SAASE,EAAyB1jE,EAAS/X,GACzC,MAAMs7E,EAAoBD,EAAqBtjE,EAAS/X,GACxD,OAAOs7E,EAAkB93M,OAAS,EAAI83M,EAAkB,GAAK,IAC/D,CAGA,SAASI,EAAU3jE,GACjB,GAAIA,EAAS,CACX,IAAIy0B,EAASz0B,EAAQ3T,aACjBhvB,EAAQouB,iBAAiBuU,GAE7B,OADAy0B,GAAU7vH,WAAWy4D,EAAMumG,YAAch/J,WAAWy4D,EAAMwmG,eAAiBj/J,WAAWy4D,EAAMq3D,gBAAkB9vH,WAAWy4D,EAAMs3D,mBACxHF,CACT,CACA,OAAO,CACT,CA6BA,SAAS+U,EAAcxpC,GACrB,GAAIA,EAAS,CACX,IAAI5lD,EAAS4lD,EAAQ1sC,WAIrB,OAHIlZ,GAAUA,aAAkBi7D,YAAcj7D,EAAOt5F,OACnDs5F,EAASA,EAAOt5F,MAEXs5F,CACT,CACA,OAAO,IACT,CAGA,SAAS0pH,EAAS9jE,GAChB,IAAIxjJ,EACJ,GAAIwjJ,EAAS,CACX,IAAIx1H,EAA4C,OAAhChuB,EAAKgtL,EAAcxpC,SAAoB,EAASxjJ,EAAG++J,WAC/DnkK,EAAM,EACV,GAAIozB,EACF,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAS/e,OAAQnW,IAAK,CACxC,GAAIk1B,EAASl1B,KAAO0qJ,EAAS,OAAO5oJ,EACP,IAAzBozB,EAASl1B,GAAGq+G,UAAgBv8G,GAClC,CAEJ,CACA,OAAQ,CACV,CAcA,SAAS2sN,EAAwB/jE,EAAS/X,GACxC,MAAMs7E,EAAoBD,EAAqBtjE,EAAS/X,GACxD,OAAOs7E,EAAkB93M,OAAS,EAAI83M,EAAkBA,EAAkB93M,OAAS,GAAK,IAC1F,CAwBA,SAASu4M,EAAUhkE,GACjB,GAAIA,EAAS,CACX,IAAIoI,EAAOpI,EAAQ9gC,wBACnB,MAAO,CACLF,IAAKopC,EAAKppC,KAAOpxE,OAAO64I,aAAehrG,SAAS+qE,gBAAgBQ,WAAavrE,SAAS7lC,KAAKoxG,WAAa,GACxG/rJ,KAAMmtJ,EAAKntJ,MAAQ2yC,OAAO84I,aAAejrG,SAAS+qE,gBAAgB0yB,YAAcz9F,SAAS7lC,KAAKsjI,YAAc,GAEhH,CACA,MAAO,CACLl6D,IAAK,OACL/jH,KAAM,OAEV,CAGA,SAASgpN,EAAejkE,EAASgJ,GAC/B,GAAIhJ,EAAS,CACX,IAAIy0B,EAASz0B,EAAQ3T,aACrB,GAAI2c,EAAQ,CACV,IAAI3rC,EAAQouB,iBAAiBuU,GAC7By0B,GAAU7vH,WAAWy4D,EAAMqvE,WAAa9nI,WAAWy4D,EAAM4wE,aAC3D,CACA,OAAOxZ,CACT,CACA,OAAO,CACT,CAGA,SAASyvC,EAAWlkE,EAASokB,EAAU,IACrC,MAAMhqE,EAASovF,EAAcxpC,GAC7B,OAAkB,OAAX5lD,EAAkBgqE,EAAU8/C,EAAW9pH,EAAQgqE,EAAQhkK,OAAO,CAACg6F,IACxE,CAgBA,SAAS+pH,EAAqBnkE,GAC5B,IAAIokE,EAAoB,GACxB,GAAIpkE,EAAS,CACX,IAAIokB,EAAU8/C,EAAWlkE,GACzB,MAAMqkE,EAAgB,gBAChBC,EAAiB70H,IACrB,IACE,IAAI80H,EAAmB32K,OAAO,oBAAoB6hD,EAAM,MACxD,OAAO40H,EAAcvpN,KAAKypN,EAAiBzxC,iBAAiB,cAAgBuxC,EAAcvpN,KAAKypN,EAAiBzxC,iBAAiB,eAAiBuxC,EAAcvpN,KAAKypN,EAAiBzxC,iBAAiB,aACzM,CAAE,MAAO3sJ,GACP,OAAO,CACT,GAEF,IAAK,IAAIi0E,KAAUgqE,EAAS,CAC1B,IAAIogD,EAAsC,IAApBpqH,EAAOuZ,UAAkBvZ,EAAO86G,QAAQ,mBAC9D,GAAIsP,EAAiB,CACnB,IAAIjhE,EAAYihE,EAAgBz4I,MAAM,KACtC,IAAK,IAAIk8D,KAAYsb,EAAW,CAC9B,IAAIv0C,EAAKq0G,EAAWjpH,EAAQ6tC,GACxBj5B,GAAMs1G,EAAct1G,IACtBo1G,EAAkB5gL,KAAKwrE,EAE3B,CACF,CACwB,IAApB5U,EAAOuZ,UAAkB2wG,EAAclqH,IACzCgqH,EAAkB5gL,KAAK42D,EAE3B,CACF,CACA,OAAOgqH,CACT,CAUA,SAASK,EAAQzkE,GACf,QAAsB,OAAZA,GAAuC,qBAAZA,IAA2BA,EAAQoK,WAAYo/B,EAAcxpC,GACpG,CAqCA,SAAS0kE,EAAS1kE,GAChB,GAAIA,EAAS,CACX,IAAImJ,EAAQnJ,EAAQ6zB,YAChBx2D,EAAQouB,iBAAiBuU,GAE7B,OADAmJ,GAASvkG,WAAWy4D,EAAM6qC,aAAetjG,WAAWy4D,EAAM8qC,cAAgBvjG,WAAWy4D,EAAMovE,iBAAmB7nI,WAAWy4D,EAAMsnG,kBACxHx7D,CACT,CACA,OAAO,CACT,CA4BA,SAASy7D,IACP,MAAO,aAAa9pN,KAAK48F,UAAUtlG,UACrC,CAuBA,SAASyyN,IACP,QAA4B,qBAAXj3K,SAA0BA,OAAO6tC,WAAY7tC,OAAO6tC,SAAS56E,cAChF,CAcA,SAASikN,EAAU9kE,GACjB,SAAUA,GAAmC,MAAxBA,EAAQ2mC,aAC/B,CAkBA,SAASo+B,IACP,MAAO,iBAAkBn3K,QAAU8pD,UAAUstH,eAAiB,GAAKttH,UAAUutH,iBAAmB,CAClG,CA+EA,SAASnxG,EAAaksC,EAASklE,EAAY,GAAItvN,GACzCktJ,EAAU9C,IAAsB,OAAVpqJ,QAA4B,IAAVA,GAC1CoqJ,EAAQlsC,aAAaoxG,EAAWtvN,EAEpC,C,+BC97BA,SAASuvN,IACP,MAAMC,EAA8B,IAAIlmH,IACxC,MAAO,CACL,EAAA/F,CAAGp5F,EAAMsJ,GACP,IAAImoB,EAAW4zL,EAAYv5M,IAAI9L,GAI/B,OAHKyxB,EACAA,EAASgS,KAAKn6B,GADJmoB,EAAW,CAACnoB,GAE3B+7M,EAAYh+M,IAAIrH,EAAMyxB,GACf5hC,IACT,EACA,GAAA4qG,CAAIz6F,EAAMsJ,GACR,IAAImoB,EAAW4zL,EAAYv5M,IAAI9L,GAI/B,OAHIyxB,GACFA,EAAS/1B,OAAO+1B,EAAS7M,QAAQtb,KAAa,EAAG,GAE5CzZ,IACT,EACA,IAAAi0F,CAAK9jF,EAAMzD,GACT,IAAIk1B,EAAW4zL,EAAYv5M,IAAI9L,GAC3ByxB,GACFA,EAAS8R,QAAQpuC,KAAKmU,IACpBA,EAAQ/M,EAAI,GAGlB,EACA,KAAAsoG,GACEwgH,EAAYxgH,OACd,EAEJ,C,6EC9BgBnlF,OAAO45F,eACG55F,OAAOyqF,sBACdzqF,OAAO7iB,UAAU4rF,eACjB/oE,OAAO7iB,UAAUutG,qB,8QCHpC,IAAI+rG,EAAYz2L,OAAO45F,eACnBi9F,EAAsB72L,OAAOyqF,sBAC7BqsG,EAAe92L,OAAO7iB,UAAU4rF,eAChCguH,EAAe/2L,OAAO7iB,UAAUutG,qBAChCssG,EAAkB,CAACn9M,EAAKrE,EAAKW,IAAUX,KAAOqE,EAAM48M,EAAU58M,EAAKrE,EAAK,CAAEy0F,YAAY,EAAMyE,cAAc,EAAM5E,UAAU,EAAM3zF,UAAW0D,EAAIrE,GAAOW,EACtJ8gN,EAAiB,CAACx1M,EAAGm3B,KACvB,IAAK,IAAI5hC,KAAQ4hC,IAAMA,EAAI,CAAC,GACtBk+K,EAAa5mN,KAAK0oC,EAAG5hC,IACvBggN,EAAgBv1M,EAAGzK,EAAM4hC,EAAE5hC,IAC/B,GAAI6/M,EACF,IAAK,IAAI7/M,KAAQ6/M,EAAoBj+K,GAC/Bm+K,EAAa7mN,KAAK0oC,EAAG5hC,IACvBggN,EAAgBv1M,EAAGzK,EAAM4hC,EAAE5hC,IAEjC,OAAOyK,CAAC,EAIV,SAASmkN,EAAQzvN,GACf,OAAiB,OAAVA,QAA4B,IAAVA,GAA8B,KAAVA,GAAgBsH,MAAMqnD,QAAQ3uD,IAA2B,IAAjBA,EAAM6V,UAAkB7V,aAAiBiC,OAA0B,kBAAVjC,GAAoD,IAA9B6pB,OAAO8lC,KAAK3vD,GAAO6V,MACzL,CAgBA,SAAS65M,EAAY3jM,EAAMC,EAAM68D,EAA0B,IAAIuc,SAC7D,GAAIr5E,IAASC,EAAM,OAAO,EAC1B,IAAKD,IAASC,GAAwB,kBAATD,GAAqC,kBAATC,EAAmB,OAAO,EACnF,GAAI68D,EAAQ6c,IAAI35E,IAAS88D,EAAQ6c,IAAI15E,GAAO,OAAO,EACnD68D,EAAQrxE,IAAIuU,GAAMvU,IAAIwU,GACtB,IAAkEtsB,EAAGmW,EAAQxW,EAAzEswN,EAAUroN,MAAMqnD,QAAQ5iC,GAAO6jM,EAAUtoN,MAAMqnD,QAAQ3iC,GAC3D,GAAI2jM,GAAWC,EAAS,CAEtB,GADA/5M,EAASkW,EAAKlW,OACVA,GAAUmW,EAAKnW,OAAQ,OAAO,EAClC,IAAKnW,EAAImW,EAAgB,IAARnW,KAAa,IAAKgwN,EAAY3jM,EAAKrsB,GAAIssB,EAAKtsB,GAAImpF,GAAU,OAAO,EAClF,OAAO,CACT,CACA,GAAI8mI,GAAWC,EAAS,OAAO,EAC/B,IAAIC,EAAW9jM,aAAgB9pB,KAAM6tN,EAAW9jM,aAAgB/pB,KAChE,GAAI4tN,GAAYC,EAAU,OAAO,EACjC,GAAID,GAAYC,EAAU,OAAO/jM,EAAKsiB,WAAariB,EAAKqiB,UACxD,IAAI0hL,EAAahkM,aAAgBjf,OAAQkjN,EAAahkM,aAAgBlf,OACtE,GAAIijN,GAAcC,EAAY,OAAO,EACrC,GAAID,GAAcC,EAAY,OAAOjkM,EAAKxjB,YAAcyjB,EAAKzjB,WAC7D,IAAIonD,EAAO9lC,OAAO8lC,KAAK5jC,GAEvB,GADAlW,EAAS85C,EAAK95C,OACVA,IAAWgU,OAAO8lC,KAAK3jC,GAAMnW,OAAQ,OAAO,EAChD,IAAKnW,EAAImW,EAAgB,IAARnW,KAAa,IAAKmqB,OAAO7iB,UAAU4rF,eAAe74F,KAAKiyB,EAAM2jC,EAAKjwD,IAAK,OAAO,EAC/F,IAAKA,EAAImW,EAAgB,IAARnW,KAEf,GADAL,EAAMswD,EAAKjwD,IACNgwN,EAAY3jM,EAAK1sB,GAAM2sB,EAAK3sB,GAAMwpF,GAAU,OAAO,EAE1D,OAAO,CACT,CACA,SAASonI,EAAWlkM,EAAMC,GACxB,OAAO0jM,EAAY3jM,EAAMC,EAC3B,CAGA,SAASkmE,EAAWlyF,GAClB,SAAUA,GAASA,EAAMmG,aAAenG,EAAMjG,MAAQiG,EAAM6mE,MAC9D,CAGA,SAASqpJ,EAAWlwN,GAClB,OAAQyvN,EAAQzvN,EAClB,CAGA,SAASmwN,EAAiBnxN,EAAMQ,GAC9B,IAAKR,IAASQ,EACZ,OAAO,KAET,IACE,MAAMQ,EAAQhB,EAAKQ,GACnB,GAAI0wN,EAAWlwN,GAAQ,OAAOA,CAChC,CAAE,MAAOc,GACT,CACA,GAAI+oB,OAAO8lC,KAAK3wD,GAAM6W,OAAQ,CAC5B,GAAIq8E,EAAW1yF,GACb,OAAOA,EAAMR,GACR,IAA4B,IAAxBQ,EAAMuvB,QAAQ,KACvB,OAAO/vB,EAAKQ,GACP,CACL,IAAI65D,EAAS75D,EAAM22E,MAAM,KACrBn2E,EAAQhB,EACZ,IAAK,IAAIU,EAAI,EAAGk9B,EAAMy8B,EAAOxjD,OAAQnW,EAAIk9B,IAAOl9B,EAAG,CACjD,GAAa,MAATM,EACF,OAAO,KAETA,EAAQA,EAAMq5D,EAAO35D,GACvB,CACA,OAAOM,CACT,CACF,CACA,OAAO,IACT,CAGA,SAASowN,EAAOrkM,EAAMC,EAAMxsB,GAC1B,OAAIA,EAAc2wN,EAAiBpkM,EAAMvsB,KAAW2wN,EAAiBnkM,EAAMxsB,GAC/DywN,EAAWlkM,EAAMC,EAC/B,CAwDA,SAAS4+E,EAAch7E,EAAKjX,GAC1B,IAAIioC,GAAS,EACb,GAAIsvK,EAAWtgM,GACb,IACEgxB,EAAQhxB,EAAIg7E,cAAcjyF,EAC5B,CAAE,MAAO7X,GACP8/C,EAAQhxB,EAAIi2B,YAAY,IAAIj2B,GAAKyjC,UAAUo3C,KAAK9xF,GAClD,CAEF,OAAOioC,CACT,CAGA,SAASuxC,EAASnyF,EAAO08J,GAAQ,GAC/B,OAAO18J,aAAiB6pB,QAAU7pB,EAAMmG,cAAgB0jB,SAAW6yI,GAAuC,IAA9B7yI,OAAO8lC,KAAK3vD,GAAO6V,OACjG,CAGA,SAASkuC,EAAQrgD,KAAQy5E,GACvB,OAAO+U,EAAWxuF,GAAOA,KAAOy5E,GAAUz5E,CAC5C,CAGA,SAASuuF,EAASjyF,EAAO08J,GAAQ,GAC/B,MAAwB,kBAAV18J,IAAuB08J,GAAmB,KAAV18J,EAChD,CAGA,SAASqwN,EAAW3rE,GAClB,OAAOzyD,EAASyyD,GAAOA,EAAI13I,QAAQ,SAAU,IAAID,cAAgB23I,CACnE,CAGA,SAAS4rE,EAAY5sN,EAAKrE,EAAM,GAAI89E,EAAS,CAAC,GAC5C,MAAMozI,EAAQF,EAAWhxN,GAAK82E,MAAM,KAC9Bq6I,EAAOD,EAAMl6I,QACnB,OAAOm6I,EAAOr+H,EAASzuF,GAAO4sN,EAAYvsK,EAAQrgD,EAAImmB,OAAO8lC,KAAKjsD,GAAK+mG,MAAMhT,GAAM44H,EAAW54H,KAAO+4H,KAAS,IAAKrzI,GAASozI,EAAMvpM,KAAK,KAAMm2D,QAAU,EAASp5B,EAAQrgD,EAAKy5E,EAC/K,CAuBA,SAASxuB,EAAQ3uD,EAAO08J,GAAQ,GAC9B,OAAOp1J,MAAMqnD,QAAQ3uD,KAAW08J,GAA0B,IAAjB18J,EAAM6V,OACjD,CAaA,SAASw8E,EAASryF,GAChB,OAAOkwN,EAAWlwN,KAAW9H,MAAM8H,EACrC,CAGA,SAASywN,EAAqBC,EAAO,IACnC,OAAOR,EAAWQ,IAAyB,IAAhBA,EAAK76M,UAAkB66M,EAAKvoN,MAAM,OAC/D,CAQA,SAASwoN,IACP,OAAO,IAAIC,KAAKC,cAAS,EAAQ,CAAEC,SAAS,IAAQppD,OACtD,CAGA,SAASqpD,EAAWrsE,EAAKz/I,GACvB,GAAIA,EAAO,CACT,MAAMkD,EAAQlD,EAAMC,KAAKw/I,GAEzB,OADAz/I,EAAMupH,UAAY,EACXrmH,CACT,CACA,OAAO,CACT,CAGA,SAAS6oN,KAAat7M,GACpB,MAAMu7M,EAAa,CAAC/mN,EAAS,CAAC,EAAGqP,EAAS,CAAC,KACzC,MAAM23M,EAAYpQ,EAAe,CAAC,EAAG52M,GAQrC,OAPA2f,OAAO8lC,KAAKp2C,GAAQk7D,SAASp1E,IACvB8yF,EAAS54E,EAAOla,KAASA,KAAO6K,GAAUioF,EAASjoF,EAAO7K,IAC5D6xN,EAAU7xN,GAAO4xN,EAAW/mN,EAAO7K,GAAMka,EAAOla,IAEhD6xN,EAAU7xN,GAAOka,EAAOla,EAC1B,IAEK6xN,CAAS,EAElB,OAAOx7M,EAAKs1F,QAAO,CAACe,EAAKroG,EAAKhE,IAAY,IAANA,EAAUgE,EAAMutN,EAAWllH,EAAKroG,IAAM,CAAC,EAC7E,CAGA,SAASytN,EAAUr+E,GACjB,OAAOA,EAAMA,EAAI9lI,QAAQ,yCAA0C,IAAIA,QAAQ,SAAU,KAAKA,QAAQ,aAAc,MAAMA,QAAQ,WAAY,MAAMA,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAAO8lI,CAChM,CAoBA,SAASs+E,EAAc1sE,GACrB,MAAM2sE,EAAmB,2BACzB,GAAI3sE,GAAO2sE,EAAiBnsN,KAAKw/I,GAAM,CACrC,MAAM4sE,EAAa,CACjBC,EAAG,iCACHC,GAAI,UACJC,EAAG,kCACHC,EAAG,sBACHC,EAAG,6CACHC,EAAG,8BACHC,EAAG,kBACHC,EAAG,6CACHC,GAAI,YACJC,EAAG,YACHC,EAAG,YACHC,EAAG,oCACHC,EAAG,kCACHlxB,EAAG,qCACHmxB,GAAI,YACJC,EAAG,wBACHC,EAAG,8BACHC,EAAG,wBACHC,EAAG,mDACHC,EAAG,YACHC,EAAG,sBACHC,EAAG,wBACHrnN,EAAG,iCACHsnN,GAAI,UACJ79M,EAAG,kCACHytB,EAAG,kBACH1hC,EAAG,6CACH2W,EAAG,8BACH/X,EAAG,6CACHmzN,GAAI,YACJ3vL,EAAG,YACHu0D,EAAG,mBACH52B,EAAG,oCACHzqD,EAAG,kCACHisB,EAAG,UACHklD,EAAG,qCACHurI,GAAI,YACJxiH,EAAG,wBACH7uG,EAAG,8BACH2gC,EAAG,wBACH+/F,EAAG,mDACHntH,EAAG,YACHsjL,EAAG,oBACHy6B,EAAG,yBAEL,IAAK,IAAI1zN,KAAOiyN,EACd5sE,EAAMA,EAAI13I,QAAQskN,EAAWjyN,GAAMA,EAEvC,CACA,OAAOqlJ,CACT,CA0CA,SAASsuE,EAActuE,GACrB,OAAOzyD,EAASyyD,GAAK,GAASA,EAAI,GAAGl5I,cAAgBk5I,EAAIh3G,MAAM,GAAKg3G,CACtE,CAGA,SAASuuE,EAAYvuE,GACnB,OAAOzyD,EAASyyD,GAAOA,EAAI13I,QAAQ,OAAQ,KAAKA,QAAQ,UAAU,CAAC+H,EAAGrV,IAAY,IAANA,EAAUqV,EAAI,IAAMA,EAAEhI,gBAAeA,cAAgB23I,CACnI,CAGA,SAASwuE,EAAWxuE,GAClB,OAAOzyD,EAASyyD,GAAOA,EAAI13I,QAAQ,UAAU,CAAC+H,EAAGrV,IAAY,IAANA,EAAUqV,EAAI,IAAMA,EAAEhI,gBAAeA,cAAgB23I,CAC9G,C,gDCnaA,IAAIyuE,EAAU,CAAC,EACf,SAASC,EAAKr2J,EAAS,WAKrB,OAJKo2J,EAAQvgI,eAAe71B,KAC1Bo2J,EAAQp2J,GAAU,GAEpBo2J,EAAQp2J,KACD,GAAGA,IAASo2J,EAAQp2J,IAC7B,C,+BCPA,SAAStpD,IACP,IAAI4/M,EAAW,GACf,MAAMC,EAAiB,CAACj0N,EAAKk0N,EAAYC,EAAa,OACpD,MAAMC,EAAaC,EAAcr0N,EAAKk0N,EAAYC,GAC5CG,EAAYF,EAAWzzN,OAASyzN,EAAWp0N,MAAQA,EAAM,EAAIm0N,GAAc,EAEjF,OADAH,EAASzlL,KAAK,CAAEvuC,MAAKW,MAAO2zN,IACrBA,CAAS,EAEZC,EAAgB1xC,IACpBmxC,EAAWA,EAASj7J,QAAQ10D,GAAQA,EAAI1D,QAAUkiL,GAAO,EAErD2xC,EAAmB,CAACx0N,EAAKk0N,IACtBG,EAAcr0N,EAAKk0N,GAAYvzN,MAElC0zN,EAAgB,CAACr0N,EAAKk0N,EAAYC,EAAa,IAC5C,IAAIH,GAAUhgK,UAAUo3C,MAAM/mG,KAAQ6vN,GAAoB7vN,EAAIrE,MAAQA,KAAQ,CAAEA,MAAKW,MAAOwzN,GAE/FM,EAAa1pE,GACVA,GAAUhiJ,SAASgiJ,EAAQ3iC,MAAMy6D,OAAQ,KAAW,EAE7D,MAAO,CACLjsK,IAAK69M,EACLtiN,IAAK,CAACnS,EAAK+qJ,EAASopE,KACdppE,IACFA,EAAQ3iC,MAAMy6D,OAASr/I,OAAOywL,EAAej0N,GAAK,EAAMm0N,IAC1D,EAEFxkH,MAAQo7C,IACFA,IACFwpE,EAAaE,EAAU1pE,IACvBA,EAAQ3iC,MAAMy6D,OAAS,GACzB,EAEF6xC,WAAa10N,GAAQw0N,EAAiBx0N,GAAK,GAE/C,C,iBACA,IAAI20N,EAASvgN,G,wECnCTwgN,EAAkB,CACpBC,YAAa,aACbC,SAAU,WACVC,aAAc,cACdC,UAAW,WACXC,OAAQ,SACRC,WAAY,YACZC,GAAI,KACJC,UAAW,KACXC,sBAAuB,MACvBC,aAAc,KACdC,yBAA0B,MAC1BC,QAAS,UACTC,QAAS,SACTC,YAAa,YACbC,YAAa,aACbC,WAAY,aAQd,SAASC,EAA2B5kH,EAAGxvG,GAAK,IAAIshC,EAAI,oBAAsB8mE,QAAUoH,EAAEpH,OAAOvT,WAAa2a,EAAE,cAAe,IAAKluE,EAAG,CAAE,GAAI96B,MAAMqnD,QAAQ2hD,KAAOluE,EAAI+yL,EAA4B7kH,KAAOxvG,EAAG,CAAEshC,IAAMkuE,EAAIluE,GAAI,IAAI+1E,EAAK,EAAG1/D,EAAI,WAAc,EAAG,MAAO,CAAEh3C,EAAGg3C,EAAGriC,EAAG,WAAe,OAAO+hG,GAAM7H,EAAEz6F,OAAS,CAAEmxC,MAAM,GAAO,CAAEA,MAAM,EAAIhnD,MAAOswG,EAAE6H,KAAS,EAAGr3G,EAAG,SAAWwvG,GAAK,MAAMA,CAAG,EAAGr/E,EAAGwnB,EAAK,CAAE,MAAM,IAAI+7C,UAAU,wIAA0I,CAAE,IAAIjN,EAAGj8E,GAAI,EAAI62H,GAAI,EAAI,MAAO,CAAE1gI,EAAG,WAAe2gC,EAAIA,EAAEroC,KAAKu2G,EAAI,EAAGl6F,EAAG,WAAe,IAAIk6F,EAAIluE,EAAE3lB,OAAQ,OAAOnR,EAAIglG,EAAEtpD,KAAMspD,CAAG,EAAGxvG,EAAG,SAAWwvG,GAAK6xB,GAAI,EAAI56C,EAAI+oB,CAAG,EAAGr/E,EAAG,WAAe,IAAM3lB,GAAK,MAAQ82B,EAAE,WAAaA,EAAE,WAAa,CAAE,QAAU,GAAI+/F,EAAG,MAAM56C,CAAG,CAAE,EAAK,CACvzB,SAAS4tI,EAA4B7kH,EAAGhlG,GAAK,GAAIglG,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8kH,EAAkB9kH,EAAGhlG,GAAI,IAAI82B,EAAI,CAAC,EAAE75B,SAASxO,KAAKu2G,GAAG5iE,MAAM,GAAI,GAAI,MAAO,WAAatL,GAAKkuE,EAAEnqG,cAAgBi8B,EAAIkuE,EAAEnqG,YAAY/M,MAAO,QAAUgpC,GAAK,QAAUA,EAAI96B,MAAM07B,KAAKstE,GAAK,cAAgBluE,GAAK,2CAA2Cl9B,KAAKk9B,GAAKgzL,EAAkB9kH,EAAGhlG,QAAK,CAAQ,CAAE,CACzX,SAAS8pN,EAAkB9kH,EAAGhlG,IAAM,MAAQA,GAAKA,EAAIglG,EAAEz6F,UAAYvK,EAAIglG,EAAEz6F,QAAS,IAAK,IAAI/U,EAAI,EAAGsV,EAAI9O,MAAMgE,GAAIxK,EAAIwK,EAAGxK,IAAKsV,EAAEtV,GAAKwvG,EAAExvG,GAAI,OAAOsV,CAAG,CACnJ,IAAIi/M,EAAgB,CAClBj9J,OAAQ,SAAgBp4D,EAAOq5D,EAAQi8J,EAAaC,EAAiBC,GACnE,IAAIC,EAAgB,GACpB,IAAKz1N,EACH,OAAOy1N,EAET,IACEC,EADEC,EAAYT,EAA2Bl1N,GAE3C,IACE,IAAK21N,EAAUl0N,MAAOi0N,EAAQC,EAAUv/M,KAAK4wC,MAAO,CAClD,IAAI3tB,EAAOq8L,EAAM11N,MACjB,GAAoB,kBAATq5B,GACT,GAAIr/B,KAAKs9H,QAAQi+F,GAAiBl8L,EAAMi8L,EAAaE,GAAe,CAClEC,EAAc7nL,KAAKvU,GACnB,QACF,MACK,CACL,IACEu8L,EADEC,EAAaX,EAA2B77J,GAE5C,IACE,IAAKw8J,EAAWp0N,MAAOm0N,EAASC,EAAWz/M,KAAK4wC,MAAO,CACrD,IAAIxnD,EAAQo2N,EAAO51N,MACf81N,GAAa,QAAiBz8L,EAAM75B,GACxC,GAAIxF,KAAKs9H,QAAQi+F,GAAiBO,EAAYR,EAAaE,GAAe,CACxEC,EAAc7nL,KAAKvU,GACnB,KACF,CACF,CACF,CAAE,MAAO9I,GACPslM,EAAW/0N,EAAEyvB,EACf,CAAE,QACAslM,EAAW5kM,GACb,CACF,CACF,CACF,CAAE,MAAOV,GACPolM,EAAU70N,EAAEyvB,EACd,CAAE,QACAolM,EAAU1kM,GACZ,CACA,OAAOwkM,CACT,EACAn+F,QAAS,CACPtC,WAAY,SAAoBh1H,EAAOo4D,EAAQo9J,GAC7C,QAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,EAC7C,OAAO,EAET,QAAcx4D,IAAVI,GAAiC,OAAVA,EACzB,OAAO,EAET,IAAIs1N,GAAc,QAAcl9J,EAAO7vD,YAAYwtN,kBAAkBP,GACjEQ,GAAc,QAAch2N,EAAMuI,YAAYwtN,kBAAkBP,GACpE,OAAOQ,EAAYtoL,MAAM,EAAG4nL,EAAYz/M,UAAYy/M,CACtD,EACAhqE,SAAU,SAAkBtrJ,EAAOo4D,EAAQo9J,GACzC,QAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,EAC7C,OAAO,EAET,QAAcx4D,IAAVI,GAAiC,OAAVA,EACzB,OAAO,EAET,IAAIs1N,GAAc,QAAcl9J,EAAO7vD,YAAYwtN,kBAAkBP,GACjEQ,GAAc,QAAch2N,EAAMuI,YAAYwtN,kBAAkBP,GACpE,OAA6C,IAAtCQ,EAAYjnM,QAAQumM,EAC7B,EACAW,YAAa,SAAqBj2N,EAAOo4D,EAAQo9J,GAC/C,QAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,EAC7C,OAAO,EAET,QAAcx4D,IAAVI,GAAiC,OAAVA,EACzB,OAAO,EAET,IAAIs1N,GAAc,QAAcl9J,EAAO7vD,YAAYwtN,kBAAkBP,GACjEQ,GAAc,QAAch2N,EAAMuI,YAAYwtN,kBAAkBP,GACpE,OAA6C,IAAtCQ,EAAYjnM,QAAQumM,EAC7B,EACA/tG,SAAU,SAAkBvnH,EAAOo4D,EAAQo9J,GACzC,QAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,EAC7C,OAAO,EAET,QAAcx4D,IAAVI,GAAiC,OAAVA,EACzB,OAAO,EAET,IAAIs1N,GAAc,QAAcl9J,EAAO7vD,YAAYwtN,kBAAkBP,GACjEQ,GAAc,QAAch2N,EAAMuI,YAAYwtN,kBAAkBP,GACpE,OAAsF,IAA/EQ,EAAYjnM,QAAQumM,EAAaU,EAAYngN,OAASy/M,EAAYz/M,OAC3E,EACAu6M,OAAQ,SAAgBpwN,EAAOo4D,EAAQo9J,GACrC,YAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,QAGjCx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,YAAc+pB,EAAO/pB,WAAsB,QAAcruC,EAAMuI,YAAYwtN,kBAAkBP,KAAiB,QAAcp9J,EAAO7vD,YAAYwtN,kBAAkBP,GACrN,EACAU,UAAW,SAAmBl2N,EAAOo4D,EAAQo9J,GAC3C,YAAe51N,IAAXw4D,GAAmC,OAAXA,GAA8B,KAAXA,SAGjCx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,YAAc+pB,EAAO/pB,WAAsB,QAAcruC,EAAMuI,YAAYwtN,kBAAkBP,KAAiB,QAAcp9J,EAAO7vD,YAAYwtN,kBAAkBP,IACrN,EACA,GAAM,SAAax1N,EAAOo4D,GACxB,QAAex4D,IAAXw4D,GAAmC,OAAXA,GAAqC,IAAlBA,EAAOviD,OACpD,OAAO,EAET,IAAK,IAAInW,EAAI,EAAGA,EAAI04D,EAAOviD,OAAQnW,IACjC,IAAI,QAAOM,EAAOo4D,EAAO14D,IACvB,OAAO,EAGX,OAAO,CACT,EACAy2N,QAAS,SAAiBn2N,EAAOo4D,GAC/B,OAAc,MAAVA,GAA+B,MAAbA,EAAO,IAA2B,MAAbA,EAAO,SAGpCx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,QAAgB+pB,EAAO,GAAG/pB,WAAaruC,EAAMquC,WAAaruC,EAAMquC,WAAa+pB,EAAO,GAAG/pB,UAAsB+pB,EAAO,IAAMp4D,GAASA,GAASo4D,EAAO,GAC/J,EACA2xG,GAAI,SAAY/pK,EAAOo4D,GACrB,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,UAAY+pB,EAAO/pB,UAAsBruC,EAAQo4D,EACrG,EACAg+J,IAAK,SAAap2N,EAAOo4D,GACvB,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,WAAa+pB,EAAO/pB,UAAsBruC,GAASo4D,EACvG,EACA4xG,GAAI,SAAYhqK,EAAOo4D,GACrB,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,UAAY+pB,EAAO/pB,UAAsBruC,EAAQo4D,EACrG,EACAi+J,IAAK,SAAar2N,EAAOo4D,GACvB,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,IAGvBA,EAAMquC,SAAW+pB,EAAO/pB,QAAgBruC,EAAMquC,WAAa+pB,EAAO/pB,UAAsBruC,GAASo4D,EACvG,EACAk+J,OAAQ,SAAgBt2N,EAAOo4D,GAC7B,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,GAGpBA,EAAMu2N,iBAAmBn+J,EAAOm+J,cACzC,EACAC,UAAW,SAAmBx2N,EAAOo4D,GACnC,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,GAGpBA,EAAMu2N,iBAAmBn+J,EAAOm+J,cACzC,EACAE,WAAY,SAAoBz2N,EAAOo4D,GACrC,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,GAGpBA,EAAMquC,UAAY+pB,EAAO/pB,SAClC,EACAqoL,UAAW,SAAmB12N,EAAOo4D,GACnC,YAAex4D,IAAXw4D,GAAmC,OAAXA,QAGdx4D,IAAVI,GAAiC,OAAVA,GAGpBA,EAAMquC,UAAY+pB,EAAO/pB,SAClC,GAEFwpF,SAAU,SAAkB+zF,EAAMl4M,GAChC1Z,KAAKs9H,QAAQs0F,GAAQl4M,CACvB,E,0GClOF,SAASyqM,EAAQ52H,GAAgC,OAAO42H,EAAU,mBAAqBj1G,QAAU,iBAAmBA,OAAOvT,SAAW,SAAUpO,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqB2hB,QAAU3hB,EAAEphF,cAAgB+iG,QAAU3hB,IAAM2hB,OAAOliG,UAAY,gBAAkBugF,CAAG,EAAG42H,EAAQ52H,EAAI,CAC7T,SAASmmB,EAAQ5sG,EAAGwvG,GAAK,IAAIluE,EAAIvY,OAAO8lC,KAAK7uD,GAAI,GAAI+oB,OAAOyqF,sBAAuB,CAAE,IAAI/sB,EAAI19D,OAAOyqF,sBAAsBxzG,GAAIwvG,IAAM/oB,EAAIA,EAAEnvB,QAAO,SAAUk4C,GAAK,OAAOzmF,OAAOs3K,yBAAyBrgM,EAAGwvG,GAAGxc,UAAY,KAAK1xD,EAAEwL,KAAKi5B,MAAMzkC,EAAGmlD,EAAI,CAAE,OAAOnlD,CAAG,CAC9P,SAASu0L,EAAc71N,GAAK,IAAK,IAAIwvG,EAAI,EAAGA,EAAI16F,UAAUC,OAAQy6F,IAAK,CAAE,IAAIluE,EAAI,MAAQxsB,UAAU06F,GAAK16F,UAAU06F,GAAK,CAAC,EAAGA,EAAI,EAAI5C,EAAQ7jF,OAAOuY,IAAI,GAAIqyC,SAAQ,SAAU67B,GAAK4tG,EAAgBp9M,EAAGwvG,EAAGluE,EAAEkuE,GAAK,IAAKzmF,OAAO42L,0BAA4B52L,OAAOqsK,iBAAiBp1L,EAAG+oB,OAAO42L,0BAA0Br+K,IAAMsrE,EAAQ7jF,OAAOuY,IAAIqyC,SAAQ,SAAU67B,GAAKzmF,OAAO45F,eAAe3iH,EAAGwvG,EAAGzmF,OAAOs3K,yBAAyB/+J,EAAGkuE,GAAK,GAAI,CAAE,OAAOxvG,CAAG,CACtb,SAASo9M,EAAgBp9M,EAAGwvG,EAAGluE,GAAK,OAAQkuE,EAAIsmH,EAAetmH,MAAOxvG,EAAI+oB,OAAO45F,eAAe3iH,EAAGwvG,EAAG,CAAEtwG,MAAOoiC,EAAG0xD,YAAY,EAAIyE,cAAc,EAAI5E,UAAU,IAAQ7yF,EAAEwvG,GAAKluE,EAAGthC,CAAG,CACnL,SAAS81N,EAAex0L,GAAK,IAAI1iC,EAAIm3N,EAAaz0L,EAAG,UAAW,MAAO,UAAY+7K,EAAQz+M,GAAKA,EAAIA,EAAI,EAAI,CAC5G,SAASm3N,EAAaz0L,EAAGkuE,GAAK,GAAI,UAAY6tG,EAAQ/7K,KAAOA,EAAG,OAAOA,EAAG,IAAIthC,EAAIshC,EAAE8mE,OAAOpT,aAAc,QAAI,IAAWh1F,EAAG,CAAE,IAAIpB,EAAIoB,EAAE/G,KAAKqoC,EAAGkuE,GAAK,WAAY,GAAI,UAAY6tG,EAAQz+M,GAAI,OAAOA,EAAG,MAAM,IAAI80F,UAAU,+CAAiD,CAAE,OAAQ,WAAa8b,EAAIztE,OAAS+mE,QAAQxnE,EAAI,CAC3T,SAAS00L,EAAapjN,GACpB,IAAIyrC,IAAOvpC,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,KAAmBA,UAAU,IACtE,WAAsB,QAAUlC,GAAayrC,EAAMzrC,KAAU,QAASA,EAC5E,CACA,IAAIklB,EAAM,EACV,SAASm+L,EAASjkF,GAChB,IAAI5oD,EAAUt0E,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EohN,GAAW,SAAI,GACfC,GAAS,QAAInkF,GACbokF,GAAW,QAAI,MACfC,GAAkB,UAAan/K,OAAO6tC,cAAWjmF,EACjDw3N,EAAoBltI,EAAQrE,SAC9BA,OAAiC,IAAtBuxI,EAA+BD,EAAkBC,EAC5DC,EAAqBntI,EAAQ8oB,UAC7BA,OAAmC,IAAvBqkH,GAAuCA,EACnDC,EAAkBptI,EAAQqtI,OAC1BA,OAA6B,IAApBD,GAAqCA,EAC9CE,EAAgBttI,EAAQ9wF,KACxBA,OAAyB,IAAlBo+N,EAA2B,SAAShtN,SAASouB,GAAO4+L,EAC3DC,EAAcvtI,EAAQ9oF,GACtBA,OAAqB,IAAhBq2N,OAAyB73N,EAAY63N,EAC1CC,EAAiBxtI,EAAQu5H,MACzBA,OAA2B,IAAnBiU,OAA4B93N,EAAY83N,EAChDC,EAAiBztI,EAAQyxD,MACzBA,OAA2B,IAAnBg8E,OAA4B/3N,EAAY+3N,EAChDC,EAAiB1tI,EAAQ+2E,MACzBA,OAA2B,IAAnB22D,GAAoCA,EAC5CC,EAAqB3tI,EAAQw0B,UAC7BysG,OAAwC,IAAvB0M,OAAgCj4N,EAAYi4N,EAC7DC,EAAqB5tI,EAAQgkC,UAC7Bk9F,OAAwC,IAAvB0M,OAAgCl4N,EAAYk4N,EAC7DC,EAAkB7tI,EAAQ81G,OAC1BqrB,OAAoC,IAApB0M,OAA6Bn4N,EAAYm4N,EACzDC,EAAiB9tI,EAAQt/B,MACzBA,OAA2B,IAAnBotK,EAA4B,CAAC,EAAIA,EACvC1mL,EAAO,WAAiB,EAGxBm6E,EAAO,SAAcg9F,GACvB,IAAIruF,EAASxkH,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAClF,GAAKiwE,EAAL,CACA,IAAIoyI,EAActB,EAAcA,EAAc,CAAC,EAAG/rK,GAAQwvE,GACtD+sF,EAAQ8Q,EAAY7+N,MAAQA,EAC9Bw/B,EAAMq/L,EAAY72N,IAAMA,EACxBs6I,EAASu8E,EAAYt8E,OAASA,EAChCu7E,EAASl3N,MAAQ6lF,EAASq1B,cAAc,iCAAkC1wG,OAAO28M,EAAO,QAAWthI,EAASk5E,eAAenmI,IAAQitD,EAAS56E,cAAc,SACrJisN,EAASl3N,MAAMs8I,cAClB26E,EAAOj3N,MAAQyoN,GAAQ31E,GACvB,QAAcokF,EAASl3N,MAAO,CAC5BmK,KAAM,WACN/I,GAAIw3B,EACJ6qL,MAAOA,EACP9nE,MAAOD,IAETulB,EAAQp7E,EAASwhB,KAAK8nB,QAAQ+nG,EAASl3N,OAAS6lF,EAASwhB,KAAKorC,YAAYykF,EAASl3N,QACnF,QAAak3N,EAASl3N,MAAO,yBAA0BmnN,IACvD,QAAc+P,EAASl3N,MAAOi4N,GAC9Bf,EAASl3N,MAAMwkD,OAAS,SAAUt/B,GAChC,OAAyB,OAAlBmmM,QAA4C,IAAlBA,OAA2B,EAASA,EAAcnmM,EAAO,CACxF9rB,KAAM+tN,GAEV,EACmB,OAAnBgE,QAA8C,IAAnBA,GAA6BA,EAAehE,IAErE6P,EAASh3N,QACbsxC,GAAO,QAAM2lL,GAAQ,SAAUj3N,GAC7Bk3N,EAASl3N,MAAMmnH,YAAcnnH,EACV,OAAnBorN,QAA8C,IAAnBA,GAA6BA,EAAejE,EACzE,GAAG,CACDn0G,WAAW,IAEbgkH,EAASh3N,OAAQ,EA/BI,CAgCvB,EACIw4B,EAAS,WACNqtD,GAAamxI,EAASh3N,QAC3BsxC,KACA,QAAQ4lL,EAASl3N,QAAU6lF,EAASwhB,KAAK0qC,YAAYmlF,EAASl3N,OAC9Dg3N,EAASh3N,OAAQ,EACnB,EAMA,OALIgzG,IAAcukH,GAAQT,EAAarrG,GAKhC,CACLrqH,GAAIA,EACJhI,KAAMA,EACNggH,GAAI89G,EACJpkF,IAAKmkF,EACLz+L,OAAQA,EACRizF,KAAMA,EACNurG,UAAU,QAASA,GAEvB,CClGA,SAAS,EAAQzvI,GAAgC,OAAO,EAAU,mBAAqB2hB,QAAU,iBAAmBA,OAAOvT,SAAW,SAAUpO,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqB2hB,QAAU3hB,EAAEphF,cAAgB+iG,QAAU3hB,IAAM2hB,OAAOliG,UAAY,gBAAkBugF,CAAG,EAAG,EAAQA,EAAI,CAC7T,SAAS2wI,EAAe5nH,EAAGxvG,GAAK,OAAOq3N,EAAgB7nH,IAAM8nH,EAAsB9nH,EAAGxvG,IAAMq0N,EAA4B7kH,EAAGxvG,IAAMu3N,GAAoB,CACrJ,SAASA,IAAqB,MAAM,IAAI7jI,UAAU,4IAA8I,CAChM,SAAS2gI,EAA4B7kH,EAAGhlG,GAAK,GAAIglG,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8kH,EAAkB9kH,EAAGhlG,GAAI,IAAI82B,EAAI,CAAC,EAAE75B,SAASxO,KAAKu2G,GAAG5iE,MAAM,GAAI,GAAI,MAAO,WAAatL,GAAKkuE,EAAEnqG,cAAgBi8B,EAAIkuE,EAAEnqG,YAAY/M,MAAO,QAAUgpC,GAAK,QAAUA,EAAI96B,MAAM07B,KAAKstE,GAAK,cAAgBluE,GAAK,2CAA2Cl9B,KAAKk9B,GAAKgzL,EAAkB9kH,EAAGhlG,QAAK,CAAQ,CAAE,CACzX,SAAS8pN,EAAkB9kH,EAAGhlG,IAAM,MAAQA,GAAKA,EAAIglG,EAAEz6F,UAAYvK,EAAIglG,EAAEz6F,QAAS,IAAK,IAAI/U,EAAI,EAAGsV,EAAI9O,MAAMgE,GAAIxK,EAAIwK,EAAGxK,IAAKsV,EAAEtV,GAAKwvG,EAAExvG,GAAI,OAAOsV,CAAG,CACnJ,SAASgiN,EAAsB9nH,EAAGzvC,GAAK,IAAIz+B,EAAI,MAAQkuE,EAAI,KAAO,oBAAsBpH,QAAUoH,EAAEpH,OAAOvT,WAAa2a,EAAE,cAAe,GAAI,MAAQluE,EAAG,CAAE,IAAIthC,EAAGsV,EAAG1W,EAAGyiI,EAAG72H,EAAI,GAAI2lB,GAAI,EAAIs2D,GAAI,EAAI,IAAM,GAAI7nF,GAAK0iC,EAAIA,EAAEroC,KAAKu2G,IAAI7zF,KAAM,IAAMokD,QAAU,OAAS5vC,GAAKnwB,EAAIpB,EAAE3F,KAAKqoC,IAAI4kB,QAAU17C,EAAEsiC,KAAK9sC,EAAEd,OAAQsL,EAAEuK,SAAWgrD,GAAI5vC,GAAI,GAAK,CAAE,MAAOq/E,GAAK/oB,GAAI,EAAInxE,EAAIk6F,CAAG,CAAE,QAAU,IAAM,IAAKr/E,GAAK,MAAQmR,EAAE,YAAc+/F,EAAI//F,EAAE,YAAavY,OAAOs4G,KAAOA,GAAI,MAAQ,CAAE,QAAU,GAAI56C,EAAG,MAAMnxE,CAAG,CAAE,CAAE,OAAO9K,CAAG,CAAE,CAClf,SAAS6sN,EAAgB7nH,GAAK,GAAIhpG,MAAMqnD,QAAQ2hD,GAAI,OAAOA,CAAG,CAC9D,SAAS,EAAQxvG,EAAGwvG,GAAK,IAAIluE,EAAIvY,OAAO8lC,KAAK7uD,GAAI,GAAI+oB,OAAOyqF,sBAAuB,CAAE,IAAI/sB,EAAI19D,OAAOyqF,sBAAsBxzG,GAAIwvG,IAAM/oB,EAAIA,EAAEnvB,QAAO,SAAUk4C,GAAK,OAAOzmF,OAAOs3K,yBAAyBrgM,EAAGwvG,GAAGxc,UAAY,KAAK1xD,EAAEwL,KAAKi5B,MAAMzkC,EAAGmlD,EAAI,CAAE,OAAOnlD,CAAG,CAC9P,SAAS,EAActhC,GAAK,IAAK,IAAIwvG,EAAI,EAAGA,EAAI16F,UAAUC,OAAQy6F,IAAK,CAAE,IAAIluE,EAAI,MAAQxsB,UAAU06F,GAAK16F,UAAU06F,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQzmF,OAAOuY,IAAI,GAAIqyC,SAAQ,SAAU67B,GAAK,EAAgBxvG,EAAGwvG,EAAGluE,EAAEkuE,GAAK,IAAKzmF,OAAO42L,0BAA4B52L,OAAOqsK,iBAAiBp1L,EAAG+oB,OAAO42L,0BAA0Br+K,IAAM,EAAQvY,OAAOuY,IAAIqyC,SAAQ,SAAU67B,GAAKzmF,OAAO45F,eAAe3iH,EAAGwvG,EAAGzmF,OAAOs3K,yBAAyB/+J,EAAGkuE,GAAK,GAAI,CAAE,OAAOxvG,CAAG,CACtb,SAAS,EAAgBA,EAAGwvG,EAAGluE,GAAK,OAAQkuE,EAAI,EAAeA,MAAOxvG,EAAI+oB,OAAO45F,eAAe3iH,EAAGwvG,EAAG,CAAEtwG,MAAOoiC,EAAG0xD,YAAY,EAAIyE,cAAc,EAAI5E,UAAU,IAAQ7yF,EAAEwvG,GAAKluE,EAAGthC,CAAG,CACnL,SAAS,EAAeshC,GAAK,IAAI1iC,EAAI,EAAa0iC,EAAG,UAAW,MAAO,UAAY,EAAQ1iC,GAAKA,EAAIA,EAAI,EAAI,CAC5G,SAAS,EAAa0iC,EAAGkuE,GAAK,GAAI,UAAY,EAAQluE,KAAOA,EAAG,OAAOA,EAAG,IAAIthC,EAAIshC,EAAE8mE,OAAOpT,aAAc,QAAI,IAAWh1F,EAAG,CAAE,IAAIpB,EAAIoB,EAAE/G,KAAKqoC,EAAGkuE,GAAK,WAAY,GAAI,UAAY,EAAQ5wG,GAAI,OAAOA,EAAG,MAAM,IAAI80F,UAAU,+CAAiD,CAAE,OAAQ,WAAa8b,EAAIztE,OAAS+mE,QAAQxnE,EAAI,CAC3T,IAAImgL,EAAQ,SAAe9tM,GACzB,IAAI0tM,EAAK1tM,EAAK0tM,GACd,MAAO,m9CAAm9C33M,OAAO23M,EAAG,oBAAqB,kCAAkC33M,OAAO23M,EAAG,aAAc,kCAAkC33M,OAAO23M,EAAG,aAAc,mBAAmB33M,OAAO23M,EAAG,aAAc,+CAA+C33M,OAAO23M,EAAG,mBAAoB,kBAAkB33M,OAAO23M,EAAG,cAAe,yKAAyK33M,OAAO23M,EAAG,4BAA6B,4FAA4F33M,OAAO23M,EAAG,4BAA6B,qJAAqJ33M,OAAO23M,EAAG,mBAAoB,8FAA8F33M,OAAO23M,EAAG,mBAAoB,mEACp5E,EACIrvE,EAAM,SAAailD,GACrB,IAAIoqB,EAAKpqB,EAAMoqB,GACf,MAAO,8VAA8V33M,OAAO23M,EAAG,mBAAoB,SACrY,EACImW,EAAU,CAAC,EACXC,EAAe,CAAC,EAChBC,EAAY,CACdp/N,KAAM,OACN05I,IAAKA,EACLyvE,MAAOA,EACP+V,QAASA,EACTC,aAAcA,EACd9sG,KAAM,SAAchE,GAClB,IAAIv9B,EAAUt0E,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EupI,EAAYvpI,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,SAAUyuE,GAC5F,OAAOA,CACT,EACIyxG,EAAgB32C,GAAU,QAAQ13B,EAAO,CAC3C06F,GAAI,EAAAA,MAEN,OAAO,QAAWrsB,GAAiBihC,GAAS,QAAUjhC,GAAgB,EAAc,CAClF18L,KAAMY,KAAKZ,MACV8wF,IAAY,CAAC,CAClB,EACAuuI,QAAS,WACP,IAAIvuI,EAAUt0E,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAO5b,KAAKyxH,KAAKzxH,KAAK84I,IAAK5oD,EAC7B,EACAwuI,UAAW,WACT,IAAI/2N,EAAQ3H,KACRkwF,EAAUt0E,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/E6xG,EAAQ7xG,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,GAChF,OAAO5b,KAAKyxH,KAAKzxH,KAAKuoN,MAAOr4H,GAAS,WACpC,IAAI4rG,EAAgBlgL,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,GACxF,OAAO,KAAM8wM,aAAax8H,EAAQ9wF,MAAQuI,EAAMvI,KAAM,GAAGoR,OAAOsrL,GAAetrL,OAAOi9G,GACxF,GACF,EACAkxG,eAAgB,SAAwBx7I,GACtC,OAAO,KAAM0mI,UAAU7pN,KAAKZ,KAAM+jF,EACpC,EACAy7I,kBAAmB,SAA2Bz7I,GAC5C,OAAO,KAAM4tI,aAAa/wN,KAAKZ,KAAM+jF,EACvC,EACA07I,kBAAmB,SAA2B17I,GAC5C,OAAO,KAAM6tI,aAAahxN,KAAKZ,KAAM+jF,EACvC,EACA27I,eAAgB,SAAwB3U,EAAQ9xE,EAAUl1D,GACxD,OAAO,KAAM8tI,gBAAgBjxN,KAAKZ,KAAM+qN,EAAQ9xE,EAAUl1D,EAC5D,EACA47I,sBAAuB,WACrB,OAAO,KAAM7N,iBAAiBlxN,KAAKZ,KACrC,EACAsvN,cAAe,WACb,IAAIsQ,EAAcpjN,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,GAClFg1C,EAAQh1C,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACjF,GAAI5b,KAAK84I,IAAK,CACZ,IAAI21E,GAAO,QAAQzuN,KAAK84I,IAAK,CAC3BqvE,GAAI,EAAAA,MACA,GACF8W,GAAS,QAAU,GAAGzuN,OAAOi+M,GAAMj+M,OAAOwuN,IAC1C5+F,EAASvwG,OAAOgtD,QAAQjsB,GAAOogD,QAAO,SAAUe,EAAKmtH,GACvD,IAAIC,EAAQjB,EAAegB,EAAO,GAChCzhI,EAAI0hI,EAAM,GACV/mN,EAAI+mN,EAAM,GACZ,OAAOptH,EAAIn+D,KAAK,GAAGpjC,OAAOitF,EAAG,MAAOjtF,OAAO4H,EAAG,OAAU25F,CAC1D,GAAG,IAAI/kF,KAAK,KACZ,OAAO,QAAWiyM,GAAU,kDAAqDzuN,OAAOxQ,KAAKZ,KAAM,MAAOoR,OAAO4vH,EAAQ,KAAK5vH,OAAOyuN,EAAQ,YAAc,EAC7J,CACA,MAAO,EACT,EACAG,yBAA0B,SAAkCj8I,GAC1D,IAAIvyB,EAAQh1C,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACjF,OAAO,KAAM2yM,oBAAoBvuN,KAAKZ,KAAM+jF,EAAQvyB,EACtD,EACAyuK,mBAAoB,SAA4Bl8I,GAC9C,IAAIvyB,EAAQh1C,UAAUC,OAAS,QAAsBjW,IAAjBgW,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7Ek9H,EAAM,CAAC,KAAM41E,cAAc1uN,KAAKZ,KAAM+jF,EAAQvyB,IAClD,GAAI5wD,KAAKuoN,MAAO,CACd,IAAInpN,EAAqB,SAAdY,KAAKZ,KAAkB,eAAiB,GAAGoR,OAAOxQ,KAAKZ,KAAM,UACpEqvN,GAAO,QAAQzuN,KAAKuoN,MAAO,CAC7BJ,GAAI,EAAAA,KAEF8W,GAAS,QAAU,KAAMvS,aAAattN,EAAMqvN,IAC5CruF,EAASvwG,OAAOgtD,QAAQjsB,GAAOogD,QAAO,SAAUe,EAAKutH,GACvD,IAAIC,EAAQrB,EAAeoB,EAAO,GAChC7hI,EAAI8hI,EAAM,GACVnnN,EAAImnN,EAAM,GACZ,OAAOxtH,EAAIn+D,KAAK,GAAGpjC,OAAOitF,EAAG,MAAOjtF,OAAO4H,EAAG,OAAU25F,CAC1D,GAAG,IAAI/kF,KAAK,MACZ,QAAWiyM,IAAWnmF,EAAIllG,KAAK,kDAAqDpjC,OAAOpR,EAAM,MAAOoR,OAAO4vH,EAAQ,KAAK5vH,OAAOyuN,EAAQ,YAC7I,CACA,OAAOnmF,EAAI9rH,KAAK,GAClB,EACA+9H,OAAQ,SAAgBt9B,GACtB,OAAO,EAAc,EAAc,CAAC,EAAGztH,MAAO,CAAC,EAAG,CAChD84I,SAAKlzI,EACL2iN,WAAO3iN,GACN6nH,EACL,E,+DCpHE+xG,GAAkB,Q,6KCStB,MAAMC,EAAkD,qBAAnBjrM,eAErC,EAAeirM,GAAyB,SAAUttN,GAChD,OAAO,IAAIy3F,SAAQ,SAA4B7/C,EAASC,GACtD,MAAM4V,GAAU,EAAA8/J,EAAA,GAAcvtN,GAC9B,IAAIwtN,EAAc//J,EAAQ56D,KAC1B,MAAM0lD,EAAiBk1K,EAAArI,EAAavuL,KAAK42B,EAAQhrC,SAASk7G,YAC1D,IACI+vF,EACAC,EAAiBC,EACjBC,EAAaC,GAHb,aAACnrJ,EAAY,iBAAEorJ,EAAgB,mBAAEC,GAAsBvgK,EAK3D,SAAS5S,IACPgzK,GAAeA,IACfC,GAAiBA,IAEjBrgK,EAAQwgK,aAAexgK,EAAQwgK,YAAYC,YAAYR,GAEvDjgK,EAAQ0gK,QAAU1gK,EAAQ0gK,OAAOhwG,oBAAoB,QAASuvG,EAChE,CAEA,IAAIp1M,EAAU,IAAI+J,eAOlB,SAASwlL,IACP,IAAKvvL,EACH,OAGF,MAAMoqD,EAAkB+qJ,EAAArI,EAAavuL,KACnC,0BAA2Bve,GAAWA,EAAQgpK,yBAE1C8sC,EAAgBzrJ,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxCrqD,EAAQsrB,SAA/BtrB,EAAQ8I,aACJwiB,EAAW,CACf/wC,KAAMu7N,EACNv8K,OAAQv5B,EAAQu5B,OAChBuH,WAAY9gC,EAAQ8gC,WACpB32B,QAASigD,EACT1iE,SACAsY,YAGF,EAAA+1M,EAAA,IAAO,SAAkBx6N,GACvB+jD,EAAQ/jD,GACRgnD,GACF,IAAG,SAAiBz2B,GAClByzB,EAAOzzB,GACPy2B,GACF,GAAGjX,GAGHtrB,EAAU,IACZ,CAlCAA,EAAQgK,KAAKmrC,EAAQ3xD,OAAOuD,cAAeouD,EAAQ/gE,KAAK,GAGxD4rB,EAAQ6J,QAAUsrC,EAAQtrC,QAiCtB,cAAe7J,EAEjBA,EAAQuvL,UAAYA,EAGpBvvL,EAAQy5B,mBAAqB,WACtBz5B,GAAkC,IAAvBA,EAAQ05B,aAQD,IAAnB15B,EAAQu5B,QAAkBv5B,EAAQwuC,aAAwD,IAAzCxuC,EAAQwuC,YAAYlkC,QAAQ,WAKjFoyE,WAAW6yG,EACb,EAIFvvL,EAAQuqK,QAAU,WACXvqK,IAILu/B,EAAO,IAAIy2K,EAAAlJ,EAAW,kBAAmBkJ,EAAAlJ,EAAWmJ,aAAcvuN,EAAQsY,IAG1EA,EAAU,KACZ,EAGAA,EAAQ45B,QAAU,WAGhB2F,EAAO,IAAIy2K,EAAAlJ,EAAW,gBAAiBkJ,EAAAlJ,EAAWoJ,YAAaxuN,EAAQsY,IAGvEA,EAAU,IACZ,EAGAA,EAAQ65B,UAAY,WAClB,IAAIs8K,EAAsBhhK,EAAQtrC,QAAU,cAAgBsrC,EAAQtrC,QAAU,cAAgB,mBAC9F,MAAMusM,EAAejhK,EAAQihK,cAAgB,IACzCjhK,EAAQghK,sBACVA,EAAsBhhK,EAAQghK,qBAEhC52K,EAAO,IAAIy2K,EAAAlJ,EACTqJ,EACAC,EAAaC,oBAAsBL,EAAAlJ,EAAWwJ,UAAYN,EAAAlJ,EAAWmJ,aACrEvuN,EACAsY,IAGFA,EAAU,IACZ,OAGgB7kB,IAAhB+5N,GAA6Bj1K,EAAes2K,eAAe,MAGvD,qBAAsBv2M,GACxBw2M,EAAA,EAAMxmJ,QAAQ/vB,EAAe+zC,UAAU,SAA0Bp+C,EAAKh7C,GACpEolB,EAAQipK,iBAAiBruL,EAAKg7C,EAChC,IAIG4gL,EAAA,EAAMtpI,YAAY/3B,EAAQzrC,mBAC7B1J,EAAQ0J,kBAAoByrC,EAAQzrC,iBAIlC2gD,GAAiC,SAAjBA,IAClBrqD,EAAQqqD,aAAelV,EAAQkV,cAI7BqrJ,KACAJ,EAAmBE,IAAiB,EAAAiB,EAAA,IAAqBf,GAAoB,GAC/E11M,EAAQ4lG,iBAAiB,WAAY0vG,IAInCG,GAAoBz1M,EAAQ02M,UAC5BrB,EAAiBE,IAAe,EAAAkB,EAAA,IAAqBhB,GAEvDz1M,EAAQ02M,OAAO9wG,iBAAiB,WAAYyvG,GAE5Cr1M,EAAQ02M,OAAO9wG,iBAAiB,UAAW2vG,KAGzCpgK,EAAQwgK,aAAexgK,EAAQ0gK,UAGjCT,EAAajrL,IACNnqB,IAGLu/B,GAAQpV,GAAUA,EAAOzkC,KAAO,IAAIixN,EAAA,EAAc,KAAMjvN,EAAQsY,GAAWmqB,GAC3EnqB,EAAQwrD,QACRxrD,EAAU,KAAI,EAGhBm1C,EAAQwgK,aAAexgK,EAAQwgK,YAAYiB,UAAUxB,GACjDjgK,EAAQ0gK,SACV1gK,EAAQ0gK,OAAOjpJ,QAAUwoJ,IAAejgK,EAAQ0gK,OAAOjwG,iBAAiB,QAASwvG,KAIrF,MAAMjuN,GAAW,EAAA0vN,EAAA,GAAc1hK,EAAQ/gE,KAEnC+S,IAAsD,IAA1C2vN,EAAA,EAASC,UAAUzsM,QAAQnjB,GACzCo4C,EAAO,IAAIy2K,EAAAlJ,EAAW,wBAA0B3lN,EAAW,IAAK6uN,EAAAlJ,EAAWkK,gBAAiBtvN,IAM9FsY,EAAQ85B,KAAKo7K,GAAe,KAC9B,GACF,E,0BC1LA,MAAMr1M,EAAoC,oBAAVm5B,OAA2C,oBAAZE,SAA8C,oBAAb+9K,SAC1FC,EAA4Br3M,GAA8C,oBAAnBs3M,eAGvDC,EAAav3M,IAA4C,oBAAhBw3M,YAC3C,CAAEC,GAAar3E,GAAQq3E,EAAQC,OAAOt3E,GAAtC,CAA4C,IAAIo3E,aAChDn+L,MAAO+mH,GAAQ,IAAIu3E,iBAAiB,IAAIP,SAASh3E,GAAKw3E,gBAGpDh3N,EAAO,CAACwO,KAAOgC,KACnB,IACE,QAAShC,KAAMgC,EACjB,CAAE,MAAO5U,GACP,OAAO,CACT,GAGIq7N,EAAwBR,GAA6Bz2N,GAAK,KAC9D,IAAIk3N,GAAiB,EAErB,MAAMC,EAAiB,IAAI1+K,QAAQ49K,EAAA,EAASh9H,OAAQ,CAClDv+C,KAAM,IAAI47K,eACV3zN,OAAQ,OACR,UAAIq0N,GAEF,OADAF,GAAiB,EACV,MACT,IACCxtM,QAAQ82E,IAAI,gBAEf,OAAO02H,IAAmBC,CAAc,IAGpCE,EAAqB,MAErBC,EAAyBb,GAC7Bz2N,GAAK,IAAM+1N,EAAA,EAAMwB,iBAAiB,IAAIf,SAAS,IAAI17K,QAG/C08K,EAAY,CAChBC,OAAQH,GAA0B,CAAEz+K,GAAQA,EAAIiC,OAGlD17B,GAAqB,CAAEy5B,IACrB,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAU02B,SAAQtqE,KAC3DuyN,EAAUvyN,KAAUuyN,EAAUvyN,GAAQ8wN,EAAA,EAAM/oI,WAAWn0C,EAAI5zC,IAAU4zC,GAAQA,EAAI5zC,KAChF,CAACsnH,EAAGtlH,KACF,MAAM,IAAIsuN,EAAAlJ,EAAW,kBAAkBpnN,sBAA0BswN,EAAAlJ,EAAWqL,gBAAiBzwN,EAAO,EACrG,GAEN,EAPmB,CAOjB,IAAIuvN,UAEP,MAAMmB,EAAgBl/L,MAAOqiB,IAC3B,GAAY,MAARA,EACF,OAAO,EAGT,GAAGi7K,EAAA,EAAM6B,OAAO98K,GACd,OAAOA,EAAKz6C,KAGd,GAAG01N,EAAA,EAAM8B,oBAAoB/8K,GAAO,CAClC,MAAMg9K,EAAW,IAAIr/K,QAAQ49K,EAAA,EAASh9H,OAAQ,CAC5Ct2F,OAAQ,OACR+3C,SAEF,aAAcg9K,EAASd,eAAee,UACxC,CAEA,OAAGhC,EAAA,EAAMiC,kBAAkBl9K,IAASi7K,EAAA,EAAMkC,cAAcn9K,GAC/CA,EAAKi9K,YAGXhC,EAAA,EAAMmC,kBAAkBp9K,KACzBA,GAAc,IAGbi7K,EAAA,EAAMhpI,SAASjyC,UACF67K,EAAW77K,IAAOi9K,gBADlC,EAEA,EAGII,EAAoB1/L,MAAO/O,EAASoxB,KACxC,MAAMnqC,EAASolN,EAAA,EAAMqC,eAAe1uM,EAAQ2uM,oBAE5C,OAAiB,MAAV1nN,EAAiBgnN,EAAc78K,GAAQnqC,CAAM,EAGtD,EAAeyO,GAAoB,OAAQnY,IACzC,IAAI,IACFtT,EAAG,OACHoP,EAAM,KACNjJ,EAAI,OACJs7N,EAAM,YACNF,EAAW,QACX9rM,EAAO,mBACP6rM,EAAkB,iBAClBD,EAAgB,aAChBprJ,EAAY,QACZlgD,EAAO,gBACPT,EAAkB,cAAa,aAC/BqvM,IACE,EAAA9D,EAAA,GAAcvtN,GAElB2iE,EAAeA,GAAgBA,EAAe,IAAI/hE,cAAgB,OAElE,IAEI0X,EAFAg5M,GAAiB,EAAAC,EAAA,GAAe,CAACpD,EAAQF,GAAeA,EAAYuD,iBAAkBrvM,GAI1F,MAAM+rM,EAAcoD,GAAkBA,EAAepD,aAAe,MAChEoD,EAAepD,aAClB,GAED,IAAIuD,EAEJ,IACE,GACE1D,GAAoBiC,GAAoC,QAAXl0N,GAA+B,SAAXA,GACG,KAAnE21N,QAA6BP,EAAkBzuM,EAAS5vB,IACzD,CACA,IAMI6+N,EANAb,EAAW,IAAIr/K,QAAQ9kD,EAAK,CAC9BoP,OAAQ,OACR+3C,KAAMhhD,EACNs9N,OAAQ,SASV,GAJIrB,EAAA,EAAM6C,WAAW9+N,KAAU6+N,EAAoBb,EAASpuM,QAAQ3Y,IAAI,kBACtE2Y,EAAQosM,eAAe6C,GAGrBb,EAASh9K,KAAM,CACjB,MAAOwwH,EAAYjjI,IAAS,QAC1BqwL,GACA,EAAA1C,EAAA,KAAqB,QAAehB,KAGtCl7N,GAAO,EAAA++N,EAAA,IAAYf,EAASh9K,KAAMu8K,EAAoB/rD,EAAYjjI,EACpE,CACF,CAEK0tL,EAAA,EAAMhpI,SAAS9jE,KAClBA,EAAkBA,EAAkB,UAAY,QAKlD,MAAM6vM,EAAyB,gBAAiBrgL,QAAQ32C,UACxDyd,EAAU,IAAIk5B,QAAQ9kD,EAAK,IACtB2kO,EACHlD,OAAQmD,EACRx1N,OAAQA,EAAOuD,cACfojB,QAASA,EAAQk7G,YAAYrxC,SAC7Bz4C,KAAMhhD,EACNs9N,OAAQ,OACRt3K,YAAag5K,EAAyB7vM,OAAkBvuB,IAG1D,IAAImwC,QAAiB0N,MAAMh5B,GAE3B,MAAMw5M,EAAmBzB,IAA4C,WAAjB1tJ,GAA8C,aAAjBA,GAEjF,GAAI0tJ,IAA2BrC,GAAuB8D,GAAoB5D,GAAe,CACvF,MAAMnwI,EAAU,CAAC,EAEjB,CAAC,SAAU,aAAc,WAAWzV,SAAQ5zE,IAC1CqpF,EAAQrpF,GAAQkvC,EAASlvC,EAAK,IAGhC,MAAMq9N,EAAwBjD,EAAA,EAAMqC,eAAevtL,EAASnhB,QAAQ3Y,IAAI,oBAEjEu6J,EAAYjjI,GAAS4sL,IAAsB,QAChD+D,GACA,EAAAhD,EAAA,KAAqB,QAAef,IAAqB,KACtD,GAELpqL,EAAW,IAAI2rL,UACb,EAAAqC,EAAA,IAAYhuL,EAASiQ,KAAMu8K,EAAoB/rD,GAAY,KACzDjjI,GAASA,IACT8sL,GAAeA,GAAa,IAE9BnwI,EAEJ,CAEApb,EAAeA,GAAgB,OAE/B,IAAIyrJ,QAAqBmC,EAAUzB,EAAA,EAAMkD,QAAQzB,EAAW5tJ,IAAiB,QAAQ/+B,EAAU5jC,GAI/F,OAFC8xN,GAAoB5D,GAAeA,UAEvB,IAAIz2H,SAAQ,CAAC7/C,EAASC,MACjC,EAAAw2K,EAAA,GAAOz2K,EAASC,EAAQ,CACtBhlD,KAAMu7N,EACN3rM,QAASgrM,EAAArI,EAAavuL,KAAK+M,EAASnhB,SACpCovB,OAAQjO,EAASiO,OACjBuH,WAAYxV,EAASwV,WACrBp5C,SACAsY,WACD,GAEL,CAAE,MAAO8L,GAGP,GAFA8pM,GAAeA,IAEX9pM,GAAoB,cAAbA,EAAIn3B,MAAwB,SAAS8L,KAAKqrB,EAAI33B,SACvD,MAAMixB,OAAOq5E,OACX,IAAIu3H,EAAAlJ,EAAW,gBAAiBkJ,EAAAlJ,EAAWoJ,YAAaxuN,EAAQsY,GAChE,CACE25M,MAAO7tM,EAAI6tM,OAAS7tM,IAK1B,MAAMkqM,EAAAlJ,EAAWvuL,KAAKzS,EAAKA,GAAOA,EAAImlI,KAAMvpJ,EAAQsY,EACtD,CACD,GC5NK45M,EAAgB,CACpBC,KAAM,IACNhxM,IAAKA,EACLmwB,MAAO,GAGTw9K,EAAA,EAAMxmJ,QAAQ4pJ,GAAe,CAAC3qN,EAAI1T,KAChC,GAAI0T,EAAI,CACN,IACEmW,OAAO45F,eAAe/vG,EAAI,OAAQ,CAAC1T,SACrC,CAAE,MAAOc,GAET,CACA+oB,OAAO45F,eAAe/vG,EAAI,cAAe,CAAC1T,SAC5C,KAGF,MAAMu+N,EAAgBj6N,GAAW,KAAKA,IAEhCk6N,EAAoBC,GAAYxD,EAAA,EAAM/oI,WAAWusI,IAAwB,OAAZA,IAAgC,IAAZA,EAEvF,GACEC,WAAaC,IACXA,EAAW1D,EAAA,EAAMtsK,QAAQgwK,GAAYA,EAAW,CAACA,GAEjD,MAAM,OAAC9oN,GAAU8oN,EACjB,IAAIC,EACAH,EAEJ,MAAMI,EAAkB,CAAC,EAEzB,IAAK,IAAIn/N,EAAI,EAAGA,EAAImW,EAAQnW,IAAK,CAE/B,IAAI0B,EAIJ,GALAw9N,EAAgBD,EAASj/N,GAGzB++N,EAAUG,GAELJ,EAAiBI,KACpBH,EAAUJ,GAAej9N,EAAKyhC,OAAO+7L,IAAgB7xN,oBAErCnN,IAAZ6+N,GACF,MAAM,IAAIhE,EAAAlJ,EAAW,oBAAoBnwN,MAI7C,GAAIq9N,EACF,MAGFI,EAAgBz9N,GAAM,IAAM1B,GAAK++N,CACnC,CAEA,IAAKA,EAAS,CAEZ,MAAMK,EAAUj1M,OAAOgtD,QAAQgoJ,GAC5Bv/N,KAAI,EAAE8B,EAAImS,KAAW,WAAWnS,OACpB,IAAVmS,EAAkB,sCAAwC,mCAG/D,IAAI9R,EAAIoU,EACLipN,EAAQjpN,OAAS,EAAI,YAAcipN,EAAQx/N,IAAIi/N,GAAcv3M,KAAK,MAAQ,IAAMu3M,EAAaO,EAAQ,IACtG,0BAEF,MAAM,IAAIrE,EAAAlJ,EACR,wDAA0D9vN,EAC1D,kBAEJ,CAEA,OAAOg9N,CAAO,EAEhBE,SAAUN,E,qFCzEZ,MAAMU,EACJ,WAAA54N,GACEnM,KAAK4hC,SAAW,EAClB,CAUA,GAAAhoB,CAAIorN,EAAWphL,EAAUssC,GAOvB,OANAlwF,KAAK4hC,SAASgS,KAAK,CACjBoxL,YACAphL,WACAqhL,cAAa/0I,GAAUA,EAAQ+0I,YAC/BC,QAASh1I,EAAUA,EAAQg1I,QAAU,OAEhCllO,KAAK4hC,SAAS/lB,OAAS,CAChC,CASA,KAAAspN,CAAM/9N,GACApH,KAAK4hC,SAASx6B,KAChBpH,KAAK4hC,SAASx6B,GAAM,KAExB,CAOA,KAAA4tG,GACMh1G,KAAK4hC,WACP5hC,KAAK4hC,SAAW,GAEpB,CAYA,OAAA64C,CAAQ/gE,GACNunN,EAAA,EAAMxmJ,QAAQz6E,KAAK4hC,UAAU,SAAwBvlB,GACzC,OAANA,GACF3C,EAAG2C,EAEP,GACF,EAGF,U,sECtDA,SAAS+oN,EAA6BjzN,GAKpC,GAJIA,EAAOiuN,aACTjuN,EAAOiuN,YAAYiF,mBAGjBlzN,EAAOmuN,QAAUnuN,EAAOmuN,OAAOjpJ,QACjC,MAAM,IAAI+pJ,EAAA,EAAc,KAAMjvN,EAElC,CASe,SAASmzN,EAAgBnzN,GACtCizN,EAA6BjzN,GAE7BA,EAAOyiB,QAAUgrM,EAAArI,EAAavuL,KAAK72B,EAAOyiB,SAG1CziB,EAAOnN,KAAOugO,EAAA,EAAcxlO,KAC1BoS,EACAA,EAAOqzN,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAASzwM,QAAQ5iB,EAAOlE,SAC1CkE,EAAOyiB,QAAQosM,eAAe,qCAAqC,GAGrE,MAAMyD,EAAUE,EAAA,EAASD,WAAWvyN,EAAOsyN,SAAW/yM,EAAA,EAAS+yM,SAE/D,OAAOA,EAAQtyN,GAAQioE,MAAK,SAA6BrkC,GAYvD,OAXAqvL,EAA6BjzN,GAG7B4jC,EAAS/wC,KAAOugO,EAAA,EAAcxlO,KAC5BoS,EACAA,EAAOszN,kBACP1vL,GAGFA,EAASnhB,QAAUgrM,EAAArI,EAAavuL,KAAK+M,EAASnhB,SAEvCmhB,CACT,IAAG,SAA4BzrC,GAe7B,OAdK,EAAAo7N,EAAA,GAASp7N,KACZ86N,EAA6BjzN,GAGzB7H,GAAUA,EAAOyrC,WACnBzrC,EAAOyrC,SAAS/wC,KAAOugO,EAAA,EAAcxlO,KACnCoS,EACAA,EAAOszN,kBACPn7N,EAAOyrC,UAETzrC,EAAOyrC,SAASnhB,QAAUgrM,EAAArI,EAAavuL,KAAK1+B,EAAOyrC,SAASnhB,WAIzDg1E,QAAQ5/C,OAAO1/C,EACxB,GACF,C,0BChFO,MAAMypD,EAAU,Q,eCKvB,MAAM4xK,EAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUlrJ,SAAQ,CAACtqE,EAAMzK,KAC7EigO,EAAWx1N,GAAQ,SAAmBy1N,GACpC,cAAcA,IAAUz1N,GAAQ,KAAOzK,EAAI,EAAI,KAAO,KAAOyK,CAC/D,CAAC,IAGH,MAAM01N,EAAqB,CAAC,EAkD5B,SAASC,EAAc51I,EAAS61I,EAAQC,GACtC,GAAuB,kBAAZ91I,EACT,MAAM,IAAIuwI,EAAAlJ,EAAW,4BAA6BkJ,EAAAlJ,EAAW0O,sBAE/D,MAAMtwK,EAAO9lC,OAAO8lC,KAAKu6B,GACzB,IAAIxqF,EAAIiwD,EAAK95C,OACb,MAAOnW,KAAM,EAAG,CACd,MAAMu1H,EAAMtlE,EAAKjwD,GACXmmC,EAAYk6L,EAAO9qG,GACzB,GAAIpvF,EAAJ,CACE,MAAM7lC,EAAQkqF,EAAQ+qC,GAChBlyH,OAAmBnD,IAAVI,GAAuB6lC,EAAU7lC,EAAOi1H,EAAK/qC,GAC5D,IAAe,IAAXnnF,EACF,MAAM,IAAI03N,EAAAlJ,EAAW,UAAYt8F,EAAM,YAAclyH,EAAQ03N,EAAAlJ,EAAW0O,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAIvF,EAAAlJ,EAAW,kBAAoBt8F,EAAKwlG,EAAAlJ,EAAW2O,eAE7D,CACF,CA5DAP,EAAW9E,aAAe,SAAsBh1L,EAAW5oB,EAASrkB,GAClE,SAASunO,EAAclrG,EAAK1/G,GAC1B,MAAO,WAAaw4C,EAAU,0BAA6BknE,EAAM,IAAO1/G,GAAQ3c,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAACoH,EAAOi1H,EAAKvL,KAClB,IAAkB,IAAd7jF,EACF,MAAM,IAAI40L,EAAAlJ,EACR4O,EAAclrG,EAAK,qBAAuBh4G,EAAU,OAASA,EAAU,KACvEw9M,EAAAlJ,EAAW6O,gBAef,OAXInjN,IAAY4iN,EAAmB5qG,KACjC4qG,EAAmB5qG,IAAO,EAE1B9xG,QAAQwtH,KACNwvF,EACElrG,EACA,+BAAiCh4G,EAAU,8CAK1C4oB,GAAYA,EAAU7lC,EAAOi1H,EAAKvL,EAAY,CAEzD,EAmCA,SACEo2G,gBACAH,cC9EI,EAAa95L,EAAU85L,WAS7B,MAAMU,EACJ,WAAAl6N,CAAYm6N,GACVtmO,KAAK0xB,SAAW40M,EAChBtmO,KAAKumO,aAAe,CAClB97M,QAAS,IAAI,EACbsrB,SAAU,IAAI,EAElB,CAUA,aAAMtrB,CAAQ+7M,EAAar0N,GACzB,IACE,aAAanS,KAAKgjO,SAASwD,EAAar0N,EAC1C,CAAE,MAAOokB,GACP,GAAIA,aAAe+jE,MAAO,CACxB,IAAI2yG,EAEJ3yG,MAAMqI,kBAAoBrI,MAAMqI,kBAAkBsqG,EAAQ,CAAC,GAAMA,EAAQ,IAAI3yG,MAG7E,MAAMtwF,EAAQijM,EAAMjjM,MAAQijM,EAAMjjM,MAAMgJ,QAAQ,QAAS,IAAM,GAC/D,IACOujB,EAAIvsB,MAGEA,IAAU6+B,OAAOtS,EAAIvsB,OAAOujH,SAASvjH,EAAMgJ,QAAQ,YAAa,OACzEujB,EAAIvsB,OAAS,KAAOA,GAHpBusB,EAAIvsB,MAAQA,CAKhB,CAAE,MAAOlD,GAET,CACF,CAEA,MAAMyvB,CACR,CACF,CAEA,QAAAysM,CAASwD,EAAar0N,GAGO,kBAAhBq0N,GACTr0N,EAASA,GAAU,CAAC,EACpBA,EAAOtT,IAAM2nO,GAEbr0N,EAASq0N,GAAe,CAAC,EAG3Br0N,GAAS,EAAAs0N,EAAA,GAAYzmO,KAAK0xB,SAAUvf,GAEpC,MAAM,aAAC0uN,EAAY,iBAAE6F,EAAgB,QAAE9xM,GAAWziB,OAE7BvM,IAAjBi7N,GACFh1L,EAAUi6L,cAAcjF,EAAc,CACpC8F,kBAAmB,EAAW9F,aAAa,EAAW+F,SACtDC,kBAAmB,EAAWhG,aAAa,EAAW+F,SACtD9F,oBAAqB,EAAWD,aAAa,EAAW+F,WACvD,GAGmB,MAApBF,IACEzF,EAAA,EAAM/oI,WAAWwuI,GACnBv0N,EAAOu0N,iBAAmB,CACxB72C,UAAW62C,GAGb76L,EAAUi6L,cAAcY,EAAkB,CACxC1E,OAAQ,EAAW8E,SACnBj3C,UAAW,EAAWi3C,WACrB,IAKP30N,EAAOlE,QAAUkE,EAAOlE,QAAUjO,KAAK0xB,SAASzjB,QAAU,OAAO8E,cAGjE,IAAIg0N,EAAiBnyM,GAAWqsM,EAAA,EAAMx6J,MACpC7xC,EAAQ45L,OACR55L,EAAQziB,EAAOlE,SAGjB2mB,GAAWqsM,EAAA,EAAMxmJ,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WACjDxsE,WACQ2mB,EAAQ3mB,EAAO,IAI1BkE,EAAOyiB,QAAUgrM,EAAArI,EAAa/mN,OAAOu2N,EAAgBnyM,GAGrD,MAAMoyM,EAA0B,GAChC,IAAIC,GAAiC,EACrCjnO,KAAKumO,aAAa97M,QAAQgwD,SAAQ,SAAoCysJ,GACjC,oBAAxBA,EAAYhC,UAA0D,IAAhCgC,EAAYhC,QAAQ/yN,KAIrE80N,EAAiCA,GAAkCC,EAAYjC,YAE/E+B,EAAwBz1H,QAAQ21H,EAAYlC,UAAWkC,EAAYtjL,UACrE,IAEA,MAAMujL,EAA2B,GAKjC,IAAI/xD,EAJJp1K,KAAKumO,aAAaxwL,SAAS0kC,SAAQ,SAAkCysJ,GACnEC,EAAyBvzL,KAAKszL,EAAYlC,UAAWkC,EAAYtjL,SACnE,IAGA,IACIhhB,EADAl9B,EAAI,EAGR,IAAKuhO,EAAgC,CACnC,MAAMG,EAAQ,CAAC9B,EAAgBzmN,KAAK7e,WAAO4F,GAC3CwhO,EAAM71H,QAAQ1kC,MAAMu6J,EAAOJ,GAC3BI,EAAMxzL,KAAKi5B,MAAMu6J,EAAOD,GACxBvkM,EAAMwkM,EAAMvrN,OAEZu5J,EAAUxrE,QAAQ7/C,QAAQ53C,GAE1B,MAAOzM,EAAIk9B,EACTwyI,EAAUA,EAAQh7F,KAAKgtJ,EAAM1hO,KAAM0hO,EAAM1hO,MAG3C,OAAO0vK,CACT,CAEAxyI,EAAMokM,EAAwBnrN,OAE9B,IAAImhB,EAAY7qB,EAEhBzM,EAAI,EAEJ,MAAOA,EAAIk9B,EAAK,CACd,MAAM2zI,EAAcywD,EAAwBthO,KACtCwtF,EAAa8zI,EAAwBthO,KAC3C,IACEs3B,EAAYu5I,EAAYv5I,EAC1B,CAAE,MAAOh+B,GACPk0F,EAAWnzF,KAAKC,KAAMhB,GACtB,KACF,CACF,CAEA,IACEo2K,EAAUkwD,EAAgBvlO,KAAKC,KAAMg9B,EACvC,CAAE,MAAOh+B,GACP,OAAO4qG,QAAQ5/C,OAAOhrD,EACxB,CAEA0G,EAAI,EACJk9B,EAAMukM,EAAyBtrN,OAE/B,MAAOnW,EAAIk9B,EACTwyI,EAAUA,EAAQh7F,KAAK+sJ,EAAyBzhO,KAAMyhO,EAAyBzhO,MAGjF,OAAO0vK,CACT,CAEA,MAAAiyD,CAAOl1N,GACLA,GAAS,EAAAs0N,EAAA,GAAYzmO,KAAK0xB,SAAUvf,GACpC,MAAMm1N,GAAW,EAAAC,EAAA,GAAcp1N,EAAOq1N,QAASr1N,EAAOtT,KACtD,OAAO,EAAA4oO,EAAA,GAASH,EAAUn1N,EAAOgxE,OAAQhxE,EAAOu0N,iBAClD,EAIFzF,EAAA,EAAMxmJ,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BxsE,GAE/Eo4N,EAAMr5N,UAAUiB,GAAU,SAASpP,EAAKsT,GACtC,OAAOnS,KAAKyqB,SAAQ,EAAAg8M,EAAA,GAAYt0N,GAAU,CAAC,EAAG,CAC5ClE,SACApP,MACAmG,MAAOmN,GAAU,CAAC,GAAGnN,OAEzB,CACF,IAEAi8N,EAAA,EAAMxmJ,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BxsE,GAGrE,SAASy5N,EAAmBC,GAC1B,OAAO,SAAoB9oO,EAAKmG,EAAMmN,GACpC,OAAOnS,KAAKyqB,SAAQ,EAAAg8M,EAAA,GAAYt0N,GAAU,CAAC,EAAG,CAC5ClE,SACA2mB,QAAS+yM,EAAS,CAChB,eAAgB,uBACd,CAAC,EACL9oO,MACAmG,SAEJ,CACF,CAEAqhO,EAAMr5N,UAAUiB,GAAUy5N,IAE1BrB,EAAMr5N,UAAUiB,EAAS,QAAUy5N,GAAmB,EACxD,IAEA,U,eCxNA,MAAME,EACJ,WAAAz7N,CAAYomF,GACV,GAAwB,oBAAbA,EACT,MAAM,IAAIiI,UAAU,gCAGtB,IAAIqtI,EAEJ7nO,KAAKo1K,QAAU,IAAIxrE,SAAQ,SAAyB7/C,GAClD89K,EAAiB99K,CACnB,IAEA,MAAMopH,EAAQnzK,KAGdA,KAAKo1K,QAAQh7F,MAAKxlC,IAChB,IAAKu+H,EAAM3uG,WAAY,OAEvB,IAAI9+D,EAAIytK,EAAM3uG,WAAW3oD,OAEzB,MAAOnW,KAAM,EACXytK,EAAM3uG,WAAW9+D,GAAGkvC,GAEtBu+H,EAAM3uG,WAAa,IAAI,IAIzBxkE,KAAKo1K,QAAQh7F,KAAO0tJ,IAClB,IAAI7yI,EAEJ,MAAMmgF,EAAU,IAAIxrE,SAAQ7/C,IAC1BopH,EAAMkuD,UAAUt3K,GAChBkrC,EAAWlrC,CAAO,IACjBqwB,KAAK0tJ,GAMR,OAJA1yD,EAAQxgI,OAAS,WACfu+H,EAAMktD,YAAYprI,EACpB,EAEOmgF,CAAO,EAGhB7iF,GAAS,SAAgB3zF,EAASuT,EAAQsY,GACpC0oJ,EAAM7oK,SAKV6oK,EAAM7oK,OAAS,IAAI82N,EAAA,EAAcxiO,EAASuT,EAAQsY,GAClDo9M,EAAe10D,EAAM7oK,QACvB,GACF,CAKA,gBAAA+6N,GACE,GAAIrlO,KAAKsK,OACP,MAAMtK,KAAKsK,MAEf,CAMA,SAAA+2N,CAAUl9M,GACJnkB,KAAKsK,OACP6Z,EAASnkB,KAAKsK,QAIZtK,KAAKwkE,WACPxkE,KAAKwkE,WAAW5wB,KAAKzvB,GAErBnkB,KAAKwkE,WAAa,CAACrgD,EAEvB,CAMA,WAAAk8M,CAAYl8M,GACV,IAAKnkB,KAAKwkE,WACR,OAEF,MAAM5d,EAAQ5mD,KAAKwkE,WAAWzvC,QAAQ5Q,IACvB,IAAXyiC,GACF5mD,KAAKwkE,WAAW34D,OAAO+6C,EAAO,EAElC,CAEA,aAAA+8K,GACE,MAAMoE,EAAa,IAAIC,gBAEjB/xJ,EAAS1/C,IACbwxM,EAAW9xJ,MAAM1/C,EAAI,EAOvB,OAJAv2B,KAAKqhO,UAAUprJ,GAEf8xJ,EAAWzH,OAAOD,YAAc,IAAMrgO,KAAKqgO,YAAYpqJ,GAEhD8xJ,EAAWzH,MACpB,CAMA,aAAO/gN,GACL,IAAIq1B,EACJ,MAAMu+H,EAAQ,IAAIy0D,GAAY,SAAkB7sN,GAC9C65B,EAAS75B,CACX,IACA,MAAO,CACLo4J,QACAv+H,SAEJ,EAGF,U,eC/Ge,SAASqzL,EAAOtpN,GAC7B,OAAO,SAAciX,GACnB,OAAOjX,EAASkuD,MAAM,KAAMj3C,EAC9B,CACF,CChBe,SAASsyM,EAAa5+K,GACnC,OAAO23K,EAAA,EAAM9oI,SAAS7uC,KAAsC,IAAzBA,EAAQ4+K,YAC7C,CCbA,MAAMC,EAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjCr8M,OAAOgtD,QAAQsrJ,GAAgB1tJ,SAAQ,EAAEp1E,EAAKW,MAC5CmiO,EAAeniO,GAASX,CAAG,IAG7B,UC3CA,SAAS8mO,EAAehxN,GACtB,MAAMugB,EAAU,IAAI,EAAMvgB,GACpB4/F,GAAW,EAAAl8F,EAAA,GAAK,EAAM7R,UAAUyd,QAASiR,GAa/C,OAVAulM,EAAA,EAAMl2E,OAAOhwC,EAAU,EAAM/tG,UAAW0uB,EAAS,CAAC0wM,YAAY,IAG9DnL,EAAA,EAAMl2E,OAAOhwC,EAAUr/E,EAAS,KAAM,CAAC0wM,YAAY,IAGnDrxH,EAAS7gF,OAAS,SAAgBosM,GAChC,OAAO6F,GAAe,EAAA1F,EAAA,GAAYtrN,EAAemrN,GACnD,EAEOvrH,CACT,CAGA,MAAMsxH,EAAQF,EAAez6M,EAAA,GAG7B26M,EAAMhG,MAAQ,EAGdgG,EAAMjL,cAAgBA,EAAA,EACtBiL,EAAMzE,YAAc,EACpByE,EAAM3G,SAAWA,EAAA,EACjB2G,EAAMt4K,QAAUA,EAChBs4K,EAAMC,WAAaA,EAAA,EAGnBD,EAAM5L,WAAaA,EAAAlJ,EAGnB8U,EAAME,OAASF,EAAMjL,cAGrBiL,EAAMj+B,IAAM,SAAa7hI,GACvB,OAAOq9B,QAAQwkG,IAAI7hI,EACrB,EAEA8/J,EAAMpE,OAASA,EAGfoE,EAAMnE,aAAeA,EAGrBmE,EAAM5F,YAAcA,EAAA,EAEpB4F,EAAMzM,aAAeA,EAAArI,EAErB8U,EAAMG,WAAa5G,IAAS,EAAA6G,EAAA,GAAexL,EAAA,EAAMyL,WAAW9G,GAAS,IAAI+G,SAAS/G,GAASA,GAE3FyG,EAAM3H,WAAaC,EAAA,EAASD,WAE5B2H,EAAMlE,eAAiB,EAEvBkE,EAAMlmH,QAAUkmH,EAGhB,S,0EC1EA,SAASjL,EAAcxiO,EAASuT,EAAQsY,GAEtC,EAAA8sM,EAAWx3N,KAAKC,KAAiB,MAAXpB,EAAkB,WAAaA,EAAS,EAAA24N,EAAWqV,aAAcz6N,EAAQsY,GAC/FzqB,KAAKZ,KAAO,eACd,CAEA,IAAMytO,SAASzL,EAAe,EAAA7J,EAAY,CACxCuV,YAAY,IAGd,QAAe,YAAa,I,+BCtBb,SAASpH,EAAS1/N,GAC/B,SAAUA,IAASA,EAAM8mO,WAC3B,C,+ECWA,SAASrM,EAAW7hO,EAAS88J,EAAMvpJ,EAAQsY,EAASsrB,GAClDukD,MAAMv6F,KAAKC,MAEPs6F,MAAMqI,kBACRrI,MAAMqI,kBAAkB3iG,KAAMA,KAAKmM,aAEnCnM,KAAKgK,OAAQ,IAAKswF,OAAStwF,MAG7BhK,KAAKpB,QAAUA,EACfoB,KAAKZ,KAAO,aACZs8J,IAAS17J,KAAK07J,KAAOA,GACrBvpJ,IAAWnS,KAAKmS,OAASA,GACzBsY,IAAYzqB,KAAKyqB,QAAUA,GACvBsrB,IACF/1C,KAAK+1C,SAAWA,EAChB/1C,KAAKgkD,OAASjO,EAASiO,OAASjO,EAASiO,OAAS,KAEtD,CAEA,IAAM6oL,SAASpM,EAAYnmI,MAAO,CAChCmE,OAAQ,WACN,MAAO,CAEL7/F,QAASoB,KAAKpB,QACdQ,KAAMY,KAAKZ,KAEXu+F,YAAa39F,KAAK29F,YAClB78D,OAAQ9gC,KAAK8gC,OAEbrzB,SAAUzN,KAAKyN,SACf3O,WAAYkB,KAAKlB,WACjBC,aAAciB,KAAKjB,aACnBiL,MAAOhK,KAAKgK,MAEZmI,OAAQ,IAAM46N,aAAa/sO,KAAKmS,QAChCupJ,KAAM17J,KAAK07J,KACX13G,OAAQhkD,KAAKgkD,OAEjB,IAGF,MAAMh3C,EAAYyzN,EAAWzzN,UACvBggO,EAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEAvyJ,SAAQihF,IACRsxE,EAAYtxE,GAAQ,CAAC11J,MAAO01J,EAAK,IAGnC7rI,OAAOqsK,iBAAiBukC,EAAYuM,GACpCn9M,OAAO45F,eAAez8G,EAAW,eAAgB,CAAChH,OAAO,IAGzDy6N,EAAWz3L,KAAO,CAAChqC,EAAO08J,EAAMvpJ,EAAQsY,EAASsrB,EAAUk3L,KACzD,MAAMC,EAAar9M,OAAOqK,OAAOltB,GAgBjC,OAdA,IAAMmgO,aAAanuO,EAAOkuO,GAAY,SAAgBxjO,GACpD,OAAOA,IAAQ4wF,MAAMttF,SACvB,IAAGnG,GACe,iBAATA,IAGT45N,EAAW1gO,KAAKmtO,EAAYluO,EAAMJ,QAAS88J,EAAMvpJ,EAAQsY,EAASsrB,GAElEm3L,EAAW9I,MAAQplO,EAEnBkuO,EAAW9tO,KAAOJ,EAAMI,KAExB6tO,GAAep9M,OAAOq5E,OAAOgkI,EAAYD,GAElCC,CAAU,EAGnB,QAAe,YAAU,I,+DChGzB,MAAME,EAAoBnM,EAAA,EAAMoM,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eAiB5B,EAAeC,IACb,MAAMr3C,EAAS,CAAC,EAChB,IAAI5wL,EACAg7C,EACA36C,EAsBJ,OApBA4nO,GAAcA,EAAWnxJ,MAAM,MAAM1B,SAAQ,SAAgB/sE,GAC3DhI,EAAIgI,EAAKqnB,QAAQ,KACjB1vB,EAAMqI,EAAKunB,UAAU,EAAGvvB,GAAGuoI,OAAOl7H,cAClCstC,EAAM3yC,EAAKunB,UAAUvvB,EAAI,GAAGuoI,QAEvB5oI,GAAQ4wL,EAAO5wL,IAAQ+nO,EAAkB/nO,KAIlC,eAARA,EACE4wL,EAAO5wL,GACT4wL,EAAO5wL,GAAKuuC,KAAKyM,GAEjB41I,EAAO5wL,GAAO,CAACg7C,GAGjB41I,EAAO5wL,GAAO4wL,EAAO5wL,GAAO4wL,EAAO5wL,GAAO,KAAOg7C,EAAMA,EAE3D,IAEO41I,CACR,ECjDKs3C,EAAar+H,OAAO,aAE1B,SAASs+H,EAAgBx4M,GACvB,OAAOA,GAAU6T,OAAO7T,GAAQi5G,OAAOl7H,aACzC,CAEA,SAAS06N,EAAeznO,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGFi7N,EAAA,EAAMtsK,QAAQ3uD,GAASA,EAAMV,IAAImoO,GAAkB5kM,OAAO7iC,EACnE,CAEA,SAAS0nO,EAAYhjF,GACnB,MAAMhpE,EAAS7xD,OAAOqK,OAAO,MACvByzM,EAAW,mCACjB,IAAIx/N,EAEJ,MAAQA,EAAQw/N,EAASzhO,KAAKw+I,GAC5BhpE,EAAOvzE,EAAM,IAAMA,EAAM,GAG3B,OAAOuzE,CACT,CAEA,MAAMksJ,EAAqBljF,GAAQ,iCAAiCx/I,KAAKw/I,EAAIzc,QAE7E,SAAS4/F,EAAiBnyM,EAAS11B,EAAOgvB,EAAQopC,EAAQ0vK,GACxD,OAAI7M,EAAA,EAAM/oI,WAAW95B,GACZA,EAAOr+D,KAAKC,KAAMgG,EAAOgvB,IAG9B84M,IACF9nO,EAAQgvB,GAGLisM,EAAA,EAAMhpI,SAASjyF,GAEhBi7N,EAAA,EAAMhpI,SAAS75B,IACiB,IAA3Bp4D,EAAM+uB,QAAQqpC,GAGnB6iK,EAAA,EAAM71E,SAAShtF,GACVA,EAAOlzD,KAAKlF,QADrB,OANA,EASF,CAEA,SAAS+nO,EAAa/4M,GACpB,OAAOA,EAAOi5G,OACXl7H,cAAcC,QAAQ,mBAAmB,CAACgI,EAAG07M,EAAMhsE,IAC3CgsE,EAAKllN,cAAgBk5I,GAElC,CAEA,SAASsjF,EAAetkO,EAAKsrB,GAC3B,MAAMi5M,EAAehN,EAAA,EAAMiN,YAAY,IAAMl5M,GAE7C,CAAC,MAAO,MAAO,OAAOylD,SAAQ0zJ,IAC5Bt+M,OAAO45F,eAAe//G,EAAKykO,EAAaF,EAAc,CACpDjoO,MAAO,SAASooO,EAAMC,EAAMC,GAC1B,OAAOtuO,KAAKmuO,GAAYpuO,KAAKC,KAAMg1B,EAAQo5M,EAAMC,EAAMC,EACzD,EACA/vI,cAAc,GACd,GAEN,CAEA,MAAMqhI,EACJ,WAAAzzN,CAAYyoB,GACVA,GAAW50B,KAAKwX,IAAIod,EACtB,CAEA,GAAApd,CAAIwd,EAAQu5M,EAAgBC,GAC1B,MAAMruN,EAAOngB,KAEb,SAASyuO,EAAUzgI,EAAQ0gI,EAASC,GAClC,MAAMC,EAAUpB,EAAgBkB,GAEhC,IAAKE,EACH,MAAM,IAAIt0I,MAAM,0CAGlB,MAAMj1F,EAAM47N,EAAA,EAAMkD,QAAQhkN,EAAMyuN,KAE5BvpO,QAAqBO,IAAdua,EAAK9a,KAAmC,IAAbspO,QAAmC/oO,IAAb+oO,IAAwC,IAAdxuN,EAAK9a,MACzF8a,EAAK9a,GAAOqpO,GAAWjB,EAAez/H,GAE1C,CAEA,MAAM6gI,EAAa,CAACj6M,EAAS+5M,IAC3B1N,EAAA,EAAMxmJ,QAAQ7lD,GAAS,CAACo5E,EAAQ0gI,IAAYD,EAAUzgI,EAAQ0gI,EAASC,KAEzE,GAAI1N,EAAA,EAAM19H,cAAcvuE,IAAWA,aAAkBh1B,KAAKmM,YACxD0iO,EAAW75M,EAAQu5M,QACd,GAAGtN,EAAA,EAAMhpI,SAASjjE,KAAYA,EAASA,EAAOi5G,UAAY2/F,EAAkB54M,GACjF65M,EAAWC,EAAa95M,GAASu5M,QAC5B,GAAItN,EAAA,EAAM8N,UAAU/5M,GACzB,IAAK,MAAO3vB,EAAKW,KAAUgvB,EAAO6nD,UAChC4xJ,EAAUzoO,EAAOX,EAAKmpO,QAGd,MAAVx5M,GAAkBy5M,EAAUF,EAAgBv5M,EAAQw5M,GAGtD,OAAOxuO,IACT,CAEA,GAAAic,CAAI+Y,EAAQg6M,GAGV,GAFAh6M,EAASw4M,EAAgBx4M,GAErBA,EAAQ,CACV,MAAM3vB,EAAM47N,EAAA,EAAMkD,QAAQnkO,KAAMg1B,GAEhC,GAAI3vB,EAAK,CACP,MAAMW,EAAQhG,KAAKqF,GAEnB,IAAK2pO,EACH,OAAOhpO,EAGT,IAAe,IAAXgpO,EACF,OAAOtB,EAAY1nO,GAGrB,GAAIi7N,EAAA,EAAM/oI,WAAW82I,GACnB,OAAOA,EAAOjvO,KAAKC,KAAMgG,EAAOX,GAGlC,GAAI47N,EAAA,EAAM71E,SAAS4jF,GACjB,OAAOA,EAAO9iO,KAAKlG,GAGrB,MAAM,IAAIw0F,UAAU,yCACtB,CACF,CACF,CAEA,GAAAkR,CAAI12E,EAAQw6I,GAGV,GAFAx6I,EAASw4M,EAAgBx4M,GAErBA,EAAQ,CACV,MAAM3vB,EAAM47N,EAAA,EAAMkD,QAAQnkO,KAAMg1B,GAEhC,SAAU3vB,QAAqBO,IAAd5F,KAAKqF,IAAwBmqK,IAAWq+D,EAAiB7tO,KAAMA,KAAKqF,GAAMA,EAAKmqK,GAClG,CAEA,OAAO,CACT,CAEA,OAAOx6I,EAAQw6I,GACb,MAAMrvJ,EAAOngB,KACb,IAAIivO,GAAU,EAEd,SAASC,EAAaR,GAGpB,GAFAA,EAAUlB,EAAgBkB,GAEtBA,EAAS,CACX,MAAMrpO,EAAM47N,EAAA,EAAMkD,QAAQhkN,EAAMuuN,IAE5BrpO,GAASmqK,IAAWq+D,EAAiB1tN,EAAMA,EAAK9a,GAAMA,EAAKmqK,YACtDrvJ,EAAK9a,GAEZ4pO,GAAU,EAEd,CACF,CAQA,OANIhO,EAAA,EAAMtsK,QAAQ3/B,GAChBA,EAAOylD,QAAQy0J,GAEfA,EAAal6M,GAGRi6M,CACT,CAEA,KAAAj6H,CAAMw6D,GACJ,MAAM75G,EAAO9lC,OAAO8lC,KAAK31D,MACzB,IAAI0F,EAAIiwD,EAAK95C,OACTozN,GAAU,EAEd,MAAOvpO,IAAK,CACV,MAAML,EAAMswD,EAAKjwD,GACb8pK,IAAWq+D,EAAiB7tO,KAAMA,KAAKqF,GAAMA,EAAKmqK,GAAS,YACtDxvK,KAAKqF,GACZ4pO,GAAU,EAEd,CAEA,OAAOA,CACT,CAEA,SAAAn/F,CAAU51C,GACR,MAAM/5E,EAAOngB,KACP40B,EAAU,CAAC,EAsBjB,OApBAqsM,EAAA,EAAMxmJ,QAAQz6E,MAAM,CAACgG,EAAOgvB,KAC1B,MAAM3vB,EAAM47N,EAAA,EAAMkD,QAAQvvM,EAASI,GAEnC,GAAI3vB,EAGF,OAFA8a,EAAK9a,GAAOooO,EAAeznO,eACpBma,EAAK6U,GAId,MAAM8lG,EAAa5gC,EAAS6zI,EAAa/4M,GAAU6T,OAAO7T,GAAQi5G,OAE9DnT,IAAe9lG,UACV7U,EAAK6U,GAGd7U,EAAK26G,GAAc2yG,EAAeznO,GAElC4uB,EAAQkmG,IAAc,CAAI,IAGrB96H,IACT,CAEA,MAAAwQ,IAAUu8C,GACR,OAAO/sD,KAAKmM,YAAYqE,OAAOxQ,QAAS+sD,EAC1C,CAEA,MAAA0xC,CAAO0wI,GACL,MAAMzlO,EAAMmmB,OAAOqK,OAAO,MAM1B,OAJA+mM,EAAA,EAAMxmJ,QAAQz6E,MAAM,CAACgG,EAAOgvB,KACjB,MAAThvB,IAA2B,IAAVA,IAAoB0D,EAAIsrB,GAAUm6M,GAAalO,EAAA,EAAMtsK,QAAQ3uD,GAASA,EAAMgnB,KAAK,MAAQhnB,EAAM,IAG3G0D,CACT,CAEA,CAACwlG,OAAOvT,YACN,OAAO9rE,OAAOgtD,QAAQ78E,KAAKy+F,UAAUyQ,OAAOvT,WAC9C,CAEA,QAAAptF,GACE,OAAOshB,OAAOgtD,QAAQ78E,KAAKy+F,UAAUn5F,KAAI,EAAE0vB,EAAQhvB,KAAWgvB,EAAS,KAAOhvB,IAAOgnB,KAAK,KAC5F,CAEA,IAAKkiF,OAAOnT,eACV,MAAO,cACT,CAEA,WAAO/yD,CAAK48L,GACV,OAAOA,aAAiB5lO,KAAO4lO,EAAQ,IAAI5lO,KAAK4lO,EAClD,CAEA,aAAOp1N,CAAOy2J,KAAUl6G,GACtB,MAAM2gD,EAAW,IAAI1tG,KAAKinK,GAI1B,OAFAl6G,EAAQ0tB,SAASvqE,GAAWw9F,EAASl2F,IAAItH,KAElCw9F,CACT,CAEA,eAAO0hI,CAASp6M,GACd,MAAM0rF,EAAY1gH,KAAKutO,GAAevtO,KAAKutO,GAAc,CACvD8B,UAAW,CAAC,GAGRA,EAAY3uH,EAAU2uH,UACtBriO,EAAYhN,KAAKgN,UAEvB,SAASsiO,EAAeZ,GACtB,MAAME,EAAUpB,EAAgBkB,GAE3BW,EAAUT,KACbZ,EAAehhO,EAAW0hO,GAC1BW,EAAUT,IAAW,EAEzB,CAIA,OAFA3N,EAAA,EAAMtsK,QAAQ3/B,GAAUA,EAAOylD,QAAQ60J,GAAkBA,EAAet6M,GAEjEh1B,IACT,EAGF4/N,EAAawP,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpGnO,EAAA,EAAMsO,kBAAkB3P,EAAa5yN,WAAW,EAAEhH,SAAQX,KACxD,IAAIksK,EAASlsK,EAAI,GAAGmM,cAAgBnM,EAAIquC,MAAM,GAC9C,MAAO,CACLz3B,IAAK,IAAMjW,EACX,GAAAwR,CAAIg4N,GACFxvO,KAAKuxK,GAAUi+D,CACjB,EACF,IAGFvO,EAAA,EAAMwO,cAAc7P,GAEpB,S,wGC9Re,SAAS2H,EAAcC,EAASkI,GAC7C,OAAIlI,KAAY,OAAckI,IACrB,OAAYlI,EAASkI,GAEvBA,CACT,C,wGCfA,MAAMC,EAAmB/J,GAAUA,aAAiB,EAAArO,EAAe,IAAKqO,GAAUA,EAWnE,SAASa,EAAYmJ,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,MAAM19N,EAAS,CAAC,EAEhB,SAAS29N,EAAe5/N,EAAQqP,EAAQwwN,GACtC,OAAI,IAAMxsI,cAAcrzF,IAAW,IAAMqzF,cAAchkF,GAC9C,IAAMknD,MAAM1mE,KAAK,CAACgwO,YAAW7/N,EAAQqP,GACnC,IAAMgkF,cAAchkF,GACtB,IAAMknD,MAAM,CAAC,EAAGlnD,GACd,IAAMo1C,QAAQp1C,GAChBA,EAAOm0B,QAETn0B,CACT,CAGA,SAASywN,EAAoB1+N,EAAGm3B,EAAGsnM,GACjC,OAAK,IAAMp4I,YAAYlvD,GAEX,IAAMkvD,YAAYrmF,QAAvB,EACEw+N,OAAelqO,EAAW0L,EAAGy+N,GAF7BD,EAAex+N,EAAGm3B,EAAGsnM,EAIhC,CAGA,SAASE,EAAiB3+N,EAAGm3B,GAC3B,IAAK,IAAMkvD,YAAYlvD,GACrB,OAAOqnM,OAAelqO,EAAW6iC,EAErC,CAGA,SAASynM,EAAiB5+N,EAAGm3B,GAC3B,OAAK,IAAMkvD,YAAYlvD,GAEX,IAAMkvD,YAAYrmF,QAAvB,EACEw+N,OAAelqO,EAAW0L,GAF1Bw+N,OAAelqO,EAAW6iC,EAIrC,CAGA,SAAS0nM,EAAgB7+N,EAAGm3B,EAAG5hC,GAC7B,OAAIA,KAAQgpO,EACHC,EAAex+N,EAAGm3B,GAChB5hC,KAAQ+oO,EACVE,OAAelqO,EAAW0L,QAD5B,CAGT,CAEA,MAAM8+N,EAAW,CACfvxO,IAAKoxO,EACLhiO,OAAQgiO,EACRjrO,KAAMirO,EACNzI,QAAS0I,EACT1K,iBAAkB0K,EAClBzK,kBAAmByK,EACnBxJ,iBAAkBwJ,EAClB57M,QAAS47M,EACTG,eAAgBH,EAChB/7M,gBAAiB+7M,EACjBI,cAAeJ,EACfzL,QAASyL,EACTp7J,aAAco7J,EACdK,eAAgBL,EAChBM,eAAgBN,EAChBhQ,iBAAkBgQ,EAClB/P,mBAAoB+P,EACpBO,WAAYP,EACZQ,iBAAkBR,EAClBS,cAAeT,EACfU,eAAgBV,EAChBn0K,UAAWm0K,EACXW,UAAWX,EACXY,WAAYZ,EACZ9P,YAAa8P,EACba,WAAYb,EACZc,iBAAkBd,EAClBe,eAAgBd,EAChBv7M,QAAS,CAACtjB,EAAGm3B,IAAMunM,EAAoBL,EAAgBr+N,GAAIq+N,EAAgBlnM,IAAI,IASjF,OANA,IAAMgyC,QAAQ5qD,OAAO8lC,KAAK9lC,OAAOq5E,OAAO,CAAC,EAAG0mI,EAASC,KAAW,SAA4BhpO,GAC1F,MAAM4/D,EAAQ2pK,EAASvpO,IAASmpO,EAC1BkB,EAAczqK,EAAMmpK,EAAQ/oO,GAAOgpO,EAAQhpO,GAAOA,GACvD,IAAM8wF,YAAYu5I,IAAgBzqK,IAAU0pK,IAAqBh+N,EAAOtL,GAAQqqO,EACnF,IAEO/+N,CACT,C,4EC5Fe,SAASquN,EAAOz2K,EAASC,EAAQjU,GAC9C,MAAMk7L,EAAiBl7L,EAAS5jC,OAAO8+N,eAClCl7L,EAASiO,QAAWitL,IAAkBA,EAAel7L,EAASiO,QAGjEgG,EAAO,IAAI,EAAAutK,EACT,mCAAqCxhL,EAASiO,OAC9C,CAAC,EAAAuzK,EAAWkK,gBAAiB,EAAAlK,EAAW4Z,kBAAkBhzO,KAAKI,MAAMw3C,EAASiO,OAAS,KAAO,GAC9FjO,EAAS5jC,OACT4jC,EAAStrB,QACTsrB,IAPFgU,EAAQhU,EAUZ,C,oICZe,SAASwvL,EAAcn5E,EAAKr2G,GACzC,MAAM5jC,EAASnS,MAAQ,IACjB07B,EAAUqa,GAAY5jC,EACtByiB,EAAU,EAAA2iM,EAAavuL,KAAKtN,EAAQ9G,SAC1C,IAAI5vB,EAAO02B,EAAQ12B,KAQnB,OANA,IAAMy1E,QAAQ2xE,GAAK,SAAmB1yI,GACpC1U,EAAO0U,EAAG3Z,KAAKoS,EAAQnN,EAAM4vB,EAAQk7G,YAAa/5F,EAAWA,EAASiO,YAASp+C,EACjF,IAEAgvB,EAAQk7G,YAED9qI,CACT,C,2GCrBe,SAASosO,EAAiBpsO,EAAMkrF,GAC7C,OAAO,EAAAo8I,EAAA,GAAWtnO,EAAM,IAAIu8N,EAAA,EAASjD,QAAQlpB,gBAAmBvlL,OAAOq5E,OAAO,CAC5EmoI,QAAS,SAASrrO,EAAOX,EAAK2nC,EAAMskM,GAClC,OAAI/P,EAAA,EAAS5hI,QAAUshI,EAAA,EAAMsQ,SAASvrO,IACpChG,KAAK+qD,OAAO1lD,EAAKW,EAAMuI,SAAS,YACzB,GAGF+iO,EAAQE,eAAe3kK,MAAM7sE,KAAM4b,UAC5C,GACCs0E,GACL,C,eCGA,SAASuhJ,EAAgBh7H,EAAUu4H,EAAQjN,GACzC,GAAId,EAAA,EAAMhpI,SAASwe,GACjB,IAEE,OADCu4H,GAAUhmO,KAAK+tC,OAAO0/D,GAChBwqH,EAAA,EAAMhzF,KAAKx3B,EACpB,CAAE,MAAO3vG,GACP,GAAe,gBAAXA,EAAE1H,KACJ,MAAM0H,CAEV,CAGF,OAAQi7N,GAAW/4N,KAAK4c,WAAW6wF,EACrC,CAEA,MAAM/kF,EAAW,CAEfmvM,aAAcA,EAAA,EAEd4D,QAAS,CAAC,MAAO,OAAQ,SAEzBe,iBAAkB,CAAC,SAA0BxgO,EAAM4vB,GACjD,MAAM49J,EAAc59J,EAAQ88M,kBAAoB,GAC1CC,EAAqBn/C,EAAYz9J,QAAQ,qBAAuB,EAChE68M,EAAkB3Q,EAAA,EAAM9oI,SAASnzF,GAEnC4sO,GAAmB3Q,EAAA,EAAMyL,WAAW1nO,KACtCA,EAAO,IAAI2nO,SAAS3nO,IAGtB,MAAM8+N,EAAa7C,EAAA,EAAM6C,WAAW9+N,GAEpC,GAAI8+N,EACF,OAAO6N,EAAqB3oO,KAAK4c,WAAU,EAAA6mN,EAAA,GAAeznO,IAASA,EAGrE,GAAIi8N,EAAA,EAAMkC,cAAcn+N,IACtBi8N,EAAA,EAAMsQ,SAASvsO,IACfi8N,EAAA,EAAM4Q,SAAS7sO,IACfi8N,EAAA,EAAM6Q,OAAO9sO,IACbi8N,EAAA,EAAM6B,OAAO99N,IACbi8N,EAAA,EAAMwB,iBAAiBz9N,GAEvB,OAAOA,EAET,GAAIi8N,EAAA,EAAMiC,kBAAkBl+N,GAC1B,OAAOA,EAAK4sD,OAEd,GAAIqvK,EAAA,EAAMmC,kBAAkBp+N,GAE1B,OADA4vB,EAAQosM,eAAe,mDAAmD,GACnEh8N,EAAKuJ,WAGd,IAAIwjO,EAEJ,GAAIH,EAAiB,CACnB,GAAIp/C,EAAYz9J,QAAQ,sCAAwC,EAC9D,OAAOq8M,EAAiBpsO,EAAMhF,KAAKgyO,gBAAgBzjO,WAGrD,IAAKwjO,EAAa9Q,EAAA,EAAM8Q,WAAW/sO,KAAUwtL,EAAYz9J,QAAQ,wBAA0B,EAAG,CAC5F,MAAMk9M,EAAYjyO,KAAK0iB,KAAO1iB,KAAK0iB,IAAIiqN,SAEvC,OAAO,EAAAL,EAAA,GACLyF,EAAa,CAAC,UAAW/sO,GAAQA,EACjCitO,GAAa,IAAIA,EACjBjyO,KAAKgyO,eAET,CACF,CAEA,OAAIJ,GAAmBD,GACrB/8M,EAAQosM,eAAe,oBAAoB,GACpCyQ,EAAgBzsO,IAGlBA,CACT,GAEAygO,kBAAmB,CAAC,SAA2BzgO,GAC7C,MAAM67N,EAAe7gO,KAAK6gO,cAAgBnvM,EAASmvM,aAC7CgG,EAAoBhG,GAAgBA,EAAagG,kBACjDqL,EAAsC,SAAtBlyO,KAAK80E,aAE3B,GAAImsJ,EAAA,EAAMkR,WAAWntO,IAASi8N,EAAA,EAAMwB,iBAAiBz9N,GACnD,OAAOA,EAGT,GAAIA,GAAQi8N,EAAA,EAAMhpI,SAASjzF,KAAW6hO,IAAsB7mO,KAAK80E,cAAiBo9J,GAAgB,CAChG,MAAMvL,EAAoB9F,GAAgBA,EAAa8F,kBACjDyL,GAAqBzL,GAAqBuL,EAEhD,IACE,OAAOlpO,KAAK+tC,MAAM/xC,EACpB,CAAE,MAAO8B,GACP,GAAIsrO,EAAmB,CACrB,GAAe,gBAAXtrO,EAAE1H,KACJ,MAAMqhO,EAAAlJ,EAAWvuL,KAAKliC,EAAG25N,EAAAlJ,EAAW4Z,iBAAkBnxO,KAAM,KAAMA,KAAK+1C,UAEzE,MAAMjvC,CACR,CACF,CACF,CAEA,OAAO9B,CACT,GAMAsvB,QAAS,EAETi8M,eAAgB,aAChBC,eAAgB,eAEhBE,kBAAmB,EACnBC,eAAgB,EAEhBjuN,IAAK,CACHiqN,SAAUpL,EAAA,EAASjD,QAAQqO,SAC3BnjL,KAAM+3K,EAAA,EAASjD,QAAQ90K,MAGzBynL,eAAgB,SAAwBjtL,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEApvB,QAAS,CACP45L,OAAQ,CACN,OAAU,oCACV,oBAAgB5oN,KAKtBq7N,EAAA,EAAMxmJ,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAWxsE,IAChEyjB,EAASkD,QAAQ3mB,GAAU,CAAC,CAAC,IAG/B,S,gDC9JA,SACE04N,mBAAmB,EACnBE,mBAAmB,EACnB/F,qBAAqB,E,+DCOvB,SAASkB,EAAOt3E,GACd,MAAM2nF,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOziD,mBAAmBllC,GAAK13I,QAAQ,oBAAoB,SAAkB7E,GAC3E,OAAOkkO,EAAQlkO,EACjB,GACF,CAUA,SAASmkO,EAAqBnvJ,EAAQ+M,GACpClwF,KAAKuyO,OAAS,GAEdpvJ,IAAU,OAAWA,EAAQnjF,KAAMkwF,EACrC,CAEA,MAAMljF,EAAYslO,EAAqBtlO,UAEvCA,EAAU+9C,OAAS,SAAgB3rD,EAAM4G,GACvChG,KAAKuyO,OAAO3+L,KAAK,CAACx0C,EAAM4G,GAC1B,EAEAgH,EAAUuB,SAAW,SAAkBwzN,GACrC,MAAMyQ,EAAUzQ,EAAU,SAAS/7N,GACjC,OAAO+7N,EAAQhiO,KAAKC,KAAMgG,EAAOg8N,EACnC,EAAIA,EAEJ,OAAOhiO,KAAKuyO,OAAOjtO,KAAI,SAAcmtO,GACnC,OAAOD,EAAQC,EAAK,IAAM,IAAMD,EAAQC,EAAK,GAC/C,GAAG,IAAIzlN,KAAK,IACd,EAEA,QAAe,YAAoB,I,+BCvDpB,SAASnO,EAAKnF,EAAIu/E,GAC/B,OAAO,WACL,OAAOv/E,EAAGmzD,MAAMosB,EAASr9E,UAC3B,CACF,C,wHCOA,SAASomN,EAAO3hL,GACd,OAAOuvI,mBAAmBvvI,GACxBrtC,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAASy0N,EAAS5oO,EAAKskF,EAAQ+M,GAE5C,IAAK/M,EACH,OAAOtkF,EAGT,MAAM2zO,EAAUtiJ,GAAWA,EAAQ8xI,QAAUA,EAEvC0Q,EAAcxiJ,GAAWA,EAAQ2/F,UAEvC,IAAI8iD,EAUJ,GAPEA,EADED,EACiBA,EAAYvvJ,EAAQ+M,GAEpB,IAAMkzI,kBAAkBjgJ,GACzCA,EAAO50E,WACP,IAAI,EAAAgpN,EAAqBp0I,EAAQ+M,GAAS3hF,SAASikO,GAGnDG,EAAkB,CACpB,MAAMC,EAAgB/zO,EAAIk2B,QAAQ,MAEX,IAAnB69M,IACF/zO,EAAMA,EAAI60C,MAAM,EAAGk/L,IAErB/zO,KAA8B,IAAtBA,EAAIk2B,QAAQ,KAAc,IAAM,KAAO49M,CACjD,CAEA,OAAO9zO,CACT,C,+BCpDe,SAASg0O,EAAYrL,EAASsL,GAC3C,OAAOA,EACHtL,EAAQx0N,QAAQ,SAAU,IAAM,IAAM8/N,EAAY9/N,QAAQ,OAAQ,IAClEw0N,CACN,C,oJCVA,MAAM9D,EAAiB,CAACqP,EAASz+M,KAC/B,MAAM,OAACzY,GAAWk3N,EAAUA,EAAUA,EAAQ30K,OAAO/0C,SAAW,GAEhE,GAAIiL,GAAWzY,EAAQ,CACrB,IAEIw7D,EAFA0wJ,EAAa,IAAIC,gBAIrB,MAAMhzC,EAAU,SAAU1qL,GACxB,IAAK+sE,EAAS,CACZA,GAAU,EACVgpJ,IACA,MAAM9pM,EAAMjsB,aAAkBgwF,MAAQhwF,EAAStK,KAAKsK,OACpDy9N,EAAW9xJ,MAAM1/C,aAAe,EAAAghM,EAAahhM,EAAM,IAAI,IAAcA,aAAe+jE,MAAQ/jE,EAAI33B,QAAU23B,GAC5G,CACF,EAEA,IAAIo1J,EAAQr3J,GAAW6yE,YAAW,KAChCwkF,EAAQ,KACRqJ,EAAQ,IAAI,EAAAuiC,EAAW,WAAWjjM,mBAA0B,EAAAijM,EAAWwJ,WAAU,GAChFzsM,GAEH,MAAM+rM,EAAc,KACd0S,IACFpnD,GAAStkF,aAAaskF,GACtBA,EAAQ,KACRonD,EAAQt4J,SAAQ6lJ,IACdA,EAAOD,YAAcC,EAAOD,YAAYrrC,GAAWsrC,EAAOhwG,oBAAoB,QAAS0kE,EAAQ,IAEjG+9C,EAAU,KACZ,EAGFA,EAAQt4J,SAAS6lJ,GAAWA,EAAOjwG,iBAAiB,QAAS2kE,KAE7D,MAAM,OAACsrC,GAAUyH,EAIjB,OAFAzH,EAAOD,YAAc,IAAM,IAAM2S,KAAK3S,GAE/BC,CACT,GAGF,EAAe,YAAc,I,0EC5C7B,QAAe,IAAS2S,sBAGtB,CACE,KAAAt6C,CAAMv5L,EAAM4G,EAAOyyL,EAASzrJ,EAAMn6B,EAAQqgO,GACxC,MAAM9wJ,EAAS,CAAChjF,EAAO,IAAMwwL,mBAAmB5pL,IAEhD,IAAMqyF,SAASogG,IAAYr2G,EAAOxuC,KAAK,WAAa,IAAI3rC,KAAKwwL,GAAS06C,eAEtE,IAAMl7I,SAASjrD,IAASo1C,EAAOxuC,KAAK,QAAU5G,GAE9C,IAAMirD,SAASplF,IAAWuvE,EAAOxuC,KAAK,UAAY/gC,IAEvC,IAAXqgO,GAAmB9wJ,EAAOxuC,KAAK,UAE/Bi4C,SAASzJ,OAASA,EAAOp1D,KAAK,KAChC,EAEA,IAAA+rK,CAAK35L,GACH,MAAM+O,EAAQ09E,SAASzJ,OAAOj0E,MAAM,IAAI2E,OAAO,aAAe1T,EAAO,cACrE,OAAQ+O,EAAQoqL,mBAAmBpqL,EAAM,IAAM,IACjD,EAEA,MAAAk0B,CAAOjjC,GACLY,KAAK24L,MAAMv5L,EAAM,GAAI6I,KAAK+L,MAAQ,MACpC,GAMF,CACE,KAAA2kL,GAAS,EACT,IAAAI,GACE,OAAO,IACT,EACA,MAAA12J,GAAU,E,4EC5Bd,SAAS+wM,EAAch0O,GAKrB,OAAO,IAAMw8F,SAAS,gBAAiBx8F,GAAMkG,KAAI6I,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,IAEtD,CASA,SAASklO,EAAcz9M,GACrB,MAAMlsB,EAAM,CAAC,EACPisD,EAAO9lC,OAAO8lC,KAAK//B,GACzB,IAAIlwB,EACJ,MAAMk9B,EAAM+yB,EAAK95C,OACjB,IAAIxW,EACJ,IAAKK,EAAI,EAAGA,EAAIk9B,EAAKl9B,IACnBL,EAAMswD,EAAKjwD,GACXgE,EAAIrE,GAAOuwB,EAAIvwB,GAEjB,OAAOqE,CACT,CASA,SAAS+iO,EAAe6G,GACtB,SAASC,EAAUvmM,EAAMhnC,EAAOkK,EAAQ02C,GACtC,IAAIxnD,EAAO4tC,EAAK4Z,KAEhB,GAAa,cAATxnD,EAAsB,OAAO,EAEjC,MAAMo0O,EAAe5jI,OAAO84E,UAAUtpL,GAChCq0O,EAAS7sL,GAAS5Z,EAAKnxB,OAG7B,GAFAzc,GAAQA,GAAQ,IAAMu1D,QAAQzkD,GAAUA,EAAO2L,OAASzc,EAEpDq0O,EAOF,OANI,IAAMC,WAAWxjO,EAAQ9Q,GAC3B8Q,EAAO9Q,GAAQ,CAAC8Q,EAAO9Q,GAAO4G,GAE9BkK,EAAO9Q,GAAQ4G,GAGTwtO,EAGLtjO,EAAO9Q,IAAU,IAAM+4F,SAASjoF,EAAO9Q,MAC1C8Q,EAAO9Q,GAAQ,IAGjB,MAAM2J,EAASwqO,EAAUvmM,EAAMhnC,EAAOkK,EAAO9Q,GAAOwnD,GAMpD,OAJI79C,GAAU,IAAM4rD,QAAQzkD,EAAO9Q,MACjC8Q,EAAO9Q,GAAQi0O,EAAcnjO,EAAO9Q,MAG9Bo0O,CACV,CAEA,GAAI,IAAM1P,WAAWwP,IAAa,IAAMp7I,WAAWo7I,EAASz2J,SAAU,CACpE,MAAMnzE,EAAM,CAAC,EAMb,OAJA,IAAMiqO,aAAaL,GAAU,CAACl0O,EAAM4G,KAClCutO,EAAUH,EAAch0O,GAAO4G,EAAO0D,EAAK,EAAE,IAGxCA,CACT,CAEA,OAAO,IACT,CAEA,QAAe,YAAc,I,+BCrFd,SAASkqO,EAAc/0O,GAIpC,MAAO,8BAA8BqM,KAAKrM,EAC5C,C,yFCTA,QAAe,IAASo0O,sBAItB,WACE,MAAMY,EAAO,IAAS/rI,WAAa,kBAAkB58F,KAAK,IAAS48F,UAAUtlG,WACvEsxO,EAAiBjoJ,SAAS56E,cAAc,KAC9C,IAAI8iO,EAQJ,SAASC,EAAWn1O,GAClB,IAAIuS,EAAOvS,EAWX,OATIg1O,IAEFC,EAAe5vH,aAAa,OAAQ9yG,GACpCA,EAAO0iO,EAAe1iO,MAGxB0iO,EAAe5vH,aAAa,OAAQ9yG,GAG7B,CACLA,KAAM0iO,EAAe1iO,KACrBQ,SAAUkiO,EAAeliO,SAAWkiO,EAAeliO,SAASoB,QAAQ,KAAM,IAAM,GAChF9B,KAAM4iO,EAAe5iO,KACrBif,OAAQ2jN,EAAe3jN,OAAS2jN,EAAe3jN,OAAOnd,QAAQ,MAAO,IAAM,GAC3EkpC,KAAM43L,EAAe53L,KAAO43L,EAAe53L,KAAKlpC,QAAQ,KAAM,IAAM,GACpEihO,SAAUH,EAAeG,SACzBpiO,KAAMiiO,EAAejiO,KACrB+B,SAAiD,MAAtCkgO,EAAelgO,SAASC,OAAO,GACxCigO,EAAelgO,SACf,IAAMkgO,EAAelgO,SAE3B,CAUA,OARAmgO,EAAYC,EAAWh2L,OAAO/0B,SAAS7X,MAQhC,SAAyB8iO,GAC9B,MAAMj+C,EAAU,IAAMh+F,SAASi8I,GAAeF,EAAWE,GAAcA,EACvE,OAAQj+C,EAAOrkL,WAAamiO,EAAUniO,UAClCqkL,EAAO/kL,OAAS6iO,EAAU7iO,IAChC,CACD,CAlDD,GAqDA,WACE,OAAO,WACL,OAAO,CACT,CACD,CAJD,E,gDC7DF,Y,+BCCe,SAASowN,EAAcziO,GACpC,MAAMsP,EAAQ,4BAA4BjC,KAAKrN,GAC/C,OAAOsP,GAASA,EAAM,IAAM,EAC9B,C,uKCDO,MAAM+yN,EAAuB,CAAC/8M,EAAUgwN,EAAkBC,EAAO,KACtE,IAAIC,EAAgB,EACpB,MAAMC,GAAe,OAAY,GAAI,KAErC,OAAO,QAASxtO,IACd,MAAMwrH,EAASxrH,EAAEwrH,OACXz8E,EAAQ/uC,EAAEytO,iBAAmBztO,EAAE+uC,WAAQjwC,EACvC4uO,EAAgBliH,EAAS+hH,EACzBI,EAAOH,EAAaE,GACpBE,EAAUpiH,GAAUz8E,EAE1Bw+L,EAAgB/hH,EAEhB,MAAMttH,EAAO,CACXstH,SACAz8E,QACAygI,SAAUzgI,EAASy8E,EAASz8E,OAASjwC,EACrC+uO,MAAOH,EACPC,KAAMA,QAAc7uO,EACpBgvO,UAAWH,GAAQ5+L,GAAS6+L,GAAW7+L,EAAQy8E,GAAUmiH,OAAO7uO,EAChEslB,MAAOpkB,EACPytO,iBAA2B,MAAT1+L,EAClB,CAACs+L,EAAmB,WAAa,WAAW,GAG9ChwN,EAASnf,EAAK,GACbovO,EAAK,EAGGS,EAAyB,CAACh/L,EAAO8qB,KAC5C,MAAM4zK,EAA4B,MAAT1+L,EAEzB,MAAO,CAAEy8E,GAAW3xD,EAAU,GAAG,CAC/B4zK,mBACA1+L,QACAy8E,WACE3xD,EAAU,GAAG,EAGNm0K,EAAkBp7N,GAAO,IAAIgC,IAAS,IAAMs3N,MAAK,IAAMt5N,KAAMgC,I,+QClC1E,QAAgBvJ,IACd,MAAM6qB,GAAY,OAAY,CAAC,EAAG7qB,GAElC,IAaIqgL,GAbA,KAACxtL,EAAI,cAAEsrO,EAAa,eAAEE,EAAc,eAAED,EAAc,QAAE37M,EAAO,KAAEmgN,GAAQ/3M,EAe3E,GAbAA,EAAUpI,QAAUA,EAAU,EAAA2iM,EAAavuL,KAAKpU,GAEhDoI,EAAUn+B,KAAM,QAAS,OAAcm+B,EAAUwqM,QAASxqM,EAAUn+B,KAAMsT,EAAOgxE,OAAQhxE,EAAOu0N,kBAG5FqO,GACFngN,EAAQpd,IAAI,gBAAiB,SAC3Bw9N,MAAMD,EAAKjgD,UAAY,IAAM,KAAOigD,EAAK1kE,SAAW4kE,SAASrlD,mBAAmBmlD,EAAK1kE,WAAa,MAMlG,IAAMyzD,WAAW9+N,GACnB,GAAI,IAASiuO,uBAAyB,IAASiC,+BAC7CtgN,EAAQosM,oBAAep7N,QAClB,IAAiD,KAA5C4sL,EAAc59J,EAAQ88M,kBAA6B,CAE7D,MAAOvhO,KAASuxE,GAAU8wG,EAAcA,EAAYr2G,MAAM,KAAK72E,KAAI6tK,GAASA,EAAMllC,SAAQ7vE,OAAO/0C,SAAW,GAC5GuL,EAAQosM,eAAe,CAAC7wN,GAAQ,yBAA0BuxE,GAAQ10D,KAAK,MACzE,CAOF,GAAI,IAASimN,wBACX3C,GAAiB,IAAMp4I,WAAWo4I,KAAmBA,EAAgBA,EAActzM,IAE/EszM,IAAoC,IAAlBA,IAA2B,OAAgBtzM,EAAUn+B,MAAO,CAEhF,MAAMs2O,EAAY3E,GAAkBD,GAAkB,IAAQx3C,KAAKw3C,GAE/D4E,GACFvgN,EAAQpd,IAAIg5N,EAAgB2E,EAEhC,CAGF,OAAOn4M,CACR,C,+BC/CD,SAASo4M,EAAYC,EAAc72O,GACjC62O,EAAeA,GAAgB,GAC/B,MAAMV,EAAQ,IAAIrnO,MAAM+nO,GAClBC,EAAa,IAAIhoO,MAAM+nO,GAC7B,IAEIE,EAFAloI,EAAO,EACPC,EAAO,EAKX,OAFA9uG,OAAcoH,IAARpH,EAAoBA,EAAM,IAEzB,SAAcg3O,GACnB,MAAMxhO,EAAM/L,KAAK+L,MAEXyhO,EAAYH,EAAWhoI,GAExBioI,IACHA,EAAgBvhO,GAGlB2gO,EAAMtnI,GAAQmoI,EACdF,EAAWjoI,GAAQr5F,EAEnB,IAAItO,EAAI4nG,EACJooI,EAAa,EAEjB,MAAOhwO,IAAM2nG,EACXqoI,GAAcf,EAAMjvO,KACpBA,GAAQ2vO,EASV,GANAhoI,GAAQA,EAAO,GAAKgoI,EAEhBhoI,IAASC,IACXA,GAAQA,EAAO,GAAK+nI,GAGlBrhO,EAAMuhO,EAAgB/2O,EACxB,OAGF,MAAMm0M,EAAS8iC,GAAazhO,EAAMyhO,EAElC,OAAO9iC,EAASx0M,KAAKC,MAAmB,IAAbs3O,EAAoB/iC,QAAU/sM,CAC3D,CACF,C,iBAEA,QAAe,YAAW,I,+BChD1B,SAAS+vO,EAASj8N,EAAI06N,GACpB,IAEIwB,EACAjqD,EAHAkqD,EAAY,EACZzvB,EAAY,IAAOguB,EAIvB,MAAM0B,EAAS,CAACp6N,EAAM1H,EAAM/L,KAAK+L,SAC/B6hO,EAAY7hO,EACZ4hO,EAAW,KACPjqD,IACFtkF,aAAaskF,GACbA,EAAQ,MAEVjyK,EAAGmzD,MAAM,KAAMnxD,EAAK,EAGhBilD,EAAY,IAAIjlD,KACpB,MAAM1H,EAAM/L,KAAK+L,MACX2+L,EAAS3+L,EAAM6hO,EAChBljC,GAAUyT,EACb0vB,EAAOp6N,EAAM1H,IAEb4hO,EAAWl6N,EACNiwK,IACHA,EAAQxkF,YAAW,KACjBwkF,EAAQ,KACRmqD,EAAOF,EAAQ,GACdxvB,EAAYzT,IAEnB,EAGIp/J,EAAQ,IAAMqiM,GAAYE,EAAOF,GAEvC,MAAO,CAACj1K,EAAWptB,EACrB,C,iBAEA,QAAe,YAAQ,I,uHC7BvB,SAASwiM,EAAYnQ,GACnB,OAAO,IAAMriI,cAAcqiI,IAAU,IAAMjxK,QAAQixK,EACrD,CASA,SAASoQ,EAAe3wO,GACtB,OAAO,IAAMkoH,SAASloH,EAAK,MAAQA,EAAIquC,MAAM,GAAI,GAAKruC,CACxD,CAWA,SAAS4wO,EAAUjpM,EAAM3nC,EAAK6wO,GAC5B,OAAKlpM,EACEA,EAAKx8B,OAAOnL,GAAKC,KAAI,SAAc6tK,EAAOztK,GAG/C,OADAytK,EAAQ6iE,EAAe7iE,IACf+iE,GAAQxwO,EAAI,IAAMytK,EAAQ,IAAMA,CAC1C,IAAGnmJ,KAAKkpN,EAAO,IAAM,IALH7wO,CAMpB,CASA,SAAS8wO,EAAYvgN,GACnB,OAAO,IAAM++B,QAAQ/+B,KAASA,EAAIs7E,KAAK6kI,EACzC,CAEA,MAAMK,EAAa,IAAMjJ,aAAa,IAAO,CAAC,EAAG,MAAM,SAAgBtmO,GACrE,MAAO,WAAWqE,KAAKrE,EACzB,IAyBA,SAASylO,EAAW5iO,EAAK4pO,EAAUpjJ,GACjC,IAAK,IAAMiI,SAASzuF,GAClB,MAAM,IAAI8wF,UAAU,4BAItB84I,EAAWA,GAAY,IAAK,KAAoB3G,UAGhDz8I,EAAU,IAAMi9I,aAAaj9I,EAAS,CACpCmmJ,YAAY,EACZH,MAAM,EACNI,SAAS,IACR,GAAO,SAAiB1uF,EAAQroI,GAEjC,OAAQ,IAAMo4E,YAAYp4E,EAAOqoI,GACnC,IAEA,MAAMyuF,EAAanmJ,EAAQmmJ,WAErBhF,EAAUnhJ,EAAQmhJ,SAAWG,EAC7B0E,EAAOhmJ,EAAQgmJ,KACfI,EAAUpmJ,EAAQomJ,QAClBC,EAAQrmJ,EAAQ1mC,MAAwB,qBAATA,MAAwBA,KACvDgtL,EAAUD,GAAS,IAAMxT,oBAAoBuQ,GAEnD,IAAK,IAAMp7I,WAAWm5I,GACpB,MAAM,IAAI72I,UAAU,8BAGtB,SAASi8I,EAAazwO,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI,IAAMoyF,OAAOpyF,GACf,OAAOA,EAAMoqB,cAGf,IAAKomN,GAAW,IAAM1T,OAAO98N,GAC3B,MAAM,IAAI,EAAAuxN,EAAW,gDAGvB,OAAI,IAAM4L,cAAcn9N,IAAU,IAAM0wO,aAAa1wO,GAC5CwwO,GAA2B,oBAAThtL,KAAsB,IAAIA,KAAK,CAACxjD,IAAU2wO,OAAO3tM,KAAKhjC,GAG1EA,CACT,CAYA,SAASwrO,EAAexrO,EAAOX,EAAK2nC,GAClC,IAAIpX,EAAM5vB,EAEV,GAAIA,IAAUgnC,GAAyB,kBAAVhnC,EAC3B,GAAI,IAAMunH,SAASloH,EAAK,MAEtBA,EAAMgxO,EAAahxO,EAAMA,EAAIquC,MAAM,GAAI,GAEvC1tC,EAAQgD,KAAK4c,UAAU5f,QAClB,GACJ,IAAM2uD,QAAQ3uD,IAAUmwO,EAAYnwO,KACnC,IAAM+rO,WAAW/rO,IAAU,IAAMunH,SAASloH,EAAK,SAAWuwB,EAAM,IAAMixI,QAAQ7gK,IAYhF,OATAX,EAAM2wO,EAAe3wO,GAErBuwB,EAAI6kD,SAAQ,SAAc2kC,EAAIx4D,IAC1B,IAAM+wC,YAAYynB,IAAc,OAAPA,GAAgBk0H,EAASvoL,QAEtC,IAAZurL,EAAmBL,EAAU,CAAC5wO,GAAMuhD,EAAOsvL,GAAqB,OAAZI,EAAmBjxO,EAAMA,EAAM,KACnFoxO,EAAar3H,GAEjB,KACO,EAIX,QAAI22H,EAAY/vO,KAIhBstO,EAASvoL,OAAOkrL,EAAUjpM,EAAM3nC,EAAK6wO,GAAOO,EAAazwO,KAElD,EACT,CAEA,MAAMgE,EAAQ,GAER4sO,EAAiB/mN,OAAOq5E,OAAOktI,EAAY,CAC/C5E,iBACAiF,eACAV,gBAGF,SAAS5wJ,EAAMn/E,EAAOgnC,GACpB,IAAI,IAAM2qD,YAAY3xF,GAAtB,CAEA,IAA8B,IAA1BgE,EAAM+qB,QAAQ/uB,GAChB,MAAMs0F,MAAM,kCAAoCttD,EAAKhgB,KAAK,MAG5DhjB,EAAM4pC,KAAK5tC,GAEX,IAAMy0E,QAAQz0E,GAAO,SAAco5G,EAAI/5G,GACrC,MAAM0D,IAAW,IAAM4uF,YAAYynB,IAAc,OAAPA,IAAgBiyH,EAAQtxO,KAChEuzO,EAAUl0H,EAAI,IAAMnnB,SAAS5yF,GAAOA,EAAI4oI,OAAS5oI,EAAK2nC,EAAM4pM,IAG/C,IAAX7tO,GACFo8E,EAAMi6B,EAAIpyE,EAAOA,EAAKx8B,OAAOnL,GAAO,CAACA,GAEzC,IAEA2E,EAAMqpF,KAlB8B,CAmBtC,CAEA,IAAK,IAAM8E,SAASzuF,GAClB,MAAM,IAAI8wF,UAAU,0BAKtB,OAFArV,EAAMz7E,GAEC4pO,CACT,CAEA,QAAe,YAAU,I,iDCzNlB,MAAMuD,EAAc,UAAWC,EAAOC,GAC3C,IAAIn0M,EAAMk0M,EAAM7T,WAEhB,IAAK8T,GAAan0M,EAAMm0M,EAEtB,kBADMD,GAIR,IACIziO,EADA80K,EAAM,EAGV,MAAOA,EAAMvmJ,EACXvuB,EAAM80K,EAAM4tD,QACND,EAAMpjM,MAAMy1I,EAAK90K,GACvB80K,EAAM90K,CAEV,EAEa2iO,EAAYrzM,gBAAiBszM,EAAUF,GAClD,UAAW,MAAMD,KAASI,EAAWD,SAC5BJ,EAAYC,EAAOC,EAE9B,EAEMG,EAAavzM,gBAAiBg/L,GAClC,GAAIA,EAAOzzH,OAAO1T,eAEhB,kBADOmnI,GAIT,MAAM5oB,EAAS4oB,EAAOwU,YACtB,IACE,OAAS,CACP,MAAM,KAACnqL,EAAI,MAAEhnD,SAAe+zM,EAAOhhB,OACnC,GAAI/rI,EACF,YAEIhnD,CACR,CACF,CAAE,cACM+zM,EAAOnlK,QACf,CACF,EAEamvL,EAAc,CAACpB,EAAQoU,EAAWvgE,EAAY4gE,KACzD,MAAMz7I,EAAWq7I,EAAUrU,EAAQoU,GAEnC,IACI/pL,EADA2nL,EAAQ,EAER0C,EAAavwO,IACVkmD,IACHA,GAAO,EACPoqL,GAAYA,EAAStwO,GACvB,EAGF,OAAO,IAAI86N,eAAe,CACxB,UAAM0V,CAAKvP,GACT,IACE,MAAM,KAAC/6K,EAAI,MAAEhnD,SAAe21F,EAASl5E,OAErC,GAAIuqC,EAGF,OAFDqqL,SACCtP,EAAWz5G,QAIb,IAAI1rF,EAAM58B,EAAMi9N,WAChB,GAAIzsD,EAAY,CACd,IAAI+gE,EAAc5C,GAAS/xM,EAC3B4zI,EAAW+gE,EACb,CACAxP,EAAWyP,QAAQ,IAAIvV,WAAWj8N,GACpC,CAAE,MAAOuwB,GAEP,MADA8gN,EAAU9gN,GACJA,CACR,CACF,EACA,MAAAqe,CAAOtqC,GAEL,OADA+sO,EAAU/sO,GACHqxF,EAASsF,QAClB,GACC,CACDw2I,cAAe,GAChB,C,0MClFH,QAA0C,qBAApBriC,gBAAkCA,gBAAkBk9B,EAAA/a,ECD1E,EAAmC,qBAAboV,SAA2BA,SAAW,KCA5D,EAA+B,qBAATnjL,KAAuBA,KAAO,KCEpD,GACEyvI,WAAW,EACXqlC,QAAS,CACPlpB,gBAAe,EACfu3B,SAAQ,EACRnjL,KAAI,GAENg4K,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SCXhDkW,EAAkC,qBAAX15L,QAA8C,qBAAb6tC,SAExDp2C,EAAkC,kBAAdqyD,WAA0BA,gBAAaliG,EAmB3DqtO,EAAwByE,KAC1BjiM,GAAc,CAAC,cAAe,eAAgB,MAAM1gB,QAAQ0gB,EAAW9rB,SAAW,GAWhFurN,EAAiC,KAEN,qBAAtBn1I,mBAEP5/E,gBAAgB4/E,mBACc,oBAAvB5/E,KAAKw3N,cALuB,GASjCpzI,EAASmzI,GAAiB15L,OAAO/0B,SAAS7X,MAAQ,mBCvCxD,MACK,KACA,E,gECCL,MAAM,SAAC7C,GAAYshB,OAAO7iB,WACpB,eAAC+lG,GAAkBljF,OAEnB+nN,EAAS,CAAC9kH,GAAS8yG,IACrB,MAAMl7E,EAAMn8I,EAASxO,KAAK6lO,GAC1B,OAAO9yG,EAAM43B,KAAS53B,EAAM43B,GAAOA,EAAIh3G,MAAM,GAAI,GAAG3gC,cAAc,EAFvD,CAGZ8c,OAAOqK,OAAO,OAEX29M,EAAc1nO,IAClBA,EAAOA,EAAK4C,cACJ6yN,GAAUgS,EAAOhS,KAAWz1N,GAGhC2nO,EAAa3nO,GAAQy1N,UAAgBA,IAAUz1N,GAS/C,QAACwkD,GAAWrnD,MASZqqF,EAAcmgJ,EAAW,aAS/B,SAASvG,EAASlxL,GAChB,OAAe,OAARA,IAAiBs3C,EAAYt3C,IAA4B,OAApBA,EAAIl0C,cAAyBwrF,EAAYt3C,EAAIl0C,cACpF+rF,EAAW73C,EAAIl0C,YAAYolO,WAAalxL,EAAIl0C,YAAYolO,SAASlxL,EACxE,CASA,MAAM8iL,EAAgB0U,EAAW,eAUjC,SAAS3U,EAAkB7iL,GACzB,IAAIt3C,EAMJ,OAJEA,EAD0B,qBAAhBgvO,aAAiCA,YAAkB,OACpDA,YAAYC,OAAO33L,GAEnB,GAAUA,EAAU,QAAM8iL,EAAc9iL,EAAIuR,QAEhD7oD,CACT,CASA,MAAMkvF,EAAW6/I,EAAW,UAQtB5/I,EAAa4/I,EAAW,YASxBz/I,EAAWy/I,EAAW,UAStB3/I,EAAYytI,GAAoB,OAAVA,GAAmC,kBAAVA,EAQ/CttI,EAAYstI,IAAmB,IAAVA,IAA4B,IAAVA,EASvCriI,EAAiBljD,IACrB,GAAoB,WAAhBu3L,EAAOv3L,GACT,OAAO,EAGT,MAAMrzC,EAAY+lG,EAAe1yD,GACjC,OAAsB,OAAdrzC,GAAsBA,IAAc6iB,OAAO7iB,WAAkD,OAArC6iB,OAAOkjF,eAAe/lG,OAA0BkiG,OAAOnT,eAAe17C,MAAU6uD,OAAOvT,YAAYt7C,EAAI,EAUnK+3C,EAASy/I,EAAW,QASpB/F,EAAS+F,EAAW,QASpB/U,EAAS+U,EAAW,QASpB9F,EAAa8F,EAAW,YASxBhG,EAAYxxL,GAAQ83C,EAAS93C,IAAQ63C,EAAW73C,EAAI61H,MASpD4tD,EAAc8B,IAClB,IAAIn3N,EACJ,OAAOm3N,IACgB,oBAAb+G,UAA2B/G,aAAiB+G,UAClDz0I,EAAW0tI,EAAM76K,UACY,cAA1Bt8C,EAAOmpO,EAAOhS,KAEL,WAATn3N,GAAqBypF,EAAW0tI,EAAMr3N,WAAkC,sBAArBq3N,EAAMr3N,YAGhE,EAUI60N,EAAoByU,EAAW,oBAE9BpV,EAAkBwV,EAAW9F,EAAYpD,GAAa,CAAC,iBAAkB,UAAW,WAAY,WAAWzpO,IAAIuyO,GAShH5pG,EAAQyc,GAAQA,EAAIzc,KACxByc,EAAIzc,OAASyc,EAAI13I,QAAQ,qCAAsC,IAiBjE,SAASynE,EAAQ/wE,EAAKgQ,GAAI,WAAC0yN,GAAa,GAAS,CAAC,GAEhD,GAAY,OAAR1iO,GAA+B,qBAARA,EACzB,OAGF,IAAIhE,EACAmhE,EAQJ,GALmB,kBAARn9D,IAETA,EAAM,CAACA,IAGLirD,EAAQjrD,GAEV,IAAKhE,EAAI,EAAGmhE,EAAIn9D,EAAImS,OAAQnW,EAAImhE,EAAGnhE,IACjCgU,EAAG3Z,KAAK,KAAM2J,EAAIhE,GAAIA,EAAGgE,OAEtB,CAEL,MAAMisD,EAAOy2K,EAAav8M,OAAOuiF,oBAAoB1oG,GAAOmmB,OAAO8lC,KAAKjsD,GAClEk5B,EAAM+yB,EAAK95C,OACjB,IAAIxW,EAEJ,IAAKK,EAAI,EAAGA,EAAIk9B,EAAKl9B,IACnBL,EAAMswD,EAAKjwD,GACXgU,EAAG3Z,KAAK,KAAM2J,EAAIrE,GAAMA,EAAKqE,EAEjC,CACF,CAEA,SAASy6N,EAAQz6N,EAAKrE,GACpBA,EAAMA,EAAI0N,cACV,MAAM4iD,EAAO9lC,OAAO8lC,KAAKjsD,GACzB,IACImuG,EADAnyG,EAAIiwD,EAAK95C,OAEb,MAAOnW,KAAM,EAEX,GADAmyG,EAAOliD,EAAKjwD,GACRL,IAAQwyG,EAAK9kG,cACf,OAAO8kG,EAGX,OAAO,IACT,CAEA,MAAMhiC,EAAU,KAEY,qBAAfsmB,WAAmCA,WACvB,qBAATh8E,KAAuBA,KAA0B,qBAAX69B,OAAyBA,OAASvyB,OAHxE,GAMVysN,EAAoBx8M,IAAai8D,EAAYj8D,IAAYA,IAAYm6C,EAoB3E,SAASpP,IACP,MAAM,SAACspK,GAAYmI,EAAiBl4O,OAASA,MAAQ,CAAC,EAChD+I,EAAS,CAAC,EACVovO,EAAc,CAAC93L,EAAKh7C,KACxB,MAAM+yO,EAAYrI,GAAY5L,EAAQp7N,EAAQ1D,IAAQA,EAClDk+F,EAAcx6F,EAAOqvO,KAAe70I,EAAcljD,GACpDt3C,EAAOqvO,GAAa3xK,EAAM19D,EAAOqvO,GAAY/3L,GACpCkjD,EAAcljD,GACvBt3C,EAAOqvO,GAAa3xK,EAAM,CAAC,EAAGpmB,GACrBsU,EAAQtU,GACjBt3C,EAAOqvO,GAAa/3L,EAAI3M,QAExB3qC,EAAOqvO,GAAa/3L,CACtB,EAGF,IAAK,IAAI36C,EAAI,EAAGmhE,EAAIjrD,UAAUC,OAAQnW,EAAImhE,EAAGnhE,IAC3CkW,UAAUlW,IAAM+0E,EAAQ7+D,UAAUlW,GAAIyyO,GAExC,OAAOpvO,CACT,CAYA,MAAMgiJ,EAAS,CAACz5I,EAAGm3B,EAAGwwD,GAAUmzI,cAAa,CAAC,KAC5C3xJ,EAAQhyC,GAAG,CAAC4X,EAAKh7C,KACX4zF,GAAWf,EAAW73C,GACxB/uC,EAAEjM,IAAO,OAAKg7C,EAAK44C,GAEnB3nF,EAAEjM,GAAOg7C,CACX,GACC,CAAC+rL,eACG96N,GAUH+mO,EAAYnsH,IACc,QAA1BA,EAAQ32D,WAAW,KACrB22D,EAAUA,EAAQx4E,MAAM,IAEnBw4E,GAYH2gH,EAAW,CAAC1gO,EAAamsO,EAAkB1nL,EAAOo8K,KACtD7gO,EAAYa,UAAY6iB,OAAOqK,OAAOo+M,EAAiBtrO,UAAWggO,GAClE7gO,EAAYa,UAAUb,YAAcA,EACpC0jB,OAAO45F,eAAet9G,EAAa,QAAS,CAC1CnG,MAAOsyO,EAAiBtrO,YAE1B4jD,GAAS/gC,OAAOq5E,OAAO/8F,EAAYa,UAAW4jD,EAAM,EAYhDu8K,EAAe,CAACoL,EAAWC,EAASp6K,EAAQ8sH,KAChD,IAAIt6H,EACAlrD,EACAmB,EACJ,MAAMu4H,EAAS,CAAC,EAIhB,GAFAo5G,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CACD5nL,EAAQ/gC,OAAOuiF,oBAAoBmmI,GACnC7yO,EAAIkrD,EAAM/0C,OACV,MAAOnW,KAAM,EACXmB,EAAO+pD,EAAMlrD,GACPwlL,IAAcA,EAAWrkL,EAAM0xO,EAAWC,IAAcp5G,EAAOv4H,KACnE2xO,EAAQ3xO,GAAQ0xO,EAAU1xO,GAC1Bu4H,EAAOv4H,IAAQ,GAGnB0xO,GAAuB,IAAXn6K,GAAoB20C,EAAewlI,EACjD,OAASA,KAAen6K,GAAUA,EAAOm6K,EAAWC,KAAaD,IAAc1oN,OAAO7iB,WAEtF,OAAOwrO,CAAO,EAYVjrH,EAAW,CAACm9B,EAAK7kD,EAAck+E,KACnCr5B,EAAM7hH,OAAO6hH,SACI9kJ,IAAbm+K,GAA0BA,EAAWr5B,EAAI7uI,UAC3CkoK,EAAWr5B,EAAI7uI,QAEjBkoK,GAAYl+E,EAAahqF,OACzB,MAAM24G,EAAYk2B,EAAI31H,QAAQ8wE,EAAck+E,GAC5C,OAAsB,IAAfvvD,GAAoBA,IAAcuvD,CAAQ,EAW7Cld,EAAW++D,IACf,IAAKA,EAAO,OAAO,KACnB,GAAIjxK,EAAQixK,GAAQ,OAAOA,EAC3B,IAAIlgO,EAAIkgO,EAAM/pN,OACd,IAAKw8E,EAAS3yF,GAAI,OAAO,KACzB,MAAMkwB,EAAM,IAAItoB,MAAM5H,GACtB,MAAOA,KAAM,EACXkwB,EAAIlwB,GAAKkgO,EAAMlgO,GAEjB,OAAOkwB,CAAG,EAYN8gN,EAAe,CAAC+B,GAEb7S,GACE6S,GAAc7S,aAAiB6S,EAHrB,CAKI,qBAAfxW,YAA8BlvH,EAAekvH,aAUjD0R,EAAe,CAACjqO,EAAKgQ,KACzB,MAAMg/N,EAAYhvO,GAAOA,EAAIwlG,OAAOvT,UAE9BA,EAAW+8I,EAAU34O,KAAK2J,GAEhC,IAAIX,EAEJ,OAAQA,EAAS4yF,EAASl5E,UAAY1Z,EAAOikD,KAAM,CACjD,MAAMylL,EAAO1pO,EAAO/C,MACpB0T,EAAG3Z,KAAK2J,EAAK+oO,EAAK,GAAIA,EAAK,GAC7B,GAWI72I,EAAW,CAACohE,EAAQtS,KACxB,IAAIx8I,EACJ,MAAM0nB,EAAM,GAEZ,MAAwC,QAAhC1nB,EAAU8uJ,EAAO9wJ,KAAKw+I,IAC5B90H,EAAIge,KAAK1lC,GAGX,OAAO0nB,CAAG,EAIN82M,EAAamL,EAAW,mBAExB3J,EAAcxjF,GACXA,EAAI33I,cAAcC,QAAQ,yBAC/B,SAAkBswG,EAAGq1H,EAAIC,GACvB,OAAOD,EAAGnnO,cAAgBonO,CAC5B,IAKEhgJ,EAAiB,GAAGA,oBAAoB,CAAClvF,EAAK7C,IAAS+xF,EAAe74F,KAAK2J,EAAK7C,GAA/D,CAAsEgpB,OAAO7iB,WAS9Fo+I,EAAWysF,EAAW,UAEtBtI,EAAoB,CAAC7lO,EAAKmvO,KAC9B,MAAM7L,EAAcn9M,OAAO42L,0BAA0B/8M,GAC/CovO,EAAqB,CAAC,EAE5Br+J,EAAQuyJ,GAAa,CAAC5kI,EAAYhpG,KAChC,IAAIq4G,GAC2C,KAA1CA,EAAMohI,EAAQzwI,EAAYhpG,EAAMsK,MACnCovO,EAAmB15O,GAAQq4G,GAAOrP,EACpC,IAGFv4E,OAAOqsK,iBAAiBxyL,EAAKovO,EAAmB,EAQ5CrJ,EAAiB/lO,IACrB6lO,EAAkB7lO,GAAK,CAAC0+F,EAAYhpG,KAElC,GAAI84F,EAAWxuF,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAUqrB,QAAQ31B,GAC/D,OAAO,EAGT,MAAM4G,EAAQ0D,EAAItK,GAEb84F,EAAWlyF,KAEhBoiG,EAAWtO,YAAa,EAEpB,aAAcsO,EAChBA,EAAWzO,UAAW,EAInByO,EAAW5wF,MACd4wF,EAAW5wF,IAAM,KACf,MAAM8iF,MAAM,qCAAwCl7F,EAAO,IAAK,GAEpE,GACA,EAGEiuO,EAAc,CAAC0L,EAAeC,KAClC,MAAMtvO,EAAM,CAAC,EAEPuvO,EAAUrjN,IACdA,EAAI6kD,SAAQz0E,IACV0D,EAAI1D,IAAS,CAAI,GACjB,EAKJ,OAFA2uD,EAAQokL,GAAiBE,EAAOF,GAAiBE,EAAOpwM,OAAOkwM,GAAe58J,MAAM68J,IAE7EtvO,CAAG,EAGNy4J,EAAO,OAEPmhE,GAAiB,CAACt9N,EAAOyS,IACb,MAATzS,GAAiB4pG,OAAO84E,SAAS1iL,GAASA,GAASA,EAAQyS,EAG9DygO,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,SACAD,SACAG,YAAaH,GAAQA,GAAM1nO,cAAgB2nO,IAGvCG,GAAiB,CAAC/tO,EAAO,GAAIguO,EAAWH,GAASC,eACrD,IAAI3uF,EAAM,GACV,MAAM,OAAC7uI,GAAU09N,EACjB,MAAOhuO,IACLm/I,GAAO6uF,EAASp7O,KAAKiiC,SAAWvkB,EAAO,GAGzC,OAAO6uI,CAAG,EAUZ,SAASq4E,GAAoB6C,GAC3B,SAAUA,GAAS1tI,EAAW0tI,EAAM76K,SAAyC,aAA9B66K,EAAM12H,OAAOnT,cAA+B6pI,EAAM12H,OAAOvT,UAC1G,CAEA,MAAMoxI,GAAgBrjO,IACpB,MAAMM,EAAQ,IAAIsD,MAAM,IAElBksO,EAAQ,CAACj6N,EAAQ7Z,KAErB,GAAIyyF,EAAS54E,GAAS,CACpB,GAAIvV,EAAM+qB,QAAQxV,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBvV,EAAMtE,GAAK6Z,EACX,MAAMrP,EAASykD,EAAQp1C,GAAU,GAAK,CAAC,EASvC,OAPAk7D,EAAQl7D,GAAQ,CAACvZ,EAAOX,KACtB,MAAMo0O,EAAeD,EAAMxzO,EAAON,EAAI,IACrCiyF,EAAY8hJ,KAAkBvpO,EAAO7K,GAAOo0O,EAAa,IAG5DzvO,EAAMtE,QAAKE,EAEJsK,CACT,CACF,CAEA,OAAOqP,CAAM,EAGf,OAAOi6N,EAAM9vO,EAAK,EAAE,EAGhBgwO,GAAY7B,EAAW,iBAEvB8B,GAAc/T,GAClBA,IAAUztI,EAASytI,IAAU1tI,EAAW0tI,KAAW1tI,EAAW0tI,EAAMxrJ,OAAS8d,EAAW0tI,EAAMlrJ,OAK1Fk/J,GAAgB,EAAEC,EAAuBC,IACzCD,EACKE,aAGFD,EAAuB,EAAE3mE,EAAO37I,KACrCq+C,EAAQw6C,iBAAiB,WAAW,EAAE9wG,SAAQva,WACxCua,IAAWs2D,GAAW7wE,IAASmuK,GACjC37I,EAAU3b,QAAU2b,EAAU6kD,OAAV7kD,EACtB,IACC,GAEKpB,IACNoB,EAAUoc,KAAKxd,GACfy/C,EAAQmkK,YAAY7mE,EAAO,IAAI,GATL,CAW3B,SAASh1K,KAAKiiC,WAAY,IAAOhK,GAAO+wE,WAAW/wE,GAhBlC,CAkBI,oBAAjB2jN,aACP7hJ,EAAWriB,EAAQmkK,cAGfhH,GAAiC,qBAAnBiH,eAClBA,eAAep7N,KAAKg3D,GAAgC,qBAAZme,SAA2BA,QAAQooB,UAAYw9H,GAIzF,IACEjlL,UACAwuK,gBACAoO,WACAzN,aACAZ,oBACAjrI,WACAI,WACAC,YACAH,WACAoL,gBACAk/H,mBACAwV,YACA9F,aACApD,YACAp3I,cACAS,SACA05I,SACAhP,SACA13E,WACAlzD,aACA25I,WACAzO,oBACAsT,eACA3E,aACAt3J,UACAhU,QACAskF,SACA9c,OACAoqG,WACAxL,WACAM,eACAyK,SACAC,aACAtqH,WACAs5C,UACA8sE,eACA/3I,WACA8wI,aACA9zI,iBACA86I,WAAY96I,EACZ22I,oBACAE,gBACApC,cACAa,cACA/rE,OACAmhE,kBACAa,UACA14M,OAAQoqD,EACRqiK,mBACAkB,YACAE,kBACAvW,uBACAgK,gBACA2M,aACAC,cACAI,aAAcH,GACd5G,Q,+BCtvBa,WAAS52N,GAAG,MAAM,CAACgyL,IAAIhyL,EAAEA,GAAG,IAAIkzF,IAAI/F,GAAG,SAASnhE,EAAEthC,GAAG,IAAIpB,EAAE0W,EAAEH,IAAImsB,GAAG1iC,EAAEA,EAAEkuC,KAAK9sC,GAAGsV,EAAE5E,IAAI4wB,EAAE,CAACthC,GAAG,EAAE8jG,IAAI,SAASxiE,EAAEthC,GAAG,IAAIpB,EAAE0W,EAAEH,IAAImsB,GAAG1iC,IAAIoB,EAAEpB,EAAEmG,OAAOnG,EAAEqvB,QAAQjuB,KAAK,EAAE,GAAGsV,EAAE5E,IAAI4wB,EAAE,IAAI,EAAE6rD,KAAK,SAAS7rD,EAAEthC,GAAG,IAAIpB,EAAE0W,EAAEH,IAAImsB,GAAG1iC,GAAGA,EAAEguC,QAAQpuC,KAAI,SAAS8W,GAAGA,EAAEtV,EAAE,KAAIpB,EAAE0W,EAAEH,IAAI,OAAOvW,EAAEguC,QAAQpuC,KAAI,SAAS8W,GAAGA,EAAEgsB,EAAEthC,EAAE,GAAE,EAAE,C,gJCOzT,SAASq9M,EAAQ52H,GAAgC,OAAO42H,EAAU,mBAAqBj1G,QAAU,iBAAmBA,OAAOvT,SAAW,SAAUpO,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqB2hB,QAAU3hB,EAAEphF,cAAgB+iG,QAAU3hB,IAAM2hB,OAAOliG,UAAY,gBAAkBugF,CAAG,EAAG42H,EAAQ52H,EAAI,CAC7T,SAASmmB,EAAQ5sG,EAAGwvG,GAAK,IAAIluE,EAAIvY,OAAO8lC,KAAK7uD,GAAI,GAAI+oB,OAAOyqF,sBAAuB,CAAE,IAAI/sB,EAAI19D,OAAOyqF,sBAAsBxzG,GAAIwvG,IAAM/oB,EAAIA,EAAEnvB,QAAO,SAAUk4C,GAAK,OAAOzmF,OAAOs3K,yBAAyBrgM,EAAGwvG,GAAGxc,UAAY,KAAK1xD,EAAEwL,KAAKi5B,MAAMzkC,EAAGmlD,EAAI,CAAE,OAAOnlD,CAAG,CAC9P,SAASu0L,EAAc71N,GAAK,IAAK,IAAIwvG,EAAI,EAAGA,EAAI16F,UAAUC,OAAQy6F,IAAK,CAAE,IAAIluE,EAAI,MAAQxsB,UAAU06F,GAAK16F,UAAU06F,GAAK,CAAC,EAAGA,EAAI,EAAI5C,EAAQ7jF,OAAOuY,IAAI,GAAIqyC,SAAQ,SAAU67B,GAAK4tG,EAAgBp9M,EAAGwvG,EAAGluE,EAAEkuE,GAAK,IAAKzmF,OAAO42L,0BAA4B52L,OAAOqsK,iBAAiBp1L,EAAG+oB,OAAO42L,0BAA0Br+K,IAAMsrE,EAAQ7jF,OAAOuY,IAAIqyC,SAAQ,SAAU67B,GAAKzmF,OAAO45F,eAAe3iH,EAAGwvG,EAAGzmF,OAAOs3K,yBAAyB/+J,EAAGkuE,GAAK,GAAI,CAAE,OAAOxvG,CAAG,CACtb,SAASo9M,EAAgBp9M,EAAGwvG,EAAGluE,GAAK,OAAQkuE,EAAIsmH,EAAetmH,MAAOxvG,EAAI+oB,OAAO45F,eAAe3iH,EAAGwvG,EAAG,CAAEtwG,MAAOoiC,EAAG0xD,YAAY,EAAIyE,cAAc,EAAI5E,UAAU,IAAQ7yF,EAAEwvG,GAAKluE,EAAGthC,CAAG,CACnL,SAAS81N,EAAex0L,GAAK,IAAI1iC,EAAIm3N,EAAaz0L,EAAG,UAAW,MAAO,UAAY+7K,EAAQz+M,GAAKA,EAAIA,EAAI,EAAI,CAC5G,SAASm3N,EAAaz0L,EAAGkuE,GAAK,GAAI,UAAY6tG,EAAQ/7K,KAAOA,EAAG,OAAOA,EAAG,IAAIthC,EAAIshC,EAAE8mE,OAAOpT,aAAc,QAAI,IAAWh1F,EAAG,CAAE,IAAIpB,EAAIoB,EAAE/G,KAAKqoC,EAAGkuE,GAAK,WAAY,GAAI,UAAY6tG,EAAQz+M,GAAI,OAAOA,EAAG,MAAM,IAAI80F,UAAU,+CAAiD,CAAE,OAAQ,WAAa8b,EAAIztE,OAAS+mE,QAAQxnE,EAAI,CAC3T,IAAI8xM,EAAiB,CACnBC,QAAQ,EACRC,WAAY,KACZC,aAAc,KACdC,OAAQ,CACNt/G,WAAY,cACZs2B,SAAU,WACV2qE,YAAa,eACb1uG,SAAU,YACV6oG,OAAQ,SACR8F,UAAW,aACXqe,SAAU,YACVxqE,GAAI,YACJqsD,IAAK,wBACLpsD,GAAI,eACJqsD,IAAK,2BACLC,OAAQ,UACRE,UAAW,cACXC,WAAY,iBACZC,UAAW,gBACX1nH,MAAO,QACPnoC,MAAO,QACP+uB,SAAU,YACV4+I,SAAU,YACVC,QAAS,WACTC,WAAY,cACZh3N,OAAQ,MACRsmC,OAAQ,KACR2wL,OAAQ,SACRxZ,OAAQ,SACRvsL,OAAQ,SACR8+B,UAAW,YACXkgB,QAAS,UACTgnJ,cAAe,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC/DC,SAAU,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC7EC,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DC,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAClDC,WAAY,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YAC3HC,gBAAiB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC/FC,WAAY,cACZC,YAAa,eACbC,WAAY,cACZC,WAAY,kBACZC,WAAY,cACZC,SAAU,gBACVC,SAAU,YACVC,UAAW,iBACXC,UAAW,aACXC,SAAU,gBACVC,SAAU,YACVC,WAAY,kBACZC,WAAY,cACZC,WAAY,kBACZC,WAAY,cACZC,GAAI,KACJC,GAAI,KACJC,MAAO,QACPC,WAAY,KACZC,eAAgB,EAChBC,oBAAoB,EACpBC,WAAY,WACZC,KAAM,OACNC,OAAQ,SACR//E,OAAQ,SACRggF,eAAgB,mBAChBC,mBAAoB,mBACpBC,cAAe,4BACfC,iBAAkB,qBAClBC,sBAAuB,mBACvBC,mBAAoB,mBACpBC,kBAAmB,YACnBC,oBAAqB,iBACrBC,aAAc,uBACdC,KAAM,CACJC,UAAW,OACXC,WAAY,QACZC,UAAW,eACXC,KAAM,SACNC,MAAO,eACPC,UAAW,qBACXC,YAAa,uBACbpvH,MAAO,QACP8rC,SAAU,WACV33I,KAAM,OACNk7N,WAAY,aACZvmF,UAAW,aACXwmF,QAAS,WACTC,OAAQ,UACRC,SAAU,YACVC,WAAY,cACZC,aAAc,iBACdC,aAAc,iBACdC,gBAAiB,qBACjBC,gBAAiB,qBACjBC,UAAW,cACXC,eAAgB,aAChBC,cAAe,YACfC,cAAe,YACfC,cAAe,gBACfC,iBAAkB,gBAClBC,wBAAyB,wBACzBC,qBAAsB,qBACtBC,UAAW,eACXC,YAAa,iBACbC,UAAW,eACXC,YAAa,gBACbC,eAAgB,mBAChBC,eAAgB,mBAChBC,eAAgB,kBAChBC,iBAAkB,oBAClBC,QAAS,WACTC,SAAU,YACVC,WAAY,cACZC,SAAU,YACVC,SAAU,YACVC,MAAO,QACPC,YAAa,gBACbC,UAAW,aACXC,OAAQ,UACRC,QAAS,WACTC,YAAa,eACbC,WAAY,cACZC,UAAW,gBAGfC,uBAAwB,CACtB/6N,KAAM,CAAC,KAAgBg1M,YAAa,KAAgBC,SAAU,KAAgBC,aAAc,KAAgBC,UAAW,KAAgBC,OAAQ,KAAgBC,YAC/JzD,QAAS,CAAC,KAAgBwD,OAAQ,KAAgBC,WAAY,KAAgBE,UAAW,KAAgBC,sBAAuB,KAAgBC,aAAc,KAAgBC,0BAC9KvqM,KAAM,CAAC,KAAgByqM,QAAS,KAAgBC,YAAa,KAAgBC,YAAa,KAAgBC,aAE5G/yC,OAAQ,CACNg4D,MAAO,KACPC,QAAS,IACTC,KAAM,IACNpiC,QAAS,MAEXuK,WAAO3iN,EACPy6O,UAAU,EACVC,QAAI16O,EACJ26O,UAAW,CACTC,eAAe,EACf3sG,YAAY,GAEd4sG,IAAK,CACH9+F,WAAO/7I,IAGP86O,EAAiBxxI,SAQrB,SAAS8W,EAAM73D,EAAK+hC,GAClB,IAAIywJ,EAAW,CACbxuO,QAAQ,QAAS+9E,IAMnB,OAJA/hC,EAAIh8C,OAAO0nH,iBAAiB+mH,UAAYD,EACxCxyL,EAAI8tE,QAAQykH,EAAgBC,GAC5BE,IACAC,EAAY3yL,EAAKwyL,GACVA,CACT,CACA,IAAII,EAAe,GACnB,SAASF,IACP,KAAa7rI,QACb+rI,EAAatmK,SAAQ,SAAU/gE,GAC7B,OAAc,OAAPA,QAAsB,IAAPA,OAAgB,EAASA,GACjD,IACAqnO,EAAe,EACjB,CACA,SAASD,EAAY3yL,EAAKwyL,GACxB,IAAIK,GAAiB,SAAI,GAGrBC,EAAkB,WACpB,IAAIC,EACJ,GAAyH,UAA3E,QAAxCA,EAAmBP,EAASxuO,cAAyC,IAArB+uO,OAA8B,EAASA,EAAiB34B,SAGzG,KAAMqI,kBAAkB,UAAW,CACtC,IAAIuwB,EAAuBC,EACvB3mO,GAA+D,QAAtD0mO,EAAwB,IAAUxiB,sBAAsD,IAA1BwiB,OAAmC,EAASA,EAAsBphP,KAAK,OAAe,CAAC,EAChK2qN,EAAYjwM,EAAKiwM,UACjBC,EAAWlwM,EAAKkwM,SAChBl/L,EAAShR,EAAKgR,OACdgiG,EAAQhzG,EAAKgzG,MACX4zH,EAAe,CACjB1/F,MAAiD,QAAzCy/F,EAAoBT,EAASxuO,cAA0C,IAAtBivO,GAAgF,QAA/CA,EAAoBA,EAAkBX,WAAuC,IAAtBW,OAA+B,EAASA,EAAkBz/F,OAE7M,IAAUlwB,KAAmB,OAAdi5F,QAAoC,IAAdA,OAAuB,EAASA,EAAU5xE,IAAK6jF,EAAc,CAChGv9N,KAAM,uBACLiiP,IACH,IAAU5vH,KAAkB,OAAbk5F,QAAkC,IAAbA,OAAsB,EAASA,EAAS7xE,IAAK6jF,EAAc,CAC7Fv9N,KAAM,sBACLiiP,IACH,IAAU5vH,KAAgB,OAAXhmG,QAA8B,IAAXA,OAAoB,EAASA,EAAOqtH,IAAK6jF,EAAc,CACvFv9N,KAAM,oBACLiiP,IACH,IAAU3iB,UAAU/B,EAAc,CAChCv9N,KAAM,gBACLiiP,GAAe5zH,GAClB,KAAMojG,mBAAmB,SAC3B,CACF,EACA,KAAatnH,GAAG,gBAAgB,SAAU+3I,GACnCN,EAAeh7O,QAClBmoD,EAAIh8C,OAAO0nH,iBAAiB+mH,UAAUzuO,OAAOo2M,MAAQ+4B,EACrDN,EAAeh7O,OAAQ,EAE3B,IAGA,IAAIu7O,GAAoB,QAAMZ,EAASxuO,QAAQ,SAAUyC,EAAU26F,GACjE,IAAgBtb,KAAK,gBAAiB,CACpCr/E,SAAUA,EACV26F,SAAUA,GAEd,GAAG,CACDyJ,WAAW,EACXxmF,MAAM,IAEJgvN,GAAoB,SAAM,WAC5B,OAAOb,EAASxuO,OAAOgoO,MACzB,IAAG,SAAUvlO,EAAU26F,GACrB,IAAgBtb,KAAK,uBAAwB,CAC3Cr/E,SAAUA,EACV26F,SAAUA,GAEd,GAAG,CACDyJ,WAAW,EACXxmF,MAAM,IAEJivN,GAAmB,SAAM,WAC3B,OAAOd,EAASxuO,OAAOo2M,KACzB,IAAG,SAAU3zM,EAAU26F,GAChByxI,EAAeh7O,OAClB,KAAMoqN,SAASx7M,GAEZ+rO,EAASxuO,OAAOkuO,UACnBY,IAEFD,EAAeh7O,OAAQ,EACvB,IAAgBiuF,KAAK,sBAAuB,CAC1Cr/E,SAAUA,EACV26F,SAAUA,GAEd,GAAG,CACDyJ,WAAW,EACXxmF,MAAM,IAEJkvN,GAAsB,SAAM,WAC9B,OAAOf,EAASxuO,OAAOkuO,QACzB,IAAG,SAAUzrO,EAAU26F,IAChB36F,GAAY+rO,EAASxuO,OAAOo2M,OAC/B04B,IAEF,IAAgBhtJ,KAAK,yBAA0B,CAC7Cr/E,SAAUA,EACV26F,SAAUA,GAEd,GAAG,CACDyJ,WAAW,EACXxmF,MAAM,IAERuuN,EAAantM,KAAK2tM,GAClBR,EAAantM,KAAK4tM,GAClBT,EAAantM,KAAK6tM,GAClBV,EAAantM,KAAK8tM,EACpB,CACA,IAAIf,EAAW,CACbpgH,QAAS,SAAiBpyE,EAAK+hC,GAC7B,IAAIyxJ,GAAgB,QAAUzH,EAAgBhqJ,GAC9C81B,EAAM73D,EAAKwzL,EACb,E,sEC/RF,IAAIC,GAAS,EACTC,GAAS,EAKN,SAASrqO,EAAItH,EAAQ7K,EAAKg7C,GAC/B,OAAI/yC,MAAMqnD,QAAQzkD,IAChBA,EAAO2L,OAAS1d,KAAKwQ,IAAIuB,EAAO2L,OAAQxW,GACxC6K,EAAOrE,OAAOxG,EAAK,EAAGg7C,GACfA,IAETnwC,EAAO7K,GAAOg7C,EACPA,EACT,C","sources":["webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/InternalConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Constants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Enums.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/HelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Interfaces/Contracts/ContextTagKeys.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Interfaces/PartAExtensions.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/RequestResponseHeaders.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/Data.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataSanitizer.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/Envelope.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Event.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Exception.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataPoint.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Metric.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageView.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageViewPerformance.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/RemoteDependencyData.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Trace.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/UrlHelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Util.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaults.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicConfig.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicProperty.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicState.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicSupport.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AggregationError.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CoreUtils.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DataCacheHelper.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DbgExtensionUtils.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DiagnosticLogger.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EnvUtils.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EventHelpers.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/HelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InstrumentHooks.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InternalConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/PerfManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/RandomHelper.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryHelpers.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHookContainer.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/W3cTraceParent.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-shims/dist-es5/Constants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-shims/dist-es5/TsLibShims.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/StorageHelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/applicationinsights-common.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/TelemetryItemCreator.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/DomHelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaultHelpers.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CookieMgr.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/AnalyticsPlugin.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Timing.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncHelperFuncs.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncPlugin.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/Offline.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/InitActiveStatusEnum.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/Constants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/SenderPostManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AsyncUtils.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ResponseHelpers.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/EnvelopeCreator.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/SendBuffer.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Sender.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Serializer.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/Sample.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/ConnectionStringParser.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-common/dist-es5/ThrottleMgr.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/NotificationManager.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AppInsightsCore.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/InternalConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/ajaxRecord.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/ajax.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Application.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Device.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Internal.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Location.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Session.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/TelemetryTrace.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/User.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/TelemetryContext.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/PropertiesPlugin.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-web/dist-es5/InternalConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-web/dist-es5/AISku.js","webpack://@sazka/web/../../node_modules/@microsoft/applicationinsights-web/dist-es5/__DynamicConstants.js","webpack://@sazka/web/../../node_modules/@microsoft/dynamicproto-js/dist-es5/DynamicProto.js","webpack://@sazka/web/../../node_modules/@nevware21/ts-async/dist/es5/mod/ts-async.js","webpack://@sazka/web/../../node_modules/@nevware21/ts-utils/dist/es5/mod/ts-utils.js","webpack://@sazka/web/../../node_modules/@vue/devtools-api/lib/esm/const.js","webpack://@sazka/web/../../node_modules/@vue/devtools-api/lib/esm/env.js","webpack://@sazka/web/../../node_modules/@vue/devtools-api/lib/esm/index.js","webpack://@sazka/web/../../node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://@sazka/web/../../node_modules/@vue/devtools-api/lib/esm/time.js","webpack://@sazka/web/../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://@sazka/web/../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://@sazka/web/../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://@sazka/web/../../node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://@sazka/web/../../node_modules/bootstrap/js/dist/collapse.js","webpack://@sazka/web/../../node_modules/bootstrap/js/dist/modal.js","webpack://@sazka/web/../../node_modules/bootstrap/js/dist/tab.js","webpack://@sazka/web/../../node_modules/bootstrap/js/dist/tooltip.js","webpack://@sazka/web/../../node_modules/bootstrap/js/dist/util.js","webpack://@sazka/web/../../node_modules/jquery/dist/jquery.js","webpack://@sazka/web/../../node_modules/js-cookie/src/js.cookie.js","webpack://@sazka/web/../../node_modules/popper.js/dist/esm/popper.js","webpack://@sazka/web/../../node_modules/core-js/internals/a-callable.js","webpack://@sazka/web/../../node_modules/core-js/internals/a-possible-prototype.js","webpack://@sazka/web/../../node_modules/core-js/internals/a-set.js","webpack://@sazka/web/../../node_modules/core-js/internals/an-instance.js","webpack://@sazka/web/../../node_modules/core-js/internals/an-object.js","webpack://@sazka/web/../../node_modules/core-js/internals/array-includes.js","webpack://@sazka/web/../../node_modules/core-js/internals/array-set-length.js","webpack://@sazka/web/../../node_modules/core-js/internals/classof-raw.js","webpack://@sazka/web/../../node_modules/core-js/internals/classof.js","webpack://@sazka/web/../../node_modules/core-js/internals/copy-constructor-properties.js","webpack://@sazka/web/../../node_modules/core-js/internals/create-non-enumerable-property.js","webpack://@sazka/web/../../node_modules/core-js/internals/create-property-descriptor.js","webpack://@sazka/web/../../node_modules/core-js/internals/define-built-in-accessor.js","webpack://@sazka/web/../../node_modules/core-js/internals/define-built-in.js","webpack://@sazka/web/../../node_modules/core-js/internals/define-global-property.js","webpack://@sazka/web/../../node_modules/core-js/internals/descriptors.js","webpack://@sazka/web/../../node_modules/core-js/internals/document-create-element.js","webpack://@sazka/web/../../node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://@sazka/web/../../node_modules/core-js/internals/dom-exception-constants.js","webpack://@sazka/web/../../node_modules/core-js/internals/enum-bug-keys.js","webpack://@sazka/web/../../node_modules/core-js/internals/environment-user-agent.js","webpack://@sazka/web/../../node_modules/core-js/internals/environment-v8-version.js","webpack://@sazka/web/../../node_modules/core-js/internals/error-stack-clear.js","webpack://@sazka/web/../../node_modules/core-js/internals/export.js","webpack://@sazka/web/../../node_modules/core-js/internals/fails.js","webpack://@sazka/web/../../node_modules/core-js/internals/function-bind-native.js","webpack://@sazka/web/../../node_modules/core-js/internals/function-call.js","webpack://@sazka/web/../../node_modules/core-js/internals/function-name.js","webpack://@sazka/web/../../node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://@sazka/web/../../node_modules/core-js/internals/function-uncurry-this.js","webpack://@sazka/web/../../node_modules/core-js/internals/get-built-in.js","webpack://@sazka/web/../../node_modules/core-js/internals/get-iterator-direct.js","webpack://@sazka/web/../../node_modules/core-js/internals/get-method.js","webpack://@sazka/web/../../node_modules/core-js/internals/get-set-record.js","webpack://@sazka/web/../../node_modules/core-js/internals/global-this.js","webpack://@sazka/web/../../node_modules/core-js/internals/has-own-property.js","webpack://@sazka/web/../../node_modules/core-js/internals/hidden-keys.js","webpack://@sazka/web/../../node_modules/core-js/internals/ie8-dom-define.js","webpack://@sazka/web/../../node_modules/core-js/internals/indexed-object.js","webpack://@sazka/web/../../node_modules/core-js/internals/inherit-if-required.js","webpack://@sazka/web/../../node_modules/core-js/internals/inspect-source.js","webpack://@sazka/web/../../node_modules/core-js/internals/internal-state.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-array.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-callable.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-forced.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-null-or-undefined.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-object.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-possible-prototype.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-pure.js","webpack://@sazka/web/../../node_modules/core-js/internals/is-symbol.js","webpack://@sazka/web/../../node_modules/core-js/internals/iterate-simple.js","webpack://@sazka/web/../../node_modules/core-js/internals/iterator-close.js","webpack://@sazka/web/../../node_modules/core-js/internals/length-of-array-like.js","webpack://@sazka/web/../../node_modules/core-js/internals/make-built-in.js","webpack://@sazka/web/../../node_modules/core-js/internals/math-trunc.js","webpack://@sazka/web/../../node_modules/core-js/internals/normalize-string-argument.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-define-property.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-get-own-property-names.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-is-prototype-of.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-keys-internal.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-property-is-enumerable.js","webpack://@sazka/web/../../node_modules/core-js/internals/object-set-prototype-of.js","webpack://@sazka/web/../../node_modules/core-js/internals/ordinary-to-primitive.js","webpack://@sazka/web/../../node_modules/core-js/internals/own-keys.js","webpack://@sazka/web/../../node_modules/core-js/internals/require-object-coercible.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-clone.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-difference.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-helpers.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-intersection.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-is-disjoint-from.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-is-subset-of.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-is-superset-of.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-iterate.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-method-accept-set-like.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-size.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-symmetric-difference.js","webpack://@sazka/web/../../node_modules/core-js/internals/set-union.js","webpack://@sazka/web/../../node_modules/core-js/internals/shared-key.js","webpack://@sazka/web/../../node_modules/core-js/internals/shared-store.js","webpack://@sazka/web/../../node_modules/core-js/internals/shared.js","webpack://@sazka/web/../../node_modules/core-js/internals/symbol-constructor-detection.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-absolute-index.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-indexed-object.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-integer-or-infinity.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-length.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-object.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-primitive.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-property-key.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-string-tag-support.js","webpack://@sazka/web/../../node_modules/core-js/internals/to-string.js","webpack://@sazka/web/../../node_modules/core-js/internals/try-to-string.js","webpack://@sazka/web/../../node_modules/core-js/internals/uid.js","webpack://@sazka/web/../../node_modules/core-js/internals/use-symbol-as-uid.js","webpack://@sazka/web/../../node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://@sazka/web/../../node_modules/core-js/internals/validate-arguments-length.js","webpack://@sazka/web/../../node_modules/core-js/internals/weak-map-basic-detection.js","webpack://@sazka/web/../../node_modules/core-js/internals/well-known-symbol.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.array.push.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.difference.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.intersection.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/es.set.union.v2.js","webpack://@sazka/web/../../node_modules/core-js/modules/web.dom-exception.stack.js","webpack://@sazka/web/../../node_modules/core-js/modules/web.url-search-params.delete.js","webpack://@sazka/web/../../node_modules/core-js/modules/web.url-search-params.has.js","webpack://@sazka/web/../../node_modules/core-js/modules/web.url-search-params.size.js","webpack://@sazka/web/./node_modules/pinia-plugin-persistedstate/dist/chunk-54L43XJA.mjs","webpack://@sazka/web/./node_modules/pinia-plugin-persistedstate/dist/index.mjs","webpack://@sazka/web/./node_modules/pinia/dist/pinia.mjs","webpack://@sazka/web/../../node_modules/.pnpm/@babel+runtime@7.25.9/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@sazka/web/../../node_modules/.pnpm/@babel+runtime@7.25.9/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://@sazka/web/../../node_modules/.pnpm/@babel+runtime@7.25.9/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://@sazka/web/../../node_modules/.pnpm/@babel+runtime@7.25.9/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@sazka/web/../../node_modules/yall-js/src/yall.mjs","webpack://@sazka/web/../../node_modules/@primeuix/styled/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/dom/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/eventbus/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/mergeprops/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/object/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/uuid/index.mjs","webpack://@sazka/web/../../node_modules/@primeuix/utils/zindex/index.mjs","webpack://@sazka/web/../../node_modules/@primevue/core/api/index.mjs","webpack://@sazka/web/../../node_modules/@primevue/core/usestyle/index.mjs","webpack://@sazka/web/../../node_modules/@primevue/core/base/style/index.mjs","webpack://@sazka/web/../../node_modules/@primevue/core/service/index.mjs","webpack://@sazka/web/../../node_modules/axios/lib/adapters/xhr.js","webpack://@sazka/web/../../node_modules/axios/lib/adapters/fetch.js","webpack://@sazka/web/../../node_modules/axios/lib/adapters/adapters.js","webpack://@sazka/web/../../node_modules/axios/lib/core/InterceptorManager.js","webpack://@sazka/web/../../node_modules/axios/lib/core/dispatchRequest.js","webpack://@sazka/web/../../node_modules/axios/lib/env/data.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/validator.js","webpack://@sazka/web/../../node_modules/axios/lib/core/Axios.js","webpack://@sazka/web/../../node_modules/axios/lib/cancel/CancelToken.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/spread.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/isAxiosError.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://@sazka/web/../../node_modules/axios/lib/axios.js","webpack://@sazka/web/../../node_modules/axios/lib/cancel/CanceledError.js","webpack://@sazka/web/../../node_modules/axios/lib/cancel/isCancel.js","webpack://@sazka/web/../../node_modules/axios/lib/core/AxiosError.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/parseHeaders.js","webpack://@sazka/web/../../node_modules/axios/lib/core/AxiosHeaders.js","webpack://@sazka/web/../../node_modules/axios/lib/core/buildFullPath.js","webpack://@sazka/web/../../node_modules/axios/lib/core/mergeConfig.js","webpack://@sazka/web/../../node_modules/axios/lib/core/settle.js","webpack://@sazka/web/../../node_modules/axios/lib/core/transformData.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://@sazka/web/../../node_modules/axios/lib/defaults/index.js","webpack://@sazka/web/../../node_modules/axios/lib/defaults/transitional.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/bind.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/buildURL.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/combineURLs.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/composeSignals.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/cookies.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/formDataToJSON.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/null.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/parseProtocol.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/progressEventReducer.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/resolveConfig.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/speedometer.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/throttle.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/toFormData.js","webpack://@sazka/web/../../node_modules/axios/lib/helpers/trackStream.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/browser/index.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/common/utils.js","webpack://@sazka/web/../../node_modules/axios/lib/platform/index.js","webpack://@sazka/web/../../node_modules/axios/lib/utils.js","webpack://@sazka/web/../../node_modules/mitt/dist/mitt.mjs","webpack://@sazka/web/../../node_modules/@primevue/core/config/index.mjs","webpack://@sazka/web/../../node_modules/vue-demi/lib/index.mjs"],"sourcesContent":["/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_FEATURE_OPT_IN = \"featureOptIn\"; // Count: 4\r\nexport var _DYN_ON_CFG_CHANGE_RECEIV0 = \"onCfgChangeReceive\"; // Count: 2\r\nexport var _DYN_NON_OVERRIDE_CONFIGS = \"nonOverrideConfigs\"; // Count: 2\r\nexport var _DYN_SCHEDULE_FETCH_TIMEO1 = \"scheduleFetchTimeout\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 15\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 38\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN__GET = \"_get\"; // Count: 5\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 7\r\nexport var _DYN_COUNT = \"count\"; // Count: 7\r\nexport var _DYN_EVENTS_LIMIT_IN_MEM = \"eventsLimitInMem\"; // Count: 2\r\nexport var _DYN_PUSH = \"push\"; // Count: 9\r\nexport var _DYN_ITEM = \"item\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 3\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 4\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 8\r\nexport var _DYN_CONCAT = \"concat\"; // Count: 6\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 5\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 16\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 5\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 5\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN_ALWAYS_USE_XHR_OVERR4 = \"alwaysUseXhrOverride\"; // Count: 2\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 3\r\nexport var _DYN_ENABLE_SESSION_STORA5 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_ONUNLOAD_DISABLE_FET6 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_SEND_BEACON_7 = \"disableSendBeaconSplit\"; // Count: 2\r\nexport var _DYN_ENABLE_SEND_PROMISE = \"enableSendPromise\"; // Count: 2\r\nexport var _DYN_GET_SENDER_INST = \"getSenderInst\"; // Count: 4\r\nexport var _DYN_UNLOAD_TRANSPORTS = \"unloadTransports\"; // Count: 2\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_SERIALIZE = \"serialize\"; // Count: 4\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 7\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 3\r\nexport var _DYN_ORI_PAYLOAD = \"oriPayload\"; // Count: 3\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n/**\r\n * The EventPersistence contains a set of values that specify the event's persistence.\r\n */\r\nexport var EventPersistence = createEnumStyle({\r\n /**\r\n * Normal persistence.\r\n */\r\n Normal: 1 /* EventPersistenceValue.Normal */,\r\n /**\r\n * Critical persistence.\r\n */\r\n Critical: 2 /* EventPersistenceValue.Critical */\r\n});\r\n//# sourceMappingURL=Enums.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n//# sourceMappingURL=ContextTagKeys.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n//# sourceMappingURL=PartAExtensions.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { asString, strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = strSubstring(field, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(asString(name));\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = strSubstring(name, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(asString(value));\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = strSubstring(value, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = strSubstring(message, 0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = strSubstring(value, 0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(asString(input));\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = strSubstring(input, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return strSubstr(s, s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n//# sourceMappingURL=DataSanitizer.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { getWindow, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_PUSH, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && strIndexOf(evtMessage || \"\", errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack[_DYN_PUSH /* @min:%2epush */](entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (getWindow() && getWindow()[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack[_DYN_PUSH /* @min:%2epush */](parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj - The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (strIndexOf(result, errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (id) {\r\n properties.id = id;\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n exception[_DYN_PROPERTIES /* @min:%2eproperties */].id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, dateNow, getPerformance, isNullOrUndefined, isValidSpanId, isValidTraceId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH } from \"./Constants\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlParseFullHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nvar _correlationIdPrefix = \"cid-v1:\";\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport function correlationIdSetPrefix(prefix) {\r\n _correlationIdPrefix = prefix;\r\n}\r\nexport function correlationIdGetPrefix() {\r\n return _correlationIdPrefix;\r\n}\r\n/**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\nexport function correlationIdCanIncludeCorrelationHeader(config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (strIndexOf(requestHost, \":443\") !== -1 || strIndexOf(requestHost, \":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\n/**\r\n * Combines target appId and target role name from response header.\r\n */\r\nexport function correlationIdGetCorrelationContext(responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = correlationIdGetCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== _correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n}\r\n/**\r\n * Gets key from correlation response header\r\n */\r\nexport function correlationIdGetCorrelationContextValue(responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n}\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 6\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 9\r\nexport var _DYN_PUSH = \"push\"; // Count: 5\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 8\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, isUndefined, objForEachKey, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_BLK_VAL, _DYN_LENGTH, _DYN_RD_ONLY } from \"../__DynamicConstants\";\r\nfunction _isConfigDefaults(value) {\r\n return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, \"v\") || objHasOwn(value, \"mrg\") || objHasOwn(value, \"ref\") || value.set));\r\n}\r\nfunction _getDefault(dynamicHandler, theConfig, cfgDefaults) {\r\n var defValue;\r\n var isDefaultValid = cfgDefaults.dfVal || isDefined;\r\n // There is a fallback config key so try and grab that first\r\n if (theConfig && cfgDefaults.fb) {\r\n var fallbacks = cfgDefaults.fb;\r\n if (!isArray(fallbacks)) {\r\n fallbacks = [fallbacks];\r\n }\r\n for (var lp = 0; lp < fallbacks[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var fallback = fallbacks[lp];\r\n var fbValue = theConfig[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n else if (dynamicHandler) {\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n fbValue = dynamicHandler.cfg[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);\r\n }\r\n if (isDefaultValid(defValue)) {\r\n // We have a valid default so break out of the look\r\n break;\r\n }\r\n }\r\n }\r\n // If the value is still not defined and we have a default value then use that\r\n if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {\r\n defValue = cfgDefaults.v;\r\n }\r\n return defValue;\r\n}\r\n/**\r\n * Recursively resolve the default value\r\n * @param dynamicHandler\r\n * @param theConfig\r\n * @param cfgDefaults\r\n * @returns\r\n */\r\nfunction _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {\r\n var theValue = cfgDefaults;\r\n if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {\r\n theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n if (theValue) {\r\n if (_isConfigDefaults(theValue)) {\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);\r\n }\r\n var newValue_1;\r\n if (isArray(theValue)) {\r\n newValue_1 = [];\r\n newValue_1[_DYN_LENGTH /* @min:%2elength */] = theValue[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(theValue)) {\r\n newValue_1 = {};\r\n }\r\n if (newValue_1) {\r\n objForEachKey(theValue, function (key, value) {\r\n if (value && _isConfigDefaults(value)) {\r\n value = _resolveDefaultValue(dynamicHandler, theConfig, value);\r\n }\r\n newValue_1[key] = value;\r\n });\r\n theValue = newValue_1;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Applies the default value on the config property and makes sure that it's dynamic\r\n * @param theConfig\r\n * @param name\r\n * @param defaultValue\r\n */\r\nexport function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {\r\n // Resolve the initial config value from the provided value or use the defined default\r\n var isValid;\r\n var setFn;\r\n var defValue;\r\n var cfgDefaults = defaultValue;\r\n var mergeDf;\r\n var reference;\r\n var readOnly;\r\n var blkDynamicValue;\r\n if (_isConfigDefaults(cfgDefaults)) {\r\n // looks like a IConfigDefault\r\n isValid = cfgDefaults.isVal;\r\n setFn = cfgDefaults.set;\r\n readOnly = cfgDefaults[_DYN_RD_ONLY /* @min:%2erdOnly */];\r\n blkDynamicValue = cfgDefaults[_DYN_BLK_VAL /* @min:%2eblkVal */];\r\n mergeDf = cfgDefaults.mrg;\r\n reference = cfgDefaults.ref;\r\n if (!reference && isUndefined(reference)) {\r\n reference = !!mergeDf;\r\n }\r\n defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n else {\r\n defValue = defaultValue;\r\n }\r\n if (blkDynamicValue) {\r\n // Mark the property so that any value assigned will be blocked from conversion, we need to do this\r\n // before assigning or fetching the value to ensure it's not converted\r\n dynamicHandler[_DYN_BLK_VAL /* @min:%2eblkVal */](theConfig, name);\r\n }\r\n // Set the value to the default value;\r\n var theValue;\r\n var usingDefault = true;\r\n var cfgValue = theConfig[name];\r\n // try and get and user provided values\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n // Use the defined theConfig[name] value\r\n theValue = cfgValue;\r\n usingDefault = false;\r\n // The values are different and we have a special default value check, which is used to\r\n // override config values like empty strings to continue using the default\r\n if (isValid && theValue !== defValue && !isValid(theValue)) {\r\n theValue = defValue;\r\n usingDefault = true;\r\n }\r\n if (setFn) {\r\n theValue = setFn(theValue, defValue, theConfig);\r\n usingDefault = theValue === defValue;\r\n }\r\n }\r\n if (!usingDefault) {\r\n if (isPlainObject(theValue) || isArray(defValue)) {\r\n // we are using the user supplied value and it's an object\r\n if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defValue, function (dfName, dfValue) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);\r\n });\r\n }\r\n }\r\n }\r\n else if (defValue) {\r\n // Just resolve the default\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);\r\n }\r\n else {\r\n theValue = defValue;\r\n }\r\n // if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {\r\n // theValue = _cfgDeepCopy(theValue);\r\n // }\r\n // Needed to ensure that the (potentially) new field is dynamic even if null/undefined\r\n dynamicHandler.set(theConfig, name, theValue);\r\n if (reference) {\r\n dynamicHandler.ref(theConfig, name);\r\n }\r\n if (readOnly) {\r\n dynamicHandler[_DYN_RD_ONLY /* @min:%2erdOnly */](theConfig, name);\r\n }\r\n}\r\n//# sourceMappingURL=ConfigDefaults.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n objDefine(handler, \"toJSON\", { v: function () { return \"WatcherHandler\" + (handler.fn ? \"\" : \"[X]\"); } });\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a.ref = _ref,\r\n _a[_DYN_RD_ONLY /* @min:rdOnly */] = _rdOnly,\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = _blkPropValue,\r\n _a._block = _block,\r\n _a);\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget, \"config\", \"Creating\");\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, dumpObj, isArray, objDefine, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport { UNDEFINED_VALUE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_APPLY, _DYN_HDLR, _DYN_LOGGER, _DYN_PUSH, _DYN_SPLICE, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nimport { CFG_HANDLER_LINK, _canMakeDynamic, blockDynamicConversion, throwInvalidAccess } from \"./DynamicSupport\";\r\nvar arrayMethodsToPatch = [\r\n \"push\",\r\n \"pop\",\r\n \"shift\",\r\n \"unshift\",\r\n \"splice\"\r\n];\r\nexport var _throwDynamicError = function (logger, name, desc, e) {\r\n logger && logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](3 /* eLoggingSeverity.DEBUG */, 108 /* _eInternalMessageId.DynamicConfigException */, \"\".concat(desc, \" [\").concat(name, \"] failed - \") + dumpObj(e));\r\n};\r\nfunction _patchArray(state, target, name) {\r\n if (isArray(target)) {\r\n // Monkey Patch the methods that might change the array\r\n arrForEach(arrayMethodsToPatch, function (method) {\r\n var orgMethod = target[method];\r\n target[method] = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var result = orgMethod[_DYN_APPLY /* @min:%2eapply */](this, args);\r\n // items may be added, removed or moved so need to make some new dynamic properties\r\n _makeDynamicObject(state, target, name, \"Patching\");\r\n return result;\r\n };\r\n });\r\n }\r\n}\r\nfunction _getOwnPropGetter(target, name) {\r\n var propDesc = objGetOwnPropertyDescriptor(target, name);\r\n return propDesc && propDesc.get;\r\n}\r\nfunction _createDynamicProperty(state, theConfig, name, value) {\r\n // Does not appear to be dynamic so lets make it so\r\n var detail = {\r\n n: name,\r\n h: [],\r\n trk: function (handler) {\r\n if (handler && handler.fn) {\r\n if (arrIndexOf(detail.h, handler) === -1) {\r\n // Add this handler to the collection that should be notified when the value changes\r\n detail.h[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n state.trk(handler, detail);\r\n }\r\n },\r\n clr: function (handler) {\r\n var idx = arrIndexOf(detail.h, handler);\r\n if (idx !== -1) {\r\n detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n };\r\n // Flag to optimize lookup response time by avoiding additional function calls\r\n var checkDynamic = true;\r\n var isObjectOrArray = false;\r\n function _getProperty() {\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n // Make sure that if it's an object that we make it dynamic\r\n if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {\r\n // It doesn't look like it's already dynamic so lets make sure it's converted the object into a dynamic Config as well\r\n value = _makeDynamicObject(state, value, name, \"Converting\");\r\n }\r\n // If it needed to be converted it now has been\r\n checkDynamic = false;\r\n }\r\n // If there is an active handler then add it to the tracking set of handlers\r\n var activeHandler = state.act;\r\n if (activeHandler) {\r\n detail.trk(activeHandler);\r\n }\r\n return value;\r\n }\r\n // Tag this getter as our dynamic property and provide shortcut for notifying a change\r\n _getProperty[state.prop] = {\r\n chng: function () {\r\n state.add(detail);\r\n }\r\n };\r\n function _setProperty(newValue) {\r\n if (value !== newValue) {\r\n if (!!_getProperty[state.ro] && !state.upd) {\r\n // field is marked as readonly so return false\r\n throwInvalidAccess(\"[\" + name + \"] is read-only:\" + dumpObj(theConfig));\r\n }\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n checkDynamic = false;\r\n }\r\n // The value must be a plain object or an array to enforce the reference (in-place updates)\r\n var isReferenced = isObjectOrArray && _getProperty[state.rf];\r\n if (isObjectOrArray) {\r\n // We are about to replace a plain object or an array\r\n if (isReferenced) {\r\n // Reassign the properties from the current value to the same properties from the newValue\r\n // This will set properties not in the newValue to undefined\r\n objForEachKey(value, function (key) {\r\n value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;\r\n });\r\n // Now assign / re-assign value with all of the keys from newValue\r\n try {\r\n objForEachKey(newValue, function (key, theValue) {\r\n _setDynamicProperty(state, value, key, theValue);\r\n });\r\n // Now drop newValue so when we assign value later it keeps the existing reference\r\n newValue = value;\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Assigning\", e);\r\n // Mark as not an object or array so we don't try and do this again\r\n isObjectOrArray = false;\r\n }\r\n }\r\n else if (value && value[CFG_HANDLER_LINK]) {\r\n // As we are replacing the value, if it's already dynamic then we need to notify the listeners\r\n // for every property it has already\r\n objForEachKey(value, function (key) {\r\n // Check if the value is dynamic\r\n var getter = _getOwnPropGetter(value, key);\r\n if (getter) {\r\n // And if it is tell it's listeners that the value has changed\r\n var valueState = getter[state.prop];\r\n valueState && valueState.chng();\r\n }\r\n });\r\n }\r\n }\r\n if (newValue !== value) {\r\n var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);\r\n if (!isReferenced && newIsObjectOrArray) {\r\n // As the newValue is an object/array lets preemptively make it dynamic\r\n newValue = _makeDynamicObject(state, newValue, name, \"Converting\");\r\n }\r\n // Now assign the internal \"value\" to the newValue\r\n value = newValue;\r\n isObjectOrArray = newIsObjectOrArray;\r\n }\r\n // Cause any listeners to be scheduled for notification\r\n state.add(detail);\r\n }\r\n }\r\n objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });\r\n}\r\nexport function _setDynamicProperty(state, target, name, value) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n if (!isDynamic) {\r\n _createDynamicProperty(state, target, name, value);\r\n }\r\n else {\r\n // Looks like it's already dynamic just assign the new value\r\n target[name] = value;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _setDynamicPropertyState(state, target, name, flags) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n var inPlace = flags && flags[0 /* _eSetDynamicPropertyFlags.inPlace */];\r\n var rdOnly = flags && flags[1 /* _eSetDynamicPropertyFlags.readOnly */];\r\n var blkProp = flags && flags[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */];\r\n if (!isDynamic) {\r\n if (blkProp) {\r\n try {\r\n // Attempt to mark the target as blocked from conversion\r\n blockDynamicConversion(target);\r\n }\r\n catch (e) {\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Blocking\", e);\r\n }\r\n }\r\n try {\r\n // Make sure it's dynamic so that we can tag the property as per the state\r\n _setDynamicProperty(state, target, name, target[name]);\r\n getter = _getOwnPropGetter(target, name);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"State\", e);\r\n }\r\n }\r\n // Assign the optional flags if true\r\n if (inPlace) {\r\n getter[state.rf] = inPlace;\r\n }\r\n if (rdOnly) {\r\n getter[state.ro] = rdOnly;\r\n }\r\n if (blkProp) {\r\n getter[state.blkVal] = true;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _makeDynamicObject(state, target, name, desc) {\r\n try {\r\n // Assign target with new value properties (converting into dynamic properties in the process)\r\n objForEachKey(target, function (key, value) {\r\n // Assign and/or make the property dynamic\r\n _setDynamicProperty(state, target, key, value);\r\n });\r\n if (!target[CFG_HANDLER_LINK]) {\r\n // Link the config back to the dynamic config details\r\n objDefineProp(target, CFG_HANDLER_LINK, {\r\n get: function () {\r\n return state[_DYN_HDLR /* @min:%2ehdlr */];\r\n }\r\n });\r\n _patchArray(state, target, name);\r\n }\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, desc, e);\r\n }\r\n return target;\r\n}\r\n//# sourceMappingURL=DynamicProperty.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport { _DYN_BLK_VAL, _DYN_CANCEL, _DYN_HDLR, _DYN_LENGTH, _DYN_LOGGER, _DYN_NOTIFY, _DYN_PUSH, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nvar symPrefix = \"[[ai_\";\r\nvar symPostfix = \"]]\";\r\nexport function _createState(cfgHandler) {\r\n var _a;\r\n var dynamicPropertySymbol = newSymbol(symPrefix + \"get\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReadOnly = newSymbol(symPrefix + \"ro\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReferenced = newSymbol(symPrefix + \"rf\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyBlockValue = newSymbol(symPrefix + \"blkVal\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyDetail = newSymbol(symPrefix + \"dtl\" + cfgHandler.uid + symPostfix);\r\n var _waitingHandlers = null;\r\n var _watcherTimer = null;\r\n var theState;\r\n function _useHandler(activeHandler, callback) {\r\n var prevWatcher = theState.act;\r\n try {\r\n theState.act = activeHandler;\r\n if (activeHandler && activeHandler[dynamicPropertyDetail]) {\r\n // Clear out the previously tracked details for this handler, so that access are re-evaluated\r\n arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {\r\n detail.clr(activeHandler);\r\n });\r\n activeHandler[dynamicPropertyDetail] = [];\r\n }\r\n callback({\r\n cfg: cfgHandler.cfg,\r\n set: cfgHandler.set.bind(cfgHandler),\r\n setDf: cfgHandler[_DYN_SET_DF /* @min:%2esetDf */].bind(cfgHandler),\r\n ref: cfgHandler.ref.bind(cfgHandler),\r\n rdOnly: cfgHandler[_DYN_RD_ONLY /* @min:%2erdOnly */].bind(cfgHandler)\r\n });\r\n }\r\n catch (e) {\r\n var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // Don't let one individual failure break everyone\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));\r\n }\r\n // Re-throw the exception so that any true \"error\" is reported back to the called\r\n throw e;\r\n }\r\n finally {\r\n theState.act = prevWatcher || null;\r\n }\r\n }\r\n function _notifyWatchers() {\r\n if (_waitingHandlers) {\r\n var notifyHandlers = _waitingHandlers;\r\n _waitingHandlers = null;\r\n // Stop any timer as we are running them now anyway\r\n _watcherTimer && _watcherTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _watcherTimer = null;\r\n var watcherFailures_1 = [];\r\n // Now run the handlers\r\n arrForEach(notifyHandlers, function (handler) {\r\n if (handler) {\r\n if (handler[dynamicPropertyDetail]) {\r\n arrForEach(handler[dynamicPropertyDetail], function (detail) {\r\n // Clear out this handler from previously tracked details, so that access are re-evaluated\r\n detail.clr(handler);\r\n });\r\n handler[dynamicPropertyDetail] = null;\r\n }\r\n // The handler may have self removed as part of another handler so re-check\r\n if (handler.fn) {\r\n try {\r\n _useHandler(handler, handler.fn);\r\n }\r\n catch (e) {\r\n // Don't let a single failing watcher cause other watches to fail\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n }\r\n });\r\n // During notification we may have had additional updates -- so notify those updates as well\r\n if (_waitingHandlers) {\r\n try {\r\n _notifyWatchers();\r\n }\r\n catch (e) {\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n throwAggregationError(\"Watcher error(s): \", watcherFailures_1);\r\n }\r\n }\r\n }\r\n function _addWatcher(detail) {\r\n if (detail && detail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n if (!_waitingHandlers) {\r\n _waitingHandlers = [];\r\n }\r\n if (!_watcherTimer) {\r\n _watcherTimer = scheduleTimeout(function () {\r\n _watcherTimer = null;\r\n _notifyWatchers();\r\n }, 0);\r\n }\r\n // Add all of the handlers for this detail (if not already present) - using normal for-loop for performance\r\n for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {\r\n var handler = detail.h[idx];\r\n // Add this handler to the collection of handlers to re-execute\r\n if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {\r\n _waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n }\r\n }\r\n function _trackHandler(handler, detail) {\r\n if (handler) {\r\n var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];\r\n if (arrIndexOf(details, detail) === -1) {\r\n // If this detail is not already listed as tracked then add it so that we re-evaluate it's usage\r\n details[_DYN_PUSH /* @min:%2epush */](detail);\r\n }\r\n }\r\n }\r\n theState = (_a = {\r\n prop: dynamicPropertySymbol,\r\n ro: dynamicPropertyReadOnly,\r\n rf: dynamicPropertyReferenced\r\n },\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = dynamicPropertyBlockValue,\r\n _a[_DYN_HDLR /* @min:hdlr */] = cfgHandler,\r\n _a.add = _addWatcher,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.use = _useHandler,\r\n _a.trk = _trackHandler,\r\n _a);\r\n return theState;\r\n}\r\n//# sourceMappingURL=DynamicState.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\n// Using Symbol.for so that if the same symbol was already created it would be returned\r\n// To handle multiple instances using potentially different versions we are not using\r\n// createUniqueNamespace()\r\nexport var CFG_HANDLER_LINK = symbolFor(\"[[ai_dynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects / arrays with if they should not be converted\r\n */\r\nvar BLOCK_DYNAMIC = symbolFor(\"[[ai_blkDynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects to indicate that when included into the configuration that\r\n * they should be converted into a trackable dynamic object.\r\n */\r\nvar FORCE_DYNAMIC = symbolFor(\"[[ai_frcDynCfg_1]]\");\r\nexport function _cfgDeepCopy(source) {\r\n if (source) {\r\n var target_1;\r\n if (isArray(source)) {\r\n target_1 = [];\r\n target_1[_DYN_LENGTH /* @min:%2elength */] = source[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(source)) {\r\n target_1 = {};\r\n }\r\n if (target_1) {\r\n // Copying index values by property name as the extensionConfig can be an array or object\r\n objForEachKey(source, function (key, value) {\r\n // Perform a deep copy of the object\r\n target_1[key] = _cfgDeepCopy(value);\r\n });\r\n return target_1;\r\n }\r\n }\r\n return source;\r\n}\r\n/**\r\n * @internal\r\n * Get the dynamic config handler if the value is already dynamic\r\n * @param value\r\n * @returns\r\n */\r\nexport function getDynamicConfigHandler(value) {\r\n if (value) {\r\n var handler = value[CFG_HANDLER_LINK] || value;\r\n if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Mark the provided value so that if it's included into the configuration it will NOT have\r\n * its properties converted into a dynamic (reactive) object. If the object is not a plain object\r\n * or an array (ie. a class) this function has not affect as only Objects and Arrays are converted\r\n * into dynamic objects in the dynamic configuration.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * You should only need to use this function, if you are creating dynamic \"classes\" from objects\r\n * which confirm to the require interface. A common case for this is during unit testing where it's\r\n * easier to create mock extensions.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed\r\n *\r\n * @example\r\n * ```ts\r\n * // This is a valid \"extension\", but it is technically an object\r\n * // So when included in the config.extensions it WILL be cloned and then\r\n * // converted into a dynamic object, where all of its properties will become\r\n * // get/set object properties and will be tracked. While this WILL still\r\n * // function, when attempt to use a mocking framework on top of this the\r\n * // functions are now technically get accessors which return a function\r\n * // and this can cause some mocking frameworks to fail.\r\n * let mockChannel = {\r\n * pause: () => { },\r\n* resume: () => { },\r\n* teardown: () => { },\r\n* flush: (async: any, callBack: any) => { },\r\n* processTelemetry: (env: any) => { },\r\n* setNextPlugin: (next: any) => { },\r\n* initialize: (config: any, core: any, extensions: any) => { },\r\n* identifier: \"testChannel\",\r\n* priority: 1003\r\n* };\r\n * ```\r\n * @param value - The object that you want to block from being converted into a\r\n * trackable dynamic object\r\n * @returns The original value\r\n */\r\nexport function blockDynamicConversion(value) {\r\n if (value && (isPlainObject(value) || isArray(value))) {\r\n try {\r\n value[BLOCK_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is the reverse case of {@link blockDynamicConversion} in that this will tag an\r\n * object to indicate that it should always be converted into a dynamic trackable object\r\n * even when not an object or array. So all properties of this object will become\r\n * get / set accessor functions.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed.\r\n * @param value - The object that should be tagged and converted if included into a dynamic\r\n * configuration.\r\n * @returns The original value\r\n */\r\nexport function forceDynamicConversion(value) {\r\n if (value) {\r\n try {\r\n value[FORCE_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function to check whether an object can or should be converted into a dynamic\r\n * object.\r\n * @param value - The object to check whether it should be converted\r\n * @returns `true` if the value should be converted otherwise `false`.\r\n */\r\nexport function _canMakeDynamic(getFunc, state, value) {\r\n var result = false;\r\n // Object must exist and be truthy\r\n if (value && !getFunc[state.blkVal]) {\r\n // Tagged as always convert\r\n result = value[FORCE_DYNAMIC];\r\n // Check that it's not explicitly tagged as blocked\r\n if (!result && !value[BLOCK_DYNAMIC]) {\r\n // Only convert plain objects or arrays by default\r\n result = isPlainObject(value) || isArray(value);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Throws an invalid access exception\r\n * @param message - The message to include in the exception\r\n */\r\nexport function throwInvalidAccess(message) {\r\n throwTypeError(\"InvalidAccess:\" + message);\r\n}\r\n//# sourceMappingURL=DynamicSupport.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnum, createTypeMap } from \"@nevware21/ts-utils\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createEnumStyle = createEnum;\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createValueMap = createTypeMap;\r\n//# sourceMappingURL=EnumHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, createCustomError, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nvar aggregationErrorType;\r\n/**\r\n * Throws an Aggregation Error which includes all of the errors that led to this error occurring\r\n * @param message - The message describing the aggregation error (the sourceError details are added to this)\r\n * @param sourceErrors - An array of the errors that caused this situation\r\n */\r\nexport function throwAggregationError(message, sourceErrors) {\r\n if (!aggregationErrorType) {\r\n aggregationErrorType = createCustomError(\"AggregationError\", function (self, args) {\r\n if (args[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n // Save the provided errors\r\n self.errors = args[1];\r\n }\r\n });\r\n }\r\n var theMessage = message || \"One or more errors occurred.\";\r\n arrForEach(sourceErrors, function (srcError, idx) {\r\n theMessage += \"\\n\".concat(idx, \" > \").concat(dumpObj(srcError));\r\n });\r\n throw new aggregationErrorType(theMessage, sourceErrors || []);\r\n}\r\n//# sourceMappingURL=AggregationError.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, objDefine } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT2, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { isNotNullOrUndefined, proxyFunctionAs } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\nvar defaultValues = (_a = {},\r\n _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },\r\n _a);\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hookContainer;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]());\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n proxyFunctionAs(_self, \"_addHook\", function () { return _hookContainer; }, \"add\");\r\n objDefine(_self, \"_unloadHooks\", { g: function () { return _hookContainer; } });\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n // Make sure the extensionConfig exists and the config is dynamic\r\n createDynamicConfig(config, defaultValues, safeGetLogger(core));\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n// Removed Stub for BaseTelemetryPlugin.prototype.initialize.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.teardown.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.update.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addUnloadCb.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addHook.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n BaseTelemetryPlugin.__ieDyn=1;\n\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { random32 } from \"./RandomHelper\";\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return strSubstring(uuid, 0, 8) + \"-\" + strSubstring(uuid, 8, 12) + \"-\" + strSubstring(uuid, 12, 16) + \"-\" + strSubstring(uuid, 16, 20) + \"-\" + strSubstring(uuid, 20);\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return strSubstring(value, start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + \"4\" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.3.3';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getInst } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n//# sourceMappingURL=DbgExtensionUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dumpObj, isFunction, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_DIAG_LOG, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE, _DYN_THROW_INTERNAL, _DYN_UNLOAD, _DYN_WARN_TO_CONSOLE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar defaultValues = {\r\n loggingLevelConsole: 0,\r\n loggingLevelTelemetry: 1,\r\n maxMessageLimit: 25,\r\n enableDebug: false\r\n};\r\nvar _logFuncs = (_a = {},\r\n _a[0 /* eLoggingSeverity.DISABLED */] = null,\r\n _a[1 /* eLoggingSeverity.CRITICAL */] = \"errorToConsole\",\r\n _a[2 /* eLoggingSeverity.WARNING */] = STR_WARN_TO_CONSOLE,\r\n _a[3 /* eLoggingSeverity.DEBUG */] = \"debugToConsole\",\r\n _a);\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n var _unloadHandler;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _unloadHandler = _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n _self[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */] = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n _self.debugToConsole = function (message) {\r\n _logToConsole(\"debug\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n _unloadHandler && _unloadHandler.rm();\r\n _unloadHandler = null;\r\n };\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self.errorToConsole(throttleLimitMessage);\r\n }\r\n else {\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n // make sure the config is dynamic\r\n return onConfigChange(createDynamicConfig(config, defaultValues, _self).cfg, function (details) {\r\n var config = details.cfg;\r\n _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */];\r\n _loggingLevelTelemetry = config.loggingLevelTelemetry;\r\n _maxInternalMessageLimit = config.maxMessageLimit;\r\n _enableDebug = config.enableDebug;\r\n });\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.debugToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.errorToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n// Removed Stub for DiagnosticLogger.prototype.unload.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n DiagnosticLogger.__ieDyn=1;\n\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger)[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n//# sourceMappingURL=DiagnosticLogger.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { getDocument, getInst, getNavigator, getPerformance, hasNavigator, isFunction, isString, isUndefined, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (_beaconsSupported === null || useCached === false) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, getDocument, getWindow, isArray, objForEachKey, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventName - String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventNameWithoutOn - String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventNameWithoutOn - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName - {string} - The name of the event\r\n * @param callback - {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback - {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n//# sourceMappingURL=EventHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjAssign, ObjClass } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, asString as asString21, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isNumber, isObject, isPlainObject, isString, isUndefined, objDeepFreeze, objDefine, objForEachKey, objHasOwn, strIndexOf, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_GET_ALL_RESPONSE_HEA5, _DYN_GET_RESPONSE_HEADER, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE, _DYN_SPLIT, _DYN_STATUS, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minification\r\nvar strGetPrototypeOf = \"getPrototypeOf\";\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\nexport var _getObjProto = Object[strGetPrototypeOf];\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name - The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return strIndexOf(value, search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n return date && date.toISOString() || \"\";\r\n}\r\nexport var deepFreeze = objDeepFreeze;\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (objHasOwn(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n objDefine(target, field, {\r\n g: function () {\r\n return source[field];\r\n },\r\n s: function (theValue) {\r\n source[field] = theValue;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults - Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\nexport var asString = asString21;\r\nexport function isFeatureEnabled(feature, cfg) {\r\n var rlt = false;\r\n var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];\r\n if (feature && ft) {\r\n var mode = ft.mode;\r\n // NOTE: None will be considered as true\r\n rlt = (mode == 3 /* FeatureOptInMode.enable */) || (mode == 1 /* FeatureOptInMode.none */);\r\n }\r\n return rlt;\r\n}\r\nexport function getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nexport function formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n}\r\nexport function formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr[_DYN_STATUS /* @min:%2estatus */] + \",Response:\" + getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n}\r\nexport function prependTransports(theTransports, newTransports) {\r\n if (newTransports) {\r\n if (isNumber(newTransports)) {\r\n theTransports = [newTransports].concat(theTransports);\r\n }\r\n else if (isArray(newTransports)) {\r\n theTransports = newTransports.concat(theTransports);\r\n }\r\n }\r\n return theTransports;\r\n}\r\nvar strDisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nvar strWithCredentials = \"withCredentials\";\r\nvar strTimeout = \"timeout\";\r\n/**\r\n * Create and open an XMLHttpRequest object\r\n * @param method - The request method\r\n * @param urlString - The url\r\n * @param withCredentials - Option flag indicating that credentials should be sent\r\n * @param disabled - Optional flag indicating that the XHR object should be marked as disabled and not tracked (default is false)\r\n * @param isSync - Optional flag indicating if the instance should be a synchronous request (defaults to false)\r\n * @param timeout - Optional value identifying the timeout value that should be assigned to the XHR request\r\n * @returns A new opened XHR request\r\n */\r\nexport function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {\r\n if (disabled === void 0) { disabled = false; }\r\n if (isSync === void 0) { isSync = false; }\r\n function _wrapSetXhrProp(xhr, prop, value) {\r\n try {\r\n xhr[prop] = value;\r\n }\r\n catch (e) {\r\n // - Wrapping as depending on the environment setting the property may fail (non-terminally)\r\n }\r\n }\r\n var xhr = new XMLHttpRequest();\r\n if (disabled) {\r\n // Tag the instance so it's not tracked (trackDependency)\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);\r\n }\r\n if (withCredentials) {\r\n // Some libraries require that the withCredentials flag is set \"before\" open and\r\n // - Wrapping as IE 10 has started throwing when setting before open\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n xhr.open(method, urlString, !isSync);\r\n if (withCredentials) {\r\n // withCredentials should be set AFTER open (https://xhr.spec.whatwg.org/#the-withcredentials-attribute)\r\n // And older firefox instances from 11+ will throw for sync events (current versions don't) which happens during unload processing\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n // Only set the timeout for asynchronous requests as\r\n // \"Timeout shouldn't be used for synchronous XMLHttpRequests requests used in a document environment or it will throw an InvalidAccessError exception.\"\"\r\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\r\n if (!isSync && timeout) {\r\n _wrapSetXhrProp(xhr, strTimeout, timeout);\r\n }\r\n return xhr;\r\n}\r\n/**\r\n* Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n* @internal\r\n*/\r\n// tslint:disable-next-line: align\r\nexport function convertAllHeadersToMap(headersString) {\r\n var headers = {};\r\n if (isString(headersString)) {\r\n var headersArray = strTrim(headersString)[_DYN_SPLIT /* @min:%2esplit */](/[\\r\\n]+/);\r\n arrForEach(headersArray, function (headerEntry) {\r\n if (headerEntry) {\r\n var idx = headerEntry.indexOf(\": \");\r\n if (idx !== -1) {\r\n // The new spec has the headers returning all as lowercase -- but not all browsers do this yet\r\n var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = strTrim(headerEntry.substring(idx + 1));\r\n headers[header] = value;\r\n }\r\n else {\r\n headers[strTrim(headerEntry)] = 1;\r\n }\r\n }\r\n });\r\n }\r\n return headers;\r\n}\r\n/**\r\n* append the XHR headers.\r\n* @internal\r\n*/\r\nexport function _appendHeader(theHeaders, xhr, name) {\r\n if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER /* @min:%2egetResponseHeader */]) {\r\n var value = xhr[_DYN_GET_RESPONSE_HEADER /* @min:%2egetResponseHeader */](name);\r\n if (value) {\r\n theHeaders[name] = strTrim(value);\r\n }\r\n }\r\n return theHeaders;\r\n}\r\nvar STR_KILL_DURATION_HEADER = \"kill-duration\";\r\nvar STR_KILL_DURATION_SECONDS_HEADER = \"kill-duration-seconds\";\r\nvar STR_TIME_DELTA_HEADER = \"time-delta-millis\";\r\n/**\r\n* get the XHR getAllResponseHeaders.\r\n* @internal\r\n*/\r\nexport function _getAllResponseHeaders(xhr, isOneDs) {\r\n var theHeaders = {};\r\n if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]) {\r\n // Firefox 2-63 doesn't have getAllResponseHeaders function but it does have getResponseHeader\r\n // Only call these if getAllResponseHeaders doesn't exist, otherwise we can get invalid response errors\r\n // as collector is not currently returning the correct header to allow JS to access these headers\r\n if (!!isOneDs) {\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);\r\n }\r\n }\r\n else {\r\n theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]());\r\n }\r\n return theHeaders;\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { getInst, objHasOwnProperty } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { _getObjProto } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (objHasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=InstrumentHooks.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\nexport var UNDEFINED_VALUE = undefined;\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_OFFLINE_STORE = \"offlineEventsStored\";\r\nexport var STR_OFFLINE_SENT = \"offlineBatchSent\";\r\nexport var STR_OFFLINE_DROP = \"offlineBatchDrop\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\nexport var STR_DOMAIN = \"domain\";\r\nexport var STR_PATH = \"path\";\r\nexport var STR_NOT_DYNAMIC_ERROR = \"Not dynamic - \";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isArray, isFunction, objDefine, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n _self.start = utcNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n objDefine(_self, \"payload\", {\r\n g: function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n }\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = utcNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PerfManager.__ieDyn=1;\n\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { arrForEach, dumpObj, isArray, isFunction, isNullOrUndefined, isUndefined, objForEachKey, objFreeze, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _applyDefaultValue } from \"../Config/ConfigDefaults\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_DF, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UNLOAD, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core.config || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param dynamicHandler\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (!dynamicHandler) {\r\n dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, dynamicHandler.cfg);\r\n },\r\n getCfg: function () {\r\n return dynamicHandler.cfg;\r\n },\r\n getExtCfg: _resolveExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func.call(completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, createIfMissing) {\r\n var idCfg = null;\r\n var cfg = dynamicHandler.cfg;\r\n if (cfg && identifier) {\r\n var extCfg = cfg[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (!extCfg && createIfMissing) {\r\n extCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n cfg[STR_EXTENSION_CONFIG] = extCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);\r\n if (extCfg) {\r\n idCfg = extCfg[identifier];\r\n if (!idCfg && createIfMissing) {\r\n idCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n extCfg[identifier] = idCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n idCfg = dynamicHandler.ref(extCfg, identifier);\r\n }\r\n }\r\n return idCfg;\r\n }\r\n function _resolveExtCfg(identifier, defaultValues) {\r\n var newConfig = _getExtCfg(identifier, true);\r\n if (defaultValues) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config or use the default value\r\n objForEachKey(defaultValues, function (field, defaultValue) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig[field])) {\r\n var cfgValue = dynamicHandler.cfg[field];\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n newConfig[field] = cfgValue;\r\n }\r\n }\r\n _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);\r\n });\r\n }\r\n return dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](newConfig, defaultValues);\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, false);\r\n var rootConfig = dynamicHandler.cfg;\r\n if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {\r\n theValue = extConfig[field];\r\n }\r\n else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {\r\n theValue = rootConfig[field];\r\n }\r\n return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {\r\n var config = createDynamicConfig(cfg);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n if (nextPlugin) {\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n }\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config.cfg, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin[_DYN_UNLOAD /* @min:%2eunload */](context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\nvar SEED1 = 123456789;\r\nvar SEED2 = 987654321;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = SEED1;\r\nvar _mwcZ = SEED2;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (SEED1 + seedValue) & MaxUInt32;\r\n _mwcZ = (SEED2 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = utcNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config - The current config for the instance\r\n * @param core - THe current core instance\r\n * @param extensions - The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] && thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n pluginState = _getPluginState(thePlugin);\r\n var isInitialized = !!pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n if (thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE /* @min:%2ecore */]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extend from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = extB[STR_PROCESS_TELEMETRY];\r\n if (extA[STR_PROCESS_TELEMETRY]) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func.call(component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHandlerContainer.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nvar _maxHooks;\r\nvar _hookAddMonitor;\r\n/**\r\n * Test hook for setting the maximum number of unload hooks and calling a monitor function when the hooks are added or removed\r\n * This allows for automatic test failure when the maximum number of unload hooks is exceeded\r\n * @param maxHooks - The maximum number of unload hooks\r\n * @param addMonitor - The monitor function to call when hooks are added or removed\r\n */\r\nexport function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {\r\n _maxHooks = maxHooks;\r\n _hookAddMonitor = addMonitor;\r\n}\r\n/**\r\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading\r\n * process.\r\n * @returns A new IUnloadHookContainer instance\r\n */\r\nexport function createUnloadHookContainer() {\r\n var _hooks = [];\r\n function _doUnload(logger) {\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all registered unload hooks\r\n arrForEach(oldHooks, function (fn) {\r\n // allow either rm or remove callback function\r\n try {\r\n (fn.rm || fn.remove).call(fn);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unloading:\" + dumpObj(e));\r\n }\r\n });\r\n if (_maxHooks && oldHooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"doUnload\", oldHooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n function _addHook(hooks) {\r\n if (hooks) {\r\n arrAppend(_hooks, hooks);\r\n if (_maxHooks && _hooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"Add\", _hooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n }\r\n return {\r\n run: _doUnload,\r\n add: _addHook\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHookContainer.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { arrForEach, isArray, isString, strLeft, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_ATTRIBUTE, _DYN_LENGTH, _DYN_PUSH, _DYN_SPAN_ID, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a[_DYN_SPAN_ID /* @min:spanId */] = isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value - The value to be parsed\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function parseTraceParent(value, selectIdx) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n if (value.indexOf(\",\") !== -1) {\r\n var values = value[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n value = values[selectIdx > 0 && values[_DYN_LENGTH /* @min:%2elength */] > selectIdx ? selectIdx : 0];\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function findW3cTraceParent(selectIdx) {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name), selectIdx);\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);\r\n }\r\n return traceParent;\r\n}\r\n/**\r\n * Find all script tags in the provided document and return the information about them.\r\n * @param doc\r\n * @returns\r\n */\r\nexport function findAllScripts(doc) {\r\n var scripts = doc.getElementsByTagName(\"script\");\r\n var result = [];\r\n arrForEach(scripts, function (script) {\r\n var src = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"src\");\r\n if (src) {\r\n var crossOrigin = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"crossorigin\");\r\n var async = script.hasAttribute(\"async\") === true;\r\n var defer = script.hasAttribute(\"defer\") === true;\r\n var referrerPolicy = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"referrerpolicy\");\r\n var info = { url: src };\r\n if (crossOrigin) {\r\n info.crossOrigin = crossOrigin;\r\n }\r\n if (async) {\r\n info.async = async;\r\n }\r\n if (defer) {\r\n info.defer = defer;\r\n }\r\n if (referrerPolicy) {\r\n info.referrerPolicy = referrerPolicy;\r\n }\r\n result[_DYN_PUSH /* @min:%2epush */](info);\r\n }\r\n });\r\n return result;\r\n}\r\n//# sourceMappingURL=W3cTraceParent.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 11\r\nexport var _DYN_BLK_VAL = \"blkVal\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 55\r\nexport var _DYN_RD_ONLY = \"rdOnly\"; // Count: 4\r\nexport var _DYN_NOTIFY = \"notify\"; // Count: 4\r\nexport var _DYN_WARN_TO_CONSOLE = \"warnToConsole\"; // Count: 4\r\nexport var _DYN_THROW_INTERNAL = \"throwInternal\"; // Count: 5\r\nexport var _DYN_SET_DF = \"setDf\"; // Count: 6\r\nexport var _DYN_WATCH = \"watch\"; // Count: 8\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 21\r\nexport var _DYN_APPLY = \"apply\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 35\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 8\r\nexport var _DYN_HDLR = \"hdlr\"; // Count: 6\r\nexport var _DYN_CANCEL = \"cancel\"; // Count: 6\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 5\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_REMOVE_NOTIFICATION_0 = \"removeNotificationListener\"; // Count: 4\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 4\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN__INACTIVE = \"INACTIVE\"; // Count: 3\r\nexport var _DYN_VALUE = \"value\"; // Count: 5\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 5\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 6\r\nexport var _DYN_NAME = \"name\"; // Count: 12\r\nexport var _DYN_I_KEY = \"iKey\"; // Count: 5\r\nexport var _DYN_TIME = \"time\"; // Count: 6\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 15\r\nexport var _DYN_GET_PROCESS_TEL_CONT2 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_POLL_INTERNAL_LOGS = \"pollInternalLogs\"; // Count: 2\r\nexport var _DYN_ENABLED = \"enabled\"; // Count: 6\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_UNLOAD = \"unload\"; // Count: 9\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_LOGGING_LEVEL_CONSOL4 = \"loggingLevelConsole\"; // Count: 2\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 7\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 9\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 10\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 5\r\nexport var _DYN_UPDATE = \"update\"; // Count: 6\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_PROTOCOL = \"protocol\"; // Count: 3\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 7\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 9\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_STATUS = \"status\"; // Count: 5\r\nexport var _DYN_GET_RESPONSE_HEADER = \"getResponseHeader\"; // Count: 2\r\nexport var _DYN_GET_ALL_RESPONSE_HEA5 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 7\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_URL_STRING = \"urlString\"; // Count: 5\r\nexport var _DYN_SEND_POST = \"sendPOST\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 5\r\nexport var _DYN_TIMEOUT = \"timeout\"; // Count: 6\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 2\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\nexport var _DYN_GET_ATTRIBUTE = \"getAttribute\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getGlobal, objAssign, objCreate, objDefineProp, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { ObjClass, ObjProto, strDefault, strShimFunction, strShimPrototype } from \"./Constants\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES5 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nvar strHasOwnProperty = \"hasOwnProperty\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = objAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (objHasOwnProperty(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && objDefineProp(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !objHasOwnProperty(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (!!objDefineProp) {\r\n objDefineProp(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (objDefineProp) {\r\n objDefineProp(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (!!objDefineProp) {\r\n objDefineProp(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n//# sourceMappingURL=TsLibShims.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_PUSH, _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType - Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys[_DYN_PUSH /* @min:%2epush */](key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes, EventPersistence } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent, findAllScripts } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport { createOfflineListener } from \"./Offline\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { asString, isBoolean, isFunction, isNullOrUndefined, isString } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\n/**\r\n * @internal\r\n * @ignore\r\n * @param str\r\n * @param defaultValue\r\n * @returns\r\n */\r\nfunction _stringToBoolOrDefault(theValue, defaultValue, theConfig) {\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n return defaultValue;\r\n }\r\n if (isBoolean(theValue)) {\r\n return theValue;\r\n }\r\n return asString(theValue)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the field defined as an object\r\n * that should be merged\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfMerge(defaultValue) {\r\n return {\r\n mrg: true,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field set function\r\n * @param setter - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfSet(setter, defaultValue) {\r\n return {\r\n set: setter,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field validator\r\n * @param validator - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfValidate(validator, defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n isVal: validator,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate and convert the user\r\n * provided value to a boolean from a string or boolean value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBoolean(defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n set: _stringToBoolOrDefault,\r\n v: !!defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfFunc(defaultValue) {\r\n return {\r\n isVal: isFunction,\r\n v: defaultValue || null\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default string value to apply it not provided or it's not valid, defaults to an empty string\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfString(defaultValue) {\r\n return {\r\n isVal: isString,\r\n v: asString(defaultValue || STR_EMPTY)\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance identifying that value associated with this property\r\n * should not have it's properties converted into a dynamic config properties.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBlockPropValue(defaultValue) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = true,\r\n _a.v = defaultValue,\r\n _a;\r\n}\r\n//# sourceMappingURL=ConfigDefaultHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a, _b;\r\nimport { arrForEach, arrIndexOf, dumpObj, getDocument, getLazy, getNavigator, isArray, isFunction, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, strEndsWith, strIndexOf, strLeft, strSubstring, strTrim, utcNow } from \"@nevware21/ts-utils\";\r\nimport { cfgDfMerge } from \"../Config/ConfigDefaultHelpers\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ENABLED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROTOCOL, _DYN_SET_DF, _DYN_SPLIT, _DYN_UNLOAD, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getLocation, isIE } from \"./EnvUtils\";\r\nimport { getExceptionName, isNotNullOrUndefined, setValue, strContains } from \"./HelperFuncs\";\r\nimport { STR_DOMAIN, STR_EMPTY, STR_PATH, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc;\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n// // `isCookieUseDisabled` is deprecated, so explicitly casting as a key of IConfiguration to avoid typing error\r\n// // when both isCookieUseDisabled and disableCookiesUsage are used disableCookiesUsage will take precedent, which is\r\n// // why its listed first\r\n/**\r\n * Set the supported dynamic config values as undefined (or an empty object) so that\r\n * any listeners will be informed of any changes.\r\n * Explicitly NOT including the deprecated `isCookieUseDisabled` as we don't want to support\r\n * the v1 deprecated field as dynamic for updates\r\n */\r\nvar rootDefaultConfig = (_a = {\r\n cookieCfg: cfgDfMerge((_b = {},\r\n _b[STR_DOMAIN] = { fb: \"cookieDomain\", dfVal: isNotNullOrUndefined },\r\n _b.path = { fb: \"cookiePath\", dfVal: isNotNullOrUndefined },\r\n _b.enabled = UNDEFINED_VALUE,\r\n _b.ignoreCookies = UNDEFINED_VALUE,\r\n _b.blockedCookies = UNDEFINED_VALUE,\r\n _b)),\r\n cookieDomain: UNDEFINED_VALUE,\r\n cookiePath: UNDEFINED_VALUE\r\n },\r\n _a[strDisableCookiesUsage] = UNDEFINED_VALUE,\r\n _a);\r\nfunction _getDoc() {\r\n !_doc && (_doc = getLazy(function () { return getDocument(); }));\r\n}\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nfunction _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\nfunction _isCfgEnabled(rootConfig, cookieMgrConfig) {\r\n var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */];\r\n if (isNullOrUndefined(isCfgEnabled)) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n // This field is deprecated and dynamic updates will not be fully supported\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n // If this value is defined it takes precedent over the above\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n // Not setting the cookieMgrConfig.enabled as that will update (set) the global dynamic config\r\n // So future \"updates\" then may not be as expected\r\n isCfgEnabled = cookieEnabled;\r\n }\r\n return isCfgEnabled;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg && cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig;\r\n var _path;\r\n var _domain;\r\n var unloadHandler;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled;\r\n var _getCookieFn;\r\n var _setCookieFn;\r\n var _delCookieFn;\r\n // Make sure the root config is dynamic as it may be the global config\r\n rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;\r\n // Will get recalled if the referenced configuration is changed\r\n unloadHandler = onConfigChange(rootConfig, function (details) {\r\n // Make sure the root config has all of the the defaults to the root config to ensure they are dynamic\r\n details[_DYN_SET_DF /* @min:%2esetDf */](details.cfg, rootDefaultConfig);\r\n // Create and apply the defaults to the cookieCfg element\r\n cookieMgrConfig = details.ref(details.cfg, \"cookieCfg\"); // details.setDf(details.cfg.cookieCfg, defaultConfig);\r\n _path = cookieMgrConfig[STR_PATH /* @min:%2epath */] || \"/\";\r\n _domain = cookieMgrConfig[STR_DOMAIN /* @min:%2edomain */];\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;\r\n _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;\r\n _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;\r\n }, logger);\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */] = value;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = strIndexOf(theValue, \";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(strLeft(value, idx));\r\n values = _extractParts(strSubstring(value, idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = utcNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1[_DYN_PROTOCOL /* @min:%2eprotocol */] === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, STR_PATH, path || _path, null, isUndefined);\r\n //let setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = _getCookieFn(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[STR_PATH] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n // let delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n },\r\n _a[_DYN_UNLOAD /* @min:unload */] = function (isAsync) {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n !_doc && _getDoc();\r\n try {\r\n var doc = _doc.v || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = strIndexOf(thePart, \"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n var theCookie = _doc.v[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n _doc.v[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB0 = \"isStorageUseDisabled\"; // Count: 3\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 6\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_1 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER2 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 5\r\nexport var _DYN_DURATION = \"duration\"; // Count: 12\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO3 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P4 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER5 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI6 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA7 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D8 = \"overridePageViewDuration\"; // Count: 2\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI9 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC10 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR11 = \"enableAutoRouteTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_UNHANDLED_PRO12 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 2\r\nexport var _DYN_AUTO_UNHANDLED_PROMI13 = \"autoUnhandledPromiseInstrumented\"; // Count: 3\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 5\r\nexport var _DYN_IS_PERFORMANCE_TIMIN14 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI15 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT16 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN17 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM18 = \"pageVisitStartTime\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { getPerformance, isUndefined, isWebWorker, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI15, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_PROPERTIES, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_SHOULD_COLLECT_DURAT16, _DYN_START_TIME, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var firstPageViewSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync, function () {\r\n // Event flushed, callback added to prevent promise creation\r\n });\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = scheduleTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (!firstPageViewSent) {\r\n var perf = getPerformance();\r\n // Access the performance timing object\r\n var navigationEntries = (perf && perf[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */] && perf[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\"));\r\n // Edge Case the navigation Entries may return an empty array and the timeOrigin is not supported on IE\r\n if (navigationEntries && navigationEntries[0] && !isUndefined(perf.timeOrigin)) {\r\n // Get the value of loadEventStart\r\n var loadEventStart = navigationEntries[0].loadEventStart;\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(perf.timeOrigin + loadEventStart);\r\n }\r\n else {\r\n // calculate the start time manually\r\n var duration_1 = ((customProperties || pageView[_DYN_PROPERTIES /* @min:%2eproperties */] || {})[_DYN_DURATION /* @min:%2eduration */] || 0);\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(new Date().getTime() - duration_1);\r\n }\r\n firstPageViewSent = true;\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n queueTimer.cancel();\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n// Removed Stub for PageViewManager.prototype.teardown.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PageViewManager.__ieDyn=1;\n\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI15, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT16, _DYN_START_TIME } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || strIndexOf(userAgent.toLowerCase(), botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming[_DYN_START_TIME /* @min:%2estartTime */] === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming[_DYN_START_TIME /* @min:%2estartTime */], navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n// Removed Stub for PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent.\r\n// Removed Stub for PageViewPerformanceManager.prototype.getPerformanceTiming.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingSupported.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingDataReady.\r\n// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PageViewPerformanceManager.__ieDyn=1;\n\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, utlDisableStorage, utlEnableStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, cfgDfBoolean, cfgDfMerge, cfgDfSet, cfgDfString, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, findAllScripts, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, onConfigChange, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isArray, isError, objDeepFreeze, objDefine, scheduleTimeout, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA7, _DYN_AUTO_TRACK_PAGE_VISI9, _DYN_AUTO_UNHANDLED_PROMI13, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_DURATION, _DYN_ENABLE_AUTO_ROUTE_TR11, _DYN_ENABLE_UNHANDLED_PRO12, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC10, _DYN_IS_STORAGE_USE_DISAB0, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_OVERRIDE_PAGE_VIEW_D8, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_PROPERTIES, _DYN_SEND_EXCEPTION_INTER5, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_START_TIME, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_1, _DYN__ADD_HOOK, _DYN__CREATE_AUTO_EXCEPTI6, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nvar defaultValues = objDeepFreeze((_a = {\r\n sessionRenewalMs: cfgDfSet(_chkConfigMilliseconds, 30 * 60 * 1000),\r\n sessionExpirationMs: cfgDfSet(_chkConfigMilliseconds, 24 * 60 * 60 * 1000),\r\n disableExceptionTracking: cfgDfBoolean()\r\n },\r\n _a[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:autoTrackPageVisitTime */] = cfgDfBoolean(),\r\n _a[_DYN_OVERRIDE_PAGE_VIEW_D8 /* @min:overridePageViewDuration */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:enableUnhandledPromiseRejectionTracking */] = cfgDfBoolean(),\r\n _a[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:autoUnhandledPromiseInstrumented */] = false,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_IS_STORAGE_USE_DISAB0 /* @min:isStorageUseDisabled */] = cfgDfBoolean(),\r\n _a[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:isBrowserLinkTrackingEnabled */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:enableAutoRouteTracking */] = cfgDfBoolean(),\r\n _a.namePrefix = cfgDfString(),\r\n _a.enableDebug = cfgDfBoolean(),\r\n _a.disableFlushOnBeforeUnload = cfgDfBoolean(),\r\n _a.disableFlushOnUnload = cfgDfBoolean(false, \"disableFlushOnBeforeUnload\"),\r\n _a.expCfg = cfgDfMerge({ inclScripts: false, expLog: undefined, maxLogs: 50 }),\r\n _a));\r\nfunction _chkConfigMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return +value;\r\n}\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n var _extConfig;\r\n var _autoTrackPageVisitTime;\r\n var _expCfg;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param metric - input object argument. Only name and average are mandatory.\r\n * @param } customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry - The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties - Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView - Page view item to be sent\r\n * @param properties - Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties - System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n if (isNullOrUndefined(pageView[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n // calculate the start time manually\r\n var duration = ((properties || pageView[_DYN_PROPERTIES /* @min:%2eproperties */] || {})[_DYN_DURATION /* @min:%2eduration */] || 0);\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(new Date().getTime() - duration);\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception[_DYN_PROPERTIES /* @min:%2eproperties */] || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var doc = getDocument();\r\n if (doc && (_expCfg === null || _expCfg === void 0 ? void 0 : _expCfg.inclScripts)) {\r\n var scriptsInfo = findAllScripts(doc);\r\n exceptionPartB[_DYN_PROPERTIES /* @min:%2eproperties */][\"exceptionScripts\"] = JSON.stringify(scriptsInfo);\r\n }\r\n if (_expCfg === null || _expCfg === void 0 ? void 0 : _expCfg.expLog) {\r\n var logs = _expCfg.expLog();\r\n if (logs && logs.logs && isArray(logs.logs)) {\r\n exceptionPartB[_DYN_PROPERTIES /* @min:%2eproperties */][\"exceptionLog\"] = logs.logs.slice(0, _expCfg.maxLogs).join(\"\\n\");\r\n }\r\n }\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param exception - Object which contains exception to be sent\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n _populateDefaults(config);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, _extConfig.overridePageViewDuration, _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking();\r\n _updateLocationChange();\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self[_DYN_CORE /* @min:%2ecore */];\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extConfig = ctx.getExtCfg(identifier, defaultValues);\r\n _expCfg = _extConfig.expCfg;\r\n _autoTrackPageVisitTime = _extConfig[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:%2eautoTrackPageVisitTime */];\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _updateStorageUsage(_extConfig);\r\n // _updateBrowserLinkTracking\r\n _isBrowserLinkTrackingEnabled = _extConfig[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }));\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milliseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && strIndexOf(remoteData.target, browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](_self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests));\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking() {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _disableExceptionTracking = _extConfig.disableExceptionTracking;\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !_extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n }));\r\n _addUnhandledPromiseRejectionTracking(_window, locn);\r\n }\r\n function _updateLocationChange() {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableAutoRouteTracking = _extConfig[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && !_historyListenerAdded && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(win, _history, locn);\r\n }\r\n }\r\n }));\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(win, history, locn) {\r\n if (_historyListenerAdded) {\r\n return;\r\n }\r\n // Name Prefix is only referenced during the initial initialization and cannot be changed afterwards\r\n var namePrefix = _extConfig.namePrefix || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n scheduleTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n function _addUnhandledPromiseRejectionTracking(_window, _location) {\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableUnhandledPromiseRejectionTracking = _extConfig[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n _autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */];\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */] = _autoUnhandledPromiseInstrumented = true;\r\n }\r\n }));\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {eLoggingSeverity} - The severity of the log message\r\n * @param msgId - {_eInternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n _autoTrackPageVisitTime = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n _extConfig = null;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _extConfig; }\r\n });\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_pageViewManager\", { g: function () { return _pageViewManager; } });\r\n objDefine(_self, \"_pageViewPerformanceManager\", { g: function () { return _pageViewPerformanceManager; } });\r\n objDefine(_self, \"_pageVisitTimeManager\", { g: function () { return _pageVisitTimeManager; } });\r\n objDefine(_self, \"_evtNamespace\", { g: function () { return \".\" + _evtNamespace; } });\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AnalyticsPlugin.prototype.getCookieMgr.\r\n// Removed Stub for AnalyticsPlugin.prototype.processTelemetry.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackTrace.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackMetric.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageView.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageViewPerformance.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendExceptionInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackException.\r\n// Removed Stub for AnalyticsPlugin.prototype._onerror.\r\n// Removed Stub for AnalyticsPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for AnalyticsPlugin.prototype.initialize.\r\n AnalyticsPlugin.Version = '3.3.3'; // Not currently used anywhere\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n//# sourceMappingURL=AnalyticsPlugin.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_PAGE_VISIT_START_TIM18, _DYN_TRACK_PREVIOUS_PAGE_1 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler - Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName - Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitDataStr = getJSON().stringify(new PageVisitData(pageName, pageUrl));\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_logger\", { g: function () { return logger; } });\r\n objDefine(_self, \"pageVisitTimeTrackingHandler\", { g: function () { return pageVisitTimeTrackingHandler; } });\r\n });\r\n }\r\n// Removed Stub for PageVisitTimeManager.prototype.trackPreviousPageVisit.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PageVisitTimeManager.__ieDyn=1;\n\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n//# sourceMappingURL=Timing.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { isNullOrUndefined, isObject, objExtend, objForEachKey, setValueByKey } from \"@nevware21/ts-utils\";\r\nimport { _DYN_FEATURE_OPT_IN } from \"./__DynamicConstants\";\r\n/**\r\n * Delete a config key in the given cfg, if the config key exists in nonOverrideConfigs and its value is set to true\r\n * @param cfg cfg to modify\r\n * @param nonOverrideConfigs nonOverrideConfigs\r\n * @param curLevel cur config level, starting at 0\r\n * @param maxLevel max config level\r\n * @returns new copy of modified configs\r\n */\r\nexport function replaceByNonOverrideCfg(cfg, nonOverrideConfigs, curLevel, maxLevel) {\r\n try {\r\n var exceedMaxLevel = curLevel > maxLevel;\r\n if (exceedMaxLevel) {\r\n cfg = null;\r\n }\r\n var curCfg_1 = curLevel == 0 ? objExtend({}, cfg) : cfg; // only copy cfg at the begining level\r\n if (curCfg_1 && nonOverrideConfigs && !exceedMaxLevel) {\r\n objForEachKey(curCfg_1, function (key) {\r\n var nonOverrideVal = nonOverrideConfigs[key];\r\n if (!!nonOverrideVal) {\r\n if (isObject(curCfg_1[key]) && isObject(nonOverrideVal)) {\r\n curCfg_1[key] = replaceByNonOverrideCfg(curCfg_1[key], nonOverrideVal, ++curLevel, maxLevel);\r\n }\r\n else {\r\n delete curCfg_1[key];\r\n }\r\n }\r\n });\r\n }\r\n return curCfg_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n // if errors happen, do nothing\r\n return cfg;\r\n}\r\n// CDN Mode, value = B (CDN value = B)\r\n// |--------------------------------------------------------------------------|-----------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ----------- | ----------- | ----------- | --------- | --------- |\r\n// | User Mode, value = A | none | none | disabled | enabled | enabled | disabled |\r\n// (user Value = A) | disabled | disabled | disabled | disabled | enabled | disabled |\r\n// | enabled | enabled | disabled | enabled | enabled | disabled |\r\n// | none(blockCdn) | none | none | none | none | none |\r\n// | disabled(blockCdn) | disabled | disabled | disabled | disabled | disabled |\r\n// | enabled(blockCdn) | enabled | enabled | enabled | enabled | enabled |\r\n// This matrix identifies how feature based overrides are selected (if present)\r\n// cdn Mode (cdn Value = B)\r\n// |---------------------------------------------------------------------------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ---------| ---------| ---------| ---------|----------|\r\n// | User Mode | none | A | A | A || B | B || A | B || A |\r\n// (user Value = A) | disabled | A | A | A | B || A | B || A |\r\n// | enabled | A | A | A || B | B || A | B || A |\r\n// | none(blockCdn) | A | A | A | A | A |\r\n// | disabled(blockCdn) | A | A | A | A | A |\r\n// | enabled(blockCdn) | A | A | A | A | A |\r\n// Note:\r\n// Where the \"value\" is an object (map) of encoded key/values which will be used to override the real configuration\r\n// A = either the user supplied enable/disable value (via the `config.featureOptIn[name]`) or if not defined by the user the SDK defaults of the same.\r\n// B = The enable/disable value obtained from the CDN for the named feature\r\n// These are evaluated based on the above matrix to either\r\n// - A (Always the user/sdk value)\r\n// - B (Always the value from the CDN)\r\n// - A || B (If A is null or undefined use the value from the CDN (B) otherwise A)\r\n// - B || A (If B is null or undefined use the user/SDK value otherwise use the value from the CDN)\r\n//\r\n// The result of the value may also be null / undefined, which means there are no overrides to apply when the feature is enabled\r\nvar F = \"featureOptIn.\";\r\nvar M = \".mode\";\r\nvar ON = \".onCfg\";\r\nvar OFF = \".offCfg\";\r\nexport function resolveCdnFeatureCfg(field, cdnCfg, userOptInDetails) {\r\n var _a;\r\n // cdn conifg value\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n var cdnFt = (cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */] || {})[field] || { mode: 1 /* CdnFeatureMode.none */ };\r\n var cdnM = cdnFt.mode;\r\n var cdnOnV = cdnFt.onCfg;\r\n var cdnOffV = cdnFt.offCfg;\r\n var userFt = (userOptInDetails || {})[field] || { mode: 2 /* FeatureOptInMode.disable */ }; // default user mode is disable\r\n var userM = userFt.mode;\r\n var userOnV = userFt.onCfg;\r\n var userOffV = userFt.offCfg;\r\n var blockCdn = !!userFt.blockCdnCfg;\r\n var mFld = F + field + M;\r\n var onFld = F + field + ON;\r\n var offFld = F + field + OFF;\r\n var mode = userM;\r\n var onV = userOnV;\r\n var offV = userOffV;\r\n if (!blockCdn) {\r\n if (cdnM === 4 /* CdnFeatureMode.forceOn */ || cdnM === 5 /* CdnFeatureMode.forceOff */) {\r\n mode = (cdnM == 4 /* CdnFeatureMode.forceOn */ ? 3 /* FeatureOptInMode.enable */ : 2 /* FeatureOptInMode.disable */);\r\n onV = cdnOnV || userOnV;\r\n offV = cdnOffV || userOffV;\r\n }\r\n else if (cdnM === 2 /* CdnFeatureMode.disable */ || userM === 2 /* FeatureOptInMode.disable */) {\r\n mode = 2 /* FeatureOptInMode.disable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 3 /* CdnFeatureMode.enable */) {\r\n mode = 3 /* FeatureOptInMode.enable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 1 /* CdnFeatureMode.none */ && userM === 1 /* FeatureOptInMode.none */) {\r\n mode = 1 /* FeatureOptInMode.none */;\r\n }\r\n }\r\n return _a = {},\r\n _a[mFld] = mode,\r\n _a[onFld] = onV,\r\n _a[offFld] = offV,\r\n _a;\r\n}\r\n// helper function to get cdn config with opt-in features\r\nexport function applyCdnfeatureCfg(cdnCfg, core) {\r\n try {\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n if (!cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]) {\r\n return cdnCfg.config;\r\n }\r\n var optInMap = cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */];\r\n var cdnConfig_1 = cdnCfg.config || {};\r\n objForEachKey(optInMap, function (key) {\r\n var featureVal = resolveCdnFeatureCfg(key, cdnCfg, core.config[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]);\r\n if (!isNullOrUndefined(featureVal)) {\r\n objForEachKey(featureVal, function (config, val) {\r\n setValueByKey(cdnConfig_1, config, val);\r\n });\r\n _overrideCdnCfgByFeature(key, featureVal, cdnConfig_1);\r\n }\r\n });\r\n return cdnConfig_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\nfunction _overrideCdnCfgByFeature(field, ftVal, config) {\r\n var mode = ftVal[F + field + M];\r\n var val = ftVal[F + field + ON];\r\n var dVal = ftVal[F + field + OFF];\r\n var target = null;\r\n if (mode === 3 /* FeatureOptInMode.enable */) {\r\n target = val;\r\n }\r\n if (mode === 2 /* FeatureOptInMode.disable */) {\r\n target = dVal;\r\n }\r\n if (target) {\r\n objForEachKey(target, function (key, cfg) {\r\n setValueByKey(config, key, cfg);\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=CfgSyncHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* CfgSyncPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, createProcessTelemetryContext, createUniqueNamespace, eventOff, eventOn, getGlobal, getJSON, isFetchSupported, isXhrSupported, mergeEvtNamespace, onConfigChange, sendCustomEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { applyCdnfeatureCfg, replaceByNonOverrideCfg } from \"./CfgSyncHelperFuncs\";\r\nimport { _DYN_NON_OVERRIDE_CONFIGS, _DYN_ON_CFG_CHANGE_RECEIV0, _DYN_SCHEDULE_FETCH_TIMEO1 } from \"./__DynamicConstants\";\r\nvar EVENT_NAME = \"ai_cfgsync\";\r\nvar STR_GET_METHOD = \"GET\";\r\nvar FETCH_TIMEOUT = 1800000; // 30 minutes\r\nvar udfVal = undefined;\r\nvar defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };\r\nvar _defaultConfig = objDeepFreeze((_a = {\r\n syncMode: 1 /* ICfgSyncMode.Broadcast */,\r\n blkCdnCfg: udfVal,\r\n customEvtName: udfVal,\r\n cfgUrl: udfVal,\r\n overrideSyncFn: udfVal,\r\n overrideFetchFn: udfVal\r\n },\r\n _a[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:onCfgChangeReceive */] = udfVal,\r\n _a[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:scheduleFetchTimeout */] = FETCH_TIMEOUT,\r\n _a[_DYN_NON_OVERRIDE_CONFIGS /* @min:nonOverrideConfigs */] = defaultNonOverrideCfg,\r\n _a));\r\nvar CfgSyncPlugin = /** @class */ (function (_super) {\r\n __extends(CfgSyncPlugin, _super);\r\n function CfgSyncPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 198;\r\n _this.identifier = \"AppInsightsCfgSyncPlugin\";\r\n var _extensionConfig;\r\n var _mainConfig; // throttle config should be wrapped in IConfiguration\r\n var _evtName;\r\n var _evtNamespace;\r\n var _cfgUrl;\r\n var _timeoutHandle;\r\n var _receiveChanges;\r\n var _broadcastChanges;\r\n var _blkCdnCfg;\r\n var _fetchTimeout;\r\n var _retryCnt;\r\n var _onCfgChangeReceive;\r\n var _nonOverrideConfigs;\r\n var _fetchFn;\r\n var _overrideFetchFn;\r\n var _overrideSyncFn;\r\n var _paused = false;\r\n dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n };\r\n _self.getCfg = function () {\r\n return _mainConfig;\r\n };\r\n _self.pause = function () {\r\n _paused = true;\r\n _clearScheduledTimer();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _setupTimer();\r\n };\r\n // used for V2 to manaully trigger config udpate\r\n _self.setCfg = function (config) {\r\n return _setCfg(config);\r\n };\r\n _self.sync = function (customDetails) {\r\n return _sendCfgsyncEvents(customDetails);\r\n };\r\n _self.updateEventListenerName = function (eventName) {\r\n return _updateEventListenerName(eventName);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _eventOff();\r\n _clearScheduledTimer();\r\n _initDefaults();\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg, _nonOverrideConfigs];\r\n };\r\n function _initDefaults() {\r\n _mainConfig = null;\r\n _evtName = null;\r\n _evtNamespace = null;\r\n _cfgUrl = null;\r\n _receiveChanges = null;\r\n _broadcastChanges = null;\r\n _nonOverrideConfigs = null;\r\n _timeoutHandle = null;\r\n _fetchTimeout = null;\r\n _retryCnt = null;\r\n _blkCdnCfg = null;\r\n _overrideFetchFn = null;\r\n _overrideSyncFn = null;\r\n _onCfgChangeReceive = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n var preBlkCdn = _blkCdnCfg;\r\n _blkCdnCfg = !!_extensionConfig.blkCdnCfg;\r\n // avoid initial call\r\n if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {\r\n if (!_blkCdnCfg && _cfgUrl) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n else {\r\n _clearScheduledTimer();\r\n }\r\n }\r\n if (isNullOrUndefined(_receiveChanges)) {\r\n _receiveChanges = _extensionConfig.syncMode === 2 /* ICfgSyncMode.Receive */;\r\n }\r\n if (isNullOrUndefined(_broadcastChanges)) {\r\n _broadcastChanges = _extensionConfig.syncMode === 1 /* ICfgSyncMode.Broadcast */;\r\n }\r\n var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;\r\n if (_evtName !== newEvtName) {\r\n if (_receiveChanges) {\r\n _updateEventListenerName(newEvtName);\r\n }\r\n else {\r\n _eventOff();\r\n _evtName = newEvtName;\r\n }\r\n }\r\n if (isNullOrUndefined(_cfgUrl)) {\r\n _cfgUrl = _extensionConfig.cfgUrl;\r\n }\r\n // if cfgUrl is set, we will ignore core config change\r\n if (!_cfgUrl) {\r\n _mainConfig = config;\r\n if (_broadcastChanges) {\r\n _sendCfgsyncEvents();\r\n }\r\n }\r\n }));\r\n _overrideSyncFn = _extensionConfig.overrideSyncFn;\r\n _overrideFetchFn = _extensionConfig.overrideFetchFn;\r\n _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:%2eonCfgChangeReceive */];\r\n _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS /* @min:%2enonOverrideConfigs */]; // override values should not be changed\r\n _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:%2escheduleFetchTimeout */];\r\n _fetchFn = _getFetchFnInterface();\r\n _retryCnt = 0;\r\n // NOT support cfgURL change to avoid mutiple fetch calls\r\n if (_cfgUrl && !_blkCdnCfg) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n }\r\n function _setCfg(config, isAutoSync) {\r\n if (config) {\r\n _mainConfig = config;\r\n if (!!isAutoSync && !_paused) {\r\n return _sendCfgsyncEvents();\r\n }\r\n if (_receiveChanges && !_paused) {\r\n _self.core.updateCfg(config);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _eventOff() {\r\n try {\r\n var global_1 = getGlobal();\r\n if (global_1) {\r\n eventOff(global_1, null, null, _evtNamespace);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _sendCfgsyncEvents(customDetails) {\r\n try {\r\n if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {\r\n return _overrideSyncFn(_mainConfig, customDetails);\r\n }\r\n return sendCustomEvent(_evtName, _mainConfig, customDetails);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _updateEventListenerName(name) {\r\n try {\r\n _eventOff();\r\n if (name) {\r\n _evtName = name;\r\n _addEventListener();\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getFetchFnInterface() {\r\n var _fetchFn = _overrideFetchFn;\r\n if (isNullOrUndefined(_fetchFn)) {\r\n if (isFetchSupported()) {\r\n _fetchFn = _fetchSender;\r\n }\r\n else if (isXhrSupported()) {\r\n _fetchFn = _xhrSender;\r\n }\r\n }\r\n return _fetchFn;\r\n }\r\n function _fetchSender(url, oncomplete, isAutoSync) {\r\n var global = getGlobal();\r\n var fetchFn = (global && global.fetch) || null;\r\n if (url && fetchFn && isFunction(fetchFn)) {\r\n try {\r\n var init = {\r\n method: STR_GET_METHOD\r\n };\r\n var request = new Request(url, init);\r\n doAwaitResponse(fetch(request), function (result) {\r\n var response = result.value;\r\n if (!result.rejected) {\r\n if (response.ok) {\r\n doAwaitResponse(response.text(), function (res) {\r\n _doOnComplete(oncomplete, response.status, res.value, isAutoSync);\r\n });\r\n }\r\n else {\r\n _doOnComplete(oncomplete, response.status, null, isAutoSync);\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n function _xhrSender(url, oncomplete, isAutoSync) {\r\n try {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(STR_GET_METHOD, url);\r\n xhr_1.onreadystatechange = function () {\r\n if (xhr_1.readyState === XMLHttpRequest.DONE) {\r\n _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);\r\n }\r\n };\r\n xhr_1.onerror = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.ontimeout = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.send();\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _onFetchComplete(status, response, isAutoSync) {\r\n try {\r\n if (status >= 200 && status < 400 && response) {\r\n _retryCnt = 0; // any successful response will reset retry count to 0\r\n var JSON_1 = getJSON();\r\n if (JSON_1) {\r\n var cdnCfg = JSON_1.parse(response); //comments are not allowed\r\n var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg, isAutoSync);\r\n //cfg && _setCfg(cfg, isAutoSync);\r\n }\r\n }\r\n else {\r\n _retryCnt++;\r\n }\r\n if (_retryCnt < 3) {\r\n _setupTimer();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doOnComplete(oncomplete, status, response, isAutoSync) {\r\n try {\r\n oncomplete(status, response, isAutoSync);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _addEventListener() {\r\n if (_receiveChanges) {\r\n var global_2 = getGlobal();\r\n if (global_2) {\r\n try {\r\n eventOn(global_2, _evtName, function (event) {\r\n // TODO: add more validation here\r\n // may include a \"name\" or some other features to check\r\n var cfgEvent = event && event.detail;\r\n if (_onCfgChangeReceive && cfgEvent) {\r\n _onCfgChangeReceive(cfgEvent);\r\n }\r\n else {\r\n var cfg = cfgEvent && cfgEvent.cfg;\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg);\r\n }\r\n }, _evtNamespace, true);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n }\r\n // 4 levels\r\n function _replaceTartgetByKeys(cfg, level) {\r\n var _cfg = null;\r\n try {\r\n if (cfg) {\r\n _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return _cfg;\r\n }\r\n /**\r\n * Sets up the timer which triggers fetching cdn every 30mins after inital call\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && _fetchTimeout) {\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }, _fetchTimeout);\r\n _timeoutHandle.unref();\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryCnt = 0;\r\n }\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for CfgSyncPlugin.prototype.initialize.\r\n// Removed Stub for CfgSyncPlugin.prototype.getCfg.\r\n// Removed Stub for CfgSyncPlugin.prototype.setCfg.\r\n// Removed Stub for CfgSyncPlugin.prototype.sync.\r\n// Removed Stub for CfgSyncPlugin.prototype.updateEventListenerName.\r\n// Removed Stub for CfgSyncPlugin.prototype.pause.\r\n// Removed Stub for CfgSyncPlugin.prototype.resume.\r\n //// Removed Stub for CfgSyncPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n CfgSyncPlugin.__ieDyn=1;\n\n return CfgSyncPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { CfgSyncPlugin };\r\n//# sourceMappingURL=CfgSyncPlugin.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { arrForEach, createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_PUSH } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var listenerList = [];\r\n // Set the initial state\r\n // rState is changed by the browser, both via events and when we check the navigator.onLine property\r\n var rState = 1 /* eOfflineValue.Online */;\r\n if (_navigator && !isNullOrUndefined(_navigator.onLine) && !_navigator.onLine) { // navigator.onLine is undefined in react-native\r\n rState = 2 /* eOfflineValue.Offline */;\r\n }\r\n // ustate is changed by the user calling setOnlineState\r\n var uState = 0 /* eOfflineValue.Unknown */;\r\n // current state would be updated each time rState or uState is changed\r\n // it is a resolved value of rState and uState\r\n var _currentState = calCurrentState();\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _isOnline() {\r\n return _currentState;\r\n }\r\n function calCurrentState() {\r\n if (uState === 2 /* eOfflineValue.Offline */ || rState === 2 /* eOfflineValue.Offline */) {\r\n return false;\r\n }\r\n return true; // if both unknown, then we assume the network is good\r\n }\r\n function listnerNoticeCheck() {\r\n // we were offline and are now online or we were online and now offline\r\n var newState = calCurrentState();\r\n if (_currentState !== newState) {\r\n _currentState = newState; // use the resolved state to update\r\n // send all the callbacks with the current state\r\n arrForEach(listenerList, function (callback) {\r\n var offlineState = {\r\n isOnline: _currentState,\r\n rState: rState,\r\n uState: uState\r\n };\r\n try {\r\n callback(offlineState);\r\n }\r\n catch (e) {\r\n // Do nothing, just making sure we run all of the callbacks\r\n }\r\n });\r\n }\r\n }\r\n function setOnlineState(newState) {\r\n uState = newState;\r\n listnerNoticeCheck();\r\n }\r\n function _setOnline() {\r\n rState = 1 /* eOfflineValue.Online */;\r\n listnerNoticeCheck();\r\n }\r\n function _setOffline() {\r\n rState = 2 /* eOfflineValue.Offline */;\r\n listnerNoticeCheck();\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n function addListener(callback) {\r\n listenerList[_DYN_PUSH /* @min:%2epush */](callback);\r\n // Define rm as an instance of IUnloadHook\r\n return {\r\n rm: function () {\r\n var index = listenerList.indexOf(callback);\r\n if (index > -1) {\r\n return listenerList.splice(index, 1);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n };\r\n }\r\n return {\r\n isOnline: _isOnline,\r\n isListening: function () { return _isListening; },\r\n unload: _unload,\r\n addListener: addListener,\r\n setOnlineState: setOnlineState\r\n };\r\n}\r\n//# sourceMappingURL=Offline.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { createEnumStyle } from \"./EnumHelperFuncs\";\r\nexport var ActiveStatus = createEnumStyle({\r\n NONE: 0 /* eActiveStatus.NONE */,\r\n PENDING: 3 /* eActiveStatus.PENDING */,\r\n INACTIVE: 1 /* eActiveStatus.INACTIVE */,\r\n ACTIVE: 2 /* eActiveStatus.ACTIVE */\r\n});\r\n//# sourceMappingURL=InitActiveStatusEnum.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var ChannelControllerPriority = 500;\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\n// export const SampleRate = \"sampleRate\";\r\n// export const ProcessLegacy = \"ProcessLegacy\";\r\n// export const HttpMethod = \"http.method\";\r\n// export const DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\n// export const DEFAULT_BREEZE_PATH = \"/v2/track\";\r\n// export const strNotSpecified = \"not_specified\";\r\n// export const strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, dumpObj, getNavigator, getWindow, isFunction, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DATA, _DYN_HEADERS, _DYN_INITIALIZE, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PROTOCOL, _DYN_REPLACE, _DYN_SEND_POST, _DYN_SET_REQUEST_HEADER, _DYN_STATUS, _DYN_TIMEOUT, _DYN_TO_LOWER_CASE, _DYN_URL_STRING, _DYN_VALUE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { DisabledPropertyName } from \"./Constants\";\r\nimport { _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { getLocation, isBeaconsSupported, isFetchSupported, isXhrSupported, useXDomainRequest } from \"./EnvUtils\";\r\nimport { _getAllResponseHeaders, formatErrorMessageXdr, formatErrorMessageXhr, getResponseText, openXhr } from \"./HelperFuncs\";\r\nvar STR_EMPTY = \"\";\r\nvar STR_NO_RESPONSE_BODY = \"NoResponseBody\";\r\nvar _noResponseQs = \"&\" + STR_NO_RESPONSE_BODY + \"=true\";\r\nvar STR_POST_METHOD = \"POST\";\r\n/**\r\n * This Internal component\r\n * Manager SendPost functions\r\n * SendPostManger\r\n * @internal for internal use only\r\n */\r\nvar SenderPostManager = /** @class */ (function () {\r\n function SenderPostManager() {\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _enableSendPromise;\r\n var _isInitialized;\r\n var _diagLog;\r\n var _isOneDs;\r\n var _onCompleteFuncs;\r\n var _disableCredentials;\r\n var _fetchCredentials;\r\n var _fallbackInst;\r\n var _disableXhr;\r\n var _disableBeacon;\r\n var _disableBeaconSync;\r\n var _disableFetchKeepAlive;\r\n var _addNoResponse;\r\n var _timeoutWrapper;\r\n dynamicProto(SenderPostManager, this, function (_self, _base) {\r\n var _sendCredentials = true; // for 1ds\r\n _initDefaults();\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, diagLog) {\r\n _diagLog = diagLog;\r\n if (_isInitialized) {\r\n _throwInternal(_diagLog, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _self.SetConfig(config);\r\n _isInitialized = true;\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];\r\n };\r\n // This componet might get its config from sender, offline sender, 1ds post\r\n // so set this function to mock dynamic changes\r\n _self.SetConfig = function (config) {\r\n try {\r\n _onCompleteFuncs = config.senderOnCompleteCallBack || {};\r\n _disableCredentials = !!config.disableCredentials;\r\n _fetchCredentials = config.fetchCredentials;\r\n _isOneDs = !!config.isOneDs;\r\n _enableSendPromise = !!config.enableSendPromise;\r\n _disableXhr = !!config.disableXhr;\r\n _disableBeacon = !!config.disableBeacon;\r\n _disableBeaconSync = !!config.disableBeaconSync;\r\n _timeoutWrapper = config.timeWrapper;\r\n _addNoResponse = !!config.addNoResponse;\r\n _disableFetchKeepAlive = !!config.disableFetchKeepAlive;\r\n _fallbackInst = { sendPOST: _xhrSender };\r\n if (!_isOneDs) {\r\n _sendCredentials = false; // for appInsights, set it to false always\r\n }\r\n if (_disableCredentials) {\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"file:\") {\r\n // Special case where a local html file fails with a CORS error on Chromium browsers\r\n _sendCredentials = false;\r\n }\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n _self.getSyncFetchPayload = function () {\r\n return _syncFetchPayload;\r\n };\r\n _self.getSenderInst = function (transports, sync) {\r\n if (transports && transports[_DYN_LENGTH /* @min:%2elength */]) {\r\n return _getSenderInterface(transports, sync);\r\n }\r\n return null;\r\n };\r\n _self.getFallbackInst = function () {\r\n return _fallbackInst;\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function (unloadCtx, unloadState) {\r\n _initDefaults();\r\n };\r\n /**\r\n * success handler\r\n */\r\n function _onSuccess(res, onComplete) {\r\n _doOnComplete(onComplete, 200, {}, res);\r\n }\r\n /**\r\n * error handler\r\n */\r\n function _onError(message, onComplete) {\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _doOnComplete(onComplete, 400, {});\r\n }\r\n function _onNoPayloadUrl(onComplete) {\r\n _onError(\"No endpoint url is provided for the batch\", onComplete);\r\n }\r\n function _getSenderInterface(transports, syncSupport) {\r\n var _a;\r\n var transportType = 0 /* TransportType.NotSet */;\r\n var sendPostFunc = null;\r\n var lp = 0;\r\n while (sendPostFunc == null && lp < transports[_DYN_LENGTH /* @min:%2elength */]) {\r\n transportType = transports[lp];\r\n if (!_disableXhr && transportType === 1 /* TransportType.Xhr */) {\r\n if (useXDomainRequest()) {\r\n // IE 8 and 9\r\n sendPostFunc = _xdrSender;\r\n }\r\n else if (isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n }\r\n else if (transportType === 2 /* TransportType.Fetch */ && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {\r\n sendPostFunc = _doFetchSender;\r\n }\r\n else if (transportType === 3 /* TransportType.Beacon */ && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {\r\n sendPostFunc = _beaconSender;\r\n }\r\n lp++;\r\n }\r\n if (sendPostFunc) {\r\n return _a = {\r\n _transport: transportType,\r\n _isSync: syncSupport\r\n },\r\n _a[_DYN_SEND_POST /* @min:sendPOST */] = sendPostFunc,\r\n _a;\r\n }\r\n return null;\r\n }\r\n function _doOnComplete(oncomplete, status, headers, response) {\r\n try {\r\n oncomplete && oncomplete(status, headers, response);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doBeaconSend(payload, oncomplete) {\r\n var nav = getNavigator();\r\n var url = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!url) {\r\n _onNoPayloadUrl(oncomplete);\r\n // return true here, because we don't want to retry it with fallback sender\r\n return true;\r\n }\r\n url = payload[_DYN_URL_STRING /* @min:%2eurlString */] + (_addNoResponse ? _noResponseQs : STR_EMPTY);\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = _isOneDs ? data : new Blob([data], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, oncomplete, sync) {\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n try {\r\n if (data) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload, oncomplete)) {\r\n var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;\r\n if (onRetry && isFunction(onRetry)) {\r\n onRetry(payload, oncomplete, _doBeaconSend);\r\n }\r\n else {\r\n _fallbackInst && _fallbackInst[_DYN_SEND_POST /* @min:%2esendPOST */](payload, oncomplete, true);\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n else {\r\n // if can send\r\n _onSuccess(STR_EMPTY, oncomplete);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _isOneDs && _warnToConsole(_diagLog, \"Failed to send telemetry using sendBeacon API. Ex:\" + dumpObj(e));\r\n _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY);\r\n }\r\n return;\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - Indicates if the request should be sent synchronously\r\n */\r\n function _xhrSender(payload, oncomplete, sync) {\r\n //let internalPayload = payload as IInternalPayloadData;\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\r\n var headers = payload[_DYN_HEADERS /* @min:%2eheaders */] || {};\r\n if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n if (_isOneDs && sync && payload.disableXhrSync) {\r\n sync = false;\r\n }\r\n //const xhr = new XMLHttpRequest();\r\n var endPointUrl = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!endPointUrl) {\r\n _onNoPayloadUrl(oncomplete);\r\n resolveFunc && resolveFunc(false);\r\n return;\r\n }\r\n var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT /* @min:%2etimeout */]);\r\n if (!_isOneDs) {\r\n // application/json should NOT add to 1ds post by default\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n }\r\n arrForEach(objKeys(headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () {\r\n if (!_isOneDs) {\r\n _doOnReadyFunc(xhr);\r\n if (xhr.readyState === 4) {\r\n resolveFunc && resolveFunc(true);\r\n }\r\n }\r\n };\r\n xhr.onload = function () {\r\n if (_isOneDs) {\r\n _doOnReadyFunc(xhr);\r\n }\r\n };\r\n function _doOnReadyFunc(xhr) {\r\n var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;\r\n var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);\r\n if (onReadyFuncExist) {\r\n onReadyFunc(xhr, oncomplete, payload);\r\n }\r\n else {\r\n var response = getResponseText(xhr);\r\n _doOnComplete(oncomplete, xhr[_DYN_STATUS /* @min:%2estatus */], _getAllResponseHeaders(xhr, _isOneDs), response);\r\n }\r\n }\r\n xhr.onerror = function (event) {\r\n _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS /* @min:%2estatus */] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));\r\n rejectFunc && rejectFunc(event);\r\n };\r\n xhr.ontimeout = function () {\r\n _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS /* @min:%2estatus */] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));\r\n resolveFunc && resolveFunc(false);\r\n };\r\n xhr.send(payload[_DYN_DATA /* @min:%2edata */]);\r\n return thePromise;\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, oncomplete, sync) {\r\n var _a;\r\n var endPointUrl = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n var batch = payload[_DYN_DATA /* @min:%2edata */];\r\n var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: \"application/json\" });\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n var headers = payload[_DYN_HEADERS /* @min:%2eheaders */] || {};\r\n //TODO: handle time out for 1ds\r\n var init = (_a = {\r\n method: STR_POST_METHOD,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n // Only add headers if there are headers to add, due to issue with some polyfills\r\n if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(objKeys(headers), function (headerName) {\r\n requestHeaders.append(headerName, headers[headerName]);\r\n });\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = requestHeaders;\r\n }\r\n if (_fetchCredentials) { // if user passed in this value via post channel (1ds), then use it\r\n init.credentials = _fetchCredentials;\r\n }\r\n else if (_sendCredentials && _isOneDs) {\r\n // for 1ds, Don't send credentials when URL is file://\r\n init.credentials = \"include\";\r\n }\r\n if (sync) {\r\n init.keepalive = true;\r\n _syncFetchPayload += batchLength;\r\n if (_isOneDs) {\r\n if (payload[\"_sendReason\"] === 2 /* SendRequestReason.Unload */) {\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n if (_addNoResponse) {\r\n endPointUrl += _noResponseQs;\r\n }\r\n }\r\n }\r\n else {\r\n // for appinsights, set to true for all sync request\r\n ignoreResponse = true;\r\n }\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n if (!endPointUrl) {\r\n _onNoPayloadUrl(oncomplete);\r\n resolveFunc && resolveFunc(false);\r\n return;\r\n }\r\n function _handleError(res) {\r\n // In case there is an error in the request. Set the status to 0 for 1ds and 400 for appInsights\r\n // so that the events can be retried later.\r\n _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);\r\n }\r\n function _onFetchComplete(response, payload, value) {\r\n var status = response[_DYN_STATUS /* @min:%2estatus */];\r\n var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;\r\n if (onCompleteFunc && isFunction(onCompleteFunc)) {\r\n onCompleteFunc(response, oncomplete, value || STR_EMPTY, payload);\r\n }\r\n else {\r\n _doOnComplete(oncomplete, status, {}, value || STR_EMPTY);\r\n }\r\n }\r\n try {\r\n doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {\r\n if (sync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n if (!result.rejected) {\r\n var response_1 = result[_DYN_VALUE /* @min:%2evalue */];\r\n try {\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!_isOneDs && !response_1.ok) {\r\n // this is for appInsights only\r\n _handleError(response_1.statusText);\r\n resolveFunc && resolveFunc(false);\r\n }\r\n else {\r\n if (_isOneDs && !response_1.body) {\r\n _onFetchComplete(response_1, null, STR_EMPTY);\r\n resolveFunc && resolveFunc(true);\r\n }\r\n else {\r\n doAwaitResponse(response_1.text(), function (resp) {\r\n _onFetchComplete(response_1, payload, resp[_DYN_VALUE /* @min:%2evalue */]);\r\n resolveFunc && resolveFunc(true);\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _handleError(dumpObj(e));\r\n rejectFunc && rejectFunc(e);\r\n }\r\n }\r\n else {\r\n _handleError(result.reason && result.reason[_DYN_MESSAGE /* @min:%2emessage */]);\r\n rejectFunc && rejectFunc(result.reason);\r\n }\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _handleError(dumpObj(e));\r\n rejectFunc && rejectFunc(e);\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _doOnComplete(oncomplete, 200, {});\r\n resolveFunc && resolveFunc(true);\r\n }\r\n if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT /* @min:%2etimeout */] > 0) {\r\n // Simulate timeout\r\n _timeoutWrapper && _timeoutWrapper.set(function () {\r\n if (!responseHandled) {\r\n // Assume a 500 response (which will cause a retry)\r\n responseHandled = true;\r\n _doOnComplete(oncomplete, 500, {});\r\n resolveFunc && resolveFunc(true);\r\n }\r\n }, payload[_DYN_TIMEOUT /* @min:%2etimeout */]);\r\n }\r\n return thePromise;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - Indicates if the request should be sent synchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, oncomplete, sync) {\r\n // It doesn't support custom headers, so no action is taken with current requestHeaders\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n xdr.onload = function () {\r\n var response = getResponseText(xdr);\r\n var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;\r\n if (onloadFunc && isFunction(onloadFunc)) {\r\n onloadFunc(xdr, oncomplete, payload);\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 200, {}, response);\r\n }\r\n };\r\n xdr.onerror = function () {\r\n _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY : formatErrorMessageXdr(xdr));\r\n };\r\n xdr.ontimeout = function () {\r\n _doOnComplete(oncomplete, 500, {});\r\n };\r\n xdr.onprogress = function () { };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL /* @min:%2eprotocol */] || \"\";\r\n var endpoint = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!endpoint) {\r\n _onNoPayloadUrl(oncomplete);\r\n return;\r\n }\r\n if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {\r\n var msg = \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\";\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + msg);\r\n _onError(msg, oncomplete);\r\n return;\r\n }\r\n var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE /* @min:%2ereplace */](/^(https?:)/, \"\");\r\n xdr.open(STR_POST_METHOD, endpointUrl);\r\n if (payload[_DYN_TIMEOUT /* @min:%2etimeout */]) {\r\n xdr[_DYN_TIMEOUT /* @min:%2etimeout */] = payload[_DYN_TIMEOUT /* @min:%2etimeout */];\r\n }\r\n xdr.send(data);\r\n if (_isOneDs && sync) {\r\n _timeoutWrapper && _timeoutWrapper.set(function () {\r\n xdr.send(data);\r\n }, 0);\r\n }\r\n else {\r\n xdr.send(data);\r\n }\r\n }\r\n function _initDefaults() {\r\n _syncFetchPayload = 0;\r\n _isInitialized = false;\r\n _enableSendPromise = false;\r\n _diagLog = null;\r\n _isOneDs = null;\r\n _onCompleteFuncs = null;\r\n _disableCredentials = null;\r\n _fetchCredentials = null;\r\n _fallbackInst = null;\r\n _disableXhr = false;\r\n _disableBeacon = false;\r\n _disableBeaconSync = false;\r\n _disableFetchKeepAlive = false;\r\n _addNoResponse = false;\r\n _timeoutWrapper = null;\r\n }\r\n });\r\n }\r\n// Removed Stub for SenderPostManager.prototype.initialize.\r\n// Removed Stub for SenderPostManager.prototype.getSyncFetchPayload.\r\n// Removed Stub for SenderPostManager.prototype.SetConfig.\r\n// Removed Stub for SenderPostManager.prototype.getSenderInst.\r\n// Removed Stub for SenderPostManager.prototype.getFallbackInst.\r\n// Removed Stub for SenderPostManager.prototype._doTeardown.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n SenderPostManager.__ieDyn=1;\n\n return SenderPostManager;\r\n}());\r\nexport { SenderPostManager };\r\n//# sourceMappingURL=SenderPostManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrSlice, getLength } from \"@nevware21/ts-utils\";\r\nimport { _DYN_UNLOAD } from \"../__DynamicConstants\";\r\n/**\r\n * Run the unload function of the target object if it exists\r\n * @param target - The target object that contains the unload function\r\n * @param isAsync - The caller identifies whether it is expecting the operation to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @returns The result of the target function\r\n */\r\nexport function runTargetUnload(target, isAsync) {\r\n if (target && target[_DYN_UNLOAD /* @min:%2eunload */]) {\r\n return target[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n }\r\n}\r\n/**\r\n * Call the unload function on all targets handling any returned [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise before calling the next targets unload\r\n * @param targets - An array of the targets to unload\r\n * @param isAsync - The caller identifies whether it is expecting the operations to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @param done - Optional callback function to call once all of the unload functions have been called.\r\n */\r\nexport function doUnloadAll(targets, isAsync, done) {\r\n var result;\r\n if (!done) {\r\n result = createPromise(function (resolved) {\r\n done = resolved;\r\n });\r\n }\r\n if (targets && getLength(targets) > 0) {\r\n doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {\r\n doUnloadAll(arrSlice(targets, 1), isAsync, done);\r\n });\r\n }\r\n else {\r\n done();\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=AsyncUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_NAME } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getJSON } from \"./EnvUtils\";\r\n/**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\nexport function parseResponse(response, diagLog) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] && result[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] >= result.itemsAccepted &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + (e[_DYN_NAME /* @min:%2ename */] || dumpObj(e)), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=ResponseHelpers.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n // Starting from Version 3.0.3, the time property will be assigned by the startTime value,\r\n // which records the loadEvent time for the pageView event.\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '3.3.3'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isNullOrUndefined, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONCAT, _DYN_COUNT, _DYN_CREATE_NEW, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_ITEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__GET, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n this[_DYN__GET /* @min:%2e_get */] = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config[_DYN_EVENTS_LIMIT_IN_MEM /* @min:%2eeventsLimitInMem */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n return;\r\n }\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n return;\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += (_buffer[lp].item)[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payloads) {\r\n if (payloads && payloads[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var payloadStr_1 = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr_1[_DYN_PUSH /* @min:%2epush */](payload[_DYN_ITEM /* @min:%2eitem */]);\r\n });\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */] ?\r\n payloadStr_1.join(\"\\n\") :\r\n \"[\" + payloadStr_1.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n var items = _buffer.slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n var newBuffer = !!canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(items, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n return newBuffer;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n// Removed Stub for BaseSendBuffer.prototype.createNew.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n BaseSendBuffer.__ieDyn=1;\n\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n ArraySendBuffer.__ieDyn=1;\n\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\nvar PREVIOUS_KEYS = [\"AI_buffer\", \"AI_sentBuffer\"];\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n //Note: should not use config.namePrefix directly, because it will always refers to the latest namePrefix\r\n var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;\r\n // TODO: add remove buffer override as well\r\n var _b = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var previousItems = _getPreviousEvents();\r\n var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT /* @min:%2econcat */](previousItems);\r\n var buffer = _self._set(bufferItems[_DYN_CONCAT /* @min:%2econcat */](notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n return;\r\n }\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_get */]());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_get */]());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET /* @min:%2e_get */]())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements[_DYN_CONCAT /* @min:%2econcat */](payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n canUseSessionStorage = !!canUseSessionStorage;\r\n var unsentItems = _self[_DYN__GET /* @min:%2e_get */]().slice(0);\r\n var sentItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]).slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n // to make sure that we do not send duplicated payloads when it is switched back to previous one\r\n _self[_DYN_CLEAR /* @min:%2eclear */]();\r\n var newBuffer = canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(unsentItems, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n if (canUseSessionStorage) {\r\n // arr buffer will clear all payloads if markAsSent() is called\r\n newBuffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](sentItems);\r\n }\r\n return newBuffer;\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n var payloadStr = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr[_DYN_PUSH /* @min:%2epush */](payload[_DYN_ITEM /* @min:%2eitem */]);\r\n });\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM /* @min:%2eitem */]) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n return _getBufferBase(prefixedKey);\r\n }\r\n function _getBufferBase(key) {\r\n try {\r\n var bufferJson = getItem(logger, key);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + key + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n // this removes buffer with prefix+key\r\n function _getPreviousEvents() {\r\n var items = [];\r\n try {\r\n arrForEach(PREVIOUS_KEYS, function (key) {\r\n var events = _getItemsFromPreviousKey(key);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](events);\r\n // to make sure that we also transfer items from old prefixed + key buffer\r\n if (_namePrefix) {\r\n var prefixedKey = _namePrefix + \"_\" + key;\r\n var prefixEvents = _getItemsFromPreviousKey(prefixedKey);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](prefixEvents);\r\n }\r\n });\r\n return items;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \"Transfer events from previous buffers: \" + getExceptionName(e) + \". previous Buffer items can not be removed\", { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n // transform string[] to IInternalStorageItem[]\r\n function _getItemsFromPreviousKey(key) {\r\n try {\r\n var items = _getBufferBase(key);\r\n var transFormedItems_1 = [];\r\n arrForEach(items, function (item) {\r\n var internalItem = {\r\n item: item,\r\n cnt: 0 // previous events will be default to 0 count\r\n };\r\n transFormedItems_1[_DYN_PUSH /* @min:%2epush */](internalItem);\r\n });\r\n // remove the session storage if we can add events back\r\n utlRemoveSessionStorage(logger, key);\r\n return transFormedItems_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return [];\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.createNew.\r\n var _a;\r\n _a = SessionStorageSendBuffer;\r\n SessionStorageSendBuffer.VERSION = \"_1\";\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\" + _a.VERSION;\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\" + _a.VERSION;\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a, _b;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, createOfflineListener, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { ActiveStatus, BaseTelemetryPlugin, SenderPostManager, _throwInternal, _warnToConsole, arrForEach, cfgDfBoolean, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dateNow, dumpObj, formatErrorMessageXdr, formatErrorMessageXhr, getExceptionName, getIEVersion, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, mergeEvtNamespace, objExtend, onConfigChange, parseResponse, prependTransports, runTargetUnload } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isNumber, isPromiseLike, isString, isTruthy, objDeepFreeze, objDefine, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_ALWAYS_USE_XHR_OVERR4, _DYN_BASE_TYPE, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CREATE_NEW, _DYN_CUSTOM_HEADERS, _DYN_DATA, _DYN_DIAG_LOG, _DYN_DISABLE_SEND_BEACON_7, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SEND_PROMISE, _DYN_ENABLE_SESSION_STORA5, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_GET_SENDER_INST, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_ITEM, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET6, _DYN_ORI_PAYLOAD, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SERIALIZE, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN_UNLOAD_TRANSPORTS, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER } from \"./__DynamicConstants\";\r\nvar UNDEFINED_VALUE = undefined;\r\nvar EMPTY_STR = \"\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction isOverrideFn(httpXHROverride) {\r\n return httpXHROverride && httpXHROverride.sendPOST;\r\n}\r\nvar defaultAppInsightsChannelConfig = objDeepFreeze((_a = {\r\n // Use the default value (handles empty string in the configuration)\r\n endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = cfgDfBoolean(),\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = 15000,\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = 102400,\r\n _a.disableTelemetry = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_SESSION_STORA5 /* @min:enableSessionStorageBuffer */] = cfgDfBoolean(true),\r\n _a.isRetryDisabled = cfgDfBoolean(),\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_SEND_BEACON_7 /* @min:disableSendBeaconSplit */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:onunloadDisableFetch */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = cfgDfBoolean(),\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a.namePrefix = UNDEFINED_VALUE,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = UNDEFINED_VALUE,\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = UNDEFINED_VALUE,\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = 10000,\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = false,\r\n _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },\r\n _a[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:alwaysUseXhrOverride */] = cfgDfBoolean(),\r\n _a.transports = UNDEFINED_VALUE,\r\n _a.retryCodes = UNDEFINED_VALUE,\r\n _a.maxRetryCnt = { isVal: isNumber, v: 10 },\r\n _a));\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nvar EnvelopeTypeCreator = (_b = {},\r\n _b[Event.dataType] = EventEnvelopeCreator,\r\n _b[Trace.dataType] = TraceEnvelopeCreator,\r\n _b[PageView.dataType] = PageViewEnvelopeCreator,\r\n _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _b[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _b[Metric.dataType] = MetricEnvelopeCreator,\r\n _b[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _b);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _endpointUrl;\r\n var _orgEndpointUrl;\r\n var _maxBatchSizeInBytes;\r\n var _beaconSupported;\r\n var _beaconOnUnloadSupported;\r\n var _beaconNormalSupported;\r\n var _customHeaders;\r\n var _disableTelemetry;\r\n var _instrumentationKey;\r\n var _convertUndefined;\r\n var _isRetryDisabled;\r\n var _maxBatchInterval;\r\n var _sessionStorageUsed;\r\n var _bufferOverrideUsed;\r\n var _namePrefix;\r\n var _enableSendPromise;\r\n var _alwaysUseCustomSend;\r\n var _disableXhr;\r\n var _fetchKeepAlive;\r\n var _xhrSend;\r\n var _fallbackSend;\r\n var _disableBeaconSplit;\r\n var _sendPostMgr;\r\n var _retryCodes;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n _checkMaxSize();\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n return _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if (_beaconSupported || _alwaysUseCustomSend) {\r\n try {\r\n return _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush(false);\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, core, extensions, pluginChain);\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n // getExtCfg only finds undefined values from core\r\n var senderConfig = ctx.getExtCfg(identifier, defaultAppInsightsChannelConfig);\r\n if (isPromiseLike(senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */])) {\r\n // if it is promise, means the endpoint url is from core.endpointurl\r\n senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }\r\n if (isPromiseLike(senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n // if it is promise, means the endpoint url is from core.endpointurl\r\n senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return senderConfig;\r\n }\r\n });\r\n // Only update the endpoint if the original config !== the current config\r\n // This is so any redirect endpointUrl is not overwritten\r\n if (_orgEndpointUrl !== senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]) {\r\n if (_orgEndpointUrl) {\r\n // TODO: add doc to remind users to flush before changing endpoint, otherwise all unsent payload will be sent to new endpoint\r\n }\r\n _endpointUrl = _orgEndpointUrl = senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }\r\n // or is not string\r\n if (core.activeStatus() === ActiveStatus.PENDING) {\r\n // waiting for core promises to be resolved\r\n // NOTE: if active status is set to pending, stop sending, clear timer here\r\n _self.pause();\r\n }\r\n else if (core.activeStatus() === ActiveStatus.ACTIVE) {\r\n // core status changed from pending to other status\r\n _self.resume();\r\n }\r\n if (_customHeaders && _customHeaders !== senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */]) {\r\n // Removing any previously defined custom headers as they have changed\r\n arrForEach(_customHeaders, function (customHeader) {\r\n delete _headers[customHeader.header];\r\n });\r\n }\r\n _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */];\r\n _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false) && isBeaconsSupported();\r\n _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false && isBeaconsSupported();\r\n _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false && isBeaconsSupported();\r\n _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:%2ealwaysUseXhrOverride */];\r\n _disableXhr = !!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */];\r\n _retryCodes = senderConfig.retryCodes;\r\n var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */];\r\n var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 /* @min:%2eenableSessionStorageBuffer */] &&\r\n (!!bufferOverride || utlCanUseSessionStorage());\r\n var namePrefix = senderConfig.namePrefix;\r\n //Note: emitLineDelimitedJson and eventsLimitInMem is directly accessed via config in senderBuffer\r\n //Therefore, if canUseSessionStorage is not changed, we do not need to re initialize a new one\r\n var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)\r\n || (canUseSessionStorage && (_namePrefix !== namePrefix)) // prefixName is only used in session storage\r\n || (canUseSessionStorage && (_bufferOverrideUsed !== bufferOverride));\r\n if (_self[_DYN__BUFFER /* @min:%2e_buffer */]) {\r\n // case1 (Pre and Now enableSessionStorageBuffer settings are same)\r\n // if namePrefix changes, transfer current buffer to new buffer\r\n // else no action needed\r\n //case2 (Pre and Now enableSessionStorageBuffer settings are changed)\r\n // transfer current buffer to new buffer\r\n if (shouldUpdate) {\r\n try {\r\n _self._buffer = _self._buffer[_DYN_CREATE_NEW /* @min:%2ecreateNew */](diagLog, senderConfig, canUseSessionStorage);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"failed to transfer telemetry to different buffer storage, telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n _checkMaxSize();\r\n }\r\n else {\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = canUseSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, senderConfig) : new ArraySendBuffer(diagLog, senderConfig);\r\n }\r\n _namePrefix = namePrefix;\r\n _sessionStorageUsed = canUseSessionStorage;\r\n _bufferOverrideUsed = bufferOverride;\r\n _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:%2eonunloadDisableFetch */] && isFetchSupported(true);\r\n _disableBeaconSplit = !!senderConfig[_DYN_DISABLE_SEND_BEACON_7 /* @min:%2edisableSendBeaconSplit */];\r\n _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);\r\n _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n if (!isPromiseLike(_instrumentationKey) && !_validateInstrumentationKey(_instrumentationKey, config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + _instrumentationKey);\r\n }\r\n _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */];\r\n if (isString(_endpointUrl) && !isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_customHeaders, function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n else {\r\n _customHeaders = null;\r\n }\r\n _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE /* @min:%2eenableSendPromise */];\r\n var sendPostConfig = _getSendPostMgrConfig();\r\n // only init it once\r\n if (!_sendPostMgr) {\r\n _sendPostMgr = new SenderPostManager();\r\n _sendPostMgr[_DYN_INITIALIZE /* @min:%2einitialize */](sendPostConfig, diagLog);\r\n }\r\n else {\r\n _sendPostMgr.SetConfig(sendPostConfig);\r\n }\r\n var customInterface = senderConfig.httpXHROverride;\r\n var httpInterface = null;\r\n var syncInterface = null;\r\n // User requested transport(s) values > Beacon > Fetch > XHR\r\n // Beacon would be filtered out if user has set disableBeaconApi to true at _getSenderInterface\r\n var theTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */, 2 /* TransportType.Fetch */], senderConfig.transports);\r\n httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](theTransports, false);\r\n var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();\r\n _xhrSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync);\r\n };\r\n _fallbackSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync, false);\r\n };\r\n httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = function (payload, isAsync) {\r\n return _doSend(httpInterface, payload, isAsync);\r\n };\r\n if (_fetchKeepAlive) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n var syncTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */], senderConfig[_DYN_UNLOAD_TRANSPORTS /* @min:%2eunloadTransports */]);\r\n if (!_fetchKeepAlive) {\r\n // remove fetch from theTransports\r\n syncTransports = syncTransports.filter(function (transport) { return transport !== 2 /* TransportType.Fetch */; });\r\n }\r\n syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](syncTransports, true);\r\n syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);\r\n if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS /* @min:%2eunloadTransports */] || !_syncUnloadSender) && syncInterface) {\r\n _syncUnloadSender = function (payload, isAsync) {\r\n return _doSend(syncInterface, payload, isAsync);\r\n };\r\n }\r\n if (!_syncUnloadSender) {\r\n _syncUnloadSender = _xhrSend;\r\n }\r\n _disableTelemetry = senderConfig.disableTelemetry;\r\n _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */] || UNDEFINED_VALUE;\r\n _isRetryDisabled = senderConfig.isRetryDisabled;\r\n _maxBatchInterval = senderConfig[_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */];\r\n }));\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n var _a;\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var isValidate = _validate(telemetryItem, diagLogger);\r\n if (!isValidate) {\r\n return;\r\n }\r\n var aiEnvelope = _getEnvelope(telemetryItem, diagLogger);\r\n if (!aiEnvelope) {\r\n return;\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer[_DYN_SERIALIZE /* @min:%2eserialize */](aiEnvelope);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n _checkMaxSize(payload);\r\n var payloadItem = (_a = {},\r\n _a[_DYN_ITEM /* @min:item */] = payload,\r\n _a.cnt = 0 // inital cnt will always be 0\r\n ,\r\n _a);\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payloadItem);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n _self.isCompletelyIdle = function () {\r\n return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT /* @min:%2ecount */]() === 0;\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // since version 3.2.0, this function is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async - {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender - {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n var result;\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_disableTelemetry) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n result = forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n result = _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n _self.getOfflineSupport = function () {\r\n var _a;\r\n return _a = {\r\n getUrl: function () {\r\n return _endpointUrl;\r\n },\r\n createPayload: _createPayload\r\n },\r\n _a[_DYN_SERIALIZE /* @min:serialize */] = _serialize,\r\n _a.batch = _batch,\r\n _a.shouldProcess = function (evt) {\r\n return !!_validate(evt);\r\n },\r\n _a;\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n runTargetUnload(_offlineListener, false);\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onError(payload, message, event);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onPartialSuccess(payload, results);\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onSuccess(payload, countOfItemsInPayload);\r\n //_self._buffer && _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xdrOnLoad(xdr, payload);\r\n };\r\n function _xdrOnLoad(xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = parseResponse(responseText);\r\n if (results && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n }\r\n function _getSendPostMgrConfig() {\r\n var _a;\r\n try {\r\n var onCompleteFuncs = {\r\n xdrOnComplete: function (xdr, oncomplete, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _xdrOnLoad(xdr, data);\r\n },\r\n fetchOnComplete: function (response, onComplete, resValue, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH /* @min:%2elength */], response.statusText, resValue || \"\");\r\n },\r\n xhrOnComplete: function (request, oncomplete, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _xhrReadyStateChange(request, data, data[_DYN_LENGTH /* @min:%2elength */]);\r\n },\r\n beaconOnRetry: function (data, onComplete, canSend) {\r\n return _onBeaconRetry(data, onComplete, canSend);\r\n }\r\n };\r\n var config = (_a = {},\r\n _a[_DYN_ENABLE_SEND_PROMISE /* @min:enableSendPromise */] = _enableSendPromise,\r\n _a.isOneDs = false,\r\n _a.disableCredentials = false,\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = _disableXhr,\r\n _a.disableBeacon = !_beaconNormalSupported,\r\n _a.disableBeaconSync = !_beaconOnUnloadSupported,\r\n _a.senderOnCompleteCallBack = onCompleteFuncs,\r\n _a);\r\n return config;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n /**\r\n * xhr state changes\r\n */\r\n function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n }\r\n /**\r\n * error handler\r\n */\r\n function _onError(payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n /**\r\n * partial success handler\r\n */\r\n function _onPartialSuccess(payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n }\r\n /**\r\n * success handler\r\n */\r\n function _onSuccess(payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n function _getPayloadArr(payload) {\r\n try {\r\n if (payload) {\r\n var internalPayload = payload;\r\n var arr = internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return arr;\r\n }\r\n return null;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _validate(telemetryItem, diagLogger) {\r\n if (_disableTelemetry) {\r\n // Do not send/save data\r\n return false;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return false;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return false;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return false;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n diagLogger && _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return false;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n return true;\r\n }\r\n function _getEnvelope(telemetryItem, diagLogger) {\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _instrumentationKey;\r\n var aiEnvelope = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, _convertUndefined);\r\n if (!aiEnvelope) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope) === false) {\r\n doNotSendItem = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n return aiEnvelope;\r\n }\r\n function _serialize(item) {\r\n var rlt = EMPTY_STR;\r\n var diagLogger = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var valid = _validate(item, diagLogger);\r\n var envelope = null;\r\n if (valid) {\r\n envelope = _getEnvelope(item, diagLogger);\r\n }\r\n if (envelope) {\r\n rlt = _serializer[_DYN_SERIALIZE /* @min:%2eserialize */](envelope);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return rlt;\r\n }\r\n function _batch(arr) {\r\n var rlt = EMPTY_STR;\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n rlt = \"[\" + arr.join(\",\") + \"]\";\r\n }\r\n return rlt;\r\n }\r\n function _createPayload(data) {\r\n var _a;\r\n var headers = _getHeaders();\r\n return _a = {\r\n urlString: _endpointUrl\r\n },\r\n _a[_DYN_DATA /* @min:data */] = data,\r\n _a.headers = headers,\r\n _a;\r\n }\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _getOnComplete(payload, status, headers, response) {\r\n // ***********************************************************************************************\r\n //TODO: handle other status codes\r\n if (status === 200 && payload) {\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n else {\r\n response && _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response);\r\n }\r\n }\r\n function _doSend(sendInterface, payload, isAsync, markAsSent) {\r\n if (markAsSent === void 0) { markAsSent = true; }\r\n var onComplete = function (status, headers, response) {\r\n return _getOnComplete(payload, status, headers, response);\r\n };\r\n var payloadData = _getPayload(payload);\r\n var sendPostFunc = sendInterface && sendInterface.sendPOST;\r\n if (sendPostFunc && payloadData) {\r\n // ***********************************************************************************************\r\n // mark payload as sent at the beginning of calling each send function\r\n if (markAsSent) {\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n return sendPostFunc(payloadData, onComplete, !isAsync);\r\n }\r\n return null;\r\n }\r\n function _getPayload(payload) {\r\n var _a;\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = _self[_DYN__BUFFER /* @min:%2e_buffer */].batchPayloads(payload);\r\n var headers = _getHeaders();\r\n var payloadData = (_a = {},\r\n _a[_DYN_DATA /* @min:data */] = batch,\r\n _a.urlString = _endpointUrl,\r\n _a.headers = headers,\r\n _a.disableXhrSync = _disableXhr,\r\n _a.disableFetchKeepAlive = !_fetchKeepAlive,\r\n _a[_DYN_ORI_PAYLOAD /* @min:oriPayload */] = payload,\r\n _a);\r\n return payloadData;\r\n }\r\n return null;\r\n }\r\n function _getHeaders() {\r\n try {\r\n var headers = _headers || {};\r\n if (isInternalApplicationInsightsEndpoint(_endpointUrl)) {\r\n headers[RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */]] = RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */];\r\n }\r\n return headers;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _checkMaxSize(incomingPayload) {\r\n var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if ((_self[_DYN__BUFFER /* @min:%2e_buffer */].size() + incomingSize) > _maxBatchSizeInBytes) {\r\n if (!_offlineListener || _offlineListener.isOnline()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (_offlineListener && !_offlineListener.isOnline()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_isRetryDisabled) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n return;\r\n }\r\n if (!_isRetryDisabled && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = parseResponse(res);\r\n }\r\n if (response && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _endpointUrl) {\r\n _endpointUrl = responseUrl;\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([3 /* TransportType.Beacon */], true);\r\n return _doSend(beaconInst, payload, isAsync);\r\n }\r\n }\r\n function _onBeaconRetry(payload, onComplete, canSend) {\r\n var internalPayload = payload;\r\n var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n if (!_disableBeaconSplit) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < data[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = data[lp];\r\n var arr = [thePayload];\r\n var item = _getPayload(arr);\r\n if (!canSend(item, onComplete)) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n else {\r\n _self._onSuccess(arr, arr[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSend && _fallbackSend(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n else {\r\n _fallbackSend && _fallbackSend(data, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n function _isStringArr(arr) {\r\n try {\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return (isString(arr[0]));\r\n }\r\n }\r\n catch (e) {\r\n //TODO: log, sender use IInternalStorageItem instead of string since 3.1.3\r\n }\r\n return null;\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n var transport = null;\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp].item[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();\r\n if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n transport = 2 /* TransportType.Fetch */;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n transport = 3 /* TransportType.Beacon */;\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n transport = 1 /* TransportType.Xhr */;\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([transport], true);\r\n return _doSend(inst, payload, isAsync);\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n item.cnt = item.cnt || 0; // to make sure we have cnt for each payload\r\n item.cnt++; // when resend, increase cnt\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_maxBatchInterval, retryInterval);\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && _retryCodes.indexOf(statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n // || statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(instrumentationKey, config) {\r\n var disableValidation = config.disableInstrumentationKeyValidation;\r\n var disableIKeyValidationFlag = isNullOrUndefined(disableValidation) ? false : disableValidation;\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(instrumentationKey);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n _endpointUrl = null;\r\n _orgEndpointUrl = null;\r\n _maxBatchSizeInBytes = 0;\r\n _beaconSupported = false;\r\n _customHeaders = null;\r\n _disableTelemetry = false;\r\n _instrumentationKey = null;\r\n _convertUndefined = UNDEFINED_VALUE;\r\n _isRetryDisabled = false;\r\n _sessionStorageUsed = null;\r\n _namePrefix = UNDEFINED_VALUE;\r\n _disableXhr = false;\r\n _fetchKeepAlive = false;\r\n _disableBeaconSplit = false;\r\n _xhrSend = null;\r\n _fallbackSend = null;\r\n _sendPostMgr = null;\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return objExtend({}, defaultAppInsightsChannelConfig);\r\n }\r\n });\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n// Removed Stub for Sender.prototype.isCompletelyIdle.\r\n// Removed Stub for Sender.prototype.getOfflineSupport.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_SERIALIZE, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self[_DYN_SERIALIZE /* @min:%2eserialize */] = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n output[field] = num;\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_CONCAT, _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input[_DYN_CONCAT /* @min:%2econcat */](input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n//# sourceMappingURL=Sample.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrReduce, objKeys, strEndsWith } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // apply the default endpoints\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n }\r\n // apply user override endpoint or the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n if (strEndsWith(result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */], \"/\")) {\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */].slice(0, -1);\r\n }\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n//# sourceMappingURL=ConnectionStringParser.js.map","/*\n * Application Insights JavaScript SDK - Common, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _throwInternal, arrIndexOf, isNotNullOrUndefined, isNullOrUndefined, onConfigChange, randomValue, safeGetLogger, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { arrForEach, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { _DYN_COUNT, _DYN_DATE, _DYN_DAYS_OF_MONTH, _DYN_DISABLED, _DYN_GET_UTCDATE, _DYN_INTERVAL, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PRE_TRIGGER_DATE, _DYN_PUSH, _DYN_STRINGIFY } from \"./__DynamicConstants\";\r\nvar THROTTLE_STORAGE_PREFIX = \"appInsightsThrottle\";\r\nvar ThrottleMgr = /** @class */ (function () {\r\n function ThrottleMgr(core, namePrefix) {\r\n var _self = this;\r\n var _canUseLocalStorage;\r\n var _logger;\r\n var _config;\r\n var _localStorageObj;\r\n var _isTriggered; //_isTriggered is to make sure that we only trigger throttle once a day\r\n var _namePrefix;\r\n var _queue;\r\n var _isReady = false;\r\n var _isSpecificDaysGiven = false;\r\n _initConfig();\r\n // Special internal method to allow the unit tests and DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_queue];\r\n };\r\n _self.getConfig = function () {\r\n return _config;\r\n };\r\n /**\r\n * Check if it is the correct day to send message.\r\n * If _isTriggered is true, even if canThrottle returns true, message will not be sent,\r\n * because we only allow triggering sendMessage() once a day.\r\n * @returns if the current date is the valid date to send message\r\n */\r\n _self.canThrottle = function (msgId) {\r\n var localObj = _getLocalStorageObjByKey(msgId);\r\n var cfg = _getCfgByKey(msgId);\r\n return _canThrottle(cfg, _canUseLocalStorage, localObj);\r\n };\r\n /**\r\n * Check if throttle is triggered on current day(UTC)\r\n * if canThrottle returns false, isTriggered will return false\r\n * @returns if throttle is triggered on current day(UTC)\r\n */\r\n _self.isTriggered = function (msgId) {\r\n return _isTrigger(msgId);\r\n };\r\n /**\r\n * Before isReady set to true, all message will be stored in queue.\r\n * Message will only be sent out after isReady set to true.\r\n * Initial and default value: false\r\n * @returns isReady state\r\n */\r\n _self.isReady = function () {\r\n return _isReady;\r\n };\r\n /**\r\n * Flush all message with given message key in queue with isReady state set to true.\r\n * @returns if message queue is flushed\r\n */\r\n _self.flush = function (msgId) {\r\n try {\r\n var queue = _getQueueByKey(msgId);\r\n if (queue && queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var items = queue.slice(0);\r\n _queue[msgId] = [];\r\n arrForEach(items, function (item) {\r\n _flushMessage(item.msgID, item[_DYN_MESSAGE /* @min:%2emessage */], item.severity, false);\r\n });\r\n return true;\r\n }\r\n }\r\n catch (err) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n /**\r\n * Flush all message in queue with isReady state set to true.\r\n * @returns if message queue is flushed\r\n */\r\n _self.flushAll = function () {\r\n try {\r\n if (_queue) {\r\n var result_1 = true;\r\n objForEachKey(_queue, function (key) {\r\n var isFlushed = _self.flush(parseInt(key));\r\n result_1 = result_1 && isFlushed;\r\n });\r\n return result_1;\r\n }\r\n }\r\n catch (err) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n /**\r\n * Set isReady State\r\n * if isReady set to true, message queue will be flushed automatically.\r\n * @param isReady isReady State\r\n * @pa\r\n * @returns if message queue is flushed\r\n */\r\n _self.onReadyState = function (isReady, flushAll) {\r\n if (flushAll === void 0) { flushAll = true; }\r\n _isReady = isNullOrUndefined(isReady) ? true : isReady;\r\n if (_isReady && flushAll) {\r\n return _self.flushAll();\r\n }\r\n return null;\r\n };\r\n _self.sendMessage = function (msgID, message, severity) {\r\n return _flushMessage(msgID, message, severity, true);\r\n };\r\n function _flushMessage(msgID, message, severity, saveUnsentMsg) {\r\n if (_isReady) {\r\n var isSampledIn = _canSampledIn(msgID);\r\n if (!isSampledIn) {\r\n return;\r\n }\r\n var cfg = _getCfgByKey(msgID);\r\n var localStorageObj = _getLocalStorageObjByKey(msgID);\r\n var canThrottle = _canThrottle(cfg, _canUseLocalStorage, localStorageObj);\r\n var throttled = false;\r\n var number = 0;\r\n var isTriggered = _isTrigger(msgID);\r\n try {\r\n if (canThrottle && !isTriggered) {\r\n number = Math.min(cfg.limit.maxSendNumber, localStorageObj[_DYN_COUNT /* @min:%2ecount */] + 1);\r\n localStorageObj[_DYN_COUNT /* @min:%2ecount */] = 0;\r\n throttled = true;\r\n _isTriggered[msgID] = true;\r\n localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */] = new Date();\r\n }\r\n else {\r\n _isTriggered[msgID] = canThrottle;\r\n localStorageObj[_DYN_COUNT /* @min:%2ecount */] += 1;\r\n }\r\n var localStorageName = _getLocalStorageName(msgID);\r\n _resetLocalStorage(_logger, localStorageName, localStorageObj);\r\n for (var i = 0; i < number; i++) {\r\n _sendMessage(msgID, _logger, message, severity);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return {\r\n isThrottled: throttled,\r\n throttleNum: number\r\n };\r\n }\r\n else {\r\n if (!!saveUnsentMsg) {\r\n var queue = _getQueueByKey(msgID);\r\n queue[_DYN_PUSH /* @min:%2epush */]({\r\n msgID: msgID,\r\n message: message,\r\n severity: severity\r\n });\r\n }\r\n }\r\n return null;\r\n }\r\n function _initConfig() {\r\n _logger = safeGetLogger(core);\r\n _isTriggered = {};\r\n _localStorageObj = {};\r\n _queue = {};\r\n _config = {};\r\n _setCfgByKey(109 /* _eInternalMessageId.DefaultThrottleMsgKey */);\r\n _namePrefix = isNotNullOrUndefined(namePrefix) ? namePrefix : \"\";\r\n core.addUnloadHook(onConfigChange(core.config, function (details) {\r\n var coreConfig = details.cfg;\r\n _canUseLocalStorage = utlCanUseLocalStorage();\r\n var configMgr = coreConfig.throttleMgrCfg || {};\r\n objForEachKey(configMgr, function (key, cfg) {\r\n _setCfgByKey(parseInt(key), cfg);\r\n });\r\n }));\r\n }\r\n function _getCfgByKey(msgID) {\r\n return _config[msgID] || _config[109 /* _eInternalMessageId.DefaultThrottleMsgKey */];\r\n }\r\n function _setCfgByKey(msgID, config) {\r\n var _a, _b;\r\n try {\r\n var cfg = config || {};\r\n var curCfg = {};\r\n curCfg[_DYN_DISABLED /* @min:%2edisabled */] = !!cfg[_DYN_DISABLED /* @min:%2edisabled */];\r\n var configInterval = cfg[_DYN_INTERVAL /* @min:%2einterval */] || {};\r\n _isSpecificDaysGiven = (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth) && (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth[_DYN_LENGTH /* @min:%2elength */]) > 0;\r\n curCfg[_DYN_INTERVAL /* @min:%2einterval */] = _getIntervalConfig(configInterval);\r\n var limit = {\r\n samplingRate: ((_a = cfg.limit) === null || _a === void 0 ? void 0 : _a.samplingRate) || 100,\r\n // dafault: every time sent only 1 event\r\n maxSendNumber: ((_b = cfg.limit) === null || _b === void 0 ? void 0 : _b.maxSendNumber) || 1\r\n };\r\n curCfg.limit = limit;\r\n _config[msgID] = curCfg;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _getIntervalConfig(interval) {\r\n interval = interval || {};\r\n var monthInterval = interval === null || interval === void 0 ? void 0 : interval.monthInterval;\r\n var dayInterval = interval === null || interval === void 0 ? void 0 : interval.dayInterval;\r\n // default: send data every 3 month each year\r\n if (isNullOrUndefined(monthInterval) && isNullOrUndefined(dayInterval)) {\r\n interval.monthInterval = 3;\r\n if (!_isSpecificDaysGiven) {\r\n // default: send data on 28th\r\n interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */] = [28];\r\n _isSpecificDaysGiven = true;\r\n }\r\n }\r\n interval = {\r\n // dafault: sent every three months\r\n monthInterval: interval === null || interval === void 0 ? void 0 : interval.monthInterval,\r\n dayInterval: interval === null || interval === void 0 ? void 0 : interval.dayInterval,\r\n daysOfMonth: interval === null || interval === void 0 ? void 0 : interval.daysOfMonth\r\n };\r\n return interval;\r\n }\r\n function _canThrottle(config, canUseLocalStorage, localStorageObj) {\r\n if (config && !config[_DYN_DISABLED /* @min:%2edisabled */] && canUseLocalStorage && isNotNullOrUndefined(localStorageObj)) {\r\n var curDate = _getThrottleDate();\r\n var date = localStorageObj[_DYN_DATE /* @min:%2edate */];\r\n var interval = config[_DYN_INTERVAL /* @min:%2einterval */];\r\n var monthCheck = 1;\r\n if (interval === null || interval === void 0 ? void 0 : interval.monthInterval) {\r\n var monthExpand = (curDate.getUTCFullYear() - date.getUTCFullYear()) * 12 + curDate.getUTCMonth() - date.getUTCMonth();\r\n monthCheck = _checkInterval(interval.monthInterval, 0, monthExpand);\r\n }\r\n var dayCheck = 1;\r\n if (_isSpecificDaysGiven) {\r\n dayCheck = arrIndexOf(interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */], curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]());\r\n }\r\n else if (interval === null || interval === void 0 ? void 0 : interval.dayInterval) {\r\n var daySpan = Math.floor((curDate.getTime() - date.getTime()) / 86400000);\r\n dayCheck = _checkInterval(interval.dayInterval, 0, daySpan);\r\n }\r\n return monthCheck >= 0 && dayCheck >= 0;\r\n }\r\n return false;\r\n }\r\n function _getLocalStorageName(msgKey, prefix) {\r\n var fix = isNotNullOrUndefined(prefix) ? prefix : \"\";\r\n if (msgKey) {\r\n return THROTTLE_STORAGE_PREFIX + fix + \"-\" + msgKey;\r\n }\r\n return null;\r\n }\r\n // returns if throttle is triggered on current Date\r\n function _isTriggeredOnCurDate(preTriggerDate) {\r\n try {\r\n if (preTriggerDate) {\r\n var curDate = new Date();\r\n return preTriggerDate.getUTCFullYear() === curDate.getUTCFullYear() &&\r\n preTriggerDate.getUTCMonth() === curDate.getUTCMonth() &&\r\n preTriggerDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]() === curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n // transfer local storage string value to object that identifies start date, current count and preTriggerDate\r\n function _getLocalStorageObj(value, logger, storageName) {\r\n try {\r\n var storageObj = {\r\n date: _getThrottleDate(),\r\n count: 0\r\n };\r\n if (value) {\r\n var obj = JSON.parse(value);\r\n var curObj = {\r\n date: _getThrottleDate(obj[_DYN_DATE /* @min:%2edate */]) || storageObj[_DYN_DATE /* @min:%2edate */],\r\n count: obj[_DYN_COUNT /* @min:%2ecount */] || storageObj[_DYN_COUNT /* @min:%2ecount */],\r\n preTriggerDate: obj.preTriggerDate ? _getThrottleDate(obj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]) : undefined\r\n };\r\n return curObj;\r\n }\r\n else {\r\n _resetLocalStorage(logger, storageName, storageObj);\r\n return storageObj;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n // if datestr is not defined, current date will be returned\r\n function _getThrottleDate(dateStr) {\r\n // if new Date() can't be created through the provided dateStr, null will be returned.\r\n try {\r\n if (dateStr) {\r\n var date = new Date(dateStr);\r\n //make sure it is a valid Date Object\r\n if (!isNaN(date.getDate())) {\r\n return date;\r\n }\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _resetLocalStorage(logger, storageName, obj) {\r\n try {\r\n return utlSetLocalStorage(logger, storageName, strTrim(JSON[_DYN_STRINGIFY /* @min:%2estringify */](obj)));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _checkInterval(interval, start, current) {\r\n if (interval <= 0) {\r\n return 1;\r\n }\r\n // count from start year\r\n return (current >= start) && (current - start) % interval == 0 ? Math.floor((current - start) / interval) + 1 : -1;\r\n }\r\n function _sendMessage(msgID, logger, message, severity) {\r\n _throwInternal(logger, severity || 1 /* eLoggingSeverity.CRITICAL */, msgID, message);\r\n }\r\n // NOTE: config.limit.samplingRate is set to 4 decimal places,\r\n // so config.limit.samplingRate = 1 means 0.0001%\r\n function _canSampledIn(msgID) {\r\n try {\r\n var cfg = _getCfgByKey(msgID);\r\n return randomValue(1000000) <= cfg.limit.samplingRate;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getLocalStorageObjByKey(key) {\r\n try {\r\n var curObj = _localStorageObj[key];\r\n if (!curObj) {\r\n var localStorageName = _getLocalStorageName(key, _namePrefix);\r\n curObj = _getLocalStorageObj(utlGetLocalStorage(_logger, localStorageName), _logger, localStorageName);\r\n _localStorageObj[key] = curObj;\r\n }\r\n return _localStorageObj[key];\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _isTrigger(key) {\r\n var isTrigger = _isTriggered[key];\r\n if (isNullOrUndefined(isTrigger)) {\r\n isTrigger = false;\r\n var localStorageObj = _getLocalStorageObjByKey(key);\r\n if (localStorageObj) {\r\n isTrigger = _isTriggeredOnCurDate(localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]);\r\n }\r\n _isTriggered[key] = isTrigger;\r\n }\r\n return _isTriggered[key];\r\n }\r\n function _getQueueByKey(key) {\r\n _queue = _queue || {};\r\n if (isNullOrUndefined(_queue[key])) {\r\n _queue[key] = [];\r\n }\r\n return _queue[key];\r\n }\r\n }\r\n return ThrottleMgr;\r\n}());\r\nexport { ThrottleMgr };\r\n//# sourceMappingURL=ThrottleMgr.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createAllPromise, createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, arrIndexOf, objDefine, safe, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_DATA, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_0, _DYN_SPLICE, _DYN_UNLOAD, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_OFFLINE_DROP, STR_OFFLINE_SENT, STR_OFFLINE_STORE, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar defaultValues = {\r\n perfEvtsSendAll: false\r\n};\r\nfunction _runScheduledListeners(asyncNotifications) {\r\n asyncNotifications.h = null;\r\n var callbacks = asyncNotifications.cb;\r\n asyncNotifications.cb = [];\r\n arrForEach(callbacks, function (cb) {\r\n // Run the listener in a try-catch to ensure that a single listener failing doesn't prevent the others from running\r\n safe(cb.fn, [cb.arg]);\r\n });\r\n}\r\n// This function is used to combine the logic of running the listeners and handling the async notifications so that they don't\r\n// create multiple timers if there are multiple async listeners.\r\nfunction _runListeners(listeners, name, asyncNotifications, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (asyncNotifications) {\r\n // Schedule the callback to be called after the current call stack has cleared.\r\n asyncNotifications.cb[_DYN_PUSH /* @min:%2epush */]({\r\n fn: callback,\r\n arg: listener\r\n });\r\n asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);\r\n }\r\n else {\r\n // Run the listener in a try-catch to ensure that a single listener failing doesn't prevent the others from running\r\n safe(callback, [listener]);\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll;\r\n var unloadHandler;\r\n var _listeners = [];\r\n var _asyncNotifications = {\r\n h: null,\r\n cb: []\r\n };\r\n var cfgHandler = createDynamicConfig(config, defaultValues);\r\n unloadHandler = cfgHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;\r\n });\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n objDefine(_self, \"listeners\", {\r\n g: function () { return _listeners; }\r\n });\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_listeners, listener);\r\n while (index > -1) {\r\n _listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_listeners, listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param events - The array of events that have been discarded by the SDK.\r\n * @param reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param sendReason - The reason why the event batch is being sent.\r\n * @param isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n scheduleTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n _self[STR_OFFLINE_STORE /* @min:%2eofflineEventsStored */] = function (events) {\r\n if (events && events[_DYN_LENGTH /* @min:%2elength */]) {\r\n _runListeners(_listeners, STR_OFFLINE_STORE, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_STORE /* @min:%2eofflineEventsStored */](events);\r\n });\r\n }\r\n };\r\n _self[STR_OFFLINE_SENT /* @min:%2eofflineBatchSent */] = function (batch) {\r\n if (batch && batch[_DYN_DATA /* @min:%2edata */]) {\r\n _runListeners(_listeners, STR_OFFLINE_SENT, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_SENT /* @min:%2eofflineBatchSent */](batch);\r\n });\r\n }\r\n };\r\n _self[STR_OFFLINE_DROP /* @min:%2eofflineBatchDrop */] = function (cnt, reason) {\r\n if (cnt > 0) {\r\n var rn_1 = reason || 0; // default is unknown\r\n _runListeners(_listeners, STR_OFFLINE_DROP, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_DROP /* @min:%2eofflineBatchDrop */](cnt, rn_1);\r\n });\r\n }\r\n };\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n var _finishUnload = function () {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n _listeners = [];\r\n // Clear any async listener\r\n _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _asyncNotifications.h = null;\r\n _asyncNotifications.cb = [];\r\n };\r\n var waiting;\r\n _runListeners(_listeners, \"unload\", null, function (listener) {\r\n var asyncUnload = listener[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n if (asyncUnload) {\r\n if (!waiting) {\r\n waiting = [];\r\n }\r\n waiting[_DYN_PUSH /* @min:%2epush */](asyncUnload);\r\n }\r\n });\r\n if (waiting) {\r\n return createPromise(function (resolve) {\r\n return doAwaitResponse(createAllPromise(waiting), function () {\r\n _finishUnload();\r\n resolve();\r\n });\r\n });\r\n }\r\n else {\r\n _finishUnload();\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n// Removed Stub for NotificationManager.prototype.perfEvent.\r\n// Removed Stub for NotificationManager.prototype.unload.\r\n// Removed Stub for NotificationManager.prototype.offlineEventsStored.\r\n// Removed Stub for NotificationManager.prototype.offlineBatchSent.\r\n// Removed Stub for NotificationManager.prototype.offlineBatchDrop.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n NotificationManager.__ieDyn=1;\n\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n//# sourceMappingURL=NotificationManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n// \r\n// \r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nfunction _addInitializer(_initializers, id, telemetryInitializer) {\r\n var theInitializer = {\r\n id: id,\r\n fn: telemetryInitializer\r\n };\r\n arrAppend(_initializers, theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n}\r\nfunction _runInitializers(_initializers, item, logger) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Telemetry initializer failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n return !doNotSendItem;\r\n}\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n return _addInitializer(_initializers, _id++, telemetryInitializer);\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n if (_runInitializers(_initializers, item, itemCtx ? itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]() : _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]())) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n TelemetryInitializerPlugin.__ieDyn=1;\n\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n//# sourceMappingURL=TelemetryInitializerPlugin.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createPromise, createSyncAllSettledPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrAppend, arrForEach, arrIndexOf, createTimeout, deepExtend, hasDocument, isFunction, isNullOrUndefined, isPlainObject, isPromiseLike, objDeepFreeze, objDefine, objForEachKey, objFreeze, objHasOwn, scheduleTimeout, throwError } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { ActiveStatus } from \"../JavaScriptSDK.Enums/InitActiveStatusEnum\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT2, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_I_KEY, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_POLL_INTERNAL_LOGS, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_0, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_UNLOAD, _DYN_VALUE, _DYN_VERSION, _DYN_WATCH, _DYN__INACTIVE } from \"../__DynamicConstants\";\r\nimport { doUnloadAll, runTargetUnload } from \"./AsyncUtils\";\r\nimport { ChannelControllerPriority } from \"./Constants\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { getSetValue, isNotNullOrUndefined, proxyFunctionAs, proxyFunctions, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EMPTY, STR_EVENTS_DISCARDED, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { PerfManager, doPerf, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\nvar maxInitQueueSize = 100;\r\nvar maxInitTimeout = 50000;\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\n/**\r\n * The default settings for the config.\r\n * WE MUST include all defaults here to ensure that the config is created with all of the properties\r\n * defined as dynamic.\r\n */\r\nvar defaultConfig = objDeepFreeze((_a = {\r\n cookieCfg: {}\r\n },\r\n _a[STR_EXTENSIONS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_CHANNELS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_EXTENSION_CONFIG] = { ref: true, v: {} },\r\n _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,\r\n _a.loggingLevelConsole = 0 /* eLoggingSeverity.DISABLED */,\r\n _a.diagnosticLogInterval = UNDEFINED_VALUE,\r\n _a));\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n var channels = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channels\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by AppInsightsCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n else {\r\n channels[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {},\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a[STR_CHANNELS /* @min:channels */] = channels,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _deepMergeConfig(details, target, newValues, merge) {\r\n // Lets assign the new values to the existing config\r\n if (newValues) {\r\n objForEachKey(newValues, function (key, value) {\r\n if (merge) {\r\n if (isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n }\r\n if (merge && isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n else {\r\n // Just Assign (replace) and/or make the property dynamic\r\n details.set(target, key, value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _findWatcher(listeners, newWatcher) {\r\n var theListener = null;\r\n var idx = -1;\r\n arrForEach(listeners, function (listener, lp) {\r\n if (listener.w === newWatcher) {\r\n theListener = listener;\r\n idx = lp;\r\n return -1;\r\n }\r\n });\r\n return { i: idx, l: theListener };\r\n}\r\nfunction _addDelayedCfgListener(listeners, newWatcher) {\r\n var theListener = _findWatcher(listeners, newWatcher).l;\r\n if (!theListener) {\r\n theListener = {\r\n w: newWatcher,\r\n rm: function () {\r\n var fnd = _findWatcher(listeners, newWatcher);\r\n if (fnd.i !== -1) {\r\n listeners[_DYN_SPLICE /* @min:%2esplice */](fnd.i, 1);\r\n }\r\n }\r\n };\r\n listeners[_DYN_PUSH /* @min:%2epush */](theListener);\r\n }\r\n return theListener;\r\n}\r\nfunction _registerDelayedCfgListener(config, listeners, logger) {\r\n arrForEach(listeners, function (listener) {\r\n var unloadHdl = onConfigChange(config, listener.w, logger);\r\n delete listener.w; // Clear the listener reference so it will get garbage collected.\r\n // replace the remove function\r\n listener.rm = function () {\r\n unloadHdl.rm();\r\n };\r\n });\r\n}\r\n// Moved this outside of the closure to reduce the retained memory footprint\r\nfunction _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {\r\n // Will get recalled if any referenced config values are changed\r\n unloadContainer.add(configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var disableDbgExt = details.cfg.disableDbgExt;\r\n if (disableDbgExt === true && debugListener) {\r\n // Remove any previously loaded debug listener\r\n notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](debugListener);\r\n debugListener = null;\r\n }\r\n if (notificationManager && !debugListener && disableDbgExt !== true) {\r\n debugListener = getDebugListener(details.cfg);\r\n notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](debugListener);\r\n }\r\n }));\r\n return debugListener;\r\n}\r\n// Moved this outside of the closure to reduce the retained memory footprint\r\nfunction _createUnloadHook(unloadHook) {\r\n return objDefine({\r\n rm: function () {\r\n unloadHook.rm();\r\n }\r\n }, \"toJSON\", { v: function () { return \"aicore::onCfgChange<\" + JSON.stringify(unloadHook) + \">\"; } });\r\n}\r\n/**\r\n * @group Classes\r\n * @group Entrypoint\r\n */\r\nvar AppInsightsCore = /** @class */ (function () {\r\n function AppInsightsCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _configHandler;\r\n var _isInitialized;\r\n var _logger;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _channelConfig;\r\n var _channels;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _hookContainer;\r\n var _debugListener;\r\n var _traceCtx;\r\n var _instrumentationKey;\r\n var _cfgListeners;\r\n var _extensions;\r\n var _pluginVersionStringArr;\r\n var _pluginVersionString;\r\n var _activeStatus; // to indicate if ikey or endpoint url promised is resolved or not\r\n var _endpoint;\r\n var _initInMemoMaxSize; // max event count limit during wait for init promises to be resolved\r\n var _isStatusSet; // track if active status is set in case of init timeout and init promises setting the status twice\r\n var _initTimer;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller;\r\n var _internalLogPollerListening;\r\n var _forceStopInternalLogPoller;\r\n dynamicProto(AppInsightsCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n // Special internal method to allow the unit tests and DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_extensions, _eventQueue];\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // since version 3.3.0\r\n _self.activeStatus = function () { return _activeStatus; };\r\n // since version 3.3.0\r\n // internal\r\n _self._setPendingStatus = function () {\r\n _activeStatus = 3 /* eActiveStatus.PENDING */;\r\n };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core cannot be initialized more than once\");\r\n }\r\n _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER /* @min:%2elogger */], false);\r\n // Re-assigning the local config property so we don't have any references to the passed value and it can be garbage collected\r\n config = _configHandler.cfg;\r\n // This will be \"re-run\" if the referenced config properties are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var rootCfg = details.cfg;\r\n var isPending = _activeStatus === 3 /* eActiveStatus.PENDING */;\r\n if (isPending) {\r\n // means waiting for previous promises to be resolved, won't apply new changes\r\n return;\r\n }\r\n _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;\r\n // app Insights core only handle ikey and endpointurl, aisku will handle cs\r\n var ikey = rootCfg[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n var endpointUrl = rootCfg.endpointUrl; // do not need to validate endpoint url, if it is null, default one will be set by sender\r\n if (isNullOrUndefined(ikey)) {\r\n _instrumentationKey = null;\r\n // if new ikey is null, set status to be inactive, all new events will be saved in memory or dropped\r\n _activeStatus = ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */];\r\n var msg = \"Please provide instrumentation key\";\r\n if (!_isInitialized) {\r\n // only throw error during initialization\r\n throwError(msg);\r\n }\r\n else {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, msg);\r\n _releaseQueues();\r\n }\r\n return;\r\n }\r\n var promises = [];\r\n if (isPromiseLike(ikey)) {\r\n promises[_DYN_PUSH /* @min:%2epush */](ikey);\r\n _instrumentationKey = null; // reset current local ikey variable (otherwise it will always be the previous ikeys if timeout is called before promise cb)\r\n }\r\n else {\r\n // string\r\n _instrumentationKey = ikey;\r\n }\r\n if (isPromiseLike(endpointUrl)) {\r\n promises[_DYN_PUSH /* @min:%2epush */](endpointUrl);\r\n _endpoint = null; // reset current local endpoint variable (otherwise it will always be the previous urls if timeout is called before promise cb)\r\n }\r\n else {\r\n // string or null\r\n _endpoint = endpointUrl;\r\n }\r\n // at least have one promise\r\n if (promises[_DYN_LENGTH /* @min:%2elength */]) {\r\n // reset to false for new dynamic changes\r\n _isStatusSet = false;\r\n _activeStatus = 3 /* eActiveStatus.PENDING */;\r\n var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout; // rootCfg.initTimeOut could be 0\r\n var allPromises = createSyncAllSettledPromise(promises);\r\n _initTimer = scheduleTimeout(function () {\r\n // set _isStatusSet to true\r\n // set active status\r\n // release queues\r\n _initTimer = null;\r\n if (!_isStatusSet) {\r\n _setStatus();\r\n }\r\n }, initTimeout);\r\n doAwaitResponse(allPromises, function (response) {\r\n try {\r\n if (_isStatusSet) {\r\n // promises take too long to resolve, ignore them\r\n // active status should be set by timeout already\r\n return;\r\n }\r\n if (!response.rejected) {\r\n var values = response[_DYN_VALUE /* @min:%2evalue */];\r\n if (values && values[_DYN_LENGTH /* @min:%2elength */]) {\r\n // ikey\r\n var ikeyRes = values[0];\r\n _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE /* @min:%2evalue */];\r\n // endpoint\r\n if (values[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n var endpointRes = values[1];\r\n _endpoint = endpointRes && endpointRes[_DYN_VALUE /* @min:%2evalue */];\r\n }\r\n }\r\n if (_instrumentationKey) {\r\n // if ikey is null, no need to trigger extra dynamic changes for extensions\r\n config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = _instrumentationKey; // set config.instrumentationKey for extensions to consume\r\n config.endpointUrl = _endpoint; // set config.endpointUrl for extensions to consume\r\n }\r\n }\r\n // set _isStatusSet to true\r\n // set active status\r\n // release queues\r\n _setStatus();\r\n }\r\n catch (e) {\r\n if (!_isStatusSet) {\r\n _setStatus();\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // means no promises\r\n _setStatus();\r\n }\r\n //_instrumentationKey = details.cfg.instrumentationKey;\r\n // Mark the extensionConfig and all first level keys as referenced\r\n // This is so that calls to getExtCfg() will always return the same object\r\n // Even when a user may \"re-assign\" the plugin properties (or it's unloaded/reloaded)\r\n var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);\r\n objForEachKey(extCfg, function (key) {\r\n details.ref(extCfg, key);\r\n });\r\n }));\r\n _notificationManager = notificationManager;\r\n // Initialize the debug listener outside of the closure to reduce the retained memory footprint\r\n _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */](), _debugListener);\r\n _initPerfManager();\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n var cfgExtensions = config[STR_EXTENSIONS /* @min:%2eextensions */];\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = config[STR_CHANNELS /* @min:%2echannels */];\r\n _initPluginChain(null);\r\n if (!_channels || _channels[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n if (_channelConfig && _channelConfig[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n var teeController = _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */](\"TeeChannelController\");\r\n if (!teeController || !teeController.plugin) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"TeeChannel required\");\r\n }\r\n }\r\n _registerDelayedCfgListener(config, _cfgListeners, _logger);\r\n _cfgListeners = null;\r\n _isInitialized = true;\r\n if (_activeStatus === ActiveStatus.ACTIVE) {\r\n _releaseQueues();\r\n }\r\n };\r\n _self.getChannels = function () {\r\n var controls = [];\r\n if (_channels) {\r\n arrForEach(_channels, function (channel) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channel);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n if (!telemetryItem[_DYN_NAME /* @min:%2ename */] && isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n // setup default iKey if not passed in\r\n telemetryItem[_DYN_I_KEY /* @min:%2eiKey */] = telemetryItem[_DYN_I_KEY /* @min:%2eiKey */] || _instrumentationKey;\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]() && _activeStatus === ActiveStatus.ACTIVE) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else if (_activeStatus !== ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */]) {\r\n // Queue events until all extensions are initialized\r\n if (_eventQueue[_DYN_LENGTH /* @min:%2elength */] <= _initInMemoMaxSize) {\r\n // set limit, if full, stop adding new events\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n }\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n _notificationManager = new NotificationManager(_configHandler.cfg);\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_configHandler.cfg, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n if (_cookieManager !== cookieMgr) {\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = cookieMgr;\r\n }\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n if (_activeStatus === 2 /* eActiveStatus.ACTIVE */) {\r\n arrForEach(eventQueue, function (event) {\r\n event[_DYN_I_KEY /* @min:%2eiKey */] = event[_DYN_I_KEY /* @min:%2eiKey */] || _instrumentationKey;\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n else {\r\n // new one for msg ikey\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"core init status is not active\");\r\n }\r\n }\r\n };\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */] = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n return _startLogPoller(true);\r\n };\r\n function _setStatus() {\r\n _isStatusSet = true;\r\n if (isNullOrUndefined(_instrumentationKey)) {\r\n _activeStatus = ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */];\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 112 /* _eInternalMessageId.InitPromiseException */, \"ikey can't be resolved from promises\");\r\n }\r\n else {\r\n _activeStatus = ActiveStatus.ACTIVE;\r\n }\r\n _releaseQueues();\r\n }\r\n function _releaseQueues() {\r\n if (_isInitialized) {\r\n _self.releaseQueue();\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n }\r\n }\r\n function _startLogPoller(alwaysStart) {\r\n if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */]) && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n if (!_internalLogPollerListening) {\r\n _internalLogPollerListening = true;\r\n // listen for any configuration changes so that changes to the\r\n // interval will cause the timer to be re-initialized\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var interval = details.cfg.diagnosticLogInterval;\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n var isRunning = false;\r\n if (_internalLogPoller) {\r\n // It was already created so remember it's running and cancel\r\n isRunning = _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */];\r\n _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n }\r\n // Create / reconfigure\r\n _internalLogPoller = createTimeout(_flushInternalLogs, interval);\r\n _internalLogPoller.unref();\r\n // Restart if previously running\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = isRunning;\r\n }));\r\n }\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = true;\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _flushInternalLogs();\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var result;\r\n if (isAsync && !unloadComplete) {\r\n result = createPromise(function (resolve) {\r\n // Set the callback to the promise resolve callback\r\n unloadComplete = resolve;\r\n });\r\n }\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _hookContainer.run(_self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Run any \"unload\" functions for the _cookieManager, _notificationManager and _logger\r\n doUnloadAll([_cookieManager, _notificationManager, _logger], isAsync, function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n });\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n return result;\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.updateCfg = function (newConfig, mergeExisting) {\r\n if (mergeExisting === void 0) { mergeExisting = true; }\r\n var updateState;\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n updateState = {\r\n reason: 1 /* TelemetryUpdateReason.ConfigurationChanged */,\r\n cfg: _configHandler.cfg,\r\n oldCfg: deepExtend({}, _configHandler.cfg),\r\n newConfig: deepExtend({}, newConfig),\r\n merge: mergeExisting\r\n };\r\n newConfig = updateState.newConfig;\r\n var cfg = _configHandler.cfg;\r\n // replace the immutable (if initialized) values\r\n // We don't currently allow updating the extensions and channels via the update config\r\n // So overwriting any user provided values to reuse the existing values\r\n newConfig[STR_EXTENSIONS /* @min:%2eextensions */] = cfg[STR_EXTENSIONS /* @min:%2eextensions */];\r\n newConfig[STR_CHANNELS /* @min:%2echannels */] = cfg[STR_CHANNELS /* @min:%2echannels */];\r\n }\r\n // Explicitly blocking any previous config watchers so that they don't get called because\r\n // of this bulk update (Probably not necessary)\r\n _configHandler._block(function (details) {\r\n // Lets assign the new values to the existing config either overwriting or re-assigning\r\n var theConfig = details.cfg;\r\n _deepMergeConfig(details, theConfig, newConfig, mergeExisting);\r\n if (!mergeExisting) {\r\n // Remove (unassign) the values \"missing\" from the newConfig and also not in the default config\r\n objForEachKey(theConfig, function (key) {\r\n if (!objHasOwn(newConfig, key)) {\r\n // Set the value to undefined\r\n details.set(theConfig, key, UNDEFINED_VALUE);\r\n }\r\n });\r\n }\r\n // Apply defaults to the new config\r\n details[_DYN_SET_DF /* @min:%2esetDf */](theConfig, defaultConfig);\r\n }, true);\r\n // Now execute all of the listeners (synchronously) so they update their values immediately\r\n _configHandler[_DYN_NOTIFY /* @min:%2enotify */]();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self.flush = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n _self.addUnloadHook = _addUnloadHook;\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n _self.onCfgChange = function (handler) {\r\n var unloadHook;\r\n if (!_isInitialized) {\r\n unloadHook = _addDelayedCfgListener(_cfgListeners, handler);\r\n }\r\n else {\r\n unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _createUnloadHook(unloadHook);\r\n };\r\n _self.getWParam = function () {\r\n return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;\r\n };\r\n function _setPluginVersions() {\r\n var thePlugins = {};\r\n _pluginVersionStringArr = [];\r\n var _addPluginVersions = function (plugins) {\r\n if (plugins) {\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] && plugin[_DYN_VERSION /* @min:%2eversion */] && !thePlugins[plugin.identifier]) {\r\n var ver = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"=\" + plugin[_DYN_VERSION /* @min:%2eversion */];\r\n _pluginVersionStringArr[_DYN_PUSH /* @min:%2epush */](ver);\r\n thePlugins[plugin.identifier] = plugin;\r\n }\r\n });\r\n }\r\n };\r\n _addPluginVersions(_channels);\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (channels) {\r\n _addPluginVersions(channels);\r\n });\r\n }\r\n _addPluginVersions(_configExtensions);\r\n }\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Set the logging level to critical so that any critical initialization failures are displayed on the console\r\n _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */] = 1 /* eLoggingSeverity.CRITICAL */;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _configHandler.cfg; },\r\n s: function (newValue) {\r\n _self.updateCfg(newValue, false);\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionStringArr\", {\r\n g: function () {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n return _pluginVersionStringArr;\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionString\", {\r\n g: function () {\r\n if (!_pluginVersionString) {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n _pluginVersionString = _pluginVersionStringArr.join(\";\");\r\n }\r\n return _pluginVersionString || STR_EMPTY;\r\n }\r\n });\r\n objDefine(_self, \"logger\", {\r\n g: function () {\r\n if (!_logger) {\r\n _logger = new DiagnosticLogger(_configHandler.cfg);\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = _logger;\r\n }\r\n return _logger;\r\n },\r\n s: function (newLogger) {\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = newLogger;\r\n if (_logger !== newLogger) {\r\n runTargetUnload(_logger, false);\r\n _logger = newLogger;\r\n }\r\n }\r\n });\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_configHandler.cfg);\r\n _extensions = [];\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n runTargetUnload(_notificationManager, false);\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _configExtensions = [];\r\n _channelConfig = null;\r\n _channels = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n _instrumentationKey = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _cfgListeners = [];\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n _forceStopInternalLogPoller = false;\r\n _internalLogPoller = null;\r\n _internalLogPollerListening = false;\r\n _activeStatus = 0 /* eActiveStatus.NONE */; // default is None\r\n _endpoint = null;\r\n _initInMemoMaxSize = null;\r\n _isStatusSet = false;\r\n _initTimer = null;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _pluginChain = null;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Get the primary channel queue and include as part of the normal extensions\r\n _channels = (_channelConfig || [])[0] || [];\r\n // Add any channels provided in the extensions and sort them\r\n _channels = sortPlugins(arrAppend(_channels, theExtensions[STR_CHANNELS /* @min:%2echannels */]));\r\n // Create an array of all extensions, including the _channels\r\n var allExtensions = arrAppend(sortPlugins(theExtensions[STR_CORE /* @min:%2ecore */]), _channels);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _extensions = objFreeze(allExtensions);\r\n // This has a side effect of adding the extensions passed during initialization\r\n // into the config.extensions, so you can see all of the extensions loaded.\r\n // This will also get updated by the addPlugin() and remove plugin code.\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n var rootCtx = _createTelCtx();\r\n // Initializing the channels first\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels), allExtensions);\r\n }\r\n // Now initialize the normal extensions (explicitly not including the _channels as this can cause duplicate initialization)\r\n initializePlugins(rootCtx, allExtensions);\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var theExt = null;\r\n var thePlugin = null;\r\n var channelHosts = [];\r\n arrForEach(_extensions, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n if (ext.getChannel) {\r\n channelHosts[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n if (!thePlugin && channelHosts[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelHosts, function (host) {\r\n thePlugin = host.getChannel(pluginIdentifier);\r\n if (!thePlugin) {\r\n return -1;\r\n }\r\n });\r\n }\r\n if (thePlugin) {\r\n theExt = {\r\n plugin: thePlugin,\r\n setEnabled: function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n isEnabled: function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n remove: function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n }\r\n };\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_extensions || []).slice();\r\n // During add / remove this may get called again, so don't read if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _configHandler.cfg, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _configHandler.cfg, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startLogPoller();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_logger && _logger.queue) {\r\n var queue = _logger.queue.slice(0);\r\n _logger.queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a[_DYN_I_KEY /* @min:iKey */] = _instrumentationKey,\r\n _a[_DYN_TIME /* @min:time */] = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n cbTimer && cbTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n cbTimer = null;\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var flushCtx = _createTelCtx()[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels);\r\n flushCtx.iterate(function (plugin) {\r\n if (plugin.flush) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin.flush(isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = scheduleTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n doneIterating = true;\r\n doCallback();\r\n return true;\r\n }\r\n function _initPerfManager() {\r\n // Save the previous config based performance manager creator to avoid creating new perf manager instances if unchanged\r\n var prevCfgPerfMgr;\r\n // Will get recalled if any referenced config values are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var enablePerfMgr = details.cfg.enablePerfMgr;\r\n if (enablePerfMgr) {\r\n var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */];\r\n if (prevCfgPerfMgr !== createPerfMgr) {\r\n if (!createPerfMgr) {\r\n createPerfMgr = _createPerfManager;\r\n }\r\n // Set the performance manager creation function if not defined\r\n getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);\r\n prevCfgPerfMgr = createPerfMgr;\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n // Only create the performance manager if it's not already created or manually set\r\n if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {\r\n // Create a new config based performance manager\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n else {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n // Clear the previous cached value so it can be GC'd\r\n prevCfgPerfMgr = null;\r\n }\r\n }));\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startLogPoller();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n function _addUnloadHook(hooks) {\r\n _hookContainer.add(hooks);\r\n }\r\n });\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.getChannels.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n// Removed Stub for AppInsightsCore.prototype.getProcessTelContext.\r\n// Removed Stub for AppInsightsCore.prototype.getNotifyMgr.\r\n// Removed Stub for AppInsightsCore.prototype.addNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.removeNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.getCookieMgr.\r\n// Removed Stub for AppInsightsCore.prototype.setCookieMgr.\r\n// Removed Stub for AppInsightsCore.prototype.getPerfMgr.\r\n// Removed Stub for AppInsightsCore.prototype.setPerfMgr.\r\n// Removed Stub for AppInsightsCore.prototype.eventCnt.\r\n// Removed Stub for AppInsightsCore.prototype.pollInternalLogs.\r\n// Removed Stub for AppInsightsCore.prototype.stopPollingInternalLogs.\r\n// Removed Stub for AppInsightsCore.prototype.addTelemetryInitializer.\r\n// Removed Stub for AppInsightsCore.prototype.unload.\r\n// Removed Stub for AppInsightsCore.prototype.getPlugin.\r\n// Removed Stub for AppInsightsCore.prototype.addPlugin.\r\n// Removed Stub for AppInsightsCore.prototype.updateCfg.\r\n// Removed Stub for AppInsightsCore.prototype.evtNamespace.\r\n// Removed Stub for AppInsightsCore.prototype.addUnloadCb.\r\n// Removed Stub for AppInsightsCore.prototype.flush.\r\n// Removed Stub for AppInsightsCore.prototype.getTraceCtx.\r\n// Removed Stub for AppInsightsCore.prototype.setTraceCtx.\r\n// Removed Stub for AppInsightsCore.prototype.addUnloadHook.\r\n// Removed Stub for AppInsightsCore.prototype.onCfgChange.\r\n// Removed Stub for AppInsightsCore.prototype.activeStatus.\r\n// Removed Stub for AppInsightsCore.prototype._setPendingStatus.\r\n// Removed Stub for AppInsightsCore.prototype.releaseQueue.\r\n// Removed Stub for AppInsightsCore.prototype._updateHook.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n AppInsightsCore.__ieDyn=1;\n\n return AppInsightsCore;\r\n}());\r\nexport { AppInsightsCore };\r\n//# sourceMappingURL=AppInsightsCore.js.map","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\nexport var STR_PROPERTIES = \"properties\";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 11\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_ABORTED = \"aborted\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 4\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT3 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE4 = \"enableRequestHeaderTracking\"; // Count: 3\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST5 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA6 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM8 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN9 = \"disableAjaxTracking\"; // Count: 3\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL10 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI11 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD12 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 11\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 9\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 8\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE13 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 6\r\nexport var _DYN_RESPONSE_FINISHED_TI14 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA15 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 5\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES16 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { Extensions, dataSanitizeUrl, dateTimeUtilsDuration, msToTimeSpan, urlGetAbsoluteUrl, urlGetCompleteUrl } from \"@microsoft/applicationinsights-common\";\r\nimport { arrForEach, isNullOrUndefined, isNumber, isString, normalizeJsName, objForEachKey, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION, STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_AJAX_TOTAL_DURATION, _DYN_CORRELATION_CONTEXT, _DYN_ERROR_STATUS_TEXT, _DYN_EVENT_TRACE_CTX, _DYN_GET_ABSOLUTE_URL, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADER_MAP, _DYN_LENGTH, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI14, _DYN_SEND_DONE, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE13, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */];\r\n var props = dependency[STR_PROPERTIES /* @min:%2eproperties */] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[STR_DURATION /* @min:%2eduration */];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, STR_DURATION, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */]) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self[_DYN_OPEN_DONE /* @min:%2eopenDone */] = false;\r\n self.setRequestHeaderDone = false;\r\n self[_DYN_SEND_DONE /* @min:%2esendDone */] = false;\r\n self[_DYN_ABORT_DONE /* @min:%2eabortDone */] = false;\r\n // True, if onreadyStateChangeCallback function attached to xhr, otherwise false\r\n self[_DYN_STATE_CHANGE_ATTACHE13 /* @min:%2estateChangeAttached */] = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceId, spanId, logger, traceCtx) {\r\n var _a;\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self[_DYN_PERF_MARK /* @min:%2eperfMark */] = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] = null;\r\n self[_DYN_ABORTED /* @min:%2eaborted */] = 0;\r\n self.pageUrl = null;\r\n self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = null;\r\n self.requestSize = 0;\r\n self[_DYN_METHOD /* @min:%2emethod */] = null;\r\n self[_DYN_STATUS /* @min:%2estatus */] = null;\r\n self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = null;\r\n self.responseStartedTime = null;\r\n self[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self[_DYN_TRACE_ID /* @min:%2etraceID */] = traceId;\r\n self[_DYN_SPAN_ID /* @min:%2espanID */] = spanId;\r\n self[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();\r\n if (traceCtx) {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = (_a = {},\r\n _a[_DYN_TRACE_ID0 /* @min:traceId */] = traceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */](),\r\n _a[_DYN_SPAN_ID1 /* @min:spanId */] = traceCtx.getSpanId(),\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = traceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */](),\r\n _a);\r\n }\r\n else {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = null;\r\n }\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) : null;\r\n };\r\n self.getPathName = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD /* @min:%2emethod */], self[_DYN_REQUEST_URL /* @min:%2erequestUrl */])) : null;\r\n };\r\n self[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */] = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + self[_DYN_SPAN_ID /* @min:%2espanID */],\r\n target: self[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */]()\r\n },\r\n _a[_DYN_NAME /* @min:name */] = self.getPathName(),\r\n _a.type = ajaxType,\r\n _a[_DYN_START_TIME /* @min:startTime */] = null,\r\n _a.duration = self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */],\r\n _a.success = (+(self[_DYN_STATUS /* @min:%2estatus */])) >= 200 && (+(self[_DYN_STATUS /* @min:%2estatus */])) < 400,\r\n _a.responseCode = (+(self[_DYN_STATUS /* @min:%2estatus */])),\r\n _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD /* @min:%2emethod */] },\r\n _a);\r\n var props = dependency[STR_PROPERTIES];\r\n if (self[_DYN_ABORTED /* @min:%2eaborted */]) {\r\n props[_DYN_ABORTED /* @min:%2eaborted */] = true;\r\n }\r\n if (self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]) {\r\n // Set the correct dependency start time\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */].setTime(self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */];\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response[_DYN_CORRELATION_CONTEXT /* @min:%2ecorrelationContext */];\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response[_DYN_HEADER_MAP /* @min:%2eheaderMap */]) {\r\n if (objKeys(response.headerMap)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props.responseHeaders = response[_DYN_HEADER_MAP /* @min:%2eheaderMap */];\r\n }\r\n }\r\n if (self[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */]) {\r\n if (self[_DYN_STATUS /* @min:%2estatus */] >= 400) {\r\n var responseType = response.type;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n props.responseText = response.responseText ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + response[strResponseText] : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n if (responseType === \"json\") {\r\n props.responseText = response.response ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + JSON.stringify(response[_DYN_RESPONSE /* @min:%2eresponse */]) : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n }\r\n else if (self[_DYN_STATUS /* @min:%2estatus */] === 0) {\r\n props.responseText = response[_DYN_STATUS_TEXT /* @min:%2estatusText */] || \"\";\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n self[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */] = function () {\r\n var _a;\r\n var partA = null;\r\n var traceCtx = self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */];\r\n if (traceCtx && (traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */] || traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */])) {\r\n partA = {};\r\n var traceExt = partA[Extensions.TraceExt] = (_a = {},\r\n _a[_DYN_TRACE_ID /* @min:traceID */] = traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */],\r\n _a.parentID = traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */],\r\n _a);\r\n if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */])) {\r\n traceExt[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n }\r\n }\r\n return partA;\r\n };\r\n });\r\n }\r\n// Removed Stub for ajaxRecord.prototype.getAbsoluteUrl.\r\n// Removed Stub for ajaxRecord.prototype.getPathName.\r\n// Removed Stub for ajaxRecord.prototype.CreateTrackItem.\r\n// Removed Stub for ajaxRecord.prototype.getPartAProps.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n ajaxRecord.__ieDyn=1;\n\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n//# sourceMappingURL=ajaxRecord.js.map","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, createDistributedTraceContextFromTrace, createTelemetryItem, createTraceParent, dateTimeUtilsNow, formatTraceParent, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, onConfigChange, strPrototype, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isWebWorker, objFreeze, scheduleTimeout, strIndexOf, strSplit, strSubstr } from \"@nevware21/ts-utils\";\r\nimport { STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_DIAGNOSTICS_MES16, _DYN_AJAX_PERF_LOOKUP_DEL10, _DYN_CONTEXT, _DYN_CORE, _DYN_CORRELATION_CONTEXT, _DYN_DISABLE_AJAX_TRACKIN9, _DYN_DISABLE_FETCH_TRACKI11, _DYN_ENABLE_AJAX_ERROR_ST5, _DYN_ENABLE_AJAX_PERF_TRA6, _DYN_ENABLE_REQUEST_HEADE4, _DYN_ENABLE_RESPONSE_HEAD12, _DYN_ERROR_STATUS_TEXT, _DYN_EXCEPTION, _DYN_EXCLUDE_REQUEST_FROM8, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA15, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V7, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI14, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE13, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT3, _DYN__ADD_HOOK, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar AJAX_DATA_CONTAINER = \"_ajaxData\";\r\nvar STR_FETCH = \"fetch\";\r\nvar ERROR_HEADER = \"Failed to monitor XMLHttpRequest\";\r\nvar ERROR_PREFIX = \", monitoring data for this ajax call \";\r\nvar ERROR_POSTFIX = ERROR_PREFIX + \"may be incorrect.\";\r\nvar ERROR_NOT_SENT = ERROR_PREFIX + \"won't be sent.\";\r\nvar CORRELATION_HEADER_ERROR = \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\";\r\nvar CUSTOM_REQUEST_CONTEXT_ERROR = \"Failed to add custom defined request context as configured call back may missing a null check.\";\r\nvar FAILED_TO_CALCULATE_DURATION_ERROR = \"Failed to calculate the duration of the \";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[STR_FETCH])) {\r\n return null;\r\n }\r\n return _global[STR_FETCH];\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {\r\n var _a, _b;\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n var xhrData = {\r\n xh: [],\r\n i: (_a = {},\r\n _a[ajaxDataId] = {},\r\n _a)\r\n };\r\n xhr[AJAX_DATA_CONTAINER] = xhrData;\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", (_b = {},\r\n _b[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _b));\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Internal helper to fetch the SDK instance tracking data for this XHR request\r\n * @param xhr\r\n * @param ajaxDataId\r\n * @returns\r\n */\r\nvar _getAjaxData = function (xhr, ajaxDataId) {\r\n if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {\r\n return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];\r\n }\r\n return null;\r\n};\r\n/**\r\n * @ignore\r\n * Internal helper to track the singleton shared tracking headers, so we can attempt to not create headers\r\n * that might cause an issue if multiple values are populated.\r\n * @param xhr - The instrumented XHR instance\r\n */\r\nvar _addSharedXhrHeaders = function (xhr, name, value) {\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n headers.push({\r\n n: name,\r\n v: value\r\n });\r\n }\r\n }\r\n};\r\nvar _isHeaderSet = function (xhr, name) {\r\n var isPresent = false;\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n arrForEach(headers, function (header) {\r\n if (header.n === name) {\r\n isPresent = true;\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n return isPresent;\r\n};\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {\r\n var result = \"\";\r\n try {\r\n var ajaxData = _getAjaxData(xhr, ajaxDataId);\r\n if (ajaxData && ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) {\r\n result += \"(url: '\" + ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 /* eLoggingSeverity.CRITICAL */, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 /* eLoggingSeverity.WARNING */, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (callDetails) {\r\n var _a;\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, (_a = {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST /* @min:%2einst */], ajaxMonitorInstance._ajaxDataId)\r\n },\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(callDetails.err),\r\n _a));\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return strIndexOf(value, match);\r\n }\r\n return -1;\r\n}\r\nfunction _addHandler(container, id, theFunc) {\r\n var theHandler = {\r\n id: id,\r\n fn: theFunc\r\n };\r\n container.push(theHandler);\r\n return {\r\n remove: function () {\r\n arrForEach(container, function (initializer, idx) {\r\n if (initializer.id === theHandler.id) {\r\n container.splice(idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n}\r\nfunction _processDependencyContainer(core, container, details, message) {\r\n var result = true;\r\n arrForEach(container, function (theFunc, idx) {\r\n try {\r\n if (theFunc.fn.call(null, details) === false) {\r\n result = false;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(core && core.logger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Dependency \" + message + \" [#\" + idx + \"] failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n return result;\r\n}\r\nfunction _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {\r\n var _a;\r\n var initializersCount = listeners[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = (_a = {},\r\n _a[_DYN_CORE /* @min:core */] = core,\r\n _a.xhr = xhr,\r\n _a.input = input,\r\n _a.init = init,\r\n _a.traceId = ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */],\r\n _a.spanId = ajaxData[_DYN_SPAN_ID /* @min:%2espanID */],\r\n _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */],\r\n _a.context = ajaxData[_DYN_CONTEXT /* @min:%2econtext */] || {},\r\n _a.aborted = !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */],\r\n _a);\r\n _processDependencyContainer(core, listeners, details, \"listener\");\r\n ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] = details[_DYN_TRACE_ID0 /* @min:%2etraceId */];\r\n ajaxData[_DYN_SPAN_ID /* @min:%2espanID */] = details[_DYN_SPAN_ID1 /* @min:%2espanId */];\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = details[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n ajaxData[_DYN_CONTEXT /* @min:%2econtext */] = details[_DYN_CONTEXT /* @min:%2econtext */];\r\n }\r\n}\r\nvar BLOB_CORE = \"*.blob.core.\";\r\nexport var DfltAjaxCorrelationHeaderExDomains = objFreeze([\r\n BLOB_CORE + \"windows.net\",\r\n BLOB_CORE + \"chinacloudapi.cn\",\r\n BLOB_CORE + \"cloudapi.de\",\r\n BLOB_CORE + \"usgovcloudapi.net\"\r\n]);\r\nvar _internalExcludeEndpoints = [\r\n /https:\\/\\/[^\\/]*(\\.pipe\\.aria|aria\\.pipe|events\\.data|collector\\.azure)\\.[^\\/]+\\/(OneCollector\\/1|Collector\\/3)\\.0/i\r\n];\r\nvar _defaultConfig = objFreeze((_a = {},\r\n _a[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:maxAjaxCallsPerView */] = 500,\r\n _a[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:disableAjaxTracking */] = false,\r\n _a[_DYN_DISABLE_FETCH_TRACKI11 /* @min:disableFetchTracking */] = false,\r\n _a[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:excludeRequestFromAutoTrackingPatterns */] = undefined,\r\n _a.disableCorrelationHeaders = false,\r\n _a.distributedTracingMode = 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,\r\n _a.correlationHeaderDomains = undefined,\r\n _a.correlationHeaderExcludePatterns = undefined,\r\n _a.appId = undefined,\r\n _a.enableCorsCorrelation = false,\r\n _a[_DYN_ENABLE_REQUEST_HEADE4 /* @min:enableRequestHeaderTracking */] = false,\r\n _a[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:enableResponseHeaderTracking */] = false,\r\n _a[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:enableAjaxErrorStatusText */] = false,\r\n _a[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:enableAjaxPerfTracking */] = false,\r\n _a.maxAjaxPerfLookupAttempts = 3,\r\n _a[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:ajaxPerfLookupDelay */] = 25,\r\n _a.ignoreHeaders = [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n _a[_DYN_ADD_REQUEST_CONTEXT /* @min:addRequestContext */] = undefined,\r\n _a.addIntEndpoints = true,\r\n _a));\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var _fetchInitialized; // fetch monitoring initialized\r\n var _xhrInitialized; // XHR monitoring initialized\r\n var _currentWindowHost;\r\n var _extensionConfig;\r\n var _enableRequestHeaderTracking;\r\n var _enableAjaxErrorStatusText;\r\n var _trackAjaxAttempts;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking;\r\n var _maxAjaxCallsPerView;\r\n var _enableResponseHeaderTracking;\r\n var _disabledUrls;\r\n var _disableAjaxTracking;\r\n var _disableFetchTracking;\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n var _evtNamespace;\r\n var _ajaxDataId;\r\n var _dependencyHandlerId;\r\n var _dependencyListeners;\r\n var _dependencyInitializers;\r\n var _ignoreHeaders;\r\n var _maxAjaxPerfLookupAttempts;\r\n var _ajaxPerfLookupDelay;\r\n var _distributedTracingMode;\r\n var _appId;\r\n var _polyfillInitialized;\r\n dynamicProto(AjaxMonitor, _this, function (_self, _base) {\r\n var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"ajax\"), core && core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n _instrumentXhr();\r\n _instrumentFetch();\r\n _populateContext();\r\n }\r\n };\r\n _self._doTeardown = function () {\r\n _initDefaults();\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], null, dependency, properties);\r\n };\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */] = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, xhr, input, init);\r\n if (input || input === \"\") { // Fetch\r\n if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n var headers = new Headers(init[_DYN_HEADERS /* @min:%2eheaders */] || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n headers.set(RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _appId || (_context && _context.appId());\r\n if (appId) {\r\n headers.set(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n headers.set(RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = headers;\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[3 /* eRequestHeaders.requestIdHeader */])) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[3 /* eRequestHeaders.requestIdHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n var appId = _appId || (_context && _context.appId());\r\n if (appId) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[0 /* eRequestHeaders.requestContextHeader */])) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[0 /* eRequestHeaders.requestContextHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n if (!_isHeaderSet(xhr, RequestHeaders[4 /* eRequestHeaders.traceParentHeader */])) {\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[4 /* eRequestHeaders.traceParentHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[_DYN_TRACK_DEPENDENCY_DAT3 /* @min:%2etrackDependencyDataInternal */] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_distributedTracingMode === 2 /* eDistributedTracingModes.W3C */\r\n || _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id[_DYN_LENGTH /* @min:%2elength */] - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n }\r\n var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */].track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, 55 /* _eInternalMessageId.MaxAjaxPerPVExceeded */, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n _self.addDependencyListener = function (dependencyListener) {\r\n return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);\r\n };\r\n _self.addDependencyInitializer = function (dependencyInitializer) {\r\n return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);\r\n };\r\n function _initDefaults() {\r\n var location = getLocation();\r\n _fetchInitialized = false; // fetch monitoring initialized\r\n _xhrInitialized = false; // XHR monitoring initialized\r\n _polyfillInitialized = false; // polyfill monitoring initialized\r\n _currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _extensionConfig = null;\r\n _enableRequestHeaderTracking = false;\r\n _enableAjaxErrorStatusText = false;\r\n _trackAjaxAttempts = 0;\r\n _context = null;\r\n _isUsingW3CHeaders = false;\r\n _isUsingAIHeaders = false;\r\n _markPrefix = null;\r\n _enableAjaxPerfTracking = false;\r\n _maxAjaxCallsPerView = 0;\r\n _enableResponseHeaderTracking = false;\r\n _disabledUrls = {};\r\n _disableAjaxTracking = false;\r\n _disableFetchTracking = false;\r\n _excludeRequestFromAutoTrackingPatterns = null;\r\n _addRequestContext = null;\r\n _evtNamespace = null;\r\n _dependencyHandlerId = 0;\r\n _dependencyListeners = [];\r\n _dependencyInitializers = [];\r\n _ajaxDataId = createUniqueNamespace(\"ajaxData\");\r\n _self._ajaxDataId = _ajaxDataId;\r\n _ignoreHeaders = null;\r\n _maxAjaxPerfLookupAttempts = 1;\r\n _ajaxPerfLookupDelay = 1;\r\n _distributedTracingMode = 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _appId = null;\r\n }\r\n function _populateDefaults(config) {\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n _extensionConfig = ctx.getExtCfg(AjaxMonitor.identifier, _defaultConfig);\r\n _distributedTracingMode = _extensionConfig.distributedTracingMode;\r\n _enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 /* @min:%2eenableRequestHeaderTracking */];\r\n _enableAjaxErrorStatusText = _extensionConfig[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:%2eenableAjaxErrorStatusText */];\r\n _enableAjaxPerfTracking = _extensionConfig[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:%2eenableAjaxPerfTracking */];\r\n _maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:%2emaxAjaxCallsPerView */];\r\n _excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);\r\n _addRequestContext = _extensionConfig[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];\r\n _isUsingAIHeaders = _distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _isUsingW3CHeaders = _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || _distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;\r\n if (_enableAjaxPerfTracking) {\r\n _markPrefix = _ajaxDataId;\r\n }\r\n _disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];\r\n _maxAjaxPerfLookupAttempts = _extensionConfig.maxAjaxPerfLookupAttempts;\r\n _ajaxPerfLookupDelay = _extensionConfig[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:%2eajaxPerfLookupDelay */];\r\n _ignoreHeaders = _extensionConfig.ignoreHeaders;\r\n _appId = _extensionConfig.appId;\r\n }));\r\n }\r\n function _populateContext() {\r\n var propExt = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (propExt) {\r\n _context = propExt.plugin[_DYN_CONTEXT /* @min:%2econtext */]; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _ignoreHeaders) {\r\n arrForEach(_ignoreHeaders, (function (key) {\r\n if (key[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === header[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {\r\n _disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 /* @min:%2edisableFetchTracking */];\r\n _enableResponseHeaderTracking = _extensionConfig[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:%2eenableResponseHeaderTracking */];\r\n if (!_disableFetchTracking && !_fetchInitialized) {\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (!_disableFetchTracking && _fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n if (!_disableFetchTracking) {\r\n var fetchData_1 = callDetails.ctx().data;\r\n if (fetchData_1) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {\r\n var _a;\r\n var ajaxResponse = (_a = {\r\n statusText: (response || {})[_DYN_STATUS_TEXT /* @min:%2estatusText */]\r\n },\r\n _a[_DYN_HEADER_MAP /* @min:headerMap */] = null,\r\n _a[_DYN_CORRELATION_CONTEXT /* @min:correlationContext */] = _getFetchCorrelationContext(response),\r\n _a);\r\n if (_enableResponseHeaderTracking && response) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })\r\n .catch(function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });\r\n throw reason;\r\n });\r\n }\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to monitor Window.fetch\" + ERROR_POSTFIX)\r\n }, true, isWebWorker()));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill && !_polyfillInitialized) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"polyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n _polyfillInitialized = true;\r\n }\r\n }));\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[STR_FETCH].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _addHook(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (!_supportsAjaxMonitoring(_self, _ajaxDataId)) {\r\n return;\r\n }\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {\r\n _disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];\r\n _enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 /* @min:%2eenableRequestHeaderTracking */];\r\n if (!_disableAjaxTracking && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, method, url, async) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n ajaxData = _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr, ajaxData);\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + \".open\" + ERROR_POSTFIX)\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, context) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {\r\n ajaxData[_DYN_ABORTED /* @min:%2eaborted */] = 1;\r\n ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + \".abort\" + ERROR_POSTFIX)\r\n });\r\n // Instrument setRequestHeader\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, header, value) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _addSharedXhrHeaders(xhr, header, value);\r\n if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {\r\n if (ajaxData) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + \".setRequestHeader\" + ERROR_POSTFIX)\r\n });\r\n _xhrInitialized = true;\r\n }\r\n }));\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// Verifies that particular instance of XMLHttpRequest needs to be monitored\r\n /// Optional parameter. True if ajaxData must be excluded from verification\r\n /// True if instance needs to be monitored, otherwise false\r\n function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n // Fall back\r\n if (!distributedTraceCtx && _context && _context.telemetryTrace) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);\r\n }\r\n return distributedTraceCtx;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = strSubstr(generateW3CId(), 0, 16);\r\n var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });\r\n var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});\r\n var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = url;\r\n ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */] = true;\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = {};\r\n ajaxData.async = async;\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n return ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr, ajaxData) {\r\n ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE13 /* @min:%2estateChangeAttached */] = eventOn(xhr, \"readystatechange\", function () {\r\n var _a;\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, 16 /* _eInternalMessageId.FailedMonitorAjaxRSC */, ERROR_HEADER + \" 'readystatechange' event handler\" + ERROR_POSTFIX, (_a = {},\r\n _a[_DYN_AJAX_DIAGNOSTICS_MES16 /* @min:ajaxDiagnosticsMessage */] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n _a[_DYN_EXCEPTION /* @min:exception */] = exceptionText,\r\n _a));\r\n }\r\n }\r\n }, _evtNamespace);\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr[_DYN_RESPONSE_TEXT /* @min:%2eresponseText */];\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = xhr[_DYN_STATUS /* @min:%2estatus */];\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, 14 /* _eInternalMessageId.FailedMonitorAjaxDur */, FAILED_TO_CALCULATE_DURATION_ERROR + \"ajax call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var _a;\r\n var ajaxResponse = (_a = {\r\n statusText: xhr[_DYN_STATUS_TEXT /* @min:%2estatusText */]\r\n },\r\n _a[_DYN_HEADER_MAP /* @min:headerMap */] = null,\r\n _a[_DYN_CORRELATION_CONTEXT /* @min:correlationContext */] = _getAjaxCorrelationContext(xhr),\r\n _a.type = xhr.responseType,\r\n _a[_DYN_RESPONSE_TEXT /* @min:responseText */] = _getResponseText(xhr),\r\n _a.response = xhr[_DYN_RESPONSE /* @min:%2eresponse */],\r\n _a);\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA15 /* @min:%2egetAllResponseHeaders */]();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr[_DYN_STATUS /* @min:%2estatus */], xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });\r\n var ajaxDataCntr = (xhrRequestData.i || {});\r\n if (ajaxDataCntr[_ajaxDataId]) {\r\n ajaxDataCntr[_ajaxDataId] = null;\r\n }\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n var _a;\r\n try {\r\n var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA15 /* @min:%2egetAllResponseHeaders */]();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), RequestHeaders[8 /* eRequestHeaders.requestContextHeaderLowerCase */]);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return correlationIdGetCorrelationContext(responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, (_a = {},\r\n _a[_DYN_AJAX_DIAGNOSTICS_MES16 /* @min:ajaxDiagnosticsMessage */] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _a));\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */] = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */];\r\n var performance = getPerformance();\r\n var maxAttempts = _maxAjaxPerfLookupAttempts;\r\n var retryDelay = _ajaxPerfLookupDelay;\r\n var requestUrl = ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */];\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries[_DYN_LENGTH /* @min:%2elength */] - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry[_DYN_NAME /* @min:%2ename */], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME /* @min:%2ename */]) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry[_DYN_NAME /* @min:%2ename */] === perfMark[_DYN_NAME /* @min:%2ename */]) {\r\n // We hit the start event\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] = perfTiming;\r\n break;\r\n }\r\n if (entry[_DYN_START_TIME /* @min:%2estartTime */] < perfMark[_DYN_START_TIME /* @min:%2estartTime */] - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n scheduleTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = strSubstr(generateW3CId(), 0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n var requestUrl;\r\n if (input instanceof Request) {\r\n requestUrl = (input || {}).url || \"\";\r\n }\r\n else {\r\n requestUrl = input;\r\n }\r\n if (requestUrl === \"\") {\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.href) {\r\n requestUrl = strSplit(location_1.href, \"#\")[0];\r\n }\r\n }\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = requestUrl;\r\n var method = \"GET\";\r\n if (init && init[_DYN_METHOD /* @min:%2emethod */]) {\r\n method = init[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init[_DYN_HEADERS /* @min:%2eheaders */] : 0) || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = requestHeaders;\r\n _createMarkId(STR_FETCH, ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (typeof (input) === \"string\") {\r\n result += \"(url: '\".concat(input, \"')\");\r\n }\r\n else {\r\n result += \"(url: '\".concat(input.url, \"')\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + \"fetch call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = status;\r\n _findPerfResourceEntry(STR_FETCH, ajaxData, function () {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportFetchError(14 /* _eInternalMessageId.FailedMonitorAjaxDur */, null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n var _a;\r\n if (response && response[_DYN_HEADERS /* @min:%2eheaders */]) {\r\n try {\r\n var responseHeader = response[_DYN_HEADERS /* @min:%2eheaders */].get(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return correlationIdGetCorrelationContext(responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, (_a = {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response)\r\n },\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _a));\r\n }\r\n }\r\n }\r\n function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {\r\n var _a;\r\n var result = true;\r\n var initializersCount = initializers[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = (_a = {\r\n item: dependency\r\n },\r\n _a[STR_PROPERTIES /* @min:properties */] = properties,\r\n _a.sysProperties = systemProperties,\r\n _a.context = ajaxData ? ajaxData[_DYN_CONTEXT /* @min:%2econtext */] : null,\r\n _a.aborted = ajaxData ? !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */] : false,\r\n _a);\r\n result = _processDependencyContainer(core, initializers, details, \"initializer\");\r\n }\r\n if (result) {\r\n _self[_DYN_TRACK_DEPENDENCY_DAT3 /* @min:%2etrackDependencyDataInternal */](dependency, properties, systemProperties);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AjaxMonitor.prototype.initialize.\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyData.\r\n// Removed Stub for AjaxMonitor.prototype.includeCorrelationHeaders.\r\n// Removed Stub for AjaxMonitor.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyDataInternal.\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n//# sourceMappingURL=ajax.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n//# sourceMappingURL=Application.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n//# sourceMappingURL=Device.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { onConfigChange } from \"@microsoft/applicationinsights-core-js\";\r\nvar Version = '3.3.3';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config, unloadHookContainer) {\r\n var _this = this;\r\n var unloadHook = onConfigChange((config), function () {\r\n var prefix = config.sdkExtension;\r\n _this.sdkVersion = (prefix ? prefix + \"_\" : \"\") + \"javascript:\" + Version;\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n//# sourceMappingURL=Internal.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n//# sourceMappingURL=Location.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SESSION_MANAGER = \"sessionManager\"; // Count: 3\r\nexport var _DYN_UPDATE = \"update\"; // Count: 4\r\nexport var _DYN_IS_USER_COOKIE_SET = \"isUserCookieSet\"; // Count: 4\r\nexport var _DYN_IS_NEW_USER = \"isNewUser\"; // Count: 4\r\nexport var _DYN_GET_TRACE_CTX = \"getTraceCtx\"; // Count: 3\r\nexport var _DYN_TELEMETRY_TRACE = \"telemetryTrace\"; // Count: 3\r\nexport var _DYN_APPLY_SESSION_CONTEX0 = \"applySessionContext\"; // Count: 2\r\nexport var _DYN_APPLY_APPLICATION_CO1 = \"applyApplicationContext\"; // Count: 2\r\nexport var _DYN_APPLY_DEVICE_CONTEXT = \"applyDeviceContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATION_CONT2 = \"applyOperationContext\"; // Count: 2\r\nexport var _DYN_APPLY_USER_CONTEXT = \"applyUserContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATING_SYST3 = \"applyOperatingSystemContxt\"; // Count: 2\r\nexport var _DYN_APPLY_LOCATION_CONTE4 = \"applyLocationContext\"; // Count: 2\r\nexport var _DYN_APPLY_INTERNAL_CONTE5 = \"applyInternalContext\"; // Count: 2\r\nexport var _DYN_ACCOUNT_ID = \"accountId\"; // Count: 7\r\nexport var _DYN_GET_SESSION_ID = \"getSessionId\"; // Count: 4\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 3\r\nexport var _DYN_SESSION_COOKIE_POSTF6 = \"sessionCookiePostfix\"; // Count: 2\r\nexport var _DYN_USER_COOKIE_POSTFIX = \"userCookiePostfix\"; // Count: 2\r\nexport var _DYN_ID_LENGTH = \"idLength\"; // Count: 4\r\nexport var _DYN_GET_NEW_ID = \"getNewId\"; // Count: 3\r\nexport var _DYN_LENGTH = \"length\"; // Count: 4\r\nexport var _DYN_AUTOMATIC_SESSION = \"automaticSession\"; // Count: 5\r\nexport var _DYN_AUTHENTICATED_ID = \"authenticatedId\"; // Count: 6\r\nexport var _DYN_ACQUISITION_DATE = \"acquisitionDate\"; // Count: 5\r\nexport var _DYN_RENEWAL_DATE = \"renewalDate\"; // Count: 4\r\nexport var _DYN_JOIN = \"join\"; // Count: 5\r\nexport var _DYN_COOKIE_SEPARATOR = \"cookieSeparator\"; // Count: 5\r\nexport var _DYN_AUTH_USER_COOKIE_NAM7 = \"authUserCookieName\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, onConfigChange, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar SESSION_COOKIE_NAME = \"ai_session\";\r\nvar ACQUISITION_SPAN = 86400000; // 24 hours in ms\r\nvar RENEWAL_SPAN = 1800000; // 30 minutes in ms\r\nvar COOKIE_UPDATE_INTERVAL = 60000; // 1 minute in ms\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core, unloadHookContainer) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _sessionExpirationMs;\r\n var _sessionRenewalMs;\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n var unloadHook = onConfigChange(config, function (details) {\r\n _sessionExpirationMs = config.sessionExpirationMs || ACQUISITION_SPAN;\r\n _sessionRenewalMs = config.sessionRenewalMs || RENEWAL_SPAN;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = config.sessionCookiePostfix || config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n _storageNamePrefix = SESSION_COOKIE_NAME + sessionCookiePostfix;\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n if (!isExpired && _sessionExpirationMs > 0) {\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > _sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > _sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > COOKIE_UPDATE_INTERVAL) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix);\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix);\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var getNewId = config[_DYN_GET_NEW_ID /* @min:%2egetNewId */] || newId;\r\n _self.automaticSession.id = getNewId(config[_DYN_ID_LENGTH /* @min:%2eidLength */] || 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var renewalPeriodMs = _sessionRenewalMs;\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + _sessionExpirationMs) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config.cookieDomain || null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix, cookie[_DYN_JOIN /* @min:%2ejoin */](\"|\"), _sessionExpirationMs > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix, [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n// Removed Stub for _SessionManager.prototype.update.\r\n// Removed Stub for _SessionManager.prototype.backup.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n _SessionManager.__ieDyn=1;\n\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n//# sourceMappingURL=Session.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n//# sourceMappingURL=TelemetryTrace.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, onConfigChange, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM7, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core, unloadHookContainer) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return config; }\r\n });\r\n var unloadHook = onConfigChange(config, function () {\r\n var userCookiePostfix = config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] || \"\";\r\n _storageNamePrefix = User.userCookieName + userCookiePostfix;\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix);\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = (config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\") + \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] || undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */] : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix, cookie, oneYear);\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for User.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.clearAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.update.\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=User.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nfunction _nullResult() {\r\n return null;\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx, unloadHookContainer) {\r\n var _this = this;\r\n var logger = core.logger;\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.appId = _nullResult;\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = _nullResult;\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig, unloadHookContainer);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core, unloadHookContainer);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core, unloadHookContainer);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for TelemetryContext.prototype.applySessionContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperatingSystemContxt.\r\n// Removed Stub for TelemetryContext.prototype.applyApplicationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyDeviceContext.\r\n// Removed Stub for TelemetryContext.prototype.applyInternalContext.\r\n// Removed Stub for TelemetryContext.prototype.applyLocationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyWebContext.\r\n// Removed Stub for TelemetryContext.prototype.applyUserContext.\r\n// Removed Stub for TelemetryContext.prototype.cleanUp.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n TelemetryContext.__ieDyn=1;\n\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n//# sourceMappingURL=TelemetryContext.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, onConfigChange } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDeepFreeze, objDefine } from \"@nevware21/ts-utils\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar undefString;\r\nvar nullValue = null;\r\nvar _defaultConfig = objDeepFreeze((_a = {},\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = nullValue,\r\n _a.sessionRenewalMs = 30 * 60 * 1000,\r\n _a.samplingPercentage = 100,\r\n _a.sessionExpirationMs = 24 * 60 * 60 * 1000,\r\n _a.cookieDomain = nullValue,\r\n _a.sdkExtension = nullValue,\r\n _a.isBrowserLinkTrackingEnabled = false,\r\n _a.appId = nullValue,\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = nullValue,\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = undefString,\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = undefString,\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = undefString,\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = 22,\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = nullValue,\r\n _a));\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n var _context;\r\n var _disableUserInitMessage;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n objDefine(_self, \"context\", {\r\n g: function () {\r\n return _context;\r\n }\r\n });\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event - The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (!isNullOrUndefined(event)) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n if (!_disableUserInitMessage) {\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n _context = null;\r\n _disableUserInitMessage = true;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _disableUserInitMessage = config.disableUserInitMessage === false ? false : true;\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }));\r\n // This is outside of the onConfigChange as we don't want to update (replace) these values whenever a referenced config item changes\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx, _self._unloadHooks);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for PropertiesPlugin.prototype.initialize.\r\n// Removed Stub for PropertiesPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PropertiesPlugin.__ieDyn=1;\n\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n//# sourceMappingURL=PropertiesPlugin.js.map","/*\n * Application Insights JavaScript SDK - Web, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nvar _AUTHENTICATED_USER_CONTEXT = \"AuthenticatedUserContext\";\r\nvar _TRACK = \"track\";\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_SNIPPET = \"snippet\";\r\nexport var STR_GET_COOKIE_MGR = \"getCookieMgr\";\r\nexport var STR_START_TRACK_PAGE = \"startTrackPage\";\r\nexport var STR_STOP_TRACK_PAGE = \"stopTrackPage\";\r\nexport var STR_FLUSH = \"flush\";\r\nexport var STR_START_TRACK_EVENT = \"startTrackEvent\";\r\nexport var STR_STOP_TRACK_EVENT = \"stopTrackEvent\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZER = \"addTelemetryInitializer\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZERS = STR_ADD_TELEMETRY_INITIALIZER + \"s\";\r\nexport var STR_POLL_INTERNAL_LOGS = \"pollInternalLogs\";\r\nexport var STR_GET_PLUGIN = \"getPlugin\";\r\nexport var STR_EVT_NAMESPACE = \"evtNamespace\";\r\nexport var STR_TRACK_EVENT = _TRACK + \"Event\";\r\nexport var STR_TRACK_TRACE = _TRACK + \"Trace\";\r\nexport var STR_TRACK_METRIC = _TRACK + \"Metric\";\r\nexport var STR_TRACK_PAGE_VIEW = _TRACK + \"PageView\";\r\nexport var STR_TRACK_EXCEPTION = _TRACK + \"Exception\";\r\nexport var STR_TRACK_DEPENDENCY_DATA = _TRACK + \"DependencyData\";\r\nexport var STR_SET_AUTHENTICATED_USER_CONTEXT = \"set\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var STR_CLEAR_AUTHENTICATED_USER_CONTEXT = \"clear\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var CONFIG_ENDPOINT_URL = \"https://js.monitor.azure.com/scripts/b/ai.config.1.cfg.json\";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Web, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a, _b, _c, _d;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { CfgSyncPlugin } from \"@microsoft/applicationinsights-cfgsync-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { AnalyticsPluginIdentifier, DEFAULT_BREEZE_PATH, PropertiesPluginIdentifier, ThrottleMgr, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\nimport { AppInsightsCore, _throwInternal, addPageHideEventListener, addPageUnloadEventListener, cfgDfMerge, cfgDfValidate, createDynamicConfig, createProcessTelemetryContext, createUniqueNamespace, doPerf, hasDocument, hasWindow, isArray, isFeatureEnabled, isFunction, isNullOrUndefined, isReactNative, isString, mergeEvtNamespace, onConfigChange, proxyAssign, proxyFunctions, removePageHideEventListener, removePageUnloadEventListener } from \"@microsoft/applicationinsights-core-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { createPromise, createSyncPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, arrIndexOf, isPromiseLike, objDefine, objForEachKey, strIndexOf, throwUnsupported } from \"@nevware21/ts-utils\";\r\nimport { CONFIG_ENDPOINT_URL, STR_ADD_TELEMETRY_INITIALIZER, STR_CLEAR_AUTHENTICATED_USER_CONTEXT, STR_EVT_NAMESPACE, STR_FLUSH, STR_GET_COOKIE_MGR, STR_GET_PLUGIN, STR_POLL_INTERNAL_LOGS, STR_SET_AUTHENTICATED_USER_CONTEXT, STR_SNIPPET, STR_START_TRACK_EVENT, STR_START_TRACK_PAGE, STR_STOP_TRACK_EVENT, STR_STOP_TRACK_PAGE, STR_TRACK_DEPENDENCY_DATA, STR_TRACK_EVENT, STR_TRACK_EXCEPTION, STR_TRACK_METRIC, STR_TRACK_PAGE_VIEW, STR_TRACK_TRACE } from \"./InternalConstants\";\r\nimport { _DYN_ADD_HOUSEKEEPING_BEF2, _DYN_CONNECTION_STRING, _DYN_CONTEXT, _DYN_ENDPOINT_URL, _DYN_INGESTIONENDPOINT, _DYN_INSTRUMENTATIONKEY0, _DYN_INSTRUMENTATION_KEY, _DYN_ONUNLOAD_FLUSH, _DYN_QUEUE, _DYN_SEND_MESSAGE, _DYN_UPDATE_SNIPPET_DEFIN3, _DYN_USER_OVERRIDE_ENDPOI1, _DYN_VERSION } from \"./__DynamicConstants\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n STR_SNIPPET, \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\nvar IKEY_USAGE = \"iKeyUsage\";\r\nvar CDN_USAGE = \"CdnUsage\";\r\nvar SDK_LOADER_VER = \"SdkLoaderVer\";\r\nvar UNDEFINED_VALUE = undefined;\r\nvar default_limit = {\r\n samplingRate: 100,\r\n maxSendNumber: 1\r\n};\r\nvar default_interval = {\r\n monthInterval: 3,\r\n daysOfMonth: [28]\r\n};\r\nvar default_throttle_config = {\r\n disabled: true,\r\n limit: cfgDfMerge(default_limit),\r\n interval: cfgDfMerge(default_interval)\r\n};\r\n// We need to include all properties that we only reference that we want to be dynamically updatable here\r\n// So they are converted even when not specified in the passed configuration\r\nvar defaultConfigValues = (_a = {},\r\n _a[_DYN_CONNECTION_STRING /* @min:connectionString */] = UNDEFINED_VALUE,\r\n _a[_DYN_ENDPOINT_URL /* @min:endpointUrl */] = UNDEFINED_VALUE,\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:userOverrideEndpointUrl */] = UNDEFINED_VALUE,\r\n _a.diagnosticLogInterval = cfgDfValidate(_chkDiagLevel, 10000),\r\n _a.featureOptIn = (_b = {},\r\n _b[IKEY_USAGE] = { mode: 3 /* FeatureOptInMode.enable */ },\r\n _b[CDN_USAGE] = { mode: 2 /* FeatureOptInMode.disable */ },\r\n _b[SDK_LOADER_VER] = { mode: 2 /* FeatureOptInMode.disable */ },\r\n _b),\r\n _a.throttleMgrCfg = cfgDfMerge((_c = {},\r\n _c[109 /* _eInternalMessageId.DefaultThrottleMsgKey */] = cfgDfMerge(default_throttle_config),\r\n _c[106 /* _eInternalMessageId.InstrumentationKeyDeprecation */] = cfgDfMerge(default_throttle_config),\r\n _c[111 /* _eInternalMessageId.SdkLdrUpdate */] = cfgDfMerge(default_throttle_config),\r\n _c[110 /* _eInternalMessageId.CdnDeprecation */] = cfgDfMerge(default_throttle_config),\r\n _c)),\r\n _a.extensionConfig = cfgDfMerge((_d = {},\r\n _d[\"AppInsightsCfgSyncPlugin\"] = cfgDfMerge({\r\n cfgUrl: CONFIG_ENDPOINT_URL,\r\n syncMode: 2 /* ICfgSyncMode.Receive */\r\n }),\r\n _d)),\r\n _a);\r\nfunction _chkDiagLevel(value) {\r\n // Make sure we have a value > 0\r\n return value && value > 0;\r\n}\r\n/**\r\n * Application Insights API\r\n * @group Entrypoint\r\n * @group Classes\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar AppInsightsSku = /** @class */ (function () {\r\n function AppInsightsSku(snippet) {\r\n var _this = this;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var dependencies;\r\n var properties;\r\n var _sender;\r\n var _snippetVersion;\r\n var _evtNamespace;\r\n var _houseKeepingNamespace;\r\n var _core;\r\n var _config;\r\n var _analyticsPlugin;\r\n var _cfgSyncPlugin;\r\n var _throttleMgr;\r\n var _iKeySentMessage;\r\n var _cdnSentMessage;\r\n var _sdkVerSentMessage;\r\n dynamicProto(AppInsightsSku, this, function (_self) {\r\n _initDefaults();\r\n objDefine(_self, \"config\", {\r\n g: function () {\r\n return _config;\r\n }\r\n });\r\n arrForEach([\"pluginVersionStringArr\", \"pluginVersionString\"], function (key) {\r\n objDefine(_self, key, {\r\n g: function () {\r\n if (_core) {\r\n return _core[key];\r\n }\r\n return null;\r\n }\r\n });\r\n });\r\n // initialize the queue and config in case they are undefined\r\n _snippetVersion = \"\" + (snippet.sv || snippet[_DYN_VERSION /* @min:%2eversion */] || \"\");\r\n snippet[_DYN_QUEUE /* @min:%2equeue */] = snippet[_DYN_QUEUE /* @min:%2equeue */] || [];\r\n snippet[_DYN_VERSION /* @min:%2eversion */] = snippet[_DYN_VERSION /* @min:%2eversion */] || 2.0; // Default to new version\r\n var cfgHandler = createDynamicConfig(snippet.config || {}, defaultConfigValues);\r\n _config = cfgHandler.cfg;\r\n _analyticsPlugin = new AnalyticsPlugin();\r\n objDefine(_self, \"appInsights\", {\r\n g: function () {\r\n return _analyticsPlugin;\r\n }\r\n });\r\n properties = new PropertiesPlugin();\r\n dependencies = new DependenciesPlugin();\r\n _sender = new Sender();\r\n _core = new AppInsightsCore();\r\n objDefine(_self, \"core\", {\r\n g: function () {\r\n return _core;\r\n }\r\n });\r\n // Will get recalled if any referenced values are changed\r\n _addUnloadHook(onConfigChange(cfgHandler, function () {\r\n var configCs = _config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */];\r\n function _parseCs() {\r\n return createSyncPromise(function (resolve, reject) {\r\n doAwaitResponse(configCs, function (res) {\r\n var curCs = res && res.value;\r\n var parsedCs = null;\r\n if (!res.rejected && curCs) {\r\n // replace cs with resolved values in case of circular promises\r\n _config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] = curCs;\r\n parsedCs = parseConnectionString(curCs);\r\n }\r\n // if can't resolve cs promise, null will be returned\r\n resolve(parsedCs);\r\n });\r\n });\r\n }\r\n if (isPromiseLike(configCs)) {\r\n var ikeyPromise = createSyncPromise(function (resolve, reject) {\r\n _parseCs().then(function (cs) {\r\n var ikey = _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n ikey = cs && cs[_DYN_INSTRUMENTATIONKEY0 /* @min:%2einstrumentationkey */] || ikey;\r\n resolve(ikey);\r\n }).catch(function (e) {\r\n // parseCs will always resolve(unless timeout)\r\n // return null in case any error happens\r\n resolve(null);\r\n });\r\n });\r\n var url = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */];\r\n if (isNullOrUndefined(url)) {\r\n url = createSyncPromise(function (resolve, reject) {\r\n _parseCs().then(function (cs) {\r\n var url = _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n var ingest = cs && cs[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */];\r\n url = ingest ? ingest + DEFAULT_BREEZE_PATH : url;\r\n resolve(url);\r\n }).catch(function (e) {\r\n // parseCs will always resolve(unless timeout)\r\n // return null in case any error happens\r\n resolve(null);\r\n });\r\n });\r\n }\r\n _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = ikeyPromise;\r\n _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = url;\r\n }\r\n if (isString(configCs) && configCs) {\r\n // confirm if promiselike function present\r\n // handle cs promise here\r\n // add cases to oneNote\r\n var cs = parseConnectionString(configCs);\r\n var ingest = cs[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */];\r\n _config.endpointUrl = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] : ingest + DEFAULT_BREEZE_PATH; // add /v2/track\r\n _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = cs[_DYN_INSTRUMENTATIONKEY0 /* @min:%2einstrumentationkey */] || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n // userOverrideEndpointUrl have the highest priority\r\n _config.endpointUrl = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] : _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }));\r\n _self[STR_SNIPPET /* @min:%2esnippet */] = snippet;\r\n _self[STR_FLUSH /* @min:%2eflush */] = function (async, callBack) {\r\n if (async === void 0) { async = true; }\r\n var result;\r\n doPerf(_core, function () { return \"AISKU.flush\"; }, function () {\r\n if (async && !callBack) {\r\n result = createPromise(function (resolve) {\r\n callBack = resolve;\r\n });\r\n }\r\n var waiting = 1;\r\n var flushDone = function () {\r\n waiting--;\r\n if (waiting === 0) {\r\n callBack();\r\n }\r\n };\r\n arrForEach(_core.getChannels(), function (channel) {\r\n if (channel) {\r\n waiting++;\r\n channel[STR_FLUSH /* @min:%2eflush */](async, flushDone);\r\n }\r\n });\r\n // decrement the initial \"waiting\"\r\n flushDone();\r\n }, null, async);\r\n return result;\r\n };\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(_core.getChannels(), function (channel) {\r\n if (channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]) {\r\n channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]();\r\n }\r\n else {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n }\r\n });\r\n };\r\n _self.loadAppInsights = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n if (legacyMode) {\r\n throwUnsupported(\"Legacy Mode is no longer supported\");\r\n }\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_snippetVersion)) {\r\n snippetVer += _snippetVersion;\r\n }\r\n if (_self[_DYN_CONTEXT /* @min:%2econtext */] && _self[_DYN_CONTEXT /* @min:%2econtext */].internal) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n arrIndexOf(_ignoreUpdateSnippetProperties, field) === -1) {\r\n if (snippet[field] !== value) {\r\n snippet[field] = value;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n // initialize core\r\n _core.initialize(_config, [_sender, properties, dependencies, _analyticsPlugin, _cfgSyncPlugin], logger, notificationManager);\r\n objDefine(_self, \"context\", {\r\n g: function () { return properties[_DYN_CONTEXT /* @min:%2econtext */]; }\r\n });\r\n if (!_throttleMgr) {\r\n _throttleMgr = new ThrottleMgr(_core);\r\n }\r\n var sdkSrc = _findSdkSourceFile();\r\n if (sdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */]) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc = sdkSrc;\r\n }\r\n _updateSnippetProperties(_self[STR_SNIPPET /* @min:%2esnippet */]);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self[STR_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF2 /* @min:%2eaddHousekeepingBeforeUnload */](_self);\r\n _addUnloadHook(onConfigChange(cfgHandler, function () {\r\n var defaultEnable = false;\r\n if (_config.throttleMgrCfg[109 /* _eInternalMessageId.DefaultThrottleMsgKey */]) {\r\n defaultEnable = !_config.throttleMgrCfg[109 /* _eInternalMessageId.DefaultThrottleMsgKey */].disabled;\r\n }\r\n if (!_throttleMgr.isReady() && _config.extensionConfig && _config.extensionConfig[_cfgSyncPlugin.identifier] && defaultEnable) {\r\n // set ready state to true will automatically trigger flush()\r\n _throttleMgr.onReadyState(true);\r\n }\r\n var result;\r\n if (!_iKeySentMessage && !_config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] && isFeatureEnabled(IKEY_USAGE, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](106 /* _eInternalMessageId.InstrumentationKeyDeprecation */, \"See Instrumentation key support at aka.ms/IkeyMigrate\");\r\n _iKeySentMessage = true;\r\n }\r\n if (!_cdnSentMessage && _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc.indexOf(\"az416426\") != -1 && isFeatureEnabled(CDN_USAGE, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](110 /* _eInternalMessageId.CdnDeprecation */, \"See Cdn support notice at aka.ms/JsActiveCdn\");\r\n _cdnSentMessage = true;\r\n }\r\n if (!_sdkVerSentMessage && parseInt(_snippetVersion) < 6 && isFeatureEnabled(SDK_LOADER_VER, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](111 /* _eInternalMessageId.SdkLdrUpdate */, \"An updated Sdk Loader is available, see aka.ms/SnippetVer\");\r\n _sdkVerSentMessage = true;\r\n }\r\n }));\r\n });\r\n return _self;\r\n };\r\n _self[_DYN_UPDATE_SNIPPET_DEFIN3 /* @min:%2eupdateSnippetDefinitions */] = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, _self, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && arrIndexOf(_ignoreUpdateSnippetProperties, name) === -1;\r\n });\r\n };\r\n _self.emptyQueue = function () {\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet[_DYN_QUEUE /* @min:%2equeue */])) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet[_DYN_QUEUE /* @min:%2equeue */].length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet[_DYN_QUEUE /* @min:%2equeue */][i];\r\n call();\r\n }\r\n _self.snippet[_DYN_QUEUE /* @min:%2equeue */] = undefined;\r\n delete _self.snippet[_DYN_QUEUE /* @min:%2equeue */];\r\n }\r\n }\r\n catch (exception) {\r\n var properties_1 = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties_1.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // eLoggingSeverity.WARNING,\r\n // _eInternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF2 /* @min:%2eaddHousekeepingBeforeUnload */] = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping_1 = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n if (isFunction(_self.core[STR_GET_PLUGIN /* @min:%2egetPlugin */])) {\r\n var loadedPlugin = _this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */](PropertiesPluginIdentifier);\r\n if (loadedPlugin) {\r\n var propertiesPlugin = loadedPlugin.plugin;\r\n if (propertiesPlugin && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */] && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager) {\r\n propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager.backup();\r\n }\r\n }\r\n }\r\n };\r\n var added_1 = false;\r\n if (!_houseKeepingNamespace) {\r\n _houseKeepingNamespace = mergeEvtNamespace(_evtNamespace, _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */] && _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */]());\r\n }\r\n // Will be recalled if any referenced config properties change\r\n _addUnloadHook(onConfigChange(_config, function (details) {\r\n var coreConfig = details.cfg;\r\n var analyticsPlugin = appInsightsInstance.appInsights;\r\n var ctx = createProcessTelemetryContext(null, coreConfig, analyticsPlugin.core);\r\n var extConfig = ctx.getExtCfg(analyticsPlugin.identifier || AnalyticsPluginIdentifier);\r\n // As we could get recalled, remove any previously registered event handlers first\r\n _removePageEventHandlers();\r\n var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents;\r\n if (!extConfig.disableFlushOnBeforeUnload) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n if (addPageUnloadEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added_1 = true;\r\n }\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n if (addPageHideEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added_1 = true;\r\n }\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added_1 && !isReactNative()) {\r\n _throwInternal(_core.logger, 1 /* eLoggingSeverity.CRITICAL */, 19 /* _eInternalMessageId.FailedToAddHandlerForOnBeforeUnload */, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added_1 && !extConfig.disableFlushOnUnload) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace);\r\n }\r\n }));\r\n }\r\n };\r\n _self.getSender = function () {\r\n return _sender;\r\n };\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n var unloadDone = false;\r\n var result;\r\n if (isAsync && !unloadComplete) {\r\n result = createPromise(function (resolve) {\r\n // Set the callback to the promise resolve callback\r\n unloadComplete = resolve;\r\n });\r\n }\r\n function _unloadCallback(unloadState) {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n }\r\n }\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](isAsync);\r\n _removePageEventHandlers();\r\n _core.unload && _core.unload(isAsync, _unloadCallback, cbTimeout);\r\n return result;\r\n };\r\n proxyFunctions(_self, _analyticsPlugin, [\r\n STR_GET_COOKIE_MGR,\r\n STR_TRACK_EVENT,\r\n STR_TRACK_PAGE_VIEW,\r\n \"trackPageViewPerformance\",\r\n STR_TRACK_EXCEPTION,\r\n \"_onerror\",\r\n STR_TRACK_TRACE,\r\n STR_TRACK_METRIC,\r\n STR_START_TRACK_PAGE,\r\n STR_STOP_TRACK_PAGE,\r\n STR_START_TRACK_EVENT,\r\n STR_STOP_TRACK_EVENT\r\n ]);\r\n proxyFunctions(_self, _getCurrentDependencies, [\r\n STR_TRACK_DEPENDENCY_DATA,\r\n \"addDependencyListener\",\r\n \"addDependencyInitializer\"\r\n ]);\r\n proxyFunctions(_self, _core, [\r\n STR_ADD_TELEMETRY_INITIALIZER,\r\n STR_POLL_INTERNAL_LOGS,\r\n \"stopPollingInternalLogs\",\r\n STR_GET_PLUGIN,\r\n \"addPlugin\",\r\n STR_EVT_NAMESPACE,\r\n \"addUnloadCb\",\r\n \"getTraceCtx\",\r\n \"updateCfg\",\r\n \"onCfgChange\"\r\n ]);\r\n proxyFunctions(_self, function () {\r\n var context = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n return context ? context.user : null;\r\n }, [\r\n STR_SET_AUTHENTICATED_USER_CONTEXT,\r\n STR_CLEAR_AUTHENTICATED_USER_CONTEXT\r\n ]);\r\n // Using a function to support the dynamic adding / removal of plugins, so this will always return the current value\r\n function _getCurrentDependencies() {\r\n return dependencies;\r\n }\r\n function _initDefaults() {\r\n _evtNamespace = createUniqueNamespace(\"AISKU\");\r\n _houseKeepingNamespace = null;\r\n dependencies = null;\r\n properties = null;\r\n _sender = null;\r\n _snippetVersion = null;\r\n _throttleMgr = null;\r\n _iKeySentMessage = false;\r\n _cdnSentMessage = false;\r\n _sdkVerSentMessage = false;\r\n _cfgSyncPlugin = new CfgSyncPlugin();\r\n }\r\n function _removePageEventHandlers() {\r\n // Remove any registered event handlers\r\n if (_houseKeepingNamespace) {\r\n removePageUnloadEventListener(null, _houseKeepingNamespace);\r\n removePageHideEventListener(null, _houseKeepingNamespace);\r\n }\r\n }\r\n function _addUnloadHook(hooks) {\r\n _core.addUnloadHook(hooks);\r\n }\r\n });\r\n }\r\n // Analytics Plugin\r\n// Removed Stub for AppInsightsSku.prototype.getCookieMgr.\r\n// Removed Stub for AppInsightsSku.prototype.trackEvent.\r\n// Removed Stub for AppInsightsSku.prototype.trackPageView.\r\n// Removed Stub for AppInsightsSku.prototype.trackPageViewPerformance.\r\n// Removed Stub for AppInsightsSku.prototype.trackException.\r\n// Removed Stub for AppInsightsSku.prototype._onerror.\r\n// Removed Stub for AppInsightsSku.prototype.trackTrace.\r\n// Removed Stub for AppInsightsSku.prototype.trackMetric.\r\n// Removed Stub for AppInsightsSku.prototype.startTrackPage.\r\n// Removed Stub for AppInsightsSku.prototype.stopTrackPage.\r\n// Removed Stub for AppInsightsSku.prototype.startTrackEvent.\r\n// Removed Stub for AppInsightsSku.prototype.stopTrackEvent.\r\n// Removed Stub for AppInsightsSku.prototype.addTelemetryInitializer.\r\n // Properties Plugin\r\n// Removed Stub for AppInsightsSku.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for AppInsightsSku.prototype.clearAuthenticatedUserContext.\r\n // Dependencies Plugin\r\n// Removed Stub for AppInsightsSku.prototype.trackDependencyData.\r\n // Misc\r\n// Removed Stub for AppInsightsSku.prototype.flush.\r\n// Removed Stub for AppInsightsSku.prototype.onunloadFlush.\r\n// Removed Stub for AppInsightsSku.prototype.loadAppInsights.\r\n// Removed Stub for AppInsightsSku.prototype.updateSnippetDefinitions.\r\n// Removed Stub for AppInsightsSku.prototype.emptyQueue.\r\n// Removed Stub for AppInsightsSku.prototype.pollInternalLogs.\r\n// Removed Stub for AppInsightsSku.prototype.stopPollingInternalLogs.\r\n// Removed Stub for AppInsightsSku.prototype.addHousekeepingBeforeUnload.\r\n// Removed Stub for AppInsightsSku.prototype.getSender.\r\n// Removed Stub for AppInsightsSku.prototype.unload.\r\n// Removed Stub for AppInsightsSku.prototype.getPlugin.\r\n// Removed Stub for AppInsightsSku.prototype.addPlugin.\r\n// Removed Stub for AppInsightsSku.prototype.updateCfg.\r\n// Removed Stub for AppInsightsSku.prototype.evtNamespace.\r\n// Removed Stub for AppInsightsSku.prototype.addUnloadCb.\r\n// Removed Stub for AppInsightsSku.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AppInsightsSku.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for AppInsightsSku.prototype.getTraceCtx.\r\n// Removed Stub for AppInsightsSku.prototype.onCfgChange.\r\n return AppInsightsSku;\r\n}());\r\nexport { AppInsightsSku };\r\n// tslint:disable-next-line\r\nexport function _findSdkSourceFile() {\r\n if (_internalSdkSrc) {\r\n // Use the cached value\r\n return _internalSdkSrc;\r\n }\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url_1 = sdkSrc.toLowerCase();\r\n if (url_1) {\r\n var src_1 = \"\";\r\n arrForEach(cdns, function (value, idx) {\r\n if (strIndexOf(url_1, value) !== -1) {\r\n src_1 = \"cdn\" + (idx + 1);\r\n if (strIndexOf(url_1, \"/scripts/\") === -1) {\r\n if (strIndexOf(url_1, \"/next/\") !== -1) {\r\n src_1 += \"-next\";\r\n }\r\n else if (strIndexOf(url_1, \"/beta/\") !== -1) {\r\n src_1 += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src_1 + (isModule ? \".mod\" : \"\");\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n // Cache the found value so we don't have to look it up again\r\n _internalSdkSrc = sdkSrc;\r\n }\r\n return _internalSdkSrc;\r\n}\r\n//# sourceMappingURL=AISku.js.map","/*\n * Application Insights JavaScript SDK - Web, 3.3.3\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_QUEUE = \"queue\"; // Count: 6\r\nexport var _DYN_CONNECTION_STRING = \"connectionString\"; // Count: 4\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 5\r\nexport var _DYN_INSTRUMENTATIONKEY0 = \"instrumentationkey\"; // Count: 2\r\nexport var _DYN_USER_OVERRIDE_ENDPOI1 = \"userOverrideEndpointUrl\"; // Count: 6\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_FLUSH = \"onunloadFlush\"; // Count: 6\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 5\r\nexport var _DYN_ADD_HOUSEKEEPING_BEF2 = \"addHousekeepingBeforeUnload\"; // Count: 2\r\nexport var _DYN_SEND_MESSAGE = \"sendMessage\"; // Count: 3\r\nexport var _DYN_UPDATE_SNIPPET_DEFIN3 = \"updateSnippetDefinitions\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar _a;\r\nimport { getGlobal, objCreate, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\n;\r\nvar UNDEFINED = \"undefined\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Constructor = 'constructor';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Prototype = 'prototype';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strFunction = 'function';\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */\r\nvar DynInstFuncTable = '_dynInstFuncs';\r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */\r\nvar DynProxyTag = '_isDynProxy';\r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */\r\nvar DynClassName = '_dynClass';\r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */\r\nvar DynClassNamePrefix = '_dynCls$';\r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nvar DynInstChkTag = '_dynInstChk';\r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same\r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nvar DynAllowInstChkTag = DynInstChkTag;\r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nvar DynProtoDefaultOptions = '_dfOpts';\r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */\r\nvar UnknownValue = '_unknown_';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nvar DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nvar DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nvar DynProtoCurrent = \"_dynInstProto\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strUseBaseInst = 'useBaseInst';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strSetInstFuncs = 'setInstFuncs';\r\nvar Obj = Object;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nvar _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nvar _gbl = getGlobal();\r\nvar _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: (_a = {},\r\n _a[strSetInstFuncs] = true,\r\n _a[strUseBaseInst] = true,\r\n _a),\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */\r\nfunction _isObjectOrArrayPrototype(target) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */\r\nfunction _isObjectArrayOrFunctionPrototype(target) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n var newProto;\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!objHasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n return newProto;\r\n}\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target\r\n */\r\nfunction _forEachProp(target, func) {\r\n var props = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n }\r\n else {\r\n for (var name_1 in target) {\r\n if (typeof name_1 === \"string\" && objHasOwnProperty(target, name_1)) {\r\n props.push(name_1);\r\n }\r\n }\r\n }\r\n if (props && props.length > 0) {\r\n for (var lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target, funcName, skipOwn) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message) {\r\n throwTypeError(\"DynamicProto: \" + message);\r\n}\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does\r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget) {\r\n // Get the base proto\r\n var instFuncs = objCreate(null);\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n return instFuncs;\r\n}\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values, value) {\r\n for (var lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {\r\n function _instFuncProxy(target, funcHost, funcName) {\r\n var theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n return function () {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = objCreate(null);\r\n _forEachProp(instFuncs, function (name) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n var visited = [];\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n return baseFuncs;\r\n}\r\nfunction _getInstFunc(target, funcName, proto, currentDynProtoProxy) {\r\n var instFunc = null;\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && objHasOwnProperty(proto, DynClassName)) {\r\n var instFuncTable = target[DynInstFuncTable] || objCreate(null);\r\n instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n var canAddInst = !objHasOwnProperty(target, funcName);\r\n // Get current prototype\r\n var objProto = _getObjProto(target);\r\n var visited = [];\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n var protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n }\r\n catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n return instFunc;\r\n}\r\nfunction _getProtoFunc(funcName, proto, currentDynProtoProxy) {\r\n var protoFunc = proto[funcName];\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n return protoFunc;\r\n}\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname\r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {\r\n function _createDynamicPrototype(proto, funcName) {\r\n var dynProtoProxy = function () {\r\n // Use the instance or prototype function\r\n var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n dynProtoProxy[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null)); // fetch and assign if as it may not exist yet\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n if (!_isObjectOrArrayPrototype(instFuncs_1)) {\r\n _forEachProp(target, function (name) {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs_1[name] = target[name];\r\n delete target[name];\r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto, thisTarget) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n var visited = [];\r\n var thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n return false;\r\n }\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target\r\n * @param unknownValue\r\n * @ignore\r\n */\r\nfunction _getObjName(target, unknownValue) {\r\n if (objHasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue;\r\n }\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is\r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nexport default function dynamicProto(theClass, target, delegateFunc, options) {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!objHasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n var classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n var className = null;\r\n if (objHasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n }\r\n else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n var perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n var useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n // Get the current instance functions\r\n var instFuncs = _getInstanceFuncs(target);\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs);\r\n // Don't allow setting instance functions for older IE instances\r\n var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\r\n//# sourceMappingURL=DynamicProto.js.map","/*!\n * NevWare21 Solutions LLC - ts-async, 0.5.2\n * https://github.com/nevware21/ts-async\n * Copyright (c) NevWare21 Solutions LLC and contributors. All rights reserved.\n * Licensed under the MIT license.\n */\nimport { isPromiseLike, objDefineProperties, getDocument, createCachedValue, safe, getInst, dumpObj, arrSlice, objDefineProp, hasSymbol, getKnownSymbol, isFunction, throwTypeError, iterForOf, scheduleTimeout, isNode, getWindow, getGlobal, objDefine, objToString, isUndefined, isArray, arrForEach, isIterable, createCustomError, isNumber, scheduleIdleCallback, utcNow, getLength, isIterator, fnCall, arrIndexOf } from '@nevware21/ts-utils';\n\nvar STR_PROMISE = \"Promise\";\nvar DONE = \"done\";\nvar VALUE = \"value\";\nvar RETURN = \"return\";\nvar REJECTED = \"rejected\";\n\nfunction doAwaitResponse(value, cb) {\n return doAwait(value, function (value) {\n return cb ? cb({\n status: \"fulfilled\",\n rejected: false,\n value: value\n }) : value;\n }, function (reason) {\n return cb ? cb({\n status: REJECTED,\n rejected: true,\n reason: reason\n }) : reason;\n });\n}\nfunction doAwait(value, resolveFn, rejectFn, finallyFn) {\n var result = value;\n try {\n if (isPromiseLike(value)) {\n if (resolveFn || rejectFn) {\n result = value.then(resolveFn, rejectFn);\n }\n }\n else {\n try {\n if (resolveFn) {\n result = resolveFn(value);\n }\n }\n catch (err) {\n if (rejectFn) {\n result = rejectFn(err);\n }\n else {\n throw err;\n }\n }\n }\n }\n finally {\n if (finallyFn) {\n doFinally(result, finallyFn);\n }\n }\n return result;\n}\nfunction doFinally(value, finallyFn) {\n var result = value;\n if (finallyFn) {\n if (isPromiseLike(value)) {\n if (value.finally) {\n result = value.finally(finallyFn);\n }\n else {\n result = value.then(function (value) {\n finallyFn();\n return value;\n }, function (reason) {\n finallyFn();\n throw reason;\n });\n }\n }\n else {\n finallyFn();\n }\n }\n return result;\n}\n\nvar _debugState;\nvar _debugResult;\nvar _debugHandled;\nvar _promiseDebugEnabled = false;\nfunction _addDebugState$1(thePromise, stateFn, resultFn, handledFn) {\n _debugState = _debugState || { toString: function () { return \"[[PromiseState]]\"; } };\n _debugResult = _debugResult || { toString: function () { return \"[[PromiseResult]]\"; } };\n _debugHandled = _debugHandled || { toString: function () { return \"[[PromiseIsHandled]]\"; } };\n var props = {};\n props[_debugState] = { get: stateFn };\n props[_debugResult] = { get: resultFn };\n props[_debugHandled] = { get: handledFn };\n objDefineProperties(thePromise, props);\n}\nfunction setPromiseDebugState(enabled, logger) {\n _promiseDebugEnabled = enabled;\n}\n\nvar STRING_STATES = [\n \"pending\", \"resolving\", \"resolved\", REJECTED\n];\n\nvar DISPATCH_EVENT = \"dispatchEvent\";\nvar _hasInitEvent;\nfunction _hasInitEventFn(doc) {\n var evt;\n if (doc && doc.createEvent) {\n evt = doc.createEvent(\"Event\");\n }\n return (!!evt && evt.initEvent);\n}\nfunction emitEvent(target, evtName, populateEvent, useNewEvent) {\n var doc = getDocument();\n !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));\n var theEvt = _hasInitEvent.v ? doc.createEvent(\"Event\") : (useNewEvent ? new Event(evtName) : {});\n populateEvent && populateEvent(theEvt);\n if (_hasInitEvent.v) {\n theEvt.initEvent(evtName, false, true);\n }\n if (theEvt && target[DISPATCH_EVENT]) {\n target[DISPATCH_EVENT](theEvt);\n }\n else {\n var handler = target[\"on\" + evtName];\n if (handler) {\n handler(theEvt);\n }\n else {\n var theConsole = getInst(\"console\");\n theConsole && (theConsole[\"error\"] || theConsole[\"log\"])(evtName, dumpObj(theEvt));\n }\n }\n}\n\nvar NODE_UNHANDLED_REJECTION = \"unhandledRejection\";\nvar UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();\nvar _currentPromiseId = [];\nvar _uniquePromiseId = 0;\nvar _unhandledRejectionTimeout = 10;\nvar _aggregationError;\nvar _hasPromiseRejectionEvent;\nfunction dumpFnObj(value) {\n if (isFunction(value)) {\n return value.toString();\n }\n return dumpObj(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createAggregationError(values) {\n !_aggregationError && (_aggregationError = createCachedValue(safe(getInst, [\"AggregationError\"]).v || createCustomError(\"AggregationError\", function (self, args) {\n self.errors = args[0];\n })));\n return new _aggregationError.v(values);\n}\nfunction _createPromise(newPromise, processor, executor) {\n var additionalArgs = arrSlice(arguments, 3);\n var _state = 0 ;\n var _hasResolved = false;\n var _settledValue;\n var _queue = [];\n var _id = _uniquePromiseId++;\n var _parentId = _currentPromiseId.length > 0 ? _currentPromiseId[_currentPromiseId.length - 1] : undefined;\n var _handled = false;\n var _unHandledRejectionHandler = null;\n var _thePromise;\n function _then(onResolved, onRejected) {\n try {\n _currentPromiseId.push(_id);\n _handled = true;\n _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();\n _unHandledRejectionHandler = null;\n var thenPromise = newPromise(function (resolve, reject) {\n _queue.push(function () {\n try {\n var handler = _state === 2 ? onResolved : onRejected;\n var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);\n if (isPromiseLike(value)) {\n value.then(resolve, reject);\n }\n else if (handler) {\n resolve(value);\n }\n else if (_state === 3 ) {\n reject(value);\n }\n else {\n resolve(value);\n }\n }\n catch (e) {\n reject(e);\n }\n });\n if (_hasResolved) {\n _processQueue();\n }\n }, additionalArgs);\n return thenPromise;\n }\n finally {\n _currentPromiseId.pop();\n }\n }\n function _catch(onRejected) {\n return _then(undefined, onRejected);\n }\n function _finally(onFinally) {\n var thenFinally = onFinally;\n var catchFinally = onFinally;\n if (isFunction(onFinally)) {\n thenFinally = function (value) {\n onFinally && onFinally();\n return value;\n };\n catchFinally = function (reason) {\n onFinally && onFinally();\n throw reason;\n };\n }\n return _then(thenFinally, catchFinally);\n }\n function _strState() {\n return STRING_STATES[_state];\n }\n function _processQueue() {\n if (_queue.length > 0) {\n var pending = _queue.slice();\n _queue = [];\n _handled = true;\n _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();\n _unHandledRejectionHandler = null;\n processor(pending);\n }\n }\n function _createSettleIfFn(newState, allowState) {\n return function (theValue) {\n if (_state === allowState) {\n if (newState === 2 && isPromiseLike(theValue)) {\n _state = 1 ;\n theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));\n return;\n }\n _state = newState;\n _hasResolved = true;\n _settledValue = theValue;\n _processQueue();\n if (!_handled && newState === 3 && !_unHandledRejectionHandler) {\n _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);\n }\n }\n };\n }\n function _notifyUnhandledRejection() {\n if (!_handled) {\n _handled = true;\n if (isNode()) {\n process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);\n }\n else {\n var gbl = getWindow() || getGlobal();\n !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = createCachedValue(safe((getInst), [STR_PROMISE + \"RejectionEvent\"]).v));\n emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {\n objDefine(theEvt, \"promise\", { g: function () { return _thePromise; } });\n theEvt.reason = _settledValue;\n return theEvt;\n }, !!_hasPromiseRejectionEvent.v);\n }\n }\n }\n _thePromise = {\n then: _then,\n \"catch\": _catch,\n finally: _finally\n };\n objDefineProp(_thePromise, \"state\", {\n get: _strState\n });\n if (_promiseDebugEnabled) {\n _addDebugState$1(_thePromise, _strState, function () { return objToString(_settledValue); }, function () { return _handled; });\n }\n if (hasSymbol()) {\n _thePromise[getKnownSymbol(11 )] = \"IPromise\";\n }\n function _toString() {\n return \"IPromise\" + (_promiseDebugEnabled ? \"[\" + _id + (!isUndefined(_parentId) ? (\":\" + _parentId) : \"\") + \"]\" : \"\") + \" \" + _strState() + (_hasResolved ? (\" - \" + dumpFnObj(_settledValue)) : \"\") + (\"\");\n }\n _thePromise.toString = _toString;\n (function _initialize() {\n if (!isFunction(executor)) {\n throwTypeError(STR_PROMISE + \": executor is not a function - \" + dumpFnObj(executor));\n }\n var _rejectFn = _createSettleIfFn(3 , 0 );\n try {\n executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);\n }\n catch (e) {\n _rejectFn(e);\n }\n })();\n return _thePromise;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createAllPromise(newPromise) {\n return function (input) {\n var additionalArgs = arrSlice(arguments, 1);\n return newPromise(function (resolve, reject) {\n try {\n var values_1 = [];\n var pending_1 = 1;\n iterForOf(input, function (item, idx) {\n if (item) {\n pending_1++;\n doAwait(item, function (value) {\n values_1[idx] = value;\n if (--pending_1 === 0) {\n resolve(values_1);\n }\n }, reject);\n }\n });\n pending_1--;\n if (pending_1 === 0) {\n resolve(values_1);\n }\n }\n catch (e) {\n reject(e);\n }\n }, additionalArgs);\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createResolvedPromise(newPromise) {\n return function (value) {\n var additionalArgs = arrSlice(arguments, 1);\n if (isPromiseLike(value)) {\n return value;\n }\n return newPromise(function (resolve) {\n resolve(value);\n }, additionalArgs);\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createRejectedPromise(newPromise) {\n return function (reason) {\n var additionalArgs = arrSlice(arguments, 1);\n return newPromise(function (_resolve, reject) {\n reject(reason);\n }, additionalArgs);\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createAllSettledPromise(newPromise) {\n return createCachedValue(function (input) {\n var additionalArgs = arrSlice(arguments, 1);\n return newPromise(function (resolve, reject) {\n var values = [];\n var pending = 1;\n function processItem(item, idx) {\n pending++;\n doAwaitResponse(item, function (value) {\n if (value.rejected) {\n values[idx] = {\n status: REJECTED,\n reason: value.reason\n };\n }\n else {\n values[idx] = {\n status: \"fulfilled\",\n value: value.value\n };\n }\n if (--pending === 0) {\n resolve(values);\n }\n });\n }\n try {\n if (isArray(input)) {\n arrForEach(input, processItem);\n }\n else if (isIterable(input)) {\n iterForOf(input, processItem);\n }\n else {\n throwTypeError(\"Input is not an iterable\");\n }\n pending--;\n if (pending === 0) {\n resolve(values);\n }\n }\n catch (e) {\n reject(e);\n }\n }, additionalArgs);\n });\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createRacePromise(newPromise) {\n return createCachedValue(function (input) {\n var additionalArgs = arrSlice(arguments, 1);\n return newPromise(function (resolve, reject) {\n var isDone = false;\n function processItem(item) {\n doAwaitResponse(item, function (value) {\n if (!isDone) {\n isDone = true;\n if (value.rejected) {\n reject(value.reason);\n }\n else {\n resolve(value.value);\n }\n }\n });\n }\n try {\n if (isArray(input)) {\n arrForEach(input, processItem);\n }\n else if (isIterable(input)) {\n iterForOf(input, processItem);\n }\n else {\n throwTypeError(\"Input is not an iterable\");\n }\n }\n catch (e) {\n reject(e);\n }\n }, additionalArgs);\n });\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createAnyPromise(newPromise) {\n return createCachedValue(function (input) {\n var additionalArgs = arrSlice(arguments, 1);\n return newPromise(function (resolve, reject) {\n var theErros = [];\n var pending = 1;\n var isDone = false;\n function processItem(item, idx) {\n pending++;\n doAwaitResponse(item, function (value) {\n if (!value.rejected) {\n isDone = true;\n resolve(value.value);\n return;\n }\n else {\n theErros[idx] = value.reason;\n }\n if (--pending === 0 && !isDone) {\n reject(_createAggregationError(theErros));\n }\n });\n }\n try {\n if (isArray(input)) {\n arrForEach(input, processItem);\n }\n else if (isIterable(input)) {\n iterForOf(input, processItem);\n }\n else {\n throwTypeError(\"Input is not an iterable\");\n }\n pending--;\n if (pending === 0 && !isDone) {\n reject(_createAggregationError(theErros));\n }\n }\n catch (e) {\n reject(e);\n }\n }, additionalArgs);\n });\n}\n\nfunction syncItemProcessor(pending) {\n arrForEach(pending, function (fn) {\n try {\n fn();\n }\n catch (e) {\n }\n });\n}\nfunction timeoutItemProcessor(timeout) {\n var callbackTimeout = isNumber(timeout) ? timeout : 0;\n return function (pending) {\n scheduleTimeout(function () {\n syncItemProcessor(pending);\n }, callbackTimeout);\n };\n}\nfunction idleItemProcessor(timeout) {\n var options;\n if (timeout >= 0) {\n options = {\n timeout: +timeout\n };\n }\n return function (pending) {\n scheduleIdleCallback(function (deadline) {\n syncItemProcessor(pending);\n }, options);\n };\n}\n\nvar _allAsyncSettledCreator;\nvar _raceAsyncCreator;\nvar _anyAsyncCreator;\nfunction createAsyncPromise(executor, timeout) {\n return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);\n}\nvar createAsyncAllPromise = /*#__PURE__*/ _createAllPromise(createAsyncPromise);\nvar createAsyncResolvedPromise = /*#__PURE__*/ _createResolvedPromise(createAsyncPromise);\nvar createAsyncRejectedPromise = /*#__PURE__*/ _createRejectedPromise(createAsyncPromise);\nfunction createAsyncAllSettledPromise(input, timeout) {\n !_allAsyncSettledCreator && (_allAsyncSettledCreator = _createAllSettledPromise(createAsyncPromise));\n return _allAsyncSettledCreator.v(input, timeout);\n}\nfunction createAsyncRacePromise(values, timeout) {\n !_raceAsyncCreator && (_raceAsyncCreator = _createRacePromise(createAsyncPromise));\n return _raceAsyncCreator.v(values, timeout);\n}\nfunction createAsyncAnyPromise(values, timeout) {\n !_anyAsyncCreator && (_anyAsyncCreator = _createAnyPromise(createAsyncPromise));\n return _anyAsyncCreator.v(values, timeout);\n}\n\nvar _promiseCls;\nvar _allCreator;\nvar _allNativeSettledCreator;\nvar _raceNativeCreator;\nvar _anyNativeCreator;\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createNativePromiseHelper(name, func) {\n !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));\n if (_promiseCls.v && _promiseCls.v[name]) {\n return createCachedValue(function (input, timeout) {\n return createNativePromise(function (resolve, reject) {\n _promiseCls.v[name](input).then(resolve, reject);\n });\n });\n }\n return func();\n}\nfunction createNativePromise(executor, timeout) {\n !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));\n var PrmCls = _promiseCls.v;\n if (!PrmCls) {\n return createAsyncPromise(executor);\n }\n if (!isFunction(executor)) {\n throwTypeError(STR_PROMISE + \": executor is not a function - \" + dumpObj(executor));\n }\n var _state = 0 ;\n function _strState() {\n return STRING_STATES[_state];\n }\n var thePromise = new PrmCls(function (resolve, reject) {\n function _resolve(value) {\n _state = 2 ;\n resolve(value);\n }\n function _reject(reason) {\n _state = 3 ;\n reject(reason);\n }\n executor(_resolve, _reject);\n });\n objDefineProp(thePromise, \"state\", {\n get: _strState\n });\n return thePromise;\n}\nfunction createNativeAllPromise(input, timeout) {\n !_allCreator && (_allCreator = _createNativePromiseHelper(\"all\", function () { return createCachedValue(_createAllPromise(createNativePromise)); }));\n return _allCreator.v(input, timeout);\n}\nvar createNativeResolvedPromise = /*#__PURE__*/ _createResolvedPromise(createNativePromise);\nvar createNativeRejectedPromise = /*#__PURE__*/ _createRejectedPromise(createNativePromise);\nfunction createNativeAllSettledPromise(input, timeout) {\n !_allNativeSettledCreator && (_allNativeSettledCreator = _createNativePromiseHelper(\"allSettled\", function () { return _createAllSettledPromise(createNativePromise); }));\n return _allNativeSettledCreator.v(input, timeout);\n}\nfunction createNativeRacePromise(values, timeout) {\n !_raceNativeCreator && (_raceNativeCreator = _createNativePromiseHelper(\"race\", function () { return _createRacePromise(createNativePromise); }));\n return _raceNativeCreator.v(values, timeout);\n}\nfunction createNativeAnyPromise(values, timeout) {\n !_anyNativeCreator && (_anyNativeCreator = _createNativePromiseHelper(\"any\", function () { return _createAnyPromise(createNativePromise); }));\n return _anyNativeCreator.v(values, timeout);\n}\n\nvar _allSyncSettledCreator;\nvar _raceSyncCreator;\nvar _anySyncCreator;\nfunction createSyncPromise(executor) {\n return _createPromise(createSyncPromise, syncItemProcessor, executor);\n}\nvar createSyncAllPromise = /*#__PURE__*/ _createAllPromise(createSyncPromise);\nvar createSyncResolvedPromise = /*#__PURE__*/ _createResolvedPromise(createSyncPromise);\nvar createSyncRejectedPromise = /*#__PURE__*/ _createRejectedPromise(createSyncPromise);\nfunction createSyncAllSettledPromise(input, timeout) {\n !_allSyncSettledCreator && (_allSyncSettledCreator = _createAllSettledPromise(createSyncPromise));\n return _allSyncSettledCreator.v(input, timeout);\n}\nfunction createSyncRacePromise(values, timeout) {\n !_raceSyncCreator && (_raceSyncCreator = _createRacePromise(createSyncPromise));\n return _raceSyncCreator.v(values, timeout);\n}\nfunction createSyncAnyPromise(values, timeout) {\n !_anySyncCreator && (_anySyncCreator = _createAnyPromise(createSyncPromise));\n return _anySyncCreator.v(values, timeout);\n}\n\nvar _defaultIdleTimeout;\nvar _allIdleSettledCreator;\nvar _raceIdleCreator;\nvar _anyIdleCreator;\nfunction setDefaultIdlePromiseTimeout(idleDeadline) {\n _defaultIdleTimeout = idleDeadline;\n}\nvar setDefaultIdleTimeout = ( setDefaultIdlePromiseTimeout);\nfunction createIdlePromise(executor, timeout) {\n var theTimeout = isUndefined(timeout) ? _defaultIdleTimeout : timeout;\n return _createPromise(createIdlePromise, idleItemProcessor(theTimeout), executor, theTimeout);\n}\nvar createIdleAllPromise = /*#__PURE__*/ _createAllPromise(createIdlePromise);\nvar createIdleResolvedPromise = /*#__PURE__*/ _createResolvedPromise(createIdlePromise);\nvar createIdleRejectedPromise = /*#__PURE__*/ _createRejectedPromise(createIdlePromise);\nfunction createIdleAllSettledPromise(input, timeout) {\n !_allIdleSettledCreator && (_allIdleSettledCreator = _createAllSettledPromise(createIdlePromise));\n return _allIdleSettledCreator.v(input, timeout);\n}\nfunction createIdleRacePromise(values, timeout) {\n !_raceIdleCreator && (_raceIdleCreator = _createRacePromise(createIdlePromise));\n return _raceIdleCreator.v(values, timeout);\n}\nfunction createIdleAnyPromise(values, timeout) {\n !_anyIdleCreator && (_anyIdleCreator = _createAnyPromise(createIdlePromise));\n return _anyIdleCreator.v(values, timeout);\n}\n\nvar _promiseCreator;\nvar _allSettledCreator;\nvar _raceCreator;\nvar _anyCreator;\nfunction setCreatePromiseImpl(creator) {\n _promiseCreator = creator ? createCachedValue(creator) : null;\n}\nfunction createPromise(executor, timeout) {\n !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));\n return _promiseCreator.v.call(this, executor, timeout);\n}\nvar createAllPromise = /*#__PURE__*/ _createAllPromise(createPromise);\nvar createResolvedPromise = /*#__PURE__*/ _createResolvedPromise(createPromise);\nvar createRejectedPromise = /*#__PURE__*/ _createRejectedPromise(createPromise);\nfunction createAllSettledPromise(input, timeout) {\n !_allSettledCreator && (_allSettledCreator = _createAllSettledPromise(createPromise));\n return _allSettledCreator.v(input, timeout);\n}\nfunction createRacePromise(values, timeout) {\n !_raceCreator && (_raceCreator = _createRacePromise(createPromise));\n return _raceCreator.v(values, timeout);\n}\nfunction createAnyPromise(values, timeout) {\n !_anyCreator && (_anyCreator = _createAnyPromise(createPromise));\n return _anyCreator.v(values, timeout);\n}\n\nfunction createTimeoutPromise(timeout, resolveReject, message) {\n return createPromise(function (resolve, reject) {\n scheduleTimeout(function () {\n (resolveReject ? resolve : reject)(!isUndefined(message) ? message : \"Timeout of \" + timeout + \"ms exceeded\");\n }, timeout);\n });\n}\n\nfunction _doneChk(isDone, state, value, thisArg) {\n var result = isDone;\n state.res = value;\n if (!result) {\n if (state.isDone && isFunction(state.isDone)) {\n return doAwait(state.isDone.call(thisArg, state), function (done) {\n state.iter++;\n return !!done;\n });\n }\n else {\n result = !!state.isDone;\n }\n }\n state.iter++;\n return result;\n}\nfunction doWhileAsync(callbackFn, isDoneFn, thisArg) {\n var promise;\n var resolve;\n var reject = function (reason) {\n isDone = true;\n throw reason;\n };\n var isDone = false;\n var state = {\n st: utcNow(),\n iter: 0,\n isDone: isDoneFn || false\n };\n if (callbackFn) {\n var _createPromise_1 = function () {\n return createPromise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n };\n var _handleAsyncDone_1 = function (done) {\n isDone = !!done;\n if (!isDone) {\n _processNext_1();\n }\n else {\n resolve(state.res);\n }\n };\n var _processNext_1 = function () {\n while (!isDone) {\n try {\n var cbResult = callbackFn.call(thisArg, state);\n if (isPromiseLike(cbResult)) {\n promise = promise || _createPromise_1();\n doAwait(cbResult, function (res) {\n try {\n doAwait(_doneChk(isDone, state, res, thisArg), _handleAsyncDone_1, reject);\n }\n catch (e) {\n reject(e);\n }\n }, reject);\n return promise;\n }\n else {\n var dnRes = _doneChk(isDone, state, cbResult, thisArg);\n if (isPromiseLike(dnRes)) {\n promise = promise || _createPromise_1();\n doAwait(dnRes, _handleAsyncDone_1, reject);\n return promise;\n }\n else {\n isDone = !!dnRes;\n }\n }\n }\n catch (e) {\n reject(e);\n return promise;\n }\n }\n if (isDone && resolve) {\n resolve(state.res);\n }\n return promise || state.res;\n };\n return _processNext_1();\n }\n}\n\nfunction arrForEachAsync(theArray, callbackFn, thisArg) {\n if (theArray) {\n var len_1 = getLength(theArray);\n if (len_1) {\n var isDone = function (state) {\n if (state.iter >= len_1 || state.res === -1) {\n return true;\n }\n };\n return doWhileAsync(function (state) {\n var idx = state.iter;\n if (idx in theArray) {\n return callbackFn.call(thisArg || theArray, theArray[idx], idx, theArray);\n }\n }, isDone);\n }\n }\n}\n\nvar _iterSymbol;\nvar _iterAsyncSymbol;\nfunction iterForOfAsync(iter, callbackFn, thisArg) {\n var err;\n var iterResult;\n var theIter = iter;\n function onFailed(failed) {\n err = { e: failed };\n if (theIter.throw) {\n iterResult = null;\n theIter.throw(err);\n }\n throw failed;\n }\n function onFinally() {\n try {\n if (iterResult && !iterResult[DONE]) {\n theIter[RETURN] && theIter[RETURN](iterResult);\n }\n }\n finally {\n if (err) {\n throw err.e;\n }\n }\n }\n if (iter) {\n if (!isIterator(iter)) {\n !_iterAsyncSymbol && (_iterAsyncSymbol = createCachedValue(getKnownSymbol(0 )));\n theIter = iter[_iterAsyncSymbol.v] ? iter[_iterAsyncSymbol.v]() : null;\n if (!theIter) {\n !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));\n theIter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;\n }\n }\n if (theIter && isIterator(theIter)) {\n var result = void 0;\n try {\n result = doWhileAsync(function (state) {\n return doAwait(theIter.next(), function (res) {\n iterResult = res;\n if (!res[DONE]) {\n return fnCall(callbackFn, thisArg || theIter, iterResult[VALUE], state.iter, theIter);\n }\n }, function (reason) {\n state.isDone = true;\n onFailed(reason);\n });\n }, function (state) {\n if (!iterResult || iterResult[DONE] || state.res === -1) {\n onFinally();\n return true;\n }\n }, thisArg || theIter);\n if (isPromiseLike(result)) {\n result = doFinally(result.catch(onFailed), onFinally);\n }\n return result;\n }\n catch (failed) {\n onFailed(failed);\n }\n finally {\n if (result && !isPromiseLike(result)) {\n onFinally();\n }\n }\n }\n }\n}\n\nvar REJECT = \"reject\";\nvar REJECTED_ERROR = \"Rejected\";\nvar _schedulerId = 0;\nvar _debugName;\nvar _debugIntState;\nvar _customErrors = {};\nfunction _rejectDone() {\n}\nfunction _createError(type, evt, message) {\n !_customErrors[type] && (_customErrors[type] = createCustomError(type));\n var now = utcNow();\n return new (_customErrors[type])(\"Task [\".concat(evt.id, \"] \").concat(message || \"\", \"- \").concat((evt.st ? \"Running\" : \"Waiting\"), \": \").concat(_calcTime(now, evt.st || evt.cr)));\n}\nfunction _calcTime(now, start) {\n return ((now - start) || \"0\") + \" ms\";\n}\nfunction _abortStaleTasks(taskQueue, staleTimeoutPeriod) {\n var now = utcNow();\n var expired = now - staleTimeoutPeriod;\n arrForEach(taskQueue, function (evt) {\n if (evt && !evt.rj && (evt.st && evt.st < expired) || (!evt.st && evt.cr && evt.cr < expired)) {\n evt && evt[REJECT](evt.rj || _createError(\"Aborted\", evt, \"Stale \"));\n }\n });\n}\nfunction _removeTask(queue, taskDetail) {\n var idx = arrIndexOf(queue, taskDetail);\n if (idx !== -1) {\n queue.splice(idx, 1);\n }\n}\nfunction _addDebugState(theScheduler, nameFn, stateFn) {\n _debugName = _debugName || { toString: function () { return \"[[SchedulerName]]\"; } };\n _debugIntState = _debugIntState || { toString: function () { return \"[[SchedulerState]]\"; } };\n objDefineProp(theScheduler, _debugName, { get: nameFn });\n objDefineProp(theScheduler, _debugIntState, { get: stateFn });\n}\nfunction createTaskScheduler(newPromise, name) {\n var _theTask;\n var _running = [];\n var _waiting = [];\n var _staleTimeoutPeriod = 600000;\n var _staleTimeoutCheckPeriod = _staleTimeoutPeriod / 10;\n var _taskCount = 0;\n var _schedulerName = (name ? (name + \".\") : \"\") + _schedulerId++;\n var _blockedTimer;\n newPromise = newPromise || createPromise;\n var _startBlockedTimer = function () {\n var hasTasks = (getLength(_running) + getLength(_waiting)) > 0;\n if (_staleTimeoutPeriod > 0) {\n if (!_blockedTimer) {\n _blockedTimer = scheduleTimeout(function () {\n _abortStaleTasks(_running, _staleTimeoutPeriod);\n _abortStaleTasks(_waiting, _staleTimeoutPeriod);\n _blockedTimer && (_blockedTimer.enabled = ((getLength(_running) + getLength(_waiting)) > 0));\n }, _staleTimeoutCheckPeriod);\n _blockedTimer.unref();\n }\n _blockedTimer && (_blockedTimer.enabled = hasTasks);\n }\n };\n var _queueTask = function (startAction, taskName, timeout) {\n var _a;\n var taskId = _schedulerName + \".\" + _taskCount++;\n if (taskName) {\n taskId += \"-(\" + taskName + \")\";\n }\n var newTask = (_a = {\n id: taskId,\n cr: utcNow(),\n to: timeout\n },\n _a[REJECT] = function (reason) {\n newTask.rj = reason || _createError(REJECTED_ERROR, newTask);\n newTask[REJECT] = _rejectDone;\n },\n _a);\n if (!_theTask) {\n newTask.p = newPromise(_runTask(newTask, startAction));\n }\n else {\n newTask.p = _waitForPreviousTask(newTask, _theTask, startAction);\n }\n _theTask = newTask;\n return newTask.p;\n };\n var _runTask = function (taskDetail, startAction) {\n taskDetail.st = utcNow();\n _running.push(taskDetail);\n _startBlockedTimer();\n return function (onTaskResolve, onTaskReject) {\n var _promiseReject = function (reason) {\n taskDetail.rj = taskDetail.rj || reason || _createError(REJECTED_ERROR, taskDetail);\n taskDetail[REJECT] = _rejectDone;\n _doCleanup(taskDetail);\n onTaskResolve = null;\n onTaskReject && onTaskReject(reason);\n onTaskReject = null;\n };\n var taskId = taskDetail.id;\n if (taskDetail.rj) {\n _promiseReject(taskDetail.rj);\n }\n else {\n taskDetail[REJECT] = _promiseReject;\n try {\n var startResult = startAction(taskId);\n if (taskDetail.to && isPromiseLike(startResult)) {\n taskDetail.t = scheduleTimeout(function () {\n _promiseReject(_createError(\"Timeout\", taskDetail));\n }, taskDetail.to);\n }\n doAwait(startResult, function (theResult) {\n _doCleanup(taskDetail);\n try {\n onTaskResolve && onTaskResolve(theResult);\n }\n catch (e) {\n onTaskReject && onTaskReject(e);\n }\n onTaskReject = null;\n onTaskResolve = null;\n }, _promiseReject);\n }\n catch (e) {\n _promiseReject(e);\n }\n }\n };\n };\n var _waitForPreviousTask = function (taskDetail, prevTask, startAction) {\n _waiting.push(taskDetail);\n _startBlockedTimer();\n return newPromise(function (onWaitResolve, onWaitReject) {\n doAwaitResponse(prevTask.p, function () {\n _removeTask(_waiting, taskDetail);\n _runTask(taskDetail, startAction)(onWaitResolve, onWaitReject);\n });\n });\n };\n var _doCleanup = function (taskDetail) {\n _removeTask(_running, taskDetail);\n taskDetail.t && taskDetail.t.cancel();\n taskDetail.t = null;\n if (_theTask && _theTask === taskDetail) {\n _theTask = null;\n if (getLength(_running) + getLength(_waiting) === 0) {\n _blockedTimer && _blockedTimer.cancel();\n _blockedTimer = null;\n }\n }\n };\n var theScheduler = {\n idle: true,\n queue: _queueTask,\n setStaleTimeout: function (staleTimeout, staleCheckPeriod) {\n _blockedTimer && _blockedTimer.cancel();\n _blockedTimer = null;\n _staleTimeoutPeriod = staleTimeout;\n _staleTimeoutCheckPeriod = staleCheckPeriod || staleTimeout / 10;\n _startBlockedTimer();\n }\n };\n objDefine(theScheduler, \"idle\", {\n g: function () {\n return getLength(_running) + getLength(_waiting) === 0;\n }\n });\n _addDebugState(theScheduler, function () { return _schedulerName; }, function () {\n return {\n l: _theTask,\n r: _running,\n w: _waiting\n };\n });\n return theScheduler;\n}\n\nvar toStringTagSymbol = getKnownSymbol(11 );\nvar PolyPromise = /*#__PURE__*/ (function () {\n function PolyPromiseImpl(executor) {\n this._$ = createAsyncPromise(executor);\n if (toStringTagSymbol) {\n this[toStringTagSymbol] = \"Promise\";\n }\n objDefineProp(this, \"state\", {\n get: function () {\n return this._$.state;\n }\n });\n }\n PolyPromiseImpl.all = createAsyncAllPromise;\n PolyPromiseImpl.race = createAsyncRacePromise;\n PolyPromiseImpl.any = createAsyncAnyPromise;\n PolyPromiseImpl.reject = createAsyncRejectedPromise;\n PolyPromiseImpl.resolve = createAsyncResolvedPromise;\n PolyPromiseImpl.allSettled = createAsyncAllSettledPromise;\n var theProto = PolyPromiseImpl.prototype;\n theProto.then = function (onResolved, onRejected) {\n return this._$.then(onResolved, onRejected);\n };\n theProto.catch = function (onRejected) {\n return this._$.catch(onRejected);\n };\n theProto.finally = function (onfinally) {\n return this._$.finally(onfinally);\n };\n return PolyPromiseImpl;\n}());\n\nexport { PolyPromise, arrForEachAsync, createAllPromise, createAllSettledPromise, createAnyPromise, createAsyncAllPromise, createAsyncAllSettledPromise, createAsyncAnyPromise, createAsyncPromise, createAsyncRacePromise, createAsyncRejectedPromise, createAsyncResolvedPromise, createIdleAllPromise, createIdleAllSettledPromise, createIdleAnyPromise, createIdlePromise, createIdleRacePromise, createIdleRejectedPromise, createIdleResolvedPromise, createNativeAllPromise, createNativeAllSettledPromise, createNativeAnyPromise, createNativePromise, createNativeRacePromise, createNativeRejectedPromise, createNativeResolvedPromise, createPromise, createRacePromise, createRejectedPromise, createResolvedPromise, createSyncAllPromise, createSyncAllSettledPromise, createSyncAnyPromise, createSyncPromise, createSyncRacePromise, createSyncRejectedPromise, createSyncResolvedPromise, createTaskScheduler, createTimeoutPromise, doAwait, doAwaitResponse, doFinally, doWhileAsync, iterForOfAsync, setCreatePromiseImpl, setDefaultIdlePromiseTimeout, setDefaultIdleTimeout, setPromiseDebugState };\n//# sourceMappingURL=ts-async.js.map\n","/*! https://github.com/nevware21/ts-utils v0.11.4 */\n/*\n * Copyright (c) NevWare21 Solutions LLC and contributors. All rights reserved.\n * Licensed under the MIT license.\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction _pureAssign(func1, func2) {\n return func1 || func2;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _pureRef(value, name) {\n return value[name];\n}\n\nvar UNDEF_VALUE = undefined;\nvar NULL_VALUE = null;\nvar EMPTY = \"\";\nvar FUNCTION = \"function\";\nvar OBJECT = \"object\";\nvar PROTOTYPE = \"prototype\";\nvar __PROTO__ = \"__proto__\";\nvar UNDEFINED = \"undefined\";\nvar CONSTRUCTOR = \"constructor\";\nvar SYMBOL = \"Symbol\";\nvar POLYFILL_TAG = \"_polyfill\";\nvar LENGTH = \"length\";\nvar NAME = \"name\";\nvar CALL = \"call\";\nvar TO_STRING = \"toString\";\nvar ObjClass = ( /*#__PURE__*/_pureAssign(Object));\nvar ObjProto = ( /*#__PURE__*/_pureRef(ObjClass, PROTOTYPE));\nvar StrCls = ( /*#__PURE__*/_pureAssign(String));\nvar StrProto = ( /*#__PURE__*/_pureRef(StrCls, PROTOTYPE));\nvar MathCls = ( /*#__PURE__*/_pureAssign(Math));\nvar ArrCls = ( /*#__PURE__*/_pureAssign(Array));\nvar ArrProto = ( /*#__PURE__*/_pureRef(ArrCls, PROTOTYPE));\nvar ArrSlice = ( /*#__PURE__*/_pureRef(ArrProto, \"slice\"));\n\nfunction safe(func, argArray) {\n try {\n return {\n v: func.apply(this, argArray)\n };\n }\n catch (e) {\n return { e: e };\n }\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction safeGet(cb, defValue) {\n var result = safe(cb);\n return result.e ? defValue : result.v;\n}\n\nvar _primitiveTypes;\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createIs(theType) {\n return function (value) {\n return typeof value === theType;\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createObjIs(theName) {\n var theType = \"[object \" + theName + \"]\";\n return function (value) {\n return !!(value && objToString(value) === theType);\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction objToString(value) {\n return ObjProto[TO_STRING].call(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isTypeof(value, theType) {\n return typeof value === theType;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isUndefined(value) {\n return typeof value === UNDEFINED || value === UNDEFINED;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isStrictUndefined(arg) {\n return !isDefined(arg);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isNullOrUndefined(value) {\n return value === NULL_VALUE || isUndefined(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isStrictNullOrUndefined(value) {\n return value === NULL_VALUE || !isDefined(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isDefined(arg) {\n return !!arg || arg !== UNDEF_VALUE;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isPrimitive(value) {\n return value === NULL_VALUE || isPrimitiveType(typeof value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isPrimitiveType(theType) {\n !_primitiveTypes && (_primitiveTypes = [\"string\", \"number\", \"boolean\", UNDEFINED, \"symbol\", \"bigint\"]);\n return !!(theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1);\n}\nvar isString = ( /*#__PURE__*/_createIs(\"string\"));\nvar isFunction = ( /*#__PURE__*/_createIs(FUNCTION));\n/*#__NO_SIDE_EFFECTS__*/\nfunction isObject(value) {\n if (!value && isNullOrUndefined(value)) {\n return false;\n }\n return !!value && typeof value === OBJECT;\n}\nvar isArray = ( /* #__PURE__*/_pureRef(ArrCls, \"isArray\"));\nvar isDate = ( /*#__PURE__*/_createObjIs(\"Date\"));\nvar isNumber = ( /*#__PURE__*/_createIs(\"number\"));\nvar isBoolean = ( /*#__PURE__*/_createIs(\"boolean\"));\nvar isRegExp = ( /*#__PURE__*/_createObjIs(\"RegExp\"));\nvar isFile = ( /*#__PURE__*/_createObjIs(\"File\"));\nvar isFormData = ( /*#__PURE__*/_createObjIs(\"FormData\"));\nvar isBlob = ( /*#__PURE__*/_createObjIs(\"Blob\"));\nvar isArrayBuffer = ( /*#__PURE__*/_createObjIs(\"ArrayBuffer\"));\nvar isError = ( /*#__PURE__*/_createObjIs(\"Error\"));\n/*#__NO_SIDE_EFFECTS__*/\nfunction isPromiseLike(value) {\n return !!(value && value.then && isFunction(value.then));\n}\nvar isThenable = isPromiseLike;\n/*#__NO_SIDE_EFFECTS__*/\nfunction isPromise(value) {\n return !!(value && value.then && value.catch && isFunction(value.then) && isFunction(value.catch));\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isNotTruthy(value) {\n return !value || !isTruthy(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isTruthy(value) {\n return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));\n}\n\nvar objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureRef(ObjClass, \"getOwnPropertyDescriptor\"));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction objHasOwnProperty(obj, prop) {\n return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);\n}\n\nvar objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass, \"hasOwn\")), polyObjHasOwn));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyObjHasOwn(obj, prop) {\n return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);\n}\n\nfunction objForEachKey(theObject, callbackfn, thisArg) {\n if (theObject && isObject(theObject)) {\n for (var prop in theObject) {\n if (objHasOwn(theObject, prop)) {\n if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {\n break;\n }\n }\n }\n }\n}\n\nvar propMap = {\n e: \"enumerable\",\n c: \"configurable\",\n v: \"value\",\n w: \"writable\",\n g: \"get\",\n s: \"set\"\n};\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createProp(value) {\n var prop = {};\n prop[propMap[\"c\"]] = true;\n prop[propMap[\"e\"]] = true;\n if (value.l) {\n prop.get = function () { return value.l.v; };\n var desc = objGetOwnPropertyDescriptor(value.l, \"v\");\n if (desc && desc.set) {\n prop.set = function (newValue) {\n value.l.v = newValue;\n };\n }\n }\n objForEachKey(value, function (key, value) {\n prop[propMap[key]] = isStrictUndefined(value) ? prop[propMap[key]] : value;\n });\n return prop;\n}\nvar objDefineProp = ( /*#__PURE__*/_pureRef(ObjClass, \"defineProperty\"));\nvar objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass, \"defineProperties\"));\nfunction objDefineGet(target, key, value, configurable, enumerable) {\n var _a;\n return objDefineProp(target, key, _createProp((_a = {\n e: enumerable,\n c: configurable\n },\n _a[isFunction(value) ? \"g\" : \"v\"] = value,\n _a)));\n}\nfunction objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {\n var desc = {\n e: enumerable,\n c: configurable\n };\n if (getProp) {\n desc.g = getProp;\n }\n if (setProp) {\n desc.s = setProp;\n }\n return objDefineProp(target, prop, _createProp(desc));\n}\nfunction objDefine(target, key, propDesc) {\n return objDefineProp(target, key, _createProp(propDesc));\n}\nfunction objDefineProps(target, propDescMap) {\n var props = {};\n objForEachKey(propDescMap, function (key, value) {\n props[key] = _createProp(value);\n });\n return objDefineProperties(target, props);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createKeyValueMap(values, keyType, valueType, completeFn, writable) {\n var theMap = {};\n objForEachKey(values, function (key, value) {\n _assignMapValue(theMap, key, keyType ? value : key, writable);\n _assignMapValue(theMap, value, valueType ? value : key, writable);\n });\n return completeFn ? completeFn(theMap) : theMap;\n}\nfunction _assignMapValue(theMap, key, value, writable) {\n objDefineProp(theMap, key, {\n value: value,\n enumerable: true,\n writable: !!writable\n });\n}\n\nvar asString = ( /* #__PURE__ */_pureAssign(StrCls));\n\nvar ERROR_TYPE = \"[object Error]\";\n/*#__NO_SIDE_EFFECTS__*/\nfunction dumpObj(object, format) {\n var propertyValueDump = EMPTY;\n var objType = ObjProto[TO_STRING][CALL](object);\n if (objType === ERROR_TYPE) {\n object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };\n }\n try {\n propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === \"number\") ? format : 4) : UNDEF_VALUE);\n propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/\"(\\w+)\"\\s*:\\s{0,1}/g, \"$1: \") : NULL_VALUE) || asString(object);\n }\n catch (e) {\n propertyValueDump = \" - \" + dumpObj(e, format);\n }\n return objType + \": \" + propertyValueDump;\n}\n\nfunction throwError(message) {\n throw new Error(message);\n}\nfunction throwTypeError(message) {\n throw new TypeError(message);\n}\nfunction throwRangeError(message) {\n throw new RangeError(message);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyObjKeys(obj) {\n if (!isObject(obj) || obj === NULL_VALUE) {\n throwTypeError(\"non-object \" + dumpObj(obj));\n }\n var result = [];\n for (var prop in obj) {\n if (objHasOwn(obj, prop)) {\n result.push(prop);\n }\n }\n return result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyObjEntries(value) {\n var result = [];\n objForEachKey(value, function (key, value) {\n result.push([key, value]);\n });\n return result;\n}\n\nvar _objFreeze = ( /* #__PURE__ */_pureRef(ObjClass, \"freeze\"));\nfunction _doNothing(value) {\n return value;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _getProto(value) {\n return value[__PROTO__] || NULL_VALUE;\n}\nvar objAssign = ( /*#__PURE__*/_pureRef(ObjClass, \"assign\"));\nvar objKeys = ( /*#__PURE__*/_pureRef(ObjClass, \"keys\"));\nfunction objDeepFreeze(value) {\n if (_objFreeze) {\n objForEachKey(value, function (key, value) {\n if (isArray(value) || isObject(value)) {\n objDeepFreeze(value);\n }\n });\n }\n return objFreeze(value);\n}\nvar objFreeze = ( /* #__PURE__*/_pureAssign(_objFreeze, _doNothing));\nvar objSeal = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass, \"seal\")), _doNothing));\nvar objGetPrototypeOf = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass, \"getPrototypeOf\")), _getProto));\nvar objEntries = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass, \"entries\")), polyObjEntries));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createEnum(values) {\n return _createKeyValueMap(values, 1 , 0 , objFreeze);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createEnumKeyMap(values) {\n return _createKeyValueMap(values, 0 , 0 , objFreeze);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createEnumValueMap(values) {\n return _createKeyValueMap(values, 1 , 1 , objFreeze);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createSimpleMap(values) {\n var mapClass = {};\n objForEachKey(values, function (key, value) {\n _assignMapValue(mapClass, key, value[1]);\n _assignMapValue(mapClass, value[0], value[1]);\n });\n return objFreeze(mapClass);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createTypeMap(values) {\n return createSimpleMap(values);\n}\n\nvar _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({\n asyncIterator: 0 ,\n hasInstance: 1 ,\n isConcatSpreadable: 2 ,\n iterator: 3 ,\n match: 4 ,\n matchAll: 5 ,\n replace: 6 ,\n search: 7 ,\n species: 8 ,\n split: 9 ,\n toPrimitive: 10 ,\n toStringTag: 11 ,\n unscopables: 12\n});\n\nvar GLOBAL_CONFIG_KEY = \"__tsUtils$gblCfg\";\nvar _globalCfg;\n/*#__NO_SIDE_EFFECTS__*/\nfunction _getGlobalValue() {\n var result;\n if (typeof globalThis !== UNDEFINED) {\n result = globalThis;\n }\n if (!result && typeof self !== UNDEFINED) {\n result = self;\n }\n if (!result && typeof window !== UNDEFINED) {\n result = window;\n }\n if (!result && typeof global !== UNDEFINED) {\n result = global;\n }\n return result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _getGlobalConfig() {\n if (!_globalCfg) {\n var gbl = safe(_getGlobalValue).v || {};\n _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};\n }\n return _globalCfg;\n}\n\nvar _unwrapFunction = ( _unwrapFunctionWithPoly);\n/*#__NO_SIDE_EFFECTS__*/\nfunction _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {\n var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;\n return function (thisArg) {\n var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;\n if (theFunc || polyFunc) {\n var theArgs = arguments;\n return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);\n }\n throwTypeError(\"\\\"\" + asString(funcName) + \"\\\" not defined for \" + dumpObj(thisArg));\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _unwrapProp(propName) {\n return function (thisArg) {\n return thisArg[propName];\n };\n}\n\nvar mathMin = ( /*#__PURE__*/_pureRef(MathCls, \"min\"));\nvar mathMax = ( /*#__PURE__*/_pureRef(MathCls, \"max\"));\n\nvar strSlice = ( /*#__PURE__*/_unwrapFunction(\"slice\", StrProto));\n\nvar strSubstring = ( /*#__PURE__*/_unwrapFunction(\"substring\", StrProto));\nvar strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"substr\", StrProto, polyStrSubstr));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrSubstr(value, start, length) {\n if (isNullOrUndefined(value)) {\n throwTypeError(\"Invalid \" + dumpObj(value));\n }\n if (length < 0) {\n return EMPTY;\n }\n start = start || 0;\n if (start < 0) {\n start = mathMax(start + value[LENGTH], 0);\n }\n if (isUndefined(length)) {\n return strSlice(value, start);\n }\n return strSlice(value, start, start + length);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strLeft(value, count) {\n return strSubstring(value, 0, count);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strRight(value, count) {\n return count <= 0 ? EMPTY : (value[LENGTH] > count ? strSlice(value, -count) : value);\n}\n\nvar UNIQUE_REGISTRY_ID = \"_urid\";\nvar _polySymbols;\n/*#__NO_SIDE_EFFECTS__*/\nfunction _globalSymbolRegistry() {\n if (!_polySymbols) {\n var gblCfg = _getGlobalConfig();\n _polySymbols = gblCfg.gblSym = gblCfg.gblSym || { k: {}, s: {} };\n }\n return _polySymbols;\n}\nvar _wellKnownSymbolCache;\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyNewSymbol(description) {\n var theSymbol = {\n description: asString(description),\n toString: function () { return SYMBOL + \"(\" + description + \")\"; }\n };\n theSymbol[POLYFILL_TAG] = true;\n return theSymbol;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polySymbolFor(key) {\n var registry = _globalSymbolRegistry();\n if (!objHasOwn(registry.k, key)) {\n var newSymbol_1 = polyNewSymbol(key);\n var regId_1 = objKeys(registry.s).length;\n newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + \"_\" + newSymbol_1[TO_STRING](); };\n registry.k[key] = newSymbol_1;\n registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);\n }\n return registry.k[key];\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polySymbolKeyFor(sym) {\n if (!sym || !sym[TO_STRING] || strSubstring(sym[TO_STRING](), 0, 6) != SYMBOL) {\n throwTypeError(sym + \" is not a symbol\");\n }\n var regId = sym[POLYFILL_TAG] && sym[UNIQUE_REGISTRY_ID] && sym[UNIQUE_REGISTRY_ID]();\n return regId ? _globalSymbolRegistry().s[regId] : undefined;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyGetKnownSymbol(name) {\n !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});\n var result;\n var knownName = _wellKnownSymbolMap[name];\n if (knownName) {\n result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + \".\" + knownName);\n }\n return result;\n}\n\nvar _globalLazyTestHooks;\nfunction _initTestHooks() {\n _globalLazyTestHooks = _getGlobalConfig();\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getLazy(cb) {\n var lazyValue = {};\n !_globalLazyTestHooks && _initTestHooks();\n lazyValue.b = _globalLazyTestHooks.lzy;\n objDefineProp(lazyValue, \"v\", {\n configurable: true,\n get: function () {\n var result = cb();\n if (!_globalLazyTestHooks.lzy) {\n objDefineProp(lazyValue, \"v\", {\n value: result\n });\n }\n lazyValue.b = _globalLazyTestHooks.lzy;\n return result;\n }\n });\n return lazyValue;\n}\nfunction setBypassLazyCache(newValue) {\n !_globalLazyTestHooks && _initTestHooks();\n _globalLazyTestHooks.lzy = newValue;\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createCachedValue(value) {\n return objDefineProp({\n toJSON: function () { return value; }\n }, \"v\", { value: value });\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createDeferredCachedValue(cb) {\n var theValue = {\n toJSON: function () { return theValue.v; }\n };\n return objDefineProp(theValue, \"v\", {\n get: function () {\n var result = cb();\n cb = NULL_VALUE;\n objDefineProp(theValue, \"v\", { value: result });\n return result;\n },\n configurable: true\n });\n}\n\nvar WINDOW = \"window\";\nvar _cachedGlobal;\nfunction _getGlobalInstFn(getFn, theArgs) {\n var cachedValue;\n return function () {\n !_globalLazyTestHooks && _initTestHooks();\n if (!cachedValue || _globalLazyTestHooks.lzy) {\n cachedValue = createCachedValue(safe(getFn, theArgs).v);\n }\n return cachedValue.v;\n };\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction lazySafeGetInst(name) {\n return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });\n}\nfunction getGlobal(useCached) {\n !_globalLazyTestHooks && _initTestHooks();\n if (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) {\n _cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE);\n }\n return _cachedGlobal.v;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getInst(name, useCached) {\n var gbl;\n if (!_cachedGlobal || useCached === false) {\n gbl = getGlobal(useCached);\n }\n else {\n gbl = _cachedGlobal.v;\n }\n if (gbl && gbl[name]) {\n return gbl[name];\n }\n if (name === WINDOW) {\n try {\n return window;\n }\n catch (e) {\n }\n }\n return NULL_VALUE;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasDocument() {\n return !!( /*#__PURE__*/getDocument());\n}\nvar getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, [\"document\"]));\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasWindow() {\n return !!( /*#__PURE__*/getWindow());\n}\nvar getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasNavigator() {\n return !!( /*#__PURE__*/getNavigator());\n}\nvar getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, [\"navigator\"]));\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasHistory() {\n return !!( /*#__PURE__*/getHistory());\n}\nvar getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, [\"history\"]));\nvar isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {\n return !!( /*#__PURE__*/safe(function () { return (process && (process.versions || {}).node); }).v);\n}));\nvar isWebWorker = ( /*#__PURE__*/_getGlobalInstFn(function () {\n return !!( /*#__PURE__*/safe(function () { return self && self instanceof WorkerGlobalScope; }).v);\n}));\n\nvar _symbol;\nvar _symbolFor;\nvar _symbolKeyFor;\n/*#__NO_SIDE_EFFECTS__*/\nfunction _initSymbol() {\n _symbol = ( /*#__PURE__*/createCachedValue(safe((getInst), [SYMBOL]).v));\n return _symbol;\n}\nfunction _getSymbolKey(key) {\n var gblSym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());\n return (gblSym.v ? gblSym.v[key] : UNDEF_VALUE);\n}\nvar isSymbol = ( /*#__PURE__*/_createIs(\"symbol\"));\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasSymbol() {\n return !!( /*#__PURE__*/getSymbol());\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getSymbol() {\n !_globalLazyTestHooks && _initTestHooks();\n return ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol()).v;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getKnownSymbol(name, noPoly) {\n var knownName = _wellKnownSymbolMap[name];\n !_globalLazyTestHooks && _initTestHooks();\n var sym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());\n return sym.v ? sym.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction newSymbol(description, noPoly) {\n !_globalLazyTestHooks && _initTestHooks();\n var sym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());\n return sym.v ? sym.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction symbolFor(key) {\n !_globalLazyTestHooks && _initTestHooks();\n _symbolFor = ((!_globalLazyTestHooks.lzy ? _symbolFor : 0) || ( /*#__PURE__*/createCachedValue(safe((_getSymbolKey), [\"for\"]).v)));\n return (_symbolFor.v || polySymbolFor)(key);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction symbolKeyFor(sym) {\n !_globalLazyTestHooks && _initTestHooks();\n _symbolKeyFor = ((!_globalLazyTestHooks.lzy ? _symbolKeyFor : 0) || ( /*#__PURE__*/createCachedValue(safe((_getSymbolKey), [\"keyFor\"]).v)));\n return (_symbolKeyFor.v || polySymbolKeyFor)(sym);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction isIterator(value) {\n return !!value && isFunction(value.next);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction isIterable(value) {\n return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);\n}\n\nvar _iterSymbol$1;\nfunction iterForOf(iter, callbackfn, thisArg) {\n if (iter) {\n if (!isIterator(iter)) {\n !_iterSymbol$1 && (_iterSymbol$1 = createCachedValue(getKnownSymbol(3 )));\n iter = iter[_iterSymbol$1.v] ? iter[_iterSymbol$1.v]() : NULL_VALUE;\n }\n if (isIterator(iter)) {\n var err = UNDEF_VALUE;\n var iterResult = UNDEF_VALUE;\n try {\n var count = 0;\n while (!(iterResult = iter.next()).done) {\n if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {\n break;\n }\n count++;\n }\n }\n catch (failed) {\n err = { e: failed };\n if (iter.throw) {\n iterResult = NULL_VALUE;\n iter.throw(err);\n }\n }\n finally {\n try {\n if (iterResult && !iterResult.done) {\n iter.return && iter.return(iterResult);\n }\n }\n finally {\n if (err) {\n // eslint-disable-next-line no-unsafe-finally\n throw err.e;\n }\n }\n }\n }\n }\n}\n\nfunction fnApply(fn, thisArg, argArray) {\n return fn.apply(thisArg, argArray);\n}\nfunction fnCall(fn, thisArg) {\n return fn.apply(thisArg, ArrSlice[CALL](arguments, 2));\n}\nfunction fnBind(fn, thisArg) {\n return fn.bind.apply(fn, ArrSlice[CALL](arguments, 1));\n}\n\nfunction arrAppend(target, elms) {\n if (!isUndefined(elms) && target) {\n if (isArray(elms)) {\n fnApply(target.push, target, elms);\n }\n else if (isIterator(elms) || isIterable(elms)) {\n iterForOf(elms, function (elm) {\n target.push(elm);\n });\n }\n else {\n target.push(elms);\n }\n }\n return target;\n}\n\nvar arrEvery = /*#__PURE__*/ _unwrapFunction(\"every\", ArrProto);\nvar arrFilter = /*#__PURE__*/ _unwrapFunction(\"filter\", ArrProto);\n\nfunction arrForEach(theArray, callbackfn, thisArg) {\n if (theArray) {\n var len = theArray[LENGTH] >>> 0;\n for (var idx = 0; idx < len; idx++) {\n if (idx in theArray) {\n if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {\n break;\n }\n }\n }\n }\n}\n\nvar arrIndexOf = ( /*#__PURE__*/_unwrapFunction(\"indexOf\", ArrProto));\nvar arrLastIndexOf = ( /*#__PURE__*/_unwrapFunction(\"lastIndexOf\", ArrProto));\n\nvar arrMap = ( /*#__PURE__*/_unwrapFunction(\"map\", ArrProto));\n\nfunction arrSlice(theArray, start, end) {\n return ((theArray ? theArray[\"slice\"] : NULL_VALUE) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyIsArray(value) {\n if (isNullOrUndefined(value)) {\n return false;\n }\n return objToString(value) === \"[object Array]\";\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyArrIncludes(theArray, searchElement, fromIndex) {\n return arrIndexOf(theArray, searchElement, fromIndex) !== -1;\n}\nfunction polyArrFind(theArray, callbackFn, thisArg) {\n var result;\n var idx = polyArrFindIndex(theArray, callbackFn, thisArg);\n return idx !== -1 ? theArray[idx] : result;\n}\nfunction polyArrFindIndex(theArray, callbackFn, thisArg) {\n var result = -1;\n arrForEach(theArray, function (value, index) {\n if (callbackFn[CALL](thisArg | theArray, value, index, theArray)) {\n result = index;\n return -1;\n }\n });\n return result;\n}\nfunction polyArrFindLast(theArray, callbackFn, thisArg) {\n var result;\n var idx = polyArrFindLastIndex(theArray, callbackFn, thisArg);\n return idx !== -1 ? theArray[idx] : result;\n}\nfunction polyArrFindLastIndex(theArray, callbackFn, thisArg) {\n var result = -1;\n var len = theArray[LENGTH] >>> 0;\n for (var idx = len - 1; idx >= 0; idx--) {\n if (idx in theArray && callbackFn[CALL](thisArg | theArray, theArray[idx], idx, theArray)) {\n result = idx;\n break;\n }\n }\n return result;\n}\nfunction polyArrFrom(theValue, mapFn, thisArg) {\n if (isArray(theValue)) {\n var result_1 = arrSlice(theValue);\n return mapFn ? arrMap(result_1, mapFn, thisArg) : result_1;\n }\n var result = [];\n iterForOf(theValue, function (value, cnt) {\n return result.push(mapFn ? mapFn[CALL](thisArg, value, cnt) : value);\n });\n return result;\n}\n\nvar arrFind = /*#__PURE__*/ _unwrapFunctionWithPoly(\"find\", ArrProto, polyArrFind);\nvar arrFindIndex = /*#__PURE__*/ _unwrapFunctionWithPoly(\"findIndex\", ArrProto, polyArrFindIndex);\nvar arrFindLast = /*#__PURE__*/ _unwrapFunctionWithPoly(\"findLast\", ArrProto, polyArrFindLast);\nvar arrFindLastIndex = /*#__PURE__*/ _unwrapFunctionWithPoly(\"findLastIndex\", ArrProto, polyArrFindLastIndex);\n\nvar arrFrom = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ArrCls, \"from\")), polyArrFrom));\n\nvar arrIncludes = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"includes\", ArrProto, polyArrIncludes));\nvar arrContains = arrIncludes;\n\nvar arrReduce = ( /*#__PURE__*/_unwrapFunction(\"reduce\", ArrProto));\n\nvar arrSome = ( /*#__PURE__*/_unwrapFunction(\"some\", ArrProto));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createFnDeferredProxy(hostFn, funcName) {\n return function () {\n var theArgs = ArrSlice[CALL](arguments);\n var theHost = hostFn();\n return fnApply(theHost[funcName], theHost, theArgs);\n };\n}\nfunction createProxyFuncs(target, host, funcDefs) {\n if (target && host && isArray(funcDefs)) {\n var isDeferred_1 = isFunction(host);\n arrForEach(funcDefs, function (funcDef) {\n var targetName = (funcDef.as || funcDef.n);\n if (funcDef.rp === false && target[targetName]) {\n return;\n }\n target[targetName] = isDeferred_1 ?\n createFnDeferredProxy(host, funcDef.n) :\n fnBind(host[funcDef.n], host);\n });\n }\n return target;\n}\n\nvar _iterSymbol;\n/*#__NO_SIDE_EFFECTS__*/\nfunction readArgs(theArgs, start, end) {\n if (!objHasOwn(theArgs, LENGTH)) {\n !_iterSymbol && (_iterSymbol = createCachedValue(hasSymbol() && getKnownSymbol(3 )));\n var iterFn = void 0;\n if (_iterSymbol.v) {\n iterFn = theArgs[_iterSymbol.v];\n }\n if (iterFn) {\n var values_1 = [];\n var from_1 = (start === UNDEF_VALUE || start < 0) ? 0 : start;\n var to_1 = end < 0 || start < 0 ? UNDEF_VALUE : end;\n iterForOf(iterFn[CALL](theArgs), function (value, cnt) {\n if (to_1 !== UNDEF_VALUE && cnt >= to_1) {\n return -1;\n }\n if (cnt >= from_1) {\n values_1.push(value);\n }\n });\n if ((start === UNDEF_VALUE || start >= 0) && (end === UNDEF_VALUE || end >= 0)) {\n return values_1;\n }\n theArgs = values_1;\n }\n }\n return arrSlice(theArgs, start, end);\n}\n\nvar objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass, \"create\")), polyObjCreate));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyObjCreate(obj) {\n if (!obj) {\n return {};\n }\n var type = typeof obj;\n if (type !== OBJECT && type !== FUNCTION) {\n throwTypeError(\"Prototype must be an Object or function: \" + dumpObj(obj));\n }\n function tempFunc() { }\n tempFunc[PROTOTYPE] = obj;\n return new tempFunc();\n}\n\nvar _isProtoArray;\nfunction objSetPrototypeOf(obj, proto) {\n var fn = ObjClass[\"setPrototypeOf\"] ||\n function (d, b) {\n var _a;\n !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));\n _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });\n };\n return fn(obj, proto);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createCustomError(name, d, b) {\n safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);\n d = objSetPrototypeOf(d, b);\n function __() {\n this[CONSTRUCTOR] = d;\n safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);\n }\n d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());\n return d;\n}\nfunction _setName(baseClass, name) {\n name && (baseClass[NAME] = name);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createCustomError(name, constructCb, errorBase) {\n var theBaseClass = errorBase || Error;\n var orgName = theBaseClass[PROTOTYPE][NAME];\n var captureFn = Error.captureStackTrace;\n return _createCustomError(name, function () {\n var _this = this;\n var theArgs = arguments;\n try {\n safe(_setName, [theBaseClass, name]);\n var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;\n if (_self !== _this) {\n var orgProto = objGetPrototypeOf(_this);\n if (orgProto !== objGetPrototypeOf(_self)) {\n objSetPrototypeOf(_self, orgProto);\n }\n }\n captureFn && captureFn(_self, _this[CONSTRUCTOR]);\n constructCb && constructCb(_self, theArgs);\n return _self;\n }\n finally {\n safe(_setName, [theBaseClass, orgName]);\n }\n }, theBaseClass);\n}\nvar _unsupportedError;\nfunction throwUnsupported(message) {\n if (!_unsupportedError) {\n _unsupportedError = createCustomError(\"UnsupportedError\");\n }\n throw new _unsupportedError(message);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction utcNow() {\n return (Date.now || polyUtcNow)();\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyUtcNow() {\n return new Date().getTime();\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createTrimFn(exp) {\n return function _doTrim(value) {\n if (isNullOrUndefined(value)) {\n throwTypeError(\"strTrim called [\" + dumpObj(value) + \"]\");\n }\n if (value && value.replace) {\n value = value.replace(exp, EMPTY);\n }\n return value;\n };\n}\nvar polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\\s+|(?=\\s)\\s+$/g));\nvar polyStrTrimStart = ( /*#__PURE__*/_createTrimFn(/^\\s+/g));\nvar polyStrTrimEnd = ( /*#__PURE__*/_createTrimFn(/(?=\\s)\\s+$/g));\n\nvar strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"trim\", StrProto, polyStrTrim));\nvar strTrimStart = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"trimStart\", StrProto, polyStrTrimStart));\nvar strTrimLeft = ( /*#__PURE__*/_pureAssign(strTrimStart));\nvar strTrimEnd = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"trimEnd\", StrProto, polyStrTrimEnd));\nvar strTrimRight = ( /*#__PURE__*/_pureAssign(strTrimEnd));\n\nvar strUpper = ( /*#__PURE__*/_unwrapFunction(\"toUpperCase\", StrProto));\nvar strLower = ( /*#__PURE__*/_unwrapFunction(\"toLowerCase\", StrProto));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _convertCase(value, newPrefix, upperWord) {\n return strTrim(asString(value)).replace(/((_|\\W)+(\\w){0,1}|([a-z])([A-Z]))/g, function (_match, _g1, _g2, wordStart, upperPrefix, upperLetter) {\n var convertMatch = wordStart || upperLetter || EMPTY;\n if (upperWord) {\n convertMatch = strUpper(convertMatch);\n }\n return (upperPrefix || EMPTY) + newPrefix + convertMatch;\n });\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strLetterCase(value) {\n return asString(value).replace(/(_|\\b)\\w/g, strUpper);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strCamelCase(value, upperFirst) {\n var result = _convertCase(value, \"\", true);\n return result.replace(/^\\w/, upperFirst ? strUpper : strLower);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strKebabCase(value, scream) {\n var result = _convertCase(value, \"-\");\n return (scream ? strUpper : strLower)(result);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strSnakeCase(value, scream) {\n var result = _convertCase(value, \"_\");\n return (scream ? strUpper : strLower)(result);\n}\n\nvar mathFloor = ( /*#__PURE__*/_pureRef(MathCls, \"floor\"));\nvar mathCeil = ( /*#__PURE__*/_pureRef(MathCls, \"ceil\"));\n\nvar mathTrunc = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(MathCls, \"trunc\")), polyMathTrunc));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyMathTrunc(value) {\n var theValue = +value;\n return (theValue > 0 ? mathFloor : mathCeil)(theValue);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction mathToInt(value, throwInfinity) {\n var result = +value;\n if (result == Infinity && throwInfinity) {\n throwRangeError(\"invalid value [\" + dumpObj(value) + \"]\");\n }\n return result !== result || result === 0 ? 0 : mathTrunc(result);\n}\n\nvar strRepeat = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"repeat\", StrProto, polyStrRepeat));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrRepeat(value, count) {\n if (isNullOrUndefined(value)) {\n throwTypeError(\"can't convert [\" + dumpObj(value) + \"]\");\n }\n count = mathToInt(count, true);\n if (count < 0) {\n throwRangeError(\"invalid count must be >= 0 && < Infinity\");\n }\n var pad = isString(value) ? value : asString(value);\n var result = EMPTY;\n for (; count > 0; (count >>>= 1) && (pad += pad)) {\n if (count & 1) {\n result += pad;\n }\n }\n return result;\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _padValue(value, targetLength, padString) {\n var result = EMPTY;\n targetLength = mathToInt(targetLength, true);\n targetLength >>= 0;\n var len = value[LENGTH];\n if (len < targetLength) {\n result = isNullOrUndefined(padString) ? \" \" : asString(padString);\n targetLength = targetLength - len;\n if (targetLength > result[LENGTH]) {\n result = strRepeat(result, mathCeil(targetLength / result[LENGTH]));\n }\n if (result[LENGTH] > targetLength) {\n result = strSubstring(result, 0, targetLength);\n }\n }\n return result;\n}\nvar strPadStart = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"padStart\", StrProto, polyStrPadStart));\nvar strPadEnd = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"padEnd\", StrProto, polyStrPadEnd));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrPadStart(value, targetLength, padString) {\n return _padValue(value, targetLength, padString) + value;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrPadEnd(value, targetLength, padString) {\n return value + _padValue(value, targetLength, padString);\n}\n\nvar DBL_QUOTE = \"\\\"\";\nvar INVALID_JS_NAME = /([^\\w\\d_$])/g;\nvar _htmlEntityCache;\n/*#__NO_SIDE_EFFECTS__*/\nfunction normalizeJsName(jsName, camelCase) {\n var result = asString(jsName).replace(INVALID_JS_NAME, \"_\");\n return !isUndefined(camelCase) ? strCamelCase(result, !camelCase) : result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction encodeAsJson(value, format) {\n var result;\n if (isString(value)) {\n result = DBL_QUOTE + value.replace(/[^\\w .,\\-!@#$%\\^&*\\(\\)_+={}\\[\\]:;|<>?]/g, function (match) {\n if (match === DBL_QUOTE || match === \"\\\\\") {\n return \"\\\\\" + match;\n }\n var hex = match.charCodeAt(0)[TO_STRING](16);\n return \"\\\\u\" + strPadStart(strUpper(hex), 4, \"0\");\n }) + DBL_QUOTE;\n }\n else {\n try {\n result = JSON.stringify(value, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);\n }\n catch (e) {\n result = DBL_QUOTE + dumpObj(e) + DBL_QUOTE;\n }\n }\n return result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction encodeAsHtml(value) {\n !_htmlEntityCache && (_htmlEntityCache = {\n \"&\": \"amp\",\n \"<\": \"lt\",\n \">\": \"gt\",\n \"\\\"\": \"quot\",\n \"'\": \"#39\"\n });\n return asString(value).replace(/[&<>\"']/g, function (match) { return \"&\" + _htmlEntityCache[match] + \";\"; });\n}\n\nvar _fnToString;\nvar _objCtrFnString;\nvar _gblWindow;\n/*#__NO_SIDE_EFFECTS__*/\nfunction isPlainObject(value) {\n if (!value || typeof value !== OBJECT) {\n return false;\n }\n if (!_gblWindow) {\n _gblWindow = hasWindow() ? getWindow() : true;\n }\n var result = false;\n if (value !== _gblWindow) {\n if (!_objCtrFnString) {\n _fnToString = Function[PROTOTYPE][TO_STRING];\n _objCtrFnString = _fnToString[CALL](ObjClass);\n }\n try {\n var proto = objGetPrototypeOf(value);\n result = !proto;\n if (!result) {\n if (objHasOwnProperty(proto, CONSTRUCTOR)) {\n proto = proto[CONSTRUCTOR];\n }\n result = !!(proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString);\n }\n }\n catch (ex) {\n }\n }\n return result;\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _defaultDeepCopyHandler(details) {\n details.value && plainObjDeepCopyHandler(details);\n return true;\n}\nvar defaultDeepCopyHandlers = [\n arrayDeepCopyHandler,\n plainObjDeepCopyHandler,\n functionDeepCopyHandler,\n dateDeepCopyHandler\n];\n/*#__NO_SIDE_EFFECTS__*/\nfunction _getSetVisited(visitMap, source, newPath, cb) {\n var theEntry;\n arrForEach(visitMap, function (entry) {\n if (entry.k === source) {\n theEntry = entry;\n return -1;\n }\n });\n if (!theEntry) {\n theEntry = { k: source, v: source };\n visitMap.push(theEntry);\n cb(theEntry);\n }\n return theEntry.v;\n}\nfunction _deepCopy(visitMap, value, ctx, key) {\n var userHandler = ctx.handler;\n var newPath = ctx.path ? (key ? ctx.path.concat(key) : ctx.path) : [];\n var newCtx = {\n handler: ctx.handler,\n src: ctx.src,\n path: newPath\n };\n var theType = typeof value;\n var isPlain = false;\n var isPrim = value === NULL_VALUE;\n if (!isPrim) {\n if (value && theType === OBJECT) {\n isPlain = isPlainObject(value);\n }\n else {\n isPrim = isPrimitiveType(theType);\n }\n }\n var details = {\n type: theType,\n isPrim: isPrim,\n isPlain: isPlain,\n value: value,\n result: value,\n path: newPath,\n origin: ctx.src,\n copy: function (source, newKey) {\n return _deepCopy(visitMap, source, newKey ? newCtx : ctx, newKey);\n },\n copyTo: function (target, source) {\n return _copyProps(visitMap, target, source, newCtx);\n }\n };\n if (!details.isPrim) {\n return _getSetVisited(visitMap, value, newPath, function (newEntry) {\n objDefine(details, \"result\", {\n g: function () {\n return newEntry.v;\n },\n s: function (newValue) {\n newEntry.v = newValue;\n }\n });\n var idx = 0;\n var handler = userHandler;\n while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {\n handler = NULL_VALUE;\n }\n });\n }\n if (userHandler && userHandler[CALL](ctx, details)) {\n return details.result;\n }\n return value;\n}\nfunction _copyProps(visitMap, target, source, ctx) {\n if (!isNullOrUndefined(source)) {\n for (var key in source) {\n target[key] = _deepCopy(visitMap, source[key], ctx, key);\n }\n }\n return target;\n}\nfunction objCopyProps(target, source, handler) {\n var ctx = {\n handler: handler,\n src: source,\n path: []\n };\n return _copyProps([], target, source, ctx);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction objDeepCopy(source, handler) {\n var ctx = {\n handler: handler,\n src: source\n };\n return _deepCopy([], source, ctx);\n}\nfunction arrayDeepCopyHandler(details) {\n var value = details.value;\n if (isArray(value)) {\n var target = details.result = [];\n target.length = value.length;\n details.copyTo(target, value);\n return true;\n }\n return false;\n}\nfunction dateDeepCopyHandler(details) {\n var value = details.value;\n if (isDate(value)) {\n details.result = new Date(value.getTime());\n return true;\n }\n return false;\n}\nfunction functionDeepCopyHandler(details) {\n if (details.type === FUNCTION) {\n return true;\n }\n return false;\n}\nfunction plainObjDeepCopyHandler(details) {\n var value = details.value;\n if (value && details.isPlain) {\n var target = details.result = {};\n details.copyTo(target, value);\n return true;\n }\n return false;\n}\n\nfunction _doExtend(target, theArgs) {\n arrForEach(theArgs, function (theArg) {\n objCopyProps(target, theArg);\n });\n return target;\n}\nfunction deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {\n return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));\n}\nfunction objExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {\n return _doExtend(target || {}, ArrSlice[CALL](arguments));\n}\n\nvar getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction getIntValue(value, defValue) {\n if (!isNullOrUndefined(value)) {\n if (isNumber(value)) {\n return value;\n }\n var theValue = parseInt(value, 10);\n return isNaN(theValue) ? defValue : theValue;\n }\n return defValue;\n}\n\nvar _perf;\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasPerformance() {\n return !!getPerformance();\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getPerformance() {\n !_globalLazyTestHooks && _initTestHooks();\n if (!_perf || _globalLazyTestHooks.lzy) {\n _perf = createCachedValue(safe((getInst), [\"performance\"]).v);\n }\n return _perf.v;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction perfNow() {\n var perf = getPerformance();\n if (perf && perf.now) {\n return perf.now();\n }\n return utcNow();\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction elapsedTime(startTime) {\n return perfNow() - startTime;\n}\n\nvar MATCH_ANY = \"(.*)\";\nvar MATCH_SINGLE = \"(.)\";\nfunction _createRegExp(value, escapeRgx, replaceFn, ignoreCase, fullMatch) {\n // eslint-disable-next-line security/detect-non-literal-regexp\n return new RegExp((fullMatch ? \"^\" : EMPTY) + replaceFn(value.replace(escapeRgx, \"\\\\$1\")) + (fullMatch ? \"$\" : EMPTY), ignoreCase ? \"i\" : \"\");\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createWildcardRegex(value, ignoreCase, fullMatch) {\n return _createRegExp(asString(value), /([-+|^$#.\\?{}()\\[\\]\\\\/\\\"\\'])/g, function (value) {\n return value.replace(/\\*/g, MATCH_ANY);\n }, !!ignoreCase, fullMatch);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createFilenameRegex(value, ignoreCase, fullMatch) {\n return _createRegExp(asString(value), /([-+|^$#.{}()\\\\\\/\\[\\]\\\"\\'])/g, function (value) {\n return value.replace(/(\\\\\\\\|\\\\\\/|\\*|\\?)/g, function (_all, g1) {\n if (g1 == \"\\\\/\" || g1 == \"\\\\\\\\\") {\n return \"[\\\\\\\\\\\\/]{1}\";\n }\n return g1 == \"*\" ? MATCH_ANY : MATCH_SINGLE;\n });\n }, !!ignoreCase, fullMatch);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction makeGlobRegex(value, ignoreCase, fullMatch) {\n return _createRegExp(asString(value), /([-+|^$#.{}()\\\\\\/\\[\\]\\\"\\'])/g, function (value) {\n return value.replace(/(\\*\\*\\\\[\\\\\\/]|\\\\\\\\|\\\\\\/|\\*\\*|\\*|\\?)/g, function (_all, g1) {\n if (g1 == \"**\\\\/\" || g1 == \"**\\\\\\\\\") {\n return \"(.*[\\\\\\\\\\\\/])*\";\n }\n if (g1 === \"\\\\/\" || g1 == \"\\\\\\\\\") {\n return \"[\\\\\\\\\\\\/]{1}\";\n }\n if (g1 === \"**\") {\n return MATCH_ANY;\n }\n return g1 === \"*\" ? \"([^\\\\\\\\\\\\/]*)\" : \"([^\\\\\\\\\\\\/]{1})\";\n });\n }, !!ignoreCase, fullMatch);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction safeGetLazy(cb, defValue) {\n return getLazy(function () {\n var result = safe(cb);\n return result.e ? defValue : result.v;\n });\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction _checkLength(value, props) {\n var result;\n arrForEach(props, function (prop) {\n if (prop in value) {\n var propValue = value[prop];\n result = (isFunction(propValue) ? propValue() : propValue) > 0;\n return -1;\n }\n });\n return result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction _hasValue(value, depth) {\n var result = value === false || value === 0;\n if (!result && !isNullOrUndefined(value)) {\n if (isArray(value)) {\n result = value[LENGTH] > 0;\n }\n else if (isDate(value)) {\n result = !isNaN(value.getTime());\n }\n else if (isBoolean(value)) {\n return true;\n }\n else if (isObject(value)) {\n try {\n var chkValue = _checkLength(value, [LENGTH, \"byteLength\", \"size\", \"count\"]);\n if (isBoolean(chkValue)) {\n return chkValue;\n }\n if (isFunction(value.valueOf) && depth < 5) {\n return _hasValue(value.valueOf(), ++depth);\n }\n }\n catch (e) {\n }\n return !!objKeys(value)[LENGTH];\n }\n else {\n result = isTruthy(value);\n }\n }\n return result;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasValue(value) {\n return _hasValue(value, 0);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createIterable(ctx) {\n return makeIterable({}, ctx);\n}\nfunction makeIterable(target, ctx) {\n var itSymbol = getKnownSymbol(3 );\n function _createIterator() {\n return createIterator(ctx);\n }\n target[itSymbol] = _createIterator;\n return target;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction createIterator(ctx) {\n var isDone = false;\n function _value() {\n return ctx.v;\n }\n function _next() {\n if (!isDone) {\n isDone = (ctx.n ? ctx.n(arguments) : true);\n }\n var result = {\n done: isDone\n };\n if (!isDone) {\n objDefine(result, \"value\", { g: _value });\n }\n return result;\n }\n function _return(value) {\n isDone = true;\n return {\n done: true,\n value: ctx.r && ctx.r(value)\n };\n }\n function _throw(e) {\n isDone = true;\n return {\n done: true,\n value: ctx.t && ctx.t(e)\n };\n }\n var theIterator = {\n next: _next\n };\n if (ctx.r) {\n theIterator.return = _return;\n }\n if (ctx.t) {\n theIterator.throw = _throw;\n }\n return theIterator;\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createArrayIterator(values) {\n var idx = -1;\n var theValues = values ? values.slice() : [];\n var len = theValues[LENGTH];\n function _value() {\n if (idx >= 0 && idx < len) {\n return theValues[idx];\n }\n }\n function _getNext() {\n idx++;\n return idx >= len;\n }\n var ctx = {\n n: _getNext\n };\n objDefine(ctx, \"v\", { g: _value });\n return createIterator(ctx);\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction createRangeIterator(start, end, step) {\n var nextValue = start;\n var theValue = UNDEF_VALUE;\n if (isNullOrUndefined(end)) {\n end = start;\n }\n var theStep = step;\n if (!theStep) {\n theStep = (start <= end) ? 1 : -1;\n }\n function _value() {\n return theValue;\n }\n function _getNext() {\n var isDone = (theStep > 0) ? (nextValue > end) : (nextValue < end);\n if (!isDone) {\n theValue = nextValue;\n nextValue += theStep;\n }\n return isDone;\n }\n return createIterator(objDefine({\n n: _getNext\n }, \"v\", { g: _value }));\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrSymSplit(value, splitter, limit) {\n var splitFn = splitter ? splitter[getKnownSymbol(9 )] : UNDEF_VALUE;\n return splitFn ? splitFn(value, limit) : [value];\n}\n\nvar strSplit = ( /*#__PURE__*/_unwrapFunction(\"split\", StrProto));\nvar strSymSplit = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"split\", StrProto, !hasSymbol() ? polyStrSymSplit : NULL_VALUE));\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction getValueByKey(target, path, defValue) {\n if (!path || !target) {\n return defValue;\n }\n var parts = strSplit(path, \".\");\n var cnt = parts.length;\n for (var lp = 0; lp < cnt && !isNullOrUndefined(target); lp++) {\n target = target[parts[lp]];\n }\n return (!isNullOrUndefined(target) ? target : defValue);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction getValueByIter(target, iter, defValue) {\n if (!iter || !target) {\n return defValue;\n }\n iterForOf(iter, function (value) {\n if (isNullOrUndefined(target)) {\n return -1;\n }\n target = target[value];\n });\n return (!isNullOrUndefined(target) ? target : defValue);\n}\nfunction setValueByKey(target, path, value) {\n if (target && path) {\n var parts = strSplit(path, \".\");\n var lastKey = parts.pop();\n arrForEach(parts, function (key) {\n if (isNullOrUndefined(target[key])) {\n target[key] = {};\n }\n target = target[key];\n });\n target[lastKey] = value;\n }\n}\nfunction setValueByIter(target, iter, value) {\n if (target && iter) {\n var lastKey_1;\n iterForOf(iter, function (key) {\n if (lastKey_1) {\n if (isNullOrUndefined(target[lastKey_1])) {\n target[lastKey_1] = {};\n }\n target = target[lastKey_1];\n }\n lastKey_1 = key;\n });\n target[lastKey_1] = value;\n }\n}\n\nvar strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"endsWith\", StrProto, polyStrEndsWith));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrEndsWith(value, searchString, length) {\n if (!isString(value)) {\n throwTypeError(\"'\" + dumpObj(value) + \"' is not a string\");\n }\n var searchValue = isString(searchString) ? searchString : asString(searchString);\n var end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];\n return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;\n}\n\nvar strIndexOf = ( /*#__PURE__*/_unwrapFunction(\"indexOf\", StrProto));\nvar strLastIndexOf = ( /*#__PURE__*/_unwrapFunction(\"lastIndexOf\", StrProto));\n\nvar strIncludes = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"includes\", StrProto, polyStrIncludes));\nvar strContains = ( /*#__PURE__*/_pureAssign(strIncludes));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrIncludes(value, searchString, position) {\n if (isRegExp(searchString)) {\n throwTypeError(\"'searchString' must not be a regular expression\" + dumpObj(searchString));\n }\n return strIndexOf(value, asString(searchString), position) !== -1;\n}\n\n/*#__NO_SIDE_EFFECTS__*/\nfunction strIsNullOrWhiteSpace(value) {\n if (isString(value)) {\n return value.replace(/[\\s\\t\\r\\n\\f]+/g, EMPTY) === EMPTY;\n }\n return isNullOrUndefined(value);\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction strIsNullOrEmpty(value) {\n if (isString(value)) {\n return value === EMPTY;\n }\n return isNullOrUndefined(value);\n}\n\nvar strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly(\"startsWith\", StrProto, polyStrStartsWith));\n/*#__NO_SIDE_EFFECTS__*/\nfunction polyStrStartsWith(value, searchString, position) {\n if (!isString(value)) {\n throwTypeError(\"'\" + dumpObj(value) + \"' is not a string\");\n }\n var searchValue = isString(searchString) ? searchString : asString(searchString);\n var pos = position > 0 ? position : 0;\n return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;\n}\n\nvar REF = \"ref\";\nvar UNREF = \"unref\";\nvar HAS_REF = \"hasRef\";\nvar ENABLED = \"enabled\";\n/*#__NO_SIDE_EFFECTS__*/\nfunction _createTimerHandler(startTimer, refreshFn, cancelFn) {\n var ref = true;\n var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;\n var theTimerHandler;\n function _unref() {\n ref = false;\n timerId && timerId[UNREF] && timerId[UNREF]();\n return theTimerHandler;\n }\n function _cancel() {\n timerId && cancelFn(timerId);\n timerId = NULL_VALUE;\n }\n function _refresh() {\n timerId = refreshFn(timerId);\n if (!ref) {\n _unref();\n }\n return theTimerHandler;\n }\n function _setEnabled(value) {\n !value && timerId && _cancel();\n value && !timerId && _refresh();\n }\n theTimerHandler = {\n cancel: _cancel,\n refresh: _refresh\n };\n theTimerHandler[HAS_REF] = function () {\n if (timerId && timerId[HAS_REF]) {\n return timerId[HAS_REF]();\n }\n return ref;\n };\n theTimerHandler[REF] = function () {\n ref = true;\n timerId && timerId[REF] && timerId[REF]();\n return theTimerHandler;\n };\n theTimerHandler[UNREF] = _unref;\n theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {\n get: function () { return !!timerId; },\n set: _setEnabled\n });\n return {\n h: theTimerHandler,\n dn: function () {\n timerId = NULL_VALUE;\n }\n };\n}\n\nfunction _createTimeoutWith(startTimer, overrideFn, theArgs) {\n var isArr = isArray(overrideFn);\n var len = isArr ? overrideFn.length : 0;\n var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;\n var clearFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;\n var timerFn = theArgs[0];\n theArgs[0] = function () {\n handler.dn();\n fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));\n };\n var handler = _createTimerHandler(startTimer, function (timerId) {\n if (timerId) {\n if (timerId.refresh) {\n timerId.refresh();\n return timerId;\n }\n fnApply(clearFn, UNDEF_VALUE, [timerId]);\n }\n return fnApply(setFn, UNDEF_VALUE, theArgs);\n }, function (timerId) {\n fnApply(clearFn, UNDEF_VALUE, [timerId]);\n });\n return handler.h;\n}\nfunction scheduleTimeout(callback, timeout) {\n return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));\n}\nfunction scheduleTimeoutWith(overrideFn, callback, timeout) {\n return _createTimeoutWith(true, overrideFn, ArrSlice[CALL](arguments, 1));\n}\nfunction createTimeout(callback, timeout) {\n return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));\n}\nfunction createTimeoutWith(overrideFn, callback, timeout) {\n return _createTimeoutWith(false, overrideFn, ArrSlice[CALL](arguments, 1));\n}\n\nvar _defaultIdleTimeout = 100;\nvar _maxExecutionTime = 50;\n/*#__NO_SIDE_EFFECTS__*/\nfunction hasIdleCallback() {\n return !!( /*#__PURE__*/getIdleCallback());\n}\nvar getIdleCallback = ( /*#__PURE__*/_getGlobalInstFn(getInst, [\"requestIdleCallback\"]));\nvar getCancelIdleCallback = ( /*#__PURE__*/_getGlobalInstFn(getInst, [\"cancelIdleCallback\"]));\nfunction setDefaultIdleTimeout(timeout) {\n _defaultIdleTimeout = timeout;\n}\nfunction setDefaultMaxExecutionTime(maxTime) {\n _maxExecutionTime = maxTime;\n}\nfunction scheduleIdleCallback(callback, options) {\n function _createDeadline(timedOut) {\n var startTime = perfNow();\n return {\n didTimeout: timedOut,\n timeRemaining: function () {\n return _maxExecutionTime - elapsedTime(startTime);\n }\n };\n }\n if (hasIdleCallback()) {\n var handler_1 = _createTimerHandler(true, function (idleId) {\n idleId && getCancelIdleCallback()(idleId);\n return getIdleCallback()(function (deadline) {\n handler_1.dn();\n callback(deadline || _createDeadline(false));\n }, options);\n }, function (idleId) {\n getCancelIdleCallback()(idleId);\n });\n return handler_1.h;\n }\n var timeout = (options || {}).timeout;\n if (isUndefined(timeout)) {\n timeout = _defaultIdleTimeout;\n }\n return scheduleTimeout(function () {\n callback(_createDeadline(true));\n }, timeout);\n}\n\nfunction scheduleInterval(callback, timeout) {\n var theArguments = ArrSlice[CALL](arguments);\n var handler = _createTimerHandler(true, function (intervalId) {\n intervalId && clearInterval(intervalId);\n return fnApply(setInterval, UNDEF_VALUE, theArguments);\n }, function (intervalId) {\n fnApply(clearInterval, UNDEF_VALUE, [intervalId]);\n });\n return handler.h;\n}\n\nexport { arrAppend, arrContains, arrEvery, arrFilter, arrFind, arrFindIndex, arrFindLast, arrFindLastIndex, arrForEach, arrFrom, arrIncludes, arrIndexOf, arrLastIndexOf, arrMap, arrReduce, arrSlice, arrSome, arrayDeepCopyHandler, asString, createArrayIterator, createCachedValue, createCustomError, createDeferredCachedValue, createEnum, createEnumKeyMap, createEnumValueMap, createFilenameRegex, createFnDeferredProxy, createIterable, createIterator, createProxyFuncs, createRangeIterator, createSimpleMap, createTimeout, createTimeoutWith, createTypeMap, createWildcardRegex, dateDeepCopyHandler, deepExtend, dumpObj, elapsedTime, encodeAsHtml, encodeAsJson, fnApply, fnBind, fnCall, functionDeepCopyHandler, getCancelIdleCallback, getDocument, getGlobal, getHistory, getIdleCallback, getInst, getIntValue, getKnownSymbol, getLazy, getLength, getNavigator, getPerformance, getSymbol, getValueByIter, getValueByKey, getWindow, hasDocument, hasHistory, hasIdleCallback, hasNavigator, hasPerformance, hasSymbol, hasValue, hasWindow, isArray, isArrayBuffer, isBlob, isBoolean, isDate, isDefined, isError, isFile, isFormData, isFunction, isIterable, isIterator, isNode, isNotTruthy, isNullOrUndefined, isNumber, isObject, isPlainObject, isPrimitive, isPrimitiveType, isPromise, isPromiseLike, isRegExp, isStrictNullOrUndefined, isStrictUndefined, isString, isSymbol, isThenable, isTruthy, isTypeof, isUndefined, isWebWorker, iterForOf, lazySafeGetInst, makeGlobRegex, makeIterable, mathCeil, mathFloor, mathMax, mathMin, mathToInt, mathTrunc, newSymbol, normalizeJsName, objAssign, objCopyProps, objCreate, objDeepCopy, objDeepFreeze, objDefine, objDefineAccessors, objDefineGet, objDefineProp, objDefineProperties, objDefineProps, objEntries, objExtend, objForEachKey, objFreeze, objGetOwnPropertyDescriptor, objGetPrototypeOf, objHasOwn, objHasOwnProperty, objKeys, objSeal, objSetPrototypeOf, objToString, perfNow, plainObjDeepCopyHandler, polyArrFind, polyArrFindIndex, polyArrFindLast, polyArrFindLastIndex, polyArrFrom, polyArrIncludes, polyGetKnownSymbol, polyIsArray, polyNewSymbol, polyObjEntries, polyObjHasOwn, polyObjKeys, polyStrIncludes, polyStrSubstr, polyStrSymSplit, polyStrTrim, polyStrTrimEnd, polyStrTrimStart, polySymbolFor, polySymbolKeyFor, polyUtcNow, readArgs, safe, safeGet, safeGetLazy, scheduleIdleCallback, scheduleInterval, scheduleTimeout, scheduleTimeoutWith, setBypassLazyCache, setDefaultIdleTimeout, setDefaultMaxExecutionTime, setValueByIter, setValueByKey, strCamelCase, strContains, strEndsWith, strIncludes, strIndexOf, strIsNullOrEmpty, strIsNullOrWhiteSpace, strKebabCase, strLastIndexOf, strLeft, strLetterCase, strLower, strPadEnd, strPadStart, strRepeat, strRight, strSlice, strSnakeCase, strSplit, strStartsWith, strSubstr, strSubstring, strSymSplit, strTrim, strTrimEnd, strTrimLeft, strTrimRight, strTrimStart, strUpper, symbolFor, symbolKeyFor, throwError, throwRangeError, throwTypeError, throwUnsupported, utcNow };\n//# sourceMappingURL=ts-utils.js.map\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-expect-error navigator and windows are not available in all environments\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise((resolve) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof globalThis !== 'undefined' && ((_a = globalThis.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = globalThis.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate